From 517b6718f005b3bb0610281f8266cd408f4ee6c5 Mon Sep 17 00:00:00 2001 From: ouyangxq <775153912@qq.com> Date: Wed, 2 Sep 2026 13:34:56 +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 --- .../views/CompanyProfileView.vue | 20 +++++++------------ .../views/TenantAdministrationViews.test.mjs | 8 +++++--- 2 files changed, 12 insertions(+), 16 deletions(-) diff --git a/src/modules/tenant-management/views/CompanyProfileView.vue b/src/modules/tenant-management/views/CompanyProfileView.vue index e9ea571..ea52697 100644 --- a/src/modules/tenant-management/views/CompanyProfileView.vue +++ b/src/modules/tenant-management/views/CompanyProfileView.vue @@ -83,7 +83,6 @@ const normalizedQualificationCertificateNo = computed(() => qualificationCertifi const draftCreditCodeValid = computed(() => unifiedSocialCreditCodePattern.test(normalizedQualificationCertificateNo.value)) const businessLicenseFileSelected = computed(() => Boolean(qualificationDraftItem('BUSINESS_LICENSE')?.file)) const legalPersonIdFileSelected = computed(() => Boolean(qualificationDraftItem('LEGAL_PERSON_ID')?.file)) -const standaloneLegalPersonIdUnsupported = computed(() => legalPersonIdFileSelected.value && !businessLicenseFileSelected.value) const requiredPackageChangeSelected = computed(() => businessLicenseFileSelected.value) const requiredPackageFilesSelected = computed(() => businessLicenseFileSelected.value) const qualificationCreditCodeReady = computed(() => requiredPackageChangeSelected.value @@ -122,11 +121,9 @@ const qualificationUploadDisabledReason = computed(() => { const selectedQualificationCount = computed(() => qualificationDrafts.filter((item) => Boolean(item.file)).length) const canSaveQualificationBatch = computed(() => canUploadQualification.value && selectedQualificationCount.value > 0 - && !standaloneLegalPersonIdUnsupported.value && requiredPackageComplete.value) const qualificationSaveDisabledReason = computed(() => { if (!canUploadQualification.value) return qualificationUploadDisabledReason.value - if (standaloneLegalPersonIdUnsupported.value) return '法人身份证为选填项;当前文件服务尚未开放单独保存,请取消本次选择后保存其他资质。' if (!requiredPackageComplete.value) return `请完整保存必填业务项:${missingRequiredPackageItems.value.join('、')}` if (!selectedQualificationCount.value) return '当前没有需要保存的变更' return '' @@ -340,20 +337,15 @@ async function submitQualification() { ElMessage.warning(qualificationUploadDisabledReason.value) return } - if (standaloneLegalPersonIdUnsupported.value) { - const legalPersonId = qualificationDraftItem('LEGAL_PERSON_ID') - const message = '当前文件服务尚未开放法人身份证单独上传或替换,该选填文件未提交。' - if (legalPersonId) { legalPersonId.error = message; legalPersonId.uploadState = 'error' } - ElMessage.warning(message) - return - } if (!requiredPackageComplete.value) { const businessLicense = qualificationDraftItem('BUSINESS_LICENSE') if (businessLicense && !qualificationCreditCodeReady.value) businessLicense.error = qualificationCreditCodeError.value ElMessage.warning(`请完整保存必填业务项:${missingRequiredPackageItems.value.join('、')}`) return } - const optionalItems = qualificationDrafts.filter((item) => !item.required && item.value !== 'LEGAL_PERSON_ID' && item.file) + const optionalItems = qualificationDrafts.filter((item) => !item.required + && item.file + && (item.value !== 'LEGAL_PERSON_ID' || !requiredPackageChangeSelected.value)) const includedLegalPersonId = legalPersonIdFileSelected.value qualificationSubmitting.value = true let uploadedCount = 0 @@ -430,8 +422,10 @@ async function submitQualification() { } qualificationOpen.value = false if (refreshed) ElMessage.success(includedLegalPersonId - ? '营业执照、统一社会信用代码和法人身份证已保存,尚未提交审核' - : '营业执照和统一社会信用代码已保存,尚未提交审核') + ? (requiredPackageChangeSelected.value + ? '营业执照、统一社会信用代码和法人身份证已保存,尚未提交审核' + : '法人身份证已保存,尚未提交审核') + : '资质文件已保存,尚未提交审核') else ElMessage.warning('资质文件已保存,但最新状态刷新失败,请点击“重新加载”确认状态') } finally { qualificationSubmitting.value = false diff --git a/src/modules/tenant-management/views/TenantAdministrationViews.test.mjs b/src/modules/tenant-management/views/TenantAdministrationViews.test.mjs index 2816e3d..2967085 100644 --- a/src/modules/tenant-management/views/TenantAdministrationViews.test.mjs +++ b/src/modules/tenant-management/views/TenantAdministrationViews.test.mjs @@ -73,12 +73,14 @@ test('implements company details, contact information and qualification workflow assert.match(profileSource, /requiredQualificationTypes\.every/) assert.doesNotMatch(profileSource, /四类必填资质/) assert.doesNotMatch(profileSource, /法人身份证需与本次营业执照一起保存/) - assert.match(profileSource, /const standaloneLegalPersonIdUnsupported = computed/) - assert.match(profileSource, /当前文件服务尚未开放法人身份证单独上传或替换,该选填文件未提交/) + assert.doesNotMatch(profileSource, /standaloneLegalPersonIdUnsupported/) + assert.doesNotMatch(profileSource, /当前文件服务尚未开放法人身份证单独上传或替换/) + assert.match(profileSource, /item\.value !== 'LEGAL_PERSON_ID' \|\| !requiredPackageChangeSelected\.value/) + assert.match(profileSource, /法人身份证已保存,尚未提交审核/) assert.match(profileSource, /qualificationUploadErrorMessage\(error\)/) assert.match(profileSource, /submitTenantQualificationReview/) assert.match(profileSource, /提交企业审核/) - assert.match(profileSource, /营业执照和统一社会信用代码已保存,尚未提交审核/) + assert.match(profileSource, /资质文件已保存,尚未提交审核/) assert.match(profileSource, /资质文件已保存,但最新状态刷新失败/) assert.match(profileSource, /企业资料已提交审核,但最新状态刷新失败/) assert.match(profileSource, /qualificationStatusMeta/)