From bab64d0b2147a3e619e53d7417e40b5bd45fcfdb Mon Sep 17 00:00:00 2001
From: lyh <925863403@qq.com>
Date: 星期三, 19 三月 2025 13:43:47 +0800
Subject: [PATCH] 修改产品结构树 增加流程修改

---
 src/views/dnc/base/modules/ProductStructure/ProcessStep/ProcessStepInfo.vue      |    1 
 src/views/dnc/base/modules/ProductStructure/Process/ProcessInfo.vue              |    1 
 src/views/dnc/base/modules/ProductStructure/Component/ComponentInfo.vue          |    2 
 src/views/dnc/base/modules/ProductStructure/Process/ProcessModalForm.vue         |    8 
 /dev/null                                                                        |  185 -------------
 src/views/flowable/workflow/FlowLedger.vue                                       |  100 +++---
 src/views/dnc/base/modules/ProductStructure/Component/ComponentModalForm.vue     |    4 
 src/views/flowable/workflow/FlowNcZpi.vue                                        |   19 +
 src/views/dnc/base/NcDeviceCharactersList.vue                                    |   25 +
 src/views/dnc/base/modules/NcDeviceCharacters/NcDeviceCharactersForm.vue         |    3 
 src/views/dnc/base/modules/ProductStructure/Part/PartInfo.vue                    |    2 
 src/views/dnc/base/modules/ProductStructure/Part/PartModalForm.vue               |    4 
 src/views/flowable/workflow/FlowXq.vue                                           |  385 +++++++++++++++++++++++++++
 src/views/dnc/base/modules/ProductStructure/ProcessStep/ProcessStepModalForm.vue |    8 
 src/views/flowable/workflow/FlowCompleted.vue                                    |   24 
 src/views/flowable/workflow/FlowTodo.vue                                         |   11 
 src/views/flowable/modeler/modelerDesign.vue                                     |   22 
 17 files changed, 516 insertions(+), 288 deletions(-)

