Forráskód Böngészése

预警-外因火灾提交

lxh 1 éve
szülő
commit
44ae5f823f

+ 2 - 2
src/views/vent/monitorManager/alarmMonitor/AlarmHistoryTable.vue

@@ -118,11 +118,11 @@
             component: 'TimeRangePicker',
             componentProps: {
               placeholder: ['报警开始时间', '报警结束时间'],
-              valueFormat: 'HH:mm:ss',
+              valueFormat: 'YYYY-MM-DD HH:mm:ss',
             },
           },
         ],
-        fieldMapToTime: [['tickectDate', ['starttime', 'endtime'], '']],
+        fieldMapToTime: [['tickectDate', ['starttime_begin', 'starttime_end'], '']],
       },
       fetchSetting: {
         listField: 'list.records',

+ 13 - 13
src/views/vent/monitorManager/alarmMonitor/DetailModalFire.vue

@@ -92,18 +92,18 @@ function btnClick(ind) {
       break;
     case 1:
       activeIndex1.value = 0;
-      // menuList = menuList1.external.map(el => {
-      //   return {
-      //     name: el.systemname,
-      //     warn: '低风险',
-      //     type: 'out',
-      //     deviceID: el.id,
-      //   }
-      // })
-      menuList.length=0
+      menuList = menuList1.external.map(el => {
+        return {
+          name: el.systemname,
+          warn: '低风险',
+          type: 'out',
+          deviceID: el.id,
+        }
+      })
+      // menuList.length=0
       clearInterval(timer)
-      current.value = ''
-      // getSysWarnList(menuList[0].deviceID, 'fire');
+      // current.value = ''
+      getSysWarnList(menuList[0].deviceID, 'fire');
       break;
   }
 }
@@ -132,8 +132,8 @@ function loadZj() {
   } else if (!activeIndex.value && listData.bundletube.length != 0) {
     current.value = 'closeWall'
   } else if (activeIndex.value) {
-    // current.value = 'mainWell'
-    current.value = ''
+    current.value = 'mainWell'
+    // current.value = ''
   } else {
     current.value = ''
   }

+ 11 - 9
src/views/vent/monitorManager/alarmMonitor/fire/closeWall.vue

@@ -45,8 +45,8 @@
             <div class="echart-box">
                 <div class="title-f">
                     <div class="title-text">{{ `${type}趋势` }}</div>
-                    <a-range-picker v-model="TimeRange" :show-time="{ format: 'HH:mm:ss' }" format="YYYY-MM-DD HH:mm:ss"
-                        :placeholder="['开始时间', '终止时间']" @change="onDataChange" />
+                    <!-- <a-range-picker v-model="TimeRange" :show-time="{ format: 'HH:mm:ss' }" format="YYYY-MM-DD HH:mm:ss"
+                        :placeholder="['开始时间', '终止时间']" @change="onDataChange" /> -->
                 </div>
                 <div class="echarts-box">
                     <echartLine1 :echartDataSg="echartDataSg1"></echartLine1>
@@ -141,7 +141,7 @@ let TimeRange = reactive<any>([])
 let echartDataSg1 = reactive({
     xData: [],
     yData: [],
-    lengedData:'O2',
+    lengedData: 'O2',
 })
 let echartDataSgList = reactive<any[]>([])
 
