From 4f9858af4306d4dc14bd21eaf2ffddd2a1a827d5 Mon Sep 17 00:00:00 2001 From: cuijian <cuijian@xalxzn.com> Date: 星期三, 22 十一月 2023 19:13:19 +0800 Subject: [PATCH] 操作证审核功能 --- src/views/eam/modules/operationCertificateApply/OperationCertificateApplyAudit.vue | 137 +++++++++++++++++++++++++++++++++++++++++++++ src/views/eam/OperationCertificateApplyList.vue | 32 +++++++++- 2 files changed, 164 insertions(+), 5 deletions(-) diff --git a/src/views/eam/OperationCertificateApplyList.vue b/src/views/eam/OperationCertificateApplyList.vue index 349cd26..ca8f095 100644 --- a/src/views/eam/OperationCertificateApplyList.vue +++ b/src/views/eam/OperationCertificateApplyList.vue @@ -111,19 +111,33 @@ > <a>鎾ゅ洖</a> </a-popconfirm> - <a-popconfirm + <!-- <a-popconfirm v-if="record.auditStatus == 'submitted' || record.auditStatus == 'approved'" title="纭椹冲洖鍚�?" @confirm="() =>handleCommit(record, 'back')" > <a>椹冲洖</a> - </a-popconfirm> + </a-popconfirm> --> <a-divider v-if="record.auditStatus == 'created' || record.auditStatus == 'submitted'" type="vertical" /> <a @click="handleEdit(record)" v-if="record.auditStatus == 'created'">缂栬緫</a> - <a-popconfirm + <a-divider + v-if="record.auditStatus == 'created'" + type="vertical" + /> + <a + v-show="record.auditStatus == 'submitted'" + @click="handleFinish(record)" + v-has="'OperationCertificateApply:operationCertificateAudit'" + >瀹℃牳</a> + <a + v-show="record.auditStatus == 'approved'" + @click="handleFinish(record)" + v-has="'OperationCertificateApply:equipmentAdmin'" + >瀹℃牳</a> + <!-- <a-popconfirm v-if="record.auditStatus == 'submitted'" title="纭閫氳繃瀹℃壒鍚�?" @confirm="() =>handleCommit(record, 'approved')" @@ -136,7 +150,7 @@ @confirm="() =>handleCommit(record, 'audited')" > <a>瀹℃牳</a> - </a-popconfirm> + </a-popconfirm> --> <a-divider type="vertical" v-if="record.auditStatus == 'created' || record.auditStatus == 'submitted' || record.auditStatus == 'approved'"/> <a-dropdown> <a class="ant-dropdown-link">鏇村 <a-icon type="down" /></a> @@ -167,6 +181,7 @@ </a-tabs> <operation-certificate-apply-modal ref="modalForm" @ok="modalFormOk" /> + <operation-certificate-apply-audit ref="modalFormAudit" @ok="modalFormOk" /> </a-card> </template> @@ -174,6 +189,7 @@ import { JeecgListMixin } from '@/mixins/JeecgListMixin' import OperationCertificateApplyModal from './modules/operationCertificateApply/OperationCertificateApplyModal' + import OperationCertificateApplyAudit from './modules/operationCertificateApply/OperationCertificateApplyAudit' import {filterMultiDictText} from '@/components/dict/JDictSelectUtil' import { getAction, postAction } from '@/api/manage' import OperationCertificateApplyDetailList from './modules/operationCertificateApply/OperationCertificateApplyDetailList' @@ -184,7 +200,8 @@ mixins:[JeecgListMixin], components: { OperationCertificateApplyModal, - OperationCertificateApplyDetailList + OperationCertificateApplyDetailList, + OperationCertificateApplyAudit }, data () { return { @@ -322,6 +339,11 @@ this.$refs.modalForm.disableSubmit = false; this.$refs.modalForm.isAchievement = true; }, + handleFinish: function (record) { + this.$refs.modalFormAudit.edit(record); + this.$refs.modalFormAudit.title = "鎿嶄綔璇佺敵璇峰鏍�"; + this.$refs.modalFormAudit.disableSubmit = true; + }, onSelectChange(selectedRowKeys, selectionRows) { if (selectedRowKeys.length == 1) { diff --git a/src/views/eam/modules/operationCertificateApply/OperationCertificateApplyAudit.vue b/src/views/eam/modules/operationCertificateApply/OperationCertificateApplyAudit.vue new file mode 100644 index 0000000..16b408d --- /dev/null +++ b/src/views/eam/modules/operationCertificateApply/OperationCertificateApplyAudit.vue @@ -0,0 +1,137 @@ +<template> + <j-modal + :title="title" + :width="1400" + :visible="visible" + :maskClosable="false" + switchFullscreen + @ok="handleOk" + :okButtonProps="{ class:{'jee-hidden': disableSubmit} }" + @cancel="handleCancel"> + <operation-certificate-apply-form ref="realForm" @ok="submitCallback" :disabled="disableSubmit" :achievement="isAchievement"/> + + <template slot="footer"> + <a-button + :style="{marginRight: '8px'}" + @click="handleCancel()" + > + 鍏抽棴 + </a-button> + + <!-- <a-button + @click="handleOk()" + type="primary" + :loading="confirmLoading" + :disabled="disableSubmit || confirmLoading" + >纭畾</a-button> --> + <a-popconfirm + @confirm="() => handleReject()" + title="纭灏嗗綋鍓嶆搷浣滆瘉鐢宠椹冲洖锛�" + > + <a-button + :loading='confirmLoading' + :style="{marginRight: '8px'}" + :disabled="this.auditStatus == 'created' || this.auditStatus == 'audited'" + > + 椹冲洖 + </a-button> + </a-popconfirm> + <a-popconfirm + @confirm="() => handlePass()" + title="纭灏嗗綋鍓嶆搷浣滆瘉鐢宠瀹℃牳閫氳繃锛�" + > + <a-button + type='primary' + :loading='confirmLoading' + :style="{marginRight: '8px'}" + :disabled="this.auditStatus == 'created' || this.auditStatus == 'audited'" + > + 閫氳繃 + </a-button> + </a-popconfirm> + </template> + </j-modal> +</template> + +<script> + + import OperationCertificateApplyForm from './OperationCertificateApplyForm' + + export default { + name: 'OperationCertificateApplyModal', + components: { + OperationCertificateApplyForm + }, + data() { + return { + title:'', + width:800, + visible: false, + disableSubmit: false, + isAchievement: false, + record:{}, + model:{}, + url: { + edit: '/eam/operationCertificateApply/edit', + } + } + }, + methods:{ + add () { + this.visible=true + this.$nextTick(()=>{ + this.$refs.realForm.add(); + }) + }, + edit (record) { + this.record = record + this.visible=true + this.$nextTick(()=>{ + this.$refs.realForm.edit(record); + }) + }, + close () { + this.$emit('close'); + this.visible = false; + }, + handlePass() { + if (this.record.auditStatus == 'submitted') { + this.record.auditStatus = 'approved' + } else if (this.record.auditStatus == 'approved') { + this.record.auditStatus = 'audited' + } + this.$nextTick(()=>{ + this.$refs.realForm.edit(this.record); + }) + this.handleOk(); + }, + + handleReject() { + if (this.record.auditStatus == 'submitted') { + this.record.auditStatus = 'created' + } else if (this.record.auditStatus == 'approved') { + this.record.auditStatus = 'submitted' + } + this.$nextTick(()=>{ + this.$refs.realForm.edit(this.record); + }) + this.handleOk(); + }, + + handleOk () { + this.$refs.realForm.handleOk(); + }, + + submitCallback(){ + this.$emit('ok'); + this.visible = false; + }, + handleCancel () { + this.close() + } + } + } +</script> + +<style scoped> +</style> \ No newline at end of file -- Gitblit v1.9.3