This commit is contained in:
2026-09-02 10:04:47 +08:00
parent 19eea79836
commit b6b43b6b0a
+11 -18
View File
@@ -562,26 +562,15 @@ async function uploadSelectedQualifications(tenantId: string) {
async function saveCustomer() { async function saveCustomer() {
if (!formRef.value || !(await formRef.value.validate().catch(() => false))) return if (!formRef.value || !(await formRef.value.validate().catch(() => false))) return
if (!editingId.value) { if (!requiredQualificationPackageComplete.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) {
ElMessage.warning(`请完整保存必填业务项:${missingQualificationPackageItems.value.join('、')}`) ElMessage.warning(`请完整保存必填业务项:${missingQualificationPackageItems.value.join('、')}`)
return return
} }
saving.value = true saving.value = true
try { try {
const hadSelectedQualifications = hasSelectedQualifications.value const hadSelectedQualifications = hasSelectedQualifications.value
const hadBusinessLicense = Boolean(selectedBusinessLicense.value)
const hadLegalPersonId = Boolean(selectedLegalPersonId.value)
let saved: PlatformTenantResource let saved: PlatformTenantResource
if (editingId.value) { if (editingId.value) {
const { unifiedSocialCreditCode: _immutable, ...payload } = form.value const { unifiedSocialCreditCode: _immutable, ...payload } = form.value
@@ -605,8 +594,12 @@ async function saveCustomer() {
const failures = hadSelectedQualifications ? await uploadSelectedQualifications(String(saved.id)) : [] const failures = hadSelectedQualifications ? await uploadSelectedQualifications(String(saved.id)) : []
if (failures.length) { if (failures.length) {
ElMessage.warning(`客户资料已保存,但${failures.join('、')}上传失败;失败文件已保留,请修正后再次保存`) ElMessage.warning(`客户资料已保存,但${failures.join('、')}上传失败;失败文件已保留,请修正后再次保存`)
} else if (hadBusinessLicense && hadLegalPersonId) {
ElMessage.success('营业执照、统一社会信用代码和选填的法人身份证已保存,尚未提交审核')
} else if (hadBusinessLicense) {
ElMessage.success('营业执照和统一社会信用代码已保存,法人身份证可按需补充,尚未提交审核')
} else if (hadSelectedQualifications) { } else if (hadSelectedQualifications) {
ElMessage.success('营业执照、统一社会信用代码和法人身份证已完整保存,尚未提交审核') ElMessage.success('客户资料和已选资质已保存,尚未提交审核')
} else { } else {
ElMessage.success('客户资料已保存,尚未提交审核') ElMessage.success('客户资料已保存,尚未提交审核')
} }
@@ -625,7 +618,7 @@ async function submitReview() {
if (uploadingQualifications.value) { ElMessage.warning('资质文件正在上传,请稍候再提交审核'); return } if (uploadingQualifications.value) { ElMessage.warning('资质文件正在上传,请稍候再提交审核'); return }
if (hasSelectedQualifications.value) { ElMessage.warning('存在尚未保存的已选文件,请先点击“保存资料和资质”'); return } if (hasSelectedQualifications.value) { ElMessage.warning('存在尚未保存的已选文件,请先点击“保存资料和资质”'); return }
if (!creditCodeEstablished.value || !unifiedSocialCreditCodePattern.test(form.value.unifiedSocialCreditCode || '')) { if (!creditCodeEstablished.value || !unifiedSocialCreditCodePattern.test(form.value.unifiedSocialCreditCode || '')) {
ElMessage.warning('请先完整保存营业执照、18位统一社会信用代码和法人身份证') ElMessage.warning('请先完整保存营业执照和18位统一社会信用代码;法人身份证为选填项')
return return
} }
const missing = qualifications.value.filter((item) => item.required && !item.uploaded) 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 selectedReview.value = review
decision.type = type decision.type = type
decision.comment = type === 'approve' ? '企业资料与必填资质完整、清晰,审核通过' : '' decision.comment = type === 'approve' ? '企业资料、营业执照和统一社会信用代码完整、清晰,审核通过(法人身份证为选填项)' : ''
decisionOpen.value = true decisionOpen.value = true
await loadReviewQualifications() await loadReviewQualifications()
void nextTick(() => decisionFormRef.value?.clearValidate('comment')) void nextTick(() => decisionFormRef.value?.clearValidate('comment'))
@@ -1012,7 +1005,7 @@ watch(
) )
watch(() => decision.type, (type) => { watch(() => decision.type, (type) => {
if (!decisionOpen.value) return if (!decisionOpen.value) return
decision.comment = type === 'approve' ? '企业资料与必填资质完整、清晰,审核通过' : '' decision.comment = type === 'approve' ? '企业资料、营业执照和统一社会信用代码完整、清晰,审核通过(法人身份证为选填项)' : ''
void nextTick(() => decisionFormRef.value?.clearValidate('comment')) void nextTick(() => decisionFormRef.value?.clearValidate('comment'))
}) })
onBeforeUnmount(() => { onBeforeUnmount(() => {