From 5cbba170e270e6f1c99a91e27dbb7951a27d596a Mon Sep 17 00:00:00 2001
From: “linengliang” <vanSuperEnergy@163.com>
Date: 星期五, 24 十一月 2023 16:41:32 +0800
Subject: [PATCH] 故障报修验收

---
 src/views/eam/OperationCertificateApplyList.vue |  155 +++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 148 insertions(+), 7 deletions(-)

diff --git a/src/views/eam/OperationCertificateApplyList.vue b/src/views/eam/OperationCertificateApplyList.vue
index 6c86750..ca8f095 100644
--- a/src/views/eam/OperationCertificateApplyList.vue
+++ b/src/views/eam/OperationCertificateApplyList.vue
@@ -38,11 +38,12 @@
 
     <!-- 鎿嶄綔鎸夐挳鍖哄煙 -->
     <div class="table-operator">
-      <a-button @click="handleAdd" type="primary" icon="plus">鏂板</a-button>
+      <a-button @click="handleAdd" type="primary" icon="plus">鐢宠</a-button>
       <a-button type="primary" icon="download" @click="handleExportXls('鎿嶄綔璇佺敵璇疯〃')">瀵煎嚭</a-button>
       <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
         <a-button type="primary" icon="import">瀵煎叆</a-button>
       </a-upload>
+      <a-button @click="handleAchievement" type="primary" icon="plus" v-if="selectedRowKeys.length == 1 && selectionRows[0].auditStatus == 'audited'">鎴愮哗褰曞叆</a-button>
       <!-- 楂樼骇鏌ヨ鍖哄煙 -->
 <!--      <j-super-query :fieldList="superFieldList" ref="superQueryModal" @handleSuperQuery="handleSuperQuery"></j-super-query>-->
       <a-dropdown v-if="selectedRowKeys.length > 0">
@@ -95,9 +96,62 @@
         </template>
 
         <span slot="action" slot-scope="text, record">
-          <a @click="handleEdit(record)">缂栬緫</a>
 
-          <a-divider type="vertical" />
+          <a-popconfirm
+            v-if="record.auditStatus == 'created'"
+            title="纭鎻愪氦鍚�?"
+            @confirm="() =>handleCommit(record, 'commit')"
+          >
+            <a>鎻愪氦</a>
+          </a-popconfirm>
+          <a-popconfirm
+            v-if="record.auditStatus == 'submitted'"
+            title="纭鎾ゅ洖鍚�?"
+            @confirm="() =>handleCommit(record, 'back')"
+          >
+            <a>鎾ゅ洖</a>
+          </a-popconfirm>
+          <!-- <a-popconfirm
+            v-if="record.auditStatus == 'submitted' || record.auditStatus == 'approved'"
+            title="纭椹冲洖鍚�?"
+            @confirm="() =>handleCommit(record, 'back')"
+          >
+            <a>椹冲洖</a>
+          </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-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')"
+          >
+            <a>瀹℃壒</a>
+          </a-popconfirm>
+          <a-popconfirm
+            v-if="record.auditStatus == 'approved'"
+            title="纭閫氳繃瀹℃牳鍚�?"
+            @confirm="() =>handleCommit(record, 'audited')"
+          >
+            <a>瀹℃牳</a>
+          </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>
             <a-menu slot="overlay">
@@ -105,7 +159,7 @@
                 <a @click="handleDetail(record)">璇︽儏</a>
               </a-menu-item>
               <a-menu-item>
-                <a-popconfirm title="纭畾鍒犻櫎鍚�?" @confirm="() => handleDelete(record.id)">
+                <a-popconfirm title="纭畾鍒犻櫎鍚�?" @confirm="() => handleDelete(record.id)" v-if="record.auditStatus == 'created'">
                   <a>鍒犻櫎</a>
                 </a-popconfirm>
               </a-menu-item>
@@ -115,8 +169,19 @@
 
       </a-table>
     </div>
+    <a-tabs defaultActiveKey='1'>
+      <a-tab-pane tab='鎿嶄綔璇佺敵璇锋槑缁�' key='1'>
+        <div
+          class='table-operator'
+          style='margin:-20px'>
+          <operation-certificate-apply-detail-list :mainId='operationCretificateApplyId' />
+        </div>
 
