From 4c8b185fea72bc3bb8fc380a196b8fe2a8e5f1af Mon Sep 17 00:00:00 2001
From: qushaowei <qushaowei@163.com>
Date: 星期四, 03 七月 2025 20:13:28 +0800
Subject: [PATCH] 设备管理问题修改

---
 src/views/eam/equipment/EamEquipmentList.vue |  697 +++++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 546 insertions(+), 151 deletions(-)

diff --git a/src/views/eam/equipment/EamEquipmentList.vue b/src/views/eam/equipment/EamEquipmentList.vue
index da0b8cd..ec10e87 100644
--- a/src/views/eam/equipment/EamEquipmentList.vue
+++ b/src/views/eam/equipment/EamEquipmentList.vue
@@ -3,69 +3,128 @@
 
     <!-- 鏌ヨ鍖哄煙 -->
     <div class="table-page-search-wrapper">
-      <a-form layout="inline" @keyup.enter.native="searchQuery">
+      <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="6"
+            :lg="7"
+            :md="8"
+            :sm="24"
+          >
             <a-form-item label="璁惧缂栧彿">
-              <a-input placeholder="璇疯緭鍏ヨ澶囩紪鍙�" v-model="queryParam.equipmentCode"></a-input>
+              <a-input
+                placeholder="璇疯緭鍏ヨ澶囩紪鍙�"
+                v-model="queryParam.equipmentCode"
+              ></a-input>
             </a-form-item>
           </a-col>
-          <a-col :xl="6" :lg="7" :md="8" :sm="24">
+          <a-col
+            :xl="6"
+            :lg="7"
+            :md="8"
+            :sm="24"
+          >
             <a-form-item label="璁惧鍚嶇О">
-              <a-input placeholder="璇疯緭鍏ヨ澶囧悕绉�" v-model="queryParam.equipmentName"></a-input>
+              <a-input
+                placeholder="璇疯緭鍏ヨ澶囧悕绉�"
+                v-model="queryParam.equipmentName"
+              ></a-input>
             </a-form-item>
           </a-col>
-          <a-col :xl="6" :lg="7" :md="8" :sm="24">
-            <a-form-item label="鍏抽敭璁惧鏍囪瘑">
-              <j-dict-select-tag dict-code="yn" placeholder="璇烽�夋嫨鍏抽敭璁惧鏍囪瘑"
-                                 v-model="queryParam.equipmentImportance"></j-dict-select-tag>
+          <a-col
+            :xl="6"
+            :lg="7"
+            :md="8"
+            :sm="24"
+          >
+            <a-form-item label="绠$悊鍒嗙被">
+              <j-dict-select-tag
+                dict-code="equipment_abc_flag"
+                placeholder="璇烽�夋嫨绠$悊鍒嗙被"
+                v-model="queryParam.equipmentImportance"
+              ></j-dict-select-tag>
             </a-form-item>
           </a-col>
           <template v-if="toggleSearchStatus">
-            <a-col :xl="6" :lg="7" :md="8" :sm="24">
+            <a-col
+              :xl="6"
+              :lg="7"
+              :md="8"
+              :sm="24"
+            >
               <a-form-item label="璧勪骇鐘舵��">
-                <j-dict-select-tag dict-code="asset_status" placeholder="璇烽�夋嫨璧勪骇鐘舵��"
-                                   v-model="queryParam.assetStatus"></j-dict-select-tag>
+                <j-dict-select-tag
+                  dict-code="asset_status"
+                  placeholder="璇烽�夋嫨璧勪骇鐘舵��"
+                  v-model="queryParam.assetStatus"
+                ></j-dict-select-tag>
               </a-form-item>
             </a-col>
