From ce54d2134498d994a61a9c3693602f4c888ce82b Mon Sep 17 00:00:00 2001 From: "weicw1996@qq.com" Date: Sat, 3 Oct 2026 16:34:59 +0800 Subject: [PATCH] =?UTF-8?q?:sparkles:=20=E6=96=B0=E5=A2=9E/=E7=BC=96?= =?UTF-8?q?=E8=BE=91=E8=BD=A6=E8=BE=86=E8=A1=A8=E5=8D=95=E8=A1=A5=E3=80=8C?= =?UTF-8?q?=E6=89=80=E6=9C=89=E4=BA=BA=E3=80=8D=E4=B8=8E=E3=80=8C=E8=BD=A6?= =?UTF-8?q?=E8=BE=86=E8=AF=86=E5=88=AB=E4=BB=A3=E5=8F=B7=E3=80=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 车辆表新增这两列(所有人:行驶证登记的单位名称,与「所属组织」是两个字段; 车辆识别代号:司机端车辆认证一直在收这个值,此前车辆档案里没有对应列, 只存在于认证快照中)。管理端表单同步补上,否则两个入口建出来的车字段不一致。 所有人为必填(行驶证上的登记主体),车辆识别代号选填、填了校验 17 位。 --- src/views/transportCapacity/vehicle.vue | 40 +++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/src/views/transportCapacity/vehicle.vue b/src/views/transportCapacity/vehicle.vue index 087594a..42553a2 100644 --- a/src/views/transportCapacity/vehicle.vue +++ b/src/views/transportCapacity/vehicle.vue @@ -168,6 +168,24 @@ + + + + + + + + + +
@@ -560,8 +578,10 @@ const emptyForm = () => ({ organizationName: '', useDepartment: '', plateNo: '', + ownerName: '', plateColor: '', vehicleType: '', + vin: '', outerLength: undefined, outerWidth: undefined, outerHeight: undefined, @@ -650,6 +670,8 @@ export default { { validator: this.validatePlateNo, trigger: 'change' }, ], vehicleType: [{ required: true, message: '请选择车辆类型', trigger: 'change' }], + ownerName: [{ required: true, message: '请输入所有人', trigger: 'blur' }], + vin: [{ validator: this.validateVin, trigger: 'blur' }], approvedLoadKg: [{ required: true, message: '请输入核定载质量', trigger: 'blur' }], businessRelation: [{ required: true, message: '请选择业务关系', trigger: 'change' }], energyType: [{ required: true, message: '请选择能源类型', trigger: 'change' }], @@ -783,6 +805,24 @@ export default { } callback(); }, + // 车辆识别代号(车架号)为选填:留空放行,填了就必须是 17 位 + validateVin(rule, value, callback) { + const vin = String(value || '') + .trim() + .toUpperCase(); + if (!vin) { + callback(); + return; + } + if (!/^[A-HJ-NPR-Z0-9]{17}$/.test(vin)) { + callback(new Error('车架号必须是17位字母数字(不含 I、O、Q)')); + return; + } + if (this.vehicleForm.vin !== vin) { + this.vehicleForm.vin = vin; + } + callback(); + }, validateAnnualReviewEndDate(rule, value, callback) { if (this.vehicleForm.annualReviewLongTerm !== 1 && !value) { callback(new Error('请选择道路运输年审有效期'));