-    <operation-certificate-apply-modal ref="modalForm" @ok="modalFormOk"/>
+      </a-tab-pane>
+    </a-tabs>
+
+    <operation-certificate-apply-modal ref="modalForm" @ok="modalFormOk" />
+    <operation-certificate-apply-audit ref="modalFormAudit" @ok="modalFormOk" />
   </a-card>
 </template>
 
@@ -124,18 +189,25 @@
 
   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'
   import '@/assets/less/TableExpand.less'
 
   export default {
     name: "OperationCertificateApplyList",
     mixins:[JeecgListMixin],
     components: {
-      OperationCertificateApplyModal
+      OperationCertificateApplyModal,
+      OperationCertificateApplyDetailList,
+      OperationCertificateApplyAudit
     },
     data () {
       return {
         description: '鎿嶄綔璇佺敵璇疯〃绠$悊椤甸潰',
+        operationCretificateApplyId:'',
+        selectedMainId: '',
         // 琛ㄥご
         columns: [
           {
@@ -179,6 +251,11 @@
             dataIndex: 'auditStatus_dictText'
           },
           {
+            title:'鍔炵悊浜�',
+            align:"center",
+            dataIndex: 'handlePerson_dictText'
+          },
+          {
             title:'澶囨敞',
             align:"center",
             dataIndex: 'remark'
@@ -198,7 +275,7 @@
           deleteBatch: "/eam/operationCertificateApply/deleteBatch",
           exportXlsUrl: "/eam/operationCertificateApply/exportXls",
           importExcelUrl: "eam/operationCertificateApply/importExcel",
-
+          approve:"/eam/operationCertificateApply/approve"
         },
         dictOptions:{},
         superFieldList:[],
@@ -225,7 +302,71 @@
         fieldList.push({type:'string',value:'auditStatus',text:'瀹℃牳鐘舵��',dictCode:'certificate_apply_status'})
         fieldList.push({type:'string',value:'remark',text:'澶囨敞',dictCode:''})
         this.superFieldList = fieldList
+      },
+      handleCommit(record, type) {
+        if(type == 'commit'){
+          record.auditStatus = 'submitted'
+        }else if(type == 'back'){
+          record.auditStatus = 'created'
+        }else if(type == 'approved'){
+          record.auditStatus = 'approved'
+        }else if(type == 'audited'){
+          record.auditStatus = 'audited'
+        }
+      
+      postAction(this.url.approve, record).then(res => {
+        if (res.success) {
+          this.$message.success("鎿嶄綔鎴愬姛锛�");
+          this.loadData(1);
+        } else {
+          this.$message.warning(res.message);
+        }
+      })
+    },
+      handleEdit: function (record) {
+      this.$refs.modalForm.edit(record);
+      this.$refs.modalForm.title = "缂栬緫";
+      this.$refs.modalForm.disableSubmit = false;
+    },
+    handleAdd: function () {
+      this.$refs.modalForm.add();
+      this.$refs.modalForm.title = "鏂板";
+      this.$refs.modalForm.disableSubmit = false;
+    },
+      handleAchievement(){
+        this.$refs.modalForm.edit(this.selectionRows[0]);
+        this.$refs.modalForm.title = "鎴愮哗褰曞叆";
+        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) {
+
+        this.operationCretificateApplyId = selectionRows[0]['id']
+      } else {
+
+        this.operationCretificateApplyId = ''
       }
+      this.selectedMainId = selectedRowKeys[0]
+      this.selectedRowKeys = selectedRowKeys
+      this.selectionRows = selectionRows
+    },
+    searchReset() {
+      this.operationCretificateApplyId = ''
+      this.queryParam = {}
+      this.loadData(1)
+    },
+    onClearSelected() {
+      this.selectedRowKeys = []
+      this.selectionRows = []
+      this.selectedMainId = ''
+      this.operationCretificateApplyId = ''
+    }
     }
   }
 </script>

--
Gitblit v1.9.3