客商档案金蝶回填优化:放宽锁定字段、信用代码可重新输入并修复查询误判

This commit is contained in:
刘泉佳
2026-09-20 16:06:03 +08:00
parent 58aaf79445
commit 2a03991297
+28 -15
View File
@@ -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"
>
<el-option
v-for="item in businessScopeOptions"
@@ -361,12 +360,11 @@
v-model="archiveForm.businessEndDate"
type="date"
value-format="YYYY-MM-DD"
:disabled="kingdeeLocked || archiveForm.businessTermType === '长期'"
:disabled="archiveForm.businessTermType === '长期'"
@change="handleBusinessEndDateChange"
/>
<el-checkbox
:model-value="archiveForm.businessTermType === '长期'"
:disabled="kingdeeLocked"
@change="handleNoFixedTermChange"
>
无固定期限
@@ -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')"
/>
</el-tooltip>
@@ -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: '确定' });