From 48d85187a16a313c5244a830862db5e672e6997d Mon Sep 17 00:00:00 2001
From: zhaowei <zhaowei>
Date: 星期五, 18 七月 2025 17:08:15 +0800
Subject: [PATCH] 1、点检工单预览 2、技术鉴定工单变更 3、调整样式

---
 src/views/eam/technical/modules/EamTechnicalStatusEvaluationOrderChangeModal.vue                            |  226 +++----
 src/views/flowable/workflow/InspectionOrder/InspectionOrderHandle.vue                                       |  206 +++--
 src/views/flowable/workflow/thirdMaintenance/ThirdMaintenanceApprovalModal.vue                              |    2 
 src/views/eam/technical/EamTechnicalStatusEvaluationOrderList.vue                                           |   40 +
 src/views/flowable/workflow/MaintenanceStandard/MaintenanceStandardApprovalModal.vue                        |   57 +
 src/views/eam/maintenance/EamInspectionOrderList.vue                                                        |   50 +
 src/views/flowable/workflow/secondMaintenance/SecondMaintenanceApprovalModal.vue                            |    4 
 src/views/flowable/workflow/FlowLedger.vue                                                                  |   50 -
 src/views/flowable/workflow/TechnicalStatusEvaluation/TechnicalStatusEvaluationApprovalModal.vue            |    4 
 src/views/eam/technical/EamTechnicalStatusEvaluationOrderChangeList.vue                                     |  389 ++++++-----
 src/views/flowable/workflow/FlowCompleted.vue                                                               |  404 ++++--------
 src/views/flowable/workflow/TechnicalStatusEvaluation/TechnicalStatusEvaluationOrderChangeApprovalModal.vue |  364 +++++++++++
 src/views/eam/equipment/EamEquipmentLedger.vue                                                              |    3 
 src/views/flowable/workflow/FlowTodo.vue                                                                    |   48 +
 src/views/flowable/modeler/modelerDesign.vue                                                                |    1 
 15 files changed, 1,106 insertions(+), 742 deletions(-)

diff --git a/src/views/eam/equipment/EamEquipmentLedger.vue b/src/views/eam/equipment/EamEquipmentLedger.vue
index 725b672..8ce27e9 100644
--- a/src/views/eam/equipment/EamEquipmentLedger.vue
+++ b/src/views/eam/equipment/EamEquipmentLedger.vue
@@ -102,7 +102,7 @@
 
         <!--浣跨敤閮ㄩ棬-->
         <template slot="factoryOrgCode" slot-scope="text,record">
-          {{[record.gsfactoryOrgCode_dictText,record.zxfactoryOrgCode_dictText,record.gqfactoryOrgCode_dictText,record.factoryOrgCode_dictText].filter(item=>item).join('/')}}
+          {{[record.zxfactoryOrgCode_dictText,record.gqfactoryOrgCode_dictText,record.factoryOrgCode_dictText].filter(item=>item).join('/')}}
         </template>
 
         <!--瀹夎浣嶇疆-->
@@ -220,7 +220,6 @@
           },
           {
             title: '浣跨敤閮ㄩ棬',
-            align: 'center',
             dataIndex: 'factoryOrgCode',
             scopedSlots: { customRender: 'factoryOrgCode' }
           },
diff --git a/src/views/eam/maintenance/EamInspectionOrderList.vue b/src/views/eam/maintenance/EamInspectionOrderList.vue
index f0cebd0..b92f092 100644
--- a/src/views/eam/maintenance/EamInspectionOrderList.vue
+++ b/src/views/eam/maintenance/EamInspectionOrderList.vue
@@ -97,7 +97,14 @@
           </a-dropdown>
           </template>
 
-          <a v-else @click="handleDetail(record)">璇︽儏</a>
+          <template v-else>
+            <template v-if="record.inspectionStatus=='COMPLETE'">
+              <a @click="handlePrint(record)">棰勮</a>
+              <a-divider type="vertical"/>
+            </template>
+
+             <a @click="handleDetail(record)">璇︽儏</a>
+          </template>
         </span>
       </a-table>
     </div>
@@ -143,22 +150,26 @@
             align: 'center',
             customRender: function(t, r, index) {
               return parseInt(index) + 1
-            }
+            },
+            fixed: 'left'
           },
           {
             title: '缁熶竴缂栫爜',
             align: 'center',
-            dataIndex: 'equipmentCode'
+            dataIndex: 'equipmentCode',
+            fixed: 'left'
           },
           {
             title: '璁惧鍚嶇О',
             align: 'center',
-            dataIndex: 'equipmentName'
+            dataIndex: 'equipmentName',
+            fixed: 'left'
           },
           {
             title: '璁惧鍨嬪彿',
             align: 'center',
-            dataIndex: 'equipmentModel'
+            dataIndex: 'equipmentModel',
+            fixed: 'left'
           },
           {
             title: '宸ュ崟鍙�',
@@ -176,7 +187,8 @@
             dataIndex: 'inspectionDate',
             customRender: function(text) {
               return !text ? '' : (text.length > 10 ? text.substr(0, 10) : text)
-            }
+            },
+            width: 150
           },
           {
             title: '鐐规杩囨湡鏃ユ湡',
@@ -184,7 +196,8 @@
             dataIndex: 'expirationTime',
             customRender: function(text) {
               return !text ? '' : (text.length > 10 ? text.substr(0, 10) : text)
-            }
+            },
+            width: 150
           },
           {
             title: '鍒涘缓鏂瑰紡',
@@ -204,7 +217,8 @@
           {
             title: '鐐规鏃堕棿',
             align: 'center',
-            dataIndex: 'operateTime'
+            dataIndex: 'operateTime',
+            width: 150
           },
           {
             title: '缁翠慨宸�',
@@ -214,12 +228,14 @@
           {
             title: '纭鏃堕棿',
             align: 'center',
-            dataIndex: 'confirmTime'
+            dataIndex: 'confirmTime',
+            width: 150
           },
           {
             title: 'HF缂栫爜',
             align: 'center',
-            dataIndex: 'hfCode'
+            dataIndex: 'hfCode',
+            width: 250
           }
         ],
         url: {
@@ -244,7 +260,8 @@
         title: '鎿嶄綔',
         dataIndex: 'action',
         align: 'center',
-        scopedSlots: { customRender: 'action' }
+        scopedSlots: { customRender: 'action' },
+        fixed: 'right'
       }
       this.columns = [...this.columns, operationColumn]
       this.loadData(1)
@@ -261,8 +278,7 @@
         this.$refs.modalFormXq.visible = true
         this.$refs.modalFormXq.title = '璇︽儏'
         this.$refs.modalFormXq.disableSubmit = true
-        this.$refs.modalFormXq.getAllApproveData(record)
-        this.$refs.modalFormXq.getBasicInformation({ ...record, dataId: record.id })
+        this.$refs.modalFormXq.handleDetail(record)
       },
 
       handleInspection(id) {
@@ -303,6 +319,7 @@
           }
         })
       },
+
       batchZf(type) {
         var ids = ''
         for (var a = 0; a < this.selectedRowKeys.length; a++) {
@@ -335,6 +352,7 @@
           }
         })
       },
+
       batchLq(type) {
         var ids = ''
         for (var a = 0; a < this.selectedRowKeys.length; a++) {
@@ -368,6 +386,12 @@
           }
         })
       },
