From 886748a39efb188d8008d41f2718eb78f3006ddd Mon Sep 17 00:00:00 2001
From: zhaowei <zhaowei>
Date: 星期五, 18 七月 2025 17:08:33 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/views/eam/maintenance/EamSecondMaintenanceOrderList.vue |  197 ++++++++++++++++++++++++++++++++-----------------
 1 files changed, 129 insertions(+), 68 deletions(-)

diff --git a/src/views/eam/maintenance/EamSecondMaintenanceOrderList.vue b/src/views/eam/maintenance/EamSecondMaintenanceOrderList.vue
index 3b9ed5c..dd20db6 100644
--- a/src/views/eam/maintenance/EamSecondMaintenanceOrderList.vue
+++ b/src/views/eam/maintenance/EamSecondMaintenanceOrderList.vue
@@ -39,53 +39,40 @@
     <!-- 鎿嶄綔鎸夐挳鍖哄煙 -->
     <div class="table-operator" v-if="isDisplayOperation">
       <a-button @click="handleAdd" type="primary" icon="plus">鏂板</a-button>
+      <a-button @click="handleBatchAdd" type="primary" icon="plus">鎵归噺鏂板</a-button>
       <a-dropdown v-if="selectedRowKeys.length > 0">
         <a-menu slot="overlay">
           <a-menu-item key="1" @click="handlerBatchAbolish">
-            <a-icon type="delete" />
+            <a-icon type="delete"/>
             浣滃簾
           </a-menu-item>
           <a-menu-item key="2" @click="handlerBatchCollect">
-            <a-icon type="form" />
+            <a-icon type="form"/>
             棰嗗彇
+          </a-menu-item>
+          <a-menu-item key="3" @click="handlerBatchRestore">
+            <a-icon type="form"/>
+            杩樺師
           </a-menu-item>
         </a-menu>
         <a-button style="margin-left: 8px"> 鎵归噺鎿嶄綔
-          <a-icon type="down" />
+          <a-icon type="down"/>
         </a-button>
       </a-dropdown>
     </div>
 
 
-
     <!-- table鍖哄煙-begin -->
     <div>
-      <div
-        class="ant-alert ant-alert-info"
-        style="margin-bottom: 16px;"
-        v-if="isDisplayOperation"
-      >
-        <i class="anticon anticon-info-circle ant-alert-icon"></i> 宸查�夋嫨 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>椤�
-        <a
-          style="margin-left: 24px"
-          @click="onClearSelected"
-        >娓呯┖</a>
+      <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;" v-if="isDisplayOperation">
+        <i class="anticon anticon-info-circle ant-alert-icon"></i> 宸查�夋嫨 <a style="font-weight: 600">{{selectedRowKeys.length
+        }}</a>椤�
+        <a style="margin-left: 24px" @click="onClearSelected">娓呯┖</a>
       </div>
 
-      <a-table
-        ref="table"
-        size="middle"
-        bordered
-        rowKey="id"
-        :columns="columns"
-        :dataSource="dataSource"
-        :pagination="ipagination"
-        :loading="loading"
-        class="j-table-force-nowrap"
-        :scroll="{x:'max-content'}"
-        :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
-        @change="handleTableChange"
-      >
+      <a-table ref="table" size="middle" bordered rowKey="id" :columns="columns" :dataSource="dataSource"
+               :pagination="ipagination" :loading="loading" class="j-table-force-nowrap" :scroll="{x:'max-content'}"
+               :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" @change="handleTableChange">
         <span slot="action" slot-scope="text, record">
           <template v-if="record.maintenanceStatus === 'WAIT_MAINTENANCE'">
             <a @click="handleEdit(record)">缂栬緫</a>
@@ -98,18 +85,31 @@
 
             <a-divider type="vertical"/>
 
-            <a @click="handleDetail(record)">璇︽儏</a>
-
-            <a-divider type="vertical"/>
-
-            <a-popconfirm title="纭畾浣滃簾鍚�?" @confirm="() => handlerAbolish(record.id)">
-              <a>浣滃簾</a>
-            </a-popconfirm>
-
+            <a-dropdown>
+            <a class="ant-dropdown-link">鏇村 <a-icon type="down"/></a>
+            <a-menu slot="overlay">
+              <a-menu-item>
+                <a-popconfirm title="纭畾浣滃簾鍚�?" @confirm="() => handleAbolish(record.id)">
+                  <a>浣滃簾</a>
+                </a-popconfirm>
+              </a-menu-item>
+               <a-menu-item>
+                <a @click="handleDetail(record)">璇︽儏</a>
+              </a-menu-item>
+            </a-menu>
+          </a-dropdown>
           </template>
 
           <template v-else>
             <a @click="handleDetail(record)">璇︽儏</a>