diff --git a/src/views/dnc/base/ActivitiSingExamineList.vue b/src/views/dnc/base/ActivitiSingExamineList.vue
deleted file mode 100644
index 339f57a..0000000
--- a/src/views/dnc/base/ActivitiSingExamineList.vue
+++ /dev/null
@@ -1,203 +0,0 @@
-<!--
- Description: NC绋嬪簭绛炬淳娴佺▼閰嶇疆 List
- Author: 浣滆�� liuyh
- Date:   2025-01-15
--->
-<template>
-  <a-card :bordered="false">
-    <!-- 鏌ヨ鍖哄煙 -->
-    <div class="table-page-search-wrapper">
-      <a-form layout="inline" @keyup.enter.native="searchQuery">
-        <a-row :gutter="24">
-          <a-col :xl="6" :lg="7" :md="8" :sm="24">
-            <a-form-item label="娴佺▼鍚嶇О">
-              <a-input placeholder="杈撳叆娴佺▼鍚嶇О" v-model="queryParam.actName"></a-input>
-            </a-form-item>
-          </a-col>
-          <a-col :xl="6" :lg="7" :md="8" :sm="24">
-            <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
-              <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>
-              <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">閲嶇疆</a-button>
-            </span>
-          </a-col>
-        </a-row>
-      </a-form>
-    </div>
-    <!-- 鏌ヨ鍖哄煙-END -->
-
-    <!-- 鎿嶄綔鎸夐挳鍖哄煙 -->
-    <div class="table-operator">
-      <a-button @click="handleAdd" type="primary" icon="plus">鏂板</a-button>
-    </div>
-
-    <!-- table鍖哄煙-begin -->
-    <div>
-
-      <a-table
-        ref="table"
-        size="middle"
-        :scroll="{x:true}"
-        bordered
-        rowKey="id"
-        :columns="columns"
-        :dataSource="dataSource"
-        :pagination="ipagination"
-        :loading="loading"
-        class="j-table-force-nowrap"
-        @change="handleTableChange">
-
-        <template slot="htmlSlot" slot-scope="text">
-          <div v-html="text"></div>
-        </template>
-        <template slot="imgSlot" slot-scope="text">
-          <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犲浘鐗�</span>
-          <img v-else :src="getImgView(text)" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/>
-        </template>
-        <template slot="fileSlot" slot-scope="text">
-          <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犳枃浠�</span>
-          <a-button
-            v-else
-            :ghost="true"
-            type="primary"
-            icon="download"
-            size="small"
-            @click="downloadFile(text)">
-            涓嬭浇
-          </a-button>
-        </template>
-
-        <span slot="action" slot-scope="text, record">
-          <a @click="handleEdit(record)">缂栬緫</a>
-          <a-divider type="vertical" />
-          <a-dropdown>
-            <a class="ant-dropdown-link">鏇村
-              <a-icon type="down" />
-            </a>
-            <a-menu slot="overlay">
-              <a-menu-item>
-                <a @click="handleDetail(record)">璇︽儏</a>
-              </a-menu-item>
-              <a-menu-item>
-                <a-popconfirm
-                  title="纭畾鍒犻櫎鍚�?"
-                  @confirm="() => handleDelete(record.id)"
-                >
-                  <a>鍒犻櫎</a>
-                </a-popconfirm>
-              </a-menu-item>
-            </a-menu>
-          </a-dropdown>
-        </span>
-      </a-table>
-    </div>
-
-
-    <ActivitiSignExamineModal ref="modalForm" @ok="modalFormOk"></ActivitiSignExamineModal>
-
-  </a-card>
-</template>
-
-<script>
-
-import '@assets/less/TableExpand.less'
-import { mixinDevice } from '@/utils/mixin'
-import { JeecgListMixin } from '@/mixins/JeecgListMixin'
-import JDictSelectTag from '@comp/dict/JDictSelectTag.vue'
-import ActivitiSignExamineModal from './modules/ActivitiSingExamine/ActivitiSignExamineModal__Style#Drawer.vue'
-
-export default {
-  name: 'AssignApproveUser',
-  mixins:[JeecgListMixin, mixinDevice],
-  components: {
-    JDictSelectTag,
-    ActivitiSignExamineModal
-  },
-  data () {
-    return {
-      description: 'NC绋嬪簭绛炬淳娴佺▼閰嶇疆',
-      // 琛ㄥご
-      columns: [
-        {
-          title: '搴忓彿',
-          dataIndex: '',
-          key:'rowIndex',
-          width:200,
-          align:"center",
-          customRender:function (t,r,index) {
-            return parseInt(index)+1;
-          }
-        },
-        {
-          title: '娴佺▼鍚嶇О',
-          align: "center",
-          dataIndex: 'actName',
-          width: 200,
-        },
-        {
-          title: '鎵�灞炶溅闂�',
-          align: "center",
-          dataIndex: 'departId_dictText',
-          width: 220,
-        },
-        {
-          title: '鏍″浜哄憳',
-          align: "center",
-          dataIndex: 'proofreaderUser_dictText',
-          width: 250,
-        },
-        {
-          title: '鎵瑰噯浜哄憳',
-          align: "center",
-          dataIndex: 'approveUser_dictText',
-          width: 250,
-        },
-        {
-          title: '璇曞垏浜哄憳',
-          align: "center",
-          dataIndex: 'cutterUser_dictText',
-          width: 250,
-        },
-        {
-          title: '瀹氬瀷浜哄憳',
-          align: "center",
-          dataIndex: 'typecastUser_dictText',
-          width: 250,
-        },
-        {
-          title: '鎿嶄綔鏃堕棿',
-          align: "center",
-          dataIndex: 'createTime',
-          width:300
-        },
-        {
-          title: '鎿嶄綔',
-          dataIndex: 'action',
-          scopedSlots: { customRender: 'action' },
-          align: 'center',
-          width: 200,
-          fixed: 'right'
-        }
-      ],
-      url: {
-        list: "/nc/activitiSignExamine/find/page",
-        delete: "/nc/activitiSignExamine/delete",
-      },
-      dictOptions:{},
-    }
-  },
-  created() {
-  },
-  computed: {
-    importExcelUrl: function(){
-      return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
-    },
-  },
-  methods: {
-    initDictConfig(){
-    }
-  }
-}
-</script>
-<style scoped>
-@import '~@assets/less/common.less';
-</style>
\ No newline at end of file
diff --git a/src/views/dnc/base/AssignApproveUserList.vue b/src/views/dnc/base/AssignApproveUserList.vue
deleted file mode 100644
index d91f545..0000000
--- a/src/views/dnc/base/AssignApproveUserList.vue
+++ /dev/null
@@ -1,185 +0,0 @@
-<!--
- Description: 娴佺▼閰嶇疆绠$悊椤甸潰 List
- Author: 浣滆�� liuyh
- Date:   2025-01-15
--->
-<template>
-  <a-card :bordered="false">
-    <!-- 鏌ヨ鍖哄煙 -->
-    <div class="table-page-search-wrapper">
-      <a-form layout="inline" @keyup.enter.native="searchQuery">
-        <a-row :gutter="24">
-          <a-col :xl="6" :lg="7" :md="8" :sm="24">
-            <a-form-item label="娴佺▼鍚嶇О">
-              <a-input placeholder="杈撳叆娴佺▼鍚嶇О" v-model="queryParam.actName"></a-input>
-            </a-form-item>
-          </a-col>
-          <a-col :xl="6" :lg="7" :md="8" :sm="24">
-            <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
-              <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>
-              <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">閲嶇疆</a-button>
-            </span>
-          </a-col>
-        </a-row>
-      </a-form>
-    </div>
-    <!-- 鏌ヨ鍖哄煙-END -->
-
-    <!-- 鎿嶄綔鎸夐挳鍖哄煙 -->
-    <div class="table-operator">
-      <a-button @click="handleAdd" type="primary" icon="plus">鏂板</a-button>
-    </div>
-
-    <!-- table鍖哄煙-begin -->
-    <div>
-
-      <a-table
-        ref="table"
-        size="middle"
-        :scroll="{x:true}"
-        bordered
-        rowKey="id"
-        :columns="columns"
-        :dataSource="dataSource"
-        :pagination="ipagination"
-        :loading="loading"
-        class="j-table-force-nowrap"
-        @change="handleTableChange">
-
-        <template slot="htmlSlot" slot-scope="text">
-          <div v-html="text"></div>
-        </template>
-        <template slot="imgSlot" slot-scope="text">
-          <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犲浘鐗�</span>
-          <img v-else :src="getImgView(text)" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/>
-        </template>
-        <template slot="fileSlot" slot-scope="text">
-          <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犳枃浠�</span>
-          <a-button
-            v-else
-            :ghost="true"
-            type="primary"
-            icon="download"
-            size="small"
-            @click="downloadFile(text)">
-            涓嬭浇
-          </a-button>
-        </template>
-
-        <span slot="action" slot-scope="text, record">
-          <a @click="handleEdit(record)">缂栬緫</a>
-          <a-divider type="vertical" />
-          <a-dropdown>
-            <a class="ant-dropdown-link">鏇村
-              <a-icon type="down" />
-            </a>
-            <a-menu slot="overlay">
-              <a-menu-item>
-                <a @click="handleDetail(record)">璇︽儏</a>
-              </a-menu-item>
-              <a-menu-item>
-                <a-popconfirm
-                  title="纭畾鍒犻櫎鍚�?"
-                  @confirm="() => handleDelete(record.id)"
-                >
-                  <a>鍒犻櫎</a>
-                </a-popconfirm>
-              </a-menu-item>
-            </a-menu>
-          </a-dropdown>
-        </span>
-      </a-table>
-    </div>
-
-
-    <AssignApproveUserModal ref="modalForm" @ok="modalFormOk"></AssignApproveUserModal>
-
-  </a-card>
-</template>
-
-<script>
-
-import '@assets/less/TableExpand.less'
-import { mixinDevice } from '@/utils/mixin'
-import { JeecgListMixin } from '@/mixins/JeecgListMixin'
-import JDictSelectTag from '@comp/dict/JDictSelectTag.vue'
-import AssignApproveUserModal from './modules/AssignApproveUser/AssignApproveUserModal__Style#Drawer.vue'
-
-export default {
-  name: 'AssignApproveUser',
-  mixins:[JeecgListMixin, mixinDevice],
-  components: {
-    JDictSelectTag,
-    AssignApproveUserModal
-  },
-  data () {
-    return {
-      description: '娴佺▼閰嶇疆绠$悊椤甸潰',
-      // 琛ㄥご
-      columns: [
-        {
-          title: '搴忓彿',
-          dataIndex: '',
-          key:'rowIndex',
-          width:200,
-          align:"center",
-          customRender:function (t,r,index) {
-            return parseInt(index)+1;
-          }
-        },
-        {
-          title: '娴佺▼鍚嶇О',
-          align: "center",
-          dataIndex: 'actName',
-          width: 200,
-        },
-        {
-          title: '鎵�灞炶溅闂�',
-          align: "center",
-          dataIndex: 'departId_dictText',
-          width: 220,
-        },
-        {
-          title: '瀹℃壒浜�',
-          align: "center",
-          dataIndex: 'approveUsers_dictText',
-          width: 250,
-        },
-        {
-          title: '鎿嶄綔鏃堕棿',
-          align: "center",
-          dataIndex: 'createTime',
-          width:300
-        },
-        {
-          title: '鎿嶄綔',
-          dataIndex: 'action',
-          scopedSlots: { customRender: 'action' },
-          align: 'center',
-          width: 200,
-          fixed: 'right'
-        }
-      ],
-      url: {
-        list: "/nc/definition/find/page",
-        delete: "/nc/definition/delete",
-      },
-      dictOptions:{},
-    }
-  },
-  created() {
-  },
-  computed: {
-    importExcelUrl: function(){
-      return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
-    },
-  },
-  methods: {
-    initDictConfig(){
-    }
-  }
-}
-</script>
-<style scoped>
-@import '~@assets/less/common.less';
-</style>
\ No newline at end of file
diff --git a/src/views/dnc/base/NcDeviceCharactersList.vue b/src/views/dnc/base/NcDeviceCharactersList.vue
index 76136bf..f21099e 100644
--- a/src/views/dnc/base/NcDeviceCharactersList.vue
+++ b/src/views/dnc/base/NcDeviceCharactersList.vue
@@ -20,9 +20,11 @@
             </a-form-item>
           </a-col>
           <template v-if="toggleSearchStatus">