-            <a-col :xl="6" :lg="7" :md="8" :sm="24">
-              <a-form-item label="鎶�鏈姸鎬�">
-                <j-dict-select-tag dict-code="technology_status" placeholder="璇烽�夋嫨鎶�鏈姸鎬�"
-                                   v-model="queryParam.technologyStatus"></j-dict-select-tag>
+            <a-col
+              :xl="6"
+              :lg="7"
+              :md="8"
+              :sm="24"
+            >
+              <a-form-item label="璁惧绫诲埆">
+                <j-dict-select-tag
+                  dict-code="equipment_category"
+                  placeholder="璇烽�夋嫨璁惧绫诲埆"
+                  v-model="queryParam.equipmentCategory"
+                ></j-dict-select-tag>
               </a-form-item>
             </a-col>
-            <a-col :xl="6" :lg="7" :md="8" :sm="24">
-              <a-form-item label="鎿嶄綔绯荤粺">
-                <a-input placeholder="璇疯緭鍏ユ搷浣滅郴缁�" v-model="queryParam.operationSystem"></a-input>
-              </a-form-item>
-            </a-col>
-            <a-col :xl="6" :lg="7" :md="8" :sm="24">
+            <a-col
+              :xl="6"
+              :lg="7"
+              :md="8"
+              :sm="24"
+            >
               <a-form-item label="浣跨敤杞﹂棿">
-                <a-tree-select v-model="queryParam.orgId"
-                               style="width: 100%"
-                               :tree-data="treeData"
-                               :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }"
-                               placeholder="璇烽�夋嫨浣跨敤杞﹂棿"
-                               allow-clear
-                               tree-default-expand-all
+                <a-tree-select
+                  v-model="queryParam.orgId"
+                  style="width: 100%"
+                  :tree-data="treeDataAlias"
+                  :dropdown-style="{ maxHeight: '400px', overflow: 'auto' }"
+                  placeholder="璇烽�夋嫨浣跨敤杞﹂棿"
+                  allow-clear
+                  tree-default-expand-all
                 >
                 </a-tree-select>
               </a-form-item>
             </a-col>
-            <a-col :xl="6" :lg="7" :md="8" :sm="24">
-              <a-form-item label="璁惧鍒嗙被">
-                <j-dict-select-tag dict-code="equipment_category" placeholder="璇烽�夋嫨璁惧鍒嗙被"
-                                   v-model="queryParam.equipmentCategory"></j-dict-select-tag>
-              </a-form-item>
-            </a-col>
+
           </template>
-          <a-col :xl="6" :lg="7" :md="8" :sm="24">
-            <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
-              <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>
-              <a-button type="info" @click="searchReset" icon="reload" style="margin-left: 8px">閲嶇疆</a-button>
-              <a @click="handleToggleSearch" style="margin-left: 8px">
+          <a-col
+            :xl="6"
+            :lg="7"
+            :md="8"
+            :sm="24"
+          >
+            <span
+              style="float: left;overflow: hidden;"
+              class="table-page-search-submitButtons"
+            >
+              <a-button
+                type="primary"
+                @click="searchQuery"
+                icon="search"
+              >鏌ヨ</a-button>
+              <a-button
+                type="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-icon :type="toggleSearchStatus ? 'up' : 'down'" />
               </a>
             </span>
           </a-col>
@@ -76,33 +135,67 @@
 
     <!-- 鎿嶄綔鎸夐挳鍖哄煙 -->
     <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-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-button
+        type="primary"
+        icon="download"
+        @click="handleTemplateXlsDownload"
+      >瀵煎叆妯℃澘涓嬭浇</a-button>
       <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 key="1" @click="handleOpenNameplateModal(selectionRows)">-->
+          <!--            <a-icon type="printer"/>-->
+          <!--            鎵撳嵃閾墝-->
+          <!--          </a-menu-item>-->
+          <a-menu-item
+            key="2"
+            @click="batchDel"
+            v-if="isShowAuth('eam:equipment:delete')"
+          >
+            <a-icon type="delete" />
             鍒犻櫎
           </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;">
-        <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;"
+      >
+        <i class="anticon anticon-info-circle ant-alert-icon"></i> 宸查�夋嫨 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>椤�
+        <a
+          style="margin-left: 24px"
+          @click="onSelectChange([])"
+        >娓呯┖</a>
       </div>
