From 53c269711fcb59f48fd2acd7e825bebfd31d09e5 Mon Sep 17 00:00:00 2001
From: lyh <925863403@qq.com>
Date: 星期三, 09 四月 2025 16:33:10 +0800
Subject: [PATCH] 点检工单修改,修改指派设备问题

---
 src/views/eam/maintenance/modules/EamInspectionOrderModalXq.vue          |  343 +++++++++
 src/views/flowable/workflow/InspectionOrder/InspectionOrderHandle.vue    |  446 ++++++++++++
 src/views/flowable/workflow/assignFileStream/AssignFileStreamHandle.vue  |   18 
 src/views/eam/maintenance/modules/EamInspectionOrderModal.vue            |   89 ++
 src/views/flowable/workflow/dispatchFile/DispatchFileHandle.vue          |    3 
 src/views/eam/equipment/modules/MaintenanceEquipmentSelect.vue           |    4 
 src/views/eam/maintenance/EamInspectionOrderList.vue                     |  180 ++++-
 src/views/flowable/workflow/FlowLedger.vue                               |   27 
 src/views/flowable/workflow/assignFileStream/AssignFileStreamXq.vue      |   17 
 src/views/flowable/workflow/dispatchFile/DispatchFileXq.vue              |    2 
 src/views/flowable/workflow/FlowCompleted.vue                            |   30 
 src/views/flowable/workflow/FlowTodo.vue                                 |   25 
 src/views/flowable/workflow/InspectionOrder/InspectionOrderXq.vue        |  443 ++++++++++++
 src/views/flowable/workflow/InspectionOrder/InspectionOrderHandleBzz.vue |  468 +++++++++++++
 14 files changed, 2,007 insertions(+), 88 deletions(-)

diff --git a/src/views/eam/equipment/modules/MaintenanceEquipmentSelect.vue b/src/views/eam/equipment/modules/MaintenanceEquipmentSelect.vue
index 24fc7d6..6cc7d31 100644
--- a/src/views/eam/equipment/modules/MaintenanceEquipmentSelect.vue
+++ b/src/views/eam/equipment/modules/MaintenanceEquipmentSelect.vue
@@ -79,9 +79,7 @@
   },
   methods: {
     initSelectValue() {
-      if (!this.selectedAsyncValue || !this.selectedAsyncValue.key || this.selectedAsyncValue.key != this.value) {
-        console.log('ssfs', this.selectedAsyncValue)
-        console.log('ASGasgsgas', this.maintenanceCategory)
+      if (!this.selectedAsyncValue || !this.selectedAsyncValue.key || this.selectedAsyncValue.key != this.value || !this.maintenanceCategory) {
         console.log('杩欐墠璇锋眰鍚庡彴')
         getAction(`/eam/maintenanceStandard/listByUser`, {
           id: this.value,
diff --git a/src/views/eam/maintenance/EamInspectionOrderList.vue b/src/views/eam/maintenance/EamInspectionOrderList.vue
index 3fb8659..11083ce 100644
--- a/src/views/eam/maintenance/EamInspectionOrderList.vue
+++ b/src/views/eam/maintenance/EamInspectionOrderList.vue
@@ -44,13 +44,10 @@
     <!-- 鎿嶄綔鎸夐挳鍖哄煙 -->
     <div class="table-operator">
       <a-button @click="handleAdd" type="primary" icon="plus">鏂板</a-button>
-<!--      <a-button type="primary" icon="download" @click="handleExportXls('eam_inspection_order')">瀵煎嚭</a-button>-->
-<!--      <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">-->
-<!--        <a-button type="primary" icon="import">瀵煎叆</a-button>-->
-<!--      </a-upload>-->
       <a-dropdown v-if="selectedRowKeys.length > 0">
         <a-menu slot="overlay">
-          <a-menu-item key="1" @click="batchDel"><a-icon type="delete"/>鍒犻櫎</a-menu-item>
+          <a-menu-item key="1" @click="batchZf(5)"><a-icon type="snippets"/>浣滃簾</a-menu-item>
+          <a-menu-item key="2" @click="batchLq(2)"><a-icon type="form"/>棰嗗彇</a-menu-item>
         </a-menu>
         <a-button style="margin-left: 8px"> 鎵归噺鎿嶄綔 <a-icon type="down" /></a-button>
       </a-dropdown>
@@ -98,18 +95,25 @@
         </template>
 
         <span slot="action" slot-scope="text, record">
-          <a @click="handleEdit(record)">缂栬緫</a>
+          <a v-if="record.inspectionStatus === '1'" @click="handleEdit(record)">缂栬緫</a>
 
-          <a-divider type="vertical" />
+          <a-divider v-if="record.inspectionStatus === '1'" type="vertical" />
+
+          <a-popconfirm v-if="record.inspectionStatus === '1'" title="纭畾棰嗗彇鍚�?" @confirm="() => handleInspection(record.id)">
+                  <a>棰嗗彇</a>
+          </a-popconfirm>
+
+          <a-divider v-if="record.inspectionStatus === '1'" 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-menu-item  v-if="record.inspectionStatus === '1'" >
+                <a-popconfirm title="纭畾浣滃簾鍚�?" @confirm="() => handleDelete(record.id)">
+                  <a>浣滃簾</a>
                 </a-popconfirm>
               </a-menu-item>
             </a-menu>
@@ -120,6 +124,7 @@
     </div>
 
     <eam-inspection-order-modal ref="modalForm" @ok="modalFormOk"></eam-inspection-order-modal>
+    <EamInspectionOrderModalXq ref="modalFormXq" @ok="modalFormOk"></EamInspectionOrderModalXq>
   </a-card>
 </template>
 
@@ -129,12 +134,15 @@
   import { mixinDevice } from '@/utils/mixin'
   import { JeecgListMixin } from '@/mixins/JeecgListMixin'
   import EamInspectionOrderModal from './modules/EamInspectionOrderModal'
+  import EamInspectionOrderModalXq from './modules/EamInspectionOrderModalXq.vue'
+  import { deleteAction, getAction } from '@api/manage'
 
   export default {
     name: 'EamInspectionOrderList',
     mixins:[JeecgListMixin, mixinDevice],
     components: {
-      EamInspectionOrderModal
+      EamInspectionOrderModal,
+      EamInspectionOrderModalXq
     },
     data () {
       return {
@@ -159,12 +167,12 @@
           {
             title:'璁惧缂栧彿',
             align:"center",
-            dataIndex: 'equipmentId'
+            dataIndex: 'equipmentId_dictText'
           },
           {
             title:'鏍囧噯缂栫爜',
             align:"center",
-            dataIndex: 'standardId'
+            dataIndex: 'standardId_dictText'
           },
           {
             title:'鐐规鏃ユ湡',
@@ -173,19 +181,6 @@
             customRender:function (text) {
               return !text?"":(text.length>10?text.substr(0,10):text)
             }
-          },
-          {
-            title:'鐐规鏃堕棿',
-            align:"center",
-            dataIndex: 'operateTime',
-            customRender:function (text) {
-              return !text?"":(text.length>10?text.substr(0,10):text)
-            }
-          },
-          {
-            title:'鐐规浜�',
-            align:"center",
-            dataIndex: 'operator'
           },
           {
             title:'鐐规杩囨湡鏃堕棿',
@@ -198,12 +193,25 @@
           {
             title:'鍒涘缓鏂瑰紡',
             align:"center",
-            dataIndex: 'creationMethod'
+            dataIndex: 'creationMethod_dictText'
           },
           {
             title:'鐐规鐘舵��',
             align:"center",
             dataIndex: 'inspectionStatus_dictText'
+          },
+          {
+            title:'鐐规鏃堕棿',
+            align:"center",
+            dataIndex: 'operateTime',
+            customRender:function (text) {
+              return !text?"":(text.length>10?text.substr(0,10):text)
+            }
+          },
+          {
+            title:'鐐规浜�',
+            align:"center",
+            dataIndex: 'operator_dictText'
           },
           {
             title:'鐝粍闀跨‘璁�',
@@ -219,11 +227,6 @@
             }
           },
           {
-            title:'澶囨敞',
-            align:"center",
-            dataIndex: 'remark'
-          },
-          {
             title: '鎿嶄綔',
             dataIndex: 'action',
             align:"center",
@@ -234,11 +237,12 @@
         ],
         url: {
           list: "/eam/eamInspectionOrder/list",
-          delete: "/eam/eamInspectionOrder/delete",
+          delete: "/eam/eamInspectionOrder/cancelInspectionOrder",
           deleteBatch: "/eam/eamInspectionOrder/deleteBatch",
           exportXlsUrl: "/eam/eamInspectionOrder/exportXls",
           importExcelUrl: "eam/eamInspectionOrder/importExcel",
-
+          receiveInspectionOrder : "eam/eamInspectionOrder/receiveInspectionOrder",
+          cancelOrReceive: "eam/eamInspectionOrder/cancelOrReceive"
         },
         dictOptions:{},
         superFieldList:[],
@@ -271,7 +275,113 @@
         fieldList.push({type:'string',value:'remark',text:'澶囨敞',dictCode:''})
         fieldList.push({type:'string',value:'imageFiles',text:'鐓х墖鏂囦欢ids;id浠ラ�楀彿鍒嗛殧',dictCode:''})
         this.superFieldList = fieldList
-      }
+      },
+      //璇︽儏
+      handleDetail: function(record) {
+        this.$refs.modalFormXq.edit(record);
+        this.$refs.modalFormXq.title = "璇︽儏";
+        this.$refs.modalFormXq.disableSubmit = true;
+      },
+      handleInspection(id) {
+        if (!this.url.receiveInspectionOrder) {
+          this.$message.error("璇疯缃畊rl.receiveInspectionOrder!")
+          return
+        }
+        var that = this;
+        getAction(that.url.receiveInspectionOrder, { id: id }).then((res) => {
+          if (res.success) {
+            that.$notification.success({
+              message: '娑堟伅',
+              description: res.message
+            });
+            that.loadData();
+          } else {
+            // that.$message.warning(res.message);
+            that.$notification.warning({
+              message: '娑堟伅',
+              description: res.message
+            });
+          }
+        });
+      },
+      batchZf(type){
+        if (this.selectedRowKeys.length <= 0) {
+          this.$notification.warning({
+            message:'娑堟伅',
+            description:"璇烽�夋嫨涓�鏉¤褰�"
+          });
+        } else {
+          var ids = "";
+          for (var a = 0; a < this.selectedRowKeys.length; a++) {
+            ids += this.selectedRowKeys[a] + ",";
+          }
+          var that = this;
+          this.$confirm({
+            title: "纭浣滃簾",
+            content: "鏄惁浣滃簾閫変腑鏁版嵁锛屽彧鏈夊緟鐐规鐘舵�佺殑鏁版嵁鎵嶅彲浣滃簾鎴愬姛?",
+            onOk: function () {
+              that.loading = true;
+              getAction(that.url.cancelOrReceive, {ids: ids,type:type}).then((res) => {
+                if (res.success) {
+                  that.$notification.success({
+                    message:'娑堟伅',
+                    description:res.message
+                  });
+                  that.loadData();
+                  that.onClearSelected();
+                } else {
+                  // that.$message.warning(res.message);
+                  that.$notification.warning({
+                    message:'娑堟伅',
+                    description:res.message
+                  });
+                }
+              }).finally(() => {
+                that.loading = false;
+              });
+            }
+          });
+        }
+      },
+      batchLq(type){
+        if (this.selectedRowKeys.length <= 0) {
+          this.$notification.warning({
+            message:'娑堟伅',
+            description:"璇烽�夋嫨涓�鏉¤褰�"
+          });
+        } else {
+          var ids = "";
+          for (var a = 0; a < this.selectedRowKeys.length; a++) {
+            ids += this.selectedRowKeys[a] + ",";
+          }
+          var that = this;
+          this.$confirm({
+            title: "纭棰嗗彇",
+            content: "鏄惁棰嗗彇閫変腑鏁版嵁锛屽彧鏈夊緟鐐规鐘舵�佺殑鏁版嵁鎵嶅彲棰嗗彇鎴愬姛?",
+            onOk: function () {
+              that.loading = true;
+              getAction(that.url.cancelOrReceive, {ids: ids,type:type}).then((res) => {
+                if (res.success) {
+                  that.$notification.success({
+                    message:'娑堟伅',
+                    description:res.message
+                  });
+                  that.loadData();
+                  that.onClearSelected();
+                } else {
+                  // that.$message.warning(res.message);
+                  that.$notification.warning({
+                    message:'娑堟伅',
+                    description:res.message
+                  });
+                }
+              }).finally(() => {
+                that.loading = false;
+              });
+            }
+          });
+        }
+      },
     }
   }
 </script>
diff --git a/src/views/eam/maintenance/modules/EamInspectionOrderModal.vue b/src/views/eam/maintenance/modules/EamInspectionOrderModal.vue
index 19b2053..49776ee 100644
--- a/src/views/eam/maintenance/modules/EamInspectionOrderModal.vue
+++ b/src/views/eam/maintenance/modules/EamInspectionOrderModal.vue
@@ -13,8 +13,8 @@
       <a-form-model ref="form" :model="model" :rules="validatorRules">
         <a-row :gutter="24">
           <a-col :span="8">
-            <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="standardCode" label="鏍囧噯缂栫爜">
-              <a-input placeholder="缂栫爜绯荤粺鑷姩鐢熸垚" v-model="model.standardCode" disabled />
+            <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="standardCode" label="宸ュ崟鍙�">
+              <a-input placeholder="宸ュ崟鍙疯嚜鍔ㄧ敓鎴�" v-model="model.orderNum" disabled />
             </a-form-model-item>
           </a-col>
           <a-col :span="8">
@@ -32,13 +32,26 @@
         </a-row>
         <a-row :gutter="24">
           <a-col :span="8">
-            <a-form-model-item label="鐐规鏃ユ湡" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="inspectionDate">
-              <j-date placeholder="璇烽�夋嫨鐐规鏃ユ湡" v-model="model.inspectionDate" style="width: 100%" />
+            <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="standardCode" label="鏍囧噯缂栫爜">
+              <a-input placeholder="璇疯緭鍏ユ爣鍑嗙紪鐮�" disabled v-model="model.standardCode" />
             </a-form-model-item>
           </a-col>
           <a-col :span="8">
             <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="maintenancePeriod" label="淇濆吇鍛ㄦ湡">
               <a-input-number v-model="model.maintenancePeriod" :min="1" :precision="0" disabled style="width: 100%" />
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="8">
+            <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="operator" label="鐐规浜�">
+              <j-dict-select-tag v-model="model.operator" placeholder="璇烽�夋嫨鐢ㄦ埛" dictCode="sys_user,realname,username,username!='admin' order by create_time"/>
+            </a-form-model-item>
+          </a-col>
+        </a-row>
+
+        <a-row :gutter="24">
+          <a-col :span="8">
+            <a-form-model-item label="鐐规鏃ユ湡" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="inspectionDate">
+              <j-date placeholder="璇烽�夋嫨鐐规鏃ユ湡" v-model="model.inspectionDate" @change="expirationTimeFrom(model.inspectionDate)" style="width: 100%" />
             </a-form-model-item>
           </a-col>
           <a-col :span="8">
@@ -58,10 +71,10 @@
           <j-vxe-table
             ref="editableDetailTable"
             :rowNumber="true"
-            :rowSelection="false"
+            :rowSelection="true"
             :bordered="true"
             :alwaysEdit="true"
-            :toolbar="false"
+            :toolbar="true"
             keep-source
             :height="300"
             :loading="detail.loading"
@@ -79,6 +92,7 @@
 import { JVxeTableModelMixin } from '@/mixins/JVxeTableModelMixin.js'
 import { JVXETypes } from '@/components/jeecg/JVxeTable'
 import MaintenanceEquipmentSelect from '@views/eam/equipment/modules/MaintenanceEquipmentSelect'
+import moment from 'dayjs'
 
 export default {
   name: 'EamMaintenanceStandardModal',
@@ -116,14 +130,16 @@
         ],
         equipmentId: [
           { required: true, message: '璇烽�夋嫨璁惧!' }
-        ]
+        ],
       },
       url: {
-        add: '/eam/maintenanceStandard/add',
-        edit: '/eam/maintenanceStandard/edit',
-        detail: '/eam/eamMaintenanceStandardDetail/queryList'
+        add: '/eam/eamInspectionOrder/add',
+        edit: '/eam/eamInspectionOrder/edit',
+        detail: '/eam/eamMaintenanceStandardDetail/queryList',
+        detailOrder: '/eam/eamInspectionOrderDetail/queryList'
       },
       maintenanceCategory: 'POINT_INSPECTION',
+      standardId:"",
       detail: {
         loading: false,
         dataSource: [],
@@ -131,21 +147,33 @@
           {
             title: '搴忓彿',
             key: 'itemCode',
+            type: JVXETypes.inputNumber,
             width: '10%',
-            align: 'center'
+            align:"center",
+            validateRules: [
+              {required : true, unique: true, message: '搴忓彿涓嶈兘閲嶅'}
+            ]
           },
           {
             title: '淇濆吇椤�',
             key: 'itemName',
+            type: JVXETypes.textarea,
             width: '20%',
-            align: 'center'
+            align:"center",
+            validateRules: [
+              {required : true, message: '淇濆吇椤逛笉鑳戒负绌猴紒'}
+            ]
           },
           {
             title: '淇濆吇瑕佹眰',
             key: 'itemDemand',
+            type: JVXETypes.textarea,
             width: '30%',
-            align: 'center'
-          }
+            align:"center",
+            validateRules: [
+              {required : true, message: "淇濆吇瑕佹眰涓嶈兘涓虹┖锛�"}
+            ]
+          },
         ]
       }
     }