+
+
+            <a-divider v-if="record.maintenanceStatus === 'ABOLISH'" type="vertical"/>
+
+            <a-popconfirm v-if="record.maintenanceStatus === 'ABOLISH'" title="纭畾杩樺師鍚�?" @confirm="() => handlerRestore(record.id)">
+              <a>杩樺師</a>
+            </a-popconfirm>
+
             <a-divider type="vertical" v-if="record.maintenanceStatus === 'COMPLETE'"/>
             <a v-if="record.maintenanceStatus === 'COMPLETE'" @click="handlePrint(record)">鎵撳嵃</a>
           </template>
@@ -120,6 +120,8 @@
 
     <!-- 琛ㄥ崟鍖哄煙 -->
     <eamSecondMaintenanceOrder-modal ref="modalForm" @ok="modalFormOk"/>
+
+    <eam-second-maintenance-batch-order-modal ref="batchModalForm" @ok="modalFormOk"/>
 
     <second-maintenance-approval-modal ref="secondMaintenanceApprovalModal"
                                        :selectShenpiData="selectSecondMaintenanceData"/>
@@ -133,11 +135,13 @@
   import SecondMaintenanceApprovalModal
     from '@views/flowable/workflow/secondMaintenance/SecondMaintenanceApprovalModal.vue'
   import LxSearchEquipmentSelect from '../equipment/modules/LxSearchEquipmentSelect'
+  import EamSecondMaintenanceBatchOrderModal from './modules/EamSecondMaintenanceBatchOrderModal'
 
   export default {
     name: 'EamSecondMaintenanceOrderList',
     mixins: [JeecgListMixin],
     components: {
+      EamSecondMaintenanceBatchOrderModal,
       LxSearchEquipmentSelect,
       EamSecondMaintenanceOrderModal,
       SecondMaintenanceApprovalModal
@@ -259,8 +263,10 @@
           list: '/eam/secondMaintenanceOrder/list',
           abolish: '/eam/secondMaintenanceOrder/abolish',
           collect: '/eam/secondMaintenanceOrder/collect',
+          restore:'/eam/secondMaintenanceOrder/restore',
           abolishBatch: '/eam/secondMaintenanceOrder/abolishBatch',
-          collectBatch: '/eam/secondMaintenanceOrder/collectBatch'
+          collectBatch: '/eam/secondMaintenanceOrder/collectBatch',
+          restoreBatch: '/eam/secondMaintenanceOrder/restoreBatch',
         }
       }
     },