-
       <a-table
         ref="table"
         size="middle"
@@ -114,37 +207,61 @@
         :loading="loading"
         :scroll="{ x: 'max-content' }"
         :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
-        @change="handleTableChange">
-        <span slot="equipmentImportance" slot-scope="text">
-          <lx-switch v-model="text" disabled checked-children="鏄�" un-checked-children="鍚�"/>
+        @change="handleTableChange"
+        :customRow="customTableRow"
+      >
+        <span
+          slot="processParametersFlag"
+          slot-scope="text"
+        >
+          <lx-switch
+            v-model="text"
+            disabled
+            checked-children="鏈�"
+            un-checked-children="鏃�"
+          />
         </span>
-        <span slot="mdcFlag" slot-scope="text">
-          <lx-switch v-model="text" disabled checked-children="鏄�" un-checked-children="鍚�"/>
+        <span
+          slot="precisionParametersFlag"
+          slot-scope="text"
+        >
+          <lx-switch
+            v-model="text"
+            disabled
+            checked-children="鏈�"
+            un-checked-children="鏃�"
+          />
         </span>
-        <span slot="processParametersFlag" slot-scope="text">
-          <lx-switch v-model="text" disabled checked-children="鏈�" un-checked-children="鏃�"/>
-        </span>
-        <span slot="precisionParametersFlag" slot-scope="text">
-          <lx-switch v-model="text" disabled checked-children="鏈�" un-checked-children="鏃�"/>
-        </span>
-        <span slot="specialEquipment" slot-scope="text">
-          <lx-switch v-model="text" disabled checked-children="鏄�" un-checked-children="鍚�"/>
-        </span>
-        <span slot="action" slot-scope="text, record">
-          <a @click="handleEdit(record)">缂栬緫</a>
+        <span
+          slot="action"
+          slot-scope="text, record"
+        >
+          <a @click.stop="handleEdit(record)">缂栬緫</a>
 
-          <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 href="javascript:;" @click="handleOpenNameplateModal([record])">閾墝</a>-->
+              <!--              </a-menu-item>-->
               <a-menu-item>
-                <a href="javascript:;" @click="handleOpenNameplateModal(record)">閾墝</a>
+                <a
+                  href="javascript:;"
+                  @click="handleOpenResumeDrawer(record)"
+                >灞ュ巻</a>
               </a-menu-item>
               <a-menu-item>
-                <a href="javascript:;" @click="handleDetail(record)">璇︽儏</a>
+                <a
+                  href="javascript:;"
+                  @click="handleDetail(record)"
+                >璇︽儏</a>
               </a-menu-item>
-              <a-menu-item>
-                <a-popconfirm title="纭畾鍒犻櫎鍚�?" @confirm="() => handleDelete(record.id)">
+              <a-menu-item v-if="isShowAuth('eam:equipment:delete')">
+                <a-popconfirm
+                  title="纭畾鍒犻櫎鍚�?"
+                  @confirm="() => handleDelete(record.id)"
+                >
                   <a>鍒犻櫎</a>
                 </a-popconfirm>
               </a-menu-item>
@@ -156,10 +273,110 @@
     </div>
     <!-- table鍖哄煙-end -->
 