@@ -155,11 +183,14 @@
   methods: {
     add() {
       this.model = {}
+      this.detail.dataSource = [];
       this.visible = true
       this.editable = false
     },
     edit(record) {
+      console.log(record)
       this.model = Object.assign({}, record)
+      this.standardId=record.standardId
       this.visible = true
       this.editable = true
       if (record && record.referenceFile) {
@@ -168,7 +199,7 @@
       } else {
         this.model.fieldList = []
       }
-      this.loadDetail(record.id)
+      this.loadDetailOrder(record.id)
     },
     close() {
       this.$emit('close')
@@ -200,6 +231,7 @@
             httpurl += this.url.edit
             method = 'put'
           }
+          this.model.standardId=this.standardId
           httpAction(httpurl, this.model, method).then((res) => {
             if (res.success) {
               that.$message.success(res.message)
@@ -222,6 +254,22 @@
     autocompleteForm(selectObj) {
       this.model.standardName = selectObj.standardName
       this.model.maintenancePeriod=selectObj.maintenancePeriod
+      this.model.standardCode=selectObj.standardCode
+      if (this.standardId===undefined || this.standardId==="") {
+        this.standardId=selectObj.id
+        this.loadDetail(selectObj.id)
+      }
+    },
+    expirationTimeFrom(date) {
+      //杩囨湡鏃堕棿鏄垵濮嬫椂闂�+淇濆吇鍛ㄦ湡
+      if (date && this.model.maintenancePeriod) {
+        // 杞崲涓烘椂闂存埑瀛楃涓诧紙鎴栨寚瀹氭牸寮忥級
+        this.model.expirationTime = moment(date)
+          .add(this.model.maintenancePeriod, 'days')
+          .format('YYYY-MM-DD')
+      } else {
+        this.model.expirationTime = null; // 娓呯┖鏃犳晥鍊�
+      }
     },
     //鍔犺浇璇︽儏鏁版嵁
     loadDetail(standardId) {
@@ -233,8 +281,17 @@
           }
         })
       }
+    },
+    loadDetailOrder(orderId){
+      this.detail.dataSource = []
+      if (orderId) {
+        getAction(this.url.detailOrder, { orderId: orderId }).then(res => {
+          if (res.success) {
+            this.detail.dataSource = [...res.result]
+          }
+        })
+      }
     }
