From 3beea8bd4646d2bae9bef028f7226ece015766bd Mon Sep 17 00:00:00 2001
From: web <candymxq888@outlook.com>
Date: 星期五, 06 六月 2025 16:46:14 +0800
Subject: [PATCH] fix:关闭压缩

---
 src/views/screen/temperature/monitor/index.vue |   97 +++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 79 insertions(+), 18 deletions(-)

diff --git a/src/views/screen/temperature/monitor/index.vue b/src/views/screen/temperature/monitor/index.vue
index bdd961c..45b5bdc 100644
--- a/src/views/screen/temperature/monitor/index.vue
+++ b/src/views/screen/temperature/monitor/index.vue
@@ -1,5 +1,5 @@
 <script setup>
-import {ref, onMounted} from "vue";
+import {ref, onMounted, onUnmounted} from "vue";
 import {getUserType} from '@/utils/auth.js'
 import {setTempMonitor, getTempMonitorConfig, editTempMonitorConfig} from '@/api/screen/monitor/index.js'
 import {getTemperaturePointList} from '@/api/screen/index.js'
@@ -11,16 +11,22 @@
 
 const menuList = ref([])
 const monitorList = ref([])
+const selectDeep = ref([])
 const monitorConfig = ref({})
 const userType = ref(getUserType())
 const monitorRef = ref()
 const searchVal = ref('')
+let timer = null;
 
 // 选择菜单
 const handleSelectMenu = (id) => {
-    pointApi().get(id).then(res => {
-        monitorList.value = [res.data]
-    })
+    clearInterval(timer)
+    getMonitorList(id)
+}
+
+// 搜索
+const handleSearch = () => {
+    getMonitorList()
 }
 
 // 获取水温监控点菜单
@@ -31,32 +37,54 @@
 }
 
 // 获取监控点列表
-const getMonitorList = () => {
-    pointApi().search({type: 1, page: 1, limit: 100, keywords: searchVal.value}).then(res => {
+const getMonitorList = (id) => {
+    clearInterval(timer)
+    const data = {
+        type: 1,
+        page: 1,
+        limit: 100,
+        keywords: searchVal.value,
+        pointId: id || ''
+    }
+    pointApi().search(data).then(res => {
         //0-未报警, 1-下限报警, 2-上限报警
-        monitorList.value = res.data.list.filter(el => el.parentId !== 0).map(item => {
+        monitorList.value = res.data.list.filter(el => el.parentId !== 0).map((item, index) => {
+            selectDeep.value[index] = item?.dataList[0].code
             return {
                 ...item,
                 errorType: Number(item.waterTemperature) < Number(item.lowWaterLevel) ? 1 : Number(item.waterTemperature) > Number(item.tallWaterLevel) ? 2 : 0
             }
         })
     })
+
+    // 挂载定时器获取数据
+    timer = setInterval(() => {
+        pointApi().search(data).then(res => {
+            monitorList.value = res.data.list.filter(el => el.parentId !== 0).map(item => {
+                return {
+                    ...item,
+                    errorType: Number(item.waterTemperature) < Number(item.lowWaterLevel) ? 1 : Number(item.waterTemperature) > Number(item.tallWaterLevel) ? 2 : 0
+                }
+            })
+        })
+    }, 5000)
 }
 
-// 获取监控点参数
+// 获取监控点配置
 const getMonitorConfig = () => {
     getTempMonitorConfig().then(res => {
         monitorConfig.value = res.data
     })
 }
 
-// 设置监控点参数
+// 设置监控点配置
 const setMonitorConfig = () => {
     editTempMonitorConfig(monitorConfig.value).then(res => {
         ElMessage.success('设置成功')
     })
 }
 
+// 监控点参数设置
 const setMonitorData = (data) => {
     setTempMonitor(data).then(res => {
         if (res.code === 200) {
@@ -75,6 +103,12 @@
     getTempMonitor()
     getMonitorList()
     getMonitorConfig()
+})
+
+onUnmounted(() => {
+    if(timer) {
+        clearInterval(timer)
+    }
 })
 
 </script>
@@ -105,7 +139,7 @@
             <div class="monitor-tool">
                 <div class="tool-l">
                     <el-input v-model="searchVal" style="width: 20rem" placeholder="请输入监测点名称" clearable/>
-                    <el-button @click="getMonitorList">
+                    <el-button @click="handleSearch">
                         <el-icon>
                             <Search/>
                         </el-icon>
@@ -145,11 +179,25 @@
                         <div class="item-data">
                             <div class="data">
                                 <div class="name">水温:</div>
-                                <div class="val"><span>{{ item.waterTemperature }}</span>°C</div>
+                                <div class="val"><span>{{ item?.dataList?.find(f => f.code === selectDeep[index]).value }}</span>°C</div>
                             </div>
                             <div class="data">
                                 <div class="name">水位:</div>
-                                <div class="val"><span>{{ item.waterLevel }}</span>m</div>
+                                <div class="val">
+                                    <el-select
+                                        v-model="selectDeep[index]"
+                                        class="val-select"
+                                        placeholder="Select"
+                                        style="width: 12rem"
+                                    >
+                                        <el-option
+                                            v-for="item in item?.dataList"
+                                            :key="item.code"
+                                            :label='item.code'
+                                            :value="item.code"
+                                        />
+                                    </el-select>m
+                                </div>
                             </div>
                         </div>
                         <div class="item-status">
@@ -182,11 +230,11 @@
                         <div class="item-btn">
                             <el-button size="large" type="success" @click="setMonitorData(item)">应用</el-button>
                         </div>
-                        <div class="item-error" v-if="[1,2].includes(item.errorType)">
-                            <img src="@/assets/images/warning.png" alt="" />
-                            <div v-if="item.errorType === 1">水温达到下限值</div>
-                            <div v-else-if="item.errorType === 2">水温达到上限值</div>
-                        </div>
+<!--                        <div class="item-error" v-if="[1,2].includes(item.errorType)">-->
+<!--                            <img src="@/assets/images/warning.png" alt="" />-->
+<!--                            <div v-if="item.errorType === 1">水温达到下限值</div>-->
+<!--                            <div v-else-if="item.errorType === 2">水温达到上限值</div>-->
+<!--                        </div>-->
                     </div>
                 </div>
             </div>
@@ -352,11 +400,24 @@
                             font-size: 22px;
 
                             .val {
-                                span {
+                                span{
                                     display: inline-block;
                                     font-size: 30px;
                                     padding: 0 30px;
                                 }
+                                .val-select{
+                                    padding: 0 30px;
+                                    :deep(.el-select__wrapper){
+                                        background-color: transparent;
+                                        box-shadow: none;
+                                        border-radius: 0;
+                                        border-bottom: 1px solid #fff;
+                                        font-size: 20px;
+                                        .el-select__caret{
+                                            color: #fff;
+                                        }
+                                    }
+                                }
                             }
                         }
                     }

--
Gitblit v1.9.3