-            <a-col :xl="6" :lg="7" :md="8" :sm="24">
-              <a-form-item label="閮ㄩ棬鍒嗙粍">
-                <j-dict-select-tag v-model="queryParam.departId" placeholder="璇烽�夋嫨閮ㄩ棬鍒嗙粍" dictCode="sys_department,depart_name,depart_id"/>
+            <a-col :md="4" :sm="4">
+              <a-form-item label="杞﹂棿鍚嶇О">
+                <!--<a-input placeholder="璇疯緭鍏ヨ溅闂村悕绉�" v-model="queryParam.productionName"></a-input>-->
+                <a-tree-select v-model="queryParam.departId" :treeData="workshopTreeData" placeholder="璇烽�夋嫨杞﹂棿"
+                               :treeDefaultExpandedKeys="treeDefaultExpandedKeys"></a-tree-select>
               </a-form-item>
             </a-col>
             <a-col :xl="6" :lg="7" :md="8" :sm="24">
@@ -129,6 +131,7 @@
 import { JeecgListMixin } from '@/mixins/JeecgListMixin'
 import JDictSelectTag from '@/components/dict/JDictSelectTag.vue'
 import NcDeviceCharactersModal from './modules/NcDeviceCharacters/NcDeviceCharactersModal__Style#Drawer.vue'
+import { queryProductionTreeList } from '@api/api'
 
 export default {
   name: 'NcDeviceCharactersList',
@@ -199,9 +202,12 @@
         importExcelUrl: "mdc/mdcDriveTypeParamConfig/importExcel",
       },
       dictOptions:{},
+      workshopTreeData: [],
+      treeDefaultExpandedKeys: []
     }
   },
   created() {
+    this.getWorkshopListByApi()
   },
   computed: {
     importExcelUrl: function(){
@@ -210,7 +216,18 @@
   },
   methods: {
     initDictConfig(){
-    }
+    },
+    /**
+     * 璋冪敤鎺ュ彛鑾峰彇鏌ヨ鍖哄煙杞﹂棿鏍戝垪琛�
+     */
+    getWorkshopListByApi() {
+      queryProductionTreeList().then(res => {
+        if (res.success) {
+          this.workshopTreeData = res.result
+          this.treeDefaultExpandedKeys = [...res.result].map(item => item.key)
+        }
+      })
+    },
   }
 }
 </script>
diff --git a/src/views/dnc/base/modules/NcDeviceCharacters/NcDeviceCharactersForm.vue b/src/views/dnc/base/modules/NcDeviceCharacters/NcDeviceCharactersForm.vue
index 1cffefd..27d0d7f 100644
--- a/src/views/dnc/base/modules/NcDeviceCharacters/NcDeviceCharactersForm.vue
+++ b/src/views/dnc/base/modules/NcDeviceCharacters/NcDeviceCharactersForm.vue
@@ -15,7 +15,6 @@
           </a-col>
           <a-col :span="24">
             <a-form-item label="鎵�灞炶溅闂�" :labelCol="labelCol" :wrapperCol="wrapperCol">
-<!--              <j-dict-select-tag type="list" v-decorator="['departId']" :trigger-change="true" dictCode="sys_department,depart_name,depart_id" placeholder="璇烽�夋嫨鎵�灞為儴闂�"/>-->
               <j-select-equipment-production  v-model="model.departId" :multi="false" @back="backProductionInfo" :backProduction="true" :treeProductOpera="true"></j-select-equipment-production>
             </a-form-item>
           </a-col>