-
   }
 }
 </script>
diff --git a/src/views/eam/maintenance/modules/EamInspectionOrderModalXq.vue b/src/views/eam/maintenance/modules/EamInspectionOrderModalXq.vue
new file mode 100644
index 0000000..4d6a887
--- /dev/null
+++ b/src/views/eam/maintenance/modules/EamInspectionOrderModalXq.vue
@@ -0,0 +1,343 @@
+<template>
+  <j-modal
+    :title="title"
+    :width="1200"
+    :visible="visible"
+    :confirmLoading="false"
+    :okButtonProps="{ class:{'jee-hidden': disableSubmit} }"
+    switchFullscreen
+    @ok="handleOk"
+    @cancel="handleCancel"
+    cancelText="鍏抽棴">
+
+    <a-spin :spinning="false">
+      <a-form-model ref="form" :model="model" :rules="validatorRules">
+        <a-row :gutter="24">
+          <a-col :span="8">
+            <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="standardCode" label="宸ュ崟鍙�">
+              <a-input placeholder="宸ュ崟鍙疯嚜鍔ㄧ敓鎴�" v-model="model.orderNum" disabled />
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="8">
+            <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="equipmentId" label="璁惧缂栧彿">
+              <MaintenanceEquipmentSelect placeholder="璇疯緭鍏ヨ澶囩紪鍙锋垨鍚嶇О鎼滅储" v-model="model.equipmentId"
+                                          :maintenanceCategory="maintenanceCategory" :disabled="editable"
+                                          @autocompleteForm="autocompleteForm"></MaintenanceEquipmentSelect>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="8">
+            <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="standardName" label="鏍囧噯鍚嶇О">
+              <a-input placeholder="璇疯緭鍏ユ爣鍑嗗悕绉�" disabled v-model="model.standardName" />
+            </a-form-model-item>
+          </a-col>
+        </a-row>
+        <a-row :gutter="24">
+          <a-col :span="8">
+            <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="standardCode" label="鏍囧噯缂栫爜">
+              <a-input placeholder="璇疯緭鍏ユ爣鍑嗙紪鐮�" disabled v-model="model.standardCode" />
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="8">
+            <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="maintenancePeriod" label="淇濆吇鍛ㄦ湡">
+              <a-input-number v-model="model.maintenancePeriod" :min="1" :precision="0" disabled style="width: 100%" />
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="8">
+            <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="operator" label="鐐规浜�">
+              <j-dict-select-tag v-model="model.operator" placeholder="璇烽�夋嫨鐢ㄦ埛" disabled dictCode="sys_user,realname,username,username!='admin' order by create_time"/>
+            </a-form-model-item>
+          </a-col>
+        </a-row>
+
+        <a-row :gutter="24">
+          <a-col :span="8">
+            <a-form-model-item label="鐐规鏃ユ湡" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="inspectionDate">
+              <j-date placeholder="璇烽�夋嫨鐐规鏃ユ湡" v-model="model.inspectionDate" disabled @change="expirationTimeFrom(model.inspectionDate)" style="width: 100%" />
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="8">
+            <a-form-model-item label="鐐规杩囨湡鏃堕棿" :labelCol="{span:6}" :wrapperCol="{span:15}" prop="expirationTime">
+              <j-date placeholder="璇烽�夋嫨鐐规杩囨湡鏃堕棿" v-model="model.expirationTime" disabled style="width: 100%" />
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="8" v-if="model.inspectionStatus === '3' || model.inspectionStatus === '4'">
+            <a-form-model-item label="鐐规鏃堕棿" :labelCol="{span:6}" :wrapperCol="{span:15}" prop="operateTime">
+              <j-date placeholder="璇烽�夋嫨鐐规鏃堕棿" v-model="model.operateTime" disabled style="width: 100%" />
+            </a-form-model-item>
+          </a-col>
+        </a-row>
+
+        <a-row :gutter="24">
+          <a-col :span="8">
+            <a-form-model-item label="鐐规鐘舵��" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="inspectionStatus">
+              <j-dict-select-tag v-model="model.inspectionStatus" placeholder="璇烽�夋嫨鐐规鐘舵��" disabled dictCode="inspection_status"/>
+
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="8" v-if="model.inspectionStatus === '4'">
+            <a-form-model-item label="鐝粍闀跨‘璁�" :labelCol="{span:6}" :wrapperCol="{span:15}" prop="confirmUser">
+              <j-dict-select-tag v-model="model.confirmUser" placeholder="璇烽�夋嫨鐢ㄦ埛" disabled dictCode="sys_user,realname,username,username!='admin' order by create_time"/>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="8" v-if="model.inspectionStatus === '4'">
+            <a-form-model-item label="纭鏃堕棿" :labelCol="{span:6}" :wrapperCol="{span:15}" prop="confirmTime">
+              <j-date placeholder="璇烽�夋嫨纭鏃堕棿" v-model="model.confirmTime" disabled style="width: 100%" />
+            </a-form-model-item>
+          </a-col>
+        </a-row>
+        <a-row :gutter="24">
+          <a-col :span="24">
+            <a-form-model-item label="澶囨敞" :labelCol="{span:1}" :wrapperCol="{span:22}" prop="remark">
+              <a-textarea v-model="model.remark" rows="3" placeholder="璇疯緭鍏ュ娉�" disabled/>
+            </a-form-model-item>
+          </a-col>
+        </a-row>
+        <a-row :gutter="24">
+          <j-vxe-table
+            ref="editableDetailTable"
+            :rowNumber="false"
+            :rowSelection="false"
+            :bordered="true"
+            :alwaysEdit="true"
+            :toolbar="false"
+            :disabled="true"
+            keep-source
+            :height="300"
+            :loading="detail.loading"
+            :dataSource="detail.dataSource"
+            :columns="detail.columns"
+            style="margin-top: 8px;" />
+        </a-row>
+      </a-form-model>
+    </a-spin>
+  </j-modal>
+</template>
+
+<script>
+import { getAction, httpAction } from '@/api/manage'
+import { JVxeTableModelMixin } from '@/mixins/JVxeTableModelMixin.js'
+import { JVXETypes } from '@/components/jeecg/JVxeTable'
+import MaintenanceEquipmentSelect from '@views/eam/equipment/modules/MaintenanceEquipmentSelect'
+import moment from 'dayjs'
+
+export default {
+  name: 'EamMaintenanceStandardModal',
+  mixins: [JVxeTableModelMixin],
+  components: {
+    MaintenanceEquipmentSelect
+  },
+  data() {
+    return {
+      title: '鎿嶄綔',
+      visible: false,
+      model: {},
+      editable: false,
+      labelCol: {
+        xs: { span: 24 },
+        sm: { span: 5 }
+      },
+      wrapperCol: {
+        xs: { span: 24 },
+        sm: { span: 16 }
+      },
+      confirmLoading: false,
+      validatorRules: {
+        standardName: [
+          { required: true, message: '璇疯緭鍏ユ爣鍑嗗悕绉�!' }
+        ],
+        maintenanceCategory: [
+          { required: true, message: '璇烽�夋嫨淇濆吇鍒嗙被!' }
+        ],
+        initialDate: [
+          { required: true, message: '璇烽�夋嫨鍒濆鏃ユ湡!' }
+        ],
+        maintenancePeriod: [
+          { required: true, message: '璇疯緭鍏ヤ繚鍏诲懆鏈燂紝鍗曚綅锛氬ぉ!' }
+        ],
+        equipmentId: [
+          { required: true, message: '璇烽�夋嫨璁惧!' }
+        ],
+        operator: [
+          { required: true, message: '璇烽�夋嫨鐐规浜�!' }
+        ]
+      },
+      url: {
+        add: '/eam/eamInspectionOrder/add',
+        edit: '/eam/eamInspectionOrder/edit',
+        detail: '/eam/eamMaintenanceStandardDetail/queryList',
+        detailOrder: '/eam/eamInspectionOrderDetail/queryList'
+      },
+      maintenanceCategory: 'POINT_INSPECTION',
+      standardId:"",
+      detail: {
+        loading: false,
+        dataSource: [],
+        columns: [
+          {
+            title: '搴忓彿',
+            key: 'itemCode',
+            type: JVXETypes.normal,
+            width: '10%',
+            align:"center",
+          },
+          {
+            title: '淇濆吇椤�',
+            key: 'itemName',
+            type: JVXETypes.normal,
+            width: '20%',
+            align:"center",
+          },
+          {
+            title: '淇濆吇瑕佹眰',
+            key: 'itemDemand',
+            type: JVXETypes.normal,
+            width: '30%',
+            align:"center",
+          },
+          {
+            title: "鐐规缁撴灉"
+            ,key: 'inspectionResult'
+            ,type: JVXETypes.selectSearch
+            ,dictCode:'eam_inspection_result'
+            ,width: '20%'
+            ,align:"center"
+          },
+          {
+            title: '寮傚父鎻忚堪',
+            key: 'exceptionDescription',
+            type: JVXETypes.normal,
+            width: '30%',
+            align:"center",
+          },
+          {
+            title: '寮傚父鏄惁鎶ヤ慨',
+            key: 'selectSearch',
+            type: JVXETypes.selectSearch,
+            dictCode:'yn',
+            width: '20%',
+            align:"center",
+          }
+        ]
+      }
+    }
+  },
+  created() {
+  },
+  methods: {
+    add() {
+      this.model = {}
+      this.detail.dataSource = [];
+      this.visible = true
+      this.editable = false
+    },
+    edit(record) {
+      this.model = Object.assign({}, record)
+      this.standardId=record.standardId
+      this.visible = true
+      this.editable = true
+      if (record && record.referenceFile) {
+        let obj = JSON.parse(record.referenceFile)
+        this.model.fileList = [obj]
+      } else {
+        this.model.fieldList = []
+      }
+      this.loadDetailOrder(record.id)
+    },
+    close() {
+      this.$emit('close')
+      this.visible = false
+      this.$refs.form.clearValidate()
+    },
+    async handleOk() {
+      const that = this
+      let errMap = await that.$refs.editableDetailTable.validateTable()
+      if (errMap) {
+        this.$message.warning('鏁版嵁鏍¢獙澶辫触锛�')
+        return
+      }
+      // 瑙﹀彂琛ㄥ崟楠岃瘉
+      this.$refs.form.validate(valid => {
+        if (valid) {
+          let tableData = that.$refs.editableDetailTable.getTableData()
+          let removeData = that.$refs.editableDetailTable.getDeleteData()
+          that.model.tableDetailList = [...tableData]
+          that.model.removeDetailList = [...removeData]
+
+          that.confirmLoading = false
+          let httpurl = ''
+          let method = ''
+          if (!this.model.id) {
+            httpurl += this.url.add
+            method = 'post'
+          } else {
+            httpurl += this.url.edit
+            method = 'put'
+          }
+          this.model.standardId=this.standardId
+          httpAction(httpurl, this.model, method).then((res) => {
+            if (res.success) {
+              that.$message.success(res.message)
+              that.$emit('ok')
+              that.close()
+            } else {
+              that.$message.warning(res.message)
+            }
+          }).finally(() => {
+            that.confirmLoading = false
+          })
+        } else {
+          return false
+        }
+      })
+    },
+    handleCancel() {
+      this.close()
+    },
+    autocompleteForm(selectObj) {
+      this.model.standardName = selectObj.standardName
+      this.model.maintenancePeriod=selectObj.maintenancePeriod
+      this.model.standardCode=selectObj.standardCode
+      if (this.standardId===undefined || this.standardId==="") {
+        this.standardId=selectObj.id
+        this.loadDetail(selectObj.id)
+      }
+    },
+    expirationTimeFrom(date) {
+      //杩囨湡鏃堕棿鏄垵濮嬫椂闂�+淇濆吇鍛ㄦ湡
+      if (date && this.model.maintenancePeriod) {
+        // 杞崲涓烘椂闂存埑瀛楃涓诧紙鎴栨寚瀹氭牸寮忥級
+        this.model.expirationTime = moment(date)
+          .add(this.model.maintenancePeriod, 'days')
+          .format('YYYY-MM-DD')
+      } else {
+        this.model.expirationTime = null; // 娓呯┖鏃犳晥鍊�
+      }
+    },
+    //鍔犺浇璇︽儏鏁版嵁
+    loadDetail(standardId) {
+      this.detail.dataSource = []
+      if (standardId) {
+        getAction(this.url.detail, { standardId: standardId }).then(res => {
+          if (res.success) {
+            this.detail.dataSource = [...res.result]
+          }
+        })
+      }
+    },
+    loadDetailOrder(orderId){
+      this.detail.dataSource = []
+      if (orderId) {
+        getAction(this.url.detailOrder, { orderId: orderId }).then(res => {
+          if (res.success) {
+            this.detail.dataSource = [...res.result]
+          }
+        })
+      }
+    }
+  }
+}
+</script>
+
+<style lang="less" scoped>
+
+</style>
\ No newline at end of file
diff --git a/src/views/flowable/workflow/FlowCompleted.vue b/src/views/flowable/workflow/FlowCompleted.vue
index eecaeb1..ba2a883 100644
--- a/src/views/flowable/workflow/FlowCompleted.vue
+++ b/src/views/flowable/workflow/FlowCompleted.vue
@@ -79,6 +79,8 @@
 
     <DispatchFileXq ref="modalFormDispatchFileXq"  :selectShenpiData="selectDispatchFileXqData"></DispatchFileXq>
 
