From a40d8462edbf25418207d2ec212e15d3d15ce9dd Mon Sep 17 00:00:00 2001
From: zhangherong <571457620@qq.com>
Date: 星期一, 31 三月 2025 17:36:58 +0800
Subject: [PATCH] art: 设备管理-保养标准-明细项展示

---
 src/views/eam/base/EamMaintenanceStandardList.vue |  100 +++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 91 insertions(+), 9 deletions(-)

diff --git a/src/views/eam/base/EamMaintenanceStandardList.vue b/src/views/eam/base/EamMaintenanceStandardList.vue
index 7d68d68..7afe258 100644
--- a/src/views/eam/base/EamMaintenanceStandardList.vue
+++ b/src/views/eam/base/EamMaintenanceStandardList.vue
@@ -82,8 +82,11 @@
         :loading="loading"
         class="j-table-force-nowrap"
         :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
+        :customRow='clickThenSelect'
         @change="handleTableChange">
-
+        <template slot="referenceFile" slot-scope="text, record, index">
+          <a v-if="text && text !== ''" @click="handlePreview(record)">棰勮</a>
+        </template>
         <span slot="action" slot-scope="text, record">
           <a @click="handleEdit(record)">缂栬緫</a>
 
@@ -101,11 +104,27 @@
         </span>
 
       </a-table>
+
+      <a-tabs defaultActiveKey="1">
+        <a-tab-pane
+          tab='淇濆吇鏍囧噯鏄庣粏椤�'
+          key="1"
+        >
+          <div
+            class="table-operator"
+            style="margin:-16px"
+          >
+            <eam-maintenance-standard-detail-list :standardId="standardId" />
+          </div>
+        </a-tab-pane>
+
+      </a-tabs>
     </div>
     <!-- table鍖哄煙-end -->
 
     <!-- 琛ㄥ崟鍖哄煙 -->
     <eamMaintenanceStandard-modal ref="modalForm" @ok="modalFormOk"></eamMaintenanceStandard-modal>
+    <lx-file-preview ref="lxFilePreview" :fileUrl="fileUrl"></lx-file-preview>
   </a-card>
 </template>
 
@@ -113,12 +132,15 @@
 import '@/assets/less/TableExpand.less'
 import EamMaintenanceStandardModal from './modules/EamMaintenanceStandardModal'
 import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+import EamMaintenanceStandardDetailList from '@views/eam/base/modules/EamMaintenanceStandardDetailList'
+
 
 export default {
   name: 'EamMaintenanceStandardList',
   mixins: [JeecgListMixin],
   components: {
-    EamMaintenanceStandardModal
+    EamMaintenanceStandardModal,
+    EamMaintenanceStandardDetailList
   },
   data() {
     return {
@@ -146,29 +168,45 @@
           dataIndex: 'standardName'
         },
         {
-          title: '淇濆吇鍛ㄦ湡',
+          title: '鏂囦欢缂栧彿',
+          align: 'center',
+          dataIndex: 'fileCode'
+        },
+        {
+          title: '淇濆吇鍛ㄦ湡(澶�)',
           align: 'center',
           dataIndex: 'maintenancePeriod'
         },
         {
+          title: '鍒濆鏃ユ湡',
+          align: 'center',
+          dataIndex: 'initialDate'
+        },
+        {
           title: '淇濆吇鍒嗙被',
           align: 'center',
-          dataIndex: 'maintenanceCategory'
+          dataIndex: 'maintenanceCategory_dictText'
         },
         {
           title: '璁惧缂栧彿',
           align: 'center',
-          dataIndex: 'equipmentCode'
+          dataIndex: 'equipmentId_dictText'
         },
         {
           title: '鏍囧噯鐘舵��',
           align: 'center',
-          dataIndex: 'standardStatus'
+          dataIndex: 'standardStatus_dictText'
         },
         {
-          title: '鏍囧噯鐗堟湰',
+          title: '鐗堟湰',
           align: 'center',
           dataIndex: 'standardVersion'
+        },
+        {
+          title: '鍙傝�冩枃浠�',
+          align: 'center',
+          dataIndex: 'referenceFile',
+          scopedSlots: { customRender: 'referenceFile' }
         },
         {
           title: '鎿嶄綔',
@@ -183,7 +221,9 @@
         deleteBatch: '/eam/maintenanceStandard/deleteBatch',
         exportXlsUrl: 'eam/maintenanceStandard/exportXls',
         importExcelUrl: 'eam/maintenanceStandard/importExcel'
-      }
+      },
+      fileUrl: '',
+      standardId: '-1',
     }
   },
   computed: {
@@ -191,7 +231,49 @@
       return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`
     }
   },
-  methods: {}
+  methods: {
+    handlePreview: function (record) {
+      if(record.referenceFile) {
+        try {
+          let file = JSON.parse(record.referenceFile);
+          this.$refs.lxFilePreview.preview(file.filePath);
+        }catch (e) {
+          console.error(e);
+          this.$message.error(e.message);
+        }
+      }else {
+        this.$message.warning("鍙傝�冩枃浠朵负绌猴紒");
+      }
+    },
+    clickThenSelect(record) {
+      return {
+        on: {
+          click: () => {
+            this.onSelectChange(record.id.split(','), [record])
+          }
+        }
+      }
+    },
+    onClearSelected() {
+      this.selectedRowKeys = [];
+      this.selectionRows = [];
+      this.standardId = '-1';
+    },
+    onSelectChange(selectedRowKeys, selectionRows) {
+      this.selectedRowKeys = selectedRowKeys;
+      this.selectionRows = selectionRows;
+      if (selectedRowKeys.length === 1) {
+        this.standardId = selectionRows[0]['id']
+      } else {
+        this.standardId = '-1'
+      }
+    },
+    searchReset() {
+      this.standardId = '-1';
+      this.queryParam = {}
+      this.loadData(1);
+    },
+  }
 }
 </script>
 <style scoped>

--
Gitblit v1.9.3