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