From aa951f729586880e66335b2c8086077f0b55b305 Mon Sep 17 00:00:00 2001
From: zhangherong <571457620@qq.com>
Date: 星期二, 13 五月 2025 15:45:38 +0800
Subject: [PATCH] art: 设备管理-设备台账-新增、列表修改

---
 src/views/eam/equipment/EamEquipmentList.vue |  224 ++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 129 insertions(+), 95 deletions(-)

diff --git a/src/views/eam/equipment/EamEquipmentList.vue b/src/views/eam/equipment/EamEquipmentList.vue
index 4dc9dda..8c6b24c 100644
--- a/src/views/eam/equipment/EamEquipmentList.vue
+++ b/src/views/eam/equipment/EamEquipmentList.vue
@@ -85,13 +85,13 @@
       <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-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-item key="2" @click="handleOpenNameplateModal(selectionRows)">
-            <a-icon type="printer"/>
-            鎵撳嵃閾墝
           </a-menu-item>
         </a-menu>
         <a-button style="margin-left: 8px"> 鎵归噺鎿嶄綔
@@ -107,7 +107,6 @@
         style="font-weight: 600">{{ selectedRowKeys.length }}</a>椤�
         <a style="margin-left: 24px" @click="onSelectChange([])">娓呯┖</a>
       </div>
-
       <a-table
         ref="table"
         size="middle"
@@ -122,20 +121,11 @@
         @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>
         <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>
@@ -144,16 +134,16 @@
           <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>
               <a-menu-item>
                 <a href="javascript:;" @click="handleDetail(record)">璇︽儏</a>
               </a-menu-item>
-              <a-menu-item>
+              <a-menu-item v-if="isShowAuth('eam:equipment:delete')">
                 <a-popconfirm title="纭畾鍒犻櫎鍚�?" @confirm="() => handleDelete(record.id)">
                   <a>鍒犻櫎</a>
                 </a-popconfirm>
@@ -167,11 +157,26 @@
     <!-- table鍖哄煙-end -->
 
     <a-tabs v-model="activeTabKey" @change="handleTabChange">
-      <a-tab-pane tab="淇濆吇鏍囧噯" :key="1">
-        <eam-maintenance-standard-list ref="tabPaneTableListRef1" :isDisplayOperation="false"/>
+      <a-tab-pane tab="璁惧鏂囨。" :key="1">
+        <eam-equipment-attachment-list ref="tabPaneTableListRef1"/>
       </a-tab-pane>
-      <a-tab-pane tab="缁翠慨宸ュ崟" :key="2">
-        <eam-repair-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="4">
+        <eam-repair-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>
+      <a-tab-pane tab="宸ヨ壓鍙傛暟" :key="6" v-if="isOpenProcess">
+        <eam-equipment-process-list ref="tabPaneTableListRef6" :isDisplayOperation="false"/>
+      </a-tab-pane>
+      <a-tab-pane tab="璁惧绮惧害" :key="7" v-if="isOpenPrecision">
+        <eam-equipment-precision-list ref="tabPaneTableListRef7" :isDisplayOperation="false"/>
       </a-tab-pane>
     </a-tabs>
 
@@ -180,7 +185,7 @@
     <!--閾墝寮圭獥-->
     <nameplate-modal ref="nameplateModalRef" :printedRows="printedRows"/>
     <!--灞ュ巻寮圭獥-->
-    <resume-drawer ref="resumeDrawerRef"/>
+    <resume-drawer ref="resumeDrawerRef" :currentTableRowRecord="currentTableRowRecord"/>
   </a-card>
 </template>
 
