🐛 司机档案住址与出生年月口径对齐小程序
- 住址只读态直接显示区划名称串,不再用级联反解(改名后会退化成灰字 placeholder) - 身份证号联动改为失焦触发,且只在出生年月/性别为空时补,不覆盖手填值 - 认证审核页标签改为「住址」「详细地址」 - 详细地址 placeholder 补明采集范围,空住址提示改为「请选择省/市/区」
This commit is contained in:
@@ -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 },
|
||||
|
||||
@@ -143,7 +143,7 @@
|
||||
maxlength="18"
|
||||
show-word-limit
|
||||
placeholder="请输入"
|
||||
@input="handleIdCardInput"
|
||||
@blur="handleIdCardBlur"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@@ -153,7 +153,7 @@
|
||||
v-model="driverForm.birthday"
|
||||
type="date"
|
||||
value-format="YYYY-MM-DD"
|
||||
placeholder="请选择"
|
||||
placeholder="请选择出生年月"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@@ -201,12 +201,16 @@
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="住址" prop="addressRegion">
|
||||
<!-- 只读直接显示库里那串区划名称:级联要先按名称反解 path,区划改名后反解不出来,
|
||||
同一串文字就会在灰字 placeholder 与黑字标签之间摇摆 -->
|
||||
<el-input v-if="readonly" :model-value="driverForm.addressRegion || '—'" readonly />
|
||||
<el-cascader
|
||||
v-else
|
||||
ref="addressRegionCascader"
|
||||
v-model="driverForm.addressRegionPath"
|
||||
:options="regionOptions"
|
||||
:props="regionCascaderProps"
|
||||
:placeholder="driverForm.addressRegion || '请选择'"
|
||||
:placeholder="driverForm.addressRegion || '请选择省/市/区'"
|
||||
clearable
|
||||
filterable
|
||||
@change="handleAddressRegionChange"
|
||||
@@ -219,7 +223,7 @@
|
||||
v-model="driverForm.address"
|
||||
maxlength="200"
|
||||
show-word-limit
|
||||
placeholder="请输入"
|
||||
placeholder="请输入详细地址(街道、门牌号)"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@@ -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(() => {
|
||||
|
||||
Reference in New Issue
Block a user