From 2a03991297419bf1298dcd64a62edb5ff174a37d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E6=B3=89=E4=BD=B3?= <1107186916@qq.com> Date: Sun, 20 Sep 2026 16:06:03 +0800 Subject: [PATCH] =?UTF-8?q?:zap:=20=E5=AE=A2=E5=95=86=E6=A1=A3=E6=A1=88?= =?UTF-8?q?=E9=87=91=E8=9D=B6=E5=9B=9E=E5=A1=AB=E4=BC=98=E5=8C=96=EF=BC=9A?= =?UTF-8?q?=E6=94=BE=E5=AE=BD=E9=94=81=E5=AE=9A=E5=AD=97=E6=AE=B5=E3=80=81?= =?UTF-8?q?=E4=BF=A1=E7=94=A8=E4=BB=A3=E7=A0=81=E5=8F=AF=E9=87=8D=E6=96=B0?= =?UTF-8?q?=E8=BE=93=E5=85=A5=E5=B9=B6=E4=BF=AE=E5=A4=8D=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E8=AF=AF=E5=88=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/vehicle/customer-archive.vue | 43 +++++++++++++++++--------- 1 file changed, 28 insertions(+), 15 deletions(-) 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: '确定' });