+    <InspectionOrderXq ref="modalFormInspectionOrderXq"  :selectShenpiData="selectInspectionOrderXqData"></InspectionOrderXq>
+
   </a-card>
 </template>
 
@@ -90,11 +92,13 @@
 import JDictSelectTag from '@/components/dict/JDictSelectTag.vue'
 import AssignFileStreamXq from '@views/flowable/workflow/assignFileStream/AssignFileStreamXq.vue'
 import DispatchFileXq from '@views/flowable/workflow/dispatchFile/DispatchFileXq.vue'
+import InspectionOrderXq from '@views/flowable/workflow/InspectionOrder/InspectionOrderXq.vue'
 
 export default {
   name: 'NcDeviceCharactersList',
   mixins:[JeecgListMixin, mixinDevice],
   components: {
+    InspectionOrderXq,
     DispatchFileXq,
     AssignFileStreamXq: AssignFileStreamXq,
     JDictSelectTag,
@@ -147,7 +151,7 @@
         {
           title: '鎿嶄綔鏃堕棿',
           align: "center",
-          dataIndex: 'createTime',
+          dataIndex: 'finishTime',
           width:300
         },
         {
@@ -164,7 +168,8 @@
       },
       dictOptions:{},
       selectShenpiData: {},
-      selectDispatchFileXqData:{}
+      selectDispatchFileXqData:{},
+      selectInspectionOrderXqData:{}
     }
   },
   created() {
@@ -179,17 +184,20 @@
       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
         default:
-          alert('娌℃壘鍒拌瀹℃壒')
+          alert('娌℃壘鍒拌娴佺▼')
       }
     },
     splitAprocessType(title) {
@@ -211,6 +219,16 @@
       this.selectDispatchFileXqData.title=item.description
       this.$refs.modalFormDispatchFileXq.clearTableSource()
       this.$refs.modalFormDispatchFileXq.getAllApproveData(item)
+    },
+    handInspectionOrder(item) {
+      console.log('item----->', item)
+      this.selectInspectionOrderXqData = item
+      this.selectInspectionOrderXqData.assignee_dictText=item.todoUsers_dictText
+      this.selectInspectionOrderXqData.procInstId=item.procInsId
+      this.selectInspectionOrderXqData.processInstanceId=item.procInsId
+      this.selectInspectionOrderXqData.title=item.description
+      this.$refs.modalFormInspectionOrderXq.clearTableSource()
+      this.$refs.modalFormInspectionOrderXq.getAllApproveData(item)
     }
   }
 }
diff --git a/src/views/flowable/workflow/FlowLedger.vue b/src/views/flowable/workflow/FlowLedger.vue
index 2974c83..20eed95 100644
--- a/src/views/flowable/workflow/FlowLedger.vue
+++ b/src/views/flowable/workflow/FlowLedger.vue
@@ -90,6 +90,8 @@
     <AssignFileStreamXq ref="modalFormApproval" :selectShenpiData="selectShenpiData"></AssignFileStreamXq>
 
     <DispatchFileXq ref="modalFormDispatchFileXq"  :selectShenpiData="selectDispatchFileXqData"></DispatchFileXq>
+
+    <InspectionOrderXq ref="modalFormInspectionOrderXq"  :selectShenpiData="selectInspectionOrderXqData"></InspectionOrderXq>
   </a-card>
 </template>
 
@@ -101,6 +103,7 @@
 import JDictSelectTag from '@/components/dict/JDictSelectTag.vue'
 import AssignFileStreamXq from '@views/flowable/workflow/assignFileStream/AssignFileStreamXq.vue'
 import DispatchFileXq from '@views/flowable/workflow/dispatchFile/DispatchFileXq.vue'
+import InspectionOrderXq from '@views/flowable/workflow/InspectionOrder/InspectionOrderXq.vue'
 
 export default {
   name: 'NcDeviceCharactersList',
@@ -109,6 +112,7 @@
     DispatchFileXq,
     AssignFileStreamXq: AssignFileStreamXq,
     JDictSelectTag,
+    InspectionOrderXq
   },
   data () {
     return {
@@ -194,7 +198,8 @@
       },
       dictOptions:{},
       selectShenpiData: {},
-      selectDispatchFileXqData:{}
+      selectDispatchFileXqData:{},
+      selectInspectionOrderXqData:{}
     }
   },
   created() {
@@ -209,19 +214,23 @@
       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':
           item.description=item.title
           this.handDrDetial(item)
           break
-        case 'NC绋嬪簭绛炬淳':
+        case 'ggApproval':
           item.description=item.title
           this.handDispatchFileDetial(item)
           break
+        case 'sbdjApproval':
+          item.description=item.title
+          this.handInspectionOrderDetial(item)
+          break
         default:
-          alert('娌℃壘鍒拌瀹℃壒')
+          alert('娌℃壘鍒拌娴佺▼')
       }
     },
     splitAprocessType(title) {
@@ -241,6 +250,14 @@
       this.selectDispatchFileXqData.procInstId=item.processInstanceId
       this.$refs.modalFormDispatchFileXq.clearTableSource()
       this.$refs.modalFormDispatchFileXq.getAllApproveData(item)
+    },
+    handInspectionOrderDetial(item){
+      this.selectInspectionOrderXqData = item
+      this.selectInspectionOrderXqData.assignee_dictText=item.todoUsers_dictText
+      this.selectInspectionOrderXqData.createTime=item.startTime
+      this.selectInspectionOrderXqData.procInstId=item.processInstanceId
+      this.$refs.modalFormInspectionOrderXq.clearTableSource()
+      this.$refs.modalFormInspectionOrderXq.getAllApproveData(item)
     }
   }
 }
diff --git a/src/views/flowable/workflow/FlowTodo.vue b/src/views/flowable/workflow/FlowTodo.vue
index f46a3be..510cacd 100644
--- a/src/views/flowable/workflow/FlowTodo.vue
+++ b/src/views/flowable/workflow/FlowTodo.vue
@@ -103,6 +103,8 @@
     <AssignFileStreamHandle ref="modalFormApproval" :selectShenpiData="selectShenpiData"></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" :maintenanceId="dataId"></week-maintenance-approval-modal>
   </a-card>
 </template>
