From 4ba27c99841134d0389589af25737fa1ce3aa3c7 Mon Sep 17 00:00:00 2001
From: hyingbo <1363390067@qq.com>
Date: 星期五, 05 九月 2025 11:14:17 +0800
Subject: [PATCH] 设备台账统计

---
 src/views/eam/equipment/EamEquipmentList.vue |  609 +++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 439 insertions(+), 170 deletions(-)

diff --git a/src/views/eam/equipment/EamEquipmentList.vue b/src/views/eam/equipment/EamEquipmentList.vue
index 410007b..4cc5160 100644
--- a/src/views/eam/equipment/EamEquipmentList.vue
+++ b/src/views/eam/equipment/EamEquipmentList.vue
@@ -3,67 +3,202 @@
 
     <!-- 鏌ヨ鍖哄煙 -->
     <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-col
+              :xl="6"
+              :lg="7"
+              :md="8"
+              :sm="24"
+            >
+              <a-form-item label="鏈哄簥鍘傚">
+                <a-input
+                  placeholder="璇疯緭鍏ユ満搴婂巶瀹�"
+                  v-model="queryParam.manufacturingEnterprise"
+                ></a-input>
+              </a-form-item>
+            </a-col>
+            <a-col
+              :xl="6"
+              :lg="7"
+              :md="8"
+              :sm="24"
+            >
+              <a-form-item label="鍘熷��(鍏�)">
+                <a-input
+                  placeholder="璇疯緭鍏ュ師鍊�(鍏�)"
+                  v-model="queryParam.originalValue"
+                ></a-input>
+              </a-form-item>
+            </a-col>
+            <a-col
+              :xl="6"
+              :lg="7"
+              :md="8"
+              :sm="24"
+            >
+              <a-form-item label="鎬ц兘鎸囨爣">
+                <a-input
+                  placeholder="璇疯緭鍏ユ�ц兘鎸囨爣"
+                  v-model="queryParam.performanceIndicators"
+                ></a-input>
+              </a-form-item>
+            </a-col>
+            <a-col
+              :xl="6"
+              :lg="7"
+              :md="8"
+              :sm="24"
+            >
+              <a-form-item label="鍑哄巶鏃ユ湡">
+                <a-range-picker v-model="leaveFactoryDate" value-format="YYYY-MM-DD HH:mm:ss"
+                                @change="leaveFactoryRangeChange"
+                                style="width: 100%"/>
+              </a-form-item>
+            </a-col>
+            <a-col
+              :xl="6"
+              :lg="7"
+              :md="8"
+              :sm="24"
+            >
+              <a-form-item label="鎶曠敤鏃ユ湡">
+                <a-range-picker v-model="acceptanceCheckDate" value-format="YYYY-MM-DD"
+                                @change="acceptanceCheckRangeChange"
+                                style="width: 100%"/>
+              </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_use"
+                  placeholder="璇烽�夋嫨璁惧鐢ㄩ��"
+                  v-model="queryParam.equipmentUse"
+                ></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>
@@ -76,20 +211,54 @@
 
     <!-- 鎿嶄綔鎸夐挳鍖哄煙 -->
     <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-button
+        type="primary"
+        icon="download"
+        @click="handleTemplateXlsDownload"
+      >瀵煎叆妯℃澘涓嬭浇
+      </a-button>
+      <a-button
+        @click="EquipmentCategoryStatistics"
+        type="primary"
+        icon="area-chart"
+      >鍙拌处缁熻</a-button>
       <a-dropdown v-if="selectedRowKeys.length > 0">
         <a-menu slot="overlay">
-<!--          <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-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>
@@ -102,10 +271,16 @@
 
     <!-- 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="onSelectChange([])">娓呯┖</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"
@@ -116,25 +291,23 @@
         :dataSource="dataSource"
         :pagination="ipagination"
         :loading="loading"
-        :scroll="{ x: 'max-content' }"
+        :scroll="{ x: 'max-content',y:465 }"
         :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
         @change="handleTableChange"
         :customRow="customTableRow"
       >
-        <span slot="equipmentImportance" 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>
+
+        <!--闇�瑕佽秴鍑虹渷鐣ョ殑瀛楁-->
+        <template slot="ellipsisText" slot-scope="text">
+          <template v-if="(text&&text.length<=6)||!text">{{text}}</template>
+          <j-ellipsis v-else :value="text" :length="6"/>
+        </template>
+
         <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.stop="handleEdit(record)">缂栬緫</a>
@@ -143,9 +316,9 @@
           <a-dropdown>
             <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-menu-item>-->
               <a-menu-item>
                 <a href="javascript:;" @click="handleOpenResumeDrawer(record)">灞ュ巻</a>
               </a-menu-item>
