From 0c4e7ea6e347db2f2749bf9446ac0ed215bdecd5 Mon Sep 17 00:00:00 2001
From: lyh <925863403@qq.com>
Date: 星期一, 14 四月 2025 13:33:02 +0800
Subject: [PATCH] 修改审签工作流

---
 src/views/flowable/workflow/FlowTodo.vue |  136 +++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 119 insertions(+), 17 deletions(-)

diff --git a/src/views/flowable/workflow/FlowTodo.vue b/src/views/flowable/workflow/FlowTodo.vue
index 8db64e3..6404081 100644
--- a/src/views/flowable/workflow/FlowTodo.vue
+++ b/src/views/flowable/workflow/FlowTodo.vue
@@ -44,23 +44,39 @@
 
     <!-- 鎿嶄綔鎸夐挳鍖哄煙 -->
     <div class="table-operator">
+    <a-dropdown v-if="selectedRowKeys.length > 0 ">
+      <a-menu slot="overlay">
+        <a-menu-item key="1" @click="batchHandle"><a-icon type="delete"/>鎵归噺澶勭悊</a-menu-item>
+      </a-menu>
+      <a-button style="margin-left: 8px"> 鎵归噺鎿嶄綔 <a-icon type="down" /></a-button>
+    </a-dropdown>
     </div>
 
     <!-- table鍖哄煙-begin -->
     <div>
+      <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
+        <i class="anticon anticon-info-circle ant-alert-icon"></i>宸查�夋嫨&nbsp;<a style="font-weight: 600">{{
+          selectedRowKeys.length }}</a>椤�&nbsp;&nbsp;
+        <a style="margin-left: 24px" @click="onClearSelected">娓呯┖</a>
+      </div>
 
       <a-table
         ref="table"
-        size="middle"
-        :scroll="{x:true}"
         bordered
+        size="middle"
         rowKey="id"
+        :scroll="{x:'max-content',y:465}"
         :columns="columns"
         :dataSource="dataSource"
         :pagination="ipagination"
         :loading="loading"
-        class="j-table-force-nowrap"
+        :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
         @change="handleTableChange">
+
+        <!-- 瀛楃涓茶秴闀挎埅鍙栫渷鐣ュ彿鏄剧ず-->
+        <span slot="description" slot-scope="text">
+          <j-ellipsis :value="text" :length="25" />
+        </span>
 
         <template slot="htmlSlot" slot-scope="text">
           <div v-html="text"></div>
@@ -89,9 +105,13 @@
       </a-table>
     </div>
 
-    <AssignFileStreamHandle ref="modalFormApproval" :selectShenpiData="selectShenpiData"></AssignFileStreamHandle>
+    <AssignFileStreamHandle ref="modalFormApproval" :selectShenpiData="selectShenpiData" @searchReset="searchReset"></AssignFileStreamHandle>
     <DispatchFileHandle ref="modalFormDispatchFileXq"  :selectShenpiData="selectDispatchFileXqData" @searchReset="searchReset"></DispatchFileHandle>
-
+    <DispatchFileBachHandleStyle ref="modalFormDispatchFileBatch" @searchReset="searchReset" @ok="modalFormOk"></DispatchFileBachHandleStyle>
+    <InspectionOrderHandle ref="modalFormInspectionOrder" :selectShenpiData="selectInspectionOrderData" @searchReset="searchReset"></InspectionOrderHandle>
+    <InspectionOrderHandleBzz ref="modalFormInspectionOrderBzz" :selectShenpiData="selectInspectionOrderDataBzz" @searchReset="searchReset"></InspectionOrderHandleBzz>
+    <week-maintenance-approval-modal ref = "weekMaintenanceApprovalModal" ></week-maintenance-approval-modal>
+    <repair-order-approval-modal ref="repairOrderApprovalModal" :selectShenpiData="selectRepairOrderData" ></repair-order-approval-modal>
   </a-card>
 </template>
 
@@ -103,13 +123,25 @@
 import JDictSelectTag from '@/components/dict/JDictSelectTag.vue'
 import AssignFileStreamHandle from '@views/flowable/workflow/assignFileStream/AssignFileStreamHandle.vue'
 import DispatchFileHandle from '@views/flowable/workflow/dispatchFile/DispatchFileHandle.vue'
