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 | 1186 ++++++++++++++++++++++++++++-------------------------------
 1 files changed, 563 insertions(+), 623 deletions(-)

diff --git a/src/views/eam/equipment/EamEquipmentList.vue b/src/views/eam/equipment/EamEquipmentList.vue
index 9686308..4cc5160 100644
--- a/src/views/eam/equipment/EamEquipmentList.vue
+++ b/src/views/eam/equipment/EamEquipmentList.vue
@@ -102,12 +102,12 @@
               :md="8"
               :sm="24"
             >
-            <a-form-item label="鏈哄簥鍘傚">
-              <a-input
-                placeholder="璇疯緭鍏ユ満搴婂巶瀹�"
-                v-model="queryParam.manufacturingEnterprise"
-              ></a-input>
-            </a-form-item>
+              <a-form-item label="鏈哄簥鍘傚">
+                <a-input
+                  placeholder="璇疯緭鍏ユ満搴婂巶瀹�"
+                  v-model="queryParam.manufacturingEnterprise"
+                ></a-input>
+              </a-form-item>
             </a-col>
             <a-col
               :xl="6"
@@ -115,12 +115,12 @@
               :md="8"
               :sm="24"
             >
-            <a-form-item label="鍘熷��(鍏�)">
-              <a-input
-                placeholder="璇疯緭鍏ュ師鍊�(鍏�)"
-                v-model="queryParam.originalValue"
-              ></a-input>
-            </a-form-item>
+              <a-form-item label="鍘熷��(鍏�)">
+                <a-input
+                  placeholder="璇疯緭鍏ュ師鍊�(鍏�)"
+                  v-model="queryParam.originalValue"
+                ></a-input>
+              </a-form-item>
             </a-col>
             <a-col
               :xl="6"
@@ -128,12 +128,12 @@
               :md="8"
               :sm="24"
             >
-            <a-form-item label="鎬ц兘鎸囨爣">
-              <a-input
-                placeholder="璇疯緭鍏ユ�ц兘鎸囨爣"
-                v-model="queryParam.performanceIndicators"
-              ></a-input>
-            </a-form-item>
+              <a-form-item label="鎬ц兘鎸囨爣">
+                <a-input
+                  placeholder="璇疯緭鍏ユ�ц兘鎸囨爣"
+                  v-model="queryParam.performanceIndicators"
+                ></a-input>
+              </a-form-item>
             </a-col>
             <a-col
               :xl="6"
@@ -200,7 +200,7 @@
                 style="margin-left: 8px"
               >
                 {{ toggleSearchStatus ? '鏀惰捣' : '灞曞紑' }}
-                <a-icon :type="toggleSearchStatus ? 'up' : 'down'" />
+                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
               </a>
             </span>
           </a-col>
@@ -215,12 +215,14 @@
         @click="handleAdd"
         type="primary"
         icon="plus"
-      >鏂板</a-button>
+      >鏂板
+      </a-button>
       <a-button
         type="primary"
         icon="download"
         @click="handleExportXls('璁惧鍙拌处')"
-      >瀵煎嚭</a-button>
+      >瀵煎嚭
+      </a-button>
       <a-upload
         name="file"
         :showUploadList="false"
@@ -232,13 +234,20 @@
         <a-button
           type="primary"
           icon="import"
-        >瀵煎叆</a-button>
+        >瀵煎叆
+        </a-button>
       </a-upload>
       <a-button
         type="primary"
         icon="download"
         @click="handleTemplateXlsDownload"
-      >瀵煎叆妯℃澘涓嬭浇</a-button>
+      >瀵煎叆妯℃澘涓嬭浇
+      </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)">-->
@@ -250,12 +259,12 @@
             @click="batchDel"
             v-if="isShowAuth('eam:equipment:delete')"
           >
-            <a-icon type="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>
@@ -266,7 +275,8 @@
         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>椤�
+        <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([])"
@@ -281,63 +291,42 @@
         :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="processParametersFlag"
-          slot-scope="text"
-        >
-          <lx-switch
-            v-model="text"
-            disabled
-            checked-children="鏈�"
-            un-checked-children="鏃�"
-          />
+
+        <!--闇�瑕佽秴鍑虹渷鐣ョ殑瀛楁-->
+        <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 slot="precisionParametersFlag" slot-scope="text">
+          <lx-switch v-model="text" disabled checked-children="鏈�" un-checked-children="鏃�"/>
         </span>