@@ -172,29 +345,38 @@
       <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 tab="浜屼繚宸ュ崟" :key="3">
+        <eam-second-maintenance-order-list ref="tabPaneTableListRef3" :isDisplayOperation="false"/>
       </a-tab-pane>
-      <a-tab-pane tab="缁翠慨宸ュ崟" :key="4">
-        <eam-repair-order-list ref="tabPaneTableListRef4" :isDisplayOperation="false"/>
+      <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-maintenance-standard-list ref="tabPaneTableListRef5" :isDisplayOperation="false"/>
+      <a-tab-pane tab="缁翠慨宸ュ崟" :key="5">
+        <eam-repair-order-list ref="tabPaneTableListRef5" :isDisplayOperation="false"/>
       </a-tab-pane>
-      <a-tab-pane tab="宸ヨ壓鍙傛暟" :key="6" v-if="isOpenProcess">
-        <eam-equipment-process-list ref="tabPaneTableListRef6" :isDisplayOperation="false"/>
+      <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="isOpenPrecision">
+      <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"/>
     <!--閾墝寮圭獥-->
     <nameplate-modal ref="nameplateModalRef" :printedRows="printedRows"/>
     <!--灞ュ巻寮圭獥-->
     <resume-drawer ref="resumeDrawerRef" :currentTableRowRecord="currentTableRowRecord"/>
+    <!--鍙拌处缁熻-->
+    <equipment-category-statistics-list ref="EquipmentCategoryStatistics"/>
+
   </a-card>
 </template>
 
@@ -210,13 +392,18 @@
   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'