@@ -145,7 +144,7 @@
         this.edit({});
       },
       backProductionInfo(info) {
-        // console.log(info)
+        console.log(info)
         this.model.productionIds = this.model.selectedProduction;
         this.nextProductionOptions = info.map((item,index,arr)=>{
           let c = {label:item.text, value: item.value+""}
diff --git a/src/views/dnc/base/modules/ProductStructure/Component/ComponentInfo.vue b/src/views/dnc/base/modules/ProductStructure/Component/ComponentInfo.vue
index a886650..5cead5e 100644
--- a/src/views/dnc/base/modules/ProductStructure/Component/ComponentInfo.vue
+++ b/src/views/dnc/base/modules/ProductStructure/Component/ComponentInfo.vue
@@ -9,7 +9,7 @@
     <a-descriptions-item label="瑁呴厤绫诲瀷">{{currentLevelDetails.assembleType}}</a-descriptions-item>
     <a-descriptions-item label="鐢熶骇绫诲瀷">{{currentLevelDetails.produceType}}</a-descriptions-item>
     <a-descriptions-item label="澶勭悊绫诲瀷	">{{currentLevelDetails.processType}}</a-descriptions-item>
-    <a-descriptions-item label="缁撴瀯绫诲瀷	">{{currentLevelDetails.structureType}}</a-descriptions-item>
+    <a-descriptions-item label="鏉愯川">{{currentLevelDetails.structureType}}</a-descriptions-item>
     <a-descriptions-item label="閲嶉噺" >{{currentLevelDetails.componentWeight}}</a-descriptions-item>
     <a-descriptions-item label="鍒涘缓浜�">{{currentLevelDetails.createBy_dictText}}</a-descriptions-item>
     <a-descriptions-item label="鍒涘缓鏃堕棿">{{currentLevelDetails.createTime}}</a-descriptions-item>
diff --git a/src/views/dnc/base/modules/ProductStructure/Component/ComponentModalForm.vue b/src/views/dnc/base/modules/ProductStructure/Component/ComponentModalForm.vue
index d6097b5..7767d90 100644
--- a/src/views/dnc/base/modules/ProductStructure/Component/ComponentModalForm.vue
+++ b/src/views/dnc/base/modules/ProductStructure/Component/ComponentModalForm.vue
@@ -47,8 +47,8 @@
           </a-form-model-item>
         </a-col>
         <a-col :span="12">
-          <a-form-model-item label="缁撴瀯绫诲瀷">
-            <a-input v-model="model.structureType" placeholder="璇疯緭鍏ョ粨鏋勭被鍨�"></a-input>
+          <a-form-model-item label="鏉愯川">
+            <a-input v-model="model.structureType" placeholder="璇疯緭鍏ユ潗璐�"></a-input>
           </a-form-model-item>
         </a-col>
       </a-row>
diff --git a/src/views/dnc/base/modules/ProductStructure/Part/PartInfo.vue b/src/views/dnc/base/modules/ProductStructure/Part/PartInfo.vue
index 048e7cf..10d8faf 100644
--- a/src/views/dnc/base/modules/ProductStructure/Part/PartInfo.vue
+++ b/src/views/dnc/base/modules/ProductStructure/Part/PartInfo.vue
@@ -9,7 +9,7 @@
     <a-descriptions-item label="瑁呴厤绫诲瀷">{{currentLevelDetails.assembleType}}</a-descriptions-item>
     <a-descriptions-item label="鐢熶骇绫诲瀷">{{currentLevelDetails.produceType}}</a-descriptions-item>
     <a-descriptions-item label="澶勭悊绫诲瀷	">{{currentLevelDetails.processType}}</a-descriptions-item>
-    <a-descriptions-item label="缁撴瀯绫诲瀷	">{{currentLevelDetails.structureType}}</a-descriptions-item>
+    <a-descriptions-item label="鏉愯川">{{currentLevelDetails.structureType}}</a-descriptions-item>
     <a-descriptions-item label="閲嶉噺">{{currentLevelDetails.partsWeight}}</a-descriptions-item>
     <a-descriptions-item label="鍒涘缓浜�">{{currentLevelDetails.createBy_dictText}}</a-descriptions-item>
     <a-descriptions-item label="鍒涘缓鏃堕棿">{{currentLevelDetails.createTime}}</a-descriptions-item>
diff --git a/src/views/dnc/base/modules/ProductStructure/Part/PartModalForm.vue b/src/views/dnc/base/modules/ProductStructure/Part/PartModalForm.vue
index 832042f..751c08a 100644
--- a/src/views/dnc/base/modules/ProductStructure/Part/PartModalForm.vue
+++ b/src/views/dnc/base/modules/ProductStructure/Part/PartModalForm.vue
@@ -47,8 +47,8 @@
           </a-form-model-item>
         </a-col>
         <a-col :span="12">
-          <a-form-model-item label="缁撴瀯绫诲瀷">
-            <a-input v-model="model.structureType" placeholder="璇疯緭鍏ョ粨鏋勭被鍨�"></a-input>
+          <a-form-model-item label="鏉愯川">
+            <a-input v-model="model.structureType" placeholder="璇疯緭鍏ユ潗璐�"></a-input>
           </a-form-model-item>
         </a-col>
       </a-row>
diff --git a/src/views/dnc/base/modules/ProductStructure/Process/ProcessInfo.vue b/src/views/dnc/base/modules/ProductStructure/Process/ProcessInfo.vue
index 264c31b..6c8a182 100644
--- a/src/views/dnc/base/modules/ProductStructure/Process/ProcessInfo.vue
+++ b/src/views/dnc/base/modules/ProductStructure/Process/ProcessInfo.vue
@@ -6,7 +6,6 @@
     <a-descriptions-item label="宸ュ簭绫诲瀷">{{currentLevelDetails.processType}}</a-descriptions-item>
     <a-descriptions-item label="鍔犲伐璁惧鍨嬪彿">{{currentLevelDetails.processingEquipmentModel}}</a-descriptions-item>
     <a-descriptions-item label="鍔犲伐璁惧绫诲瀷">{{currentLevelDetails.processingEquipmentOs}}</a-descriptions-item>
-    <a-descriptions-item label="鍔犲伐璁惧缂栧彿">{{currentLevelDetails.processingEquipmentCode}}</a-descriptions-item>
     <a-descriptions-item label="宸ヨ缂栧彿">{{currentLevelDetails.assembleStep}}</a-descriptions-item>
     <a-descriptions-item label="宸ヨ鍚嶇О">{{currentLevelDetails.assembleName}}</a-descriptions-item>
     <a-descriptions-item label="鍒涘缓浜�">{{currentLevelDetails.createBy_dictText}}</a-descriptions-item>
diff --git a/src/views/dnc/base/modules/ProductStructure/Process/ProcessModalForm.vue b/src/views/dnc/base/modules/ProductStructure/Process/ProcessModalForm.vue
index 25d939d..57e4e6c 100644
--- a/src/views/dnc/base/modules/ProductStructure/Process/ProcessModalForm.vue
+++ b/src/views/dnc/base/modules/ProductStructure/Process/ProcessModalForm.vue
@@ -15,14 +15,6 @@
       </a-row>
 
       <a-row>
-        <a-col :span="24">
-          <a-form-model-item label="鍔犲伐璁惧缂栧彿" :labelCol="labelColLong" :wrapperCol="wrapperColLong">
-            <j-dict-select-tag v-model="model.processingEquipmentCode" placeholder="璇烽�夋嫨鍔犲伐璁惧缂栧彿" dictCode="mdc_equipment,equipment_id,equipment_id"/>
-          </a-form-model-item>
-        </a-col>
-      </a-row>
-
-      <a-row>
         <a-col :span="12">
           <a-form-model-item label="鍔犲伐璁惧鍨嬪彿">
             <a-input v-model="model.processingEquipmentModel" placeholder="璇疯緭鍏ュ姞宸ヨ澶囧瀷鍙�"></a-input>
diff --git a/src/views/dnc/base/modules/ProductStructure/ProcessStep/ProcessStepInfo.vue b/src/views/dnc/base/modules/ProductStructure/ProcessStep/ProcessStepInfo.vue
index 550a750..49fd658 100644
--- a/src/views/dnc/base/modules/ProductStructure/ProcessStep/ProcessStepInfo.vue
+++ b/src/views/dnc/base/modules/ProductStructure/ProcessStep/ProcessStepInfo.vue
@@ -5,7 +5,6 @@
     <a-descriptions-item label="宸ユ绫诲瀷">{{currentLevelDetails.stepType}}</a-descriptions-item>
     <a-descriptions-item label="鍔犲伐璁惧鍨嬪彿">{{currentLevelDetails.processingEquipmentModel}}</a-descriptions-item>
     <a-descriptions-item label="鍔犲伐璁惧绫诲瀷">{{currentLevelDetails.processingEquipmentOs}}</a-descriptions-item>
-    <a-descriptions-item label="鍔犲伐璁惧缂栧彿">{{currentLevelDetails.deviceNo}}</a-descriptions-item>
     <a-descriptions-item label="宸ヨ缂栧彿">{{currentLevelDetails.assembleStep}}</a-descriptions-item>
     <a-descriptions-item label="宸ヨ鍚嶇О">{{currentLevelDetails.assembleName}}</a-descriptions-item>
     <a-descriptions-item label="鍒涘缓浜�">{{currentLevelDetails.createBy_dictText}}</a-descriptions-item>
diff --git a/src/views/dnc/base/modules/ProductStructure/ProcessStep/ProcessStepModalForm.vue b/src/views/dnc/base/modules/ProductStructure/ProcessStep/ProcessStepModalForm.vue
index 63d9a73..9eb2e37 100644
--- a/src/views/dnc/base/modules/ProductStructure/ProcessStep/ProcessStepModalForm.vue
+++ b/src/views/dnc/base/modules/ProductStructure/ProcessStep/ProcessStepModalForm.vue
@@ -15,14 +15,6 @@
       </a-row>
 
       <a-row>
-        <a-col :span="24">
-          <a-form-model-item label="鍔犲伐璁惧缂栧彿" :labelCol="labelColLong" :wrapperCol="wrapperColLong">
-            <j-dict-select-tag v-model="model.deviceNo" placeholder="璇烽�夋嫨鍔犲伐璁惧缂栧彿" dictCode="mdc_equipment,equipment_id,equipment_id"/>
-          </a-form-model-item>
-        </a-col>
-      </a-row>
-
-      <a-row>
         <a-col :span="12">
           <a-form-model-item label="鍔犲伐璁惧鍨嬪彿">
             <a-input v-model="model.processingEquipmentModel" placeholder="璇疯緭鍏ュ姞宸ヨ澶囧瀷鍙�"></a-input>
diff --git a/src/views/flowable/modeler/modelerDesign.vue b/src/views/flowable/modeler/modelerDesign.vue
index a3233e3..673088f 100644
--- a/src/views/flowable/modeler/modelerDesign.vue
+++ b/src/views/flowable/modeler/modelerDesign.vue
@@ -274,17 +274,17 @@
           definition.hasChildren = true
         }
       });
