From 6384e80758f27ba1ae25664a3a85fcff384c8bba Mon Sep 17 00:00:00 2001 From: weicw1996 Date: Thu, 22 Oct 2026 00:17:55 +0800 Subject: [PATCH] =?UTF-8?q?:bug:=20=E5=8F=B8=E6=9C=BA=E6=A1=A3=E6=A1=88?= =?UTF-8?q?=E4=BD=8F=E5=9D=80=E4=B8=8E=E5=87=BA=E7=94=9F=E5=B9=B4=E6=9C=88?= =?UTF-8?q?=E5=8F=A3=E5=BE=84=E5=AF=B9=E9=BD=90=E5=B0=8F=E7=A8=8B=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 住址只读态直接显示区划名称串,不再用级联反解(改名后会退化成灰字 placeholder) - 身份证号联动改为失焦触发,且只在出生年月/性别为空时补,不覆盖手填值 - 认证审核页标签改为「住址」「详细地址」 - 详细地址 placeholder 补明采集范围,空住址提示改为「请选择省/市/区」 --- src/utils/cert-audit.js | 4 ++-- src/views/transportCapacity/driver.vue | 30 +++++++++++++++----------- 2 files changed, 20 insertions(+), 14 deletions(-) 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(() => {