-        <span
-          slot="action"
-          slot-scope="text, record"
-        >
+        <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="handleOpenResumeDrawer(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 v-if="isShowAuth('eam:equipment:delete')">
-                <a-popconfirm
-                  title="纭畾鍒犻櫎鍚�?"
-                  @confirm="() => handleDelete(record.id)"
-                >
+                <a-popconfirm title="纭畾鍒犻櫎鍚�?" @confirm="() => handleDelete(record.id)">
                   <a>鍒犻櫎</a>
                 </a-popconfirm>
               </a-menu-item>
@@ -349,602 +338,553 @@
     </div>
     <!-- table鍖哄煙-end -->
 
-    <a-tabs
-      v-model="activeTabKey"
-      @change="handleTabChange"
-    >
-      <a-tab-pane
-        tab="璁惧鏂囨。"
-        :key="1"
-      >
-        <eam-equipment-attachment-list ref="tabPaneTableListRef1" />
+    <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 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 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 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 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 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 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 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 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"
-    />
+    <nameplate-modal ref="nameplateModalRef" :printedRows="printedRows"/>
     <!--灞ュ巻寮圭獥-->
-    <resume-drawer
-      ref="resumeDrawerRef"
-      :currentTableRowRecord="currentTableRowRecord"
-    />
+    <resume-drawer ref="resumeDrawerRef" :currentTableRowRecord="currentTableRowRecord"/>
+    <!--鍙拌处缁熻-->
+    <equipment-category-statistics-list ref="EquipmentCategoryStatistics"/>
+
   </a-card>
 </template>
 
 <script>
