Merge remote-tracking branch 'origin/release/test' into dev

This commit is contained in:
2026-09-02 14:46:28 +08:00
3 changed files with 13 additions and 17 deletions
@@ -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
@@ -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/)