@@ -194,16 +199,26 @@
   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'
 
   export default {
     name: 'EamEquipmentList',
     mixins: [JeecgListMixin],
     components: {
+      EamInspectionOrderList,
       EamRepairOrderList,
       EamMaintenanceStandardList,
       ResumeDrawer,
       NameplateModal,
-      EamEquipmentModal
+      EamEquipmentModal,
+      EamEquipmentAttachmentList,
+      // EamWeekMaintenanceOrderList,
+      EamEquipmentProcessList,
+      EamEquipmentPrecisionList
     },
     data() {
       return {
@@ -239,23 +254,16 @@
             fixed: 'left'
           },
           {
-            title: '鍏抽敭璁惧鏍囪瘑',
+            title: '绠$悊鍒嗙被',
             align: 'center',
             width: 120,
-            dataIndex: 'equipmentImportance',
-            scopedSlots: { customRender: 'equipmentImportance' }
+            dataIndex: 'equipmentImportance_dictText',
           },
           {
             title: '璧勪骇鐘舵��',
             align: 'center',
             width: 100,
             dataIndex: 'assetStatus_dictText'
-          },
-          {
-            title: '鎶�鏈姸鎬�',
-            align: 'center',
-            width: 100,
-            dataIndex: 'technologyStatus_dictText'
           },
           {
             title: '缁翠慨鐘舵��',
@@ -270,12 +278,6 @@
             dataIndex: 'maintenanceStatus_dictText'
           },
           {
-            title: '鎿嶄綔绯荤粺',
-            align: 'center',
-            width: 100,
-            dataIndex: 'operationSystem'
-          },
-          {
             title: '浣跨敤杞﹂棿',
             align: 'center',
             width: 100,
@@ -288,10 +290,14 @@
             dataIndex: 'equipmentManager_dictText'
           },
           {
-            title: '璁惧鍒嗙被',
+            title: '璁惧绫诲埆',
             align: 'center',
-            width: 100,
             dataIndex: 'equipmentCategory_dictText'
+          },
+          {
+            title: '璁惧绉嶇被',
+            align: 'center',
+            dataIndex: 'equipmentType_dictText'
           },
           {
             title: '璁惧鍨嬪彿',
@@ -306,16 +312,28 @@
             dataIndex: 'equipmentSpecification'
           },
           {
-            title: '涓昏酱杩炴帴灏哄',
+            title: '鍖哄彿',
             align: 'center',
-            width: 120,
-            dataIndex: 'spindleConnectDimension'
+            width: 100,
+            dataIndex: 'areaCode'
           },
           {
-            title: '鎬诲姛鐜�',
+            title: '鐢垫満鍙版暟',
+            align: 'center',
+            width: 100,
+            dataIndex: 'motorsNumber'
+          },
+          {
+            title: '鎬诲姛鐜�(KW)',
             align: 'center',
             width: 100,
             dataIndex: 'equipmentPower'
+          },
+          {
+            title: '閲嶉噺(鍚�)',
+            align: 'center',
+            width: 100,
+            dataIndex: 'equipmentWeight'
           },
           {
             title: '瀹夎浣嶇疆',
@@ -323,23 +341,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'
           },
           {
@@ -349,35 +359,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: '鏈夋棤宸ヨ壓鍙傛暟',
@@ -394,37 +391,46 @@
             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'
-          },
-          {
-            title: '鍧愭爣鏁伴噺',
-            align: 'center',
-            width: 100,
-            dataIndex: 'coordinateNum'
+            dataIndex: 'bookingTime'
           },
           {
             title: '鍒涘缓浜�',
             align: 'center',
+            width: 100,
             dataIndex: 'createBy_dictText'
           },
           {
             title: '鍒涘缓鏃堕棿',
             align: 'center',
+            width: 200,
             dataIndex: 'createTime'
           },
           {
@@ -440,7 +446,6 @@
           {
             title: '澶囨敞',
             align: 'center',
-            width: 100,
             dataIndex: 'remark'
           },
           {
@@ -459,18 +464,21 @@
           exportXlsUrl: 'eam/equipment/exportXls',
           importExcelUrl: 'eam/equipment/importExcel',
           loadProductionOptions: '/mdc/mdcProduction/loadProductionTreeOptions',
-          templateXlsDownloadUrl: '瀵煎叆妯℃澘/璁惧鍙拌处瀵煎叆妯℃澘_v1.0.xlsx'
+          templateXlsDownloadUrl: '瀵煎叆妯℃澘/璁惧鍙拌处瀵煎叆妯℃澘_v1.1.xlsx'
         },
         treeData: [],
         printedRows: [],
         activeTabKey: 1,
-        appHomeUrl: ''
+        appHomeUrl: '',
+        currentTableRowRecord: {},
+        isOpenProcess: false,
+        isOpenPrecision: false,
       }
     },
     computed: {
       importExcelUrl: function() {
         return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`
-      }
+      },
     },
     created() {
       this.loadAllProductionTree()
@@ -503,7 +511,11 @@
        * @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())
       },
 
       /**
@@ -550,9 +562,30 @@
       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) this.loadTabPaneTableData(selectedRowKeys[0])
+        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() {
@@ -566,7 +599,8 @@
             this.appHomeUrl = res.result.settingValue
           }
         })
-      }
+      },
+
     }
   }
 </script>

--
Gitblit v1.9.3