-      // 鎵�鏈�
-      const param2 = Object.assign({
-        isLastVersion:0
-      },this.queryParams,{
-        pageSize: 9999,
-        pageNum:1
-      })
-      listDefinition(param2).then(response => {
-        console.log(response)
-        this.allDefinitionList = response.result.records;
-      });
+      // // 鎵�鏈�
+      // const param2 = Object.assign({
+      //   isLastVersion:0
+      // },this.queryParams,{
+      //   pageSize: 9999,
+      //   pageNum:1
+      // })
+      // listDefinition(param2).then(response => {
+      //   console.log(response)
+      //   this.allDefinitionList = response.result.records;
+      // });
     },
     /** 閲嶇疆鎸夐挳鎿嶄綔 */
     resetQuery() {
diff --git a/src/views/flowable/workflow/FlowCompleted.vue b/src/views/flowable/workflow/FlowCompleted.vue
index 2afd4c8..e83eee4 100644
--- a/src/views/flowable/workflow/FlowCompleted.vue
+++ b/src/views/flowable/workflow/FlowCompleted.vue
@@ -10,16 +10,10 @@
       <a-form layout="inline" @keyup.enter.native="searchQuery">
         <a-row :gutter="24">
           <a-col :xl="6" :lg="7" :md="8" :sm="24">
-            <a-form-item label="娴佺▼鍚嶇О">
-              <a-input placeholder="璇疯緭鍏ユ祦绋嬪悕绉�" v-model="queryParam.deviceNo"></a-input>
+            <a-form-item label="娴佺▼鍒嗙被">
+              <j-dict-select-tag placeholder="璇烽�夋嫨娴佺▼鍒嗙被" v-model="queryParam.category" dictCode="flow_type"></j-dict-select-tag>
             </a-form-item>
           </a-col>
-          <template v-if="toggleSearchStatus">
-            <a-col :xl="6" :lg="7" :md="8" :sm="24">
-              <a-form-item label="娴佺▼鍒嗙被">
-                <j-dict-select-tag v-model="queryParam.departId" placeholder="璇烽�夋嫨娴佺▼鍒嗙被" dictCode="sys_department,depart_name,depart_id"/>
-              </a-form-item>
-            </a-col>
             <a-col :xl="10" :lg="11" :md="12" :sm="24">
               <a-form-item label="鎿嶄綔鏃堕棿">
                 <j-date :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" placeholder="璇烽�夋嫨寮�濮嬫椂闂�" class="query-group-cust" v-model="queryParam.startTime"></j-date>
@@ -27,12 +21,10 @@
                 <j-date :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" placeholder="璇烽�夋嫨缁撴潫鏃堕棿" class="query-group-cust" v-model="queryParam.endTime"></j-date>
               </a-form-item>
             </a-col>
-          </template>
           <a-col :xl="6" :lg="7" :md="8" :sm="24">
             <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
               <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>
               <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">閲嶇疆</a-button>
-              <a @click="handleToggleSearch" style="margin-left: 8px">{{ toggleSearchStatus ? '鏀惰捣' : '灞曞紑' }}<a-icon :type="toggleSearchStatus ? 'up' : 'down'" /></a>
             </span>
           </a-col>
         </a-row>
@@ -83,7 +75,7 @@
       </a-table>
     </div>
 
-    <FlowNcZpi ref="modalFormApproval" :selectShenpiData="selectShenpiData"></FlowNcZpi>
+    <FlowXq ref="modalFormApproval" :selectShenpiData="selectShenpiData"></FlowXq>
 
   </a-card>
 </template>
@@ -94,13 +86,13 @@
 import { mixinDevice } from '@/utils/mixin'
 import { JeecgListMixin } from '@/mixins/JeecgListMixin'
 import JDictSelectTag from '@/components/dict/JDictSelectTag.vue'
-import FlowNcZpi from '@views/flowable/workflow/FlowNcZpi.vue'
+import FlowXq from '@views/flowable/workflow/FlowXq.vue'
 
 export default {
   name: 'NcDeviceCharactersList',
   mixins:[JeecgListMixin, mixinDevice],
   components: {
-    FlowNcZpi,
+    FlowXq,
     JDictSelectTag,
   },
   data () {
@@ -119,6 +111,12 @@
           }
         },
         {
+          title: '娴佺▼鍒嗙被',
+          align: "center",
+          dataIndex: 'category_dictText',
+          width: 200,
+        },
+        {
           title: '娴佺▼鍚嶇О',
           align: "center",
           dataIndex: 'procDefName',
diff --git a/src/views/flowable/workflow/FlowLedger.vue b/src/views/flowable/workflow/FlowLedger.vue
index eeaa7ca..f483a9a 100644
--- a/src/views/flowable/workflow/FlowLedger.vue
+++ b/src/views/flowable/workflow/FlowLedger.vue
@@ -9,40 +9,32 @@
     <div class="table-page-search-wrapper">
       <a-form layout="inline" @keyup.enter.native="searchQuery">
         <a-row :gutter="24">
+        <a-col :xl="6" :lg="7" :md="8" :sm="24">
+          <a-form-item label="娴佺▼鍒嗙被">
+            <j-dict-select-tag placeholder="璇烽�夋嫨娴佺▼鍒嗙被" v-model="queryParam.category" dictCode="flow_type"></j-dict-select-tag>
+          </a-form-item>
+        </a-col>
           <a-col :xl="6" :lg="7" :md="8" :sm="24">
-            <a-form-item label="璁惧缂栧彿">
-              <a-input placeholder="璇疯緭鍏ヨ澶囩紪鍙�" v-model="queryParam.deviceNo"></a-input>
+            <a-form-item label="娴佺▼鍚嶇О">
+              <a-input placeholder="璇疯緭鍏ユ祦绋嬪悕绉�" v-model="queryParam.flowName"></a-input>
             </a-form-item>
           </a-col>
           <a-col :xl="6" :lg="7" :md="8" :sm="24">
-            <a-form-item label="鐗规畩瀛楃">
-              <a-input placeholder="璇疯緭鍏ョ壒娈婂瓧绗�" v-model="queryParam.characters"></a-input>
+            <a-form-item label="绠�瑕佹弿杩�">
+              <a-input placeholder="璇疯緭鍏ョ畝瑕佹弿杩�" v-model="queryParam.title"></a-input>
             </a-form-item>
           </a-col>
-          <template v-if="toggleSearchStatus">
-            <a-col :xl="6" :lg="7" :md="8" :sm="24">
-              <a-form-item label="閮ㄩ棬鍒嗙粍">
-                <j-dict-select-tag v-model="queryParam.departId" placeholder="璇烽�夋嫨閮ㄩ棬鍒嗙粍" dictCode="sys_department,depart_name,depart_id"/>
-              </a-form-item>
-            </a-col>
-            <a-col :xl="6" :lg="7" :md="8" :sm="24">
-              <a-form-item label="鏁版帶绯荤粺">
-                <a-input placeholder="璇疯緭鍏ユ暟鎺х郴缁�" v-model="queryParam.controlSystem"></a-input>
-              </a-form-item>
-            </a-col>
-            <a-col :xl="10" :lg="11" :md="12" :sm="24">
-              <a-form-item label="鎿嶄綔鏃堕棿">
-                <j-date :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" placeholder="璇烽�夋嫨寮�濮嬫椂闂�" class="query-group-cust" v-model="queryParam.startTime"></j-date>
-                <span class="query-group-split-cust"></span>
-                <j-date :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" placeholder="璇烽�夋嫨缁撴潫鏃堕棿" class="query-group-cust" v-model="queryParam.endTime"></j-date>
-              </a-form-item>
-            </a-col>
-          </template>
+        <a-col :xl="10" :lg="11" :md="12" :sm="24">
+          <a-form-item label="鎿嶄綔鏃堕棿">
+            <j-date :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" placeholder="璇烽�夋嫨寮�濮嬫椂闂�" class="query-group-cust" v-model="queryParam.startTime"></j-date>
+            <span class="query-group-split-cust"></span>
+            <j-date :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" placeholder="璇烽�夋嫨缁撴潫鏃堕棿" class="query-group-cust" v-model="queryParam.endTime"></j-date>
+          </a-form-item>
+        </a-col>
           <a-col :xl="6" :lg="7" :md="8" :sm="24">
             <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
               <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>
               <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">閲嶇疆</a-button>
-              <a @click="handleToggleSearch" style="margin-left: 8px">{{ toggleSearchStatus ? '鏀惰捣' : '灞曞紑' }}<a-icon :type="toggleSearchStatus ? 'up' : 'down'" /></a>
             </span>
           </a-col>
         </a-row>
@@ -89,31 +81,13 @@
         </template>
 
         <span slot="action" slot-scope="text, record">
-          <a @click="handleEdit(record)">缂栬緫</a>
-          <a-divider type="vertical" />
-          <a-dropdown>
-            <a class="ant-dropdown-link">鏇村
-              <a-icon type="down" />
-            </a>
-            <a-menu slot="overlay">
-              <a-menu-item>
-                <a @click="handleDetail(record)">璇︽儏</a>
-              </a-menu-item>
-              <a-menu-item>
-                <a-popconfirm
-                  title="纭畾鍒犻櫎鍚�?"
-                  @confirm="() => handleDelete(record.id)"
-                >
-                  <a>鍒犻櫎</a>
-                </a-popconfirm>
-              </a-menu-item>
-            </a-menu>
-          </a-dropdown>
+            <a @click="handelDetial(record,text)">璇︽儏</a>
         </span>
+
       </a-table>
     </div>
 
-
+    <FlowXq ref="modalFormApproval" :selectShenpiData="selectShenpiData"></FlowXq>
 
   </a-card>
 </template>
@@ -124,11 +98,13 @@
 import { mixinDevice } from '@/utils/mixin'
 import { JeecgListMixin } from '@/mixins/JeecgListMixin'
 import JDictSelectTag from '@/components/dict/JDictSelectTag.vue'
+import FlowXq from '@views/flowable/workflow/FlowXq.vue'
 
 export default {
   name: 'NcDeviceCharactersList',
   mixins:[JeecgListMixin, mixinDevice],
   components: {
+    FlowXq,
     JDictSelectTag,
   },
   data () {
@@ -145,6 +121,12 @@
           customRender:function (t,r,index) {
             return parseInt(index)+1;
           }
+        },
+        {
+          title: '娴佺▼鍒嗙被',
+          align: "center",
+          dataIndex: 'category_dictText',
+          width: 200,
         },
         {
           title:'娴佺▼鍚嶇О',
@@ -209,6 +191,7 @@
         list: "nc/assign/flow/list",
       },
       dictOptions:{},
+      selectShenpiData: {},
     }
   },
   created() {
@@ -219,8 +202,31 @@
     },
   },
   methods: {
-    initDictConfig(){
-    }
+    handelDetial(item, index) {
+      console.log('鐐瑰嚮浜嗚鎯�')
+      console.log('item----->', item)
+      console.log('index----->', index)
+      let approcesstype = this.splitAprocessType(item.title)
+      console.log('approcesstype--->', approcesstype)
+      switch (approcesstype) {
+        case '鎸囨淳NC鏂囨。鍒拌澶囨祦绋�':
+          item.description=item.title
+          this.handDrDetial(item)
+          break
+        default:
+          alert('娌℃壘鍒拌瀹℃壒')
+      }
+    },
+    splitAprocessType(title) {
+      let parts = title.split('锛�') // 娉ㄦ剰鍐掑彿鏄叏瑙掑瓧绗︼紝浣跨敤瀵瑰簲鐨勫瓧杩涜鍒嗗壊
+      let result = parts[0]
+      return result
+    },
+    handDrDetial(item) {
+      this.selectShenpiData = item
+      this.$refs.modalFormApproval.clearTableSource()
+      this.$refs.modalFormApproval.getAllApproveData(item)
+    },
   }
 }
 </script>