+
+      handlePrint(record) {
+        let href = `${window._CONFIG['domianURL']}/jmreport/view/1105664887569121280?equipmentCode=` + record.equipmentCode
+        window.open(href, '_blank')
+      },
+
       onInspectionDateChange: function(value, dateString) {
         this.queryParam.inspectionDateBegin = dateString[0]
         this.queryParam.inspectionDateEnd = dateString[1]
diff --git a/src/views/eam/technical/EamTechnicalStatusEvaluationOrderChangeList.vue b/src/views/eam/technical/EamTechnicalStatusEvaluationOrderChangeList.vue
index a997c26..5ac868f 100644
--- a/src/views/eam/technical/EamTechnicalStatusEvaluationOrderChangeList.vue
+++ b/src/views/eam/technical/EamTechnicalStatusEvaluationOrderChangeList.vue
@@ -1,46 +1,35 @@
 <template>
   <a-card :bordered="false">
-
     <!-- 鏌ヨ鍖哄煙 -->
     <div class="table-page-search-wrapper">
       <a-form layout="inline" @keyup.enter.native="searchQuery">
         <a-row :gutter="24">
-
-          <a-col :xl="6" :lg="7" :md="8" :sm="24">
-            <a-form-item label="鍒犻櫎鏍囪">
-              <a-input placeholder="璇疯緭鍏ュ垹闄ゆ爣璁�" v-model="queryParam.delFlag"></a-input>
+          <a-col :xl="5" :lg="6" :md="8" :sm="12">
+            <a-form-item label="缁熶竴缂栫爜">
+              <lx-search-equipment-select placeholder="璇疯緭鍏ョ粺涓�缂栫爜鎴栧悕绉版悳绱�" v-model="queryParam.equipmentId"/>
             </a-form-item>
           </a-col>
-          <a-col :xl="6" :lg="7" :md="8" :sm="24">
-            <a-form-item label="宸ュ崟ID">
-              <a-input placeholder="璇疯緭鍏ュ伐鍗旾D" v-model="queryParam.orderId"></a-input>
-            </a-form-item>
-          </a-col>
-        <template v-if="toggleSearchStatus">
-          <a-col :xl="6" :lg="7" :md="8" :sm="24">
+          <a-col :xl="4" :lg="6" :md="8" :sm="12">
             <a-form-item label="鍙樻洿鍗曞彿">
-              <a-input placeholder="璇疯緭鍏ュ彉鏇村崟鍙�" v-model="queryParam.changeOrderNum"></a-input>
+              <a-input placeholder="璇疯緭鍏ュ彉鏇村崟鍙�" v-model="queryParam.changeOrderNum"/>
             </a-form-item>
           </a-col>
-          <a-col :xl="6" :lg="7" :md="8" :sm="24">
-            <a-form-item label="鐢宠浜�">
-              <a-input placeholder="璇疯緭鍏ョ敵璇蜂汉" v-model="queryParam.applicant"></a-input>
+          <a-col :xl="5" :lg="6" :md="8" :sm="12">
+            <a-form-item label="鐢宠鏃堕棿">
+              <a-range-picker v-model="queryParam.dates" @change="handleDateRangeChange" value-format="YYYY-MM-DD"/>
             </a-form-item>
           </a-col>
-          <a-col :xl="6" :lg="7" :md="8" :sm="24">
-            <a-form-item label="鐢宠閮ㄩ棬">
-              <a-input placeholder="璇疯緭鍏ョ敵璇烽儴闂�" v-model="queryParam.factoryOrgCode"></a-input>
+          <a-col :xl="4" :lg="6" :md="8" :sm="12">
+            <a-form-item label="鍙樻洿鐘舵��">
+              <j-dict-select-tag dict-code="	technical_status_evaluation_order_change_status" placeholder="璇烽�夋嫨鍙樻洿鐘舵��"
+                                 v-model="queryParam.changeStatus"/>
             </a-form-item>
           </a-col>
-          </template>
-          <a-col :xl="6" :lg="7" :md="8" :sm="24">
+
+          <a-col :xl="4" :lg="6" :md="8" :sm="12">
             <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
               <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>
               <a-button type="info" @click="searchReset" icon="reload" style="margin-left: 8px">閲嶇疆</a-button>
-              <a @click="handleToggleSearch" style="margin-left: 8px">
-                {{ toggleSearchStatus ? '鏀惰捣' : '灞曞紑' }}
-                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
-              </a>
             </span>
           </a-col>
 
@@ -48,78 +37,58 @@
       </a-form>
     </div>
 
-    <!-- 鎿嶄綔鎸夐挳鍖哄煙 -->
-    <div class="table-operator">
-      <a-button @click="handleAdd" type="primary" icon="plus">鏂板</a-button>
-      <a-button type="primary" icon="download" @click="handleExportXls('鎶�鏈姸鎬侀壌瀹氬伐鍗曞彉鏇�')">瀵煎嚭</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>
-        <a-button style="margin-left: 8px"> 鎵归噺鎿嶄綔 <a-icon type="down" /></a-button>
-      </a-dropdown>
-    </div>
-
     <!-- table鍖哄煙-begin -->
-    <div>
-      <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
-        <i class="anticon anticon-info-circle ant-alert-icon"></i> 宸查�夋嫨 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>椤�
-        <a style="margin-left: 24px" @click="onClearSelected">娓呯┖</a>
-      </div>
-
-      <a-table
-        ref="table"
-        size="middle"
-        bordered
-        rowKey="id"
-        :columns="columns"
-        :dataSource="dataSource"
-        :pagination="ipagination"
-        :loading="loading"
-        class="j-table-force-nowrap"
-        :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
-        @change="handleTableChange">
-
+    <a-table ref="table" size="middle" bordered rowKey="id" :columns="columns" :dataSource="dataSource"
+             :pagination="ipagination" :loading="loading" :scroll="{x:'max-content'}" @change="handleTableChange">
         <span slot="action" slot-scope="text, record">
+          <tamplate v-if="record.changeStatus=='WAIT_SUBMIT'">
           <a @click="handleEdit(record)">缂栬緫</a>
 
-          <a-divider type="vertical" />
-          <a-dropdown>
-            <a class="ant-dropdown-link">鏇村 <a-icon type="down" /></a>
-            <a-menu slot="overlay">
-              <a-menu-item>
-                <a-popconfirm title="纭畾鍒犻櫎鍚�?" @confirm="() => handleDelete(record.id)">
-                  <a>鍒犻櫎</a>
-                </a-popconfirm>
-              </a-menu-item>
-            </a-menu>
-          </a-dropdown>
-        </span>
+          <a-divider type="vertical"/>
 
-      </a-table>
-    </div>
+          <a-popconfirm title="纭畾鎻愪氦鍚楋紵" @confirm="handleSubmit(record.id)">
+             <a>鎻愪氦</a>
+          </a-popconfirm>
+
+          <a-divider type="vertical"/>
+
+          <a-popconfirm title="纭畾浣滃簾鍚楋紵" @confirm="handleAbolish(record.id)">
+            <a>浣滃簾</a>
+          </a-popconfirm>
+          </tamplate>
+
+          <a @click="handleDetail(record)"
+             v-if="record.changeStatus!='WAIT_SUBMIT'&&record.changeStatus!='ABOLISH'">璇︽儏</a>
+        </span>
+    </a-table>
     <!-- table鍖哄煙-end -->
 
     <!-- 琛ㄥ崟鍖哄煙 -->
-    <eamTechnicalStatusEvaluationOrderChange-modal ref="modalForm" @ok="modalFormOk"></eamTechnicalStatusEvaluationOrderChange-modal>
+    <eamTechnicalStatusEvaluationOrderChange-modal ref="modalForm" @ok="modalFormOk"/>
+
+    <!--鍙樻洿娴佺▼寮圭獥-->
+    <technical-status-evaluation-order-change-approval-modal ref="evaluationOrderChangeApprovalModal"
+                                                             :selectShenpiData="selectedRowData"/>
   </a-card>
 </template>
 
 <script>
-  import '@/assets/less/TableExpand.less'
   import EamTechnicalStatusEvaluationOrderChangeModal from './modules/EamTechnicalStatusEvaluationOrderChangeModal'
   import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+  import LxSearchEquipmentSelect from '../equipment/modules/LxSearchEquipmentSelect'
+  import { getAction } from '@/api/manage'
+  import TechnicalStatusEvaluationOrderChangeApprovalModal
+    from '../../flowable/workflow/TechnicalStatusEvaluation/TechnicalStatusEvaluationOrderChangeApprovalModal'
 
   export default {
-    name: "EamTechnicalStatusEvaluationOrderChangeList",
-    mixins:[JeecgListMixin],
+    name: 'EamTechnicalStatusEvaluationOrderChangeList',
+    mixins: [JeecgListMixin],
     components: {
+      TechnicalStatusEvaluationOrderChangeApprovalModal,
+      LxSearchEquipmentSelect,
       EamTechnicalStatusEvaluationOrderChangeModal
     },
-    data () {
+    data() {
       return {
         description: '鎶�鏈姸鎬侀壌瀹氬伐鍗曞彉鏇寸鐞嗛〉闈�',
         // 琛ㄥご
@@ -127,129 +96,195 @@
           {
             title: '#',
             dataIndex: '',
-            key:'rowIndex',
-            width:60,
-            align:"center",
-            customRender:function (t,r,index) {
-              return parseInt(index)+1;
-            }
-           },
-		   {
-            title: '鍒犻櫎鏍囪',
-            align:"center",
-            dataIndex: 'delFlag'
-           },
-		   {
-            title: '宸ュ崟ID',
-            align:"center",
+            key: 'rowIndex',
+            width: 60,
+            align: 'center',
+            customRender: function(t, r, index) {
+              return parseInt(index) + 1
+            },
+            fixed: 'left'
+          },
+          {
+            title: '缁熶竴缂栫爜',
+            align: 'center',
+            dataIndex: 'equipmentCode',
+            fixed: 'left'
+          },
+          {
+            title: '璁惧鍚嶇О',
+            align: 'center',
+            dataIndex: 'equipmentName',
+            fixed: 'left'
+          },
+          {
+            title: '璁惧鍨嬪彿',
+            align: 'center',
+            dataIndex: 'equipmentModel',
+            fixed: 'left'
+          },
+          {
+            title: '宸ュ崟鍙�',
+            align: 'center',
             dataIndex: 'orderId'
-           },
-		   {
+          },
+          {
             title: '鍙樻洿鍗曞彿',
-            align:"center",
+            align: 'center',
             dataIndex: 'changeOrderNum'
-           },
-		   {
+          },
+          {
             title: '鐢宠浜�',
-            align:"center",
-            dataIndex: 'applicant'
-           },
-		   {
+            align: 'center',
+            dataIndex: 'applicant_dictText'
+          },
+          {
             title: '鐢宠閮ㄩ棬',
-            align:"center",
-            dataIndex: 'factoryOrgCode'
-           },
-		   {
+            align: 'center',
+            dataIndex: 'factoryOrgCode_dictText'
+          },
+          {
             title: '鐢宠鏃ユ湡',
-            align:"center",
+            align: 'center',
             dataIndex: 'applyDate'
-           },
-		   {
-            title: '鍙樻洿鐘舵��;寰呮彁浜ゃ�佸緟涓荤瀹℃牳銆佸緟閮ㄩ棬纭銆佸緟淇濋殰閮ㄧ‘璁ゃ�佸凡浣滃簾銆佸凡瀹屾垚',
-            align:"center",
-            dataIndex: 'changeStatus'
-           },
-		   {
-            title: '鍙樻洿鍘熷洜;鐢熶骇浠诲姟鎬ユ棤娉曞仠鏈恒�佽澶囨晠闅滄澶勪簬缁翠慨鐘舵�併�佽澶囧凡鎶ュ簾銆佽澶囧ぇ淇�佹惉杩併�佹敼閫�',
-            align:"center",
-            dataIndex: 'applyReason'
-           },
-		   {
+          },
+          {
+            title: '鍙樻洿鐘舵��',
+            align: 'center',
+            dataIndex: 'changeStatus_dictText'
+          },
+          {
+            title: '鍙樻洿鍘熷洜',
+            align: 'center',
+            dataIndex: 'applyReason_dictText'
+          },
+          {
             title: '鍙樻洿閴村畾鏃ユ湡',
-            align:"center",
-            dataIndex: 'deferredMaintenanceDate'
-           },
-		   {
+            align: 'center',
+            dataIndex: 'deferredEvaluationDate'
+          },
+          {
             title: '涓荤棰嗗绛惧瓧',
-            align:"center",
-            dataIndex: 'equipmentManagerSignature'
-           },
-		   {
+            align: 'center',
+            dataIndex: 'equipmentManagerSignature_dictText'
+          },
+          {
             title: '涓荤棰嗗绛惧瓧鏃堕棿',
-            align:"center",
+            align: 'center',
             dataIndex: 'equipmentManagerSignatureTime'
-           },
-		   {
-            title: '閮ㄩ棬棰嗗绛惧瓧;鏍规嵁鍙樻洿鍘熷洜绫诲瀷鍖哄垎涓嶅悓鐨勪汉瀹℃壒',
-            align:"center",
-            dataIndex: 'departManagerSignature'
-           },
-		   {
+          },
+          {
+            title: '閮ㄩ棬棰嗗绛惧瓧',
+            align: 'center',
+            dataIndex: 'departManagerSignature_dictText'
+          },
+          {
             title: '閮ㄩ棬棰嗗绛惧瓧鏃堕棿',
-            align:"center",
+            align: 'center',
             dataIndex: 'departManagerSignatureTime'
-           },
-		   {
-            title: '閮ㄩ棬棰嗗鎰忚',
-            align:"center",
-            dataIndex: 'departManagerComment'
-           },
-		   {
+          },
+          {
             title: '鐢熶骇淇濋殰閮ㄩ瀵肩瀛�',
-            align:"center",
-            dataIndex: 'productionSupportSignature'
-           },
-		   {
+            align: 'center',
+            dataIndex: 'productionSupportSignature_dictText'
+          },
+          {
             title: '鐢熶骇淇濋殰閮ㄩ瀵肩瀛楁椂闂�',
-            align:"center",
+            align: 'center',
             dataIndex: 'productionSupportSignatureTime'
-           },
-		   {
-            title: '鐢熶骇淇濋殰閮ㄩ瀵兼剰瑙�',
-            align:"center",
-            dataIndex: 'productionSupportComment'
-           },
-		   {
+          },
+          {
             title: 'HF缂栫爜',
-            align:"center",
+            align: 'center',
             dataIndex: 'hfCode'
-           },
+          },
           {
             title: '鎿嶄綔',
             dataIndex: 'action',
-            align:"center",
+            align: 'center',
             scopedSlots: { customRender: 'action' },
+            fixed: 'right',
+            width: 200
           }
         ],
-		url: {
-          list: "/eam/eamTechnicalStatusEvaluationOrderChange/list",
-          delete: "/eam/eamTechnicalStatusEvaluationOrderChange/delete",
-          deleteBatch: "/eam/eamTechnicalStatusEvaluationOrderChange/deleteBatch",
-          exportXlsUrl: "eam/eamTechnicalStatusEvaluationOrderChange/exportXls",
-          importExcelUrl: "eam/eamTechnicalStatusEvaluationOrderChange/importExcel",
-       },
-    }
-  },
-  computed: {
-    importExcelUrl: function(){
-      return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
-    }
-  },
+        selectedRowData: {},
+        url: {
+          list: '/eam/eamTechnicalStatusEvaluationOrderChange/list',
+          edit: '/eam/eamTechnicalStatusEvaluationOrderChange/edit',
+          submit: '/eam/eamTechnicalStatusEvaluationOrderChange/submit',
+          abolish: '/eam/eamTechnicalStatusEvaluationOrderChange/abolish'
+        }
+      }
+    },
     methods: {
-     
+      /**
+       * 鎻愪氦鏃惰Е鍙�
+       * @param id
+       */
+      handleSubmit(id) {
+        const that = this
+        that.loading = true
+        getAction(this.url.submit, { id })
+          .then(res => {
+            if (res.success) {
+              that.$notification.success({
+                message: '娑堟伅',
+                description: res.message
+              })
+              that.loadData()
+              that.loading = false
+            } else {
+              that.$notification.warning({
+                message: '娑堟伅',
+                description: res.message
+              })
+            }
+          })
+      },
+
+      /**
+       * 浣滃簾鏃惰Е鍙�
+       * @param id
+       */
+      handleAbolish(id) {
+        const that = this
+        that.loading = true
+        getAction(this.url.abolish, { id })
+          .then(res => {
+            if (res.success) {
+              that.$notification.success({
+                message: '娑堟伅',
+                description: res.message
+              })
+              that.loadData()
+            } else {
+              that.$notification.warning({
+                message: '娑堟伅',
+                description: res.message
+              })
+              that.loading = false
+            }
+          })
+      },
+
+      /**
+       * 鐐瑰嚮璇︽儏鏃惰Е鍙戞椂瑙﹀彂
+       * @param record
+       */
+      handleDetail(record) {
+        this.$refs.evaluationOrderChangeApprovalModal.title = '璇︽儏'
+        this.$refs.evaluationOrderChangeApprovalModal.disableSubmit = true
+        this.$refs.evaluationOrderChangeApprovalModal.visible = true
+        this.$refs.evaluationOrderChangeApprovalModal.handleDetail(record)
+      },
+
+      /**
+       * 鐢宠鏃堕棿鍙戠敓鏀瑰彉鏃惰Е鍙�
+       * @param dateStringArray
+       */
+      handleDateRangeChange(dateStringArray) {
+        this.queryParam.dateBegin = dateStringArray[0]
+        this.queryParam.dateEnd = dateStringArray[1]
+      }
     }
   }
-</script>
-<style scoped>
-  @import '~@assets/less/common.less';
-</style>
\ No newline at end of file
+</script>
\ No newline at end of file
diff --git a/src/views/eam/technical/EamTechnicalStatusEvaluationOrderList.vue b/src/views/eam/technical/EamTechnicalStatusEvaluationOrderList.vue
index 2232cf7..8a25359 100644
--- a/src/views/eam/technical/EamTechnicalStatusEvaluationOrderList.vue
+++ b/src/views/eam/technical/EamTechnicalStatusEvaluationOrderList.vue
@@ -46,29 +46,38 @@
 
         <span slot="action" slot-scope="text, record">
           <template v-if="record.evaluationStatus === 'WAIT_EVALUATION'">
-            <a-popconfirm title="纭畾棰嗗彇鍚楋紵"
-                          @confirm="handleReceive(record.id)">
+            <a-popconfirm title="纭畾棰嗗彇鍚楋紵" @confirm="handleReceive(record.id)">
             <a>棰嗗彇</a>
           </a-popconfirm>
 
            <a-divider type="vertical"/>
           </template>
 
-            <a @click="handleDetail(record)">璇︽儏</a>
+          <template v-if="record.evaluationStatus == 'WAIT_EVALUATION'||record.evaluationStatus=='LOCKED'">
+             <a @click="handleOrderChange(record)">鍙樻洿</a>
+
+             <a-divider type="vertical"/>
+          </template>
+
+          <a @click="handleDetail(record)">璇︽儏</a>
         </span>
     </a-table>
     <!-- table鍖哄煙-end -->
 
-    <!-- 琛ㄥ崟鍖哄煙 -->
+    <!--宸ュ崟寮圭獥-->
     <eamTechnicalStatusEvaluationOrder-modal ref="modalForm" @ok="modalFormOk"/>
 
     <technical-status-evaluation-approval-modal ref="technicalStatusEvaluationApprovalModal"
                                                 :selectShenpiData="selectedOrderData"/>
+
+    <!--宸ュ崟鍙樻洿寮圭獥-->
+    <eamTechnicalStatusEvaluationOrderChange-modal ref="orderChangeModal" @ok="modalFormOk"/>
   </a-card>
 </template>
 
 <script>
   import EamTechnicalStatusEvaluationOrderModal from './modules/EamTechnicalStatusEvaluationOrderModal'
+  import EamTechnicalStatusEvaluationOrderChangeModal from './modules/EamTechnicalStatusEvaluationOrderChangeModal'
   import { JeecgListMixin } from '@/mixins/JeecgListMixin'
   import { getAction } from '@/api/manage'
   import LxSearchEquipmentSelect from '../equipment/modules/LxSearchEquipmentSelect'