+    <a-tabs
+      v-model="activeTabKey"
+      @change="handleTabChange"
+    >
+      <a-tab-pane
+        tab="璁惧鏂囨。"
+        :key="1"
+      >
+        <eam-equipment-attachment-list ref="tabPaneTableListRef1" />
+      </a-tab-pane>
+      <a-tab-pane
+        tab="鐐规宸ュ崟"
+        :key="2"
+      >
+        <eam-inspection-order-list
+          ref="tabPaneTableListRef2"
+          :isDisplayOperation="false"
+        />
+      </a-tab-pane>
+      <!--      <a-tab-pane tab="鍛ㄤ繚宸ュ崟" :key="3">
+        <eam-week-maintenance-order-list ref="tabPaneTableListRef3" :isDisplayOperation="false"/>
+      </a-tab-pane>-->
+      <a-tab-pane
+        tab="浜屼繚宸ュ崟"
+        :key="3"
+      >
+        <eam-second-maintenance-order-list
+          ref="tabPaneTableListRef3"
+          :isDisplayOperation="false"
+        />
+      </a-tab-pane>
+      <a-tab-pane
+        tab="涓変繚宸ュ崟"
+        :key="4"
+      >
+        <eam-third-maintenance-order-list
+          ref="tabPaneTableListRef4"
+          :isDisplayOperation="false"
+        />
+      </a-tab-pane>
+      <a-tab-pane
+        tab="缁翠慨宸ュ崟"
+        :key="5"
+      >
+        <eam-repair-order-list
+          ref="tabPaneTableListRef5"
+          :isDisplayOperation="false"
+        />
+      </a-tab-pane>
+      <a-tab-pane
+        tab="淇濆吇鏍囧噯"
+        :key="6"
+      >
+        <eam-maintenance-standard-list
+          ref="tabPaneTableListRef6"
+          :isDisplayOperation="false"
+        />
+      </a-tab-pane>
+      <a-tab-pane
+        tab="宸ヨ壓鍙傛暟"
+        :key="7"
+        v-if="isOpenProcess"
+      >
+        <eam-equipment-process-list
+          ref="tabPaneTableListRef7"
+          :isDisplayOperation="false"
+        />
+      </a-tab-pane>
+      <a-tab-pane
+        tab="璁惧绮惧害"
+        :key="8"
+        v-if="isOpenPrecision"
+      >
+        <eam-equipment-precision-list
+          ref="tabPaneTableListRef8"
+          :isDisplayOperation="false"
+        />
+      </a-tab-pane>
+      <a-tab-pane
+        tab="璁惧娌规恫"
+        :key="9"
+      >
+        <eam-equipment-fluid-list
+          ref="tabPaneTableListRef9"
+          :isDisplayOperation="false"
+        />
+      </a-tab-pane>
+    </a-tabs>
+
     <!-- 琛ㄥ崟鍖哄煙 -->
-    <eamEquipment-modal ref="modalForm" @ok="modalFormOk"></eamEquipment-modal>
+    <eamEquipment-modal
+      ref="modalForm"
+      @ok="modalFormOk"
+    ></eamEquipment-modal>
     <!--閾墝寮圭獥-->
-    <nameplate-modal ref="nameplateModalRef"/>
+    <nameplate-modal
+      ref="nameplateModalRef"
+      :printedRows="printedRows"
+    />
+    <!--灞ュ巻寮圭獥-->
+    <resume-drawer
+      ref="resumeDrawerRef"
+      :currentTableRowRecord="currentTableRowRecord"
+    />
   </a-card>
 </template>
 
@@ -167,15 +384,38 @@
 import '@/assets/less/TableExpand.less'
 import EamEquipmentModal from './modules/EamEquipmentModal'
 import { JeecgListMixin } from '@/mixins/JeecgListMixin'
-import { getAction } from '@api/manage'
+import { getAction, templateXlsDownload } from '@api/manage'
 import NameplateModal from '@views/eam/equipment/modules/NameplateModal.vue'
