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: '确定' });