From a1615e0c7d06ee3fdf4ab776a2b07ca3f264a5bd Mon Sep 17 00:00:00 2001
From: zhaowei <zhaowei>
Date: 星期二, 01 四月 2025 16:04:26 +0800
Subject: [PATCH] 1、设备台账页面新增设备履历功能(未与后端进行联调) 2、设备台账页面新增点击设备展示对应保养标准功能并完成与后端联调

---
 src/views/eam/base/EamMaintenanceStandardList.vue |  200 +++++++++++++++++++++++++------------------------
 1 files changed, 102 insertions(+), 98 deletions(-)

diff --git a/src/views/eam/base/EamMaintenanceStandardList.vue b/src/views/eam/base/EamMaintenanceStandardList.vue
index 7afe258..9e1bad4 100644
--- a/src/views/eam/base/EamMaintenanceStandardList.vue
+++ b/src/views/eam/base/EamMaintenanceStandardList.vue
@@ -1,71 +1,74 @@
 <template>
   <a-card :bordered="false">
 
-    <!-- 鏌ヨ鍖哄煙 -->
-    <div class="table-page-search-wrapper">
-      <a-form layout="inline" @keyup.enter.native="searchQuery">
-        <a-row :gutter="24">
-          <a-col :xl="6" :lg="7" :md="8" :sm="24">
-            <a-form-item label="鏍囧噯缂栫爜">
-              <a-input placeholder="璇疯緭鍏ユ爣鍑嗙紪鐮�" v-model="queryParam.standardCode"></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.standardName"></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.equipmentCode"></a-input>
-            </a-form-item>
-          </a-col>
-          <template v-if="toggleSearchStatus">
+    <template v-if="isDisplayOperation">
+      <!-- 鏌ヨ鍖哄煙 -->
+      <div class="table-page-search-wrapper">
+        <a-form layout="inline" @keyup.enter.native="searchQuery">
+          <a-row :gutter="24">
             <a-col :xl="6" :lg="7" :md="8" :sm="24">
-              <a-form-item label="淇濆吇鍒嗙被">
-                <a-input placeholder="璇疯緭鍏ヤ繚鍏诲垎绫�" v-model="queryParam.maintenanceCategory"></a-input>
+              <a-form-item label="鏍囧噯缂栫爜">
+                <a-input placeholder="璇疯緭鍏ユ爣鍑嗙紪鐮�" v-model="queryParam.standardCode"></a-input>
               </a-form-item>
             </a-col>
-          </template>
-          <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.standardName"></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.equipmentId"></a-input>
+              </a-form-item>
+            </a-col>
+            <template v-if="toggleSearchStatus">
+              <a-col :xl="6" :lg="7" :md="8" :sm="24">
+                <a-form-item label="淇濆吇鍒嗙被">
+                  <a-input placeholder="璇疯緭鍏ヤ繚鍏诲垎绫�" v-model="queryParam.maintenanceCategory"></a-input>
+                </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">
                 {{ toggleSearchStatus ? '鏀惰捣' : '灞曞紑' }}
-                <a-icon :type="toggleSearchStatus ? 'up' : 'down'" />
+                <a-icon :type="toggleSearchStatus ? 'up' : 'down'"/>
               </a>
             </span>
-          </a-col>
+            </a-col>
 
-        </a-row>
-      </a-form>
-    </div>
+          </a-row>
+        </a-form>
+      </div>
 
-    <!-- 鎿嶄綔鎸夐挳鍖哄煙 -->
-    <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-upload>
-      <a-dropdown v-if="selectedRowKeys.length > 0">
-        <a-menu slot="overlay">
-          <a-menu-item key="1" @click="batchDel">
-            <a-icon type="delete" />
-            鍒犻櫎
-          </a-menu-item>
-        </a-menu>
-        <a-button style="margin-left: 8px"> 鎵归噺鎿嶄綔
-          <a-icon type="down" />
-        </a-button>
-      </a-dropdown>
-    </div>
+      <!-- 鎿嶄綔鎸夐挳鍖哄煙 -->
+      <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-upload>
+        <a-dropdown v-if="selectedRowKeys.length > 0">
+          <a-menu slot="overlay">
+            <a-menu-item key="1" @click="batchDel">
+              <a-icon type="delete"/>
+              鍒犻櫎
+            </a-menu-item>
+          </a-menu>
+          <a-button style="margin-left: 8px"> 鎵归噺鎿嶄綔
+            <a-icon type="down"/>
+          </a-button>
+        </a-dropdown>
+      </div>
+    </template>
+
 
     <!-- table鍖哄煙-begin -->
     <div>