diff --git a/src/views/flowable/workflow/FlowNcZpi.vue b/src/views/flowable/workflow/FlowNcZpi.vue
index 50c3204..f958e3c 100644
--- a/src/views/flowable/workflow/FlowNcZpi.vue
+++ b/src/views/flowable/workflow/FlowNcZpi.vue
@@ -71,6 +71,18 @@
                   </a-row>
                   <a-row>
                     <a-col :span='span'>
+                      <a-form-model-item label='璁惧绫诲悕绉�' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='deviceManagementCode'>
+                        <a-input :disabled='coldisabled' v-model='tableRowRecord.deviceManagementCode'></a-input>
+                      </a-form-model-item>
+                    </a-col>
+                    <a-col :span='span'>
+                      <a-form-model-item label='璁惧绫诲悕绉�' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='deviceManagementName'>
+                        <a-input :disabled='coldisabled' v-model='tableRowRecord.deviceManagementName'></a-input>
+                      </a-form-model-item>
+                    </a-col>
+                  </a-row>
+                  <a-row>
+                    <a-col :span='span'>
                       <a-form-model-item label='鏂囨。鍚嶇О' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='docName'>
                         <a-input :disabled='coldisabled' v-model='tableRowRecord.docName'></a-input>
                       </a-form-model-item>
@@ -92,7 +104,8 @@
                         <p>缁撴潫鏃堕棿锛歿{item.endTime}}</p>
                         <p>澶勭悊浜猴細{{item.assignee}}</p>
                         <p>鍔炵悊绫诲瀷锛歿{item.bllx_dictText}}</p>
-                        <p>澶勭悊鎰忚锛歿{item.cause}}</p>
+                        <p v-if="item.name == '鎻愪氦鐢宠'">鎸囨淳鍘熷洜锛歿{item.cause}}</p>
+                        <p v-else >澶勭悊鎰忚锛歿{item.cause}}</p>
                         <div  class="left_qiu"><span>{{item.name}}</span></div>
                       </div>
                     </a-timeline-item>
