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('请选择道路运输年审有效期'));