From 81a757732282161ba10ef5d23aecf1b4b70f0339 Mon Sep 17 00:00:00 2001
From: Lius <Lius2225@163.com>
Date: 星期三, 16 七月 2025 15:47:22 +0800
Subject: [PATCH] 三保

---
 src/views/eam/maintenance/modules/EamThirdMaintenanceOrderModal.vue            |  617 ++++++++++++-------
 src/views/eam/maintenance/EamThirdMaintenanceOrderList.vue                     |  780 ++++++++++++++---------
 src/views/flowable/workflow/thirdMaintenance/ThirdMaintenanceApprovalModal.vue |  499 +++++++++++----
 3 files changed, 1,217 insertions(+), 679 deletions(-)

diff --git a/src/views/eam/maintenance/EamThirdMaintenanceOrderList.vue b/src/views/eam/maintenance/EamThirdMaintenanceOrderList.vue
index cc77b6c..976e9d6 100644
--- a/src/views/eam/maintenance/EamThirdMaintenanceOrderList.vue
+++ b/src/views/eam/maintenance/EamThirdMaintenanceOrderList.vue
@@ -2,91 +2,193 @@
   <a-card :bordered="false">
 
     <!-- 鏌ヨ鍖哄煙 -->
-    <div class="table-page-search-wrapper" v-if="isDisplayOperation">
-      <a-form layout="inline" @keyup.enter.native="searchQuery">
+    <div
+      class="table-page-search-wrapper"
+      v-if="isDisplayOperation"
+    >
+      <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="缁熶竴缂栫爜">
-              <lx-search-equipment-select placeholder="璇疯緭鍏ョ粺涓�缂栫爜鎴栧悕绉版悳绱�" v-model="queryParam.equipmentId"/>
-            </a-form-item>
-          </a-col>
-          <a-col :xl="4" :lg="7" :md="8" :sm="24">
+          <a-col
+            :xl="4"
+            :lg="7"
+            :md="8"
+            :sm="24"
+          >
             <a-form-item label="宸ュ崟鍙�">
-              <a-input placeholder="璇疯緭鍏ュ伐鍗曞彿" v-model="queryParam.orderNum"/>
+              <a-input
+                placeholder="璇疯緭鍏ュ伐鍗曞彿"
+                v-model="queryParam.orderNum"
+              ></a-input>
             </a-form-item>
           </a-col>
-          <a-col :xl="6" :lg="7" :md="8" :sm="24">
+          <a-col
+            :xl="4"
+            :lg="7"
+            :md="8"
+            :sm="24"
+          >
+            <a-form-item label="璁惧缂栧彿">
+              <lx-search-equipment-select
+                placeholder="璇疯緭鍏ヨ澶囩紪鍙锋垨鍚嶇О鎼滅储"
+                v-model="queryParam.equipmentId"
+              ></lx-search-equipment-select>
+            </a-form-item>
+          </a-col>
+          <a-col
+            :xl="6"
+            :lg="7"
+            :md="8"
+            :sm="24"
+          >
             <a-form-item label="璁″垝淇濆吇鏃ユ湡">
-              <a-range-picker v-model="queryParam.maintenanceDateRange" @change="onMaintenanceDateChange"
-                              value-format="YYYY-MM-DD"/>
+              <a-range-picker
+                v-model="queryParam.maintenanceDateRange"
+                @change="onMaintenanceDateChange"
+                format="YYYY-MM-DD"
+                value-format="YYYY-MM-DD"
+              />
             </a-form-item>
           </a-col>
-          <a-col :xl="4" :lg="7" :md="8" :sm="24">
+          <a-col
+            :xl="4"
+            :lg="7"
+            :md="8"
+            :sm="24"
+          >
             <a-form-item label="淇濆吇鐘舵��">
-              <j-dict-select-tag placeholder="璇烽�夋嫨淇濆吇鐘舵��" dict-code="second_maintenance_status"
-                                 v-model="queryParam.maintenanceStatus"/>
+              <j-dict-select-tag
+                placeholder="璇烽�夋嫨淇濆吇鐘舵��"
+                dict-code="second_maintenance_status"
+                v-model="queryParam.maintenanceStatus"
+              />
             </a-form-item>
           </a-col>
-          <a-col :xl="4" :lg="7" :md="8" :sm="24">
-            <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
-              <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>
-              <a-button type="info" @click="searchReset" icon="reload" style="margin-left: 8px">閲嶇疆</a-button>
+          <a-col
+            :xl="4"
+            :lg="7"
+            :md="8"
+            :sm="24"
+          >
+            <span
+              style="float: left;overflow: hidden;"
+              class="table-page-search-submitButtons"
+            >
+              <a-button
+                type="primary"
+                @click="searchQuery"
+                icon="search"
+              >鏌ヨ</a-button>
+              <a-button
+                type="info"
+                @click="searchReset"
+                icon="reload"
+                style="margin-left: 8px"
+              >閲嶇疆</a-button>
             </span>
           </a-col>
+
         </a-row>
       </a-form>
     </div>
 
     <!-- 鎿嶄綔鎸夐挳鍖哄煙 -->
-    <div class="table-operator" v-if="isDisplayOperation">
-      <a-button @click="handleAdd" type="primary" icon="plus">鏂板
+    <div
+      class="table-operator"
+      v-if="isDisplayOperation"
+    >
+      <a-button
+        @click="handleAdd"
+        type="primary"
+        icon="plus"
+      >鏂板
       </a-button>
       <a-dropdown v-if="selectedRowKeys.length > 0">
         <a-menu slot="overlay">
-          <a-menu-item key="1" @click="handlerBatchAbolish">
-            <a-icon type="delete"/>
+          <a-menu-item
+            key="1"
+            @click="handlerBatchAbolish"
+          >
+            <a-icon type="delete" />
             浣滃簾
           </a-menu-item>
-          <a-menu-item key="2" @click="handlerBatchCollect">
-            <a-icon type="form"/>
+          <a-menu-item
+            key="2"
+            @click="handlerBatchCollect"
+          >
+            <a-icon type="form" />
             棰嗗彇
           </a-menu-item>
         </a-menu>
         <a-button style="margin-left: 8px"> 鎵归噺鎿嶄綔
-          <a-icon type="down"/>
+          <a-icon type="down" />
         </a-button>
       </a-dropdown>
     </div>
 
     <!-- table鍖哄煙-begin -->
     <div>
-      <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;" v-if="isDisplayOperation">
-        <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
+        class="ant-alert ant-alert-info"
+        style="margin-bottom: 16px;"
+        v-if="isDisplayOperation"
+      >
+        <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" :scroll="{x:'max-content'}"
-               :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" @change="handleTableChange">
+      <a-table
+        ref="table"
+        size="middle"
+        bordered
+        rowKey="id"
+        :columns="columns"
+        :dataSource="dataSource"
+        :pagination="ipagination"
+        :loading="loading"
+        class="j-table-force-nowrap"
+        :scroll="{x:'max-content'}"
+        :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
+        @change="handleTableChange"
+      >
 
-        <span slot="action" slot-scope="text, record">
+        <span
+          slot="action"
+          slot-scope="text, record"
+        >
           <template v-if="record.maintenanceStatus === 'WAIT_MAINTENANCE'">
-            <a @click="handleEdit(record)">缂栬緫</a>
+            <a
+              @click="handleEdit(record)"
+            >缂栬緫</a>
 
-            <a-divider type="vertical"/>
+            <a-divider
+              type="vertical"
+            />
 
-            <a-popconfirm title="纭畾棰嗗彇鍚�?" @confirm="() => handlerCollect(record.id)">
+            <a-popconfirm
+              title="纭畾棰嗗彇鍚�?"
+              @confirm="() => handlerCollect(record.id)"
+            >
               <a>棰嗗彇</a>
             </a-popconfirm>
 
-            <a-divider type="vertical"/>
+            <a-divider
+              type="vertical"
+            />
 
             <a-dropdown>
-              <a class="ant-dropdown-link">鏇村 <a-icon type="down"/></a>
+              <a class="ant-dropdown-link">鏇村 <a-icon type="down" /></a>
               <a-menu slot="overlay">
                 <a-menu-item>
-                  <a-popconfirm title="纭畾浣滃簾鍚�?" @confirm="() => handlerAbolish(record.id)">
+                  <a-popconfirm
+                    title="纭畾浣滃簾鍚�?"
+                    @confirm="() => handlerAbolish(record.id)"
+                  >
                     <a>浣滃簾</a>
                   </a-popconfirm>
                 </a-menu-item>
@@ -101,8 +203,14 @@
             <a @click="handleDetail(record)">璇︽儏</a>
           </template>
 
-          <a-divider v-if="record.maintenanceStatus === 'COMPLETE'" type="vertical"/>
-          <a v-if="record.maintenanceStatus === 'COMPLETE'" @click="handlePrint(record)">鎵撳嵃</a>
+          <a-divider
+            v-if="record.maintenanceStatus === 'COMPLETE'"
+            type="vertical"
+          />
+          <a
+            v-if="record.maintenanceStatus === 'COMPLETE'"
+            @click="handlePrint(record)"
+          >鎵撳嵃</a>
         </span>
 
       </a-table>
@@ -110,204 +218,239 @@
     <!-- table鍖哄煙-end -->
 
     <!-- 琛ㄥ崟鍖哄煙 -->
-    <eamThirdMaintenanceOrder-modal ref="modalForm" @ok="modalFormOk"/>
+    <eamThirdMaintenanceOrder-modal
+      ref="modalForm"
+      @ok="modalFormOk"
+    ></eamThirdMaintenanceOrder-modal>
 
-    <third-maintenance-approval-modal ref="thirdMaintenanceApprovalModal"
-                                      :selectShenpiData="selectThirdMaintenanceData"/>
+    <third-maintenance-approval-modal
+      ref="thirdMaintenanceApprovalModal"
+      :selectShenpiData="selectThirdMaintenanceData"
+    />
   </a-card>
 </template>
 
 <script>