@@ -280,10 +286,11 @@
       this.loadData(1)
     },
     methods: {
-      onMaintenanceDateChange: function(dataArray) {
-        this.queryParam.maintenanceDateBegin = dataArray[0]
-        this.queryParam.maintenanceDateEnd = dataArray[1]
+      handleBatchAdd() {
+        this.$refs.batchModalForm.title = '鎵归噺鏂板'
+        this.$refs.batchModalForm.visible = true
       },
+
       /**
        * 鐐瑰嚮棰嗗彇鏃惰Е鍙�
        * @param id 琛岃褰昳d
@@ -315,9 +322,10 @@
        */
       handleDetail(record) {
         this.selectSecondMaintenanceData = Object.assign({}, record)
-        this.$refs.secondMaintenanceApprovalModal.recordDetail(record)
         this.$refs.secondMaintenanceApprovalModal.title = '璇︽儏'
+        this.$refs.secondMaintenanceApprovalModal.visible = true
         this.$refs.secondMaintenanceApprovalModal.disableSubmit = true
+        this.$refs.secondMaintenanceApprovalModal.recordDetail(record)
       },
 
       /**
@@ -329,33 +337,81 @@
         window.open(href, '_blank')
       },
       handlerAbolish(id) {
-        if (!this.url.abolish) {
-          this.$message.error('璇疯缃畊rl.abolish灞炴��!')
-          return
+        var that = this
+        deleteAction(that.url.abolish, { id })
+          .then((res) => {
+            if (res.success) {
+              that.$notification.success({
+                message: '娑堟伅',
+                description: res.message
+              })
+              that.loadData()
+            } else {
+              that.$notification.warning({
+                message: '娑堟伅',
+                description: res.message
+              })
+            }
+          })
+      },
+      handlerBatchAbolish() {
+        var ids = ''
+        for (var a = 0; a < this.selectedRowKeys.length; a++) {
+          ids += this.selectedRowKeys[a] + ','
         }
         var that = this
-        deleteAction(that.url.abolish, { id: id }).then((res) => {
-          if (res.success) {
-            //閲嶆柊璁$畻鍒嗛〉闂
-            that.reCalculatePage(1)
-            // that.$message.success(res.message);
-            that.$notification.success({
-              message: '娑堟伅',
-              description: res.message
-            })
-            that.loadData()
-          } else {
-            // that.$message.warning(res.message);
-            that.$notification.warning({
-              message: '娑堟伅',
-              description: res.message
-            })
+        this.$confirm({
+          title: '纭浣滃簾',
+          content: '鏄惁浣滃簾閫変腑鏁版嵁锛屽彧鏈夊緟淇濆吇鐘舵�佺殑鏁版嵁鎵嶅彲浣滃簾鎴愬姛?',
+          onOk: function() {
+            that.loading = true
+            deleteAction(that.url.abolishBatch, { ids })
+              .then((res) => {
+                if (res.success) {
+                  that.$notification.success({
+                    message: '娑堟伅',
+                    description: res.message
+                  })
+                  that.loadData()
+                  that.onClearSelected()
+                } else {
+                  that.$notification.warning({
+                    message: '娑堟伅',
+                    description: res.message
+                  })
+                }
+              })
+              .finally(() => {
+                that.loading = false
+              })
           }
         })
       },
-      handlerBatchAbolish() {
-        if (!this.url.abolishBatch) {
-          this.$message.error('璇疯缃畊rl.abolishBatch灞炴��!')
+      //杩樺師
+      handlerRestore(id){
+        let that = this
+        this.loading = true
+        getAction(that.url.restore, { id })
+          .then((res) => {
+            if (res.success) {
+              that.$notification.success({
+                message: '娑堟伅',
+                description: res.message
+              })
+              that.loadData()
+            } else {
+              that.$notification.warning({
+                message: '娑堟伅',
+                description: res.message
+              })
+              this.loading = false
+            }
+          })
+      },
+      //鎵归噺杩樺師
+      handlerBatchRestore(){
+        if (!this.url.restoreBatch) {
+          this.$message.error('璇疯缃畊rl.restoreBatch灞炴��!')
           return
         }
         if (this.selectedRowKeys.length <= 0) {
@@ -372,11 +428,11 @@
           }
           var that = this
           this.$confirm({
-            title: '纭浣滃簾',
-            content: '鏄惁浣滃簾閫変腑鏁版嵁锛屽彧鏈夊緟淇濆吇鐘舵�佺殑鏁版嵁鎵嶅彲浣滃簾鎴愬姛?',
-            onOk: function () {
+            title: '纭杩樺師',
+            content: '鏄惁杩樺師閫変腑鏁版嵁锛屽彧鏈変綔搴熺姸鎬佺殑鏁版嵁鎵嶅彲杩樺師鎴愬姛?',
+            onOk: function() {
               that.loading = true
-              deleteAction(that.url.abolishBatch, { ids: ids }).then((res) => {
+              deleteAction(that.url.restoreBatch, { ids: ids }).then((res) => {
                 if (res.success) {
                   //閲嶆柊璁$畻鍒嗛〉闂
                   that.reCalculatePage(that.selectedRowKeys.length)
@@ -423,7 +479,7 @@
           this.$confirm({
             title: '纭棰嗗彇',
             content: '鏄惁棰嗗彇閫変腑鏁版嵁锛屽彧鏈夊緟淇濆吇鐘舵�佺殑鏁版嵁鎵嶅彲棰嗗彇鎴愬姛?',
-            onOk: function () {
+            onOk: function() {
               that.loading = true
               deleteAction(that.url.collectBatch, { ids: ids }).then((res) => {
                 if (res.success) {
@@ -450,6 +506,11 @@
           })
         }
       },
+
+      onMaintenanceDateChange: function(dataArray) {
+        this.queryParam.maintenanceDateBegin = dataArray[0]
+        this.queryParam.maintenanceDateEnd = dataArray[1]
+      }
     }
   }
 </script>
\ No newline at end of file

--
Gitblit v1.9.3