@@ -81,7 +90,8 @@
     components: {
       TechnicalStatusEvaluationApprovalModal,
       LxSearchEquipmentSelect,
-      EamTechnicalStatusEvaluationOrderModal
+      EamTechnicalStatusEvaluationOrderModal,
+      EamTechnicalStatusEvaluationOrderChangeModal
     },
     data() {
       return {
@@ -263,6 +273,10 @@
       }
     },
     methods: {
+      /**
+       * 鐐瑰嚮棰嗗彇鏃惰Е鍙�
+       * @param id
+       */
       handleReceive(id) {
         let that = this
         this.loading = true
@@ -284,11 +298,25 @@
           })
       },
 
+      /**
+       * 鐐瑰嚮鍙樻洿鏃惰Е鍙�
+       * @param record
+       */
+      handleOrderChange(record) {
+        this.$refs.orderChangeModal.title = '鍙樻洿'
+        this.$refs.orderChangeModal.add(record)
+      },
+
+      /**
+       * 鐐瑰嚮璇︽儏鏃惰Е鍙�
+       * @param record
+       */
       handleDetail(record) {
         this.selectedOrderData = Object.assign({}, record)
-        this.$refs.technicalStatusEvaluationApprovalModal.recordDetail(record)
         this.$refs.technicalStatusEvaluationApprovalModal.title = '璇︽儏'
+        this.$refs.technicalStatusEvaluationApprovalModal.visible = true
         this.$refs.technicalStatusEvaluationApprovalModal.disableSubmit = true
+        this.$refs.technicalStatusEvaluationApprovalModal.recordDetail(record)
       }
     }
   }
diff --git a/src/views/eam/technical/modules/EamTechnicalStatusEvaluationOrderChangeModal.vue b/src/views/eam/technical/modules/EamTechnicalStatusEvaluationOrderChangeModal.vue
index db9bd4b..d824a4d 100644
--- a/src/views/eam/technical/modules/EamTechnicalStatusEvaluationOrderChangeModal.vue
+++ b/src/views/eam/technical/modules/EamTechnicalStatusEvaluationOrderChangeModal.vue
@@ -1,162 +1,140 @@
 <template>
-  <j-modal
-    :title="title"
-    :width="800"
-    :visible="visible"
-    :confirmLoading="confirmLoading"
-    switchFullscreen
-    @ok="handleOk"
-    @cancel="handleCancel"
-    cancelText="鍏抽棴">
-    
+  <j-modal :title="title" :width="1300" :visible="visible" :confirmLoading="confirmLoading" switchFullscreen
+           @ok="handleOk" @cancel="handleCancel" cancelText="鍏抽棴">
     <a-spin :spinning="confirmLoading">
-      <a-form-model ref="form" :model="model" :rules="validatorRules">
-      
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="delFlag" label="鍒犻櫎鏍囪">
-          <a-input-number v-model="model.delFlag"/>
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="orderId" label="宸ュ崟ID">
-          <a-input placeholder="璇疯緭鍏ュ伐鍗旾D" v-model="model.orderId" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="changeOrderNum" label="鍙樻洿鍗曞彿">
-          <a-input placeholder="璇疯緭鍏ュ彉鏇村崟鍙�" v-model="model.changeOrderNum" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="applicant" label="鐢宠浜�">
-          <a-input placeholder="璇疯緭鍏ョ敵璇蜂汉" v-model="model.applicant" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="factoryOrgCode" label="鐢宠閮ㄩ棬">
-          <a-input placeholder="璇疯緭鍏ョ敵璇烽儴闂�" v-model="model.factoryOrgCode" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="applyDate" label="鐢宠鏃ユ湡">
-          <a-input placeholder="璇疯緭鍏ョ敵璇锋棩鏈�" v-model="model.applyDate" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="changeStatus" label="鍙樻洿鐘舵��;寰呮彁浜ゃ�佸緟涓荤瀹℃牳銆佸緟閮ㄩ棬纭銆佸緟淇濋殰閮ㄧ‘璁ゃ�佸凡浣滃簾銆佸凡瀹屾垚">
-          <a-input placeholder="璇疯緭鍏ュ彉鏇寸姸鎬�;寰呮彁浜ゃ�佸緟涓荤瀹℃牳銆佸緟閮ㄩ棬纭銆佸緟淇濋殰閮ㄧ‘璁ゃ�佸凡浣滃簾銆佸凡瀹屾垚" v-model="model.changeStatus" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="applyReason" label="鍙樻洿鍘熷洜;鐢熶骇浠诲姟鎬ユ棤娉曞仠鏈恒�佽澶囨晠闅滄澶勪簬缁翠慨鐘舵�併�佽澶囧凡鎶ュ簾銆佽澶囧ぇ淇�佹惉杩併�佹敼閫�">
-          <a-input placeholder="璇疯緭鍏ュ彉鏇村師鍥�;鐢熶骇浠诲姟鎬ユ棤娉曞仠鏈恒�佽澶囨晠闅滄澶勪簬缁翠慨鐘舵�併�佽澶囧凡鎶ュ簾銆佽澶囧ぇ淇�佹惉杩併�佹敼閫�" v-model="model.applyReason" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="deferredMaintenanceDate" label="鍙樻洿閴村畾鏃ユ湡">
-          <a-input placeholder="璇疯緭鍏ュ彉鏇撮壌瀹氭棩鏈�" v-model="model.deferredMaintenanceDate" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="equipmentManagerSignature" label="涓荤棰嗗绛惧瓧">
-          <a-input placeholder="璇疯緭鍏ヤ富绠¢瀵肩瀛�" v-model="model.equipmentManagerSignature" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="equipmentManagerSignatureTime" label="涓荤棰嗗绛惧瓧鏃堕棿">
-          <a-input placeholder="璇疯緭鍏ヤ富绠¢瀵肩瀛楁椂闂�" v-model="model.equipmentManagerSignatureTime" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="departManagerSignature" label="閮ㄩ棬棰嗗绛惧瓧;鏍规嵁鍙樻洿鍘熷洜绫诲瀷鍖哄垎涓嶅悓鐨勪汉瀹℃壒">
-          <a-input placeholder="璇疯緭鍏ラ儴闂ㄩ瀵肩瀛�;鏍规嵁鍙樻洿鍘熷洜绫诲瀷鍖哄垎涓嶅悓鐨勪汉瀹℃壒" v-model="model.departManagerSignature" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="departManagerSignatureTime" label="閮ㄩ棬棰嗗绛惧瓧鏃堕棿">
-          <a-input placeholder="璇疯緭鍏ラ儴闂ㄩ瀵肩瀛楁椂闂�" v-model="model.departManagerSignatureTime" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="departManagerComment" label="閮ㄩ棬棰嗗鎰忚">
-          <a-input placeholder="璇疯緭鍏ラ儴闂ㄩ瀵兼剰瑙�" v-model="model.departManagerComment" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="productionSupportSignature" label="鐢熶骇淇濋殰閮ㄩ瀵肩瀛�">
-          <a-input placeholder="璇疯緭鍏ョ敓浜т繚闅滈儴棰嗗绛惧瓧" v-model="model.productionSupportSignature" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="productionSupportSignatureTime" label="鐢熶骇淇濋殰閮ㄩ瀵肩瀛楁椂闂�">
-          <a-input placeholder="璇疯緭鍏ョ敓浜т繚闅滈儴棰嗗绛惧瓧鏃堕棿" v-model="model.productionSupportSignatureTime" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="productionSupportComment" label="鐢熶骇淇濋殰閮ㄩ瀵兼剰瑙�">
-          <a-input placeholder="璇疯緭鍏ョ敓浜т繚闅滈儴棰嗗鎰忚" v-model="model.productionSupportComment" />
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="hfCode" label="HF缂栫爜">
-          <a-input placeholder="璇疯緭鍏F缂栫爜" v-model="model.hfCode" />
-        </a-form-model-item>
-		
+      <a-form-model ref="form" :model="model" :rules="validatorRules" :labelCol="labelCol" :wrapperCol="wrapperCol">
+        <a-row>
+          <a-col :span="8">
+            <a-form-model-item label="宸ュ崟鍙�">
+              <a-input placeholder="閫夋嫨璁惧鍚庤嚜鍔ㄥ甫鍑�" disabled v-model="model.orderId"/>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="8">
+            <a-form-model-item label="鍙樻洿鍗曞彿">
+              <a-input placeholder="绯荤粺鑷姩鐢熸垚" disabled v-model="model.changeOrderNum"/>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="8">
+            <a-form-model-item label="缁熶竴缂栫爜">
+              <technical-status-equipment-select placeholder="璇疯緭鍏ョ粺涓�缂栫爜鎴栧悕绉版悳绱�" v-model="model.equipmentId" disabled/>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="8">
+            <a-form-model-item prop="deferredEvaluationDate" label="鍙樻洿閴村畾鏃ユ湡">
+              <a-date-picker v-model="model.deferredEvaluationDate" value-format="YYYY-MM-DD" style="width: 100%"/>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="8">
+            <a-form-model-item prop="applyReason" label="鍙樻洿鍘熷洜">
+              <j-dict-select-tag v-model="model.applyReason" placeholder="璇烽�夋嫨鍙樻洿鍘熷洜"
+                                 dict-code="technical_status_evaluation_order_change_reason"/>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item label="澶囨敞" :labelCol="{span:2}" :wrapperCol="{span:21}">
+              <a-textarea v-model="model.remark" placeholder="璇疯緭鍏ュ娉�"/>
+            </a-form-model-item>
+          </a-col>
+        </a-row>
       </a-form-model>
     </a-spin>
   </j-modal>
 </template>
 
 <script>