-  import EamThirdMaintenanceOrderModal from './modules/EamThirdMaintenanceOrderModal'
-  import { JeecgListMixin } from '@/mixins/JeecgListMixin'
-  import LxSearchEquipmentSelect from '@views/eam/equipment/modules/LxSearchEquipmentSelect.vue'
-  import { deleteAction, getAction } from '@api/manage'
-  import ThirdMaintenanceApprovalModal
-    from '@views/flowable/workflow/thirdMaintenance/ThirdMaintenanceApprovalModal.vue'
+import '@/assets/less/TableExpand.less'
+import EamThirdMaintenanceOrderModal from './modules/EamThirdMaintenanceOrderModal'
+import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+import LxSearchEquipmentSelect from '@views/eam/equipment/modules/LxSearchEquipmentSelect.vue'
+import { deleteAction, getAction } from '@api/manage'
+import ThirdMaintenanceApprovalModal from '@views/flowable/workflow/thirdMaintenance/ThirdMaintenanceApprovalModal.vue'
 
-  export default {
-    name: 'EamThirdMaintenanceOrderList',
-    mixins: [JeecgListMixin],
-    components: {
-      LxSearchEquipmentSelect,
-      EamThirdMaintenanceOrderModal,
-      ThirdMaintenanceApprovalModal
-    },
-    props: {
-      isDisplayOperation: {
-        type: Boolean,
-        default: true
-      }
-    },
-    data() {
-      return {
-        description: '璁惧涓夌骇淇濆吇绠$悊椤甸潰',
-        disableMixinCreated: true,
-        selectThirdMaintenanceData: {},
-        // 琛ㄥご
-        columns: [
-          {
-            title: '#',
-            dataIndex: '',
-            key: 'rowIndex',
-            width: 60,
-            align: 'center',
-            fixed: 'left',
-            customRender: function(t, r, index) {
-              return parseInt(index) + 1
-            }
-          },
-          {
-            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: 'orderNum'
-          },
-          {
-            title: '瑙勮寖鍚嶇О',
-            align: 'center',
-            dataIndex: 'standardId_dictText'
-          },
-          {
-            title: '璁″垝淇濆吇鏃ユ湡',
-            align: 'center',
-            dataIndex: 'maintenanceDate'
-          },
-          {
-            title: '瀹為檯寮�濮嬫椂闂�',
-            align: 'center',
-            dataIndex: 'actualStartTime'
-          },
-          {
-            title: '瀹為檯缁撴潫鏃堕棿',
-            align: 'center',
-            dataIndex: 'actualEndTime'
-          },
-          {
-            title: '淇濆吇浜�',
-            align: 'center',
-            dataIndex: 'operator_dictText'
-          },
-          {
-            title: '绮惧害妫�楠屼汉',
-            align: 'center',
-            dataIndex: 'precisionChecker_dictText'
-          },
-          {
-            title: '绮惧害妫�楠屾椂闂�',
-            align: 'center',
-            dataIndex: 'precisionCheckTime'
-          },
-          {
-            title: '淇濆吇鐘舵��',
-            align: 'center',
-            dataIndex: 'maintenanceStatus_dictText'
-          },
-          {
-            title: '鍒涘缓鏂瑰紡',
-            align: 'center',
-            dataIndex: 'creationMethod_dictText'
-          },
-          {
-            title: '鏈哄姩鍔炵‘璁�',
-            align: 'center',
-            dataIndex: 'confirmUser_dictText'
-          },
-          {
-            title: '鏈哄姩鍔炵‘璁ゆ椂闂�',
-            align: 'center',
-            dataIndex: 'confirmTime'
-          },
-          {
-            title: '鏈哄姩鍔炴剰瑙�',
-            align: 'center',
-            dataIndex: 'confirmComment'
-          },
-          {
-            title: '纭棰嗗',
-            align: 'center',
-            dataIndex: 'confirmLeader_dictText'
-          },
-          {
-            title: '棰嗗纭鏃堕棿',
-            align: 'center',
-            dataIndex: 'leaderConfirmTime'
-          },
-          {
-            title: '棰嗗鎰忚',
-            align: 'center',
-            dataIndex: 'leaderConfirmComment'
+export default {
+  name: 'EamThirdMaintenanceOrderList',
+  mixins: [JeecgListMixin],
+  components: {
+    LxSearchEquipmentSelect,
+    EamThirdMaintenanceOrderModal,
+    ThirdMaintenanceApprovalModal
+  },
+  props: {
+    isDisplayOperation: {
+      type: Boolean,
+      default: true
+    }
+  },
+  data() {
+    return {
+      description: '璁惧涓夌骇淇濆吇绠$悊椤甸潰',
+      disableMixinCreated: true,
+      selectThirdMaintenanceData: {},
+      // 琛ㄥご
+      columns: [
+        {
+          title: '#',
+          dataIndex: '',
+          key: 'rowIndex',
+          width: 60,
+          align: 'center',
+          fixed: 'left',
+          customRender: function (t, r, index) {
+            return parseInt(index) + 1
           }
-        ],
-        url: {
-          list: '/eam/thirdMaintenanceOrder/list',
-          abolish: '/eam/thirdMaintenanceOrder/abolish',
-          abolishBatch: '/eam/thirdMaintenanceOrder/abolishBatch',
-          collect: '/eam/thirdMaintenanceOrder/collect',
-          collectBatch: '/eam/thirdMaintenanceOrder/collectBatch'
+        },
+        {
+          title: '宸ュ崟鍙�',
+          align: 'center',
+          dataIndex: 'orderNum',
+          fixed: 'left',
+          width: 60
+        },
+        {
+          title: '璁惧缂栧彿',
+          align: 'center',
+          dataIndex: 'equipmentCode',
+          fixed: 'left',
+          width: 60
+        },
+        {
+          title: '璁惧鍚嶇О',
+          align: 'center',
+          dataIndex: 'equipmentName',
+          fixed: 'left',
+          width: 60
+        },
+        {
+          title: '鏍囧噯鍚嶇О',
+          align: 'center',
+          dataIndex: 'standardId_dictText'
+        },
+        {
+          title: '璁″垝淇濆吇鏃ユ湡',
+          align: 'center',
+          dataIndex: 'maintenanceDate'
+        },
+        {
+          title: '瀹為檯寮�濮嬫椂闂�',
+          align: 'center',
+          dataIndex: 'actualStartTime'
+        },
+        {
+          title: '瀹為檯缁撴潫鏃堕棿',
+          align: 'center',
+          dataIndex: 'actualEndTime'
+        },
+        {
+          title: '淇濆吇浜�',
+          align: 'center',
+          dataIndex: 'operator_dictText'
+        },
+        // {
+        //   title: '绮惧害妫�楠屼汉',
+        //   align: 'center',
+        //   dataIndex: 'precisionChecker_dictText'
+        // },
+        // {
+        //   title: '绮惧害妫�楠屾椂闂�',
+        //   align: 'center',
+        //   dataIndex: 'precisionCheckTime'
+        // },
+        {
+          title: '淇濆吇鐘舵��',
+          align: 'center',
+          dataIndex: 'maintenanceStatus_dictText'
+        },
+        {
+          title: '鍒涘缓鏂瑰紡',
+          align: 'center',
+          dataIndex: 'creationMethod_dictText'
+        },
+        {
+          title: '鏈哄姩鍔炵‘璁�',
+          align: 'center',
+          dataIndex: 'confirmUser_dictText',
+          width: 60
+        },
+        {
+          title: '鏈哄姩鍔炵‘璁ゆ椂闂�',
+          align: 'center',
+          dataIndex: 'confirmTime',
+          width: 60
+        },
+        {
+          title: '鏈哄姩鍔炴剰瑙�',
+          align: 'center',
+          dataIndex: 'confirmComment',
+          width: 60
+        },
+        {
+          title: '纭棰嗗',
+          align: 'center',
+          dataIndex: 'confirmLeader_dictText',
+          width: 60
+        },
+        {
+          title: '棰嗗纭鏃堕棿',
+          align: 'center',
+          dataIndex: 'leaderConfirmTime',
+          width: 60
+        },
+        {
+          title: '棰嗗鎰忚',
+          align: 'center',
+          dataIndex: 'leaderConfirmComment',
+          width: 60
+        },
+        {
+          title: '澶囨敞',
+          align: 'center',
+          dataIndex: 'remark'
         }
+      ],
+      url: {
+        list: '/eam/thirdMaintenanceOrder/list',
+        abolish: '/eam/thirdMaintenanceOrder/abolish',
+        abolishBatch: '/eam/thirdMaintenanceOrder/abolishBatch',
+        collect: '/eam/thirdMaintenanceOrder/collect',
+        collectBatch: '/eam/thirdMaintenanceOrder/collectBatch'
       }
-    },
-    created() {
-      if (!this.isDisplayOperation) {
-        return
-      }
-      const operationColumn = {
-        title: '鎿嶄綔',
-        dataIndex: 'action',
-        align: 'center',
-        fixed: 'right',
-        width: 200,
-        scopedSlots: { customRender: 'action' }
-      }
-      this.columns = [...this.columns, operationColumn]
-      this.loadData(1)
-    },
-    computed: {},
-    methods: {
-      onMaintenanceDateChange: function(dateString) {
+    }
+  },
+  created() {
+    if (!this.isDisplayOperation) {
+      return
+    }
+    const operationColumn = {
+      title: '鎿嶄綔',
+      dataIndex: 'action',
+      align: 'center',
+      fixed: 'right',
+      width: 200,
+      scopedSlots: { customRender: 'action' }
+    }
+    this.columns = [...this.columns, operationColumn]
+    this.loadData(1)
+  },
+  computed: {},
+  methods: {
+    onMaintenanceDateChange: function (value, dateString) {
+      if (dateString && dateString.length === 2) {
         this.queryParam.maintenanceDateBegin = dateString[0]
         this.queryParam.maintenanceDateEnd = dateString[1]
-      },
-
-      handlerAbolish(id) {
-        var that = this
-        deleteAction(that.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
-              })
-            }
+      } else {
+        this.queryParam.maintenanceDateBegin = undefined
+        this.queryParam.maintenanceDateEnd = undefined
+      }
+    },
+    handlerAbolish(id) {
+      if (!this.url.abolish) {
+        this.$message.error('璇疯缃畊rl.abolish灞炴��!')
+        return
+      }
+      var that = this
+      deleteAction(that.url.abolish, { id: id }).then((res) => {
+        if (res.success) {
+          //閲嶆柊璁$畻鍒嗛〉闂
+          that.reCalculatePage(1)
+          // that.$message.success(res.message);
+          that.$notification.success({
+            message: '娑堟伅',
+            description: res.message
           })
-      },
-
-      handlerBatchAbolish() {
+          that.loadData()
+        } else {
+          // that.$message.warning(res.message);
+          that.$notification.warning({
+            message: '娑堟伅',
+            description: res.message
+          })
+        }
+      })
+    },
+    handlerBatchAbolish() {
+      if (!this.url.abolishBatch) {
+        this.$message.error('璇疯缃畊rl.abolishBatch灞炴��!')
+        return
+      }
+      if (this.selectedRowKeys.length <= 0) {
+        // this.$message.warning('璇烽�夋嫨涓�鏉¤褰曪紒');
+        this.$notification.warning({
+          message: '娑堟伅',
+          description: '璇烽�夋嫨涓�鏉¤褰�'
+        })
+        return
+      } else {
         var ids = ''
         for (var a = 0; a < this.selectedRowKeys.length; a++) {
           ids += this.selectedRowKeys[a] + ','
@@ -316,54 +459,73 @@
         this.$confirm({
           title: '纭浣滃簾',
           content: '鏄惁浣滃簾閫変腑鏁版嵁锛屽彧鏈夊緟淇濆吇鐘舵�佺殑鏁版嵁鎵嶅彲浣滃簾鎴愬姛?',
-          onOk: function() {
+          onOk: function () {
             that.loading = true
-            deleteAction(that.url.abolishBatch, { ids })
-              .then((res) => {
-                if (res.success) {
-                  that.$notification.success({
-                    message: '娑堟伅',
-                    description: res.message
-                  })
-                  that.loadData()
-                  that.onClearSelected()
-                } else {
-                  that.$notification.warning({
-                    message: '娑堟伅',
-                    description: res.message
-                  })
-                }
-              })
-              .finally(() => {
-                that.loading = false
-              })
+            deleteAction(that.url.abolishBatch, { ids: ids }).then((res) => {
+              if (res.success) {
+                //閲嶆柊璁$畻鍒嗛〉闂
+                that.reCalculatePage(that.selectedRowKeys.length)
+                // that.$message.success(res.message);
+                that.$notification.success({
+                  message: '娑堟伅',
+                  description: res.message
+                })
+                that.loadData()
+                that.onClearSelected()
+              } else {
+                // that.$message.warning(res.message);
+                that.$notification.warning({
+                  message: '娑堟伅',
+                  description: res.message
+                })
+              }
+            }).finally(() => {
+              that.loading = false
+            })
           }
         })
-      },
-
-      //鍗曚釜棰嗗彇
-      handlerCollect(id) {
-        let that = this
-        getAction(that.url.collect, { id })
-          .then((res) => {
-            if (res.success) {
-              //閲嶆柊璁$畻鍒嗛〉闂
-              that.$notification.success({
-                message: '娑堟伅',
-                description: res.message
-              })
-              that.loadData()
-            } else {
-              that.$notification.warning({
-                message: '娑堟伅',
-                description: res.message
-              })
-            }
+      }
+    },
+    //鍗曚釜棰嗗彇
+    handlerCollect(id) {
+      if (!this.url.collect) {
+        this.$message.error('璇疯缃畊rl.collect灞炴��!')
+        return
+      }
+      let that = this
+      getAction(that.url.collect, { id: id }).then((res) => {
+        if (res.success) {
+          //閲嶆柊璁$畻鍒嗛〉闂
+          that.reCalculatePage(1)
+          // that.$message.success(res.message);
+          that.$notification.success({
+            message: '娑堟伅',
+            description: res.message
           })
-      },
-
-      //鎵归噺棰嗗彇
-      handlerBatchCollect() {
+          that.loadData()
+        } else {
+          // that.$message.warning(res.message);
+          that.$notification.warning({
+            message: '娑堟伅',
+            description: res.message
+          })
+        }
+      })
+    },
+    //鎵归噺棰嗗彇
+    handlerBatchCollect() {
+      if (!this.url.collectBatch) {
+        this.$message.error('璇疯缃畊rl.abolishBatch灞炴��!')
+        return
+      }
+      if (this.selectedRowKeys.length <= 0) {
+        // this.$message.warning('璇烽�夋嫨涓�鏉¤褰曪紒');
+        this.$notification.warning({
+          message: '娑堟伅',
+          description: '璇烽�夋嫨涓�鏉¤褰�'
+        })
+        return
+      } else {
         var ids = ''
         for (var a = 0; a < this.selectedRowKeys.length; a++) {
           ids += this.selectedRowKeys[a] + ','
@@ -372,42 +534,48 @@
         this.$confirm({
           title: '纭棰嗗彇',
           content: '鏄惁棰嗗彇閫変腑鏁版嵁锛屽彧鏈夊緟淇濆吇鐘舵�佺殑鏁版嵁鎵嶅彲棰嗗彇鎴愬姛?',
-          onOk: function() {
+          onOk: function () {
             that.loading = true
-            deleteAction(that.url.collectBatch, { ids })
-              .then((res) => {
-                if (res.success) {
-                  that.$notification.success({
-                    message: '娑堟伅',
-                    description: res.message
-                  })
-                  that.loadData()
-                  that.onClearSelected()
-                } else {
-                  that.$notification.warning({
-                    message: '娑堟伅',
-                    description: res.message
-                  })
-                }
-              })
-              .finally(() => {
-                that.loading = false
-              })
+            deleteAction(that.url.collectBatch, { ids: ids }).then((res) => {
+              if (res.success) {
+                //閲嶆柊璁$畻鍒嗛〉闂
+                that.reCalculatePage(that.selectedRowKeys.length)
+                // that.$message.success(res.message);
+                that.$notification.success({
+                  message: '娑堟伅',
+                  description: res.message
+                })
+                that.loadData()
+                that.onClearSelected()
+              } else {
+                // that.$message.warning(res.message);
+                that.$notification.warning({
+                  message: '娑堟伅',
+                  description: res.message
+                })
+              }
+            }).finally(() => {
+              that.loading = false
+            })
           }
         })
-      },
-
-      handleDetail(record) {
-        this.selectThirdMaintenanceData = Object.assign({}, record)
-        this.$refs.thirdMaintenanceApprovalModal.recordDetail(record)
-        this.$refs.thirdMaintenanceApprovalModal.title = '璇︽儏'
-        this.$refs.thirdMaintenanceApprovalModal.disableSubmit = true
-      },
-
-      handlePrint(record) {
-        let href = `${window._CONFIG['domianURL']}/jmreport/view/1094880052100399104?id=` + record.id
-        window.open(href, '_blank')
       }
-    }
+    },
+    handleDetail(record) {
+      this.selectThirdMaintenanceData = Object.assign({}, record)
+      this.$refs.thirdMaintenanceApprovalModal.recordDetail(record)
+      this.$refs.thirdMaintenanceApprovalModal.title = '璇︽儏'
+      this.$refs.thirdMaintenanceApprovalModal.disableSubmit = true
+    },
+
+    handlePrint(record) {
+      let href = `${window._CONFIG['domianURL']}/jmreport/view/1094880052100399104?id=` + record.id;
+      //  + `&orderId=` + record.id; //缃戠珯閾炬帴
+      window.open(href, "_blank");
+    },
   }
-</script>
\ No newline at end of file
+}
+</script>
+<style scoped>
+@import '~@assets/less/common.less';
+</style>
\ No newline at end of file
diff --git a/src/views/eam/maintenance/modules/EamThirdMaintenanceOrderModal.vue b/src/views/eam/maintenance/modules/EamThirdMaintenanceOrderModal.vue
index 7eb37b6..47c06d1 100644
--- a/src/views/eam/maintenance/modules/EamThirdMaintenanceOrderModal.vue
+++ b/src/views/eam/maintenance/modules/EamThirdMaintenanceOrderModal.vue
@@ -1,272 +1,437 @@
 <template>
-  <j-modal :title="title" :width="1200" :visible="visible" :confirmLoading="confirmLoading" switchFullscreen
-           :mask-closable="false" @ok="handleOk" @cancel="handleCancel" centered cancelText="鍏抽棴">
+  <j-modal
+    :title="title"
+    :width="1200"
+    :visible="visible"
+    :confirmLoading="confirmLoading"
+    switchFullscreen
+    :mask-closable="false"
+    @ok="handleOk"
+    @cancel="handleCancel"
+    cancelText="鍏抽棴">
 
     <a-spin :spinning="spinning">
       <a-form-model ref="form" :model="model" :rules="validatorRules" :labelCol="labelCol" :wrapperCol="wrapperCol">
-        <a-row>
+        <a-row :gutter="24">
           <a-col :span="8">
             <a-form-model-item prop="orderNum" label="宸ュ崟鍙�">
-              <a-input placeholder="宸ュ崟鍙风郴缁熻嚜鍔ㄧ敓鎴�" v-model="model.orderNum" disabled/>
+              <a-input placeholder="宸ュ崟鍙风郴缁熻嚜鍔ㄧ敓鎴�" v-model="model.orderNum" disabled />
             </a-form-model-item>
           </a-col>
           <a-col :span="8">
-            <a-form-model-item prop="equipmentId" label="缁熶竴缂栫爜">
-              <maintenance-equipment-select placeholder="璇疯緭鍏ョ粺涓�缂栫爜鎴栧悕绉版悳绱�" v-model="model.equipmentId"
-                                            maintenanceCategory="THIRD_MAINTENANCE"
+            <a-form-model-item prop="equipmentId" label="璁惧缂栫爜">
+              <maintenance-equipment-select placeholder="璇疯緭鍏ヨ澶囩紪鍙锋垨鍚嶇О鎼滅储" v-model="model.equipmentId"
+                                            :maintenanceCategory="maintenanceCategory"
                                             @autocompleteForm="autocompleteForm"
-                                            :disabled="!editable"/>
+                                            :disabled="editable"></maintenance-equipment-select>
             </a-form-model-item>
           </a-col>
           <a-col :span="8">
-            <a-form-model-item prop="standardName" label="瑙勮寖鍚嶇О">
-              <a-input placeholder="閫夋嫨璁惧鍚庤嚜鍔ㄥ甫鍑�" v-model="model.standardName" disabled/>
+            <a-form-model-item prop="standardName" label="鏍囧噯鍚嶇О">
+              <a-input placeholder="閫夋嫨璁惧鍚庤嚜鍔ㄥ甫鍑�" v-model="model.standardName" disabled />
             </a-form-model-item>
           </a-col>
         </a-row>
-
-        <a-row>
+        <a-row :gutter="24">
           <a-col :span="8">
             <a-form-model-item prop="maintenanceDate" label="淇濆吇鏃ユ湡">
-              <a-date-picker placeholder="璇烽�夋嫨璁″垝淇濆吇鏃ユ湡" v-model="model.maintenanceDate" value-format="YYYY-MM-DD"
-                             style="width: 100%"/>
+              <a-date-picker placeholder="璇烽�夋嫨璁″垝淇濆吇鏃ユ湡" v-model="model.maintenanceDate" format="YYYY-MM-DD"
+                             style="width: 100%" />
             </a-form-model-item>
           </a-col>
+<!--          <a-col :span="8">-->
+<!--            <a-form-model-item prop="operator" label="淇濆吇浜�">-->
+<!--              <j-search-select-tag v-model="model.operator" placeholder="璇烽�夋嫨淇濆吇浜�" :disabled="!model.equipmentId"-->
+<!--                                   :dictOptions="maintenanceOperatorOptions" />-->
+<!--            </a-form-model-item>-->
+<!--          </a-col>-->
           <a-col :span="8">
             <a-form-model-item prop="maintenancePeriod" label="淇濆吇鍛ㄦ湡">
-              <a-input placeholder="閫夋嫨璁惧鍚庤嚜鍔ㄥ甫鍑�" v-model="model.maintenancePeriod" disabled/>
+              <a-input placeholder="閫夋嫨璁惧鍚庤嚜鍔ㄥ甫鍑�" v-model="model.maintenancePeriod" disabled />
             </a-form-model-item>
           </a-col>
         </a-row>
-
-        <a-row>
+        <a-row :gutter="24">
           <a-form-model-item :labelCol="labelColLong" :wrapperCol="wrapperColLong" prop="remark" label="澶囨敞">
-            <a-textarea placeholder="璇疯緭鍏ュ娉�" v-model="model.remark"/>
+            <a-textarea placeholder="璇疯緭鍏ュ娉�" v-model="model.remark" />
           </a-form-model-item>
         </a-row>
-
-        <a-tabs>
-          <a-tab-pane key="1" tab="淇濆吇椤规槑缁�">
-            <j-vxe-table ref="editableDetailTable" rowNumber bordered keep-source :height="300"
-                         :dataSource="detail.dataSource"
-                         :columns="detail.columns"/>
-          </a-tab-pane>
-        </a-tabs>
+        <a-row :gutter="24">
+          <a-tabs v-model="activeTabKey">
+            <a-tab-pane key="1" tab="淇濆吇椤�" :forceRender="true">
+              <j-vxe-table
+                ref="editableDetailTable"
+                :rowNumber="true"
+                :rowSelection="true"
+                :bordered="true"
+                :alwaysEdit="true"
+                :toolbar="true"
+                :toolbarConfig="detail.toolbarConfig"
+                keep-source
+                :height="300"
+                :dataSource="detail.dataSource"
+                :columns="detail.columns"
+                style="margin-top: 8px;" />
+            </a-tab-pane>
+          </a-tabs>
+        </a-row>
       </a-form-model>
     </a-spin>
   </j-modal>
 </template>
 
 <script>
-  import { getAction, httpAction } from '@/api/manage'
-  import MaintenanceEquipmentSelect from '@views/eam/equipment/modules/MaintenanceEquipmentSelect.vue'
-  import { JVXETypes } from '@comp/jeecg/JVxeTable'
+import { getAction, httpAction } from '@/api/manage'
+import MaintenanceEquipmentSelect from '@views/eam/equipment/modules/MaintenanceEquipmentSelect.vue'
+import { JVXETypes } from '@comp/jeecg/JVxeTable'
 
-  export default {
-    name: 'EamThirdMaintenanceOrderModal',
-    components: { MaintenanceEquipmentSelect },
-    data() {
-      return {
-        title: '鎿嶄綔',
-        visible: false,
-        editable: true,
-        model: {},
-        labelCol: {
-          xs: { span: 24 },
-          sm: { span: 6 }
-        },
-        wrapperCol: {
-          xs: { span: 24 },
-          sm: { span: 15 }
-        },
-        labelColLong: {
-          xs: { span: 24 },
-          sm: { span: 2 }
-        },
-        wrapperColLong: {
-          xs: { span: 24 },
-          sm: { span: 21 }
-        },
-        confirmLoading: false,
-        spinning: false,
-        maintenanceOperatorOptions: [],
-        validatorRules: {
-          equipmentId: [
-            { required: true, message: '璇烽�夋嫨璁惧!', trigger: 'change' }
-          ],
-          maintenanceDate: [
-            { required: true, message: '璇烽�夋嫨璁″垝淇濆吇鏃ユ湡!', trigger: 'change' }
-          ]
-        },
-        url: {
-          add: '/eam/thirdMaintenanceOrder/add',
-          edit: '/eam/thirdMaintenanceOrder/edit',
-          standardDetail: '/eam/eamMaintenanceStandardDetail/queryList',
-          detail: '/eam/thirdMaintenanceOrderDetail/queryList',
-          userSelect: '/eam/user_select/list'
-        },
-        detail: {
-          loading: false,
-          dataSource: [],
-          columns: [
-            {
-              title: 'ID',
-              key: 'id',
-              type: JVXETypes.hidden
-            },
-            {
-              title: 'orderId',
-              key: 'orderId',
-              type: JVXETypes.hidden
-            },
-            {
-              title: '搴忓彿',
-              key: 'itemCode',
-              type: JVXETypes.normal,
-              width: 60,
-              align: 'center'
-            },
-            {
-              title: '淇濆吇閮ㄤ綅',
-              key: 'itemPart',
-              type: JVXETypes.normal,
-              align: 'center'
-            },
-            {
-              title: '淇濆吇鍐呭',
-              key: 'itemName',
-              type: JVXETypes.normal,
-              align: 'center'
-            },
-            {
-              title: '楠屾敹鏍囧噯',
-              key: 'itemDemand',
-              type: JVXETypes.normal,
-              align: 'center'
-            }
-          ],
-          toolbarConfig: {
-            // prefix 鍓嶇紑锛泂uffix 鍚庣紑
-            slot: ['prefix', 'suffix'],
-            // add 鏂板鎸夐挳锛況emove 鍒犻櫎鎸夐挳锛沜learSelection 娓呯┖閫夋嫨鎸夐挳
-            btn: ['add', 'remove', 'clearSelection']
+export default {
+  name: 'EamThirdMaintenanceOrderModal',
+  components: { MaintenanceEquipmentSelect },
+  data() {
+    return {
+      title: '鎿嶄綔',
+      visible: false,
+      editable: false,
+      maintenanceCategory: 'THIRD_MAINTENANCE',
+      model: {},
+      labelCol: {
+        xs: { span: 24 },
+        sm: { span: 6 }
+      },
+      wrapperCol: {
+        xs: { span: 24 },
+        sm: { span: 16 }
+      },
+      labelColLong: {
+        xs: { span: 24 },
+        sm: { span: 2 }
+      },
+      wrapperColLong: {
+        xs: { span: 24 },
+        sm: { span: 21 }
+      },
+      confirmLoading: false,
+      spinning: false,
+      activeTabKey: '1',
+      maintenanceOperatorOptions: [],
+      validatorRules: {
+        equipmentId: [
+          { required: true, message: '璇烽�夋嫨璁惧!' }
+        ],
+        maintenanceDate: [
+          { required: true, message: '璇烽�夋嫨璁″垝淇濆吇鏃ユ湡!' }
+        ]
+      },
+      url: {
+        add: '/eam/thirdMaintenanceOrder/add',
+        edit: '/eam/thirdMaintenanceOrder/edit',
+        standardDetail: '/eam/eamMaintenanceStandardDetail/queryList',
+        detail: '/eam/thirdMaintenanceOrderDetail/queryList',
+        userSelect: '/eam/user_select/list',
+      },
+      detail: {
+        loading: false,
+        dataSource: [],
+        columns: [
+          {
+            title: 'ID',
+            key: 'id',
+            type: JVXETypes.hidden
+          },
+          {
+            title: 'orderId',
+            key: 'orderId',
+            type: JVXETypes.hidden
+          },
+          {
+            title: '搴忓彿',
+            key: 'itemCode',
+            type: JVXETypes.inputNumber,
+            width: '10%',
+            align: 'center',
+            validateRules: [
+              { required: true, unique: true, message: '搴忓彿涓嶈兘閲嶅' }
+            ]
+          },
+          {
+            title: '閮ㄤ綅',
+            key: 'itemPart',
+            type: JVXETypes.textarea,
+            width: '25%',
+            align: 'center'
+          },
+          {
+            title: '淇濆吇椤�',
+            key: 'itemName',
+            type: JVXETypes.textarea,
+            width: '20%',
+            align: 'center',
+            validateRules: [
+              { required: true, message: '淇濆吇椤逛笉鑳戒负绌猴紒' }
+            ]
+          },
+          {
+            title: '淇濆吇瑕佹眰',
+            key: 'itemDemand',
+            type: JVXETypes.textarea,
+            width: '30%',
+            align: 'center',
+            validateRules: [
+              { required: true, message: '淇濆吇瑕佹眰涓嶈兘涓虹┖锛�' }
+            ]
           }
+        ],
+        toolbarConfig: {
+          // prefix 鍓嶇紑锛泂uffix 鍚庣紑
+          slot: ['prefix', 'suffix'],
+          // add 鏂板鎸夐挳锛況emove 鍒犻櫎鎸夐挳锛沜learSelection 娓呯┖閫夋嫨鎸夐挳
+          btn: ['add', 'remove', 'clearSelection']
         }
-      }
+      },
+      // precisionDetail: {
+      //   loading: false,
+      //   dataSource: [],
+      //   columns: [
+      //     {
+      //       title: 'ID',
+      //       key: 'id',
+      //       type: JVXETypes.hidden
+      //     },
+      //     {
+      //       title: 'orderId',
+      //       key: 'orderId',
+      //       type: JVXETypes.hidden
+      //     },
+      //     {
+      //       title: 'equipmentId',
+      //       key: 'equipmentId',
+      //       type: JVXETypes.hidden
+      //     },
+      //     {
+      //       title: 'parameterId',
+      //       key: 'parameterId',
+      //       type: JVXETypes.hidden
+      //     },
+      //     {
+      //       title: '妫�娴嬮」鐩�',
+      //       key: 'parameterId_dictText',
+      //       type: JVXETypes.normal,
+      //       width: '25%',
+      //       align: 'center'
+      //     },
+      //     {
+      //       title: '鍙傛暟缂栫爜',
+      //       key: 'parameterCode_dictText',
+      //       type: JVXETypes.normal,
+      //       width: '20%',
+      //       align: 'center',
+      //     },
+      //     {
+      //       title: '鍏佸樊鍊�',
+      //       key: 'parameterValue',
+      //       type: JVXETypes.normal,
+      //       width: '30%',
+      //       align: 'center',
+      //     }
+      //   ],
+      //   toolbarConfig: {
+      //     // prefix 鍓嶇紑锛泂uffix 鍚庣紑
+      //     slot: ['prefix', 'suffix'],
+      //     // add 鏂板鎸夐挳锛況emove 鍒犻櫎鎸夐挳锛沜learSelection 娓呯┖閫夋嫨鎸夐挳
+      //     btn: ['add', 'remove', 'clearSelection']
+      //   }
+      // }
+    }
+  },
+  created() {
+  },
+  methods: {
+    add() {
+      this.initParams();
+      //鍒濆鍖栭粯璁ゅ��
+      this.model = {}
+      this.visible = true
+      this.editable = false
+      this.detail.dataSource = []
     },
-    methods: {
-      add() {
-        //鍒濆鍖栭粯璁ゅ��
-        this.model = {}
-        this.visible = true
-        this.editable = true
-        this.detail.dataSource = []
-      },
+    edit(record) {
+      this.initParams();
+      this.model = Object.assign({}, record)
+      this.visible = true
+      this.editable = true
+      this.detail.dataSource = []
+      this.loadDetail(record.id)
+      // this.loadPrecisionDetail(record.id)
+    },
+    close() {
+      this.$emit('close')
+      this.visible = false
+      this.$refs.form.clearValidate()
+    },
+    async handleOk() {
+      const that = this
+      let errMap = await that.$refs.editableDetailTable.validateTable()
+      if (errMap) {
+        this.$message.warning('鏁版嵁鏍¢獙澶辫触锛�')
+        return
+      }
+      // 瑙﹀彂琛ㄥ崟楠岃瘉
+      this.$refs.form.validate(valid => {
+        if (valid) {
+          let tableData = that.$refs.editableDetailTable.getTableData()
+          let removeData = that.$refs.editableDetailTable.getDeleteData()
+          that.model.tableDetailList = [...tableData]
+          that.model.removeDetailList = [...removeData]
 
-      edit(record) {
-        this.model = Object.assign({}, record)
-        this.visible = true
-        this.editable = false
-        this.detail.dataSource = []
-        this.loadDetail(record.id)
-      },
-
-      async handleOk() {
-        const that = this
-        let errMap = await that.$refs.editableDetailTable.validateTable()
-        if (errMap) {
-          this.$message.warning('鏁版嵁鏍¢獙澶辫触锛�')
-          return
-        }
-        // 瑙﹀彂琛ㄥ崟楠岃瘉
-        this.$refs.form.validate(valid => {
-          if (valid) {
-            let tableData = that.$refs.editableDetailTable.getTableData()
-            let removeData = that.$refs.editableDetailTable.getDeleteData()
-            that.model.tableDetailList = [...tableData]
-            that.model.removeDetailList = [...removeData]
-
-            that.confirmLoading = true
-            let httpurl = ''
-            let method = ''
-            if (!this.model.id) {
-              httpurl += this.url.add
-              method = 'post'
-            } else {
-              httpurl += this.url.edit
-              method = 'put'
-            }
-            httpAction(httpurl, this.model, method).then((res) => {
-              if (res.success) {
-                that.$message.success(res.message)
-                that.$emit('ok')
-                that.close()
-              } else {
-                that.$message.warning(res.message)
-              }
-            }).finally(() => {
-              that.confirmLoading = false
-            })
+          that.confirmLoading = true
+          let httpurl = ''
+          let method = ''
+          if (!this.model.id) {
+            httpurl += this.url.add
+            method = 'post'
           } else {
-            return false
+            httpurl += this.url.edit
+            method = 'put'
           }
-        })
-      },
-
-      autocompleteForm(selectObj) {
-        this.$set(this.model, 'standardName', selectObj.standardName)
-        this.$set(this.model, 'maintenancePeriod', selectObj.maintenancePeriod)
-        this.$set(this.model, 'standardId', selectObj.id)
-        this.$set(this.model, 'equipmentId', selectObj.equipmentId)
-        if (!this.model.equipmentId) delete this.model.operator
-        if (!this.model.id) {
-          this.loadStandardDetail(selectObj.id)
-        }
-        this.loadMaintenanceOperatorList(this.model.equipmentId)
-      },
-
-      //鍔犺浇璇︽儏鏁版嵁
-      loadStandardDetail(standardId) {
-        this.detail.dataSource = []
-        if (standardId) {
-          this.spinning = true
-          getAction(this.url.standardDetail, { standardId: standardId })
-            .then(res => {
-              if (res.success) {
-                this.detail.dataSource = res.result.map(item => ({
-                  itemCode: item.itemCode,
-                  itemName: item.itemName,
-                  itemPart: item.itemPart,
-                  itemDemand: item.itemDemand
-                }))
-              }
-            })
-            .finally(() => {
-              this.spinning = false
-            })
-        }
-      },
-
-      //瑙勮寖閫夋嫨鍙樺寲
-      loadDetail(orderId) {
-        if (orderId) {
-          getAction(this.url.detail, { orderId: orderId }).then(res => {
+          httpAction(httpurl, this.model, method).then((res) => {
             if (res.success) {
-              this.detail.dataSource = [...res.result]
+              that.$message.success(res.message)
+              that.$emit('ok')
+              that.close()
+            } else {
+              that.$message.warning(res.message)
+            }
+          }).finally(() => {
+            that.confirmLoading = false
+          })
+        } else {
+          return false
+        }
+      })
+    },
+    handleCancel() {
+      this.close()
+    },
+    autocompleteForm(selectObj) {
+      //鏍囧噯鍚嶇О锛屼繚鍏诲懆鏈熶笉鍒锋柊瑙e喅鍔炴硶
+      //鍔炴硶涓�  validatorRules equipmentId 杩樻槸鏈夐棶棰�
+      // const newObj = {
+      //   standardName: selectObj.standardName,
+      //   maintenancePeriod: selectObj.maintenancePeriod,
+      //   standardId : selectObj.id,
+      //   equipmentId: selectObj.equipmentId,
+      // };
+      // this.model = Object.assign({}, newObj, this.model)
+      //鍔炴硶浜�
+      this.$set(this.model, 'standardName', selectObj.standardName)
+      this.$set(this.model, 'maintenancePeriod', selectObj.maintenancePeriod)
+      this.$set(this.model, 'standardId', selectObj.id)
+      this.$set(this.model, 'equipmentId', selectObj.equipmentId)
+      // console.log('model', this.model)
+      if (!this.model.equipmentId) delete this.model.operator
+      if (!this.model.id) {
+        this.loadStandardDetail(selectObj.id)
+        this.loadPrecisionParameterList(selectObj.equipmentId)
+      }
+      this.loadMaintenanceOperatorList(this.model.equipmentId)
+    },
+    //鍔犺浇璇︽儏鏁版嵁
+    loadStandardDetail(standardId) {
+      this.detail.dataSource = []
+      if (standardId) {
+        this.spinning = true
+        getAction(this.url.standardDetail, { standardId: standardId })
+          .then(res => {
+            if (res.success) {
+              this.detail.dataSource = res.result.map(item => ({
+                itemCode: item.itemCode,
+                itemName: item.itemName,
+                itemPart: item.itemPart,
+                itemDemand: item.itemDemand
+              }))
             }
           })
-        }
-      },
-
-      handleCancel() {
-        this.close()
-      },
-
-      close() {
-        this.$emit('close')
-        this.visible = false
-        this.$refs.form.clearValidate()
+          .finally(() => {
+            this.spinning = false
+          })
       }
-    }
+    },
+    //鏍囧噯閫夋嫨鍙樺寲
+    loadDetail(orderId) {
+      if (orderId) {
+        getAction(this.url.detail, { orderId: orderId }).then(res => {
+          if (res.success) {
+            this.detail.dataSource = [...res.result]
+          }
+        })
+      }
+    },
+    loadMaintenanceOperatorList(equipmentId) {
+      this.maintenanceOperatorOptions = []
+      let params = { positionCode: 'PCR0001' }
+      if (equipmentId) {
+        params.equipmentId = equipmentId
+      } else {
+        return
+      }
+      const that = this
+      getAction(this.url.userSelect, params)
+        .then(res => {
+          if (res.success) {
+            that.maintenanceOperatorOptions = res.result.map(item => ({
+              key: item.id,
+              value: item.username,
+              text: item.realname
+            }))
+            if (!that.maintenanceOperatorOptions.find(item => item.value === that.model.operator)) delete that.model.operator
+          } else {
+            if (that.model.operator) delete that.model.operator
+          }
+        })
+        .catch(err => {
+          if (that.model.operator) delete that.model.operator
+        })
+    },
+    // loadPrecisionParameterList(equipmentId) {
+    //   this.precisionDetail.dataSource = []
+    //   if (equipmentId) {
+    //     this.spinning = true
+    //     getAction(this.url.precisionDetail, { equipmentId: equipmentId })
+    //       .then(res => {
+    //         if (res.success) {
+    //           this.precisionDetail.dataSource = res.result.map(item => ({
+    //             equipmentId: item.equipmentId,
+    //             parameterId: item.parameterId,
+    //             parameterId_dictText: item.parameterId_dictText,
+    //             parameterCode_dictText: item.parameterCode_dictText,
+    //             parameterValue: item.parameterValue,
+    //           }))
+    //         }
+    //       })
+    //       .finally(() => {
+    //         this.spinning = false
+    //       })
+    //   }
+    // },
+    // loadPrecisionDetail(orderId) {
+    //   if (orderId) {
+    //     getAction(this.url.precisionCheckDetail, { orderId: orderId }).then(res => {
+    //       if (res.success) {
+    //         this.precisionDetail.dataSource = [...res.result]
+    //       }
+    //     })
+    //   }
+    // },
+    initParams() {
+      this.detail.dataSource = []
+      // this.precisionDetail.dataSource = []
+      this.activeTabKey = '1'
+    },
   }
-</script>
\ No newline at end of file
+}
+</script>
+
+<style lang="less" scoped>
+
+</style>
\ No newline at end of file
diff --git a/src/views/flowable/workflow/thirdMaintenance/ThirdMaintenanceApprovalModal.vue b/src/views/flowable/workflow/thirdMaintenance/ThirdMaintenanceApprovalModal.vue
index 1747b37..8d86f59 100644
--- a/src/views/flowable/workflow/thirdMaintenance/ThirdMaintenanceApprovalModal.vue
+++ b/src/views/flowable/workflow/thirdMaintenance/ThirdMaintenanceApprovalModal.vue
@@ -1,126 +1,184 @@
 <template>
-  <j-modal :title="title" :visible="visible" :confirmLoading="confirmLoading"
-           :okButtonProps="{ class:{'jee-hidden': disableSubmit} }" fullscreen @ok="handleOk" @cancel="handleCancel"
-           centered cancelText="鍏抽棴">
+  <j-modal
+    :title="title"
+    :width="1200"
+    :visible="visible"
+    :confirmLoading="confirmLoading"
+    :okButtonProps="{ class:{'jee-hidden': disableSubmit} }"
+    switchFullscreen
+    @ok="handleOk"
+    @cancel="handleCancel"
+    centered
+    cancelText="鍏抽棴">
 
     <a-spin :spinning="spinning">
-      <a-form-model ref="form" :model="model" :rules="validatorRules" :labelCol="labelCol" :wrapperCol="wrapperCol">
+      <a-form-model ref="form" :model="model" :rules="validatorRules">
+        <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;"> 淇濆吇鍩虹淇℃伅
+        </a-divider>
         <a-row :gutter="24">
           <a-col :span="8">
-            <a-tabs>
-              <a-tab-pane tab="鍩虹淇℃伅">
-                <a-row>
-                  <a-col :span="12">
-                    <a-form-model-item label="宸ュ崟鍙�">
-                      <a-input v-model="model.orderNum" readOnly/>
-                    </a-form-model-item>
-                  </a-col>
-                  <a-col :span="12">
-                    <a-form-model-item label="缁熶竴缂栫爜">
-                      <maintenance-equipment-select v-model="model.equipmentId" maintenanceCategory="SECOND_MAINTENANCE"
-                                                    @autocompleteForm="autocompleteForm" disabled/>
-                    </a-form-model-item>
-                  </a-col>
-                </a-row>
-
-                <a-row>
-                  <a-col :span="12">
-                    <a-form-model-item label="瑙勮寖鍚嶇О">
-                      <a-input v-model="model.standardName" readOnly/>
-                    </a-form-model-item>
-                  </a-col>
-                  <a-col :span="12">
-                    <a-form-model-item label="淇濆吇鏃ユ湡">
-                      <a-input v-model="model.maintenanceDate" 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.operator" readOnly/>
-                    </a-form-model-item>
-                  </a-col>
-                  <a-col :span="12">
-                    <a-form-model-item label="淇濆吇鍛ㄦ湡">
-                      <a-input v-model="model.maintenancePeriod" readOnly/>
-                    </a-form-model-item>
-                  </a-col>
-                </a-row>
-
-                <a-row>
-                  <a-col :span="24">
-                    <a-form-model-item :labelCol="labelColLong" :wrapperCol="wrapperColLong" label="澶囨敞">
-                      <a-textarea v-model="model.remark" readOnly/>
-                    </a-form-model-item>
-                  </a-col>
-                </a-row>
-              </a-tab-pane>
-            </a-tabs>
+            <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="orderNum" label="宸ュ崟鍙�">
+              <a-input placeholder="宸ュ崟鍙风郴缁熻嚜鍔ㄧ敓鎴�" v-model="model.orderNum" disabled/>
+            </a-form-model-item>
           </a-col>
-
-          <a-col :span="10">
-            <a-tabs v-model="activeTabKey">
-              <a-tab-pane key="1" tab="淇濆吇椤规槑缁�" v-if="!isPrecisionCheck">
-                <j-vxe-table ref="editableDetailTable" :rowNumber="false" :rowSelection="true" :bordered="true"
-                             :alwaysEdit="true" :toolbar="false" keep-source :height="300" :loading="detail.loading"
-                             :dataSource="detail.dataSource" :columns="detail.columns"
-                             @selectRowChange="handleTableSelectRowChange">
-                  <template v-slot:maintenanceResult="props">
-                    <j-dict-select-tag v-model="props.row.maintenanceResult" dictCode="eam_inspection_result"
-                                       placeholder="璇烽�夋嫨淇濆吇缁撴灉"
-                                       :disabled="disableSubmit || confirmDisable"
-                                       @change="handleInspectionResultSelectChange($event,props.row)"
-                                       style="width: 100%"/>
-                  </template>
-
-                  <template v-slot:exceptionDescription="props">
-                    <a-textarea style="height: 32px" v-model="props.row.exceptionDescription"
-                                :disabled="disableSubmit || confirmDisable || !props.row.maintenanceResult || props.row.maintenanceResult === '1'"/>
-                  </template>
-
-                  <template v-slot:reportFlag="props">
-                    <j-dict-select-tag v-model="props.row.reportFlag"
-                                       :disabled="disableSubmit || confirmDisable || !props.row.maintenanceResult || props.row.maintenanceResult === '1'"
-                                       dictCode="yn"
-                                       style="width: 100%"/>
-                  </template>
-                </j-vxe-table>
-              </a-tab-pane>
-              <template v-if="selectShenpiData.procInstId">
-                <a-tab-pane key='2' tab='娴佺▼鍥�'>
-                  <img :src="imageSrc" alt="Fetched Image"/>
-                </a-tab-pane>
-              </template>
-              <a-button :disabled="disableSubmit ||confirmDisable||selectedRowKeys.length > 0" slot="tabBarExtraContent"
-                        type="primary" @click="handleSelectAllInspectionResult">鎵归噺淇濆吇姝e父
-              </a-button>
-            </a-tabs>
+          <a-col :span="8">
+            <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="equipmentId" label="璁惧缂栫爜">
+              <maintenance-equipment-select placeholder="璇疯緭鍏ヨ澶囩紪鍙锋垨鍚嶇О鎼滅储" v-model="model.equipmentId"
+                                            :maintenanceCategory="maintenanceCategory"
+                                            @autocompleteForm="autocompleteForm"
+                                            disabled></maintenance-equipment-select>
+            </a-form-model-item>
           </a-col>
-
-          <a-col :span="6">
-            <a-tabs v-if="confirmDisable">
-              <a-tab-pane tab="纭">
-                <a-form-model-item :labelCol="labelColLong" :wrapperCol="wrapperColLong" prop="confirmComment"
-                                   label="纭鎰忚">
-                  <a-textarea placeholder="璇疯緭鍏ユ剰瑙�" v-model="model.confirmComment"
-                              :disabled="disableSubmit || leaderConfirmDisable"/>
-                </a-form-model-item>
-              </a-tab-pane>
-            </a-tabs>
-
-            <a-tabs v-if="leaderConfirmDisable">
-              <a-tab-pane tab="棰嗗纭">
-                <a-form-model-item :labelCol="labelColLong" :wrapperCol="wrapperColLong" prop="leaderConfirmComment"
-                                   label="棰嗗鎰忚">
-                  <a-textarea placeholder="璇疯緭鍏ユ剰瑙�" v-model="model.leaderConfirmComment"
-                              :disabled="disableSubmit || completionDisable"/>
-                </a-form-model-item>
-              </a-tab-pane>
-            </a-tabs>
+          <a-col :span="8">
+            <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="standardName" label="鏍囧噯鍚嶇О">
+              <a-input placeholder="閫夋嫨璁惧鍚庤嚜鍔ㄥ甫鍑�" v-model="model.standardName" disabled/>
+            </a-form-model-item>
           </a-col>
         </a-row>
+        <a-row :gutter="24">
+          <a-col :span="8">
+            <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="maintenanceDate" label="淇濆吇鏃ユ湡">
+              <a-date-picker placeholder="璇烽�夋嫨璁″垝淇濆吇鏃ユ湡" v-model="model.maintenanceDate" format="YYYY-MM-DD"
+                             disabled
+                             style="width: 100%"/>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="8">
+            <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="operator" label="淇濆吇浜�">
+              <j-search-select-tag v-model="model.operator" placeholder="璇烽�夋嫨淇濆吇浜�" disabled
+                                   :dictOptions="maintenanceOperatorOptions"/>
+            </a-form-model-item>
+          </a-col>
+          <a-col :span="8">
+            <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="maintenancePeriod" label="淇濆吇鍛ㄦ湡">
+              <a-input placeholder="閫夋嫨璁惧鍚庤嚜鍔ㄥ甫鍑�" v-model="model.maintenancePeriod" disabled/>
+            </a-form-model-item>
+          </a-col>
+        </a-row>
+        <a-row :gutter="24">
+          <a-form-model-item :labelCol="labelColLong" :wrapperCol="wrapperColLong" prop="remark" label="澶囨敞">
+            <a-textarea placeholder="璇疯緭鍏ュ娉�" v-model="model.remark" disabled/>
+          </a-form-model-item>
+        </a-row>
+        <a-row :gutter="24">
+          <a-form-model-item :labelCol="labelColLong" :wrapperCol="wrapperColLong" label="淇濆吇鍥剧墖">
+            <lx-upload :returnUrl="false"
+                       :isMultiple="true"
+                       file-type="image"
+                       :disabled="confirmDisable"
+                       :number="3"
+                       v-model="model.imageFilesResult"/>
+          </a-form-model-item>
+        </a-row>
+        <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;"> 淇濆吇椤逛俊鎭�
+        </a-divider>
+        <a-row :gutter="24">
+          <a-tabs v-model="activeTabKey">
+            <a-tab-pane key="1" tab="淇濆吇椤规槑缁�" v-if="!isPrecisionCheck">
+              <j-vxe-table
+                ref="editableDetailTable"
+                :rowNumber="false"
+                :rowSelection="true"
+                :bordered="true"
+                :alwaysEdit="true"
+                :toolbar="false"
+                keep-source
+                :height="300"
+                :loading="detail.loading"
+                :dataSource="detail.dataSource"
+                :columns="detail.columns"
+                @selectRowChange="handleTableSelectRowChange"
+              >
+                <template v-slot:maintenanceResult="props">
+                  <j-dict-select-tag v-model="props.row.maintenanceResult" dictCode="eam_inspection_result"
+                                     placeholder="璇烽�夋嫨淇濆吇缁撴灉"
+                                     :disabled="disableSubmit || confirmDisable"
+                                     @change="handleInspectionResultSelectChange($event,props.row)"
+                                     style="width: 100%"/>
+                </template>
+
+                <template v-slot:exceptionDescription="props">
+                  <a-textarea style="height: 32px" v-model="props.row.exceptionDescription"
+                              :disabled="disableSubmit || confirmDisable || !props.row.maintenanceResult || props.row.maintenanceResult === '1'"/>
+                </template>
+
+                <template v-slot:reportFlag="props">
+                  <j-dict-select-tag v-model="props.row.reportFlag"
+                                     :disabled="disableSubmit || confirmDisable || !props.row.maintenanceResult || props.row.maintenanceResult === '1'"
+                                     dictCode="yn"
+                                     style="width: 100%"/>
+                </template>
+              </j-vxe-table>
+            </a-tab-pane>
+<!--            <a-tab-pane key='4' tab='绮惧害妫�楠�' v-if="!isMaintenance">-->
+<!--              <j-vxe-table-->
+<!--                ref="editablePrecisionDetailTable"-->
+<!--                :rowNumber="true"-->
+<!--                :rowSelection="true"-->
+<!--                :bordered="true"-->
+<!--                :alwaysEdit="true"-->
+<!--                :toolbar="false"-->
+<!--                :toolbarConfig="precisionDetail.toolbarConfig"-->
+<!--                keep-source-->
+<!--                :height="300"-->
+<!--                :dataSource="precisionDetail.dataSource"-->
+<!--                :columns="precisionDetail.columns"-->
+<!--                style="margin-top: 8px;" >-->
+<!--                <template v-slot:actualValue="props">-->
+<!--                  <a-input-number v-model="props.row.actualValue" :disabled="disableSubmit || confirmDisable" style="width: 100%" />-->
+<!--                </template>-->
+<!--              </j-vxe-table>-->
+<!--            </a-tab-pane>-->
+            <template v-if="selectShenpiData.procInstId">
+              <a-tab-pane key='2' tab='娴佺▼鑺傜偣'>
+                <a-card :bordered="false">
+                  <a-timeline>
+                    <a-timeline-item v-for="(item,index) in taskData" :key="index">
+                      <div>
+                        <h3 style="font-weight: bold;">{{item.taskName}}</h3>
+                        <div>澶勭悊浜猴細{{item.assignee_dictText}}</div>
+                        <div v-if="index !==0">澶勭悊鏃堕暱锛歿{item.duration}}</div>
+                        <div v-if="item.name !== '鎻愪氦鐢宠'">澶勭悊绫诲瀷锛歿{item.sequenceFlowName}}</div>
+                        <div v-if="item.description">澶勭悊鎰忚锛歿{item.description}}</div>
+                      </div>
+                    </a-timeline-item>
+                  </a-timeline>
+                </a-card>
+              </a-tab-pane>
+              <a-tab-pane key='3' tab='娴佺▼鍥�'>
+                <img :src="imageSrc" alt="Fetched Image"/>
+              </a-tab-pane>
+            </template>
+            <a-button v-if="!disableSubmit &&!confirmDisable&& selectedRowKeys.length > 0" slot="tabBarExtraContent"
+                      type="primary" @click="handleSelectAllInspectionResult">淇濆吇姝e父
+            </a-button>
+          </a-tabs>
+        </a-row>
+        <div v-if="confirmDisable">
+          <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;"> 鏈哄姩鍔炵‘璁や俊鎭�
+          </a-divider>
+          <a-row :gutter="24">
+            <a-col :span="24">
+              <a-form-model-item :labelCol="labelColLong" :wrapperCol="wrapperColLong" prop="confirmComment" label="纭鎰忚">
+                <a-textarea placeholder="璇疯緭鍏ユ剰瑙�" v-model="model.confirmComment"
+                            :disabled="disableSubmit || leaderConfirmDisable"/>
+              </a-form-model-item>
+            </a-col>
+          </a-row>
+        </div>
+        <div v-if="leaderConfirmDisable">
+          <a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;"> 棰嗗纭淇℃伅
+          </a-divider>
+          <a-row :gutter="24">
+            <a-col :span="24">
+              <a-form-model-item :labelCol="labelColLong" :wrapperCol="wrapperColLong" prop="leaderConfirmComment"
+                                 label="棰嗗鎰忚">
+                <a-textarea placeholder="璇疯緭鍏ユ剰瑙�" v-model="model.leaderConfirmComment"
+                            :disabled="disableSubmit || completionDisable"/>
+              </a-form-model-item>
+            </a-col>
+          </a-row>
+        </div>
       </a-form-model>
     </a-spin>
   </j-modal>
@@ -147,7 +205,15 @@
       return {
         title: '鎿嶄綔',
         visible: false,
+        //鐘舵�佹帶鍒�
+        //淇濆吇涓� 涓嶅彲缂栬緫
+        // confirmDisable: false,
+        // initialAcceptanceDisable: false,
+        // finalAcceptanceDisable: false,
+        editable: false,
         model: {},
+        maintenanceCategory: 'SECOND_MAINTENANCE',
+        maintenanceOperatorOptions: [],
         labelCol: {
           xs: { span: 24 },
           sm: { span: 6 }
@@ -158,11 +224,11 @@
         },
         labelColLong: {
           xs: { span: 24 },
-          sm: { span: 3 }
+          sm: { span: 2 }
         },
         wrapperColLong: {
           xs: { span: 24 },
-          sm: { span: 20 }
+          sm: { span: 21 }
         },
         confirmLoading: false,
         spinning: false,
@@ -174,18 +240,24 @@
           ],
           leaderConfirmComment: [
             { required: true, message: '璇疯緭鍏ュ垵楠屾敹鎰忚!' }
-          ]
+          ],
         },
         url: {
           queryById: '/eam/thirdMaintenanceOrder/queryById',
           detail: '/eam/thirdMaintenanceOrderDetail/queryList',
           approval: '/eam/thirdMaintenanceOrder/approval',
+          userSelect: '/eam/user_select/list',
           queryHisTaskList: '/assign/flow/queryHisTaskList',
-          diagramView: '/assign/flow/diagramView'
+          diagramView: '/assign/flow/diagramView',
+          // precisionCheckDetail: '/eam/precisionCheckDetail/queryList',
         },
         disableSubmit: false,
+        taskData: [],
+        isDisplayBmp: false,
+        showBmpButtonLoading: false,
         selectedRowKeys: [],
         detail: {
+          loading: false,
           dataSource: [],
           columns: [
             {
@@ -202,31 +274,28 @@
               title: '搴忓彿',
               key: 'itemCode',
               type: JVXETypes.normal,
-              width: 60,
+              width: '5%',
               align: 'center'
             },
             {
-              title: '淇濆吇閮ㄤ綅',
-              key: 'itemPart',
-              type: JVXETypes.normal,
-              align: 'center'
-            },
-            {
-              title: '淇濆吇鍐呭',
+              title: '淇濆吇椤�',
               key: 'itemName',
               type: JVXETypes.normal,
+              width: '10%',
               align: 'center'
             },
             {
-              title: '楠屾敹鏍囧噯',
+              title: '淇濆吇瑕佹眰',
               key: 'itemDemand',
               type: JVXETypes.normal,
+              width: '20%',
               align: 'center'
             },
             {
               title: '淇濆吇缁撴灉',
               key: 'maintenanceResult',
               type: JVXETypes.slot,
+              width: '10%',
               align: 'center',
               slotName: 'maintenanceResult',
               validateRules: [
@@ -237,6 +306,7 @@
               title: '寮傚父鎻忚堪',
               key: 'exceptionDescription',
               type: JVXETypes.slot,
+              width: '20%',
               align: 'center',
               slotName: 'exceptionDescription',
               validateRules: [
@@ -247,15 +317,88 @@
               title: '鏄惁鎶ヤ慨',
               key: 'reportFlag',
               type: JVXETypes.slot,
+              width: '10%',
               align: 'center',
               slotName: 'reportFlag',
               validateRules: [
                 { handler: this.customValidator }
               ]
             }
-          ]
-        }
+          ],
+          toolbarConfig: {
+            // prefix 鍓嶇紑锛泂uffix 鍚庣紑
+            slot: ['prefix', 'suffix'],
+            // add 鏂板鎸夐挳锛況emove 鍒犻櫎鎸夐挳锛沜learSelection 娓呯┖閫夋嫨鎸夐挳
+            btn: ['clearSelection']
+          }
+        },
+        // precisionDetail: {
+        //   loading: false,
+        //   dataSource: [],
+        //   columns: [
+        //     {
+        //       title: 'ID',
+        //       key: 'id',
+        //       type: JVXETypes.hidden
+        //     },
+        //     {
+        //       title: 'orderId',
+        //       key: 'orderId',
+        //       type: JVXETypes.hidden
+        //     },
+        //     {
+        //       title: 'equipmentId',
+        //       key: 'equipmentId',
+        //       type: JVXETypes.hidden
+        //     },
+        //     {
+        //       title: 'parameterId',
+        //       key: 'parameterId',
+        //       type: JVXETypes.hidden
+        //     },
+        //     {
+        //       title: '妫�娴嬮」鐩�',
+        //       key: 'parameterId_dictText',
+        //       type: JVXETypes.normal,
+        //       width: '25%',
+        //       align: 'center'
+        //     },
+        //     {
+        //       title: '鍙傛暟缂栫爜',
+        //       key: 'parameterCode_dictText',
+        //       type: JVXETypes.normal,
+        //       width: '20%',
+        //       align: 'center',
+        //     },
+        //     {
+        //       title: '鍏佸樊鍊�',
+        //       key: 'parameterValue',
+        //       type: JVXETypes.normal,
+        //       width: '15%',
+        //       align: 'center',
+        //     },
+        //     {
+        //       title: '瀹炴祴鍊�',
+        //       key: 'actualValue',
+        //       type: JVXETypes.slot,
+        //       width: '15%',
+        //       align: 'center',
+        //       slotName: 'actualValue',
+        //       validateRules: [
+        //         { required: true, message: '璇疯緭鍏ュ疄娴嬪�硷紒' }
+        //       ]
+        //     }
+        //   ],
+        //   toolbarConfig: {
+        //     // prefix 鍓嶇紑锛泂uffix 鍚庣紑
+        //     slot: ['prefix', 'suffix'],
+        //     // add 鏂板鎸夐挳锛況emove 鍒犻櫎鎸夐挳锛沜learSelection 娓呯┖閫夋嫨鎸夐挳
+        //     btn: ['add', 'remove', 'clearSelection']
+        //   }
+        // }
       }
+    },
+    created() {
     },
     computed: {
       confirmDisable: function() {
@@ -268,18 +411,25 @@
         return ['COMPLETE', 'ABOLISH'].includes(this.model.maintenanceStatus)
       },
       isMaintenance: function() {
-        return this.selectShenpiData && this.selectShenpiData.taskDefKey === 'maintenance_execution'
+        return this.selectShenpiData && this.selectShenpiData.taskDefKey === 'maintenance_execution';
       },
       isPrecisionCheck: function() {
-        return this.selectShenpiData && this.selectShenpiData.taskDefKey === 'precision_check'
-      }
+        return this.selectShenpiData && this.selectShenpiData.taskDefKey === 'precision_check';
+      },
     },
     methods: {
       async handleDetail(item) {
         this.initParams()
+        //閲嶆柊璁$畻defaultKey
+        if(item && item.taskDefKey === 'precision_check') {
+          this.activeTabKey = '4';
+        }
         this.model = {}
         if (item.procInstId) {
-          const { processDefinitionId, processInstanceId, processDefinitionKey } = item
+          const { processDefinitionId, processInstanceId, processDefinitionKey, procInstId } = item
+
+          let taskDataList = await getAction(this.url.queryHisTaskList, { procInstId })
+          this.taskData = [...taskDataList.result]
 
           downFile(this.url.diagramView, {
             processDefinitionId,
@@ -299,40 +449,66 @@
         }
         let res = await getAction(this.url.queryById, { id: item.dataId })
         this.model = Object.assign({}, res.result)
+        if (this.model.imageFiles) {
+          let obj = JSON.parse(this.model.imageFiles)
+          this.model.imageFilesResult = [...obj]
+        }
         this.model.dataId = item.dataId
         this.model.taskId = item.id
         this.model.userId = item.assignee
         this.model.instanceId = item.procInstId
+        this.model.values = item.variables
         await this.loadDetail(item.dataId)
+        // await this.loadPrecisionDetail(item.dataId);
       },
 
       recordDetail(record) {
+        console.log('record', record)
         this.initParams()
         this.model = Object.assign({}, record)
+        if (this.model.imageFiles) {
+          let obj = JSON.parse(this.model.imageFiles)
+          this.model.imageFilesResult = [...obj]
+        }
         this.loadDetail(record.id)
+        this.loadPrecisionDetail(record.id);
       },
       initParams() {
         this.detail.dataSource = []
         this.visible = true
-        this.activeTabKey = '1'
+        this.activeTabKey = '1';
+        if(this.selectShenpiData &&  this.selectShenpiData.taskDefKey === 'precision_check') {
+          this.activeTabKey = '4';
+        }
         this.spinning = true
       },
-
       async handleOk() {
         const that = this
-        let errMap = await that.$refs.editableDetailTable.validateTable()
-        if (errMap) {
-          this.$message.warning('鏁版嵁鏍¢獙澶辫触锛�')
-          return
+        if(that.$refs.editableDetailTable) {
+          let errMap = await that.$refs.editableDetailTable.validateTable()
+          if (errMap) {
+            this.$message.warning('鏁版嵁鏍¢獙澶辫触锛�')
+            return
+          }
         }
-
         // 瑙﹀彂琛ㄥ崟楠岃瘉
         this.$refs.form.validate(valid => {
           if (valid) {
             that.confirmLoading = that.spinning = true
-            that.model.tableDetailList = that.$refs.editableDetailTable.getTableData()
+            let tableData = [];
+            let precisionTableData = [];
+            if(that.$refs.editableDetailTable) {
+              tableData = that.$refs.editableDetailTable.getTableData()
+            }
+            if(that.$refs.editablePrecisionDetailTable) {
+              precisionTableData = that.$refs.editablePrecisionDetailTable.getTableData()
+            }
+            that.model.tableDetailList = [...tableData]
+            that.model.precisionDetailList = [...precisionTableData]
+            let httpurl = this.url.approval
+            let method = 'put'
 
-            httpAction(this.url.approval, this.model, 'put').then((res) => {
+            httpAction(httpurl, this.model, method).then((res) => {
               if (res.success) {
                 that.$message.success(res.message)
                 that.$emit('searchReset')
@@ -348,20 +524,21 @@
           }
         })
       },
-
       autocompleteForm(selectObj) {
         this.$set(this.model, 'standardName', selectObj.standardName)
         this.$set(this.model, 'maintenancePeriod', selectObj.maintenancePeriod)
         this.$set(this.model, 'standardId', selectObj.id)
         this.$set(this.model, 'equipmentId', selectObj.equipmentId)
+        // console.log('model', this.model)
         if (!this.model.id) {
           this.loadStandardDetail(selectObj.id)
         }
+        this.loadMaintenanceOperatorList(this.model.equipmentId)
       },
-      //瑙勮寖閫夋嫨鍙樺寲
+      //鏍囧噯閫夋嫨鍙樺寲
       loadDetail(orderId) {
         if (orderId) {
-          getAction(this.url.detail, { orderId })
+          getAction(this.url.detail, { orderId: orderId })
             .then(res => {
               if (res.success) {
                 this.detail.dataSource = [...res.result]
@@ -372,11 +549,35 @@
             })
         }
       },
+      // loadPrecisionDetail(orderId) {
+      //   if (orderId) {
+      //     getAction(this.url.precisionCheckDetail, { orderId: orderId }).then(res => {
+      //       if (res.success) {
+      //         this.precisionDetail.dataSource = [...res.result]
+      //       }
+      //     })
+      //   }
+      // },
+      loadMaintenanceOperatorList(equipmentId) {
+        this.maintenanceOperatorOptions = []
+        let params = { positionCode: 'PCR0001' }
+        if (equipmentId) {
+          params.equipmentId = equipmentId
+        }
+        getAction(this.url.userSelect, params).then(res => {
+          if (res.success) {
+            this.maintenanceOperatorOptions = res.result.map(item => ({
+              key: item.id,
+              value: item.username,
+              text: item.realname
+            }))
+          }
+        })
+      },
       handleInspectionResultSelectChange(value, record) {
         if (record.exceptionDescription) delete record.exceptionDescription
         if (record.reportFlag) delete record.reportFlag
       },
-
       // 鎵归噺閫夋嫨鎵�鏈夌偣妫�缁撴灉
       handleSelectAllInspectionResult() {
         this.selectedRowKeys.forEach(key => {
@@ -423,4 +624,8 @@
       }
     }
   }
-</script>
\ No newline at end of file
+</script>
+
+<style lang="less" scoped>
+
+</style>
\ No newline at end of file

--
Gitblit v1.9.3