✨ 新增/编辑车辆表单补「所有人」与「车辆识别代号」
车辆表新增这两列(所有人:行驶证登记的单位名称,与「所属组织」是两个字段; 车辆识别代号:司机端车辆认证一直在收这个值,此前车辆档案里没有对应列, 只存在于认证快照中)。管理端表单同步补上,否则两个入口建出来的车字段不一致。 所有人为必填(行驶证上的登记主体),车辆识别代号选填、填了校验 17 位。
This commit is contained in:
@@ -168,6 +168,24 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="所有人" prop="ownerName">
|
||||||
|
<el-input
|
||||||
|
v-model="vehicleForm.ownerName"
|
||||||
|
maxlength="100"
|
||||||
|
placeholder="行驶证登记的单位名称"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="车辆识别代号" prop="vin">
|
||||||
|
<el-input
|
||||||
|
v-model="vehicleForm.vin"
|
||||||
|
maxlength="17"
|
||||||
|
placeholder="选填,17位车架号"
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="外廓尺寸">
|
<el-form-item label="外廓尺寸">
|
||||||
<div class="dimension-group">
|
<div class="dimension-group">
|
||||||
@@ -560,8 +578,10 @@ const emptyForm = () => ({
|
|||||||
organizationName: '',
|
organizationName: '',
|
||||||
useDepartment: '',
|
useDepartment: '',
|
||||||
plateNo: '',
|
plateNo: '',
|
||||||
|
ownerName: '',
|
||||||
plateColor: '',
|
plateColor: '',
|
||||||
vehicleType: '',
|
vehicleType: '',
|
||||||
|
vin: '',
|
||||||
outerLength: undefined,
|
outerLength: undefined,
|
||||||
outerWidth: undefined,
|
outerWidth: undefined,
|
||||||
outerHeight: undefined,
|
outerHeight: undefined,
|
||||||
@@ -650,6 +670,8 @@ export default {
|
|||||||
{ validator: this.validatePlateNo, trigger: 'change' },
|
{ validator: this.validatePlateNo, trigger: 'change' },
|
||||||
],
|
],
|
||||||
vehicleType: [{ required: true, message: '请选择车辆类型', 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' }],
|
approvedLoadKg: [{ required: true, message: '请输入核定载质量', trigger: 'blur' }],
|
||||||
businessRelation: [{ required: true, message: '请选择业务关系', trigger: 'change' }],
|
businessRelation: [{ required: true, message: '请选择业务关系', trigger: 'change' }],
|
||||||
energyType: [{ required: true, message: '请选择能源类型', trigger: 'change' }],
|
energyType: [{ required: true, message: '请选择能源类型', trigger: 'change' }],
|
||||||
@@ -783,6 +805,24 @@ export default {
|
|||||||
}
|
}
|
||||||
callback();
|
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) {
|
validateAnnualReviewEndDate(rule, value, callback) {
|
||||||
if (this.vehicleForm.annualReviewLongTerm !== 1 && !value) {
|
if (this.vehicleForm.annualReviewLongTerm !== 1 && !value) {
|
||||||
callback(new Error('请选择道路运输年审有效期'));
|
callback(new Error('请选择道路运输年审有效期'));
|
||||||
|
|||||||
Reference in New Issue
Block a user