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               |   49 ++++++++++++
 src/views/eam/base/modules/EamMaintenanceStandardDetailList.vue |  145 ++++++++++++++++++++++++++++++++++++
 2 files changed, 193 insertions(+), 1 deletions(-)

diff --git a/src/views/eam/base/EamMaintenanceStandardList.vue b/src/views/eam/base/EamMaintenanceStandardList.vue
index 571d403..7afe258 100644
--- a/src/views/eam/base/EamMaintenanceStandardList.vue
+++ b/src/views/eam/base/EamMaintenanceStandardList.vue
@@ -82,6 +82,7 @@
         :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>
@@ -103,6 +104,21 @@
         </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 -->
 
@@ -116,13 +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 {
@@ -205,6 +223,7 @@
         importExcelUrl: 'eam/maintenanceStandard/importExcel'
       },
       fileUrl: '',
+      standardId: '-1',
     }
   },
   computed: {
@@ -226,6 +245,34 @@
         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>
diff --git a/src/views/eam/base/modules/EamMaintenanceStandardDetailList.vue b/src/views/eam/base/modules/EamMaintenanceStandardDetailList.vue
new file mode 100644
index 0000000..86e2d18
--- /dev/null
+++ b/src/views/eam/base/modules/EamMaintenanceStandardDetailList.vue
@@ -0,0 +1,145 @@
+<template>
+  <a-card :bordered="false">
+    <!-- table鍖哄煙-begin -->
+    <div>
+      <a-table
+        ref="detailTable"
+        size="middle"
+        bordered
+        rowKey="id"
+        :columns="columns"
+        :dataSource="dataSource"
+        :pagination="ipagination"
+        :loading="loading"
+        class="j-table-force-nowrap"
+        :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
+        @change="handleTableChange">
+      </a-table>
+    </div>
+    <!-- table鍖哄煙-end -->
+
+  </a-card>
+</template>
+
+<script>
+import '@/assets/less/TableExpand.less'
+import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+import { getAction } from '@api/manage'
+
+export default {
+  name: 'EamMaintenanceStandardDetailList',
+  mixins: [JeecgListMixin],
+  props: {
+    standardId: {
+      type: String,
+      required: true,
+      default: '-1'
+    }
+  },
+  data() {
+    return {
+      description: '淇濆吇鏍囧噯鏄庣粏绠$悊椤甸潰',
+      // 琛ㄥご
+      columns: [
+        {
+          title: '#',
+          dataIndex: '',
+          key: 'rowIndex',
+          width: 60,
+          align: 'center',
+          customRender: function(t, r, index) {
+            return parseInt(index) + 1
+          }
+        },
+        {
+          title: '搴忓彿',
+          align: 'center',
+          dataIndex: 'itemCode'
+        },
+        {
+          title: '淇濆吇椤�',
+          align: 'center',
+          dataIndex: 'itemName'
+        },
+        {
+          title: '瀛愰」鐩�',
+          align: 'center',
+          dataIndex: 'subItemName'
+        },
+        {
+          title: '淇濆吇瑕佹眰',
+          align: 'center',
+          dataIndex: 'itemDemand'
+        }
+      ],
+      url: {
+        list: '/eam/eamMaintenanceStandardDetail/list'
+      }
+    }
+  },
+  watch: {
+    standardId: {
+      immediate: true,
+      handler(val) {
+        if(val) {
+          this.loadData(1)
+        }else {
+          this.clearList();
+        }
+      }
+    }
+  },
+  created() {
+  },
+  computed: {
+  },
+  methods: {
+    loadData(arg) {
+      if (!this.url.list) {
+        this.$message.error('璇疯缃畊rl.list灞炴��!')
+        return
+      }
+      if(this.standardId && this.standardId === '-1'){
+        this.clearList();
+        return;
+      }
+      //鍔犺浇鏁版嵁 鑻ヤ紶鍏ュ弬鏁�1鍒欏姞杞界涓�椤电殑鍐呭
+      if (arg === 1) {
+        this.ipagination.current = 1
+      }
+      let params = this.getQueryParams()//鏌ヨ鏉′欢
+      if (!params) {
+        return false
+      }
+      this.dataSource = []
+      params.standardId = this.standardId
+      this.loading = true
+      getAction(this.url.list, params).then((res) => {
+        if (res.success) {
+          // console.log(res)
+          //update-begin---author:zhangyafei    Date:20201118  for锛氶�傞厤涓嶅垎椤电殑鏁版嵁鍒楄〃------------
+          this.dataSource = res.result.records || res.result
+          if (res.result.total) {
+            this.ipagination.total = res.result.total
+          } else {
+            this.ipagination.total = 0
+          }
+          //update-end---author:zhangyafei    Date:20201118  for锛氶�傞厤涓嶅垎椤电殑鏁版嵁鍒楄〃------------
+        } else {
+          this.$message.warning(res.message)
+        }
+      }).finally(() => {
+        this.loading = false
+      })
+    },
+    clearList() {
+      this.dataSource = []
+      this.selectedRowKeys = []
+      this.ipagination.current = 1
+    },
+  }
+}
+</script>
+<style scoped>
+@import '~@assets/less/common.less';
+</style>
\ No newline at end of file

--
Gitblit v1.9.3