From b6b43b6b0a10240651756ae2f4cb47a51e95fbc6 Mon Sep 17 00:00:00 2001 From: ouyangxq <775153912@qq.com> Date: Wed, 2 Sep 2026 10:04:47 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/modules/customers/pages/CustomersView.vue | 29 +++++++------------ 1 file changed, 11 insertions(+), 18 deletions(-) diff --git a/src/modules/customers/pages/CustomersView.vue b/src/modules/customers/pages/CustomersView.vue index 38133af8..5b8625e2 100644 --- a/src/modules/customers/pages/CustomersView.vue +++ b/src/modules/customers/pages/CustomersView.vue @@ -562,26 +562,15 @@ async function uploadSelectedQualifications(tenantId: string) { async function saveCustomer() { if (!formRef.value || !(await formRef.value.validate().catch(() => false))) return - if (!editingId.value) { - try { - const available = await checkPlatformTenantContactPhone(form.value.contactPhone.trim()) - if (!available) { - ElMessage.error('联系电话已被其他客户使用,请更换后再提交') - return - } - } catch (error) { - ElMessage.error(getApiErrorMessage(error, '联系电话唯一性校验失败,请稍后重试')) - return - } - } - const qualificationPackageTouched = hasSelectedQualifications.value || Boolean(form.value.unifiedSocialCreditCode) - if (qualificationPackageTouched && !requiredQualificationPackageComplete.value) { + if (!requiredQualificationPackageComplete.value) { ElMessage.warning(`请完整保存必填业务项:${missingQualificationPackageItems.value.join('、')}`) return } saving.value = true try { const hadSelectedQualifications = hasSelectedQualifications.value + const hadBusinessLicense = Boolean(selectedBusinessLicense.value) + const hadLegalPersonId = Boolean(selectedLegalPersonId.value) let saved: PlatformTenantResource if (editingId.value) { const { unifiedSocialCreditCode: _immutable, ...payload } = form.value @@ -605,8 +594,12 @@ async function saveCustomer() { const failures = hadSelectedQualifications ? await uploadSelectedQualifications(String(saved.id)) : [] if (failures.length) { ElMessage.warning(`客户资料已保存,但${failures.join('、')}上传失败;失败文件已保留,请修正后再次保存`) + } else if (hadBusinessLicense && hadLegalPersonId) { + ElMessage.success('营业执照、统一社会信用代码和选填的法人身份证已保存,尚未提交审核') + } else if (hadBusinessLicense) { + ElMessage.success('营业执照和统一社会信用代码已保存,法人身份证可按需补充,尚未提交审核') } else if (hadSelectedQualifications) { - ElMessage.success('营业执照、统一社会信用代码和法人身份证已完整保存,尚未提交审核') + ElMessage.success('客户资料和已选资质已保存,尚未提交审核') } else { ElMessage.success('客户资料已保存,尚未提交审核') } @@ -625,7 +618,7 @@ async function submitReview() { if (uploadingQualifications.value) { ElMessage.warning('资质文件正在上传,请稍候再提交审核'); return } if (hasSelectedQualifications.value) { ElMessage.warning('存在尚未保存的已选文件,请先点击“保存资料和资质”'); return } if (!creditCodeEstablished.value || !unifiedSocialCreditCodePattern.test(form.value.unifiedSocialCreditCode || '')) { - ElMessage.warning('请先完整保存营业执照、18位统一社会信用代码和法人身份证') + ElMessage.warning('请先完整保存营业执照和18位统一社会信用代码;法人身份证为选填项') return } const missing = qualifications.value.filter((item) => item.required && !item.uploaded) @@ -863,7 +856,7 @@ async function openDecision(row: PlatformTenantResource, type: 'approve' | 'reje } selectedReview.value = review decision.type = type - decision.comment = type === 'approve' ? '企业资料与必填资质完整、清晰,审核通过' : '' + decision.comment = type === 'approve' ? '企业资料、营业执照和统一社会信用代码完整、清晰,审核通过(法人身份证为选填项)' : '' decisionOpen.value = true await loadReviewQualifications() void nextTick(() => decisionFormRef.value?.clearValidate('comment')) @@ -1012,7 +1005,7 @@ watch( ) watch(() => decision.type, (type) => { if (!decisionOpen.value) return - decision.comment = type === 'approve' ? '企业资料与必填资质完整、清晰,审核通过' : '' + decision.comment = type === 'approve' ? '企业资料、营业执照和统一社会信用代码完整、清晰,审核通过(法人身份证为选填项)' : '' void nextTick(() => decisionFormRef.value?.clearValidate('comment')) }) onBeforeUnmount(() => {