@@ -151,7 +151,7 @@ function btnClick(item, ind) {
     type.value = item.label
     echartDataSg1.xData.length = 0
     echartDataSg1.yData.length = 0
-    echartDataSg1.lengedData=type.value
+    echartDataSg1.lengedData = type.value
     switch (type.value) {
         case 'O2':
             echartDataSgList.forEach(el => {
@@ -206,11 +206,14 @@ function onDataChange(value, dateString) {
 watch(() => props.listData, (val) => {
     console.log(val, 'val---')
     if (JSON.stringify(val) != '{}') {
+        echartDataSg1.xData.length = 0
+        echartDataSg1.yData.length = 0
+        echartDataSgList.length = 0
         if (val.bundletube.length != 0) {
             topContent.temperature = val.temperature[0] ? val.temperature[0].readData.temperature : '--'
             topContent.position = val.bundletube[0].strinstallpos || '--'
             topContent.time = val.bundletube[0].readTime || '--'
-            topContent.warn = val.bundletube[0].warnLevel == 0 ? '正常' : val.bundletube[0].warnLevel == 101 ? '较低风险' : val.bundletube[0].warnLevel == 102 ? '低风险' : val.bundletube[0].warnLevel == 103 ? '中风险' : val.bundletube[0].warnLevel == 104 ? '高风险' : val.bundletube[0].warnLevel == 201 ? '报警' : '正常'  
+            topContent.warn = val.bundletube[0].warnLevel == 0 ? '正常' : val.bundletube[0].warnLevel == 101 ? '较低风险' : val.bundletube[0].warnLevel == 102 ? '低风险' : val.bundletube[0].warnLevel == 103 ? '中风险' : val.bundletube[0].warnLevel == 104 ? '高风险' : val.bundletube[0].warnLevel == 201 ? '报警' : '正常'
             mbList[0].nd = val.bundletube[0].readData.o2val || '--'
             mbList[1].nd = val.bundletube[0].readData.coval || '--'
             mbList[2].nd = val.bundletube[0].readData.co2val || '--'
@@ -218,13 +221,10 @@ watch(() => props.listData, (val) => {
             mbList[4].nd = val.bundletube[0].readData.ch2val || '--'
             mbList[5].nd = val.bundletube[0].readData.gasval || '--'
             mbList.forEach(el => {
-                el.time1 =val.bundletube[0] ? val.bundletube[0].readTime.substring(0,val.bundletube[0].readTime.lastIndexOf(':')) : '--'
+                el.time1 = val.bundletube[0] ? val.bundletube[0].readTime.substring(0, val.bundletube[0].readTime.lastIndexOf(':')) : '--'
                 el.address = val.bundletube[0] ? val.bundletube[0].strinstallpos : '--'
             })
 
-            echartDataSg1.xData.length = 0
-            echartDataSg1.yData.length = 0
-            echartDataSgList.length = 0
             val.bundletube[0].history.forEach(v => {
                 echartDataSg1.xData.push(v.time)
                 echartDataSg1.yData.push(v.o2val)
@@ -336,6 +336,8 @@ watch(() => props.listData, (val) => {
                 font-weight: bold;
             }
         }
+
+
     }
 
     .content {

+ 16 - 15
src/views/vent/monitorManager/alarmMonitor/fire/fireWork.vue

@@ -86,21 +86,21 @@ let props = defineProps({
     listData: Object,
 });
 
-let maxY=ref(2000)
-let echartDw=ref('(­°C)')
+let maxY = ref(2000)
+let echartDw = ref('(­°C)')
 //光钎测温-图表数据
-let echartDataGq=reactive({
+let echartDataGq = reactive({
     maxData: {
-    lengedData: '当前温度',
-    data: []
-  },
-  xData: [],
+        lengedData: '当前温度',
+        data: []
+    },
+    xData: [],
 })
 //束管监测-图表数据
 let echartDataSg = reactive({
     xData: [],
     yData: [],
-    lengedData:'O2',
+    lengedData: 'O2',
 })
 let echartDataSgList = reactive<any[]>([])
 //光钎测温测点编号
@@ -127,7 +127,7 @@ function handleChange1(val) {
 function getSgClick(items) {
     echartDataSg.xData.length = 0
     echartDataSg.yData.length = 0
-    echartDataSg.lengedData=items.title
+    echartDataSg.lengedData = items.title
     switch (items.title) {
         case 'O2':
             echartDataSgList.forEach(el => {
@@ -177,13 +177,16 @@ function getSgClick(items) {
 watch(() => props.listData, (val, val1) => {
     console.log(val, '火灾详情')
     if (JSON.stringify(val) != '{}') {
+        echartDataGq.xData.length = 0
+        echartDataGq.maxData.data.length = 0
+        echartDataSgList.length = 0
+        echartDataSg.xData.length = 0
+        echartDataSg.yData.length = 0
         if (val.fiber.length != 0) {
             topList[0].value = val.fiber[0].readData.fmax
             topList[1].value = val.fiber[0].readData.fmin
             topList[2].value = val.fiber[0].readData.favg
             topList[3].text = val.fiber[0].warnFlag ? '报警' : '未报警'
-            echartDataGq.xData.length = 0
-            echartDataGq.maxData.data.length = 0
             JSON.parse(val.fiber[0].readData.fibreTemperature).forEach(el => {
                 echartDataGq.xData.push(el.pos)
                 echartDataGq.maxData.data.push(el.value)
@@ -200,12 +203,10 @@ watch(() => props.listData, (val, val1) => {
             contentList[2].list[1].value = val.bundletube[0].readData.gasval
             contentList.forEach(el => {
                 el.list.forEach(v => {
-                    v.time = val.bundletube[0].warnTime.substring(0,val.bundletube[0].warnTime.lastIndexOf(':'))
+                    v.time = val.bundletube[0].readTime.substring(0, val.bundletube[0].readTime.lastIndexOf(':'))
                 })
             })
-            echartDataSgList.length = 0
-            echartDataSg.xData.length=0
-            echartDataSg.yData.length=0
+
             val.bundletube[0].history.forEach(el => {
                 echartDataSg.xData.push(el.time)
                 echartDataSg.yData.push(el.o2val)

+ 468 - 19
src/views/vent/monitorManager/alarmMonitor/fire/mainWell.vue

@@ -1,6 +1,7 @@
 <template>
     <div class="mainWell">
-        <div class="work-nav">
+        <!-- 光钎测温 -->
+        <div class="work-nav" v-if="listData.bundletube.length == 0">
             <div class="nav" v-for="(item, index) in topOutList" :key="index">
                 <div class="pic" v-if="item.imgSrc">
                     <img :src="imgUrl" alt="" />
@@ -12,6 +13,31 @@
                 <div class="text" v-if="item.text">{{ item.text }}</div>
             </div>
         </div>
+        <!-- 束管监测 -->
+        <div class="work-nav" v-else>
+            <div class="box">
+                <div class="contents">
+                    <img src="../../../../../assets/images/fire/pie.png" alt="" />
+                    <span class="text">{{ topContent.temperature }}</span>
+                    <span class="dw">°C</span>
+                </div>
+                <div class="contents">
+                    <div class="text">
+                        <span class="label">位置 : </span>
+                        <span class="value">{{ topContent.position }}</span>
+                    </div>
+                    <div class="text">
+                        <span class="label">时间 : </span>
+                        <span class="value">{{ topContent.time }}</span>
+                    </div>
+                </div>
+            </div>
+            <div class="box">
+                <div class="text1">{{ topContent.warn }}</div>
+            </div>
+        </div>
+
+
         <div class="center-box">
             <div class="box" v-for="(items, index) in tabList" :key="index">
                 <div class="title">
@@ -19,7 +45,7 @@
                     <span class="details">{{ `${items.details}>>` }}</span>
                 </div>
                 <div class="content">
-                    <a-table v-if="index == 0" ref="table" size="small" :scroll="{ x:0,y: 273 }" :columns="columns"
+                    <a-table v-if="index == 0" ref="table" size="small" :scroll="{ x: 0, y: 273 }" :columns="columns"
                         :data-source="monitorlistYw" :pagination="false">
                         <span slot="action" slot-scope="text, record"></span>
                     </a-table>
@@ -34,7 +60,7 @@
                 </div>
             </div>
         </div>
-        <div class="footer-box">
+        <div class="footer-box" v-if="listData.bundletube.length == 0">
             <div class="footer-title">
                 <div class="echart-label">光钎测温系统实时温度监测</div>
                 <!-- <a-select style="width: 240px; margin-left: 10px" v-model="pointCode" allowClear class="code-mode-select"
@@ -49,6 +75,39 @@
                 <echartLine2 :echartDataWd="echartDataWd"></echartLine2>
             </div>
         </div>
+
+        <!-- 束管监测 -->
+        <div class="content-s" v-else>
+            <div class="title-b">采空区密闭参数</div>
+            <div class="card-btn">
+                <div :class="activeIndex == index ? 'box1' : 'box'" v-for="(item, index) in mbList" :key="index"
+                    @click="btnClick(item, index)">
+                    <div class="label">{{ item.label }}</div>
+                    <div class="box-item box-item1">
+                        <span class="text-t">{{ `${item.label1}:` }}</span>
+                        <span class="text-v">{{ `${item.nd}%` }}</span>
+                    </div>
+                    <div class="box-item box-item2">
+                        <span class="text-t">{{ `${item.label2}:` }}</span>
+                        <span class="text-v">{{ item.time1 }}</span>
+                    </div>
+                    <div class="box-item box-item3">
+                        <span class="text-t">{{ `${item.label3}:` }}</span>
+                        <span class="text-v">{{ item.address }}</span>
+                    </div>
+                </div>
+            </div>
+            <div class="echart-box">
+                <div class="title-f">
+                    <div class="title-text">{{ `${type}趋势` }}</div>
+                    <!-- <a-range-picker v-model="TimeRange" :show-time="{ format: 'HH:mm:ss' }" format="YYYY-MM-DD HH:mm:ss"
+                        :placeholder="['开始时间', '终止时间']" @change="onDataChange" /> -->
+                </div>
+                <div class="echarts-box">
+                    <echartLine1 :echartDataSg="echartDataSg1"></echartLine1>
+                </div>
+            </div>
+        </div>
     </div>
 </template>
 
@@ -57,19 +116,96 @@ import { ref, computed, reactive, watch, defineProps } from 'vue';
 import { topOutList, tabList, columns, pointOutList, } from '../fire.data'
 import imgUrl from '../../../../../assets/images/fire/pie.png'
 import echartLine2 from './common/echartLine2.vue'
+import echartLine1 from './common/echartLine1.vue'
 
 let props = defineProps({
     listData: Object,
 });
 
+
+//束管监测-顶部区域数据
+let topContent = reactive({
+    temperature: 0,
+    position: '',
+    time: '',
+    warn: '',
+})
+//束管监测当前密闭参数激活选项
+let activeIndex = ref(0)
+//束管监测当前激活密闭参数类型
+let type = ref('O2')
+//束管监测密闭参数列表
+let mbList = reactive([
+    {
+        label: 'O2',
+        label1: '浓度',
+        label2: '时间',
+        label3: '位置',
+        nd: 0,
+        time1: '',
+        address: '',
+    },
+    {
+        label: 'CO',
+        label1: '浓度',
+        label2: '时间',
+        label3: '位置',
+        nd: 0,
+        time1: '',
+        address: '',
+    },
+    {
+        label: 'CO2',
+        label1: '浓度',
+        label2: '时间',
+        label3: '位置',
+        nd: 0,
+        time1: '',
+        address: '',
+    },
+    {
+        label: 'CH4',
+        label1: '浓度',
+        label2: '时间',
+        label3: '位置',
+        nd: 0,
+        time1: '',
+        address: '',
+    },
+    {
+        label: 'C2H2',
+        label1: '浓度',
+        label2: '时间',
+        label3: '位置',
+        nd: 0,
+        time1: '',
+        address: '',
+    },
+    {
+        label: 'C2H4',
+        label1: '浓度',
+        label2: '时间',
+        label3: '位置',
+        nd: 0,
+        time1: '',
+        address: '',
+    },
+])
+let echartDataSg1 = reactive({
+    xData: [],
+    yData: [],
+    lengedData: 'O2',
+})
+let echartDataSgList = reactive<any[]>([])
+
 //外因火灾温度监测-图表数据
- let echartDataWd =reactive({
-  xData: [],
-  maxData: {
-    data:[],
-    lengedData: '实时温度',
-  },
-}) 
+let echartDataWd = reactive({
+    xData: [],
+    maxData: {
+        data: [],
+        lengedData: '实时温度',
+    },
+})
 
 //烟雾传感器列表数据
 let monitorlistYw = reactive([])
@@ -86,6 +222,63 @@ let monitorlistPl = reactive([])
 //温度监测-测点编码
 let pointCode = ref('')
 
+
+
+//束管监测密闭参数选项切换
+function btnClick(item, ind) {
+    activeIndex.value = ind
+    type.value = item.label
+    echartDataSg1.xData.length = 0
+    echartDataSg1.yData.length = 0
+    echartDataSg1.lengedData = type.value
+    switch (type.value) {
+        case 'O2':
+            echartDataSgList.forEach(el => {
+                echartDataSg1.xData.push(el.time)
+                echartDataSg1.yData.push(el.o2val)
+
+            })
+            break;
+        case 'C2H4':
+            echartDataSgList.forEach(el => {
+                echartDataSg1.xData.push(el.time)
+                echartDataSg1.yData.push(el.ch2val)
+
+            })
+            break;
+        case 'CO':
+            echartDataSgList.forEach(el => {
+                echartDataSg1.xData.push(el.time)
+                echartDataSg1.yData.push(el.coval)
+
+            })
+            break;
+        case 'CH4':
+            echartDataSgList.forEach(el => {
+                echartDataSg1.xData.push(el.time)
+                echartDataSg1.yData.push(el.chval)
+
+            })
+            break;
+        case 'CO2':
+            echartDataSgList.forEach(el => {
+                echartDataSg1.xData.push(el.time)
+                echartDataSg1.yData.push(el.co2val)
+
+            })
+            break;
+        case 'C2H2':
+            echartDataSgList.forEach(el => {
+                echartDataSg1.xData.push(el.time)
+                echartDataSg1.yData.push(el.gasval)
+
+            })
+            break;
+    }
+
+}
+
+
 //温度监测测点编号选项切换
 function handleChange(val) {
     pointCode.value = val
@@ -93,24 +286,40 @@ function handleChange(val) {
 
 watch(() => props.listData, (val) => {
     console.log(val, 'val---------------')
+    props.listData = val
     if (JSON.stringify(val) != '{}') {
+        echartDataSg1.xData.length = 0
+        echartDataSg1.yData.length = 0
+        echartDataSgList.length = 0
+        echartDataWd.xData.length = 0
+        echartDataWd.maxData.data.length = 0
+        monitorlistYw.length = 0
+        monitorlistHy.length = 0
+        monitorlistPl.length = 0
         if (val.fiber.length != 0) {
             topOutList[0].value = val.fiber[0].readData.fmax
             topOutList[1].value = val.fiber[0].readData.fmin
             topOutList[2].value = val.fiber[0].readData.favg
             topOutList[3].text = val.fiber[0].warnFlag ? '存在风险' : '正常'
-            echartDataWd.xData.length=0
-            echartDataWd.maxData.data.length=0
-            JSON.parse(val.fiber[0].readData.fibreTemperature).forEach(el=>{
+            JSON.parse(val.fiber[0].readData.fibreTemperature).forEach(el => {
                 echartDataWd.xData.push(el.pos)
                 echartDataWd.maxData.data.push(el.value)
             })
+        }
 
-
-
+        if (val.bundletube.length != 0) {
+            topContent.temperature = val.temperature[0] ? val.temperature[0].readData.temperature : '--'
+            topContent.position = val.bundletube[0].strinstallpos || '--'
+            topContent.time = val.bundletube[0].readTime || '--'
+            topContent.warn = val.bundletube[0].warnLevel == 0 ? '正常' : val.bundletube[0].warnLevel == 101 ? '较低风险' : val.bundletube[0].warnLevel == 102 ? '低风险' : val.bundletube[0].warnLevel == 103 ? '中风险' : val.bundletube[0].warnLevel == 104 ? '高风险' : val.bundletube[0].warnLevel == 201 ? '报警' : '正常'
+            val.bundletube[0].history.forEach(v => {
+                echartDataSg1.xData.push(v.time)
+                echartDataSg1.yData.push(v.o2val)
+                echartDataSgList.push(v)
+            })
         }
+
         if (val.smoke.length != 0) {
-            monitorlistYw.length = 0
             val.smoke.forEach(el => {
                 el.warnFlag = el.warnFlag ? '存在风险' : '正常'
                 monitorlistYw.push(el)
@@ -119,7 +328,6 @@ watch(() => props.listData, (val) => {
 
 
         if (val.fire.length != 0) {
-            monitorlistHy.length = 0
             val.fire.forEach(el => {
                 el.warnFlag = el.warnFlag ? '存在风险' : '正常'
                 monitorlistHy.push(el)
@@ -127,7 +335,6 @@ watch(() => props.listData, (val) => {
         }
 
         if (val.spray.length != 0) {
-            monitorlistPl.length = 0
             val.spray.forEach(el => {
                 el.warnFlag = el.warnFlag ? '存在风险' : '正常'
                 monitorlistPl.push(el)
@@ -147,6 +354,7 @@ watch(() => props.listData, (val) => {
     height: 100%;
     padding: 20px;
     box-sizing: border-box;
+    overflow-y: auto;
 
     .work-nav {
         height: 115px;
@@ -249,6 +457,87 @@ watch(() => props.listData, (val) => {
             background: url('../../../../../assets/images/fire/pj.svg') no-repeat;
             background-position: 50% 50%;
         }
+
+
+
+        .box {
+            display: flex;
+
+            &:nth-child(1) {
+                justify-content: space-around;
+                align-items: center;
+                flex: 2;
+                height: 100%;
+                border-right: 2px solid;
+                border-image: linear-gradient(to bottom, transparent, rgba(2, 70, 136, 1), transparent) 1 1 1;
+            }
+
+            &:nth-child(2) {
+                flex: 1;
+                justify-content: center;
+                align-items: center;
+                height: 100%;
+            }
+
+            .contents {
+                height: 94px;
+
+                &:nth-child(1) {
+                    width: 40%;
+                    display: flex;
+                    justify-content: center;
+                    align-items: center;
+
+                    img {
+                        position: relative;
+                        width: 94px;
+                        height: 94px;
+                        background: url('../../../../../assets/images/fire/pj.svg') no-repeat;
+                        background-position: 50% 50%;
+                    }
+
+                    .text {
+                        font-family: 'douyuFont';
+                        font-size: 36px;
+                        margin: 0px 15px;
+                        color: #3df6ff;
+                    }
+
+                    .dw {
+                        font-size: 16px;
+                        color: #b3b8cc;
+                    }
+                }
+
+                &:nth-child(2) {
+                    width: 60%;
+                    display: flex;
+                    flex-direction: column;
+                    justify-content: space-around;
+
+                    .text {
+                        font-size: 18px;
+
+                        .label {
+                            color: #b3b8cc;
+                            font-weight: bold;
+                        }
+
+                        .value {
+                            font-family: 'douyuFont';
+                            color: #3df6ff;
+                            margin-left: 10px;
+                        }
+                    }
+                }
+            }
+
+            .text1 {
+                font-size: 18px;
+                color: #b3b8cc;
+                font-weight: bold;
+            }
+        }
     }
 
     .center-box {
@@ -322,6 +611,166 @@ watch(() => props.listData, (val) => {
             height: calc(100% - 36px);
         }
     }
-}
 
+    .content-s {
+        width: 100%;
+        height: 608px;
+        padding: 15px 20px 0px 20px;
+        background: url('../../../../../assets/images/fire/bj1.png') no-repeat;
+        background-size: 100% 100%;
+        box-sizing: border-box;
+
+        .title-b {
+            font-family: 'douyuFont';
+            font-size: 16px;
+            color: #3df6ff;
+            margin-bottom: 10px;
+        }
+
+        .card-btn {
+            height: 169px;
+            margin-bottom: 10px;
+            display: flex;
+            justify-content: space-between;
+
+            .box {
+                position: relative;
+                width: 248px;
+                height: 100%;
+                background: url('../../../../../assets/images/fire/1.png') no-repeat;
+                cursor: pointer;
+
+                .label {
+                    position: absolute;
+                    left: 50%;
+                    top: 2px;
+                    transform: translate(-50%);
+                    font-size: 16px;
+                    color: #fff;
+                }
+
+                .box-item {
+                    position: absolute;
+                    left: 50%;
+                    transform: translate(-50%, 0);
+                    width: 226px;
+                    height: 27px;
+                    padding: 0px 10px;
+                    display: flex;
+                    justify-content: space-between;
+                    align-items: center;
+                    background: url('../../../../../assets/images/fire/contetn.png') no-repeat;
+
+                    .text-t {
+                        width: 32px;
+                        color: #fff;
+                        font-size: 12px;
+                    }
+
+                    .text-v {
+                        width: calc(100% - 32px);
+                        font-family: 'douyuFont';
+                        font-size: 10px;
+                        color: #3df6ff;
+                        display: flex;
+                        justify-content: flex-end;
+                    }
+                }
+
+                .box-item1 {
+                    top: 32px;
+                }
+
+                .box-item2 {
+                    top: 68px;
+                }
+
+                .box-item3 {
+                    top: 104px;
+                }
+            }
+
+            .box1 {
+                position: relative;
+                width: 248px;
+                height: 100%;
+                background: url('../../../../../assets/images/fire/2.png') no-repeat;
+                cursor: pointer;
+
+                .label {
+                    position: absolute;
+                    left: 50%;
+                    top: 2px;
+                    transform: translate(-50%);
+                    font-size: 16px;
+                    color: #fff;
+                }
+
+                .box-item {
+                    position: absolute;
+                    left: 50%;
+                    transform: translate(-50%, 0);
+                    width: 226px;
+                    height: 27px;
+                    padding: 0px 10px;
+                    display: flex;
+                    justify-content: space-between;
+                    align-items: center;
+                    background: url('../../../../../assets/images/fire/contetn.png') no-repeat;
+
+                    .text-t {
+                        width: 32px;
+                        color: #fff;
+                        font-size: 12px;
+                    }
+
+                    .text-v {
+                        width: calc(100% - 32px);
+                        font-family: 'douyuFont';
+                        font-size: 10px;
+                        color: #3df6ff;
+                        display: flex;
+                        justify-content: flex-end;
+                    }
+                }
+
+                .box-item1 {
+                    top: 32px;
+                }
+
+                .box-item2 {
+                    top: 68px;
+                }
+
+                .box-item3 {
+                    top: 104px;
+                }
+            }
+        }
+
+        .echart-box {
+            height: calc(100% - 215px);
+            border: 1px solid #114aac;
+
+            .title-f {
+                height: 40px;
+                padding: 0px 10px;
+                box-sizing: border-box;
+                display: flex;
+                justify-content: space-between;
+                align-items: center;
+
+                .title-text {
+                    font-family: 'douyuFont';
+                    font-size: 16px;
+                    color: #3df6ff;
+                }
+            }
+
+            .echarts-box {
+                height: calc(100% - 40px);
+            }
+        }
+    }
+}
 </style>

+ 16 - 4
src/views/vent/monitorManager/alarmMonitor/fire/ventilate.vue

@@ -49,8 +49,8 @@ let props = defineProps({
   listData: Object,
 });
 
-let maxY = ref(2000)
-let echartDw=ref('(m³/min)')
+let maxY = ref(0)
+let echartDw = ref('(m³/min)')
 
 //报警区域数据
 let topAreaList = reactive<any[]>([]);
@@ -68,6 +68,13 @@ const echartDataFc1 = reactive({
 });
 
 
+function formatRoundNum(num) {
+  let interger = Math.ceil(num)
+  let leng = String(interger).length
+  return Math.ceil(interger / Math.pow(10, leng - 1)) * Math.pow(10, leng - 1)
+}
+
+
 
 
 watch(
@@ -75,7 +82,6 @@ watch(
   (val) => {
     console.log(val, '详情数据');
     if (JSON.stringify(val.common) != '{}') {
-  
       echartDataFc1.maxData.data.length = 0;
       echartDataFc1.minData.data.length = 0;
       echartDataFc1.xData.length = 0;
@@ -120,7 +126,13 @@ watch(
         echartDataFc1.minData.data.push(parseFloat(v.hui));
         echartDataFc1.xData.push(v.time);
       });
-
+      let max1 = echartDataFc1.maxData.data.reduce((acr, cur) => {
+        return acr > cur ? acr : cur
+      })
+      let max2 = echartDataFc1.minData.data.reduce((acr1, cur1) => {
+        return acr1 > cur1 ? acr1 : cur1
+      })
+      maxY.value = max1 >= max2 ? formatRoundNum(max1 * 2) : formatRoundNum(max2 * 2)
     }
   },
   { deep: true }