web
7 天以前 28ea77ec45bd860e23c0edfb6ee81a7d6599b25f
src/views/screen/home/index.vue
@@ -86,12 +86,16 @@
<script setup lang="ts">
import {onMounted, onUnmounted, ref} from "vue";
import {getPumpData, getPumpWarning} from '@/api/screen/index.js'
import { ElMessageBox } from 'element-plus'
const tucengVal = ref(0);
const warnList = ref([])
const showMsg = ref(0)
const pointList = ref([])
const dislogOpen = ref(false)
let timer = null;
const warnCode = ['B001StartNumber', 'B002StartNumber', 'B003StartNumber', 'B004StartNumber']
const clickMsgFun = (index: number) => {
    showMsg.value = showMsg.value === index ? null : index;
@@ -101,9 +105,16 @@
const getWarning = () => {
    getPumpWarning({limit: 10, page:1}).then(res => {
        warnList.value = res.data.list
    }).catch(err => {
        if(err.message.includes("timeout")){
            clearInterval(timer)
        const warnDialogList = res.data.list.filter(el => warnCode.includes(el.code))
        if(!dislogOpen.value && warnDialogList.length > 0) {
            dislogOpen.value=true
            ElMessageBox.confirm(warnDialogList[0].facilityName, warnDialogList[0].description, {
                showCancelButton: false,
                confirmButtonText: '关闭',
                type: 'error'
            }).then(() => {
                console.log('关闭')
            })
        }
    })
}
@@ -147,7 +158,7 @@
    // 定时获取报警信息
    timer = setInterval(() => {
        getWarning()
    }, 3000)
    }, 5000)
})
onUnmounted(() => {
    if(timer){
@@ -259,6 +270,8 @@
            transition: all .5s;
            &-t {
                background-image: url('@/assets/images_lc/title_font.png');
                background-repeat: no-repeat;
                background-size: 100% 100%;
                padding-left: 16%;
                font-size: 1.2rem;
            }
@@ -329,6 +342,8 @@
            flex-direction: column;
            .warnRecord-title {
                background-image: url('@/assets/images_lc/title_font.png');
                background-repeat: no-repeat;
                background-size: 100% 100%;
                padding-left: 16%;
                font-size: 1.3rem;
            }