From 2c199d0419c285c4131ae07deba87dc5ce56bff3 Mon Sep 17 00:00:00 2001
From: hyingbo <1363390067@qq.com>
Date: 星期三, 04 六月 2025 11:15:29 +0800
Subject: [PATCH] 设备监控-列表添加状态查询条件

---
 src/views/mdc/base/DeviceBaseInfo.vue                       |    2 
 src/views/mdc/base/modules/DeviceBaseInfo/EquipmentList.vue |   81 ++++++++++++++++++++++++++++++++++++++--
 2 files changed, 77 insertions(+), 6 deletions(-)

diff --git a/src/views/mdc/base/DeviceBaseInfo.vue b/src/views/mdc/base/DeviceBaseInfo.vue
index 4b0e728..298685d 100644
--- a/src/views/mdc/base/DeviceBaseInfo.vue
+++ b/src/views/mdc/base/DeviceBaseInfo.vue
@@ -26,7 +26,7 @@
                                 :node="selectEquipment"></equipment-layout>
             </a-tab-pane>
             <a-tab-pane key="2" tab="鍒楄〃" force-render>
-              <equipment-list :dataSource="dataList" @editEquipmentStatus="editEquipmentStatus"></equipment-list>
+              <equipment-list :dataSource="dataList" @editEquipmentStatus="editEquipmentStatus" :equipmentId="this.param.key"></equipment-list>
             </a-tab-pane>
           </a-tabs>
         </div>
diff --git a/src/views/mdc/base/modules/DeviceBaseInfo/EquipmentList.vue b/src/views/mdc/base/modules/DeviceBaseInfo/EquipmentList.vue
index c9f70f3..d52b8d6 100644
--- a/src/views/mdc/base/modules/DeviceBaseInfo/EquipmentList.vue
+++ b/src/views/mdc/base/modules/DeviceBaseInfo/EquipmentList.vue
@@ -1,21 +1,55 @@
 <template>
   <a-card :bordered="false" style="display: flex;flex-direction: column">
+    <div class="table-page-search-wrapper">
+      <a-form layout="inline" @keyup.enter.native="searchQuery">
+        <a-row :gutter="12">
+          <a-col :md="7" :sm="8">
+            <a-form-item label="鐘舵��" :labelCol="{span: 6}" :wrapperCol="{span: 14, offset: 1}">
+              <a-select v-model='queryParam.status' placeholder="璇烽�夋嫨鐘舵��">
+                <a-select-option  value="1">寰呮満</a-select-option>
+                <a-select-option value="2">杩愯</a-select-option>
+                <a-select-option value="3">鎶ヨ</a-select-option>
+                <a-select-option value="4">鍏虫満</a-select-option>
+              </a-select>
+            </a-form-item>
+          </a-col>
+          <a-col :md="7" :sm="8">
+            <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">
+              <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>
+              <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">閲嶇疆</a-button>
+            </span>
+          </a-col>
+        </a-row>
+      </a-form>
+    </div>
+
     <div class="equipmentList" id="DeviceList">
-      <a-table ref="table" bordered size="middle" rowKey="equipmentId" :columns="columns" :dataSource="dataSource"
-               :pagination="false" :loading="loading" :scroll="{x:'max-content',y:scrollY}"/>
+      <a-table
+        ref="table"
+        bordered
+        size="middle"
+        rowKey="equipmentId"
+        :columns="columns"
+        :dataSource="localDataSource"
+        :pagination="false"
+        :loading="loading"
+        :scroll="{x:'max-content',y:scrollY}"/>
     </div>
   </a-card>
 </template>
 
 <script>
-  import { postAction } from '@/api/manage'
+  import { postAction, getAction } from '@/api/manage'
+  import { filterObj } from '@/utils/util'
 
   export default {
     name: 'EquipmentLayout',
     components: {   },
     data() {
       return {
+        localDataSource: [...this.dataSource],
         loading:false,
+        queryParam: {},
         columns: [
           {
             title: '璁惧缂栧彿',
@@ -45,21 +79,58 @@
           }
         ],
         scrollY:465,
+        url: {
+          list: '/mdc/mdcEquipment/queryEquipmentMonitorList',
+        }
       }
     },
-    props: { dataSource: {
+    props: {
+      dataSource: {
         type: Array,
         required: true,
         default: []
-      } },
+      },
+      equipmentId: ''
+    },
     watch: {
+      dataSource(newVal) {
+        this.localDataSource = [...newVal]; // 鉁� 鐩戝惉鐖剁粍浠舵暟鎹彉鍖�
+      }
     },
     methods: {
+      loadData() {
+        var params = this.getQueryParams();//鏌ヨ鏉′欢
+        this.loading = true;
+        getAction(this.url.list, params).then((res) => {
+          if (res.success) {
+            this.localDataSource = res.result
+          }
+          if (res.code === 510) {
+            this.$message.warning(res.message)
+          }
+          this.loading = false;
+        })
+      },
+      getQueryParams() {
+        let param = Object.assign({}, this.queryParam);
+        param.key = this.equipmentId;
+        return filterObj(param);
+      },
       handleWindowResize(){
         const boxHeight = +window.getComputedStyle(document.getElementById('DeviceList')).height.slice(0,-2)
         const tableHeadHeight = +window.getComputedStyle(document.querySelector('.ant-table-thead th')).height.slice(0,-2)
         this.scrollY = boxHeight - tableHeadHeight
       },
+      // 閲嶇疆瀛楀吀绫诲瀷鎼滅储妗嗙殑鍐呭
+      searchReset() {
+        var that = this;
+        that.queryParam.status = "";
+        that.queryParam.key = this.equipmentId;
+        that.loadData();
+      },
+      searchQuery() {
+        this.loadData();
+      }
     },
     mounted(){
       window.addEventListener('resize',this.handleWindowResize)

--
Gitblit v1.9.3