🐛 修车辆审核详情字段元数据的旧键名,止期之外不再被长期有效遮蔽

车辆字段整组停留在改造前的旧键名(licenseNo / licenseValidStart / licenseValidEnd /
licenseLongTerm / roadTransportNo / roadTransportValid* / engineNo),而快照早已改名成
drivingLicense* / roadTransportCert* / registration*。键名对不上不报错——每个字段都算「没有值」,
于是车辆审核详情里行驶证与道路运输证两组全显示「—」,真值全落到未翻译的「其他字段」组里
露着 camelCase 键名,审核员既看不到内容、也 diff 不出变更。

- 按 VehicleCertSubmitRequest 重写车辆四组字段(基本信息 / 行驶证 / 道路运输证 / 机动车登记本),
  补上此前漏登记的所有人、外廓尺寸、核定载质量、准牵引总质量、能源类型、业务关系、机动车登记编号与六张图;
- longTermKey 只挂在被长期有效作废掉的那个字段(有效期止、强制报废日期)上:
  起期是独立日期,挂上去会把真实值显示成「长期有效」,还让审核员看不到起期的改动。
This commit is contained in:
2026-10-03 17:57:01 +08:00
parent ce54d21344
commit 069d0e92ff
+46 -36
View File
@@ -93,6 +93,11 @@ export const formatCertDateTime = value => {
*
* 字段名与后端提交 DTO 的 JSON 键一致(司机 PersonCertSubmitRequest / 车辆 VehicleCertSubmitRequest),
* 两侧快照共用同一套结构,故同时用于标签与比较规则。
*
* `longTermKey` 只挂在**被长期有效作废掉的那个字段**上,也就是各组的「有效期止」与强制报废日期:
* 勾了长期有效,它们显示「长期有效」、比较时按同一个值算(避免每次审核都报「已变更」)。
* 「有效期起」不挂:起期是一个独立的日期,长期有效并不会让它失效,
* 挂上去等于把它自己的值藏起来、还让审核员看不到起期的改动。
*/
const CERT_SNAPSHOT_GROUPS = {
driver: [
@@ -103,12 +108,7 @@ const CERT_SNAPSHOT_GROUPS = {
{ key: 'idCardNo', label: '身份证号' },
{ key: 'idCardFrontUrl', label: '身份证正面照', type: TYPE_IMAGE },
{ key: 'idCardBackUrl', label: '身份证反面照', type: TYPE_IMAGE },
{
key: 'idCardValidStart',
label: '身份证有效期起',
type: TYPE_DATE,
longTermKey: 'idCardLongTerm',
},
{ key: 'idCardValidStart', label: '身份证有效期起', type: TYPE_DATE },
{
key: 'idCardValidEnd',
label: '身份证有效期止',
@@ -126,12 +126,7 @@ const CERT_SNAPSHOT_GROUPS = {
{ key: 'driverClass', label: '准驾车型' },
{ key: 'driverLicenseFrontUrl', label: '驾驶证主页照片', type: TYPE_IMAGE },
{ key: 'driverLicenseBackUrl', label: '驾驶证副页照片', type: TYPE_IMAGE },
{
key: 'driverValidStart',
label: '驾驶证有效期起',
type: TYPE_DATE,
longTermKey: 'driverLongTerm',
},
{ key: 'driverValidStart', label: '驾驶证有效期起', type: TYPE_DATE },
{
key: 'driverValidEnd',
label: '驾驶证有效期止',
@@ -150,6 +145,13 @@ const CERT_SNAPSHOT_GROUPS = {
],
},
],
/*
* ⚠️ 车辆字段名与 PersonCertSubmitRequest 不同:这一组曾经整组用着改造前的旧键名
* (licenseNo / licenseValidEnd / roadTransportNo …),而快照早已改名成 drivingLicense* /
* roadTransportCert*。键名对不上**不报错**——每个字段都算「没有值」,
* 于是车辆审核详情里行驶证与道路运输证两组全显示「—」,真值全落到未翻译的「其他字段」组,
* 审核员既看不到内容、也 diff 不出变更。字段名一律以 VehicleCertSubmitRequest 为准。
*/
vehicle: [
{
title: '车辆基本信息',
@@ -157,49 +159,57 @@ const CERT_SNAPSHOT_GROUPS = {
{ key: 'plateNo', label: '车牌号' },
{ key: 'vehicleType', label: '车辆类型' },
{ key: 'plateColor', label: '车牌颜色' },
{ key: 'ownerName', label: '所有人' },
{ key: 'vin', label: '车辆识别代号(车架号)' },
{ key: 'engineNo', label: '发动机号' },
{ key: 'outerLength', label: '外廓长度(mm)' },
{ key: 'outerWidth', label: '外廓宽度(mm)' },
{ key: 'outerHeight', label: '外廓高度(mm)' },
{ key: 'approvedLoadKg', label: '核定载质量(KG)' },
{ key: 'tractionMassKg', label: '准牵引总质量(KG)' },
{ key: 'energyType', label: '能源类型' },
{ key: 'businessRelation', label: '业务关系' },
],
},
{
title: '行驶证信息',
fields: [
{ key: 'licenseNo', label: '行驶证档案编号' },
{ key: 'licenseFrontUrl', label: '行驶证主页照片', type: TYPE_IMAGE },
{ key: 'licenseBackUrl', label: '行驶证副页照片', type: TYPE_IMAGE },
{ key: 'compulsoryScrapDate', label: '强制报废日期', type: TYPE_DATE, longTermKey: 'compulsoryScrapLongTerm' },
{ key: 'compulsoryScrapLongTerm', label: '强制报废长期有效', type: TYPE_LONG_TERM },
{ key: 'drivingLicenseNo', label: '行驶证档案编号' },
{ key: 'drivingLicenseImage', label: '行驶证主页正面', type: TYPE_IMAGE },
{ key: 'drivingLicenseMainBack', label: '行驶证主页反面', type: TYPE_IMAGE },
{ key: 'drivingLicenseViceFront', label: '行驶证副页正面', type: TYPE_IMAGE },
{ key: 'drivingLicenseViceBack', label: '行驶证副页反面', type: TYPE_IMAGE },
{ key: 'drivingLicenseStartDate', label: '行驶证有效期起', type: TYPE_DATE },
{
key: 'licenseValidStart',
label: '行驶证有效期起',
type: TYPE_DATE,
longTermKey: 'licenseLongTerm',
},
{
key: 'licenseValidEnd',
key: 'drivingLicenseEndDate',
label: '行驶证有效期止',
type: TYPE_DATE,
longTermKey: 'licenseLongTerm',
longTermKey: 'drivingLicenseLongTerm',
},
{ key: 'licenseLongTerm', label: '行驶证长期有效', type: TYPE_LONG_TERM },
{ key: 'drivingLicenseLongTerm', label: '行驶证长期有效', type: TYPE_LONG_TERM },
],
},
{
title: '道路运输证信息',
fields: [
{ key: 'roadTransportNo', label: '道路运输证号' },
{ key: 'roadTransportUrl', label: '道路运输证照片', type: TYPE_IMAGE },
{ key: 'roadTransportCertNo', label: '道路运输证号' },
{ key: 'roadTransportCertImage', label: '道路运输证照片', type: TYPE_IMAGE },
{ key: 'roadTransportCertStartDate', label: '道路运输证有效期起', type: TYPE_DATE },
{
key: 'roadTransportValidStart',
label: '道路运输证有效期起',
type: TYPE_DATE,
longTermKey: 'roadTransportLongTerm',
},
{
key: 'roadTransportValidEnd',
key: 'roadTransportCertEndDate',
label: '道路运输证有效期止',
type: TYPE_DATE,
longTermKey: 'roadTransportLongTerm',
longTermKey: 'roadTransportCertLongTerm',
},
{ key: 'roadTransportLongTerm', label: '道路运输证长期有效', type: TYPE_LONG_TERM },
{ key: 'roadTransportCertLongTerm', label: '道路运输证长期有效', type: TYPE_LONG_TERM },
],
},
{
title: '机动车登记本信息',
fields: [
{ key: 'registrationNo', label: '机动车登记编号' },
{ key: 'registrationImage', label: '机动车登记本照片', type: TYPE_IMAGE },
],
},
],