+import { getSystemConfigValue } from '@api/api'
+import ResumeDrawer from '@views/eam/equipment/modules/ResumeDrawer.vue'
+import EamMaintenanceStandardList from '@views/eam/base/EamMaintenanceStandardList.vue'
+import EamRepairOrderList from '../repair/EamRepairOrderList'
+import EamInspectionOrderList from '../maintenance/EamInspectionOrderList'
+import EamEquipmentAttachmentList from '@views/eam/equipment/EamEquipmentAttachmentList.vue'
+// import EamWeekMaintenanceOrderList from '@views/eam/maintenance/EamWeekMaintenanceOrderList.vue'
+import EamEquipmentProcessList from '@views/eam/equipment/modules/EamEquipmentProcessList.vue'
+import EamEquipmentPrecisionList from '@views/eam/equipment/modules/EamEquipmentPrecisionList.vue'
+import EamSecondMaintenanceOrderList from '@views/eam/maintenance/EamSecondMaintenanceOrderList.vue'
+import EamThirdMaintenanceOrderList from '@views/eam/maintenance/EamThirdMaintenanceOrderList.vue'
+import EamEquipmentFluidList from '@views/eam/equipment/modules/EamEquipmentFluidList.vue'
 
 export default {
   name: 'EamEquipmentList',
   mixins: [JeecgListMixin],
   components: {
+    EamInspectionOrderList,
+    EamRepairOrderList,
+    EamMaintenanceStandardList,
+    ResumeDrawer,
     NameplateModal,
-    EamEquipmentModal
+    EamEquipmentModal,
+    EamEquipmentAttachmentList,
+    // EamWeekMaintenanceOrderList,
+    EamEquipmentProcessList,
+    EamEquipmentPrecisionList,
+    EamSecondMaintenanceOrderList,
+    EamThirdMaintenanceOrderList,
+    EamEquipmentFluidList
   },
   data() {
     return {
@@ -188,7 +428,7 @@
           key: 'rowIndex',
           width: 60,
           align: 'center',
-          customRender: function(t, r, index) {
+          customRender: function (t, r, index) {
             return parseInt(index) + 1
           },
           fixed: 'left'
@@ -211,23 +451,22 @@
           fixed: 'left'
         },
         {
-          title: '鍏抽敭璁惧鏍囪瘑',
+          title: '绠$悊鍒嗙被',
           align: 'center',
           width: 120,
-          dataIndex: 'equipmentImportance',
-          scopedSlots: { customRender: 'equipmentImportance' }
-        },
-        {
-          title: '璧勪骇鐘舵��',
-          align: 'center',
-          width: 100,
-          dataIndex: 'assetStatus_dictText'
+          dataIndex: 'equipmentImportance_dictText',
         },
         {
           title: '鎶�鏈姸鎬�',
           align: 'center',
           width: 100,
           dataIndex: 'technologyStatus_dictText'
+        },
+        {
+          title: '璧勪骇浣跨敤鐘舵��',
+          align: 'center',
+          width: 100,
+          dataIndex: 'assetStatus_dictText'
         },
         {
           title: '缁翠慨鐘舵��',
@@ -242,12 +481,6 @@
           dataIndex: 'maintenanceStatus_dictText'
         },
         {
-          title: '鎿嶄綔绯荤粺',
-          align: 'center',
-          width: 100,
-          dataIndex: 'operationSystem'
-        },
-        {
           title: '浣跨敤杞﹂棿',
           align: 'center',
           width: 100,
@@ -260,15 +493,19 @@
           dataIndex: 'equipmentManager_dictText'
         },
         {
-          title: '璁惧鍒嗙被',
+          title: '璁惧绫诲埆',
           align: 'center',
-          width: 100,
           dataIndex: 'equipmentCategory_dictText'
+        },
+        {
+          title: '璁惧绉嶇被',
+          align: 'center',
+          dataIndex: 'equipmentType_dictText'
         },
         {
           title: '璁惧鍨嬪彿',
           align: 'center',
-          width: 100,
+          width: 200,
           dataIndex: 'equipmentModel'
         },
         {
@@ -278,16 +515,22 @@
           dataIndex: 'equipmentSpecification'
         },
         {
-          title: '涓昏酱杩炴帴灏哄',
+          title: '鐢垫満鍙版暟',
           align: 'center',
-          width: 120,
-          dataIndex: 'spindleConnectDimension'
+          width: 100,
+          dataIndex: 'motorsNumber'
         },
         {
-          title: '鎬诲姛鐜�',
+          title: '鎬诲姛鐜�(KW)',
           align: 'center',
           width: 100,
           dataIndex: 'equipmentPower'
+        },
+        {
+          title: '閲嶉噺(鍚�)',
+          align: 'center',
+          width: 100,
+          dataIndex: 'equipmentWeight'
         },
         {
           title: '瀹夎浣嶇疆',
@@ -295,23 +538,15 @@
           width: 100,
           dataIndex: 'installationPosition'
         },
-
-        {
-          title: '绔嬮」鍗″彿',
-          align: 'center',
-          width: 100,
-          dataIndex: 'cardNumber'
-        },
         {
           title: '鍑哄巶缂栧彿',
           align: 'center',
-          width: 100,
           dataIndex: 'factoryNumber'
         },
         {
           title: '鏈哄簥鍘傚',
           align: 'center',
-          width: 100,
+          width: 300,
           dataIndex: 'manufacturingEnterprise'
         },
         {
@@ -321,35 +556,22 @@
           dataIndex: 'originCountry'
         },
         {
+          title: '璁惧渚涘簲鍟�',
+          align: 'center',
+          width: 100,
+          dataIndex: 'supplier'
+        },
+        {
           title: '鍑哄巶鏃ユ湡',
           align: 'center',
           width: 100,
           dataIndex: 'leaveFactoryDate'
         },
         {
-          title: '楠屾敹鏃ユ湡',
+          title: '鎶曠敤鏃ユ湡',
           align: 'center',
           width: 100,
           dataIndex: 'acceptanceCheckDate'
-        },
-        {
-          title: '璐ㄤ繚寮�濮嬫棩鏈�',
-          align: 'center',
-          width: 120,
-          dataIndex: 'warrantyStartDate'
-        },
-        {
-          title: '璐ㄤ繚缁撴潫鏃ユ湡',
-          align: 'center',
-          width: 120,
-          dataIndex: 'warrantyEndDate'
-        },
-        {
-          title: '鏄惁瀹炴柦MDC',
-          align: 'center',
-          width: 120,
-          dataIndex: 'mdcFlag',
-          scopedSlots: { customRender: 'mdcFlag' }
         },
         {
           title: '鏈夋棤宸ヨ壓鍙傛暟',
@@ -366,33 +588,61 @@
           scopedSlots: { customRender: 'precisionParametersFlag' }
         },
         {
-          title: '鏄惁涓虹壒绉嶈澶�',
+          title: '澶栧舰灏哄',
           align: 'center',
-          width: 120,
-          dataIndex: 'specialEquipment',
-          scopedSlots: { customRender: 'specialEquipment' }
+          dataIndex: 'overallDimensions'
         },
         {
-          title: '閲嶉噺',
+          title: '鍘熷��(鍏�)',
           align: 'center',
-          dataIndex: 'equipmentWeight'
+          dataIndex: 'originalValue'
         },
         {
-          title: '璁惧绔彛',
+          title: '璧勯噾鏉ユ簮',
+          align: 'center',
+          dataIndex: 'fundingSource'
+        },
+        {
+          title: '鍔熻兘鐢ㄩ��',
+          align: 'center',
+          dataIndex: 'functionUse'
+        },
+        {
+          title: '鎬ц兘鎸囨爣',
+          align: 'center',
+          dataIndex: 'performanceIndicators'
+        },
+        {
+          title: '鍏ュ笎鏃堕棿',
           align: 'center',
           width: 100,
-          dataIndex: 'equipmentPort'
+          dataIndex: 'bookingTime'
         },
         {
-          title: '鍧愭爣鏁伴噺',
+          title: '鍒涘缓浜�',
           align: 'center',
           width: 100,
-          dataIndex: 'coordinateNum'
+          dataIndex: 'createBy_dictText'
+        },
+        {
+          title: '鍒涘缓鏃堕棿',
+          align: 'center',
+          width: 200,
+          dataIndex: 'createTime'
+        },
+        {
+          title: '鏇存柊浜�',
+          align: 'center',
+          dataIndex: 'updateBy_dictText'
+        },
+        {
+          title: '鏇存柊鏃堕棿',
+          align: 'center',
+          dataIndex: 'updateTime'
         },
         {
           title: '澶囨敞',
           align: 'center',
-          width: 100,
           dataIndex: 'remark'
         },
         {
@@ -410,18 +660,27 @@
         deleteBatch: '/eam/equipment/deleteBatch',
         exportXlsUrl: 'eam/equipment/exportXls',
         importExcelUrl: 'eam/equipment/importExcel',
-        loadProductionOptions: '/mdc/mdcProduction/loadProductionTreeOptions'
+        loadProductionOptions: '/mdc/mdcProduction/loadProductionTreeOptions',
+        templateXlsDownloadUrl: '瀵煎叆妯℃澘/璁惧鍙拌处瀵煎叆妯℃澘_v1.1.xlsx'
       },
-      treeData: []
+      treeData: [],
+      printedRows: [],
+      activeTabKey: 1,
+      appHomeUrl: '',
+      currentTableRowRecord: {},
+      isOpenProcess: false,
+      isOpenPrecision: false,
+      treeDataAlias: [],
     }
   },
   computed: {
-    importExcelUrl: function() {
+    importExcelUrl: function () {
       return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`
-    }
+    },
   },
   created() {
     this.loadAllProductionTree()
+    this.loadAppHomeUrlConfigValue()
   },
   methods: {
     loadAllProductionTree() {
@@ -429,6 +688,8 @@
       getAction(this.url.loadProductionOptions).then(res => {
         if (res.success) {
           this.treeData = [...res.result]
+          this.treeDataAlias = this.deepCopyAndModify(res.result)
+          console.info('treeDataAlias====', this.treeDataAlias)
         } else {
           that.$message.warning(res.message)
         }
@@ -437,12 +698,146 @@
 
     /**
      * 寮�鍚摥鐗屽脊绐�
-     * @param record
+     * @param recordArray 琛ㄦ牸琛屼俊鎭泦鍚�
      */
-    handleOpenNameplateModal(record) {
-      this.$refs.nameplateModalRef.model = Object.assign({}, record)
+    handleOpenNameplateModal(recordArray) {
+      this.printedRows = recordArray
+      this.$refs.nameplateModalRef.httpUrl = this.appHomeUrl
       this.$refs.nameplateModalRef.visible = true
-    }
+    },
+
+    /**
+     * 寮�鍚饱鍘嗘娊灞�
+     * @param record 琛ㄦ牸琛屼俊鎭�
+     */
+    handleOpenResumeDrawer(record) {
+      this.currentTableRowRecord = Object.assign({}, record)
+      this.$refs.resumeDrawerRef.title = '璁惧灞ュ巻' + `锛�${record.equipmentCode}锛塦
+      this.$refs.resumeDrawerRef.dataSource = []
+      this.$refs.resumeDrawerRef.visible = true
+      this.$nextTick(() => this.$refs.resumeDrawerRef.getEquipmentResumeByApi())
+    },
+
+    /**
+     * 鑷畾涔夎澶囧彴璐﹁〃鏍艰
+     * @param record 琛ㄦ牸琛屼俊鎭�
+     * @returns {{style: {cursor: string}, on: {click: *}}} 鏍峰紡瀵硅薄涓庝簨浠舵柟娉�
+     */
+    customTableRow(record) {
+      return {
+        style: {
+          cursor: 'pointer'
+        },
+        on: {
+          click: () => {
+            this.onSelectChange([record.id])
+          }
+        }
+      }
+    },
+
+    /**
+     * 椤电鏀瑰彉鏃惰Е鍙�
+     * @param activeTabKey 褰撳墠婵�娲荤殑椤电key
+     */
+    handleTabChange(activeTabKey) {
+      if (this.selectedRowKeys.length !== 1) return
+      this.$nextTick(() => this.loadTabPaneTableData(this.selectedRowKeys[0]))
+    },
+
+    /**
+     * 鍔犺浇椤电琛ㄦ牸鏁版嵁
+     * @param id 璁惧鍙拌处琛岃褰旾d
+     */
+    loadTabPaneTableData(id) {
+      this.$refs['tabPaneTableListRef' + this.activeTabKey].queryParam.equipmentId = id
+      this.$refs['tabPaneTableListRef' + this.activeTabKey].loadData(1)
+    },
+
+    /**
+     * 璁惧鍙拌处琛ㄦ牸澶氶�夋鐘舵�佹敼鍙樻椂瑙﹀彂
+     * @param selectedRowKeys 宸查�夋嫨鐨剅owKey闆嗗悎
+     * @param selectionRows 褰撳墠鍒嗛〉涓嬪凡閫夋嫨鐨勮淇℃伅闆嗗悎
+     */
+    onSelectChange(selectedRowKeys, selectionRows) {
+      this.selectedRowKeys = selectedRowKeys
+      this.selectionRows = selectionRows
+      this.$refs['tabPaneTableListRef' + this.activeTabKey].queryParam.equipmentId = null
+      this.$refs['tabPaneTableListRef' + this.activeTabKey].dataSource = []
+      this.$refs['tabPaneTableListRef' + this.activeTabKey].onClearSelected()
+      if (selectedRowKeys.length === 1) {
+        let row = this.dataSource.find(row => row.id === selectedRowKeys[0]);
+        if (row) {
+          this.isOpenProcess = (row.processParametersFlag === '1')
+          this.isOpenPrecision = (row.precisionParametersFlag === '1')
+        } else {
+          this.isOpenProcess = false
+          this.isOpenPrecision = false
+        }
+        this.loadTabPaneTableData(selectedRowKeys[0])
+      } else {
+        this.isOpenProcess = false
+        this.isOpenPrecision = false
+      }
+      //tab鏍囩琚攢姣佷簡锛岃繑鍥炵涓�涓猼ab
+      if (!this.isOpenProcess && this.activeTabKey === 6) {
+        this.activeTabKey = 1;
+      }
+      if (!this.isOpenPrecision && this.activeTabKey === 7) {
+        this.activeTabKey = 1;
+      }
+    },
+
+    handleTemplateXlsDownload() {
+      templateXlsDownload(this.url.templateXlsDownloadUrl)
+    },
+
+    loadAppHomeUrlConfigValue() {
+      let params = { settingKey: 'app_home_url' }
+      getSystemConfigValue(params).then(res => {
+        if (res.success) {
+          this.appHomeUrl = res.result.settingValue
+        }
+      })
+    },
+    deepCopyAndModify(arr) {
+      // 濡傛灉褰撳墠鍏冪礌涓嶆槸鏁扮粍鎴栧璞★紝鐩存帴杩斿洖
+      if (!Array.isArray(arr) && typeof arr !== 'object' || arr === null || arr.length === 0) {
+        return arr;
+      }
+
+      // 濡傛灉鏄暟缁勶紝鍒涘缓涓�涓柊鏁扮粍骞堕�掑綊澶勭悊姣忎釜鍏冪礌
+      if (Array.isArray(arr)) {
+        const newArray = [];
+        for (let i = 0; i < arr.length; i++) {
+          newArray.push(this.deepCopyAndModify(arr[i]));
+        }
+        return newArray;
+      }
+
+      // 濡傛灉鏄璞★紝鍒涘缓涓�涓柊瀵硅薄骞堕�掑綊澶勭悊姣忎釜灞炴��
+      const newObj = {};
+      for (const key in arr) {
+        if (arr.hasOwnProperty(key)) {
+          if (key === 'selectable') {
+            newObj[key] = true;
+          } else if (key === 'children') {
+            newObj[key] = this.deepCopyAndModify(arr[key]);
+          } else {
+            newObj[key] = arr[key];
+          }
+
+        }
+      }
+      return newObj;
+    },
+
+    searchReset() {
+      this.queryParam = {}
+      this.onClearSelected()
+      this.loadTabPaneTableData('-1')
+      this.loadData(1);
+    },
   }
 }
 </script>

--
Gitblit v1.9.3