⚡ 客商档案金蝶回填优化:放宽锁定字段、信用代码可重新输入并修复查询误判
This commit is contained in:
@@ -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('金蝶已创建该客户,将获取金蝶的工商信息,相关字段已自动回填并锁定。', '提示', {
|
||||
this.$alert(
|
||||
'金蝶已创建该客户,将获取金蝶的工商信息,相关字段已自动回填并锁定。如信用代码有误,可直接修改,系统将重新查询。',
|
||||
'提示',
|
||||
{
|
||||
confirmButtonText: '确定',
|
||||
});
|
||||
}
|
||||
);
|
||||
} else {
|
||||
this.kingdeeBlocked = true;
|
||||
this.$alert('金蝶审核中,请稍后重新添加。', '提示', { confirmButtonText: '确定' });
|
||||
|
||||
Reference in New Issue
Block a user