+  import EquipmentCategoryStatisticsList from '@views/eam/equipment/modules/EquipmentCategoryStatisticsList.vue'
 
   export default {
     name: 'EamEquipmentList',
     mixins: [JeecgListMixin],
     components: {
+      EquipmentCategoryStatisticsList,
       EamInspectionOrderList,
       EamRepairOrderList,
       EamMaintenanceStandardList,
@@ -224,8 +411,11 @@
       NameplateModal,
       EamEquipmentModal,
       EamEquipmentAttachmentList,
-      EamWeekMaintenanceOrderList,
-      EamEquipmentProcessList
+      EamEquipmentProcessList,
+      EamEquipmentPrecisionList,
+      EamSecondMaintenanceOrderList,
+      EamThirdMaintenanceOrderList,
+      EamEquipmentFluidList
     },
     data() {
       return {
@@ -246,38 +436,54 @@
           {
             title: '璁惧缂栧彿',
             align: 'center',
-            width: 100,
+            width: 150,
             dataIndex: 'equipmentCode',
-            ellipsis: true,
             fixed: 'left',
             sorter: true
           },
           {
             title: '璁惧鍚嶇О',
             align: 'center',
-            width: 100,
+            width: 150,
             dataIndex: 'equipmentName',
-            ellipsis: true,
+            scopedSlots: { customRender: 'ellipsisText' },
             fixed: 'left'
           },
           {
-            title: '鍏抽敭璁惧鏍囪瘑',
+            title: '璁惧鍨嬪彿',
+            align: 'center',
+            width: 150,
+            dataIndex: 'equipmentModel'
+          },
+          {
+            title: '鍑哄巶鏃ユ湡',
+            align: 'center',
+            width: 100,
+            dataIndex: 'leaveFactoryDate'
+          },
+          {
+            title: '鎶曠敤鏃ユ湡',
+            align: 'center',
+            width: 100,
+            dataIndex: 'acceptanceCheckDate'
+          },
+          {
+            title: '鍘熷��(鍏�)',
+            align: 'center',
+            dataIndex: 'originalValue',
+            width: 120
+          },
+          {
+            title: '浣跨敤杞﹂棿',
+            align: 'center',
+            width: 150,
+            dataIndex: 'orgId_dictText'
+          },
+          {
+            title: '璧勪骇浣跨敤鐘舵��',
             align: 'center',
             width: 120,
-            dataIndex: 'equipmentImportance',
-            scopedSlots: { customRender: 'equipmentImportance' }
-          },
-          {
-            title: '璧勪骇鐘舵��',
-            align: 'center',
-            width: 100,
             dataIndex: 'assetStatus_dictText'
-          },
-          {
-            title: '鎶�鏈姸鎬�',
-            align: 'center',
-            width: 100,
-            dataIndex: 'technologyStatus_dictText'
           },
           {
             title: '缁翠慨鐘舵��',
@@ -292,73 +498,90 @@
             dataIndex: 'maintenanceStatus_dictText'
           },
           {
-            title: '鎿嶄綔绯荤粺',
+            title: '璁惧鐢ㄩ��',
             align: 'center',
             width: 100,
-            dataIndex: 'operationSystem'
+            dataIndex: 'equipmentUse_dictText'
           },
           {
-            title: '浣跨敤杞﹂棿',
+            title: '鎿嶄綔宸�',
             align: 'center',
             width: 100,
-            dataIndex: 'orgId_dictText'
+            dataIndex: 'operator'
           },
           {
-            title: '璁惧绠$悊鍛�',
+            title: '绠$悊鍒嗙被',
+            align: 'center',
+            width: 100,
+            dataIndex: 'equipmentImportance_dictText'
+          },
+          {
+            title: '鎶�鏈姸鎬�',
+            align: 'center',
+            width: 100,
+            dataIndex: 'technologyStatus_dictText'
+          },
+          {
+            title: '璁惧璐d换浜�',
             align: 'center',
             width: 100,
             dataIndex: 'equipmentManager_dictText'
           },
           {
-            title: '璁惧鍒嗙被',
+            title: '璁惧绫诲埆',
             align: 'center',
-            dataIndex: 'equipmentCategory_dictText'
+            dataIndex: 'equipmentCategory_dictText',
+            width: 100
           },
           {
-            title: '璁惧鍨嬪彿',
+            title: '璁惧绉嶇被',
             align: 'center',
-            width: 200,
-            dataIndex: 'equipmentModel'
+            dataIndex: 'equipmentType_dictText',
+            width: 150
           },
           {
             title: '璁惧瑙勬牸',
             align: 'center',
-            width: 100,
+            width: 150,
             dataIndex: 'equipmentSpecification'
           },
           {
-            title: '涓昏酱杩炴帴灏哄',
+            title: '鐢垫満鍙版暟',
             align: 'center',
-            width: 120,
-            dataIndex: 'spindleConnectDimension'
+            width: 100,
+            dataIndex: 'motorsNumber'
           },
           {
-            title: '鎬诲姛鐜�',
+            title: '鎬诲姛鐜�(KW)',
             align: 'center',
             width: 100,
             dataIndex: 'equipmentPower'
           },
           {
-            title: '瀹夎浣嶇疆',
+            title: '閲嶉噺(鍚�)',
             align: 'center',
             width: 100,
-            dataIndex: 'installationPosition'
+            dataIndex: 'equipmentWeight'
           },
           {
-            title: '绔嬮」鍗″彿',
+            title: '瀹夎浣嶇疆',
             align: 'center',
-            dataIndex: 'cardNumber'
+            width: 150,
+            dataIndex: 'installationPosition',
+            scopedSlots: { customRender: 'ellipsisText' }
           },
           {
             title: '鍑哄巶缂栧彿',
             align: 'center',
-            dataIndex: 'factoryNumber'
+            dataIndex: 'factoryNumber',
+            width: 150
           },
           {
             title: '鏈哄簥鍘傚',
             align: 'center',
-            width: 300,
-            dataIndex: 'manufacturingEnterprise'
+            width: 150,
+            dataIndex: 'manufacturingEnterprise',
+            scopedSlots: { customRender: 'ellipsisText' }
           },
           {
             title: '鏉ユ簮鍥藉',
@@ -367,35 +590,11 @@
             dataIndex: 'originCountry'
           },
           {
-            title: '鍑哄巶鏃ユ湡',
+            title: '璁惧渚涘簲鍟�',
             align: 'center',
-            width: 100,
-            dataIndex: 'leaveFactoryDate'
-          },
-          {
-            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' }
+            width: 150,
+            scopedSlots: { customRender: 'ellipsisText' },
+            dataIndex: 'supplier'
           },
           {
             title: '鏈夋棤宸ヨ壓鍙傛暟',
@@ -412,26 +611,36 @@
             scopedSlots: { customRender: 'precisionParametersFlag' }
           },
           {
-            title: '鏄惁涓虹壒绉嶈澶�',
+            title: '澶栧舰灏哄',
             align: 'center',
-            width: 120,
-            dataIndex: 'specialEquipment',
-            scopedSlots: { customRender: 'specialEquipment' }
+            dataIndex: 'overallDimensions',
+            width: 120
           },
           {
-            title: '閲嶉噺',
+            title: '璧勯噾鏉ユ簮',
             align: 'center',
-            dataIndex: 'equipmentWeight'
+            dataIndex: 'fundingSource',
+            width: 120
           },
           {
-            title: '璁惧绔彛',
+            title: '鍔熻兘鐢ㄩ��',
             align: 'center',
-            dataIndex: 'equipmentPort'
+            scopedSlots: { customRender: 'ellipsisText' },
+            dataIndex: 'functionUse',
+            width: 150
           },
           {
-            title: '鍧愭爣鏁伴噺',
+            title: '鎬ц兘鎸囨爣',
             align: 'center',
-            dataIndex: 'coordinateNum'
+            ellipsis: true,
+            dataIndex: 'performanceIndicators',
+            width: 120
+          },
+          {
+            title: '鍏ュ笎鏃堕棿',
+            align: 'center',
+            width: 100,
+            dataIndex: 'bookingTime'
           },
           {
             title: '鍒涘缓浜�',
@@ -448,17 +657,21 @@
           {
             title: '鏇存柊浜�',
             align: 'center',
-            dataIndex: 'updateBy_dictText'
+            dataIndex: 'updateBy_dictText',
+            width: 100
           },
           {
             title: '鏇存柊鏃堕棿',
             align: 'center',
-            dataIndex: 'updateTime'
+            dataIndex: 'updateTime',
+            width: 200
           },
           {
             title: '澶囨敞',
             align: 'center',
-            dataIndex: 'remark'
+            dataIndex: 'remark',
+            width: 150,
+            scopedSlots: { customRender: 'ellipsisText' }
           },
           {
             title: '鎿嶄綔',
@@ -476,7 +689,7 @@
           exportXlsUrl: 'eam/equipment/exportXls',
           importExcelUrl: 'eam/equipment/importExcel',
           loadProductionOptions: '/mdc/mdcProduction/loadProductionTreeOptions',
-          templateXlsDownloadUrl: '瀵煎叆妯℃澘/璁惧鍙拌处瀵煎叆妯℃澘_v1.0.xlsx'
+          templateXlsDownloadUrl: '瀵煎叆妯℃澘/璁惧鍙拌处瀵煎叆妯℃澘_v1.1.xlsx'
         },
         treeData: [],
         printedRows: [],
@@ -485,23 +698,36 @@
         currentTableRowRecord: {},
         isOpenProcess: false,
         isOpenPrecision: false,
+        treeDataAlias: [],
+        leaveFactoryDate: [],
+        acceptanceCheckDate: []
       }
     },
     computed: {
       importExcelUrl: function() {
         return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`
-      },
+      }
     },
     created() {
       this.loadAllProductionTree()
       this.loadAppHomeUrlConfigValue()
     },
     methods: {
+      leaveFactoryRangeChange(valueArray) {
+        this.queryParam.leaveFactoryStartTime = valueArray[0]
+        this.queryParam.leaveFactoryEndTime = valueArray[1]
+      },
+      acceptanceCheckRangeChange(valueArray) {
+        this.queryParam.acceptanceCheckStartTime = valueArray[0]
+        this.queryParam.acceptanceCheckEndTime = valueArray[1]
+      },
       loadAllProductionTree() {
         //鍔犺浇杞﹂棿閫夋嫨鏍�
         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)
           }
@@ -578,30 +804,35 @@
         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) {
+          let row = this.dataSource.find(row => row.id === selectedRowKeys[0])
+          if (row) {
             this.isOpenProcess = (row.processParametersFlag === '1')
             this.isOpenPrecision = (row.precisionParametersFlag === '1')
-          }else {
+          } else {
             this.isOpenProcess = false
             this.isOpenPrecision = false
           }
           this.loadTabPaneTableData(selectedRowKeys[0])
-        }else {
+        } else {
           this.isOpenProcess = false
           this.isOpenPrecision = false
         }
         //tab鏍囩琚攢姣佷簡锛岃繑鍥炵涓�涓猼ab
-        if(!this.isOpenProcess && this.activeTabKey === 6) {
-          this.activeTabKey = 1;
+        if (!this.isOpenProcess && this.activeTabKey === 6) {
+          this.activeTabKey = 1
         }
-        if(!this.isOpenPrecision && this.activeTabKey === 7) {
-          this.activeTabKey = 1;
+        if (!this.isOpenPrecision && this.activeTabKey === 7) {
+          this.activeTabKey = 1
         }
       },
 
       handleTemplateXlsDownload() {
         templateXlsDownload(this.url.templateXlsDownloadUrl)
+      },
+
+      EquipmentCategoryStatistics() {
+        this.$refs.EquipmentCategoryStatistics.visible = true; // 鏄剧ず寮圭獥
+        this.$refs.EquipmentCategoryStatistics.loadData()
       },
 
       loadAppHomeUrlConfigValue() {
@@ -612,7 +843,45 @@
           }
         })
       },
+      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.leaveFactoryDate = []
+        this.acceptanceCheckDate = []
+        this.queryParam = {}
+        this.onClearSelected()
+        this.loadTabPaneTableData('-1')
+        this.loadData(1)
+      }
     }
   }
 </script>

--
Gitblit v1.9.3