@@ -116,6 +118,8 @@
 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 InspectionOrderHandle from '@views/flowable/workflow/InspectionOrder/InspectionOrderHandle.vue'
+import InspectionOrderHandleBzz from '@views/flowable/workflow/InspectionOrder/InspectionOrderHandleBzz.vue'
 import WeekMaintenanceApprovalModal from '@views/flowable/workflow/weekMaintenance/WeekMaintenanceApprovalModal';
 
 import { getAction } from '@api/manage'
@@ -127,6 +131,8 @@
     JDictSelectTag,
     DispatchFileHandle,
     DispatchFileBachHandleStyle,
+    InspectionOrderHandle,
+    InspectionOrderHandleBzz,
     WeekMaintenanceApprovalModal
   },
   data () {
@@ -202,6 +208,8 @@
       dictOptions:{},
       selectShenpiData: {},
       selectDispatchFileXqData:{},
+      selectInspectionOrderData:{},
+      selectInspectionOrderDataBzz:{},
       selectBachData:{},
       //涓氬姟淇℃伅ID
       dataId: undefined,
@@ -228,11 +236,14 @@
         case 'ggApproval':
           this.handDispatchFileDetial(item)
           break
+        case 'sbdjApproval':
+          this.handInspectionOrder(item)
+          break
         case 'WEEK_MAINTENANCE':
           this.handleWeekMaintenance(item)
           break
         default:
-          alert('娌℃壘鍒拌瀹℃壒')
+          alert('娌℃壘鍒拌娴佺▼')
       }
     },
     splitAprocessType(title) {
@@ -255,6 +266,18 @@
       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({
diff --git a/src/views/flowable/workflow/InspectionOrder/InspectionOrderHandle.vue b/src/views/flowable/workflow/InspectionOrder/InspectionOrderHandle.vue
new file mode 100644
index 0000000..4105cc7
--- /dev/null
+++ b/src/views/flowable/workflow/InspectionOrder/InspectionOrderHandle.vue
@@ -0,0 +1,446 @@
+<!--
+ Description: 宸ヤ綔娴�-璁惧鐐规澶勭悊椤甸潰 List
+ Author: 浣滆�� liuyh
+ Date:   2025-02-27
+-->
+<template>
+  <a-modal
+    :title="title"
+    :width="width"
+    :visible="visible"
+    :footer="null"
+    @cancel="handCancel"
+  >
+    <a-card :bordered="false">
+      <div>
+        <b>{{ selectShenpiData.title }}</b>
+        <br>
+        <br>
+        <a-tag color="blue">
+          褰撳墠澶勭悊浜� {{ selectShenpiData.assignee_dictText }}
+        </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 :labelCol="labelCol" :wrapperCol="wrapperCol" prop="standardCode" label="宸ュ崟鍙�">
+                        <a-input placeholder="宸ュ崟鍙疯嚜鍔ㄧ敓鎴�" :disabled="true" v-model="tableRowRecord.orderNum" />
+                      </a-form-model-item>
+                    </a-col>
+                    <a-col :span='span'>
+                      <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="equipmentId" label="璁惧缂栧彿">
+                        <MaintenanceEquipmentSelect placeholder="璇疯緭鍏ヨ澶囩紪鍙锋垨鍚嶇О鎼滅储" v-model="tableRowRecord.equipmentId"
+                                                    :maintenanceCategory="maintenanceCategory" :disabled="true"
+                                                    @autocompleteForm="autocompleteForm"></MaintenanceEquipmentSelect>
+                      </a-form-model-item>
+                    </a-col>
+
+                  </a-row>
+                  <a-row>
+                    <a-col :span='span'>
+                      <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="standardName" label="鏍囧噯鍚嶇О">
+                        <a-input placeholder="璇疯緭鍏ユ爣鍑嗗悕绉�" disabled v-model="this.standardName" />
+                      </a-form-model-item>
+                    </a-col>
+                    <a-col :span='span'>
+                      <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="standardCode" label="鏍囧噯缂栫爜">
+                        <a-input placeholder="璇疯緭鍏ユ爣鍑嗙紪鐮�" disabled v-model="this.standardCode" />
+                      </a-form-model-item>
+                    </a-col>
+                  </a-row>
+                  <a-row>
+                    <a-col :span='span'>
+                      <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="maintenancePeriod" label="淇濆吇鍛ㄦ湡">
+                        <a-input-number v-model="this.maintenancePeriod" :min="1" :precision="0" disabled style="width: 100%" />
+                      </a-form-model-item>
+                    </a-col>
+                    <a-col :span='span'>
+                      <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="operator" label="鐐规浜�">
+                        <j-dict-select-tag v-model="tableRowRecord.operator" placeholder="璇烽�夋嫨鐢ㄦ埛" disabled dictCode="sys_user,realname,username,username!='admin' order by create_time"/>
+                      </a-form-model-item>
+                    </a-col>
+                  </a-row>
+                  <a-row>
+                    <a-col :span='span'>
+                      <a-form-model-item label="鐐规鏃ユ湡" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="inspectionDate">
+                        <j-date placeholder="璇烽�夋嫨鐐规鏃ユ湡" v-model="tableRowRecord.inspectionDate" disabled  style="width: 100%" />
+                      </a-form-model-item>
+                    </a-col>
+                    <a-col :span='span'>
+                      <a-form-model-item label="鐐规杩囨湡鏃堕棿" :labelCol="{span:6}" :wrapperCol="{span:15}" prop="expirationTime">
+                        <j-date placeholder="璇烽�夋嫨鐐规杩囨湡鏃堕棿" v-model="tableRowRecord.expirationTime" disabled style="width: 100%" />
+                      </a-form-model-item>
+                    </a-col>
+                  </a-row>
+                  <a-row >
+                    <a-col :span="24">
+                      <a-form-model-item label="澶囨敞" :labelCol="{span:1}" :wrapperCol="{span:22}" prop="remark">
+                        <a-textarea v-model="tableRowRecord.remark" rows="3" placeholder="璇疯緭鍏ュ娉�" disabled />
+                      </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.assignee_dictText}}</p>
+                        <p v-if="index1 !==0">澶勭悊鏃堕暱锛歿{item.duration}}</p>
+                        <p v-if="item.name !== '鎻愪氦鐢宠'">澶勭悊绫诲瀷锛歿{item.sequenceFlowName}}</p>
+                        <p v-if="item.description != null">澶勭悊鎰忚锛歿{item.description}}</p>
+                        <div class="left_qiu"><span>{{item.taskName}}</span></div>
+                      </div>
+                    </a-timeline-item>
+                  </a-timeline>
+                </a-card>
+              </a-tab-pane>
+            </a-tabs>
+          </a-spin>
+        </a-form>
+      </div>
+      <div>
+        <hr class="shallow-hr">
+        <br>
+        <b>淇濆吇椤规槑缁�</b>
+        <br>
+        <a-form-model ref="form" :model="approveData" :rules="validatorRules" slot="detail">
+          <a-row :gutter="24">
+            <j-vxe-table
+              ref="editableDetailTable"
+              :rowNumber="false"
+              :rowSelection="false"
+              :bordered="true"
+              :alwaysEdit="true"
+              :toolbar="false"
+              keep-source
+              :height="300"
+              :loading="detail.loading"
+              :dataSource="detail.dataSource"
+              :columns="detail.columns"
+              style="margin-top: 8px;" />
+          </a-row>
+          <div class="table-operator" style="text-align: right;">
+            <a-button  @click="handleQueXiaoTask" type="primary" icon="close">鍙栨秷</a-button>
+            <a-button @click="submitForm">鎻� 浜�</a-button>
+          </div>
+        </a-form-model>
+      </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'
+import MaintenanceEquipmentSelect from '@views/eam/equipment/modules/MaintenanceEquipmentSelect.vue'
+import { JVXETypes } from '@comp/jeecg/JVxeTable'
+export default {
+  name: 'FlowShenPi',
+  components: { MaintenanceEquipmentSelect },
+  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: {
+        status: {
+          rules: [
+            { required: true, message: '璇烽�夋嫨瀹℃壒鐘舵��!'},
+          ]
+        },
+      },
+      approveData: {},
+      flowData: {},
+      title: '璇︽儏椤甸潰',
+      width: 1000,
+      visible: false,
+      // 琛ㄥご
+      url: {
+        queryBomDataById: '/eam/eamInspectionOrder/selectVoById',
+        diagramView: '/assign/flow/diagramView',
+        queryHisTaskList:'/dncFlow/dispatchFile/queryHisTaskList',
+        approve:"/eam/eamInspectionOrder/approval",
+        saveDispatchFile:"/dncFlow/dispatchFile/saveDispatchFile"
+      },
+      dictOptions: {},
+      superFieldList: [],
+      workflowSource: [],
+      maintenanceCategory: 'POINT_INSPECTION',
+      standardName:"",
+      maintenancePeriod:"",
+      standardCode:"",
+      detail: {
+        loading: false,
+        dataSource: [],
+        columns: [
+          {
+            title: '搴忓彿',
+            key: 'itemCode',
+            type: JVXETypes.normal,
+            width: '10%',
+            align:"center",
+          },
+          {
+            title: '淇濆吇椤�',
+            key: 'itemName',
+            type: JVXETypes.normal,
+            width: '20%',
+            align:"center",
+          },
+          {
+            title: '淇濆吇瑕佹眰',
+            key: 'itemDemand',
+            type: JVXETypes.normal,
+            width: '30%',
+            align:"center",
+          },
+          {
+            title: "鐐规缁撴灉"
+            ,key: 'inspectionResult'
+            ,type: JVXETypes.selectSearch
+            ,dictCode:'eam_inspection_result'
+            ,width: '20%'
+            ,align:"center"
+          },
+          {
+            title: '寮傚父鎻忚堪',
+            key: 'exceptionDescription',
+            type: JVXETypes.textarea,
+            width: '30%',
+            align:"center",
+          },
+          {
+            title: '寮傚父鏄惁鎶ヤ慨',
+            key: 'reportFlag',
+            type: JVXETypes.selectSearch,
+            dictCode:'yn',
+            width: '20%',
+            align:"center",
+          }
+        ]
+      }
+    }
+  },
+  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()
+    },
+    autocompleteForm(selectObj) {
+      this.standardName = selectObj.standardName
+      this.maintenancePeriod=selectObj.maintenancePeriod
+      this.standardCode=selectObj.standardCode
+    },
+    submitForm () {
+      const that = this;
+      // 瑙﹀彂琛ㄥ崟楠岃瘉
+      this.form.validateFields((err, values) => {
+        if (!err) {
+          that.confirmLoading = true;
+          let url=this.url.approve
+          let method = 'post';
+          let flowTaskVo = {}
+          let tableData = that.$refs.editableDetailTable.getTableData()
+          flowTaskVo.comment =that.assignFileStream.approveContent;
+          flowTaskVo.dataId = this.selectShenpiData.dataId
+          flowTaskVo.taskId = this.selectShenpiData.id
+          flowTaskVo.userId = this.selectShenpiData.assignee
+          flowTaskVo.instanceId = this.selectShenpiData.procInstId
+          flowTaskVo.values = this.selectShenpiData.variables
+          flowTaskVo.tableDetailList=tableData
+          console.log("琛ㄥ崟鎻愪氦鏁版嵁",flowTaskVo)
+          httpAction(url,flowTaskVo,method).then((res)=>{
+            if(res.success){
+              that.$message.success(res.message);
+              that.visible = false
+              //鍒锋柊琛ㄦ牸
+              that.$emit('searchReset')
+            }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={
+        'procInstId': item.procInstId
+      }
+      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[0]
+            this.detail.dataSource=res.result[0].tableDetailList
+            console.log('this.tableRowRecord----->', this.tableRowRecord[0])
+          }
+        }))
+      }).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
diff --git a/src/views/flowable/workflow/InspectionOrder/InspectionOrderHandleBzz.vue b/src/views/flowable/workflow/InspectionOrder/InspectionOrderHandleBzz.vue
new file mode 100644
index 0000000..4e9fc1a
--- /dev/null
+++ b/src/views/flowable/workflow/InspectionOrder/InspectionOrderHandleBzz.vue
@@ -0,0 +1,468 @@
+<!--
+ Description: 宸ヤ綔娴�-璁惧鐐规澶勭悊椤甸潰 List
+ Author: 浣滆�� liuyh
+ Date:   2025-02-27
+-->
+<template>
+  <a-modal
+    :title="title"
+    :width="width"
+    :visible="visible"
+    :footer="null"
+    @cancel="handCancel"
+  >
+    <a-card :bordered="false">
+      <div>
+        <b>{{ selectShenpiData.title }}</b>
+        <br>
+        <br>
+        <a-tag color="blue">
+          褰撳墠澶勭悊浜� {{ selectShenpiData.assignee_dictText }}
+        </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 :labelCol="labelCol" :wrapperCol="wrapperCol" prop="standardCode" label="宸ュ崟鍙�">
+                        <a-input placeholder="宸ュ崟鍙疯嚜鍔ㄧ敓鎴�" :disabled="true" v-model="tableRowRecord.orderNum" />
+                      </a-form-model-item>
+                    </a-col>
+                    <a-col :span='span'>
+                      <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="equipmentId" label="璁惧缂栧彿">
+                        <MaintenanceEquipmentSelect placeholder="璇疯緭鍏ヨ澶囩紪鍙锋垨鍚嶇О鎼滅储" v-model="tableRowRecord.equipmentId"
+                                                    :maintenanceCategory="maintenanceCategory" :disabled="true"
+                                                    @autocompleteForm="autocompleteForm"></MaintenanceEquipmentSelect>
+                      </a-form-model-item>
+                    </a-col>
+
+                  </a-row>
+                  <a-row>
+                    <a-col :span='span'>
+                      <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="standardName" label="鏍囧噯鍚嶇О">
+                        <a-input placeholder="璇疯緭鍏ユ爣鍑嗗悕绉�" disabled v-model="this.standardName" />
+                      </a-form-model-item>
+                    </a-col>
+                    <a-col :span='span'>
+                      <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="standardCode" label="鏍囧噯缂栫爜">
+                        <a-input placeholder="璇疯緭鍏ユ爣鍑嗙紪鐮�" disabled v-model="this.standardCode" />
+                      </a-form-model-item>
+                    </a-col>
+                  </a-row>
+                  <a-row>
+                    <a-col :span='span'>
+                      <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="maintenancePeriod" label="淇濆吇鍛ㄦ湡">
+                        <a-input-number v-model="this.maintenancePeriod" :min="1" :precision="0" disabled style="width: 100%" />
+                      </a-form-model-item>
+                    </a-col>
+                    <a-col :span='span'>
+                      <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="operator" label="鐐规浜�">
+                        <j-dict-select-tag v-model="tableRowRecord.operator" placeholder="璇烽�夋嫨鐢ㄦ埛" disabled dictCode="sys_user,realname,username,username!='admin' order by create_time"/>
+                      </a-form-model-item>
+                    </a-col>
+                  </a-row>
+                  <a-row>
+                    <a-col :span='span'>
+                      <a-form-model-item label="鐐规鏃ユ湡" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="inspectionDate">
+                        <j-date placeholder="璇烽�夋嫨鐐规鏃ユ湡" v-model="tableRowRecord.inspectionDate" disabled  style="width: 100%" />
+                      </a-form-model-item>
+                    </a-col>
+                    <a-col :span='span'>
+                      <a-form-model-item label="鐐规杩囨湡鏃堕棿" :labelCol="{span:6}" :wrapperCol="{span:15}" prop="expirationTime">
+                        <j-date placeholder="璇烽�夋嫨鐐规杩囨湡鏃堕棿" v-model="tableRowRecord.expirationTime" disabled style="width: 100%" />
+                      </a-form-model-item>
+                    </a-col>
+                  </a-row>
+                  <a-row >
+                    <a-col :span="24">
+                      <a-form-model-item label="澶囨敞" :labelCol="{span:1}" :wrapperCol="{span:22}" prop="remark">
+                        <a-textarea v-model="tableRowRecord.remark" rows="3" placeholder="璇疯緭鍏ュ娉�" disabled />
+                      </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.assignee_dictText}}</p>
+                        <p v-if="index1 !==0">澶勭悊鏃堕暱锛歿{item.duration}}</p>
+                        <p v-if="item.name !== '鎻愪氦鐢宠'">澶勭悊绫诲瀷锛歿{item.sequenceFlowName}}</p>
+                        <p v-if="item.description != null">澶勭悊鎰忚锛歿{item.description}}</p>
+                        <div class="left_qiu"><span>{{item.taskName}}</span></div>
+                      </div>
+                    </a-timeline-item>
+                  </a-timeline>
+                </a-card>
+              </a-tab-pane>
+            </a-tabs>
+          </a-spin>
+        </a-form>
+      </div>
+      <div>
+        <hr class="shallow-hr">
+        <br>
+        <b>淇濆吇椤规槑缁�</b>
+        <br>
+        <a-form-model ref="form" :model="approveData" :rules="validatorRules" slot="detail">
+          <a-row :gutter="24">
+            <j-vxe-table
+              ref="editableDetailTable"
+              :rowNumber="false"
+              :rowSelection="false"
+              :bordered="true"
+              :alwaysEdit="true"
+              :toolbar="false"
+              keep-source
+              :height="300"
+              :loading="detail.loading"
+              :dataSource="detail.dataSource"
+              :columns="detail.columns"
+              :disabled="true"
+              style="margin-top: 8px;" />
+          </a-row>
+        </a-form-model>
+      </div>
+      <div>
+        <hr class="shallow-hr">
+        <br>
+        <b>鐝粍闀跨‘璁�</b>
+        <br>
+        <a-form-model ref="form" :model="approveData" :rules="validatorRules" slot="detail">
+          <a-row>
+            <a-col ::span='span' class="btxx">
+              <a-form-model-item  label="澶勭悊绫诲瀷" :labelCol="labelCol" :wrapperCol="wrapperCol" prop='dealType'>
+                <j-dict-select-tag  type='list' v-model='assignFileStream.dealType' dictCode='approved_rejected' placeholder="璇烽�夋嫨澶勭悊绫诲瀷"  />
+              </a-form-model-item >
+            </a-col>
+            <a-col :span="24" class="btxx">
+              <a-form-model-item  label="澶勭悊鎰忚" :labelCol="labelCol" :wrapperCol="wrapperCol">
+                <a-textarea v-model="assignFileStream.dealSuggestion" rows="4" placeholder="璇疯緭鍏ュ鐞嗘剰瑙�"/>
+              </a-form-model-item >
+            </a-col>
+          </a-row>
+          <div class="table-operator" style="text-align: right;">
+            <a-button  @click="handleQueXiaoTask" type="primary" icon="close">鍙栨秷</a-button>
+            <a-button @click="submitForm">鎻� 浜�</a-button>
+          </div>
+        </a-form-model>
+      </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'
+import MaintenanceEquipmentSelect from '@views/eam/equipment/modules/MaintenanceEquipmentSelect.vue'
+import { JVXETypes } from '@comp/jeecg/JVxeTable'
+export default {
+  name: 'FlowShenPi',
+  components: { MaintenanceEquipmentSelect },
+  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: {
+        status: {
+          rules: [
+            { required: true, message: '璇烽�夋嫨瀹℃壒鐘舵��!'},
+          ]
+        },
+      },
+      approveData: {},
+      flowData: {},
+      title: '璇︽儏椤甸潰',
+      width: 1000,
+      visible: false,
+      // 琛ㄥご
+      url: {
+        queryBomDataById: '/eam/eamInspectionOrder/selectVoById',
+        diagramView: '/assign/flow/diagramView',
+        queryHisTaskList:'/dncFlow/dispatchFile/queryHisTaskList',
+        approve:"/eam/eamInspectionOrder/approval",
+        saveDispatchFile:"/dncFlow/dispatchFile/saveDispatchFile"
+      },
+      dictOptions: {},
+      superFieldList: [],
+      workflowSource: [],
+      maintenanceCategory: 'POINT_INSPECTION',
+      standardName:"",
+      maintenancePeriod:"",
+      standardCode:"",
+      detail: {
+        loading: false,
+        dataSource: [],
+        columns: [
+          {
+            title: '搴忓彿',
+            key: 'itemCode',
+            type: JVXETypes.normal,
+            width: '10%',
+            align:"center",
+          },
+          {
+            title: '淇濆吇椤�',
+            key: 'itemName',
+            type: JVXETypes.normal,
+            width: '20%',
+            align:"center",
+          },
+          {
+            title: '淇濆吇瑕佹眰',
+            key: 'itemDemand',
+            type: JVXETypes.normal,
+            width: '30%',
+            align:"center",
+          },
+          {
+            title: "鐐规缁撴灉"
+            ,key: 'inspectionResult'
+            ,type: JVXETypes.selectSearch
+            ,dictCode:'eam_inspection_result'
+            ,width: '20%'
+            ,align:"center"
+          },
+          {
+            title: '寮傚父鎻忚堪',
+            key: 'exceptionDescription',
+            type: JVXETypes.normal,
+            width: '30%',
+            align:"center",
+          },
+          {
+            title: '寮傚父鏄惁鎶ヤ慨',
+            key: 'reportFlag',
+            type: JVXETypes.selectSearch,
+            dictCode:'yn',
+            width: '20%',
+            align:"center",
+          }
+        ]
+      }
+    }
+  },
+  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()
+    },
+    autocompleteForm(selectObj) {
+      this.standardName = selectObj.standardName
+      this.maintenancePeriod=selectObj.maintenancePeriod
+      this.standardCode=selectObj.standardCode
+    },
+    submitForm () {
+      const that = this;
+      // 瑙﹀彂琛ㄥ崟楠岃瘉
+      this.form.validateFields((err, values) => {
+        if (!err) {
+          that.confirmLoading = true;
+          let url=this.url.approve
+          let method = 'post';
+          let flowTaskVo = {}
+          let tableData = that.$refs.editableDetailTable.getTableData()
+          flowTaskVo.dealType=that.assignFileStream.dealType
+          flowTaskVo.dealSuggestion=that.assignFileStream.dealSuggestion
+          flowTaskVo.dataId = this.selectShenpiData.dataId
+          flowTaskVo.taskId = this.selectShenpiData.id
+          flowTaskVo.userId = this.selectShenpiData.assignee
+          flowTaskVo.instanceId = this.selectShenpiData.procInstId
+          flowTaskVo.values = this.selectShenpiData.variables
+          flowTaskVo.tableDetailList=tableData
+          console.log("琛ㄥ崟鎻愪氦鏁版嵁",flowTaskVo)
+          httpAction(url,flowTaskVo,method).then((res)=>{
+            if(res.success){
+              that.$message.success(res.message);
+              that.visible = false
+              //鍒锋柊琛ㄦ牸
+              that.$emit('searchReset')
+            }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={
+        'procInstId': item.procInstId
+      }
+      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[0]
+            this.detail.dataSource=res.result[0].tableDetailList
+            console.log('this.tableRowRecord----->', this.tableRowRecord[0])
+          }
+        }))
+      }).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
diff --git a/src/views/flowable/workflow/InspectionOrder/InspectionOrderXq.vue b/src/views/flowable/workflow/InspectionOrder/InspectionOrderXq.vue
new file mode 100644
index 0000000..498e570
--- /dev/null
+++ b/src/views/flowable/workflow/InspectionOrder/InspectionOrderXq.vue
@@ -0,0 +1,443 @@
+<!--
+ Description: 宸ヤ綔娴�-璁惧鐐规澶勭悊椤甸潰 List
+ Author: 浣滆�� liuyh
+ Date:   2025-02-27
+-->
+<template>
+  <a-modal
+    :title="title"
+    :width="width"
+    :visible="visible"
+    :footer="null"
+    @cancel="handCancel"
+  >
+    <a-card :bordered="false">
+      <div>
+        <b>{{ selectShenpiData.title }}</b>
+        <br>
+        <br>
+        <a-tag color="blue">
+          褰撳墠澶勭悊浜� {{ selectShenpiData.assignee_dictText }}
+        </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 :labelCol="labelCol" :wrapperCol="wrapperCol" prop="standardCode" label="宸ュ崟鍙�">
+                        <a-input placeholder="宸ュ崟鍙疯嚜鍔ㄧ敓鎴�" :disabled="true" v-model="tableRowRecord.orderNum" />
+                      </a-form-model-item>
+                    </a-col>
+                    <a-col :span='span'>
+                      <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="equipmentId" label="璁惧缂栧彿">
+                        <MaintenanceEquipmentSelect placeholder="璇疯緭鍏ヨ澶囩紪鍙锋垨鍚嶇О鎼滅储" v-model="tableRowRecord.equipmentId"
+                                                    :maintenanceCategory="maintenanceCategory" :disabled="true"
+                                                    @autocompleteForm="autocompleteForm"></MaintenanceEquipmentSelect>
+                      </a-form-model-item>
+                    </a-col>
+
+                  </a-row>
+                  <a-row>
+                    <a-col :span='span'>
+                      <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="standardName" label="鏍囧噯鍚嶇О">
+                        <a-input placeholder="璇疯緭鍏ユ爣鍑嗗悕绉�" disabled v-model="this.standardName" />
+                      </a-form-model-item>
+                    </a-col>
+                    <a-col :span='span'>
+                      <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="standardCode" label="鏍囧噯缂栫爜">
+                        <a-input placeholder="璇疯緭鍏ユ爣鍑嗙紪鐮�" disabled v-model="this.standardCode" />
+                      </a-form-model-item>
+                    </a-col>
+                  </a-row>
+                  <a-row>
+                    <a-col :span='span'>
+                      <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="maintenancePeriod" label="淇濆吇鍛ㄦ湡">
+                        <a-input-number v-model="this.maintenancePeriod" :min="1" :precision="0" disabled style="width: 100%" />
+                      </a-form-model-item>
+                    </a-col>
+                    <a-col :span='span'>
+                      <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="operator" label="鐐规浜�">
+                        <j-dict-select-tag v-model="tableRowRecord.operator" placeholder="璇烽�夋嫨鐢ㄦ埛" disabled dictCode="sys_user,realname,username,username!='admin' order by create_time"/>
+                      </a-form-model-item>
+                    </a-col>
+                  </a-row>
+                  <a-row>
+                    <a-col :span='span'>
+                      <a-form-model-item label="鐐规鏃ユ湡" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="inspectionDate">
+                        <j-date placeholder="璇烽�夋嫨鐐规鏃ユ湡" v-model="tableRowRecord.inspectionDate" disabled  style="width: 100%" />
+                      </a-form-model-item>
+                    </a-col>
+                    <a-col :span='span'>
+                      <a-form-model-item label="鐐规杩囨湡鏃堕棿" :labelCol="{span:6}" :wrapperCol="{span:15}" prop="expirationTime">
+                        <j-date placeholder="璇烽�夋嫨鐐规杩囨湡鏃堕棿" v-model="tableRowRecord.expirationTime" disabled style="width: 100%" />
+                      </a-form-model-item>
+                    </a-col>
+                  </a-row>
+                  <a-row >
+                    <a-col :span="24">
+                      <a-form-model-item label="澶囨敞" :labelCol="{span:1}" :wrapperCol="{span:22}" prop="remark">
+                        <a-textarea v-model="tableRowRecord.remark" rows="3" placeholder="璇疯緭鍏ュ娉�" disabled />
+                      </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.assignee_dictText}}</p>
+                        <p v-if="index1 !==0">澶勭悊鏃堕暱锛歿{item.duration}}</p>
+                        <p v-if="item.name !== '鎻愪氦鐢宠'">澶勭悊绫诲瀷锛歿{item.sequenceFlowName}}</p>
+                        <p v-if="item.description != null">澶勭悊鎰忚锛歿{item.description}}</p>
+                        <div class="left_qiu"><span>{{item.taskName}}</span></div>
+                      </div>
+                    </a-timeline-item>
+                  </a-timeline>
+                </a-card>
+              </a-tab-pane>
+            </a-tabs>
+          </a-spin>
+        </a-form>
+      </div>
+      <div>
+        <hr class="shallow-hr">
+        <br>
+        <b>淇濆吇椤规槑缁�</b>
+        <br>
+        <a-form-model ref="form" :model="approveData" :rules="validatorRules" slot="detail">
+          <a-row :gutter="24">
+            <j-vxe-table
+              ref="editableDetailTable"
+              :rowNumber="false"
+              :rowSelection="false"
+              :bordered="true"
+              :alwaysEdit="true"
+              :toolbar="false"
+              :disabled="true"
+              keep-source
+              :height="300"
+              :loading="detail.loading"
+              :dataSource="detail.dataSource"
+              :columns="detail.columns"
+              style="margin-top: 8px;" />
+          </a-row>
+        </a-form-model>
+      </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'
+import MaintenanceEquipmentSelect from '@views/eam/equipment/modules/MaintenanceEquipmentSelect.vue'
+import { JVXETypes } from '@comp/jeecg/JVxeTable'
+export default {
+  name: 'FlowShenPi',
+  components: { MaintenanceEquipmentSelect },
+  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: {
+        status: {
+          rules: [
+            { required: true, message: '璇烽�夋嫨瀹℃壒鐘舵��!'},
+          ]
+        },
+      },
+      approveData: {},
+      flowData: {},
+      title: '璇︽儏椤甸潰',
+      width: 1000,
+      visible: false,
+      // 琛ㄥご
+      url: {
+        queryBomDataById: '/eam/eamInspectionOrder/selectVoById',
+        diagramView: '/assign/flow/diagramView',
+        queryHisTaskList:'/dncFlow/dispatchFile/queryHisTaskList',
+        approve:"/eam/eamInspectionOrder/approval",
+        saveDispatchFile:"/dncFlow/dispatchFile/saveDispatchFile"
+      },
+      dictOptions: {},
+      superFieldList: [],
+      workflowSource: [],
+      maintenanceCategory: 'POINT_INSPECTION',
+      standardName:"",
+      maintenancePeriod:"",
+      standardCode:"",
+      detail: {
+        loading: false,
+        dataSource: [],
+        columns: [
+          {
+            title: '搴忓彿',
+            key: 'itemCode',
+            type: JVXETypes.normal,
+            width: '10%',
+            align:"center",
+          },
+          {
+            title: '淇濆吇椤�',
+            key: 'itemName',
+            type: JVXETypes.normal,
+            width: '20%',
+            align:"center",
+          },
+          {
+            title: '淇濆吇瑕佹眰',
+            key: 'itemDemand',
+            type: JVXETypes.normal,
+            width: '30%',
+            align:"center",
+          },
+          {
+            title: "鐐规缁撴灉"
+            ,key: 'inspectionResult'
+            ,type: JVXETypes.selectSearch
+            ,dictCode:'eam_inspection_result'
+            ,width: '20%'
+            ,align:"center"
+          },
+          {
+            title: '寮傚父鎻忚堪',
+            key: 'exceptionDescription',
+            type: JVXETypes.normal,
+            width: '30%',
+            align:"center",
+          },
+          {
+            title: '寮傚父鏄惁鎶ヤ慨',
+            key: 'selectSearch',
+            type: JVXETypes.selectSearch,
+            dictCode:'yn',
+            width: '20%',
+            align:"center",
+          }
+        ]
+      }
+    }
+  },
+  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()
+    },
+    autocompleteForm(selectObj) {
+      this.standardName = selectObj.standardName
+      this.maintenancePeriod=selectObj.maintenancePeriod
+      this.standardCode=selectObj.standardCode
+    },
+    submitForm () {
+      const that = this;
+      // 瑙﹀彂琛ㄥ崟楠岃瘉
+      this.form.validateFields((err, values) => {
+        if (!err) {
+          that.confirmLoading = true;
+          let url=this.url.approve
+          let method = 'post';
+          let flowTaskVo = {}
+          let tableData = that.$refs.editableDetailTable.getTableData()
+          flowTaskVo.comment =that.assignFileStream.approveContent;
+          flowTaskVo.dataId = this.selectShenpiData.dataId
+          flowTaskVo.taskId = this.selectShenpiData.id
+          flowTaskVo.userId = this.selectShenpiData.assignee
+          flowTaskVo.instanceId = this.selectShenpiData.procInstId
+          flowTaskVo.values = this.selectShenpiData.variables
+          flowTaskVo.tableDetailList=tableData
+          console.log("琛ㄥ崟鎻愪氦鏁版嵁",flowTaskVo)
+          httpAction(url,flowTaskVo,method).then((res)=>{
+            if(res.success){
+              that.$message.success(res.message);
+              that.visible = false
+              //鍒锋柊琛ㄦ牸
+              that.$emit('searchReset')
+            }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={
+        'procInstId': item.procInstId
+      }
+      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[0]
+            this.detail.dataSource=res.result[0].tableDetailList
+            console.log('this.tableRowRecord----->', this.tableRowRecord[0])
+          }
+        }))
+      }).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
diff --git a/src/views/flowable/workflow/assignFileStream/AssignFileStreamHandle.vue b/src/views/flowable/workflow/assignFileStream/AssignFileStreamHandle.vue
index 6fbbb4f..c52df86 100644
--- a/src/views/flowable/workflow/assignFileStream/AssignFileStreamHandle.vue
+++ b/src/views/flowable/workflow/assignFileStream/AssignFileStreamHandle.vue
@@ -105,13 +105,11 @@
                   <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>鍔炵悊绫诲瀷锛歿{item.bllx_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>
+                        <p>澶勭悊浜猴細{{item.assignee_dictText}}</p>
+                        <p v-if="index1 !==0">澶勭悊鏃堕暱锛歿{item.duration}}</p>
+                        <p v-if="item.name !== '鎻愪氦鐢宠'">澶勭悊绫诲瀷锛歿{item.sequenceFlowName}}</p>
+                        <p v-if="item.description != null">澶勭悊鎰忚锛歿{item.description}}</p>
+                        <div class="left_qiu"><span>{{item.taskName}}</span></div>
                       </div>
                     </a-timeline-item>
                   </a-timeline>
