diff --git a/src/utils/cert-audit.js b/src/utils/cert-audit.js index 3448596..d88959f 100644 --- a/src/utils/cert-audit.js +++ b/src/utils/cert-audit.js @@ -107,8 +107,8 @@ const CERT_SNAPSHOT_GROUPS = { { key: 'realName', label: '真实姓名' }, { key: 'idCardNo', label: '身份证号' }, { key: 'birthday', label: '出生年月', type: TYPE_DATE }, - { key: 'addressRegion', label: '住址-区划' }, - { key: 'address', label: '住址-详细地址' }, + { key: 'addressRegion', label: '住址' }, + { key: 'address', label: '详细地址' }, { key: 'idCardFrontUrl', label: '身份证正面照', type: TYPE_IMAGE }, { key: 'idCardBackUrl', label: '身份证反面照', type: TYPE_IMAGE }, { key: 'idCardValidStart', label: '身份证有效期起', type: TYPE_DATE }, diff --git a/src/views/transportCapacity/driver.vue b/src/views/transportCapacity/driver.vue index d9ce637..c4e771b 100644 --- a/src/views/transportCapacity/driver.vue +++ b/src/views/transportCapacity/driver.vue @@ -143,7 +143,7 @@ maxlength="18" show-word-limit placeholder="请输入" - @input="handleIdCardInput" + @blur="handleIdCardBlur" /> @@ -153,7 +153,7 @@ v-model="driverForm.birthday" type="date" value-format="YYYY-MM-DD" - placeholder="请选择" + placeholder="请选择出生年月" /> @@ -201,12 +201,16 @@ + + @@ -1122,19 +1126,21 @@ export default { removeDigits(value = '') { return String(value).replace(/\d/g, ''); }, - handleIdCardInput(value) { - const idCardNo = String(value || '').toUpperCase(); + /** + * 身份证号失焦后补出生年月与性别,与小程序 person.vue 的 onIdCardNoChange 同口径: + * 只在字段还空着时补——用户手改过的值不被他随后修改身份证号的动作冲掉。 + * 不回写空值:18 位不合法时清空生日会把已选日期当垃圾丢掉。 + * OCR 识别结果仍直接覆盖(见 applyIdCardRecognition),那是「重新采一次证件」,与手输联动不是一回事。 + */ + handleIdCardBlur() { + const idCardNo = String(this.driverForm.idCardNo || '').toUpperCase(); this.driverForm.idCardNo = idCardNo; const idCardInfo = this.parseIdCardInfo(idCardNo); - if (idCardInfo.birthday) { + if (!this.driverForm.birthday && idCardInfo.birthday) { this.driverForm.birthday = idCardInfo.birthday; - } else { - this.driverForm.birthday = ''; } - if (idCardInfo.gender) { + if (!this.driverForm.gender && idCardInfo.gender) { this.driverForm.gender = idCardInfo.gender; - } else { - this.driverForm.gender = ''; } if (this.submitAttempted) { this.$nextTick(() => {