@@ -253,7 +266,9 @@
       console.log('flowData----->', this.flowData)
       try {
         let parm = {
-          taskId: this.flowData.id
+          processDefinitionId: this.flowData.processDefinitionId,
+          processInstanceId:this.flowData.processInstanceId,
+          TaskDefinitionKey:this.flowData.processDefinitionKey
         }
         downFile(this.url.diagramView,parm,'get').then((res=>{
           console.log('Pica------>',res)
diff --git a/src/views/flowable/workflow/FlowTodo.vue b/src/views/flowable/workflow/FlowTodo.vue
index 232354b..83bc4b1 100644
--- a/src/views/flowable/workflow/FlowTodo.vue
+++ b/src/views/flowable/workflow/FlowTodo.vue
@@ -10,6 +10,11 @@
       <a-form layout="inline" @keyup.enter.native="searchQuery">
         <a-row :gutter="24">
           <a-col :xl="6" :lg="7" :md="8" :sm="24">
+            <a-form-item label="娴佺▼鍒嗙被">
+              <j-dict-select-tag placeholder="璇烽�夋嫨娴佺▼鍒嗙被" v-model="queryParam.category" dictCode="flow_type"></j-dict-select-tag>
+            </a-form-item>
+          </a-col>
+          <a-col :xl="6" :lg="7" :md="8" :sm="24">
             <a-form-item label="娴佺▼鍚嶇О">
               <a-input placeholder="璇疯緭鍏ユ祦绋嬪悕绉�" v-model="queryParam.flowName"></a-input>
             </a-form-item>
@@ -121,6 +126,12 @@
           }
         },
         {
+          title: '娴佺▼鍒嗙被',
+          align: "center",
+          dataIndex: 'category_dictText',
+          width: 200,
+        },
+        {
           title: '娴佺▼鍚嶇О',
           align: "center",
           dataIndex: 'flowName',
diff --git a/src/views/flowable/workflow/FlowXq.vue b/src/views/flowable/workflow/FlowXq.vue
new file mode 100644
index 0000000..2a88be5
--- /dev/null
+++ b/src/views/flowable/workflow/FlowXq.vue
@@ -0,0 +1,385 @@
+<template>
+  <a-modal
+    :title="title"
+    :width="width"
+    :visible="visible"
+    :footer="null"
+    @cancel="handCancel"
+  >
+    <a-card :bordered="false">
+      <div>
+        <b>{{ selectShenpiData.description }}</b>
+        <br>
+        <br>
+        <a-tag color="blue">
+          澶勭悊浜� {{ selectShenpiData.assignee }}
+        </a-tag>
+        <a-tag color="blue">
+          鍒涘缓鏃堕棿 {{ selectShenpiData.createTime }}
+        </a-tag>
+        <br>
+        <br>
+        <button @click="fetchAndShowBmp" class="btn-custom">鎵撳紑娴佺▼鍥�</button>
+        <div v-if="imageSrc">
+          <img :src="imageSrc" alt="Fetched Image" />
+        </div>
+        <hr class="shallow-hr">
+      </div>
+      <div>
+        <b>鎸囨淳璇︽儏</b>
+        <br>
+        <a-form :form='form'>
+          <a-spin :spinning="spinning">
+            <a-tabs default-active-key='1' @change='callback'>
+              <a-tab-pane key='1' tab='鍩烘湰淇℃伅'>
+                <a-form-model ref='form' :model='tableRowRecord' :rules='validatorRules'>
+                  <a-row>
+                    <a-col :span='span'>
+                      <a-form-model-item label='浜у搧鍚嶇О' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='productName'>
+                        <a-input :disabled='coldisabled' v-model='tableRowRecord.productName'></a-input>
+                      </a-form-model-item>
+                    </a-col>
+                    <a-col :span='span'>
+                      <a-form-model-item label='閮ㄤ欢鍚嶇О' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='componentId'>
+                        <a-input :disabled='coldisabled' v-model='tableRowRecord.componentName'></a-input>
+                      </a-form-model-item>
+                    </a-col>
+                  </a-row>
+                  <a-row>
+                    <a-col :span='span'>
+                      <a-form-model-item label='闆朵欢鍚嶇О' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='partsName'>
+                        <a-input :disabled='coldisabled' v-model='tableRowRecord.partsName'></a-input>
+                      </a-form-model-item>
+                    </a-col>
+                    <a-col :span='span'>
+                      <a-form-model-item label='宸ュ簭鍚嶇О' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='processName'>
+                        <a-input :disabled='coldisabled' v-model='tableRowRecord.processName'></a-input>
+                      </a-form-model-item>
+                    </a-col>
+                  </a-row>
+                  <a-row>
+                    <a-col :span='span'>
+                      <a-form-model-item label='宸ユ鍚嶇О' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='stepName'>
+                        <a-input :disabled='coldisabled' v-model='tableRowRecord.stepName'></a-input>
+                      </a-form-model-item>
+                    </a-col>
+                    <a-col :span='span'>
+                      <a-form-model-item label='璁惧鍚嶇О' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='deviceName'>
+                        <a-input :disabled='coldisabled' v-model='tableRowRecord.deviceName'></a-input>
+                      </a-form-model-item>
+                    </a-col>
+                  </a-row>
+                  <a-row>
+                    <a-col :span='span'>
+                      <a-form-model-item label='璁惧绫诲悕绉�' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='deviceManagementCode'>
+                        <a-input :disabled='coldisabled' v-model='tableRowRecord.deviceManagementCode'></a-input>
+                      </a-form-model-item>
+                    </a-col>
+                    <a-col :span='span'>
+                      <a-form-model-item label='璁惧绫诲悕绉�' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='deviceManagementName'>
+                        <a-input :disabled='coldisabled' v-model='tableRowRecord.deviceManagementName'></a-input>
+                      </a-form-model-item>
+                    </a-col>
+                  </a-row>
+                  <a-row>
+                    <a-col :span='span'>
+                      <a-form-model-item label='鏂囨。鍚嶇О' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='docName'>
+                        <a-input :disabled='coldisabled' v-model='tableRowRecord.docName'></a-input>
+                      </a-form-model-item>
+                    </a-col>
+                    <a-col :span='span'>
+                      <a-form-model-item label='鏂囨。鐗堟湰' :labelCol='labelCol' :wrapperCol='wrapperCol' prop='version'>
+                        <a-input :disabled='coldisabled' v-model='tableRowRecord.version'></a-input>
+                      </a-form-model-item>
+                    </a-col>
+                  </a-row>
+                </a-form-model>
+              </a-tab-pane>
+              <a-tab-pane key='2' tab='娴佺▼鑺傜偣'>
+                <a-card>
+                  <a-timeline style="padding:0 1% 0 12%" >
+                    <a-timeline-item color='white' v-for="(item,index1) in hitaskDataSource" :key="index1">
+                      <div class="bottom">
+                        <p>寮�濮嬫椂闂达細{{item.startTime}}</p>
+                        <p>缁撴潫鏃堕棿锛歿{item.endTime}}</p>
+                        <p>澶勭悊浜猴細{{item.assignee}}</p>
+                        <p v-if="item.name !== '鎻愪氦鐢宠'">鍔炵悊绫诲瀷锛歿{item.status_dictText}}</p>
+                        <p v-if="item.name === '鎻愪氦鐢宠'">鎸囨淳鍘熷洜锛歿{item.cause}}</p>
+                        <p v-else >澶勭悊鎰忚锛歿{item.cause}}</p>
+                        <div  class="left_qiu"><span>{{item.name}}</span></div>
+                      </div>
+                    </a-timeline-item>
+                  </a-timeline>
+                </a-card>
+              </a-tab-pane>
+            </a-tabs>
+          </a-spin>
+        </a-form>
+      </div>
+    </a-card>
+
+
+  </a-modal>
+</template>
+
+<script>
+
+import '@/assets/less/TableExpand.less'
+import { mixinDevice } from '@/utils/mixin'
+import { getAction, deleteAction, postAction, downFile, httpAction } from '@/api/manage'
+export default {
+  name: 'FlowShenPi',
+  mixins: [mixinDevice],
+  props: {
+    selectShenpiData: {
+      type: Object,
+      required: true
+    }
+  },
+
+  data() {
+    return {
+      form: this.$form.createForm(this),
+      span: 12,
+      span1: 8,
+      coldisabled: true,
+      spinning: false,
+      tableRowRecord: {},
+      assignFileStream:{},
+      tableDataSource: [],
+      usageDataSource: [],
+      hitaskDataSource:[],
+      bomForm: {},
+      approveContent:"",
+      imageSrc: null,
+      drawerVisible: true,
+      labelCol: {
+        xs: { span: 24 },
+        sm: { span: 5 }
+      },
+      wrapperCol: {
+        xs: { span: 30 },
+        sm: { span: 16 }
+      },
+      validatorRules: {
+        version: {
+          rules: [
+            { required: true, message: '璇疯緭鍏ユ枃妗g増鏈�!'},
+          ]
+        },
+        applyUser: {
+          rules: [
+            { required: true, message: '璇烽�夋嫨鐢宠浜�!'},
+          ]
+        },
+        approveContent: {
+          rules: [
+            { required: true, message: '璇疯緭鍏ュ鎵规剰瑙�!'},
+          ]
+        },
+        docName: {
+          rules: [
+            { required: true, message: '璇疯緭鍏ユ枃妗e悕绉�!'},
+          ]
+        },
+        status: {
+          rules: [
+            { required: true, message: '璇烽�夋嫨瀹℃壒鐘舵��!'},
+          ]
+        },
+      },
+      approveData: {},
+      flowData: {},
+      title: '璇︽儏椤甸潰',
+      width: 1000,
+      visible: false,
+      // 琛ㄥご
+      url: {
+        queryBomDataById: '/nc/activit/selectVoById',
+        diagramView: '/nc/assign/flow/diagramView',
+        queryHisTaskList:'/nc/assign/flow/queryHisTaskList',
+        approve:"/nc/activit/assign/file/approve",
+      },
+      dictOptions: {},
+      superFieldList: [],
+      workflowSource: []
+    }
+  },
+  created() {
+  },
+  computed: {},
+  methods: {
+    callback() {
+    },
+    handCancel() {
+      this.visible = false
+    },
+    clearTableSource() {
+      this.tableDataSource = []
+      this.usageDataSource = []
+    },
+    fetchAndShowBmp() {
+      console.log('flowData----->', this.flowData)
+      try {
+        let parm = {
+          processDefinitionId: this.flowData.processDefinitionId,
+          processInstanceId:this.flowData.processInstanceId,
+          TaskDefinitionKey:this.flowData.processDefinitionKey
+        }
+        downFile(this.url.diagramView,parm,'get').then((res=>{
+          console.log('Pica------>',res)
+          const urlObject = window.URL.createObjectURL(new Blob([res]))
+          this.imageSrc = urlObject
+        }))
+      } catch (error) {
+        console.error('Error fetching image blob:', error)
+        alert('鏃犳硶鍔犺浇鍥剧墖锛岃绋嶅悗鍐嶈瘯銆�')
+      }
+    },
+    handleQueXiaoTask(){
+      this.visible = false
+      this.routeReload()
+    },
+    submitForm () {
+      const that = this;
+      if (!that.assignFileStream.status==null || that.assignFileStream.status===undefined){
+        this.$message.warning('璇烽�夋嫨瀹℃壒鐘舵�侊紒')
+        return false;
+      }
+      if (!that.assignFileStream.approveContent==null || that.assignFileStream.approveContent===undefined) {
+        this.$message.warning('璇疯緭鍏ュ鎵规剰瑙侊紒')
+        return false;
+      }
+      // 瑙﹀彂琛ㄥ崟楠岃瘉
+      this.form.validateFields((err, values) => {
+        if (!err) {
+          that.confirmLoading = true;
+          let url=this.url.approve
+          let method = 'post';
+          let flowTaskVo = {}
+          flowTaskVo.status=that.assignFileStream.status;
+          flowTaskVo.approveContent =that.assignFileStream.approveContent;
+          flowTaskVo.comment =that.assignFileStream.approveContent;
+          flowTaskVo.secretLevel = that.assignFileStream.secretLevel;
+          flowTaskVo.dataId = this.selectShenpiData.dataId
+          flowTaskVo.taskId = this.selectShenpiData.id
+          flowTaskVo.userId = this.selectShenpiData.assignee
+          flowTaskVo.instanceId = this.selectShenpiData.procInstId
+          flowTaskVo.targetKey = this.selectShenpiData.taskDefKey
+          flowTaskVo.values = this.selectShenpiData.variables
+          flowTaskVo.assignee = this.selectShenpiData.assignee
+          flowTaskVo.secretLevel = that.assignFileStream.secretLevel;
+          console.log("琛ㄥ崟鎻愪氦鏁版嵁",flowTaskVo)
+          httpAction(url,flowTaskVo,method).then((res)=>{
+            if(res.success){
+              that.$message.success(res.message);
+              that.$emit('ok');
+            }else{
+              that.$message.warning(res.message);
+            }
+          }).finally(() => {
+            that.confirmLoading = false;
+          })
+        }
+
+      })
+    },
+    getAllApproveData(item) {
+      console.log('selectShenpiData----->', this.selectShenpiData)
+      this.flowData = item
+      let param = {
+        'id': item.dataId
+      }
+      let parmhis={
+        'drapprovedataId': item.dataId
+      }
+      getAction(this.url.queryHisTaskList,parmhis).then(res=>{
+        this.hitaskDataSource=res.result
+        getAction(this.url.queryBomDataById, param).then((res => {
+          if (res.success) {
+            this.tableRowRecord = res.result
+            console.log('this.tableRowRecord----->', this.tableRowRecord)
+          }
+        }))
+      }).finally(
+        this.visible = true,
+        console.log('this.approveData---->', this.approveData)
+      )
+    }
+  }
+}
+</script>
+<style scoped>
+.shallow-hr {
+  border: 0;
+  height: 1px; /* 鍒嗙晫绾跨殑楂樺害 */
+  background-color: rgba(0, 0, 0, 0.1); /* 浣跨敤 RGBA 棰滆壊锛屽苟璁剧疆杈冧綆鐨勯�忔槑搴� */
+  margin: 20px 0; /* 鍒嗙晫绾夸笂涓嬬殑澶栬竟璺� */
+}
+.btn-custom {
+  background-color: #4CAF50; /* 缁胯壊鑳屾櫙 */
+  color: white; /* 鐧借壊鏂囧瓧 */
+  border: none; /* 鏃犺竟妗� */
+  padding: 5px 15px; /* 鍐呰竟璺� */
+  text-align: center; /* 鏂囧瓧灞呬腑 */
+  text-decoration: none; /* 鏃犱笅鍒掔嚎 */
+  display: inline-block; /* 琛屽唴鍧楀厓绱� */
+  font-size: 12px; /* 瀛椾綋澶у皬 */
+  margin: 4px 2px; /* 澶栬竟璺� */
+  cursor: pointer; /* 榧犳爣鎮仠鏃舵樉绀烘墜鍨� */
+  border-radius: 4px; /* 鍦嗚杈规 */
+}
+
+.bold-large-label {
+  font-weight: bold;
+  font-size: 20px; /* 鎴栦綘闇�瑕佺殑浠讳綍澶у皬 */
+}
+.left_qiu{
+  position: absolute;
+  left: -74px;
+  top: 0;
+  width:54px;
+  border-radius: 50%;
+  height:54px;
+  font-size: 13px;
+  margin: auto;
+  display: flex;
+  flex-wrap: wrap;
+  align-items: center;
+  justify-content: center;
+  background: #0099ff;
+  transform: translate(0, 0);
+}
+/deep/ .ant-timeline-item-tail{
+  left: -29px !important;
+}
+.left_qiu span{
+  width: 3em;
+  display: block;
+  color: #fff;
+  text-align: center;
+}
+.img{
+  width: 75%;
+}
+
+.wrap{
+  clear: both;
+  width: 100%;
+  display: flex;
+  height: 50px;
+  border: 1px solid #ccc;
+  /* background-color: aqua; */
+}
+.box{
+  width:21%;
+  height:50px;
+  border-right: 1px solid #ccc;
+  line-height: 50px;
+  /* background: red; */
+  text-align:center;
+  margin: auto;
+}
+
+@import '~@assets/less/common.less';
+</style>
\ No newline at end of file

--
Gitblit v1.9.3