@@ -246,8 +244,8 @@
       url: {
         queryBomDataById: '/nc/activit/selectVoById',
         diagramView: '/assign/flow/diagramView',
-        queryHisTaskList:'/assign/flow/queryHisTaskList',
-        approve:"/activit/assign/file/approve",
+        queryHisTaskList:'/dncFlow/dispatchFile/queryHisTaskList',
+        approve:"/nc/activit/assign/file/approve",
       },
       dictOptions: {},
       superFieldList: [],
@@ -340,7 +338,7 @@
         'id': item.dataId
       }
       let parmhis={
-        'procInstId': item.dataId
+        'procInstId': item.procInstId
       }
       getAction(this.url.queryHisTaskList,parmhis).then(res=>{
         this.hitaskDataSource=res.result
diff --git a/src/views/flowable/workflow/assignFileStream/AssignFileStreamXq.vue b/src/views/flowable/workflow/assignFileStream/AssignFileStreamXq.vue
index c9ba525..5f41f0f 100644
--- a/src/views/flowable/workflow/assignFileStream/AssignFileStreamXq.vue
+++ b/src/views/flowable/workflow/assignFileStream/AssignFileStreamXq.vue
@@ -105,13 +105,11 @@
                   <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>
+                        <p>澶勭悊浜猴細{{item.assignee_dictText}}</p>
+                        <p v-if="index1 !==0">澶勭悊鏃堕暱锛歿{item.duration}}</p>
+                        <p v-if="item.name !== '鎻愪氦鐢宠'">澶勭悊绫诲瀷锛歿{item.sequenceFlowName}}</p>
+                        <p v-if="item.description != null">澶勭悊鎰忚锛歿{item.description}}</p>
+                        <div class="left_qiu"><span>{{item.taskName}}</span></div>
                       </div>
                     </a-timeline-item>
                   </a-timeline>
