diff --git a/src/views/vehicle/customer-archive.vue b/src/views/vehicle/customer-archive.vue index ee1cdd1..639fbc4 100644 --- a/src/views/vehicle/customer-archive.vue +++ b/src/views/vehicle/customer-archive.vue @@ -283,7 +283,7 @@ placeholder="请输入" maxlength="18" show-word-limit - :disabled="kingdeeLocked" + :disabled="kingdeeLocked && Boolean(archiveForm.id)" @input=" archiveForm.unifiedCreditCode = String( archiveForm.unifiedCreditCode || '' @@ -338,7 +338,6 @@ multiple filterable clearable - :disabled="kingdeeLocked" > 无固定期限 @@ -398,7 +396,6 @@ :options="regionOptions" :props="regionCascaderProps" :placeholder="archiveForm.registeredRegionName || '请选择省市区'" - :disabled="kingdeeLocked" clearable filterable @change="handleRegisteredRegionChange" @@ -419,7 +416,6 @@ v-model="archiveForm.registeredDetailAddress" maxlength="255" placeholder="请输入详细地址" - :disabled="kingdeeLocked" @input="checkOverflow('registeredDetailInput', 'registeredDetailOverflow')" /> @@ -1648,7 +1644,6 @@ export default { activeTab: 'scores', archiveForm: this.emptyArchive(), kingdeeBlocked: false, - kingdeeQueriedCode: '', kingdeeQueryTimer: null, currentScore: { details: [] }, scoreRecordIndex: -1, @@ -2252,20 +2247,33 @@ export default { }, resetKingdeeQueryState() { this.kingdeeBlocked = false; - this.kingdeeQueriedCode = ''; clearTimeout(this.kingdeeQueryTimer); this.kingdeeQueryTimer = null; }, - // 新增态下统一社会信用代码录入完成后自动查询金蝶(A902-1),防抖 500ms + // 新增态下重新输入统一社会信用代码后,此前金蝶回填的数据即失效,重置回填状态并允许对新代码重新查询 + resetKingdeeBackfill() { + const form = this.archiveForm; + form.kingdeeStatus = 'none'; + form.fullName = ''; + form.legalPerson = ''; + form.registeredCapital = ''; + form.registeredDetailAddress = ''; + form.businessScope = []; + form.businessTermType = '固定期限'; + form.businessEndDate = ''; + }, + // 新增态下统一社会信用代码录入完成后自动查询金蝶(A902-1),防抖 500ms; + // 代码一经变化即重新查询(含改回历史代码),不做同码去重 handleKingdeeCreditCodeChange(val) { this.kingdeeBlocked = false; if (this.readonly || this.archiveForm.id) return; + if (this.archiveForm.kingdeeStatus === 'exist') { + this.resetKingdeeBackfill(); + } const code = String(val || '') .trim() .toUpperCase(); if (code.length !== 18 || this.unifiedCreditCodeError(code)) return; - if (this.kingdeeQueriedCode === code) return; - this.kingdeeQueriedCode = code; clearTimeout(this.kingdeeQueryTimer); this.kingdeeQueryTimer = setTimeout(() => this.fetchKingdeeCustomer(code), 500); }, @@ -2280,12 +2288,17 @@ export default { } // 防止响应返回时用户已修改代码 if (String(this.archiveForm.unifiedCreditCode || '').trim().toUpperCase() !== code) return; - if (!customer) return; + // 金蝶不存在(rows 为空,data 为 null 或空对象):静默返回,正常填写,不做提示 + if (!customer || !customer.status) return; if (customer.status === 'C') { this.applyKingdeeCustomer(customer); - this.$alert('金蝶已创建该客户,将获取金蝶的工商信息,相关字段已自动回填并锁定。', '提示', { - confirmButtonText: '确定', - }); + this.$alert( + '金蝶已创建该客户,将获取金蝶的工商信息,相关字段已自动回填并锁定。如信用代码有误,可直接修改,系统将重新查询。', + '提示', + { + confirmButtonText: '确定', + } + ); } else { this.kingdeeBlocked = true; this.$alert('金蝶审核中,请稍后重新添加。', '提示', { confirmButtonText: '确定' });