+import DispatchFileBachHandleStyle from '@views/flowable/workflow/dispatchFile/DispatchFileBachHandleStyle#Drawer.vue'
+import WeekMaintenanceApprovalModal from '@views/flowable/workflow/weekMaintenance/WeekMaintenanceApprovalModal'
+import RepairOrderApprovalModal from '@views/flowable/workflow/repairOrder/RepairOrderApprovalModal'
+import InspectionOrderHandle from '@views/flowable/workflow/InspectionOrder/InspectionOrderHandle.vue'
+import InspectionOrderHandleBzz from '@views/flowable/workflow/InspectionOrder/InspectionOrderHandleBzz.vue'
+
+import { getAction } from '@api/manage'
 export default {
   name: 'NcDeviceCharactersList',
   mixins:[JeecgListMixin, mixinDevice],
   components: {
     AssignFileStreamHandle,
     JDictSelectTag,
-    DispatchFileHandle
+    DispatchFileHandle,
+    DispatchFileBachHandleStyle,
+    WeekMaintenanceApprovalModal,
+    RepairOrderApprovalModal,
+    InspectionOrderHandle,
+    InspectionOrderHandleBzz,
   },
   data () {
     return {
@@ -120,7 +152,7 @@
           title: '搴忓彿',
           dataIndex: '',
           key:'rowIndex',
-          width:200,
+          width:100,
           align:"center",
           customRender:function (t,r,index) {
             return parseInt(index)+1;
@@ -139,16 +171,17 @@
           width: 200,
         },
         {
-          title: '娴佺▼涓氬姟绠�瑕佹弿杩�',
-          align: "center",
-          dataIndex: 'title',
-          width:300
+          title:'娴佺▼涓氬姟绠�瑕佹弿杩�',
+          align:"center",
+          dataIndex: 'description',
+          width:300,
+          scopedSlots: {customRender: 'description'},
         },
         {
           title: '涓婁竴姝ュ鐞嗕汉',
           align: "center",
           dataIndex: 'preNodeAssignee_dictText',
-          width:200
+          width:100
         },
         {
           title: '鍓嶉┍鑺傜偣',
@@ -179,10 +212,17 @@
       ],
       url: {
         list: '/assign/flow/toTaskBySelf',
+        isSameNode: '/assign/flow/isSameNode'
       },
       dictOptions:{},
       selectShenpiData: {},
-      selectDispatchFileXqData:{}
+      selectDispatchFileXqData:{},
+      selectInspectionOrderData:{},
+      selectInspectionOrderDataBzz:{},
+      selectBachData:{},
+      selectRepairOrderData: {},
+      //涓氬姟淇℃伅ID
+      dataId: undefined,
     }
   },
   created() {
@@ -197,17 +237,26 @@
       console.log('鐐瑰嚮浜嗚鎯�')
       console.log('item----->', item)
       console.log('index----->', index)
-      let approcesstype = this.splitAprocessType(item.category_dictText)
+      let approcesstype = this.splitAprocessType(item.category)
       console.log('approcesstype--->', approcesstype)
       switch (approcesstype) {
-        case '鎸囨淳NC鏂囨。鍒拌澶囨祦绋�':
+        case 'drApproval':
           this.handDrDetial(item)
           break
-        case 'NC绋嬪簭绛炬淳':
+        case 'ggApproval':
           this.handDispatchFileDetial(item)
           break
+        case 'sbdjApproval':
+          this.handInspectionOrder(item)
+          break
+        case 'WEEK_MAINTENANCE':
+          this.handleWeekMaintenance(item)
+          break
+        case 'eam_repair':
+          this.handleRepairOrder(item)
+          break
         default:
-          alert('娌℃壘鍒拌瀹℃壒')
+          alert('娌℃壘鍒拌娴佺▼')
       }
     },
     splitAprocessType(title) {
@@ -229,6 +278,59 @@
       this.selectDispatchFileXqData = item
       this.$refs.modalFormDispatchFileXq.clearTableSource()
       this.$refs.modalFormDispatchFileXq.getAllApproveData(item)
+    },
+    handInspectionOrder(item) {
+      console.log('item----->', item)
+      if (item.taskDefKey ==='Confirmed_completed'){
+        this.selectInspectionOrderDataBzz = item
+        this.$refs.modalFormInspectionOrderBzz .clearTableSource()
+        this.$refs.modalFormInspectionOrderBzz .getAllApproveData(item)
+      }else {
+        this.selectInspectionOrderData = item
+        this.$refs.modalFormInspectionOrder.clearTableSource()
+        this.$refs.modalFormInspectionOrder.getAllApproveData(item)
+      }
+    },
+    batchHandle() {
+      if (this.selectedRowKeys.length <= 0) {
+        this.$notification.warning({
+          message: '娑堟伅',
+          description: "璇烽�夋嫨涓�鏉¤褰�"
+        });
+        return;
+      } else {
+        let ids = "";
+        for (var a = 0; a < this.selectedRowKeys.length; a++) {
+          ids += this.selectedRowKeys[a] + ",";
+        }
+        getAction(this.url.isSameNode+"?taskIds="+ids).then((res)=>{
+          if(res.success){
+            let taskDefKey=res.result
+            this.selectBachData.taskIds = ids
+            this.selectBachData.taskDefKey = taskDefKey
+            this.$refs.modalFormDispatchFileBatch.title="鎵归噺澶勭悊";
+            this.$refs.modalFormDispatchFileBatch.edit(this.selectBachData)
+            this.$refs.modalFormDispatchFileBatch.disableSubmit = false;
+          }else{
+            this.$notification.warning({
+              message: '娑堟伅',
+              description: res.message
+            });
+          }
+        })
+      }
+    },
+    handleWeekMaintenance(item) {
+      if(item && item.dataId) {
+        this.$refs.weekMaintenanceApprovalModal.handleDetail(item.dataId)
+        this.$refs.weekMaintenanceApprovalModal.title = item.name;
+        this.$refs.weekMaintenanceApprovalModal.disableSubmit = false;
+      }
+    },
+    handleRepairOrder(item) {
+      this.selectRepairOrderData = item
+      this.$refs.repairOrderApprovalModal.clearTableSource()
+      this.$refs.repairOrderApprovalModal.getAllApproveData(item)
     }
   }
 }

--
Gitblit v1.9.3