@@ -202,7 +200,7 @@
       url: {
         queryBomDataById: '/nc/activit/selectVoById',
         diagramView: '/assign/flow/diagramView',
-        queryHisTaskList:'/assign/flow/queryHisTaskList',
+        queryHisTaskList:'/dncFlow/dispatchFile/queryHisTaskList',
         approve:"/activit/assign/file/approve",
       },
       dictOptions: {},
@@ -291,12 +289,13 @@
     },
     getAllApproveData(item) {
       console.log('selectShenpiData----->', this.selectShenpiData)
+      console.log('item----->', item)
       this.flowData = item
       let param = {
         'id': item.dataId
       }
       let parmhis={
-        'drapprovedataId': item.dataId
+        'procInstId': item.processInstanceId
       }
       getAction(this.url.queryHisTaskList,parmhis).then(res=>{
         this.hitaskDataSource=res.result
diff --git a/src/views/flowable/workflow/dispatchFile/DispatchFileHandle.vue b/src/views/flowable/workflow/dispatchFile/DispatchFileHandle.vue
index 4d153bb..037cc6d 100644
--- a/src/views/flowable/workflow/dispatchFile/DispatchFileHandle.vue
+++ b/src/views/flowable/workflow/dispatchFile/DispatchFileHandle.vue
@@ -84,8 +84,7 @@
                         <p>澶勭悊浜猴細{{item.assignee_dictText}}</p>
                         <p v-if="index1 !==0">澶勭悊鏃堕暱锛歿{item.duration}}</p>
                         <p v-if="item.name !== '鎻愪氦鐢宠'">澶勭悊绫诲瀷锛歿{item.sequenceFlowName}}</p>
-                        <p v-if="index1 ===0">鐢宠鍘熷洜锛歿{item.description}}</p>
-                        <p v-else >澶勭悊鎰忚锛歿{item.description}}</p>
+                        <p v-if="item.description != null">澶勭悊鎰忚锛歿{item.description}}</p>
                         <div class="left_qiu"><span>{{item.taskName}}</span></div>
                       </div>
                     </a-timeline-item>
diff --git a/src/views/flowable/workflow/dispatchFile/DispatchFileXq.vue b/src/views/flowable/workflow/dispatchFile/DispatchFileXq.vue
index 2e20803..3e0c806 100644
--- a/src/views/flowable/workflow/dispatchFile/DispatchFileXq.vue
+++ b/src/views/flowable/workflow/dispatchFile/DispatchFileXq.vue
@@ -84,7 +84,7 @@
                         <p>澶勭悊浜猴細{{item.assignee_dictText}}</p>
                         <p v-if="index1 !==0">澶勭悊鏃堕暱锛歿{item.duration}}</p>
                         <p v-if="item.name !== '鎻愪氦鐢宠'">澶勭悊绫诲瀷锛歿{item.sequenceFlowName}}</p>
-                        <p v-if="index1 !==0">澶勭悊鎰忚锛歿{item.description}}</p>
+                        <p v-if="item.description != null">澶勭悊鎰忚锛歿{item.description}}</p>
                         <div class="left_qiu"><span>{{item.taskName}}</span></div>
                       </div>
                     </a-timeline-item>

--
Gitblit v1.9.3