From 50e679f417b1052433964801e4630a8f81c6d711 Mon Sep 17 00:00:00 2001
From: hyingbo <1363390067@qq.com>
Date: 星期三, 20 八月 2025 11:51:45 +0800
Subject: [PATCH] dnc首页待办调整

---
 src/views/dnc/base/modules/ProductStructure/GuideCardBatch/GuideCardBatchEditForm.vue |   24 +
 src/views/dashboard/Analysis.vue                                                      |    2 
 src/views/dashboard/dncIndex/DncManagerSignage.vue                                    |   61 +---
 src/views/dashboard/dncIndex/TodoList.vue                                             |  639 +++++++++++++++++++++++++++++++++++++++++++++++++
 src/views/flowable/workflow/FlowTodo.vue                                              |    8 
 5 files changed, 681 insertions(+), 53 deletions(-)

diff --git a/src/views/dashboard/Analysis.vue b/src/views/dashboard/Analysis.vue
index 7c7b4bf..156fa95 100644
--- a/src/views/dashboard/Analysis.vue
+++ b/src/views/dashboard/Analysis.vue
@@ -7,7 +7,7 @@
 
 <script>
   import signageApi from '@/api/signage'
-  import DncManagerSignage from './DncManagerSignage.vue'
+  import DncManagerSignage from './dncIndex/DncManagerSignage.vue'
 
   export default {
     name: "Analysis",
diff --git a/src/views/dashboard/DncManagerSignage.vue b/src/views/dashboard/dncIndex/DncManagerSignage.vue
similarity index 67%
rename from src/views/dashboard/DncManagerSignage.vue
rename to src/views/dashboard/dncIndex/DncManagerSignage.vue
index 53b7bf2..5bc0e49 100644
--- a/src/views/dashboard/DncManagerSignage.vue
+++ b/src/views/dashboard/dncIndex/DncManagerSignage.vue
@@ -2,8 +2,14 @@
   <div class="home-container">
     <div class="left-card">
       <div class="card">
-        <h2 class="card-title">鍗$墖1</h2>
+        <h2 class="card-title">鎴戠殑寰呭姙</h2>
         <div class="card-content">
+          <!-- 宓屽叆FlowTodo缁勪欢骞惰缃粯璁ゅ垎绫� -->
+          <todo-list
+            ref="flowTodo"
+            class="embedded-flow-todo"
+            :defaultCategories="['drApproval','ggApproval','programConfirmApproval']"
+          ></todo-list>
         </div>
       </div>
     </div>
@@ -11,19 +17,13 @@
     <!-- 鍙充晶涓や釜灏忓崱鐗� -->
     <div class="right-cards">
       <div class="card top-card">
-        <h2 class="card-title">鎴戠殑寰呭姙</h2>
+        <h2 class="card-title">鍗$墖1</h2>
         <div class="card-content">
-          <!-- 宓屽叆FlowTodo缁勪欢骞惰缃粯璁ゅ垎绫� -->
-          <flow-todo
-            ref="flowTodo"
-            class="embedded-flow-todo"
-            :defaultCategories="['drApproval','ggApproval','programConfirmApproval']"
-          ></flow-todo>
         </div>
       </div>
 
       <div class="card bottom-card">
-        <h2 class="card-title">鍗$墖2</h2>
+        <h2 class="card-title">娲惧伐浠诲姟棰嗗彇</h2>
         <div class="card-content">
         </div>
       </div>
@@ -32,14 +32,14 @@
 </template>
 
 <script>
-import signageApi from '@/api/signage'
+import signageApi from '@api/signage'
 import moment from 'moment'
-import FlowTodo from '@/views/flowable/workflow/FlowTodo.vue'
+import TodoList from '@views/dashboard/dncIndex/TodoList.vue'
 
 export default {
   name: 'DncManagerSignage',
   components: {
-    FlowTodo
+    TodoList
   },
   data() {
     return {
@@ -49,7 +49,7 @@
     // 纭繚缁勪欢鍔犺浇鍚庝娇鐢ㄩ粯璁ゅ垎绫绘煡璇㈡暟鎹�
     this.$nextTick(() => {
       if (this.$refs.flowTodo) {
-        this.$refs.flowTodo.searchQuery()
+        this.$refs.flowTodo.loadData(1)
       }
     })
   },
@@ -60,6 +60,9 @@
 </script>
 
 <style scoped>
+.left-card .card-content {
+  padding: 5px 0;
+}
 .home-container {
   display: flex;
   min-height: 100vh;
@@ -75,7 +78,7 @@
 }
 
 .right-cards {
-  flex: 1;
+  flex: 2;
   min-width: 0;
   display: flex;
   flex-direction: column;
@@ -113,36 +116,6 @@
 .card-content {
   flex: 1;
   overflow: auto;
-}
-
-/* 娓呴櫎寰呭姙椤甸潰鏌ヨ鏉′欢銆侀�変腑鏉℃暟銆佸閫夋 */
-.embedded-flow-todo >>> .table-page-search-wrapper {
-  display: none !important;
-}
-
-.embedded-flow-todo >>> .table-operator {
-  display: none !important;
-}
-
-.embedded-flow-todo >>> .ant-alert.ant-alert-info {
-  display: none !important;
-}
-
-.embedded-flow-todo >>> .ant-table-thead .ant-table-selection-column,
-.embedded-flow-todo >>> .ant-table-tbody .ant-table-selection-column {
-  display: none !important;
-}
-
-.embedded-flow-todo >>> .ant-table-selection {
-  display: none !important;
-}
-.embedded-flow-todo >>> .ant-table-row-selected {
-  background: transparent !important;
-}
-
-.embedded-flow-todo >>> .a-table {
-  margin-top: 0 !important;
-  border-top: none !important;
 }
 
 @media (max-width: 992px) {
diff --git a/src/views/dashboard/dncIndex/TodoList.vue b/src/views/dashboard/dncIndex/TodoList.vue
new file mode 100644
index 0000000..9938b05
--- /dev/null
+++ b/src/views/dashboard/dncIndex/TodoList.vue
@@ -0,0 +1,639 @@
+<template>
+  <div>
+    <a-spin :spinning="loading">
+      <div class="todo-container">
+        <el-dropdown
+          v-for="(item, index) in todoList"
+          :key="index"
+          class="todo-item"
+          @click.native="handelDetail(item)"
+        >
+          <span class="todo-title" >{{ item.description }}</span>
+<!--          <el-dropdown-menu slot="dropdown">-->
+<!--            <el-dropdown-item @click.native="handelDetail(item)">鎵ц/瀹℃壒</el-dropdown-item>-->
+<!--          </el-dropdown-menu>-->
+          <div class="todo-info">
+            <div class="todo-node">{{ item.name }}</div>
+            <div class="todo-time">{{ item.createTime }}</div>
+          </div>
+        </el-dropdown>
+      </div>
+    </a-spin>
+
+    <AssignFileStreamHandle
+      ref='modalFormApproval'
+      :selectShenpiData='selectShenpiData'
+      @searchReset='searchReset'
+    ></AssignFileStreamHandle>
+    <DispatchFileHandle
+      ref='modalFormDispatchFileXq'
+      :selectShenpiData='selectDispatchFileXqData'
+      @searchReset='searchReset'
+    ></DispatchFileHandle>
+    <StandardizedProcessHandle
+      ref='StandardizedProcessHandle'
+      :selectShenpiData='selectDispatchFileXqData'
+      @searchReset='searchReset'
+    ></StandardizedProcessHandle>
+    <DispatchFileBachHandleStyle
+      ref='modalFormDispatchFileBatch'
+      @ok='modalFormOk'
+      @searchReset='searchReset'
+    ></DispatchFileBachHandleStyle>
+    <!--鍗曚釜娴佺▼澶勭悊-->
+    <InspectionOrderHandle
+      ref='modalFormInspectionOrder'
+      :selectShenpiData='selectInspectionOrderData'
+      @searchReset='searchReset'
+    ></InspectionOrderHandle>
+    <week-maintenance-approval-modal
+      ref='weekMaintenanceApprovalModal'
+      :selectShenpiData='selectWeekMaintenanceData'
+      @searchReset='searchReset'
+    ></week-maintenance-approval-modal>
+    <repair-order-approval-modal
+      ref='repairOrderApprovalModal'
+      :selectShenpiData='selectRepairOrderData'
+      @searchReset='searchReset'
+    ></repair-order-approval-modal>
+    <out-bound-order-handle
+      ref='outBoundOrderHandle'
+      :selectShenpiData='selectOutBoundOrderData'
+      @searchReset='searchReset'
+    ></out-bound-order-handle>
+    <stocktaking-bound-handle
+      ref='stocktakingBoundHandle'
+      :selectShenpiData='selectStocktakingBoundOrderData'
+      @searchReset='searchReset'
+    ></stocktaking-bound-handle>
+
+    <loss-bound-handle
+      ref='lossBoundHandle'
+      :selectShenpiData='selectLossBoundOrderData'
+      @searchReset='searchReset'
+    ></loss-bound-handle>
+
+    <!--鎵归噺澶勭悊-->
+    <inspection-order-batch-handle
+      ref='inspectionOrderBatchHandleRef'
+      :taskList='selectionRows'
+      @searchReset='searchReset'
+    />
+
+    <week-maintenance-batch-approval-modal
+      ref='weenMaintenanceBatchApprovalModalRef'
+      :taskList='selectionRows'
+      @searchReset='searchReset'
+    />
+    <equipment-lean-out-approval-modal
+      ref='equipmentLeanOutApprovalModelRef'
+      @searchReset='searchReset'
+    />
+    <equipment-return-approval-modal
+      ref='equipmentReturnApprovalModelRef'
+      @searchReset='searchReset'
+    />
+
+    <second-maintenance-approval-modal
+      ref='secondMaintenanceApprovalModal'
+      :selectShenpiData='selectSecondMaintenanceData'
+      @searchReset='searchReset'
+    ></second-maintenance-approval-modal>
+    <third-maintenance-approval-modal
+      ref='thirdMaintenanceApprovalModal'
+      :selectShenpiData='selectThirdMaintenanceData'
+      @searchReset='searchReset'
+    ></third-maintenance-approval-modal>
+    <equipment-seal-up-approval-modal
+      ref='equipmentSealUpApprovalModelRef'
+      @searchReset='searchReset'
+    />
+    <inbound-order-handle
+      ref='inboundOrderApprovalModal'
+      :selectInboundOrderData='selectInboundOrderData'
+      @searchReset='searchReset'
+    ></inbound-order-handle>
+    <equipment-transfer-approval-modal
+      ref='equipmentTransferApprovalModelRef'
+      @searchReset='searchReset'
+    />
+    <equipment-scrap-approval-modal
+      ref='equipmentScrapApprovalModelRef'
+      @searchReset='searchReset'
+    />
+    <spare-part-apply-handle
+      ref='sparePartApplyModal'
+      :selectSparePartApplyData='selectSparePartApplyData'
+      @searchReset='searchReset'
+    ></spare-part-apply-handle>
+    <guide-card-batch-handle
+      ref='guideCardBatchHandle'
+      :selectShenpiData='selectGuideCardData'
+      @searchReset='searchReset'
+    ></guide-card-batch-handle>
+    <AssignEquipmentFileStreamHandle
+      ref='assignEquipmentFileStreamHandle'
+      :selectShenpiData='selectEquipmentSealUpData'
+      @searchReset='searchReset'
+    ></AssignEquipmentFileStreamHandle>
+  </div>
+</template>
+
+<script>
+import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+import { mixinDevice } from '@/utils/mixin'
+import lossBoundHandle from '@views/flowable/workflow/lossBound/lossBoundHandle.vue'
+import stocktakingBoundHandle from '@views/flowable/workflow/stocktakingBound/stocktakingBoundHandle.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 WeekMaintenanceBatchApprovalModal
+  from '@views/flowable/workflow/weekMaintenance/WeekMaintenanceBatchApprovalModal.vue'
+import InspectionOrderBatchHandle from '@views/flowable/workflow/InspectionOrder/InspectionOrderBatchHandle.vue'
+import JDictSelectTag from '@comp/dict/JDictSelectTag.vue'
+import WeekMaintenanceApprovalModal from '@views/flowable/workflow/weekMaintenance/WeekMaintenanceApprovalModal.vue'
+import RepairOrderApprovalModal from '@views/flowable/workflow/repairOrder/RepairOrderApprovalModal.vue'
+import InspectionOrderHandle from '@views/flowable/workflow/InspectionOrder/InspectionOrderHandle.vue'
+import EquipmentLeanOutApprovalModal from '@views/flowable/workflow/leanOut/EquipmentLeanOutApprovalModal.vue'
+import EquipmentReturnApprovalModal from '@views/flowable/workflow/leanOut/EquipmentReturnApprovalModal.vue'
+import SecondMaintenanceApprovalModal
+  from '@views/flowable/workflow/secondMaintenance/SecondMaintenanceApprovalModal.vue'
+import ThirdMaintenanceApprovalModal from '@views/flowable/workflow/thirdMaintenance/ThirdMaintenanceApprovalModal.vue'
+import OutBoundOrderHandle from '@views/flowable/workflow/outBoundOrder/OutBoundOrderHandle.vue'
+import EquipmentSealUpApprovalModal from '@views/flowable/workflow/sealUp/EquipmentSealUpApprovalModal.vue'
+import InboundOrderHandle from '@views/flowable/workflow/inboundOrder/InboundOrderHandle.vue'
+import EquipmentTransferApprovalModal from '@views/flowable/workflow/transfer/EquipmentTransferApprovalModal.vue'
+import EquipmentScrapApprovalModal from '@views/flowable/workflow/scrap/EquipmentScrapApprovalModal.vue'
+import SparePartApplyHandle from '@views/flowable/workflow/sparePartApply/SparePartApplyHandle.vue'
+import StandardizedProcessHandle from '@views/flowable/workflow/standardizedProcess/StandardizedProcessHandle.vue'
+import GuideCardBatchHandle from '@views/flowable/workflow/guideCardBatch/GuideCardBatchHandle.vue'
+import AssignEquipmentFileStreamHandle
+  from '@views/flowable/workflow/assignEquipmentFileStream/AssignEquipmentFileStreamHandle.vue'
+import { getAction } from '@api/manage'
+
+export default {
+  name: "TodoList",
+  mixins: [JeecgListMixin, mixinDevice],
+  components: {
+    lossBoundHandle,
+    stocktakingBoundHandle,
+    AssignFileStreamHandle,
+    DispatchFileHandle,
+    DispatchFileBachHandleStyle,
+    WeekMaintenanceBatchApprovalModal,
+    InspectionOrderBatchHandle,
+    JDictSelectTag,
+    WeekMaintenanceApprovalModal,
+    RepairOrderApprovalModal,
+    InspectionOrderHandle,
+    EquipmentLeanOutApprovalModal,
+    EquipmentReturnApprovalModal,
+    SecondMaintenanceApprovalModal,
+    ThirdMaintenanceApprovalModal,
+    OutBoundOrderHandle,
+    EquipmentSealUpApprovalModal,
+    InboundOrderHandle,
+    EquipmentTransferApprovalModal,
+    EquipmentScrapApprovalModal,
+    SparePartApplyHandle,
+    StandardizedProcessHandle,
+    GuideCardBatchHandle,
+    AssignEquipmentFileStreamHandle
+  },
+  props: {
+    // 娣诲姞榛樿鍒嗙被灞炴��
+    defaultCategories: {
+      type: Array,
+      default: () => []
+    }
+  },
+  data() {
+    return {
+      todoList: [],
+      url: {
+        list: '/assign/flow/toTaskBySelf',
+        isSameNode: '/assign/flow/isSameNode'
+      },
+      dictOptions: {},
+      selectShenpiData: {},
+      selectDispatchFileXqData: {},
+      selectInspectionOrderData: {},
+      selectWeekMaintenanceData: {},
+      selectSecondMaintenanceData: {},
+      selectThirdMaintenanceData: {},
+      selectBachData: {},
+      selectRepairOrderData: {},
+      selectOutBoundOrderData: {},
+      selectLossBoundOrderData: {},
+      selectStocktakingBoundOrderData: {},
+      selectInboundOrderData: {},
+      selectSparePartApplyData: {},
+      selectGuideCardData: {},
+      selectEquipmentAssignProductData: {},
+      selectEquipmentSealUpData: {},
+      //涓氬姟淇℃伅ID
+      dataId: undefined,
+      loading: false,
+      disableMixinCreated: true
+    };
+  },
+
+  computed: {
+    importExcelUrl: function () {
+      return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`
+    },
+    getTableColumnsTotalWidth() {
+      return this.columns.reduce((total, item) => total + item.width, 0)
+    }
+  },
+
+  methods: {
+    loadData(arg) {
+
+      this.todoList = []
+
+      if (!this.url.list) {
+        this.$message.error('璇疯缃畊rl.list灞炴��!')
+        return
+      }
+      //鍔犺浇鏁版嵁 鑻ヤ紶鍏ュ弬鏁�1鍒欏姞杞界涓�椤电殑鍐呭
+      if (arg === 1) {
+        this.ipagination.current = 1
+        this.ipagination.page = 1
+        this.ipagination.pageSize = 50
+      }
+      this.queryParam.categoryList = this.defaultCategories;
+      // 灏佽鏌ヨ鏉′欢
+      let formData = {
+        pageNo: arg,
+        pageSize: this.ipagination.pageSize,
+        categoryList: this.queryParam.categoryList
+      }
+      this.loading = true
+      getAction(this.url.list, formData).then((res) => {
+        if (res.success) {
+          // console.log(res)
+          //update-begin---author:zhangyafei    Date:20201118  for锛氶�傞厤涓嶅垎椤电殑鏁版嵁鍒楄〃------------
+          this.todoList = res.result.records || res.result
+          if (res.result.total) {
+            this.ipagination.total = res.result.total
+          } else {
+            this.ipagination.total = 0
+          }
+          if (this.selectedRowKeys.length > 0) this.selectedRowKeys = this.selectionRows = []
+          //update-end---author:zhangyafei    Date:20201118  for锛氶�傞厤涓嶅垎椤电殑鏁版嵁鍒楄〃------------
+        } else {
+          this.$message.warning(res.message)
+        }
+      }).finally(() => {
+        this.loading = false
+      })
+    },
+
+    handelDetail(item, index) {
+      console.log('鐐瑰嚮浜嗚鎯�')
+      console.log('item----->', item)
+      console.log('index----->', index)
+      let processType = this.splitAprocessType(item.category)
+      console.log('processType--->', processType)
+      switch (processType) {
+        case 'drApproval':
+          this.handDrDetial(item)
+          break
+        case 'ggApproval':
+          this.handDispatchFileDetial(item)
+          break
+        case 'ncFileSettingProcessApproval':
+          this.handStandardizedDetial(item)
+          break
+        case 'sbdjApproval':
+          this.handInspectionOrder(item)
+          break
+        case 'WEEK_MAINTENANCE':
+          this.handleWeekMaintenance(item)
+          break
+        case 'eam_repair':
+          this.handleRepairOrder(item)
+          break
+        case 'equipment_lean_out':
+          this.handleEquipmentLeanOut(item)
+          break
+        case 'equipment_return':
+          this.handleEquipmentReturn(item)
+          break
+        case 'second_maintenance':
+          this.handleSecondMaintenance(item)
+          break
+        case 'third_maintenance':
+          this.handleThirdMaintenance(item)
+          break
+        case 'toolOutStorageApproval':
+          this.handleToolOutStorageApproval(item)
+          break
+        case 'toolsStocktakingBoundApproval':
+          this.handleToolStocktakingApproval(item)
+          break
+        case 'toolsLossApproval':
+          this.handleToolLossApproval(item)
+          break
+        case 'equipment_seal_up':
+          this.handleEquipmentSealUp(item)
+          break
+        case 'equipment_unseal':
+          this.handleEquipmentUnSeal(item)
+          break
+        case 'toolInStorageApproval':
+          this.handleToolInStorage(item)
+          break
+        case 'equipment_transfer':
+          this.handleEquipmentTransfer(item)
+          break
+        case 'equipment_scrap':
+          this.handleEquipmentScrap(item)
+          break
+        case 'spare_part_apply':
+          this.handleSparePartApplyApproval(item)
+          break
+        case 'programConfirmApproval':
+          this.handleGuideCardApproval(item)
+          break
+        case 'equipmentAssignProductApproval':
+          this.handleEquipmentAssignProductApproval(item)
+          break
+        default:
+          alert('娌℃壘鍒拌娴佺▼')
+      }
+    },
+
+    batchHandle() {
+      const categorySet = new Set(this.selectionRows.map(item => item.category))
+      const nameSet = new Set(this.selectionRows.map(item => item.name))
+      if (categorySet.size !== 1 || nameSet.size !== 1) {
+        this.$notification.info({
+          message: '娑堟伅',
+          description: '璇烽�夋嫨鍚屼竴娴佺▼鍒嗙被涓嬬殑鍚屼竴褰撳墠鑺傜偣'
+        })
+        return
+      }
+
+      if (categorySet.has('eam_repair')) {
+        this.$notification.info({
+          message: '娑堟伅',
+          description: '璁惧缁翠慨娴佺▼鏃犳硶鎵归噺澶勭悊'
+        })
+        return
+      }
+
+      if (categorySet.has('sbdjApproval')) {
+        this.$refs.inspectionOrderBatchHandleRef.visible = true
+        this.$refs.inspectionOrderBatchHandleRef.title = this.selectionRows[0].name
+        this.$refs.inspectionOrderBatchHandleRef.getAllApproveData(this.selectionRows[0])
+        this.$refs.inspectionOrderBatchHandleRef.getBasicInformation(this.selectionRows[0])
+      } else if (categorySet.has('WEEK_MAINTENANCE')) {
+        this.$refs.weenMaintenanceBatchApprovalModalRef.handleDetail(this.selectionRows[0])
+        this.$refs.weenMaintenanceBatchApprovalModalRef.title = this.selectionRows[0].name
+      } else if (categorySet.has('ggApproval')) {
+        let ids = ''
+        for (let 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
+            })
+          }
+        })
+      }
+    },
+
+    splitAprocessType(title) {
+      let parts = title.split('锛�') // 娉ㄦ剰鍐掑彿鏄叏瑙掑瓧绗︼紝浣跨敤瀵瑰簲鐨勫瓧杩涜鍒嗗壊
+      let result = parts[0]
+      return result
+    },
+    //DNC-鎸囨淳NC绋嬪簭鑷宠澶�
+    handDrDetial(item) {
+      this.selectShenpiData = item
+      this.$refs.modalFormApproval.clearTableSource()
+      this.$refs.modalFormApproval.getAllApproveData(item)
+    },
+    //DNC-NC绋嬪簭绛炬淳
+    handDispatchFileDetial(item) {
+      console.log('item----->', item)
+      this.selectDispatchFileXqData = item
+      this.$refs.modalFormDispatchFileXq.clearTableSource()
+      this.$refs.modalFormDispatchFileXq.getAllApproveData(item)
+    },
+    //DNC-瀹氬瀷瀹℃壒椤甸潰
+    handStandardizedDetial(item) {
+      this.selectDispatchFileXqData = item
+      this.$refs.StandardizedProcessHandle.clearTableSource()
+      this.$refs.StandardizedProcessHandle.getAllApproveData(item)
+    },
+
+    handInspectionOrder(record) {
+      console.log('record----->', record)
+      this.selectInspectionOrderData = Object.assign({}, record)
+      this.$refs.modalFormInspectionOrder.visible = true
+      this.$refs.modalFormInspectionOrder.title = record.name
+      this.$refs.modalFormInspectionOrder.getAllApproveData(record)
+      this.$refs.modalFormInspectionOrder.getBasicInformation(record)
+    },
+
+    handleWeekMaintenance(item) {
+      if (item && item.dataId) {
+        this.selectWeekMaintenanceData = Object.assign({}, item)
+        this.$refs.weekMaintenanceApprovalModal.handleDetail(item)
+        this.$refs.weekMaintenanceApprovalModal.title = item.name
+        this.$refs.weekMaintenanceApprovalModal.disableSubmit = false
+      }
+    },
+
+    /**
+     * 鐐瑰嚮璁惧缁翠慨鍒嗙被娴佺▼璇︽儏鏃惰Е鍙�
+     * @param record
+     */
+    handleRepairOrder(record) {
+      this.selectRepairOrderData = Object.assign({}, record)
+      this.$refs.repairOrderApprovalModal.visible = true
+      this.$refs.repairOrderApprovalModal.title = record.name
+      this.$refs.repairOrderApprovalModal.getAllApproveData(record)
+      this.$refs.repairOrderApprovalModal.getBasicInformation(record)
+    },
+    handleEquipmentLeanOut(item) {
+      this.$refs.equipmentLeanOutApprovalModelRef.visible = true
+      this.$refs.equipmentLeanOutApprovalModelRef.title = item.name
+      this.$refs.equipmentLeanOutApprovalModelRef.handleDetail(item)
+      this.$refs.equipmentLeanOutApprovalModelRef.disableSubmit = false
+    },
+    handleEquipmentReturn(item) {
+      this.$refs.equipmentReturnApprovalModelRef.visible = true
+      this.$refs.equipmentReturnApprovalModelRef.title = item.name
+      this.$refs.equipmentReturnApprovalModelRef.handleDetail(item)
+      this.$refs.equipmentReturnApprovalModelRef.disableSubmit = false
+    },
+    handleSecondMaintenance(item) {
+      if (item && item.dataId) {
+        this.selectSecondMaintenanceData = Object.assign({}, item)
+        this.$refs.secondMaintenanceApprovalModal.handleDetail(item)
+        this.$refs.secondMaintenanceApprovalModal.title = item.name
+        this.$refs.secondMaintenanceApprovalModal.disableSubmit = false
+      }
+    },
+    handleThirdMaintenance(item) {
+      if (item && item.dataId) {
+        this.selectThirdMaintenanceData = Object.assign({}, item)
+        this.$refs.thirdMaintenanceApprovalModal.handleDetail(item)
+        this.$refs.thirdMaintenanceApprovalModal.title = item.name
+        this.$refs.thirdMaintenanceApprovalModal.disableSubmit = false
+      }
+    },
+    handleToolOutStorageApproval(item) {
+      if (item && item.dataId) {
+        this.selectOutBoundOrderData = Object.assign({}, item)
+        this.$refs.outBoundOrderHandle.auditVisible = true
+        this.$refs.outBoundOrderHandle.clearTableSource()
+        this.$refs.outBoundOrderHandle.getAllApproveData(item)
+      }
+    },
+    handleToolStocktakingApproval(item) {
+      if (item && item.dataId) {
+        this.selectStocktakingBoundOrderData = Object.assign({}, item)
+        this.$refs.stocktakingBoundHandle.auditVisible = true
+        this.$refs.stocktakingBoundHandle.clearTableSource()
+        this.$refs.stocktakingBoundHandle.getAllApproveData(item)
+      }
+    },
+    handleToolLossApproval(item) {
+      if (item && item.dataId) {
+        this.selectLossBoundOrderData = Object.assign({}, item)
+        this.$refs.lossBoundHandle.auditVisible = true
+        this.$refs.lossBoundHandle.clearTableSource()
+        this.$refs.lossBoundHandle.getAllApproveData(item)
+      }
+    },
+
+    handleEquipmentSealUp(item) {
+      this.$refs.equipmentSealUpApprovalModelRef.visible = true
+      this.$refs.equipmentSealUpApprovalModelRef.title = item.name
+      this.$refs.equipmentSealUpApprovalModelRef.handleDetail(item)
+      this.$refs.equipmentSealUpApprovalModelRef.disableSubmit = false
+    },
+
+    handleEquipmentUnSeal(item) {
+      this.$refs.equipmentSealUpApprovalModelRef.visible = true
+      this.$refs.equipmentSealUpApprovalModelRef.title = item.name
+      this.$refs.equipmentSealUpApprovalModelRef.handleDetail(item)
+      this.$refs.equipmentSealUpApprovalModelRef.disableSubmit = false
+    },
+    handleToolInStorage(item) {
+      if (item && item.dataId) {
+        this.selectInboundOrderData = Object.assign({}, item)
+        this.$refs.inboundOrderApprovalModal.auditVisible = true
+        this.$refs.inboundOrderApprovalModal.clearTableSource()
+        this.$refs.inboundOrderApprovalModal.getAllApproveData(item)
+      }
+    },
+    handleEquipmentTransfer(item) {
+      this.$refs.equipmentTransferApprovalModelRef.visible = true
+      this.$refs.equipmentTransferApprovalModelRef.title = item.name
+      this.$refs.equipmentTransferApprovalModelRef.handleDetail(item)
+      this.$refs.equipmentTransferApprovalModelRef.disableSubmit = false
+    },
+    handleEquipmentScrap(item) {
+      this.$refs.equipmentScrapApprovalModelRef.visible = true
+      this.$refs.equipmentScrapApprovalModelRef.title = item.name
+      this.$refs.equipmentScrapApprovalModelRef.handleDetail(item)
+      this.$refs.equipmentScrapApprovalModelRef.disableSubmit = false
+    },
+    handleSparePartApplyApproval(item) {
+      if (item && item.dataId) {
+        debugger
+        this.selectSparePartApplyData = Object.assign({}, item)
+        this.$refs.sparePartApplyModal.auditVisible = true
+        this.$refs.sparePartApplyModal.clearTableSource()
+        this.$refs.sparePartApplyModal.getAllApproveData(item)
+      }
+    },
+    //DNC-绋嬪簭纭琛ㄦ祦绋�
+    handleGuideCardApproval(item) {
+      console.log('item----->', item)
+      this.selectGuideCardData = item
+      this.$refs.guideCardBatchHandle.clearTableSource()
+      this.$refs.guideCardBatchHandle.getAllApproveData(item)
+    },
+    //DNC-璁惧缁撴瀯鏍戞寚娲句骇鍝佺粨鏋勬爲
+    handleEquipmentAssignProductApproval(item) {
+      console.log('item----->', item)
+      this.selectEquipmentSealUpData = item
+      this.$refs.assignEquipmentFileStreamHandle.clearTableSource()
+      this.$refs.assignEquipmentFileStreamHandle.getAllApproveData(item)
+    }
+  }
+};
+</script>
+<style scoped>
+.todo-container {
+  width: 100%;
+  margin: 0;
+  box-sizing: border-box;
+  /* 鏂板锛氳缃鍣ㄦ渶澶ч珮搴︼紙鍙牴鎹〉闈㈠竷灞�璋冩暣锛屽500px/80vh锛� */
+  max-height: 80vh;
+  /* 鏂板锛氬瀭鐩存柟鍚戞孩鍑烘椂鏄剧ず婊氬姩鏉★紝姘村钩鏂瑰悜婧㈠嚭闅愯棌锛堥伩鍏嶅竷灞�閿欎贡锛� */
+  overflow-y: auto;
+  overflow-x: hidden;
+  /* 鍙�夛細娣诲姞婊氬姩鏉℃牱寮忎紭鍖栵紙閫傞厤Chrome/Safari锛屽彲閫夛級 */
+  &::-webkit-scrollbar {
+    width: 6px; /* 婊氬姩鏉″搴� */
+  }
+  &::-webkit-scrollbar-thumb {
+    background-color: #e5e7eb; /* 婊氬姩鏉℃粦鍧楅鑹� */
+    border-radius: 3px; /* 婊氬姩鏉″渾瑙� */
+  }
+  &::-webkit-scrollbar-track {
+    background-color: #f9fafb; /* 婊氬姩鏉¤建閬撻鑹� */
+  }
+}
+
+.todo-item {
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+  padding: 15px 20px;
+  border-bottom: 1px solid #eee;
+  position: relative;
+  min-width: 300px;
+  box-sizing: border-box;
+  cursor: pointer;
+}
+.todo-title {
+  flex: 1;
+  margin-right: 15px;
+}
+.todo-info {
+  display: flex;
+  flex-direction: column;
+  align-items: flex-end;
+  min-width: 120px;
+}
+.todo-node {
+  margin-bottom: 5px;
+  white-space: nowrap;
+}
+.el-dropdown {
+  width: 100%;
+}
+.el-dropdown-menu {
+  min-width: 200px;
+  align-items: center;
+}
+</style>
diff --git a/src/views/dnc/base/modules/ProductStructure/GuideCardBatch/GuideCardBatchEditForm.vue b/src/views/dnc/base/modules/ProductStructure/GuideCardBatch/GuideCardBatchEditForm.vue
index 905db06..9e97310 100644
--- a/src/views/dnc/base/modules/ProductStructure/GuideCardBatch/GuideCardBatchEditForm.vue
+++ b/src/views/dnc/base/modules/ProductStructure/GuideCardBatch/GuideCardBatchEditForm.vue
@@ -9,6 +9,21 @@
             </a-form-model-item>
           </a-col>
           <a-col :span="24">
+            <a-form-model-item label="鍔犲伐鎵规" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="processingBatch">
+              <a-input v-model="model.processingBatch" placeholder="璇疯緭鍏ュ姞宸ユ壒娆�"  ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label="鍔犲伐鏁伴噺" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="processingQuantity">
+              <a-input-number v-model="model.processingQuantity" placeholder="璇疯緭鍏ュ姞宸ユ暟閲�" :min="1" style="width: 100%"/>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label="鍔犲伐璁惧" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="processingEquipment">
+              <a-input v-model="model.processingEquipment" placeholder="璇疯緭鍏ュ姞宸ヨ澶�"  ></a-input>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
             <a-form-model-item label="鍥剧墖" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="picture">
               <j-image-upload  :number="1" v-model="model.picture" ></j-image-upload>
             </a-form-model-item>
@@ -61,6 +76,15 @@
            picture: [
               { required: true, message: '璇疯緭鍏ュ浘鐗�!'},
            ],
+           processingBatch: [
+              { required: true, message: '璇疯緭鍏ュ姞宸ユ壒娆�!'},
+           ],
+           processingQuantity: [
+              { required: true, message: '璇疯緭鍏ュ姞宸ユ暟閲�!'},
+           ],
+           processingEquipment: [
+              { required: true, message: '璇疯緭鍏ュ姞宸ヨ澶�!'},
+           ],
            remake: [
               { required: true, message: '璇疯緭鍏ヨ鏄庝俊鎭�!'},
            ],
diff --git a/src/views/flowable/workflow/FlowTodo.vue b/src/views/flowable/workflow/FlowTodo.vue
index 456249b..436c14c 100644
--- a/src/views/flowable/workflow/FlowTodo.vue
+++ b/src/views/flowable/workflow/FlowTodo.vue
@@ -352,13 +352,6 @@
     GuideCardBatchHandle,
     AssignEquipmentFileStreamHandle
   },
-  props: {
-    // 娣诲姞榛樿鍒嗙被灞炴��
-    defaultCategories: {
-      type: Array,
-      default: () => []
-    }
-  },
   data() {
     return {
       description: '宸ヤ綔娴�-鎴戠殑寰呭姙',
@@ -472,7 +465,6 @@
       if (arg === 1) {
         this.ipagination.current = 1
       }
-      this.queryParam.categoryList = this.defaultCategories;
       var params = this.getQueryParams()//鏌ヨ鏉′欢
       if (!params) {
         return false

--
Gitblit v1.9.3