-      <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
+      <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;" v-if="isDisplayOperation">
         <i class="anticon anticon-info-circle ant-alert-icon"></i> 宸查�夋嫨 <a
         style="font-weight: 600">{{ selectedRowKeys.length }}</a>椤�
         <a style="margin-left: 24px" @click="onClearSelected">娓呯┖</a>
@@ -85,14 +88,14 @@
         :customRow='clickThenSelect'
         @change="handleTableChange">
         <template slot="referenceFile" slot-scope="text, record, index">
-          <a v-if="text && text !== ''" @click="handlePreview(record)">棰勮</a>
+          <a v-if="text && text !== ''" @click.stop="handlePreview(record)">棰勮</a>
         </template>
         <span slot="action" slot-scope="text, record">
-          <a @click="handleEdit(record)">缂栬緫</a>
+          <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-popconfirm title="纭畾鍒犻櫎鍚�?" @confirm="() => handleDelete(record.id)">
@@ -106,15 +109,9 @@
       </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" />
+        <a-tab-pane tab='淇濆吇鏍囧噯鏄庣粏椤�' key="1">
+          <div class="table-operator" style="margin:-16px">
+            <eam-maintenance-standard-detail-list ref="standardDetailRef" :standardId="standardId"/>
           </div>
         </a-tab-pane>
 
@@ -138,6 +135,12 @@
 export default {
   name: 'EamMaintenanceStandardList',
   mixins: [JeecgListMixin],
+  props: {
+    isDisplayOperation: {
+      type: Boolean,
+      default: true
+    }
+  },
   components: {
     EamMaintenanceStandardModal,
     EamMaintenanceStandardDetailList
@@ -145,18 +148,9 @@
   data() {
     return {
       description: '淇濆吇鏍囧噯绠$悊椤甸潰',
+      disableMixinCreated: true,
       // 琛ㄥご
       columns: [
-        {
-          title: '#',
-          dataIndex: '',
-          key: 'rowIndex',
-          width: 60,
-          align: 'center',
-          customRender: function(t, r, index) {
-            return parseInt(index) + 1
-          }
-        },
         {
           title: '鏍囧噯缂栫爜',
           align: 'center',
@@ -207,12 +201,6 @@
           align: 'center',
           dataIndex: 'referenceFile',
           scopedSlots: { customRender: 'referenceFile' }
-        },
-        {
-          title: '鎿嶄綔',
-          dataIndex: 'action',
-          align: 'center',
-          scopedSlots: { customRender: 'action' }
         }
       ],
       url: {
@@ -223,7 +211,7 @@
         importExcelUrl: 'eam/maintenanceStandard/importExcel'
       },
       fileUrl: '',
-      standardId: '-1',
+      standardId: '-1'
     }
   },
   computed: {
@@ -231,22 +219,38 @@
       return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`
     }
   },
+  created() {
+    if (!this.isDisplayOperation) {
+      return
+    }
+    const operationColumn = {
+      title: '鎿嶄綔',
+      dataIndex: 'action',
+      align: 'center',
+      scopedSlots: { customRender: 'action' }
+    }
+    this.columns = [...this.columns, operationColumn]
+    this.loadData(1)
+  },
   methods: {
-    handlePreview: function (record) {
-      if(record.referenceFile) {
+    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);
+          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("鍙傝�冩枃浠朵负绌猴紒");
+      } else {
+        this.$message.warning('鍙傝�冩枃浠朵负绌猴紒')
       }
     },
     clickThenSelect(record) {
       return {
+        style: {
+          cursor: 'pointer'
+        },
         on: {
           click: () => {
             this.onSelectChange(record.id.split(','), [record])
@@ -255,24 +259,24 @@
       }
     },
     onClearSelected() {
-      this.selectedRowKeys = [];
-      this.selectionRows = [];
-      this.standardId = '-1';
+      this.selectedRowKeys = []
+      this.selectionRows = []
+      this.standardId = '-1'
     },
     onSelectChange(selectedRowKeys, selectionRows) {
-      this.selectedRowKeys = selectedRowKeys;
-      this.selectionRows = selectionRows;
+      this.selectedRowKeys = selectedRowKeys
+      this.selectionRows = selectionRows
       if (selectedRowKeys.length === 1) {
-        this.standardId = selectionRows[0]['id']
+        this.standardId = selectedRowKeys[0]
       } else {
         this.standardId = '-1'
       }
     },
     searchReset() {
-      this.standardId = '-1';
+      this.standardId = '-1'
       this.queryParam = {}
-      this.loadData(1);
-    },
+      this.loadData(1)
+    }
   }
 }
 </script>

--
Gitblit v1.9.3