-  import { httpAction } from '@/api/manage'
-  import moment from "moment"
+  import { postAction } from '@/api/manage'
+  import TechnicalStatusEquipmentSelect from '../../equipment/modules/TechnicalStatusEquipmentSelect'
 
   export default {
-    name: "EamTechnicalStatusEvaluationOrderChangeModal",
-    data () {
+    name: 'EamTechnicalStatusEvaluationOrderChangeModal',
+    components: { TechnicalStatusEquipmentSelect },
+    data() {
       return {
-        title:"鎿嶄綔",
+        title: '鎿嶄綔',
         visible: false,
         model: {},
         labelCol: {
           xs: { span: 24 },
-          sm: { span: 5 },
+          sm: { span: 6 }
         },
         wrapperCol: {
           xs: { span: 24 },
-          sm: { span: 16 },
+          sm: { span: 15 }
         },
-
         confirmLoading: false,
-        validatorRules:{
+        validatorRules: {
+          deferredEvaluationDate: [{ required: true, message: '璇烽�夋嫨鏃ユ湡', trigger: 'change' }],
+          applyReason: [{ required: true, message: '璇烽�夋嫨鍙樻洿鍘熷洜', trigger: 'change' }]
         },
         url: {
-          add: "/eam/eamTechnicalStatusEvaluationOrderChange/add",
-          edit: "/eam/eamTechnicalStatusEvaluationOrderChange/edit",
-        },
+          add: '/eam/eamTechnicalStatusEvaluationOrderChange/add',
+          edit: '/eam/eamTechnicalStatusEvaluationOrderChange/edit'
+        }
       }
     },
-    created () {
-    },
     methods: {
-      add () {
-        //鍒濆鍖栭粯璁ゅ��
-        this.edit({});
+      add({ id, equipmentId }) {
+        this.model = Object.assign({ orderId: id, equipmentId })
+        this.visible = true
       },
-      edit (record) {
-        this.model = Object.assign({}, record);
-        this.visible = true;
+
+      edit(record) {
+        this.model = Object.assign({}, record)
+        this.visible = true
       },
-      close () {
-        this.$emit('close');
-        this.visible = false;
-        this.$refs.form.clearValidate();
-      },
-      handleOk () {
-        const that = this;
+
+      handleOk() {
+        const that = this
         // 瑙﹀彂琛ㄥ崟楠岃瘉
-         this.$refs.form.validate(valid => {
+        this.$refs.form.validate(valid => {
           if (valid) {
-            that.confirmLoading = true;
-            let httpurl = '';
-            let method = '';
-            if(!this.model.id){
-              httpurl+=this.url.add;
-              method = 'post';
-            }else{
-              httpurl+=this.url.edit;
-               method = 'put';
+            that.confirmLoading = true
+
+            let httpUrl
+            if (!that.model.id) {
+              httpUrl = that.url.add
+            } else {
+              httpUrl = that.url.edit
             }
-            httpAction(httpurl,this.model,method).then((res)=>{
-              if(res.success){
-                that.$message.success(res.message);
-                that.$emit('ok');
-              }else{
-                that.$message.warning(res.message);
-              }
-            }).finally(() => {
-              that.confirmLoading = false;
-              that.close();
-            })
-          }else{
-             return false;
+
+            postAction(httpUrl, that.model)
+              .then((res) => {
+                if (res.success) {
+                  that.$notification.success({
+                    message: '娑堟伅',
+                    description: res.message
+                  })
+                  if (!that.model.id) {
+                    that.$router.push('/eam/technical/order/change')
+                    return
+                  }
+                  that.close()
+                  that.$emit('ok')
+                } else {
+                  that.$notification.warning({
+                    message: '娑堟伅',
+                    description: res.message
+                  })
+                }
+              })
+              .finally(() => {
+                that.confirmLoading = false
+              })
+          } else {
+            return false
           }
         })
       },
-      handleCancel () {
+
+      handleCancel() {
         this.close()
       },
 
-
+      close() {
+        this.$emit('close')
+        this.visible = false
+        this.$refs.form.clearValidate()
+      }
     }
   }
-</script>
-
-<style lang="less" scoped>
-
-</style>
\ No newline at end of file
+</script>
\ No newline at end of file
diff --git a/src/views/flowable/modeler/modelerDesign.vue b/src/views/flowable/modeler/modelerDesign.vue
index 673088f..9fff7e2 100644
--- a/src/views/flowable/modeler/modelerDesign.vue
+++ b/src/views/flowable/modeler/modelerDesign.vue
@@ -8,7 +8,6 @@
           v-model="queryParams.name"
           placeholder="璇疯緭鍏ュ悕绉�"
           clearable
-          size="small"
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
diff --git a/src/views/flowable/workflow/FlowCompleted.vue b/src/views/flowable/workflow/FlowCompleted.vue
index f8f87fc..2240529 100644
--- a/src/views/flowable/workflow/FlowCompleted.vue
+++ b/src/views/flowable/workflow/FlowCompleted.vue
@@ -1,8 +1,3 @@
-<!--
- Description: 宸ヤ綔娴�-鎴戠殑宸插姙 List
- Author: 浣滆�� liuyh
- Date:   2025-02-27
--->
 <template>
   <a-card :bordered="false">
     <!-- 鏌ヨ鍖哄煙 -->
@@ -17,13 +12,11 @@
           </a-col>
           <a-col :xl="10" :lg="11" :md="12" :sm="24">
             <a-form-item label="鎿嶄綔鏃堕棿">
-              <j-date :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" placeholder="璇烽�夋嫨寮�濮嬫椂闂�"
-                      class="query-group-cust"
-                      v-model="queryParam.startTime"></j-date>
+              <j-date :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" placeholder="璇烽�夋嫨寮�濮嬫椂闂�" class="query-group-cust"
+                      v-model="queryParam.startTime"/>
               <span class="query-group-split-cust"></span>
-              <j-date :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" placeholder="璇烽�夋嫨缁撴潫鏃堕棿"
-                      class="query-group-cust"
-                      v-model="queryParam.endTime"></j-date>
+              <j-date :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" placeholder="璇烽�夋嫨缁撴潫鏃堕棿" class="query-group-cust"
+                      v-model="queryParam.endTime"/>
             </a-form-item>
           </a-col>
           <a-col :xl="6" :lg="7" :md="8" :sm="24">
@@ -37,264 +30,169 @@
     </div>
     <!-- 鏌ヨ鍖哄煙-END -->
 
-    <!-- table鍖哄煙-begin -->
-    <div>
-
-      <a-table
-        ref="table"
-        size="middle"
-        :scroll="{x:true}"
-        bordered
-        rowKey="id"
-        :columns="columns"
-        :dataSource="dataSource"
-        :pagination="ipagination"
-        :loading="loading"
-        class="j-table-force-nowrap"
-        @change="handleTableChange">
+    <a-table ref="table" size="middle" :scroll="{x:true}" bordered rowKey="id" :columns="columns"
+             :dataSource="dataSource" :pagination="ipagination" :loading="loading" class="j-table-force-nowrap"
+             @change="handleTableChange">
 
         <span slot="action" slot-scope="text, record">
-            <a @click="handelDetial(record,text)">璇︽儏</a>
+            <a @click="handleDetail(record)">璇︽儏</a>
         </span>
+    </a-table>
 
-      </a-table>
-    </div>
+    <third-maintenance-approval-modal ref="thirdMaintenanceApprovalModal" :selectShenpiData="selectedRowData"/>
   </a-card>
 </template>
 
 <script>
+  import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+  import ThirdMaintenanceApprovalModal from './thirdMaintenance/ThirdMaintenanceApprovalModal'
 
-import '@/assets/less/TableExpand.less'
-import { mixinDevice } from '@/utils/mixin'
-import { JeecgListMixin } from '@/mixins/JeecgListMixin'
-import JDictSelectTag from '@/components/dict/JDictSelectTag.vue'
-export default {
-  name: 'NcDeviceCharactersList',
-  mixins: [JeecgListMixin, mixinDevice],
-  components: {
-    JDictSelectTag,
-  },
-  data() {
-    return {
-      description: '宸ヤ綔娴�-宸插姙',
-      // 琛ㄥご
-      columns: [
-        {
-          title: '搴忓彿',
-          dataIndex: '',
-          key: 'rowIndex',
-          width: 200,
-          align: 'center',
-          customRender: function(t, r, index) {
-            return parseInt(index) + 1
+  export default {
+    name: 'FlowCompleted',
+    mixins: [JeecgListMixin],
+    components: {
+      ThirdMaintenanceApprovalModal
+    },
+    data() {
+      return {
+        description: '宸ヤ綔娴�-宸插姙',
+        // 琛ㄥご
+        columns: [
+          {
+            title: '搴忓彿',
+            dataIndex: '',
+            key: 'rowIndex',
+            width: 60,
+            align: 'center',
+            customRender: function(t, r, index) {
+              return parseInt(index) + 1
+            }
+          },
+          {
+            title: '娴佺▼鍒嗙被',
+            align: 'center',
+            dataIndex: 'category_dictText'
+          },
+          {
+            title: '娴佺▼鍚嶇О',
+            align: 'center',
+            dataIndex: 'procDefName'
+          },
+          {
+            title: '娴佺▼涓氬姟绠�瑕佹弿杩�',
+            align: 'center',
+            dataIndex: 'description'
+          },
+          {
+            title: '娴佺▼鍙戣捣浜哄悕绉�',
+            align: 'center',
+            dataIndex: 'proposer_dictText'
+          },
+          {
+            title: '浠诲姟鍚嶇О',
+            align: 'center',
+            dataIndex: 'taskName'
+          },
+          {
+            title: '鎿嶄綔鏃堕棿',
+            align: 'center',
+            dataIndex: 'finishTime',
+            width: 200
+          },
+          {
+            title: '鎿嶄綔',
+            dataIndex: 'action',
+            scopedSlots: { customRender: 'action' },
+            align: 'center',
+            fixed: 'right',
+            width: 200
           }
+        ],
+        url: {
+          list: '/assign/flow/finishedList'
         },
-        {
-          title: '娴佺▼鍒嗙被',
-          align: 'center',
-          dataIndex: 'category_dictText',
-          width: 200
-        },
-        {
-          title: '娴佺▼鍚嶇О',
-          align: 'center',
-          dataIndex: 'procDefName',
-          width: 200
-        },
-        {
-          title: '娴佺▼涓氬姟绠�瑕佹弿杩�',
-          align: 'center',
-          dataIndex: 'description',
-          width: 300
-        },
-        {
-          title: '娴佺▼鍙戣捣浜哄悕绉�',
-          align: 'center',
-          dataIndex: 'proposer_dictText',
-          width: 250
-        },
-        {
-          title: '浠诲姟鍚嶇О',
-          align: 'center',
-          dataIndex: 'taskName',
-          width: 250
-        },
-        {
-          title: '鎿嶄綔鏃堕棿',
-          align: 'center',
-          dataIndex: 'finishTime',
-          width: 300
-        },
-        {
-          title: '鎿嶄綔',
-          dataIndex: 'action',
-          scopedSlots: { customRender: 'action' },
-          align: 'center',
-          width: 200,
-          fixed: 'right'
-        }
-      ],
-      url: {
-        list: '/assign/flow/finishedList'
-      },
-      dictOptions: {},
-      selectShenpiData: {},
-      selectDispatchFileXqData: {},
-      selectWeekMaintenanceData: {},
-      selectInspectionOrderXqData: {},
-      selectRepairOrderData: {},
-      selectOutBoundOrderData: {},
-      selectLossBoundOrderData: {},
-      selectStocktakingBoundOrderData: {}
-    }
-  },
-  created() {
-  },
-  computed: {
-    importExcelUrl: function() {
-      return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`
-    }
-  },
-  methods: {
-    handelDetial(item, index) {
-      console.log('鐐瑰嚮浜嗚鎯�')
-      console.log('item----->', item)
-      console.log('index----->', index)
-      let approcesstype = this.splitAprocessType(item.category)
-      console.log('approcesstype--->', approcesstype)
-      switch (approcesstype) {
-        case 'drApproval':
-          this.handDrDetial(item)
-          break
-        case 'ggApproval':
-          this.handDispatchFileDetial(item)
-          break
-        case 'sbdjApproval':
-          this.handInspectionOrder(item)
-          break
-        case 'WEEK_MAINTENANCE':
-          this.handleWeekMaintenance(item)
-          break
-        case 'eam_repair':
-          this.handleRepairOrder(item)
-          break
-        case 'toolOutStorageApproval':
-          this.handleToolOutStorageApproval(item)
-          break
-        case 'toolsStocktakingBound':
-          this.handleToolStocktakingApproval(item)
-          break
-        case 'toolsLossApproval':
-          this.handleToolLossApproval(item)
-          break
-        default:
-          alert('娌℃壘鍒拌娴佺▼')
+        selectedRowData: {}
       }
     },
+    methods: {
+      handleDetail(record) {
+        console.log('鐐瑰嚮浜嗚鎯�')
+        console.log('record----->', record)
+        let processType = this.splitProcessType(record.category)
+        console.log('processType--->', processType)
+        switch (processType) {
+          case 'sbdjApproval':
+            this.handInspectionOrder(record)
+            break
+          case 'eam_repair':
+            this.handleRepairOrder(record)
+            break
+          case 'third_maintenance':
+            this.handleThirdMaintenance(record)
+            break
+          default:
+            alert('娌℃壘鍒拌娴佺▼')
+        }
+      },
 
-    splitAprocessType(title) {
-      let parts = title.split('锛�') // 娉ㄦ剰鍐掑彿鏄叏瑙掑瓧绗︼紝浣跨敤瀵瑰簲鐨勫瓧杩涜鍒嗗壊
-      let result = parts[0]
-      return result
-    },
-    handDrDetial(item) {
-      this.selectShenpiData = item
-      this.selectShenpiData.assignee_dictText = item.todoUsers_dictText
-      this.selectShenpiData.procInstId = item.procInsId
-      this.selectShenpiData.title = item.description
-      this.$refs.modalFormApproval.clearTableSource()
-      this.$refs.modalFormApproval.getAllApproveData(item)
-    },
-    handDispatchFileDetial(item) {
-      console.log('item----->', item)
-      this.selectDispatchFileXqData = item
-      this.selectDispatchFileXqData.assignee_dictText = item.todoUsers_dictText
-      this.selectDispatchFileXqData.procInstId = item.procInsId
-      this.selectDispatchFileXqData.processInstanceId = item.procInsId
-      this.selectDispatchFileXqData.title = item.description
-      this.$refs.modalFormDispatchFileXq.clearTableSource()
-      this.$refs.modalFormDispatchFileXq.getAllApproveData(item)
-    },
-    handleWeekMaintenance(record) {
-      this.selectWeekMaintenanceData = Object.assign({}, record)
-      this.$refs.weekMaintenanceApprovalModal.handleDetail(record)
-      this.$refs.weekMaintenanceApprovalModal.title = '璇︽儏'
-      this.$refs.weekMaintenanceApprovalModal.disableSubmit = true
-    },
+      /**
+       * 鐐瑰嚮涓変繚娴佺▼璇︽儏鏃惰Е鍙�
+       * @param record
+       */
+      handleThirdMaintenance(record) {
+        this.selectedRowData = Object.assign({}, record)
+        this.$refs.thirdMaintenanceApprovalModal.visible = true
+        this.$refs.thirdMaintenanceApprovalModal.title = record.name
+        this.$refs.thirdMaintenanceApprovalModal.disableSubmit = true
+        this.$refs.thirdMaintenanceApprovalModal.handleDetail(record)
+      },
 
-    handInspectionOrder(record) {
-      console.log('record----->', record)
-      this.selectInspectionOrderXqData = Object.assign({}, record)
-      const { todoUsers_dictText, procInsId, description, taskName } = this.selectInspectionOrderXqData
-      this.selectInspectionOrderXqData.assignee_dictText = todoUsers_dictText
-      this.selectInspectionOrderXqData.procInstId = procInsId
-      this.selectInspectionOrderXqData.processInstanceId = procInsId
-      this.selectInspectionOrderXqData.title = description
-      this.$refs.modalFormInspectionOrderXq.visible = true
-      this.$refs.modalFormInspectionOrderXq.title = taskName
-      this.$refs.modalFormInspectionOrderXq.disableSubmit = true
-      this.$refs.modalFormInspectionOrderXq.getAllApproveData({
-        ...record,
-        procInstId: procInsId,
-        processInstanceId: procInsId
-      })
-      this.$refs.modalFormInspectionOrderXq.getBasicInformation(record)
-    },
+      /**
+       * 鐐瑰嚮鐐规娴佺▼璇︽儏鏃惰Е鍙�
+       * @param record
+       */
+      handInspectionOrder(record) {
+        console.log('record----->', record)
+        this.selectInspectionOrderXqData = Object.assign({}, record)
+        const { todoUsers_dictText, procInsId, description, taskName } = this.selectInspectionOrderXqData
+        this.selectInspectionOrderXqData.assignee_dictText = todoUsers_dictText
+        this.selectInspectionOrderXqData.procInstId = procInsId
+        this.selectInspectionOrderXqData.processInstanceId = procInsId
+        this.selectInspectionOrderXqData.title = description
+        this.$refs.modalFormInspectionOrderXq.visible = true
+        this.$refs.modalFormInspectionOrderXq.title = taskName
+        this.$refs.modalFormInspectionOrderXq.disableSubmit = true
+        this.$refs.modalFormInspectionOrderXq.getAllApproveData({
+          ...record,
+          procInstId: procInsId,
+          processInstanceId: procInsId
+        })
+        this.$refs.modalFormInspectionOrderXq.getBasicInformation(record)
+      },
 
-    /**
-     * 鐐瑰嚮璁惧缁翠慨鍒嗙被娴佺▼璇︽儏鏃惰Е鍙�
-     * @param record
-     */
-    handleRepairOrder(record) {
-      this.selectRepairOrderData = Object.assign({}, record)
-      const { procInsId, taskName } = this.selectRepairOrderData
-      this.$refs.repairOrderApprovalModal.visible = true
-      this.$refs.repairOrderApprovalModal.disableSubmit = true
-      this.$refs.repairOrderApprovalModal.title = taskName
-      this.$refs.modalFormInspectionOrderXq.getAllApproveData({
-        ...record,
-        procInstId: procInsId,
-        processInstanceId: procInsId
-      })
-      this.$refs.repairOrderApprovalModal.getBasicInformation(record)
-    },
+      /**
+       * 鐐瑰嚮璁惧缁翠慨鍒嗙被娴佺▼璇︽儏鏃惰Е鍙�
+       * @param record
+       */
+      handleRepairOrder(record) {
+        this.selectRepairOrderData = Object.assign({}, record)
+        const { procInsId, taskName } = this.selectRepairOrderData
+        this.$refs.repairOrderApprovalModal.visible = true
+        this.$refs.repairOrderApprovalModal.disableSubmit = true
+        this.$refs.repairOrderApprovalModal.title = taskName
+        this.$refs.modalFormInspectionOrderXq.getAllApproveData({
+          ...record,
+          procInstId: procInsId,
+          processInstanceId: procInsId
+        })
+        this.$refs.repairOrderApprovalModal.getBasicInformation(record)
+      },
 
-    handleToolOutStorageApproval(item) {
-      this.selectOutBoundOrderData = Object.assign({}, item)
-      item.procInstId = item.procInsId
-      item.processInstanceId = item.procInsId
-      this.selectOutBoundOrderData.assignee_dictText = item.todoUsers_dictText
-      this.$refs.outBoundOrderHandle.auditVisible = false
-      this.$refs.outBoundOrderHandle.clearTableSource()
-      this.$refs.outBoundOrderHandle.getAllApproveData(item)
-    },
-
-    handleToolStocktakingApproval(item) {
-
-      this.selectStocktakingBoundOrderData = Object.assign({}, item)
-      item.procInstId = item.procInsId
-      item.processInstanceId = item.procInsId
-      this.selectStocktakingBoundOrderData.assignee_dictText = item.todoUsers_dictText
-      this.$refs.stocktakingBoundHandle.auditVisible = false
-      this.$refs.stocktakingBoundHandle.disableSubmit = true
-      this.$refs.stocktakingBoundHandle.clearTableSource()
-      this.$refs.stocktakingBoundHandle.getAllApproveData(item)
-
-    },
-    handleToolLossApproval(item) {
-      this.selectLossBoundOrderData = Object.assign({}, item)
-      item.procInstId = item.procInsId
-      item.processInstanceId = item.procInsId
-      this.selectStocktakingBoundOrderData.assignee_dictText = item.todoUsers_dictText
-      this.$refs.lossBoundHandle.auditVisible = false
-      this.$refs.lossBoundHandle.disableSubmit = true
-      this.$refs.lossBoundHandle.clearTableSource()
-      this.$refs.lossBoundHandle.getAllApproveData(item)
-
+      splitProcessType(title) {
+        let parts = title.split('锛�') // 娉ㄦ剰鍐掑彿鏄叏瑙掑瓧绗︼紝浣跨敤瀵瑰簲鐨勫瓧杩涜鍒嗗壊
+        let result = parts[0]
+        return result
+      }
     }
   }
-}
-</script>
-<style scoped>
-@import '~@assets/less/common.less';
-</style>
\ No newline at end of file
+</script>
\ No newline at end of file
diff --git a/src/views/flowable/workflow/FlowLedger.vue b/src/views/flowable/workflow/FlowLedger.vue
index 2e676a7..4b5f081 100644
--- a/src/views/flowable/workflow/FlowLedger.vue
+++ b/src/views/flowable/workflow/FlowLedger.vue
@@ -1,31 +1,26 @@
-<!--
- Description: 宸ヤ綔娴�-鎬诲彴璐� List
- Author: 浣滆�� liuyh
- Date:   2025-02-27
--->
 <template>
   <a-card :bordered="false">
     <!-- 鏌ヨ鍖哄煙 -->
     <div class="table-page-search-wrapper">
       <a-form layout="inline" @keyup.enter.native="searchQuery">
         <a-row :gutter="24">
-          <a-col :xl="6" :lg="7" :md="8" :sm="24">
+          <a-col :xl="4" :lg="6" :md="8" :sm="24">
             <a-form-item label="娴佺▼鍒嗙被">
               <j-dict-select-tag placeholder="璇烽�夋嫨娴佺▼鍒嗙被" v-model="queryParam.category"
                                  dictCode="flow_type"></j-dict-select-tag>
             </a-form-item>
           </a-col>
-          <a-col :xl="6" :lg="7" :md="8" :sm="24">
+          <a-col :xl="4" :lg="6" :md="8" :sm="24">
             <a-form-item label="娴佺▼鍚嶇О">
               <a-input placeholder="璇疯緭鍏ユ祦绋嬪悕绉�" v-model="queryParam.flowName"></a-input>
             </a-form-item>
           </a-col>
-          <a-col :xl="6" :lg="7" :md="8" :sm="24">
+          <a-col :xl="4" :lg="6" :md="8" :sm="24">
             <a-form-item label="绠�瑕佹弿杩�">
               <a-input placeholder="璇疯緭鍏ョ畝瑕佹弿杩�" v-model="queryParam.title"></a-input>
             </a-form-item>
           </a-col>
-          <a-col :xl="10" :lg="11" :md="12" :sm="24">
+          <a-col :xl="8" :lg="12" :md="12" :sm="24">
             <a-form-item label="鎿嶄綔鏃堕棿">
               <j-date :show-time="true" date-format="YYYY-MM-DD HH:mm:ss" placeholder="璇烽�夋嫨寮�濮嬫椂闂�" class="query-group-cust"
                       v-model="queryParam.startTime"></j-date>
@@ -34,7 +29,7 @@
                       v-model="queryParam.endTime"></j-date>
             </a-form-item>
           </a-col>
-          <a-col :xl="6" :lg="7" :md="8" :sm="24">
+          <a-col :xl="4" :lg="6" :md="8" :sm="24">
             <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
               <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>
               <a-button @click="searchReset" icon="reload" style="margin-left: 8px">閲嶇疆</a-button>
@@ -74,10 +69,10 @@
 
 <script>
 
-import '@/assets/less/TableExpand.less'
-import { mixinDevice } from '@/utils/mixin'
-import { JeecgListMixin } from '@/mixins/JeecgListMixin'
-import JDictSelectTag from '@/components/dict/JDictSelectTag.vue'
+  import '@/assets/less/TableExpand.less'
+  import { mixinDevice } from '@/utils/mixin'
+  import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+  import JDictSelectTag from '@/components/dict/JDictSelectTag.vue'
 
   export default {
     name: 'FlowLedger',
@@ -113,7 +108,7 @@
           {
             title: '娴佺▼涓氬姟绠�瑕佹弿杩�',
             align: 'center',
-            dataIndex: 'description',
+            dataIndex: 'description'
           },
           {
             title: '鐢宠浜�',
@@ -189,11 +184,11 @@
         console.log('approcesstype--->', approcesstype)
         switch (approcesstype) {
           case 'drApproval':
-            item.description=item.description
+            item.description = item.description
             this.handDrDetial(item)
             break
           case 'ggApproval':
-            item.description=item.description
+            item.description = item.description
             this.handDispatchFileDetial(item)
             break
           case 'sbdjApproval':
@@ -208,27 +203,6 @@
         let parts = title.split('锛�') // 娉ㄦ剰鍐掑彿鏄叏瑙掑瓧绗︼紝浣跨敤瀵瑰簲鐨勫瓧杩涜鍒嗗壊
         let result = parts[0]
         return result
-      },
-      handDrDetial(item) {
-        this.selectShenpiData = item
-        this.selectShenpiData.assignee_dictText=item.todoUsers_dictText
-        this.selectShenpiData.createTime=item.startTime
-        this.selectShenpiData.procInstId=item.processInstanceId
-        this.$refs.modalFormApproval.clearTableSource()
-        this.$refs.modalFormApproval.getAllApproveData(item)
-      },
-      handDispatchFileDetial(item){
-        this.selectDispatchFileXqData = item
-
-
-
-
-
-        this.selectDispatchFileXqData.assignee_dictText=item.todoUsers_dictText
-        this.selectDispatchFileXqData.createTime=item.startTime
-        this.selectDispatchFileXqData.procInstId=item.processInstanceId
-        this.$refs.modalFormDispatchFileXq.clearTableSource()
-        this.$refs.modalFormDispatchFileXq.getAllApproveData(item)
       },
       handInspectionOrderDetail(item) {
         this.selectInspectionOrderXqData = item
diff --git a/src/views/flowable/workflow/FlowTodo.vue b/src/views/flowable/workflow/FlowTodo.vue
index e42673d..78481be 100644
--- a/src/views/flowable/workflow/FlowTodo.vue
+++ b/src/views/flowable/workflow/FlowTodo.vue
@@ -78,20 +78,30 @@
       </a-table>
     </div>
 
+    <!--淇濆吇瑙勮寖-->
     <maintenance-standard-approval-modal ref="maintenanceStandardApprovalModal" @modalFormOk="modalFormOk"
                                          :selectShenpiData="selectedRowData"/>
 
+    <!--鐐规-->
     <inspection-order-handle ref="inspectionOrderHandle" :selectShenpiData="selectedRowData"
                              @modalFormOk="modalFormOk"/>
 
+    <!--鎶�鏈壌瀹氬伐鍗�-->
     <technical-status-evaluation-approval-modal ref="technicalStatusApprovalModal" :selectShenpiData="selectedRowData"
                                                 @modalFormOk="modalFormOk"/>
 
+    <!--浜屼繚宸ュ崟-->
     <second-maintenance-approval-modal ref="secondMaintenanceApprovalModal" :selectShenpiData="selectedRowData"
                                        @modalFormOk="modalFormOk"/>
 
+    <!--涓変繚宸ュ崟-->
     <third-maintenance-approval-modal ref="thirdMaintenanceApprovalModal" :selectShenpiData="selectedRowData"
                                       @modalFormOk="modalFormOk"/>
+
+    <!--鎶�鏈壌瀹氬伐鍗曞彉鏇�-->
+    <technical-status-evaluation-order-change-approval-modal ref="evaluationOrderChangeApprovalModal"
+                                                             :selectShenpiData="selectedRowData"
+                                                             @modalFormOk="modalFormOk"/>
   </a-card>
 </template>
 
@@ -104,11 +114,14 @@
     from './TechnicalStatusEvaluation/TechnicalStatusEvaluationApprovalModal'
   import SecondMaintenanceApprovalModal from './secondMaintenance/SecondMaintenanceApprovalModal'
   import ThirdMaintenanceApprovalModal from './thirdMaintenance/ThirdMaintenanceApprovalModal'
+  import TechnicalStatusEvaluationOrderChangeApprovalModal
+    from './TechnicalStatusEvaluation/TechnicalStatusEvaluationOrderChangeApprovalModal'
 
   export default {
     name: 'FlowTodo',
     mixins: [JeecgListMixin],
     components: {
+      TechnicalStatusEvaluationOrderChangeApprovalModal,
       ThirdMaintenanceApprovalModal,
       SecondMaintenanceApprovalModal,
       TechnicalStatusEvaluationApprovalModal,
@@ -192,33 +205,30 @@
       }
     },
     methods: {
-      handelDetail(item, index) {
-        let processType = this.splitProcessType(item.category)
+      handelDetail(record) {
+        let processType = this.splitProcessType(record.category)
         console.log('processType', processType)
         switch (processType) {
           case 'maintenance_standard':
-            this.handleMaintenanceStandard(item)
+            this.handleMaintenanceStandard(record)
             break
           case 'sbdjApproval':
-            this.handInspectionOrder(item)
+            this.handInspectionOrder(record)
             break
           case 'eam_repair':
-            this.handleRepairOrder(item)
+            this.handleRepairOrder(record)
             break
           case 'second_maintenance':
-            this.handleSecondMaintenance(item)
+            this.handleSecondMaintenance(record)
             break
           case 'third_maintenance':
-            this.handleThirdMaintenance(item)
+            this.handleThirdMaintenance(record)
             break
           case 'TECHNICAL_STATUS_EVALUATION':
-            this.handleTechnicalStatusEvaluation(item)
+            this.handleTechnicalStatusEvaluation(record)
             break
-          case 'toolsStocktakingBound':
-            this.handleToolStocktakingApproval(item)
-            break
-          case 'toolsLossApproval':
-            this.handleToolLossApproval(item)
+          case 'EVALUATION_ORDER_CHANGE_PROCESS':
+            this.handleEvaluationOrderChange(record)
             break
           default:
             alert('娌℃壘鍒拌娴佺▼')
@@ -248,6 +258,13 @@
         this.$refs.technicalStatusApprovalModal.handleDetail(record)
       },
 
+      handleEvaluationOrderChange(record) {
+        this.selectedRowData = Object.assign({}, record)
+        this.$refs.evaluationOrderChangeApprovalModal.visible = true
+        this.$refs.evaluationOrderChangeApprovalModal.title = record.name
+        this.$refs.evaluationOrderChangeApprovalModal.handleApprove(record)
+      },
+
       /**
        * 鐐瑰嚮浜屼繚娴佺▼鎵ц瀹℃壒鏃惰Е鍙�
        * @param record
@@ -267,8 +284,7 @@
         this.selectedRowData = Object.assign({}, record)
         this.$refs.inspectionOrderHandle.visible = true
         this.$refs.inspectionOrderHandle.title = record.name
-        this.$refs.inspectionOrderHandle.getAllApproveData(record)
-        this.$refs.inspectionOrderHandle.getBasicInformation(record)
+        this.$refs.inspectionOrderHandle.handleApprove(record)
       },
 
       /**
@@ -278,8 +294,8 @@
       handleThirdMaintenance(record) {
         this.selectedRowData = Object.assign({}, record)
         this.$refs.thirdMaintenanceApprovalModal.visible = true
-        this.$refs.thirdMaintenanceApprovalModal.handleDetail(record)
         this.$refs.thirdMaintenanceApprovalModal.title = record.name
+        this.$refs.thirdMaintenanceApprovalModal.handleDetail(record)
       },
 
       /**
diff --git a/src/views/flowable/workflow/InspectionOrder/InspectionOrderHandle.vue b/src/views/flowable/workflow/InspectionOrder/InspectionOrderHandle.vue
index 4a6b56f..1662efc 100644
--- a/src/views/flowable/workflow/InspectionOrder/InspectionOrderHandle.vue
+++ b/src/views/flowable/workflow/InspectionOrder/InspectionOrderHandle.vue
@@ -3,21 +3,20 @@
            :okButtonProps="{ class:{'jee-hidden': disableSubmit} }" @ok="submitForm"
            @cancel="handleCancel" :mask-closable="false" :confirmLoading="confirmLoading" fullscreen>
     <a-spin :spinning="spinning">
-      <a-form-model ref='form' :model='tableRowRecord' :labelCol="labelCol" :wrapperCol="wrapperCol"
-                    :rules="validatorRules">
-        <a-row :gutter="48">
-          <a-col :span="8">
+      <a-form-model ref='form' :model='model' :labelCol="labelCol" :wrapperCol="wrapperCol" :rules="validatorRules">
+        <a-row :gutter="48" id="outer-row">
+          <a-col :span="8" class="scroll-col">
             <a-tabs>
               <a-tab-pane tab="鍩虹淇℃伅">
                 <a-row>
                   <a-col :span='span'>
                     <a-form-model-item label="宸ュ崟鍙�">
-                      <a-input readOnly v-model="tableRowRecord.orderNum"/>
+                      <a-input readOnly v-model="model.orderNum"/>
                     </a-form-model-item>
                   </a-col>
                   <a-col :span='span'>
                     <a-form-model-item label="璁惧缂栧彿">
-                      <MaintenanceEquipmentSelect v-model="tableRowRecord.equipmentId"
+                      <MaintenanceEquipmentSelect v-model="model.equipmentId"
                                                   :maintenanceCategory="'POINT_INSPECTION'"
                                                   disabled @autocompleteForm="autoCompleteForm"/>
                     </a-form-model-item>
@@ -28,12 +27,12 @@
                 <a-row>
                   <a-col :span='span'>
                     <a-form-model-item label="瑙勮寖鍚嶇О">
-                      <a-input readOnly v-model="tableRowRecord.standardName"/>
+                      <a-input readOnly v-model="model.standardName"/>
                     </a-form-model-item>
                   </a-col>
                   <a-col :span='span'>
                     <a-form-model-item label="瑙勮寖缂栫爜">
-                      <a-input readOnly v-model="tableRowRecord.standardCode"/>
+                      <a-input readOnly v-model="model.standardCode"/>
                     </a-form-model-item>
                   </a-col>
 
@@ -42,12 +41,12 @@
                 <a-row>
                   <a-col :span='span'>
                     <a-form-model-item label="鐐规鏃ユ湡">
-                      <a-input v-model="tableRowRecord.inspectionDate" readOnly/>
+                      <a-input v-model="model.inspectionDate" readOnly/>
                     </a-form-model-item>
                   </a-col>
                   <a-col :span='span'>
-                    <a-form-model-item label="鐐规杩囨湡鏃堕棿">
-                      <a-input v-model="tableRowRecord.expirationTime" readOnly/>
+                    <a-form-model-item label="杩囨湡鏃堕棿">
+                      <a-input v-model="model.expirationTime" readOnly/>
                     </a-form-model-item>
                   </a-col>
                 </a-row>
@@ -55,12 +54,12 @@
                 <a-row>
                   <a-col :span='span'>
                     <a-form-model-item label="淇濆吇鍛ㄦ湡">
-                      <a-input v-model="tableRowRecord.maintenancePeriod" readOnly/>
+                      <a-input v-model="model.maintenancePeriod" readOnly/>
                     </a-form-model-item>
                   </a-col>
                   <a-col :span='span'>
                     <a-form-model-item label="鐐规浜�">
-                      <a-input v-model="tableRowRecord.operator_dictText" readOnly/>
+                      <a-input v-model="model.operator_dictText" readOnly/>
                     </a-form-model-item>
                   </a-col>
                 </a-row>
@@ -68,7 +67,7 @@
                 <a-row>
                   <a-col :span="span*2">
                     <a-form-model-item label="澶囨敞" :labelCol="{span:4}" :wrapperCol="{span:20}">
-                      <a-textarea v-model="tableRowRecord.remark" rows="3" readOnly/>
+                      <a-textarea v-model="model.remark" rows="3" readOnly/>
                     </a-form-model-item>
                   </a-col>
                 </a-row>
@@ -76,11 +75,11 @@
             </a-tabs>
           </a-col>
 
-          <a-col :span="!isDisplayConfirm?16:10">
+          <a-col :span="!isDisplayConfirm?16:10" class="scroll-col">
             <a-tabs :active-key="activeTabKey" @change="handleTabChange">
               <a-tab-pane key="1" tab="鏃ョ偣妫�">
                 <j-vxe-table ref="editableDetailTable1" :rowNumber="false" rowSelection bordered
-                             alwaysEdit :toolbar="false" keep-source :height="300" :loading="detail.loading"
+                             alwaysEdit :toolbar="false" keep-source :height="500"
                              :dataSource="detail.dayInspectionList" :columns="detail.columns"
                              @selectRowChange="handleTableSelectRowChange($event,'Day')">
                   <template v-slot:inspectionResult="props">
@@ -91,7 +90,7 @@
                   </template>
 
                   <template v-slot:exceptionDescription="props">
-                    <a-textarea style="height: 32px" v-model="props.row.exceptionDescription"
+                    <a-textarea :rows="1" style="resize: none" v-model="props.row.exceptionDescription"
                                 :placeholder="props.row.inspectionResult&&props.row.inspectionResult!='NORMAL'?'璇疯緭鍏ュ紓甯告弿杩�':''"
                                 :disabled="isDisableOperation||!props.row.inspectionResult||props.row.inspectionResult=='NORMAL'"/>
                   </template>
@@ -107,7 +106,7 @@
 
               <a-tab-pane key="2" tab="鍛ㄧ偣妫�" forceRender>
                 <j-vxe-table ref="editableDetailTable2" :rowNumber="false" rowSelection bordered
-                             alwaysEdit :toolbar="false" keep-source :height="300" :loading="detail.loading"
+                             alwaysEdit :toolbar="false" keep-source :height="500"
                              :dataSource="detail.weekInspectionList" :columns="detail.columns"
                              @selectRowChange="handleTableSelectRowChange($event,'Week')">
                   <template v-slot:inspectionResult="props">
@@ -119,7 +118,7 @@
                   </template>
 
                   <template v-slot:exceptionDescription="props">
-                    <a-textarea style="height: 32px" v-model="props.row.exceptionDescription"
+                    <a-textarea :rows="1" style="resize: none" v-model="props.row.exceptionDescription"
                                 :placeholder="props.row.inspectionResult&&props.row.inspectionResult!='NORMAL'?'璇疯緭鍏ュ紓甯告弿杩�':''"
                                 :disabled="isDisableOperation||!props.row.inspectionResult||props.row.inspectionResult=='NORMAL'"/>
                   </template>
@@ -148,23 +147,23 @@
             </a-tabs>
           </a-col>
 
-          <a-col v-if="isDisplayConfirm" :span="6">
+          <a-col v-if="isDisplayConfirm" :span="6" class="scroll-col">
             <a-tabs>
               <a-tab-pane tab="缁翠慨宸ョ‘璁�">
                 <a-row>
                   <a-col :span="24">
                     <a-form-model-item prop="confirmDealType" label="澶勭悊绫诲瀷">
-                      <j-dict-select-tag type='radio' v-model='tableRowRecord.confirmDealType'
+                      <j-dict-select-tag type='radio' v-model='model.confirmDealType'
                                          dictCode='approved_rejected'
-                                         :disabled="disableSubmit||tableRowRecord.inspectionStatus!=='WAIT_CONFIRM'"/>
+                                         :disabled="disableSubmit||model.inspectionStatus!=='WAIT_CONFIRM'"/>
                     </a-form-model-item>
                   </a-col>
 
                   <a-col :span="24">
-                    <a-form-model-item prop="confirmComment" label="澶勭悊鎰忚">
-                      <a-textarea placeholder="璇疯緭鍏ュ鐞嗘剰瑙�"
-                                  :disabled="disableSubmit||tableRowRecord.inspectionStatus!=='WAIT_CONFIRM'"
-                                  v-model="tableRowRecord.confirmComment"/>
+                    <a-form-model-item label="澶勭悊鎰忚">
+                      <a-textarea placeholder="璇疯緭鍏ユ剰瑙�"
+                                  :disabled="disableSubmit||model.inspectionStatus!=='WAIT_CONFIRM'"
+                                  v-model="model.confirmComment"/>
                     </a-form-model-item>
                   </a-col>
                 </a-row>
@@ -196,23 +195,20 @@
         span: 12,
         confirmLoading: false,
         spinning: false,
-        tableRowRecord: {},
+        model: {},
         validatorRules: {
           confirmDealType: [
             { required: true, message: '璇烽�夋嫨澶勭悊绫诲瀷' }
-          ],
-          confirmComment: [
-            { required: true, message: '璇疯緭鍏ュ鐞嗘剰瑙�' }
           ]
         },
         imageSrc: null,
         labelCol: {
           xs: { span: 24 },
-          sm: { span: 9 }
+          sm: { span: 8 }
         },
         wrapperCol: {
           xs: { span: 30 },
-          sm: { span: 15 }
+          sm: { span: 16 }
         },
         visible: false,
         // 琛ㄥご
@@ -292,52 +288,75 @@
     },
     computed: {
       isDisplayConfirm() {
-        return ['WAIT_CONFIRM', 'COMPLETE'].includes(this.tableRowRecord.inspectionStatus)
+        return ['WAIT_CONFIRM', 'COMPLETE'].includes(this.model.inspectionStatus)
       },
       isDisableOperation() {
-        return this.disableSubmit || this.tableRowRecord.inspectionStatus !== 'UNDER_INSPECTION'
+        return this.disableSubmit || this.model.inspectionStatus !== 'UNDER_INSPECTION'
       }
     },
     methods: {
-      /**
-       * 鑾峰彇娴佺▼鑺傜偣鍜屾祦绋嬪浘
-       * @param record 寰呭姙璁板綍淇℃伅
-       */
-      getAllApproveData(record) {
-        if (record.procInstId) {
-          const { processDefinitionId, processInstanceId, processDefinitionKey, procInstId } = record
-          const param = { procInstId }
-          const imageParam = { processDefinitionId, processInstanceId, TaskDefinitionKey: processDefinitionKey }
-          const that = this
+      handleApprove(record) {
+        this.spinning = true
+        this.activeTabKey = '1'
+        this.detail.dayInspectionList = this.detail.weekInspectionList = []
+        this.getBasicInformationByApi(record)
+        this.getFlowChartImageByApi(record)
+      },
 
-          downFile(this.url.diagramView, imageParam, 'get')
-            .then((res => {
-              const urlObject = window.URL.createObjectURL(new Blob([res]))
-              that.imageSrc = urlObject
-            }))
-            .catch(err => {
-              that.$notification.error({
-                message: '娑堟伅',
-                description: res.message
-              })
-            })
-        }
+      handleDetail(record) {
+        this.spinning = true
+        this.activeTabKey = '1'
+        this.detail.dayInspectionList = this.detail.weekInspectionList = []
+        this.model = Object.assign({}, record)
+        this.getDayInspectionOrderListByApi(record.id)
+        this.getWeekInspectionOrderListByApi(record.standardId)
       },
 
       /**
-       * 鑾峰彇寰呭姙璁板綍鐨勫熀鏈俊鎭�
-       * @param record 寰呭姙璁板綍淇℃伅
+       * 鑾峰彇鍩虹淇℃伅
+       * @param record 涓婚〉闈㈠垪琛ㄨ璁板綍
        */
-      async getBasicInformation(record) {
-        this.activeTabKey = '1'
-        this.detail.dayInspectionList = this.detail.weekInspectionList = []
-        this.spinning = true
-        const param = { id: record.dataId }
-        let res = await getAction(this.url.queryById, param)
-        this.tableRowRecord = Object.assign({}, res.result)
-        this.getDayInspectionOrderListByApi(record.dataId)
-        console.log('record', record)
-        this.getWeekInspectionOrderListByApi(this.tableRowRecord.standardId)
+      getBasicInformationByApi(record) {
+        const that = this
+        getAction(this.url.queryById, { id: record.dataId })
+          .then(res => {
+            if (res.success) {
+              that.model = Object.assign({}, res.result)
+              that.model.dataId = record.dataId
+              that.model.taskId = record.id
+              that.model.userId = record.assignee
+              that.model.instanceId = record.procInstId
+              this.getDayInspectionOrderListByApi(record.dataId)
+              this.getWeekInspectionOrderListByApi(this.model.standardId)
+            }
+            else {
+              that.$notification.warning({
+                message: '娑堟伅',
+                description: res.message
+              })
+            }
+          })
+      },
+
+      /**
+       * 鑾峰彇娴佺▼鍥�
+       * @param record 涓婚〉闈㈠垪琛ㄨ璁板綍
+       */
+      getFlowChartImageByApi(record) {
+        const { processDefinitionId, processInstanceId, processDefinitionKey } = record
+        const imageParam = { processDefinitionId, processInstanceId, TaskDefinitionKey: processDefinitionKey }
+        const that = this
+
+        downFile(this.url.diagramView, imageParam, 'get')
+          .then((res => {
+            that.imageSrc = window.URL.createObjectURL(new Blob([res]))
+          }))
+          .catch(err => {
+            that.$notification.error({
+              message: '娑堟伅',
+              description: err.message
+            })
+          })
       },
 
       /**
@@ -349,7 +368,7 @@
           getAction(this.url.detailList, { orderId })
             .then(res => {
               if (res.success) {
-                this.detail.dayInspectionList = [...res.result]
+                this.detail.dayInspectionList = res.result
               }
             })
             .finally(() => {
@@ -363,8 +382,7 @@
        * @param standardId 瑙勮寖id
        */
       getWeekInspectionOrderListByApi(standardId) {
-        console.log('standardId-------------------------', standardId)
-        getAction(this.url.weekInspectionOrderList, { standardId, inspectionDate: this.tableRowRecord.inspectionDate })
+        getAction(this.url.weekInspectionOrderList, { standardId, inspectionDate: this.model.inspectionDate })
           .then(res => {
             if (res.success) {
               this.detail.weekInspectionList = res.result.list
@@ -376,6 +394,10 @@
           })
       },
 
+      /**
+       * tab鏍忓垏鎹㈡椂瑙﹀彂
+       * @param tabKey 鍒囨崲鍚庣殑tabKey
+       */
       handleTabChange(tabKey) {
         if (this.activeTabKey == '1') this.$refs.editableDetailTable1.clearValidate()
         this.activeTabKey = tabKey
@@ -400,17 +422,10 @@
         this.$refs.form.validate(valid => {
           if (valid) {
             this.confirmLoading = this.spinning = true
-            const flowTaskVo = {}
-            flowTaskVo.dataId = this.selectShenpiData.dataId
-            flowTaskVo.taskId = this.selectShenpiData.id
-            flowTaskVo.userId = this.selectShenpiData.assignee
-            flowTaskVo.instanceId = this.selectShenpiData.procInstId
-            flowTaskVo.confirmDealType = this.tableRowRecord.confirmDealType
-            flowTaskVo.confirmComment = this.tableRowRecord.confirmComment
-            flowTaskVo.tableDetailList = this.$refs.editableDetailTable1.getTableData()
-            if (!this.detail.weekInspectionFinishedFlag) flowTaskVo.tableWeekDetailList = this.$refs.editableDetailTable2.getTableData()
+            this.model.tableDetailList = this.$refs.editableDetailTable1.getTableData()
+            if (!this.detail.weekInspectionFinishedFlag) this.model.tableWeekDetailList = this.$refs.editableDetailTable2.getTableData()
             const that = this
-            postAction(this.url.approve, flowTaskVo)
+            postAction(this.url.approve, this.model)
               .then((res) => {
                 if (res.success) {
                   that.$notification.success({
@@ -437,9 +452,9 @@
       },
 
       autoCompleteForm({ standardName, maintenancePeriod, standardCode }) {
-        this.$set(this.tableRowRecord, 'standardName', standardName)
-        this.$set(this.tableRowRecord, 'maintenancePeriod', maintenancePeriod)
-        this.$set(this.tableRowRecord, 'standardCode', standardCode)
+        this.$set(this.model, 'standardName', standardName)
+        this.$set(this.model, 'maintenancePeriod', maintenancePeriod)
+        this.$set(this.model, 'standardCode', standardCode)
       },
 
       // 鎵归噺閫夋嫨鎵�鏈夌偣妫�缁撴灉
@@ -512,8 +527,29 @@
     }
   }
 </script>
-<style scoped>
+<style scoped lang="less">
   /deep/ .ant-select-dropdown-menu {
     text-align: left;
   }
+
+  /deep/ .ant-spin-nested-loading {
+    height: 100%;
+
+    .ant-spin-container {
+      height: 100%;
+
+      .ant-form {
+        height: 100%;
+
+        #outer-row {
+          height: 100%;
+
+          .scroll-col {
+            height: 100%;
+            overflow: auto;
+          }
+        }
+      }
+    }
+  }
 </style>
\ No newline at end of file
diff --git a/src/views/flowable/workflow/MaintenanceStandard/MaintenanceStandardApprovalModal.vue b/src/views/flowable/workflow/MaintenanceStandard/MaintenanceStandardApprovalModal.vue
index b8e631e..95e580f 100644
--- a/src/views/flowable/workflow/MaintenanceStandard/MaintenanceStandardApprovalModal.vue
+++ b/src/views/flowable/workflow/MaintenanceStandard/MaintenanceStandardApprovalModal.vue
@@ -5,9 +5,9 @@
     <a-spin :spinning="spinning">
       <a-form-model ref='form' :model='tableRowRecord' :labelCol="labelCol" :wrapperCol="wrapperCol"
                     :rules="validatorRules">
-        <a-row :gutter="48">
-          <a-col :span="10">
-            <a-tabs default-active-key="1">
+        <a-row :gutter="24" id="outer-row">
+          <a-col :span="8" class="scroll-col">
+            <a-tabs>
               <a-tab-pane tab="鍩虹淇℃伅" key="1">
                 <a-row>
                   <a-col :span="span">
@@ -70,8 +70,12 @@
                   </a-col>
                 </a-row>
               </a-tab-pane>
+            </a-tabs>
+          </a-col>
 
-              <a-tab-pane key="2" tab="淇濆吇椤规槑缁�" forceRender>
+          <a-col :span="10" class="scroll-col">
+            <a-tabs default-active-key="1">
+              <a-tab-pane key="1" tab="淇濆吇椤规槑缁�">
                 <j-vxe-table ref="editableDetailTable" :rowNumber="false" :bordered="true"
                              :alwaysEdit="true" :toolbar="false" keep-source :loading="detail.loading"
                              :dataSource="detail.dataSource" :columns="detail.columns">
@@ -80,20 +84,16 @@
                   </template>
                 </j-vxe-table>
               </a-tab-pane>
-            </a-tabs>
-          </a-col>
 
-          <a-col :span="8">
-            <a-tabs>
               <template v-if="selectShenpiData.procInstId">
-                <a-tab-pane tab='娴佺▼鍥�'>
+                <a-tab-pane tab='娴佺▼鍥�' forceRender>
                   <img :src="imageSrc" width="100%" v-if="imageSrc"/>
                 </a-tab-pane>
               </template>
             </a-tabs>
           </a-col>
 
-          <a-col :span="6">
+          <a-col :span="6" class="scroll-col">
             <a-tabs>
               <a-tab-pane tab="缁翠慨涓讳换瀹℃壒">
                 <a-row :gutter="24">
@@ -106,8 +106,8 @@
                   </a-col>
 
                   <a-col :span="24">
-                    <a-form-model-item prop="repairManagerApproveComment" label="澶勭悊鎰忚">
-                      <a-textarea placeholder="璇疯緭鍏ュ鐞嗘剰瑙�"
+                    <a-form-model-item label="澶勭悊鎰忚">
+                      <a-textarea placeholder="璇疯緭鍏ユ剰瑙�"
                                   :disabled="disableSubmit||tableRowRecord.standardStatus!=='WAIT_REPAIR_DIRECTOR'"
                                   v-model="tableRowRecord.repairManagerApproveComment"/>
                     </a-form-model-item>
@@ -127,8 +127,8 @@
                   </a-col>
 
                   <a-col :span="24">
-                    <a-form-model-item prop="technicalManagerApproveComment" label="澶勭悊鎰忚">
-                      <a-textarea placeholder="璇疯緭鍏ュ鐞嗘剰瑙�" v-model="tableRowRecord.technicalManagerApproveComment"/>
+                    <a-form-model-item label="澶勭悊鎰忚">
+                      <a-textarea placeholder="璇疯緭鍏ユ剰瑙�" v-model="tableRowRecord.technicalManagerApproveComment"/>
                     </a-form-model-item>
                   </a-col>
                 </a-row>
@@ -165,14 +165,8 @@
           repairManagerApproveResult: [
             { required: true, message: '璇烽�夋嫨澶勭悊绫诲瀷' }
           ],
-          repairManagerApproveComment: [
-            { required: true, message: '璇疯緭鍏ュ鐞嗘剰瑙�' }
-          ],
           technicalManagerApproveResult: [
             { required: true, message: '璇烽�夋嫨澶勭悊绫诲瀷' }
-          ],
-          technicalManagerApproveComment: [
-            { required: true, message: '璇疯緭鍏ュ鐞嗘剰瑙�' }
           ]
         },
         imageSrc: null,
@@ -373,8 +367,29 @@
     }
   }
 </script>
-<style scoped>
+<style scoped lang="less">
   /deep/ .ant-select-dropdown-menu {
     text-align: left;
   }
+
+  /deep/ .ant-spin-nested-loading {
+    height: 100%;
+
+    .ant-spin-container {
+      height: 100%;
+
+      .ant-form {
+        height: 100%;
+
+        #outer-row {
+          height: 100%;
+
+          .scroll-col {
+            height: 100%;
+            overflow: auto;
+          }
+        }
+      }
+    }
+  }
 </style>
\ No newline at end of file
diff --git a/src/views/flowable/workflow/TechnicalStatusEvaluation/TechnicalStatusEvaluationApprovalModal.vue b/src/views/flowable/workflow/TechnicalStatusEvaluation/TechnicalStatusEvaluationApprovalModal.vue
index 5587c8f..073a677 100644
--- a/src/views/flowable/workflow/TechnicalStatusEvaluation/TechnicalStatusEvaluationApprovalModal.vue
+++ b/src/views/flowable/workflow/TechnicalStatusEvaluation/TechnicalStatusEvaluationApprovalModal.vue
@@ -1,5 +1,5 @@
 <template>
-  <j-modal :title="title" :width="1200" :visible="visible" :confirmLoading="confirmLoading"
+  <j-modal :title="title" :visible="visible" :confirmLoading="confirmLoading"
            :okButtonProps="{ class:{'jee-hidden': disableSubmit} }" fullscreen @ok="handleOk"
            @cancel="handleCancel" centered cancelText="鍏抽棴">
     <a-spin :spinning="spinning">
@@ -317,7 +317,6 @@
   import { downFile, getAction, httpAction } from '@/api/manage'
   import { JVxeTableModelMixin } from '@/mixins/JVxeTableModelMixin.js'
   import { JVXETypes } from '@comp/jeecg/JVxeTable'
-  import MaintenanceEquipmentSelect from '@views/eam/equipment/modules/MaintenanceEquipmentSelect'
   import TechnicalStatusEquipmentSelect from '../../../eam/equipment/modules/TechnicalStatusEquipmentSelect'
 
   export default {
@@ -325,7 +324,6 @@
     mixins: [JVxeTableModelMixin],
     components: {
       TechnicalStatusEquipmentSelect,
-      MaintenanceEquipmentSelect
     },
     props: {
       selectShenpiData: {
diff --git a/src/views/flowable/workflow/TechnicalStatusEvaluation/TechnicalStatusEvaluationOrderChangeApprovalModal.vue b/src/views/flowable/workflow/TechnicalStatusEvaluation/TechnicalStatusEvaluationOrderChangeApprovalModal.vue
new file mode 100644
index 0000000..f34b70f
--- /dev/null
+++ b/src/views/flowable/workflow/TechnicalStatusEvaluation/TechnicalStatusEvaluationOrderChangeApprovalModal.vue
@@ -0,0 +1,364 @@
+<template>
+  <j-modal :title="title" :width="1300" :fullscreen="fullScreen" :visible="visible" :confirmLoading="confirmLoading"
+           :okButtonProps="{ class:{'jee-hidden': disableSubmit} }" @ok="handleOk"
+           @cancel="handleCancel" cancelText="鍏抽棴">
+    <a-spin :spinning="spinning">
+      <a-form-model ref="form" :model="model" :rules="validatorRules" :labelCol="labelCol" :wrapperCol="wrapperCol">
+        <a-row id="outer-row" :gutter="24">
+          <!--宸︿晶鍩虹淇℃伅鍒�-->
+          <a-col :span="!disableSubmit?8:14" class="scroll-col">
+            <a-tabs>
+              <a-tab-pane tab="鍩虹淇℃伅">
+                <a-row>
+                  <a-col :span="12">
+                    <a-form-model-item label="宸ュ崟鍙�">
+                      <a-input v-model="model.orderId_dictText" readOnly/>
+                    </a-form-model-item>
+                  </a-col>
+                  <a-col :span="12">
+                    <a-form-model-item label="鍙樻洿鍗曞彿">
+                      <a-input v-model="model.changeOrderNum" readOnly/>
+                    </a-form-model-item>
+                  </a-col>
+
+                </a-row>
+
+                <a-row>
+                  <a-col :span="12">
+                    <a-form-model-item label="缁熶竴缂栫爜">
+                      <technical-status-equipment-select v-model="model.equipmentId"
+                                                         @autocompleteForm="autocompleteForm" disabled/>
+                    </a-form-model-item>
+                  </a-col>
+                  <a-col :span="12">
+                    <a-form-model-item label="鐢宠浜�">
+                      <a-input v-model="model.applicant_dictText" readOnly/>
+                    </a-form-model-item>
+                  </a-col>
+                </a-row>
+
+                <a-row>
+                  <a-col :span="12">
+                    <a-form-model-item label="鐢宠閮ㄩ棬">
+                      <a-input v-model="model.factoryOrgCode_dictText" readOnly/>
+                    </a-form-model-item>
+                  </a-col>
+                  <a-col :span="12">
+                    <a-form-model-item label="鍙樻洿鍘熷洜">
+                      <a-input v-model="model.applyReason_dictText" readOnly/>
+                    </a-form-model-item>
+                  </a-col>
+                </a-row>
+
+
+                <a-row>
+                  <a-col :span="12">
+                    <a-form-model-item label="鍙樻洿閴村畾鏃ユ湡">
+                      <a-input v-model="model.deferredEvaluationDate" readOnly/>
+                    </a-form-model-item>
+                  </a-col>
+                </a-row>
+
+                <a-row>
+                  <a-form-model-item :labelCol="labelColLong" :wrapperCol="wrapperColLong" label="澶囨敞">
+                    <a-textarea v-model="model.remark" readOnly/>
+                  </a-form-model-item>
+                </a-row>
+              </a-tab-pane>
+            </a-tabs>
+          </a-col>
+
+          <!-- 涓棿鏄庣粏椤瑰垪-->
+          <a-col v-if="selectShenpiData.procInstId" :span="10" class="scroll-col">
+            <a-tabs>
+              <a-tab-pane key='1' tab='娴佺▼鍥�'>
+                <img :src="imageSrc" alt="Fetched Image" style="width: 100%" v-if="imageSrc"/>
+              </a-tab-pane>
+            </a-tabs>
+          </a-col>
+
+          <!--鍙充晶瀹℃壒鍒�-->
+          <a-col :span="!disableSubmit?6:10" class="scroll-col">
+            <a-tabs v-if="displayEquipmentManagerFlag">
+              <a-tab-pane tab="浣跨敤鍗曚綅瀹ょ骇棰嗗纭">
+                <a-row>
+                  <a-col :span="24">
+                    <a-form-model-item prop="equipmentManagerSignatureResult" label="纭绫诲瀷" :labelCol="rightColLabelCol"
+                                       :wrapperCol="rightColWrapperCol">
+                      <j-dict-select-tag type='radio' v-model='model.equipmentManagerSignatureResult'
+                                         dictCode='approve_reject'
+                                         :disabled="disableSubmit||(model.changeStatus&&model.changeStatus!='EQUIPMENT_MANAGER_SIGNING')"/>
+                    </a-form-model-item>
+                  </a-col>
+                  <a-col :span="24">
+                    <a-form-model-item label="纭鎰忚" :labelCol="rightColLabelCol" :wrapperCol="rightColWrapperCol">
+                      <a-textarea placeholder="璇疯緭鍏ユ剰瑙�" v-model="model.equipmentManagerComment"
+                                  :disabled="disableSubmit||(model.changeStatus&&model.changeStatus!='EQUIPMENT_MANAGER_SIGNING')"/>
+                    </a-form-model-item>
+                  </a-col>
+                </a-row>
+              </a-tab-pane>
+            </a-tabs>
+
+            <a-tabs v-if="displayDepartManagerFlag">
+              <a-tab-pane tab="閮ㄩ棬棰嗗纭">
+                <a-row>
+                  <a-col :span="24">
+                    <a-form-model-item prop="departManagerSignatureResult" label="纭绫诲瀷" :labelCol="rightColLabelCol"
+                                       :wrapperCol="rightColWrapperCol">
+                      <j-dict-select-tag type='radio' v-model='model.departManagerSignatureResult'
+                                         dictCode='approve_reject'
+                                         :disabled="disableSubmit||(model.changeStatus&&model.changeStatus!='DEPART_MANAGER_SIGNING')"/>
+                    </a-form-model-item>
+                  </a-col>
+                  <a-col :span="24">
+                    <a-form-model-item label="纭鎰忚" :labelCol="rightColLabelCol" :wrapperCol="rightColWrapperCol">
+                      <a-textarea placeholder="璇疯緭鍏ユ剰瑙�" v-model="model.departManagerComment"
+                                  :disabled="disableSubmit||(model.changeStatus&&model.changeStatus!='DEPART_MANAGER_SIGNING')"/>
+                    </a-form-model-item>
+                  </a-col>
+                </a-row>
+              </a-tab-pane>
+            </a-tabs>
+
+            <a-tabs v-if="displayProductionSupportFlag">
+              <a-tab-pane tab="鐢熶骇淇濋殰閮ㄩ瀵肩‘璁�">
+                <a-row>
+                  <a-col :span="24">
+                    <a-form-model-item prop="productionSupportSignatureResult" label="纭绫诲瀷"
+                                       :labelCol="rightColLabelCol" :wrapperCol="rightColWrapperCol">
+                      <j-dict-select-tag type='radio' v-model='model.productionSupportSignatureResult'
+                                         dictCode='approve_reject'
+                                         :disabled="disableSubmit||(model.changeStatus&&model.changeStatus!='PRODUCTION_SUPPORT_SIGNING')"/>
+                    </a-form-model-item>
+                  </a-col>
+                  <a-col :span="24">
+                    <a-form-model-item label="纭鎰忚" :labelCol="rightColLabelCol" :wrapperCol="rightColWrapperCol">
+                      <a-textarea placeholder="璇疯緭鍏ユ剰瑙�" v-model="model.productionSupportComment"
+                                  :disabled="disableSubmit||(model.changeStatus&&model.changeStatus!='PRODUCTION_SUPPORT_SIGNING')"/>
+                    </a-form-model-item>
+                  </a-col>
+                </a-row>
+              </a-tab-pane>
+            </a-tabs>
+          </a-col>
+        </a-row>
+      </a-form-model>
+    </a-spin>
+  </j-modal>
+</template>
+
+<script>
+  import { downFile, getAction, postAction } from '@/api/manage'
+  import TechnicalStatusEquipmentSelect from '../../../eam/equipment/modules/TechnicalStatusEquipmentSelect'
+
+  export default {
+    name: 'TechnicalStatusEvaluationOrderChangeApprovalModal',
+    components: {
+      TechnicalStatusEquipmentSelect
+    },
+    props: {
+      selectShenpiData: {
+        type: Object
+      }
+    },
+    data() {
+      return {
+        title: '鎿嶄綔',
+        visible: false,
+        model: {},
+        labelCol: {
+          xs: { span: 24 },
+          sm: { span: 8 }
+        },
+        wrapperCol: {
+          xs: { span: 24 },
+          sm: { span: 16 }
+        },
+        labelColLong: {
+          xs: { span: 24 },
+          sm: { span: 4 }
+        },
+        wrapperColLong: {
+          xs: { span: 24 },
+          sm: { span: 20 }
+        },
+        rightColLabelCol: {
+          xs: { span: 24 },
+          sm: { span: 6 }
+        },
+        rightColWrapperCol: {
+          xs: { span: 24 },
+          sm: { span: 16 }
+        },
+        confirmLoading: false,
+        spinning: false,
+        imageSrc: null,
+        fullScreen: true,
+        validatorRules: {
+          equipmentManagerSignatureResult: [{ required: true, message: '璇烽�夋嫨纭绫诲瀷' }],
+          departManagerSignatureResult: [{ required: true, message: '璇烽�夋嫨纭绫诲瀷' }],
+          productionSupportSignatureResult: [{ required: true, message: '璇烽�夋嫨纭绫诲瀷' }]
+        },
+        url: {
+          queryById: '/eam/eamTechnicalStatusEvaluationOrderChange/queryById',
+          approval: '/eam/eamTechnicalStatusEvaluationOrderChange/approval',
+          diagramView: '/assign/flow/diagramView'
+        },
+        disableSubmit: false,
+        selectedRowKeys: []
+      }
+    },
+    computed: {
+      displayEquipmentManagerFlag() {
+        return this.model.changeStatus && ['EQUIPMENT_MANAGER_SIGNING', 'DEPART_MANAGER_SIGNING', 'PRODUCTION_SUPPORT_SIGNING', 'COMPLETED'].includes(this.model.changeStatus)
+      },
+      displayDepartManagerFlag() {
+        return this.model.changeStatus && ['DEPART_MANAGER_SIGNING', 'PRODUCTION_SUPPORT_SIGNING', 'COMPLETED'].includes(this.model.changeStatus)
+      },
+      displayProductionSupportFlag() {
+        return this.model.changeStatus && ['PRODUCTION_SUPPORT_SIGNING', 'COMPLETED'].includes(this.model.changeStatus)
+      }
+    },
+    methods: {
+      /**
+       * 涓婚〉闈㈢偣鍑绘墽琛屽鎵规椂瑙﹀彂
+       * @param record 涓婚〉闈㈠垪琛ㄨ璁板綍
+       */
+      handleApprove(record) {
+        this.fullScreen = true
+        this.model = {}
+        this.getBasicInformationByApi(record)
+        this.getFlowChartImageByApi(record)
+      },
+
+      /**
+       * 涓婚〉闈㈢偣鍑昏鎯呮椂瑙﹀彂
+       * @param record 涓婚〉闈㈠垪琛ㄨ璁板綍
+       */
+      handleDetail(record) {
+        this.fullScreen = false
+        this.model = Object.assign({}, record)
+      },
+
+      /**
+       * 鑾峰彇鍩虹淇℃伅
+       * @param record 涓婚〉闈㈠垪琛ㄨ璁板綍
+       */
+      getBasicInformationByApi(record) {
+        this.spinning = true
+        const that = this
+        getAction(this.url.queryById, { id: record.dataId })
+          .then(res => {
+            if (res.success) {
+              that.model = Object.assign({}, res.result)
+              that.model.dataId = record.dataId
+              that.model.taskId = record.id
+              that.model.userId = record.assignee
+              that.model.instanceId = record.procInstId
+            }
+            else {
+              that.$notification.warning({
+                message: '娑堟伅',
+                description: res.message
+              })
+            }
+          })
+      },
+
+      /**
+       * 鑾峰彇娴佺▼鍥�
+       * @param record 涓婚〉闈㈠垪琛ㄨ璁板綍
+       */
+      getFlowChartImageByApi(record) {
+        const { processDefinitionId, processInstanceId, processDefinitionKey } = record
+        this.imageSrc = null
+        downFile(this.url.diagramView, {
+          processDefinitionId,
+          processInstanceId,
+          TaskDefinitionKey: processDefinitionKey
+        }, 'get')
+          .then((res => {
+            this.imageSrc = window.URL.createObjectURL(new Blob([res]))
+          }))
+          .catch(err => {
+            this.$notification.error({
+              message: '娑堟伅',
+              description: err.message
+            })
+          })
+      },
+
+      async handleOk() {
+        const that = this
+
+        // 瑙﹀彂琛ㄥ崟楠岃瘉
+        this.$refs.form.validate(valid => {
+          if (valid) {
+            that.confirmLoading = that.spinning = true
+
+            postAction(this.url.approval, this.model)
+              .then((res) => {
+                if (res.success) {
+                  that.$notification.success({
+                    message: '娑堟伅',
+                    description: res.message
+                  })
+                  that.$emit('modalFormOk')
+                  that.close()
+                } else {
+                  that.$notification.warning({
+                    message: '娑堟伅',
+                    description: res.message
+                  })
+                }
+              })
+              .finally(() => {
+                that.confirmLoading = that.spinning = false
+              })
+          } else {
+            return false
+          }
+        })
+      },
+
+      autocompleteForm(selectObj) {
+        this.$set(this.model, 'equipmentId', selectObj.equipmentId)
+        this.spinning = false
+      },
+
+      handleCancel() {
+        this.close()
+      },
+
+      close() {
+        this.$emit('close')
+        this.visible = false
+        this.$refs.form.clearValidate()
+      }
+    }
+  }
+</script>
+
+<style scoped lang="less">
+  /deep/ .ant-spin-nested-loading {
+    height: 100%;
+
+    .ant-spin-container {
+      height: 100%;
+
+      .ant-form {
+        height: 100%;
+
+        #outer-row {
+          height: 100%;
+
+          .scroll-col {
+            height: 100%;
+            overflow: auto;
+          }
+        }
+      }
+    }
+  }
+</style>
\ No newline at end of file
diff --git a/src/views/flowable/workflow/secondMaintenance/SecondMaintenanceApprovalModal.vue b/src/views/flowable/workflow/secondMaintenance/SecondMaintenanceApprovalModal.vue
index 9db4623..d866f53 100644
--- a/src/views/flowable/workflow/secondMaintenance/SecondMaintenanceApprovalModal.vue
+++ b/src/views/flowable/workflow/secondMaintenance/SecondMaintenanceApprovalModal.vue
@@ -72,7 +72,7 @@
                           v-if="selectShenpiData.taskDefKey&&selectShenpiData.taskDefKey=='operator_task'||
                           (model.maintenanceStatus&&model.maintenanceStatus!='UNDER_MAINTENANCE')">
                 <j-vxe-table ref="editableDetailTable1" :rowNumber="false" rowSelection bordered
-                             alwaysEdit keep-source :height="300"
+                             alwaysEdit keep-source
                              :dataSource="detail.operatorMaintenanceList" :columns="detail.columns"
                              @selectRowChange="handleTableSelectRowChange($event,'Operator')">
                   <template v-slot:maintenanceResult="props">
@@ -107,7 +107,7 @@
                           v-if="selectShenpiData.taskDefKey&&selectShenpiData.taskDefKey=='maintenance_task'||
                           (model.maintenanceStatus&&model.maintenanceStatus!='UNDER_MAINTENANCE')">
                 <j-vxe-table ref="editableDetailTable2" :rowNumber="false" rowSelection bordered
-                             alwaysEdit kee-source :height="300"
+                             alwaysEdit kee-source
                              :dataSource="detail.repairerMaintenanceList" :columns="detail.columns"
                              @selectRowChange="handleTableSelectRowChange($event,'Repairer')">
                   <template v-slot:maintenanceResult="props">
diff --git a/src/views/flowable/workflow/thirdMaintenance/ThirdMaintenanceApprovalModal.vue b/src/views/flowable/workflow/thirdMaintenance/ThirdMaintenanceApprovalModal.vue
index 11a5855..930726f 100644
--- a/src/views/flowable/workflow/thirdMaintenance/ThirdMaintenanceApprovalModal.vue
+++ b/src/views/flowable/workflow/thirdMaintenance/ThirdMaintenanceApprovalModal.vue
@@ -62,7 +62,7 @@
           <a-col :span="model.maintenanceStatus&&model.maintenanceStatus!='WAIT_MAINTENANCE'?10:16" class="scroll-col">
             <a-tabs v-model="activeTabKey" @change="$refs.editableDetailTable.clearValidate()">
               <a-tab-pane key="1" tab="淇濆吇椤规槑缁�">
-                <j-vxe-table ref="editableDetailTable" rowSelection bordered alwaysEdit keep-source :height="300"
+                <j-vxe-table ref="editableDetailTable" rowSelection bordered alwaysEdit keep-source
                              :dataSource="detail.dataSource" :columns="detail.columns"
                              @selectRowChange="handleTableSelectRowChange">
                   <!--淇濆吇缁撴灉-->

--
Gitblit v1.9.3