Browse Source

修改审核关闭问题,提交多次审核问题

master
ZhaoYang 3 weeks ago
parent
commit
52a884ae2e
  1. 78
      chenhai-ui/src/views/system/vet/aduit/index.vue
  2. 2
      chenhai-ui/src/views/vet/syQualification/index.vue

78
chenhai-ui/src/views/system/vet/aduit/index.vue

@ -69,7 +69,7 @@
<!-- 审核对话框 --> <!-- 审核对话框 -->
<el-dialog :title="auditTitle" :visible.sync="auditVisible" width="80%" append-to-body :close-on-click-modal="false" <el-dialog :title="auditTitle" :visible.sync="auditVisible" width="80%" append-to-body :close-on-click-modal="false"
class="audit-dialog" @close="closeAuditDialog" :destroy-on-close="true">
class="audit-dialog" @close="closeAuditDialog">
<el-tabs v-model="activeAuditTab" type="border-card"> <el-tabs v-model="activeAuditTab" type="border-card">
<!-- 基本信息审核标签页 --> <!-- 基本信息审核标签页 -->
<el-tab-pane label="基本信息审核" name="basic"> <el-tab-pane label="基本信息审核" name="basic">
@ -146,7 +146,7 @@
<!-- 证书列表展示 --> <!-- 证书列表展示 -->
<div class="cert-list-section"> <div class="cert-list-section">
<h3>证书列表</h3> <h3>证书列表</h3>
<div v-for="(cert, index) in certificateList" :key="cert.qualificationId + '_' + index"
<div v-for="(cert, index) in certificateList" :key="index"
class="certificate-item-wrapper"> class="certificate-item-wrapper">
<div class="certificate-item" :class="{ 'cert-audited': cert.auditStatus && cert.auditStatus !== '0' }"> <div class="certificate-item" :class="{ 'cert-audited': cert.auditStatus && cert.auditStatus !== '0' }">
<div class="cert-header"> <div class="cert-header">
@ -223,13 +223,14 @@
</el-form> </el-form>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitAllAudit" :loading="submittingAll" :disabled="!isAllAuditSelected || submittingAll">
<el-button type="primary" @click="submitAllAudit" :loading="submittingAll" :disabled="!isAllAuditSelected">
{{ submittingAll ? '提交中...' : '提交审核' }} {{ submittingAll ? '提交中...' : '提交审核' }}
</el-button> </el-button>
<el-button @click="auditVisible = false"> </el-button> <el-button @click="auditVisible = false"> </el-button>
@ -237,7 +238,7 @@
</el-dialog> </el-dialog>
<!-- 详情对话框 --> <!-- 详情对话框 -->
<el-dialog :title="detailTitle" :visible.sync="detailVisible" width="80%" append-to-body :destroy-on-close="true">
<el-dialog :title="detailTitle" :visible.sync="detailVisible" width="80%" append-to-body>
<div v-if="loadingDetail" class="tab-loading"> <div v-if="loadingDetail" class="tab-loading">
<i class="el-icon-loading"></i> <i class="el-icon-loading"></i>
<div>加载详情信息...</div> <div>加载详情信息...</div>
@ -280,7 +281,7 @@
<div class="certificate-section"> <div class="certificate-section">
<h3>资质证书列表 {{ detailCertificates.length }} 个证书</h3> <h3>资质证书列表 {{ detailCertificates.length }} 个证书</h3>
<div v-for="(cert, index) in detailCertificates" :key="cert.qualificationId + '_detail_' + index"
<div v-for="(cert, index) in detailCertificates" :key="index"
class="certificate-item-wrapper"> class="certificate-item-wrapper">
<div class="certificate-item view-only"> <div class="certificate-item view-only">
<div class="cert-header"> <div class="cert-header">
@ -450,6 +451,22 @@ export default {
return true return true
} }
}, },
watch: {
//
'basicAuditForm.auditStatus': {
handler() {
this.$nextTick(() => { })
},
deep: true
},
//
'certAuditForm.auditStatus': {
handler() {
this.$nextTick(() => { })
},
deep: true
}
},
created() { created() {
this.getList() this.getList()
}, },
@ -466,12 +483,6 @@ export default {
}, },
handleAudit(row) { handleAudit(row) {
//
if (this.submittingAll) {
this.$message.warning('正在提交审核,请稍后...')
return
}
this.resetAuditData() this.resetAuditData()
const id = row.id || this.ids[0] const id = row.id || this.ids[0]
@ -566,8 +577,7 @@ export default {
} }
}, },
handleCertAuditChange(e) {
console.log(e);
handleCertAuditChange() {
// //
if (this.certAuditForm.auditStatus === '1') { if (this.certAuditForm.auditStatus === '1') {
this.certAuditForm.auditOpinion = '' this.certAuditForm.auditOpinion = ''
@ -578,7 +588,6 @@ export default {
async submitAllAudit() { async submitAllAudit() {
// //
if (this.submittingAll) { if (this.submittingAll) {
// this.$message.warning('')
return return
} }
@ -591,7 +600,7 @@ export default {
} }
// //
if (this.basicAuditForm.auditStatus === '2' && (!this.basicAuditForm.auditDesc || this.basicAuditForm.auditDesc.trim() === '')) {
if (this.basicAuditForm.auditStatus === '2' && !this.basicAuditForm.auditDesc) {
this.$message.warning('审核不通过时,请填写审核意见') this.$message.warning('审核不通过时,请填写审核意见')
this.activeAuditTab = 'basic' this.activeAuditTab = 'basic'
return return
@ -607,7 +616,7 @@ export default {
} }
// //
if (this.certAuditForm.auditStatus === '2' && (!this.certAuditForm.auditOpinion || this.certAuditForm.auditOpinion.trim() === '')) {
if (this.certAuditForm.auditStatus === '2' && !this.certAuditForm.auditOpinion) {
this.$message.warning('证书审核不通过时,请填写审核意见') this.$message.warning('证书审核不通过时,请填写审核意见')
this.activeAuditTab = 'certificate' this.activeAuditTab = 'certificate'
return return
@ -621,7 +630,7 @@ export default {
const basicAuditData = { const basicAuditData = {
id: this.currentVetId, id: this.currentVetId,
auditStatus: this.basicAuditForm.auditStatus, auditStatus: this.basicAuditForm.auditStatus,
auditDesc: this.basicAuditForm.auditDesc || ''
auditDesc: this.basicAuditForm.auditDesc
} }
const basicResult = await auditBasicInfo(basicAuditData) const basicResult = await auditBasicInfo(basicAuditData)
@ -630,35 +639,31 @@ export default {
throw new Error(basicResult.msg || '基本信息审核提交失败') throw new Error(basicResult.msg || '基本信息审核提交失败')
} }
//
//
if (this.certificateList && this.certificateList.length > 0) { if (this.certificateList && this.certificateList.length > 0) {
// 使 Promise.all
const certPromises = this.certificateList.map(cert => {
const certAuditData = {
qualificationId: cert.qualificationId,
//
const certIds = this.certificateList.map(cert => cert.certId)
const batchAuditData = {
certId: certIds,
auditStatus: this.certAuditForm.auditStatus, auditStatus: this.certAuditForm.auditStatus,
auditOpinion: this.certAuditForm.auditOpinion || '' auditOpinion: this.certAuditForm.auditOpinion || ''
} }
return auditCertificate(certAuditData)
})
const certResults = await Promise.all(certPromises)
const certResult = await auditCertificate(batchAuditData)
//
const failedCert = certResults.find(result => result.code !== 200)
if (failedCert) {
throw new Error(failedCert.msg || '部分证书审核提交失败')
if (certResult.code !== 200) {
throw new Error(certResult.msg || '证书批量审核提交失败')
} }
} }
// //
this.$modal.msgSuccess('审核提交成功')
this.$message.success('审核提交成功')
this.auditVisible = false this.auditVisible = false
this.getList() this.getList()
} catch (error) { } catch (error) {
console.error('提交失败:', error) console.error('提交失败:', error)
this.$modal.msgError(error.message || '提交失败')
this.$message.error(error.message || '提交失败')
} finally { } finally {
this.submittingAll = false this.submittingAll = false
} }
@ -682,21 +687,10 @@ export default {
}, },
closeAuditDialog() { closeAuditDialog() {
//
if (this.submittingAll) {
this.$message.warning('正在提交审核,请稍后...')
return
}
this.resetAuditData() this.resetAuditData()
}, },
handleView(row) { handleView(row) {
//
if (this.submittingAll) {
this.$message.warning('请等待当前操作完成')
return
}
this.detailVisible = true this.detailVisible = true
this.detailTitle = "兽医详情信息" this.detailTitle = "兽医详情信息"
this.loadingDetail = true this.loadingDetail = true

2
chenhai-ui/src/views/vet/syQualification/index.vue

@ -141,6 +141,7 @@
<template slot-scope="scope"> <template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" style="color: #42B983" <el-button size="mini" type="text" icon="el-icon-edit" style="color: #42B983"
@click="handleUpdate(scope.row)" @click="handleUpdate(scope.row)"
v-hasPermi="['vet:qualification:edit']"
class="info-btn alter-btn">修改</el-button> class="info-btn alter-btn">修改</el-button>
</template> </template>
</el-table-column> </el-table-column>
@ -495,6 +496,7 @@ export default {
this.open = false this.open = false
this.getCertificateList() this.getCertificateList()
this.reset() this.reset()
window.location.reload()
} else { } else {
this.$modal.msgError(response.msg || "重新提交审核失败") this.$modal.msgError(response.msg || "重新提交审核失败")
} }

Loading…
Cancel
Save