-import '@/assets/less/TableExpand.less'
-import EamEquipmentModal from './modules/EamEquipmentModal'
-import { JeecgListMixin } from '@/mixins/JeecgListMixin'
-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'
+  import '@/assets/less/TableExpand.less'
+  import EamEquipmentModal from './modules/EamEquipmentModal'
+  import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+  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 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: {
-    EamInspectionOrderList,
-    EamRepairOrderList,
-    EamMaintenanceStandardList,
-    ResumeDrawer,
-    NameplateModal,
-    EamEquipmentModal,
-    EamEquipmentAttachmentList,
-    // EamWeekMaintenanceOrderList,
-    EamEquipmentProcessList,
-    EamEquipmentPrecisionList,
-    EamSecondMaintenanceOrderList,
-    EamThirdMaintenanceOrderList,
-    EamEquipmentFluidList
-  },
-  data() {
-    return {
-      description: '璁惧鍙拌处绠$悊椤甸潰',
-      // 琛ㄥご
-      columns: [
-        {
-          title: '#',
-          dataIndex: '',
-          key: 'rowIndex',
-          width: 60,
-          align: 'center',
-          customRender: function (t, r, index) {
-            return parseInt(index) + 1
-          },
-          fixed: 'left'
-        },
-        {
-          title: '璁惧缂栧彿',
-          align: 'center',
-          width: 100,
-          dataIndex: 'equipmentCode',
-          ellipsis: true,
-          fixed: 'left',
-          sorter: true
-        },
-        {
-          title: '璁惧鍚嶇О',
-          align: 'center',
-          width: 100,
-          dataIndex: 'equipmentName',
-          ellipsis: true,
-          fixed: 'left'
-        },
-        {
-          title: '璁惧鍨嬪彿',
-          align: 'center',
-          width: 200,
-          dataIndex: 'equipmentModel'
-        },
-        {
-          title: '鍑哄巶鏃ユ湡',
-          align: 'center',
-          width: 100,
-          dataIndex: 'leaveFactoryDate'
-        },
-        {
-          title: '鎶曠敤鏃ユ湡',
-          align: 'center',
-          width: 100,
-          dataIndex: 'acceptanceCheckDate'
-        },
-        {
-          title: '鍘熷��(鍏�)',
-          align: 'center',
-          dataIndex: 'originalValue'
-        },
-        {
-          title: '浣跨敤杞﹂棿',
-          align: 'center',
-          width: 100,
-          dataIndex: 'orgId_dictText'
-        },
-        {
-          title: '璧勪骇浣跨敤鐘舵��',
-          align: 'center',
-          width: 120,
-          dataIndex: 'assetStatus_dictText'
-        },
-        {
-          title: '缁翠慨鐘舵��',
-          align: 'center',
-          width: 100,
-          dataIndex: 'repairStatus_dictText'
-        },
-        {
-          title: '淇濆吇鐘舵��',
-          align: 'center',
-          width: 100,
-          dataIndex: 'maintenanceStatus_dictText'
-        },
-        {
-          title: '璁惧鐢ㄩ��',
-          align: 'center',
-          width: 100,
-          dataIndex: 'equipmentUse_dictText'
-        },
-        {
-          title: '鎿嶄綔宸�',
-          align: 'center',
-          width: 100,
-          dataIndex: 'operator'
-        },
-        {
-          title: '绠$悊鍒嗙被',
-          align: 'center',
-          width: 120,
-          dataIndex: 'equipmentImportance_dictText',
-        },
-        {
-          title: '鎶�鏈姸鎬�',
-          align: 'center',
-          width: 100,
-          dataIndex: 'technologyStatus_dictText'
-        },
-        {
-          title: '璁惧璐d换浜�',
-          align: 'center',
-          width: 100,
-          dataIndex: 'equipmentManager_dictText'
-        },
-        {
-          title: '璁惧绫诲埆',
-          align: 'center',
-          dataIndex: 'equipmentCategory_dictText'
-        },
-        {
-          title: '璁惧绉嶇被',
-          align: 'center',
-          dataIndex: 'equipmentType_dictText'
-        },
-        {
-          title: '璁惧瑙勬牸',
-          align: 'center',
-          width: 100,
-          dataIndex: 'equipmentSpecification'
-        },
-        {
-          title: '鐢垫満鍙版暟',
-          align: 'center',
-          width: 100,
-          dataIndex: 'motorsNumber'
-        },
-        {
-          title: '鎬诲姛鐜�(KW)',
-          align: 'center',
-          width: 100,
-          dataIndex: 'equipmentPower'
-        },
-        {
-          title: '閲嶉噺(鍚�)',
-          align: 'center',
-          width: 100,
-          dataIndex: 'equipmentWeight'
-        },
-        {
-          title: '瀹夎浣嶇疆',
-          align: 'center',
-          width: 100,
-          ellipsis: true,
-          dataIndex: 'installationPosition'
-        },
-        {
-          title: '鍑哄巶缂栧彿',
-          align: 'center',
-          dataIndex: 'factoryNumber'
-        },
-        {
-          title: '鏈哄簥鍘傚',
-          align: 'center',
-          width: 300,
-          ellipsis: true,
-          dataIndex: 'manufacturingEnterprise'
-        },
-        {
-          title: '鏉ユ簮鍥藉',
-          align: 'center',
-          width: 100,
-          dataIndex: 'originCountry'
-        },
-        {
-          title: '璁惧渚涘簲鍟�',
-          align: 'center',
-          width: 100,
-          ellipsis: true,
-          dataIndex: 'supplier'
-        },
-        {
-          title: '鏈夋棤宸ヨ壓鍙傛暟',
-          align: 'center',
-          width: 120,
-          dataIndex: 'processParametersFlag',
-          scopedSlots: { customRender: 'processParametersFlag' }
-        },
-        {
-          title: '鏈夋棤绮惧害鍙傛暟',
-          align: 'center',
-          width: 120,
-          dataIndex: 'precisionParametersFlag',
-          scopedSlots: { customRender: 'precisionParametersFlag' }
-        },
-        {
-          title: '澶栧舰灏哄',
-          align: 'center',
-          dataIndex: 'overallDimensions'
-        },
-        {
-          title: '璧勯噾鏉ユ簮',
-          align: 'center',
-          dataIndex: 'fundingSource'
-        },
-        {
-          title: '鍔熻兘鐢ㄩ��',
-          align: 'center',
-          ellipsis: true,
-          dataIndex: 'functionUse'
-        },
-        {
-          title: '鎬ц兘鎸囨爣',
-          align: 'center',
-          ellipsis: true,
-          dataIndex: 'performanceIndicators'
-        },
-        {
-          title: '鍏ュ笎鏃堕棿',
-          align: 'center',
-          width: 100,
-          dataIndex: 'bookingTime'
-        },
-        {
-          title: '鍒涘缓浜�',
-          align: 'center',
-          width: 100,
-          dataIndex: 'createBy_dictText'
-        },
-        {
-          title: '鍒涘缓鏃堕棿',
-          align: 'center',
-          width: 200,
-          dataIndex: 'createTime'
-        },
-        {
-          title: '鏇存柊浜�',
-          align: 'center',
-          dataIndex: 'updateBy_dictText'
-        },
-        {
-          title: '鏇存柊鏃堕棿',
-          align: 'center',
-          dataIndex: 'updateTime'
-        },
-        {
-          title: '澶囨敞',
-          align: 'center',
-          dataIndex: 'remark'
-        },
-        {
-          title: '鎿嶄綔',
-          dataIndex: 'action',
-          align: 'center',
-          width: 150,
-          scopedSlots: { customRender: 'action' },
-          fixed: 'right'
-        }
-      ],
-      url: {
-        list: '/eam/equipment/list',
-        delete: '/eam/equipment/delete',
-        deleteBatch: '/eam/equipment/deleteBatch',
-        exportXlsUrl: 'eam/equipment/exportXls',
-        importExcelUrl: 'eam/equipment/importExcel',
-        loadProductionOptions: '/mdc/mdcProduction/loadProductionTreeOptions',
-        templateXlsDownloadUrl: '瀵煎叆妯℃澘/璁惧鍙拌处瀵煎叆妯℃澘_v1.1.xlsx'
-      },
-      treeData: [],
-      printedRows: [],
-      activeTabKey: 1,
-      appHomeUrl: '',
-      currentTableRowRecord: {},
-      isOpenProcess: false,
-      isOpenPrecision: false,
-      treeDataAlias: [],
-      leaveFactoryDate: [],
-      acceptanceCheckDate: [],
-    }
-  },
-  computed: {
-    importExcelUrl: function () {
-      return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`
+  export default {
+    name: 'EamEquipmentList',
+    mixins: [JeecgListMixin],
+    components: {
+      EquipmentCategoryStatisticsList,
+      EamInspectionOrderList,
+      EamRepairOrderList,
+      EamMaintenanceStandardList,
+      ResumeDrawer,
+      NameplateModal,
+      EamEquipmentModal,
+      EamEquipmentAttachmentList,
+      EamEquipmentProcessList,
+      EamEquipmentPrecisionList,
+      EamSecondMaintenanceOrderList,
+      EamThirdMaintenanceOrderList,
+      EamEquipmentFluidList
     },
-  },
-  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)
-        }
-      })
-    },
-
-    /**
-     * 寮�鍚摥鐗屽脊绐�
-     * @param recordArray 琛ㄦ牸琛屼俊鎭泦鍚�
-     */
-    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) {
+    data() {
       return {
-        style: {
-          cursor: 'pointer'
-        },
-        on: {
-          click: () => {
-            this.onSelectChange([record.id])
+        description: '璁惧鍙拌处绠$悊椤甸潰',
+        // 琛ㄥご
+        columns: [
+          {
+            title: '#',
+            dataIndex: '',
+            key: 'rowIndex',
+            width: 60,
+            align: 'center',
+            customRender: function(t, r, index) {
+              return parseInt(index) + 1
+            },
+            fixed: 'left'
+          },
+          {
+            title: '璁惧缂栧彿',
+            align: 'center',
+            width: 150,
+            dataIndex: 'equipmentCode',
+            fixed: 'left',
+            sorter: true
+          },
+          {
+            title: '璁惧鍚嶇О',
+            align: 'center',
+            width: 150,
+            dataIndex: 'equipmentName',
+            scopedSlots: { customRender: 'ellipsisText' },
+            fixed: 'left'
+          },
+          {
+            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: 'assetStatus_dictText'
+          },
+          {
+            title: '缁翠慨鐘舵��',
+            align: 'center',
+            width: 100,
+            dataIndex: 'repairStatus_dictText'
+          },
+          {
+            title: '淇濆吇鐘舵��',
+            align: 'center',
+            width: 100,
+            dataIndex: 'maintenanceStatus_dictText'
+          },
+          {
+            title: '璁惧鐢ㄩ��',
+            align: 'center',
+            width: 100,
+            dataIndex: 'equipmentUse_dictText'
+          },
+          {
+            title: '鎿嶄綔宸�',
+            align: 'center',
+            width: 100,
+            dataIndex: 'operator'
+          },
+          {
+            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: '璁惧绫诲埆',
+            align: 'center',
+            dataIndex: 'equipmentCategory_dictText',
+            width: 100
+          },
+          {
+            title: '璁惧绉嶇被',
+            align: 'center',
+            dataIndex: 'equipmentType_dictText',
+            width: 150
+          },
+          {
+            title: '璁惧瑙勬牸',
+            align: 'center',
+            width: 150,
+            dataIndex: 'equipmentSpecification'
+          },
+          {
+            title: '鐢垫満鍙版暟',
+            align: 'center',
+            width: 100,
+            dataIndex: 'motorsNumber'
+          },
+          {
+            title: '鎬诲姛鐜�(KW)',
+            align: 'center',
+            width: 100,
+            dataIndex: 'equipmentPower'
+          },
+          {
+            title: '閲嶉噺(鍚�)',
+            align: 'center',
+            width: 100,
+            dataIndex: 'equipmentWeight'
+          },
+          {
+            title: '瀹夎浣嶇疆',
+            align: 'center',
+            width: 150,
+            dataIndex: 'installationPosition',
+            scopedSlots: { customRender: 'ellipsisText' }
+          },
+          {
+            title: '鍑哄巶缂栧彿',
+            align: 'center',
+            dataIndex: 'factoryNumber',
+            width: 150
+          },
+          {
+            title: '鏈哄簥鍘傚',
+            align: 'center',
+            width: 150,
+            dataIndex: 'manufacturingEnterprise',
+            scopedSlots: { customRender: 'ellipsisText' }
+          },
+          {
+            title: '鏉ユ簮鍥藉',
+            align: 'center',
+            width: 100,
+            dataIndex: 'originCountry'
+          },
+          {
+            title: '璁惧渚涘簲鍟�',
+            align: 'center',
+            width: 150,
+            scopedSlots: { customRender: 'ellipsisText' },
+            dataIndex: 'supplier'
+          },
+          {
+            title: '鏈夋棤宸ヨ壓鍙傛暟',
+            align: 'center',
+            width: 120,
+            dataIndex: 'processParametersFlag',
+            scopedSlots: { customRender: 'processParametersFlag' }
+          },
+          {
+            title: '鏈夋棤绮惧害鍙傛暟',
+            align: 'center',
+            width: 120,
+            dataIndex: 'precisionParametersFlag',
+            scopedSlots: { customRender: 'precisionParametersFlag' }
+          },
+          {
+            title: '澶栧舰灏哄',
+            align: 'center',
+            dataIndex: 'overallDimensions',
+            width: 120
+          },
+          {
+            title: '璧勯噾鏉ユ簮',
+            align: 'center',
+            dataIndex: 'fundingSource',
+            width: 120
+          },
+          {
+            title: '鍔熻兘鐢ㄩ��',
+            align: 'center',
+            scopedSlots: { customRender: 'ellipsisText' },
+            dataIndex: 'functionUse',
+            width: 150
+          },
+          {
+            title: '鎬ц兘鎸囨爣',
+            align: 'center',
+            ellipsis: true,
+            dataIndex: 'performanceIndicators',
+            width: 120
+          },
+          {
+            title: '鍏ュ笎鏃堕棿',
+            align: 'center',
+            width: 100,
+            dataIndex: 'bookingTime'
+          },
+          {
+            title: '鍒涘缓浜�',
+            align: 'center',
+            width: 100,
+            dataIndex: 'createBy_dictText'
+          },
+          {
+            title: '鍒涘缓鏃堕棿',
+            align: 'center',
+            width: 200,
+            dataIndex: 'createTime'
+          },
+          {
+            title: '鏇存柊浜�',
+            align: 'center',
+            dataIndex: 'updateBy_dictText',
+            width: 100
+          },
+          {
+            title: '鏇存柊鏃堕棿',
+            align: 'center',
+            dataIndex: 'updateTime',
+            width: 200
+          },
+          {
+            title: '澶囨敞',
+            align: 'center',
+            dataIndex: 'remark',
+            width: 150,
+            scopedSlots: { customRender: 'ellipsisText' }
+          },
+          {
+            title: '鎿嶄綔',
+            dataIndex: 'action',
+            align: 'center',
+            width: 150,
+            scopedSlots: { customRender: 'action' },
+            fixed: 'right'
           }
-        }
+        ],
+        url: {
+          list: '/eam/equipment/list',
+          delete: '/eam/equipment/delete',
+          deleteBatch: '/eam/equipment/deleteBatch',
+          exportXlsUrl: 'eam/equipment/exportXls',
+          importExcelUrl: 'eam/equipment/importExcel',
+          loadProductionOptions: '/mdc/mdcProduction/loadProductionTreeOptions',
+          templateXlsDownloadUrl: '瀵煎叆妯℃澘/璁惧鍙拌处瀵煎叆妯℃澘_v1.1.xlsx'
+        },
+        treeData: [],
+        printedRows: [],
+        activeTabKey: 1,
+        appHomeUrl: '',
+        currentTableRowRecord: {},
+        isOpenProcess: false,
+        isOpenPrecision: false,
+        treeDataAlias: [],
+        leaveFactoryDate: [],
+        acceptanceCheckDate: []
       }
     },
-
-    /**
-     * 椤电鏀瑰彉鏃惰Е鍙�
-     * @param activeTabKey 褰撳墠婵�娲荤殑椤电key
-     */
-    handleTabChange(activeTabKey) {
-      if (this.selectedRowKeys.length !== 1) return
-      this.$nextTick(() => this.loadTabPaneTableData(this.selectedRowKeys[0]))
+    computed: {
+      importExcelUrl: function() {
+        return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`
+      }
     },
-
-    /**
-     * 鍔犺浇椤电琛ㄦ牸鏁版嵁
-     * @param id 璁惧鍙拌处琛岃褰旾d
-     */
-    loadTabPaneTableData(id) {
-      this.$refs['tabPaneTableListRef' + this.activeTabKey].queryParam.equipmentId = id
-      this.$refs['tabPaneTableListRef' + this.activeTabKey].loadData(1)
+    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)
+          }
+        })
+      },
 
-    /**
-     * 璁惧鍙拌处琛ㄦ牸澶氶�夋鐘舵�佹敼鍙樻椂瑙﹀彂
-     * @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')
+      /**
+       * 寮�鍚摥鐗屽脊绐�
+       * @param recordArray 琛ㄦ牸琛屼俊鎭泦鍚�
+       */
+      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
         }
-        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
+        //tab鏍囩琚攢姣佷簡锛岃繑鍥炵涓�涓猼ab
+        if (!this.isOpenProcess && this.activeTabKey === 6) {
+          this.activeTabKey = 1
         }
-      })
-    },
-    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]));
+        if (!this.isOpenPrecision && this.activeTabKey === 7) {
+          this.activeTabKey = 1
         }
-        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];
+      handleTemplateXlsDownload() {
+        templateXlsDownload(this.url.templateXlsDownloadUrl)
+      },
+
+      EquipmentCategoryStatistics() {
+        this.$refs.EquipmentCategoryStatistics.visible = true; // 鏄剧ず寮圭獥
+        this.$refs.EquipmentCategoryStatistics.loadData()
+      },
+
+      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.leaveFactoryDate = []
+        this.acceptanceCheckDate = []
+        this.queryParam = {}
+        this.onClearSelected()
+        this.loadTabPaneTableData('-1')
+        this.loadData(1)
       }
-      return newObj;
-    },
-    searchReset() {
-      this.leaveFactoryDate = []
-      this.acceptanceCheckDate = []
-      this.queryParam = {}
-      this.onClearSelected()
-      this.loadTabPaneTableData('-1')
-      this.loadData(1);
-    },
+    }
   }
-}
 </script>
 <style scoped>
-@import '~@assets/less/common.less';
+  @import '~@assets/less/common.less';
 </style>
\ No newline at end of file

--
Gitblit v1.9.3