Browse Source

Merge branch 'master' of http://182.92.126.35:3000/hrx/mky-vent-base

hongrunxia 1 year ago
parent
commit
fbfc32c38a

+ 1 - 1
src/views/vent/deviceManager/workingFace/index.vue

@@ -21,7 +21,7 @@
 <script lang="ts" name="system-user" setup>
   //ts语法
   import { ref, onMounted } from 'vue'
-  import CustomNormalTable from './CustomNormalTable.vue';
+  // import CustomNormalTable from './CustomNormalTable.vue';
   import { searchFormSchema, commentFormSchema } from './workingFace.data';
   import { list, deleteById, batchDeleteById, saveOrUpdate } from './workingFace.api';
 

+ 0 - 1
src/views/vent/home/colliery/components/device-warn.vue

@@ -52,7 +52,6 @@
 
   //跳转详情
   function getDetail() {
-    console.log('跳转详情');
     emit('goDetail', 'warning');
   }
   watch(

+ 14 - 2
src/views/vent/home/colliery/components/fan-monitor.vue

@@ -52,7 +52,7 @@ function getDetail() {
 }
 //选项切换
 function changeSelect(val) {
-  searchValue.value=val
+  searchValue.value = val
   switch (val) {
     case '局扇监测':
       fjStatus.value =
@@ -76,6 +76,17 @@ function changeSelect(val) {
       echartData.ydata = fanList.filter((v) => v.strinstallpos == '局部通风机系统')[0].readData.windQuantity2;
       getOption();
       break;
+    case '地址1':
+      fjStatus.value =
+        fanList.filter((v) => v.strinstallpos == '地址1')[0].readData.Fan1StartStatus == '1'
+          ? '1号风机'
+          : fanList.filter((v) => v.strinstallpos == '地址1')[0].readData.Fan2StartStatus == '1'
+            ? '2号风机'
+            : '';
+      echartData.xdata = fanList.filter((v) => v.strinstallpos == '地址1')[0].readData.windQuantity1;
+      echartData.ydata = fanList.filter((v) => v.strinstallpos == '地址1')[0].readData.windQuantity2;
+      getOption();
+      break;
   }
 }
 function getOption() {
@@ -395,4 +406,5 @@ onMounted(() => { });
 
 :deep .zxm-select-arrow {
   color: #fff !important;
-}</style>
+}
+</style>

+ 16 - 1
src/views/vent/home/colliery/components/main-monitor.vue

@@ -48,7 +48,6 @@ let echartData = reactive<any>({
 
 //跳转详情
 function getDetail() {
-  console.log('跳转详情');
   emit('goDetail', 'fanMain');
 }
 //选项切换
@@ -87,6 +86,22 @@ function changeSelect(val) {
       setChart(objParam, objParam1);
       getOption();
       break;
+
+    case '主通风机主机':
+      objParam = {
+        dataQ: mainList[0].readData.m3,
+        dataH: mainList[0].readData.DataPa,
+      }
+      objParam1 = {
+        dataha0: -0.056,
+        dataha1: 3.6491,
+        dataha2: 434.4,
+        dataha3: 100,
+        dataha4: -1000,
+      }
+      setChart(objParam, objParam1);
+      getOption();
+      break;
   }
 }
 

+ 50 - 50
src/views/vent/home/colliery/components/wind-device.vue

@@ -71,51 +71,51 @@
       level: 1,
       text: '测风装置',
     },
-    6: {
-      url: getAssetURL('home-container/device/yafeng.png'),
-      level: 1,
-      text: '压风装置',
-    },
-    7: {
-      url: getAssetURL('home-container/device/penlin.png'),
-      level: 1,
-      text: '喷淋',
-    },
-    8: {
-      url: getAssetURL('home-container/device/penfen.png'),
-      level: 1,
-      text: '喷粉',
-    },
-    9: {
-      url: getAssetURL('home-container/device/zhudan.png'),
-      level: 1,
-      text: '注氮',
-    },
-    10: {
-      url: getAssetURL('home-container/device/zhujiang.png'),
-      level: 1,
-      text: '注浆',
-    },
-    11: {
-      url: getAssetURL('home-container/device/pw.png'),
-      level: 1,
-      text: '跟机喷雾',
-    },
-    12: {
-      url: getAssetURL('home-container/device/ccq.png'),
-      level: 1,
-      text: '除尘器',
-    },
-    13: {
-      url: getAssetURL('home-container/device/wasibeng.png'),
-      level: 1,
-      text: '瓦斯泵',
-    },
-    14: {
-      url: getAssetURL('home-container/device/js.png'),
-      level: 1,
-      text: '瓦斯抽采管路',
-    },
+    // 6: {
+    //   url: getAssetURL('home-container/device/yafeng.png'),
+    //   level: 1,
+    //   text: '压风装置',
+    // },
+    // 7: {
+    //   url: getAssetURL('home-container/device/penlin.png'),
+    //   level: 1,
+    //   text: '喷淋',
+    // },
+    // 8: {
+    //   url: getAssetURL('home-container/device/penfen.png'),
+    //   level: 1,
+    //   text: '喷粉',
+    // },
+    // 9: {
+    //   url: getAssetURL('home-container/device/zhudan.png'),
+    //   level: 1,
+    //   text: '注氮',
+    // },
+    // 10: {
+    //   url: getAssetURL('home-container/device/zhujiang.png'),
+    //   level: 1,
+    //   text: '注浆',
+    // },
+    // 11: {
+    //   url: getAssetURL('home-container/device/pw.png'),
+    //   level: 1,
+    //   text: '跟机喷雾',
+    // },
+    // 12: {
+    //   url: getAssetURL('home-container/device/ccq.png'),
+    //   level: 1,
+    //   text: '除尘器',
+    // },
+    // 13: {
+    //   url: getAssetURL('home-container/device/wasibeng.png'),
+    //   level: 1,
+    //   text: '瓦斯泵',
+    // },
+    // 14: {
+    //   url: getAssetURL('home-container/device/js.png'),
+    //   level: 1,
+    //   text: '瓦斯抽采管路',
+    // },
   });
 
   const resetScroll = (e: Event) => {
@@ -124,7 +124,6 @@
 
   //跳转详情
   function getDetail() {
-    console.log('跳转详情');
     // emit('goDetail', 'windrect')
   }
 
@@ -174,15 +173,16 @@
       .icons-box {
         display: flex;
         flex-wrap: wrap;
-        justify-content: space-around;
+        // justify-content: space-around; lxh
+        justify-content: space-between;
         height: 100%;
         overflow-y: hidden;
         // align-items: start ;
         &:hover {
           overflow-y: auto;
           & > .icon-item {
-            animation-play-state: paused;
-            animation: move1 2s linear;
+            // animation-play-state: paused; lxh
+            // animation: move1 2s linear;lxh
           }
         }
         .icon-item {
@@ -191,7 +191,7 @@
           align-items: center;
           justify-content: center;
           padding: 3px;
-          animation: move 10s linear infinite;
+          // animation: move 10s linear infinite;lxh
 
           .level-text {
             position: absolute;

+ 12 - 1
src/views/vent/home/colliery/components/wind-line.vue

@@ -73,7 +73,6 @@ let tabList = reactive<any[]>([
 ]);
 //跳转详情
 function getDetail() {
-  console.log('跳转详情');
   emit('goDetail', 'majorpath')
 }
 //选项切换
@@ -168,6 +167,18 @@ function changeSelect(val) {
       // percentE.value = ((echartData[2].value / (echartData[0].value + echartData[1].value + echartData[2].value)) * 100).toFixed(2);
       getOption();
       break;
+      case '关键-路线':
+      echartData[0].value = Math.floor(Math.random() * (110 - 100 + 1)) + 100;
+      echartData[1].value = Math.floor(Math.random() * (210 - 200 + 1)) + 200;
+      echartData[2].value = Math.floor(Math.random() * (310 - 300 + 1)) + 300;
+      tabList[0].val = Math.floor(Math.random() * (1010 - 1000 + 1)) + 1000;
+      tabList[1].val = Math.floor(Math.random() * (2010 - 2000+ 1)) + 2000;
+      tabList[2].val = 0.56;
+      percentF.value = ((echartData[0].value / (echartData[0].value + echartData[1].value + echartData[2].value)) * 100).toFixed(2);
+      percentT.value = ((echartData[1].value / (echartData[0].value + echartData[1].value + echartData[2].value)) * 100).toFixed(2);
+      percentE.value = ((echartData[2].value / (echartData[0].value + echartData[1].value + echartData[2].value)) * 100).toFixed(2);
+      getOption();
+      break;
   }
 }
 

+ 24 - 1
src/views/vent/home/colliery/components/work-monitor.vue

@@ -49,7 +49,7 @@ let echartData = reactive({
 });
 //跳转详情
 function getDetail() {
-  console.log('跳转详情');
+ 
   emit('goDetail', 'work');
 }
 //选项切换
@@ -85,6 +85,29 @@ function changeSelect(val) {
       });
       getOption();
       break;
+      case '工作面-6':
+      tabList[0].val = Math.floor(Math.random() * (110 - 100 + 1)) + 100;
+      tabList[1].val = Math.floor(Math.random() * (210 - 200 + 1)) + 200;
+      tabList[2].val = Math.floor(Math.random() * (310 - 300 + 1)) + 300;
+      echartData.xdata.length = 0;
+      echartData.ydata.length = 0;
+      echartData.ydata1.length = 0;
+      let mnList=[
+        {time:'10:00:01',jin: Math.floor(Math.random() * (15 - 10 + 1)) + 10,hui: Math.floor(Math.random() * (20 - 15 + 1)) + 15},
+        {time:'10:00:06',jin: Math.floor(Math.random() * (15 - 10 + 1)) + 10,hui: Math.floor(Math.random() * (20 - 15 + 1)) + 15},
+        {time:'10:00:11',jin: Math.floor(Math.random() * (15 - 10 + 1)) + 10,hui: Math.floor(Math.random() * (20 - 15 + 1)) + 15},
+        {time:'10:00:16',jin: Math.floor(Math.random() * (15 - 10 + 1)) + 10,hui: Math.floor(Math.random() * (20 - 15 + 1)) + 15},
+        {time:'10:00:21',jin: Math.floor(Math.random() * (15 - 10 + 1)) + 10,hui: Math.floor(Math.random() * (20 - 15 + 1)) + 15},
+        {time:'10:00:26',jin: Math.floor(Math.random() * (15 - 10 + 1)) + 10,hui: Math.floor(Math.random() * (20 - 15 + 1)) + 15},
+      ]
+      mnList.forEach((el) => {
+        echartData.xdata.push(el.time);
+        echartData.ydata.push(el.jin);
+        echartData.ydata1.push(el.hui);
+      });
+
+      getOption();
+      break;
   }
 }
 

+ 27 - 10
src/views/vent/home/colliery/index.vue

@@ -78,7 +78,7 @@
   </div>
 </template>
 <script lang="ts" setup>
-import { reactive, onMounted, ref, nextTick, computed, inject ,onBeforeUnmount } from 'vue';
+import { reactive, onMounted, ref, nextTick, computed, inject, onBeforeUnmount } from 'vue';
 import fanMonitor from './components/fan-monitor.vue';
 import mainMonitor from './components/main-monitor.vue';
 import windDevice from './components/wind-device.vue';
@@ -117,7 +117,7 @@ const pageType = ref('home');
 let router = useRouter();
 
 function goDetail(deviceType) {
-  debugger
+  // debugger
 
   // Modal.confirm({
   //   content: () => '暂未连接井下设备!',
@@ -141,14 +141,10 @@ function goDetail(deviceType) {
     router.push('/monitorChannel/monitor-fanmain');
   } else if (deviceType == 'fanLocal') {
     router.push('/monitorChannel/monitor-fanlocal');
-  } else if(deviceType == 'majorpath') {
-    
-  } else if(deviceType == 'work'){
-    router.push('/monitorChannel/wokerFace-home');
+  } else if (deviceType == 'windrect') {
+    router.push('/monitorChannel/monitor-windrect')
   } else if (deviceType == 'warning') {
     router.push('/monitorChannel/monitor-alarm-home');
-  } else {
-    router.push('/monitorChannel/monitor-gate');
   }
 }
 function goHome() {
@@ -207,8 +203,29 @@ function getList() {
     }
 
     flList.value = res.windrect || res.sys_wind;
-    lineList.value = res.sys_majorpath || [];
-    workList.value = res.sys_surface_caimei || [];
+
+    if (res.sys_majorpath.length != 0) {
+      lineList.value = res.sys_majorpath;
+    } else {
+      let paramArr: any = []
+      paramArr.push({
+        deviceName: '关键-路线',
+        deviceType: 'sys_majorpath',
+      })
+      lineList.value = paramArr
+    }
+
+    if (res.sys_surface_caimei.length != 0) {
+      workList.value = res.sys_surface_caimei;
+    } else {
+      let paramArr: any = []
+      paramArr.push({
+        deviceName: '工作面-6',
+        deviceType: 'sys_surface_caimei',
+      })
+      workList.value = paramArr
+    }
+
     warnData.value = res.warn || [];
     deviceData.value = res.device || {};
   });

+ 6 - 6
src/views/vent/monitorManager/alarmMonitor/fire.data.ts

@@ -72,7 +72,7 @@ export const contentList = [
     list: [
       {
         id: '0-0',
-        title: 'O₂',
+        title: 'O₂(%)',
         label: '浓度 : ',
         value: '--',
         label1: '时间 : ',
@@ -80,7 +80,7 @@ export const contentList = [
       },
       {
         id: '0-1',
-        title: 'C₂H₄',
+        title: 'C₂H₄(ppm)',
         label: '浓度 : ',
         value: '--',
         label1: '时间 : ',
@@ -93,7 +93,7 @@ export const contentList = [
     list: [
       {
         id: '1-0',
-        title: 'CO',
+        title: 'CO(ppm)',
         label: '浓度 : ',
         value: '--',
         label1: '时间 : ',
@@ -101,7 +101,7 @@ export const contentList = [
       },
       {
         id: '1-1',
-        title: 'CH₄',
+        title: 'CH₄(ppm)',
         label: '浓度 : ',
         value: '--',
         label1: '时间 : ',
@@ -114,7 +114,7 @@ export const contentList = [
     list: [
       {
         id: '2-0',
-        title: 'CO₂',
+        title: 'CO₂(%)',
         label: '浓度 : ',
         value: '--',
         label1: '时间 : ',
@@ -122,7 +122,7 @@ export const contentList = [
       },
       {
         id: '2-1',
-        title: 'C₂H₂',
+        title: 'C₂H₂(ppm)',
         label: '浓度 : ',
         value: '--',
         label1: '时间 : ',

+ 47 - 25
src/views/vent/monitorManager/alarmMonitor/fire/closeWall.vue

@@ -9,12 +9,12 @@
                 </div>
                 <div class="contents">
                     <div class="text">
-                        <span class="label">位置 : </span>
-                        <span class="value">{{ topContent.position }}</span>
+                        <span class="text-label">位置 : </span>
+                        <span class="text-value">{{ topContent.position }}</span>
                     </div>
                     <div class="text">
-                        <span class="label">时间 : </span>
-                        <span class="value">{{ topContent.time }}</span>
+                        <span class="text-label">时间 : </span>
+                        <span class="text-value">{{ topContent.time }}</span>
                     </div>
                 </div>
             </div>
@@ -25,12 +25,15 @@
         <div class="content">
             <div class="title-b">采空区密闭参数</div>
             <div class="card-btn">
-                <div :class="activeIndex == index ? 'box-container1' : 'box-container'" v-for="(item, index) in mbList" :key="index"
-                    @click="btnClick(item, index)">
-                    <div class="label">{{ item.label }}</div>
+                <div :class="activeIndex == index ? 'box-container1' : 'box-container'" v-for="(item, index) in mbList"
+                    :key="index" @click="btnClick(item, index)">
+                    <div class="box-label">
+                        <span> {{ item.label }}</span>
+                        <span>{{ item.dw }}</span>
+                    </div>
                     <div class="box-item box-item1">
                         <span class="text-t">{{ `${item.label1}:` }}</span>
-                        <span class="text-v">{{ `${item.nd}%` }}</span>
+                        <span class="text-v">{{ item.nd }}</span>
                     </div>
                     <div class="box-item box-item2">
                         <span class="text-t">{{ `${item.label2}:` }}</span>
@@ -73,55 +76,61 @@ let topContent = reactive({
 let mbList = reactive([
     {
         label: 'O₂',
+        dw: '(%)',
         label1: '浓度',
         label2: '时间',
         label3: '位置',
-        nd: 0,
+        nd: '0',
         time1: '',
         address: '',
     },
     {
         label: 'CO',
+        dw: '(ppm)',
         label1: '浓度',
         label2: '时间',
         label3: '位置',
-        nd: 0,
+        nd: '0',
         time1: '',
         address: '',
     },
     {
         label: 'CO₂',
+        dw: '(%)',
         label1: '浓度',
         label2: '时间',
         label3: '位置',
-        nd: 0,
+        nd: '0',
         time1: '',
         address: '',
     },
     {
         label: 'CH₄',
+        dw: '(%)',
         label1: '浓度',
         label2: '时间',
         label3: '位置',
-        nd: 0,
+        nd: '0',
         time1: '',
         address: '',
     },
     {
         label: 'C₂H₂',
+        dw: '(ppm)',
         label1: '浓度',
         label2: '时间',
         label3: '位置',
-        nd: 0,
+        nd: '0',
         time1: '',
         address: '',
     },
     {
         label: 'C₂H₄',
+        dw: '(ppm)',
         label1: '浓度',
         label2: '时间',
         label3: '位置',
-        nd: 0,
+        nd: '0',
         time1: '',
         address: '',
     },
@@ -234,8 +243,21 @@ watch(() => props.listData, (val) => {
                 }
                 echartDataSgList.push(v)
             })
-
-
+        } else {
+            topContent.temperature = 0
+            topContent.position = '--'
+            topContent.time = '--'
+            topContent.warn = '正常'
+            mbList[0].nd = '--'
+            mbList[1].nd = '--'
+            mbList[2].nd = '--'
+            mbList[3].nd = '--'
+            mbList[4].nd = '--'
+            mbList[5].nd = '--'
+            mbList.forEach(el => {
+                el.time1 = '--'
+                el.address = '--'
+            })
         }
     }
 
@@ -262,8 +284,10 @@ watch(() => props.listData, (val) => {
         background: url('../../../../../assets/images/fire/bj1.png') no-repeat center;
         background-size: 100% 100%;
         align-items: center;
+
         .box-container {
             display: flex;
+
             &:nth-child(1) {
                 justify-content: space-around;
                 align-items: center;
@@ -319,12 +343,12 @@ watch(() => props.listData, (val) => {
                     .text {
                         font-size: 18px;
 
-                        .label {
+                        .text-label {
                             color: #b3b8cc;
                             font-weight: bold;
                         }
 
-                        .value {
+                        .text-value {
                             font-family: 'douyuFont';
                             color: #3df6ff;
                             margin-left: 10px;
@@ -373,12 +397,11 @@ watch(() => props.listData, (val) => {
                 background-size: 100% 100%;
                 cursor: pointer;
 
-                .label {
+                .box-label {
                     position: absolute;
                     left: 50%;
-                    top: 0;
+                    top: 2px;
                     transform: translate(-50%);
-                    font-size: 16px;
                     color: #fff;
                 }
 
@@ -411,7 +434,7 @@ watch(() => props.listData, (val) => {
                     }
                 }
 
-               
+
                 .box-item1 {
                     top: 24%;
                 }
@@ -433,12 +456,11 @@ watch(() => props.listData, (val) => {
                 background-size: 100% 100%;
                 cursor: pointer;
 
-                .label {
+                .box-label {
                     position: absolute;
                     left: 50%;
-                    top: 0;
+                    top: 2px;
                     transform: translate(-50%);
-                    font-size: 16px;
                     color: #fff;
                 }
 

+ 1 - 1
src/views/vent/monitorManager/alarmMonitor/fire/common/echartLine1.vue

@@ -109,7 +109,7 @@ function getOption() {
             yAxis: [
                 {
                     boundaryGap: false,
-                    name: '(%)',
+                    // name: '(%)',
                     type: 'value',
                     max: 50,
                     axisLabel: {

+ 4 - 7
src/views/vent/monitorManager/alarmMonitor/fire/dustPage.vue

@@ -68,9 +68,9 @@ function topAreaClick(index) {
 }
 
 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)
+    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(() => props.listData, (val) => {
@@ -94,14 +94,12 @@ watch(() => props.listData, (val) => {
         echartDataFc.aveValue.data.length = 0
         echartDataFc.xData.length = 0
         if (choiceData[activeIndex.value]) {
-            
             choiceData[activeIndex.value].history.forEach(el => {
                 echartDataFc.maxData.data.push(el.dustval)
                 echartDataFc.minData.data.push(el.ratio)
                 echartDataFc.aveValue.data.push(el.totalDust)
                 echartDataFc.xData.push(el.time)
             })
-
             let max1 = echartDataFc.maxData.data.reduce((acr, cur) => {
                 return acr > cur ? acr : cur
             })
@@ -120,8 +118,6 @@ watch(() => props.listData, (val) => {
             })
             maxY.value = formatRoundNum(max1 * 1.5)
         }
-
-
     }
 }, { deep: true })
 
@@ -176,6 +172,7 @@ watch(() => props.listData, (val) => {
                     height: 50%;
                     background: url('../../../../../assets/images/fire/content-item.png') no-repeat center;
                     background-size: 72% 50%;
+
                     .item-label {
                         position: absolute;
                         left: 21%;

+ 19 - 2
src/views/vent/monitorManager/alarmMonitor/fire/fireWork.vue

@@ -143,12 +143,16 @@ watch(() => props.listData, (val, val1) => {
             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 ? '报警' : '未报警'
+            topList[3].text = val.fiber[0].warnFlag ? '报警' : '正常'
             JSON.parse(val.fiber[0].readData.fibreTemperature).forEach(el => {
                 echartDataGq.xData.push(el.pos)
                 echartDataGq.maxData.data.push(el.value)
             })
-
+        } else {
+            topList[0].value = '--'
+            topList[1].value = '--'
+            topList[2].value = '--'
+            topList[3].text = '正常'
         }
 
         if (val.bundletube.length != 0) {
@@ -182,6 +186,18 @@ watch(() => props.listData, (val, val1) => {
                 }
                 echartDataSgList.push(el)
             })
+        }else {
+            contentList[0].list[0].value = '--'
+            contentList[0].list[1].value = '--'
+            contentList[1].list[0].value = '--'
+            contentList[1].list[1].value = '--'
+            contentList[2].list[0].value = '--'
+            contentList[2].list[1].value ='--'
+            contentList.forEach(el => {
+                el.list.forEach(v => {
+                    v.time = '--'
+                })
+            })
         }
     }
 }, { deep: true })
@@ -388,6 +404,7 @@ watch(() => props.listData, (val, val1) => {
                 display: flex;
                 justify-content: space-between;
                 margin-top: 0px !important;
+
                 .box-item {
                     position: relative;
                     width: 16%;

+ 0 - 1
src/views/vent/monitorManager/alarmMonitor/fire/gasPage.vue

@@ -83,7 +83,6 @@ watch(() => props.listData, (val) => {
         })
 
         val.common.gas.forEach(el => {
-
             cardListWs.push({
                 label: '甲烷',
                 value: el.readData.gasC || '--',

+ 70 - 46
src/views/vent/monitorManager/alarmMonitor/fire/mainWell.vue

@@ -1,7 +1,7 @@
 <template>
     <div class="mainWell">
         <!-- 光钎测温 -->
-        <div class="work-nav" v-if="listData.bundletube.length == 0 && strType!='sys_coalseam'">
+        <div class="work-nav" v-if="listData.bundletube.length == 0 && strType != 'sys_coalseam'">
             <div class="nav" v-for="(item, index) in topOutList" :key="index">
                 <div class="pic" v-if="item.imgSrc">
                     <img :src="imgUrl" alt="" />
@@ -14,7 +14,7 @@
             </div>
         </div>
         <!-- 束管监测 -->
-        <div class="work-nav" v-if="listData.bundletube.length!=0 && strType!='sys_coalseam'">
+        <div class="work-nav" v-if="listData.bundletube.length != 0 && strType != 'sys_coalseam'">
             <div class="content-box">
                 <div class="contents">
                     <img src="../../../../../assets/images/fire/pie.png" alt="" />
@@ -23,12 +23,12 @@
                 </div>
                 <div class="contents">
                     <div class="text">
-                        <span class="label">位置 : </span>
-                        <span class="value">{{ topContent.position }}</span>
+                        <span class="text-label">位置 : </span>
+                        <span class="text-value">{{ topContent.position }}</span>
                     </div>
                     <div class="text">
-                        <span class="label">时间 : </span>
-                        <span class="value">{{ topContent.time }}</span>
+                        <span class="text-label">时间 : </span>
+                        <span class="text-value">{{ topContent.time }}</span>
                     </div>
                 </div>
             </div>
@@ -38,10 +38,10 @@
         </div>
 
 
-        <div class="center-box" v-if="strType!='sys_coalseam'">
+        <div class="center-box" v-if="strType != 'sys_coalseam'">
             <div class="content-box" v-for="(items, index) in tabList" :key="index">
                 <div class="title">
-                    <span class="label">{{ items.label }}</span>
+                    <span class="title-label">{{ items.label }}</span>
                     <span class="details">{{ `${items.details}>>` }}</span>
                 </div>
                 <div class="content">
@@ -61,34 +61,37 @@
             </div>
         </div>
 
-        <div  :class="listData.fiber.length!=0 ? 'center-box1' : 'center-box2'" v-if="strType=='sys_coalseam'">
+        <div :class="listData.fiber.length != 0 ? 'center-box1' : 'center-box2'" v-if="strType == 'sys_coalseam'">
             <div class="content-box" v-for="(items, index) in tabLists" :key="index">
                 <div class="title">
-                    <span class="label">{{ items.label }}</span>
+                    <span class="title-label">{{ items.label }}</span>
                     <span class="details">{{ `${items.details}>>` }}</span>
                 </div>
                 <div class="content">
-                    <a-table v-if="index == 0" ref="table" size="small" :scroll="{ y: listData.fiber.length!=0 ? 160 : 320 }" :columns="columns"
+                    <a-table v-if="index == 0" ref="table" size="small"
+                        :scroll="{ y: listData.fiber.length != 0 ? 160 : 320 }" :columns="columns"
                         :data-source="monitorlistYw" :pagination="false">
                         <span slot="action" slot-scope="text, record"></span>
                     </a-table>
                     <a-table v-if="index == 1" ref="table1" size="small" :columns="columns" :data-source="monitorlistHy"
-                        :pagination="false" :scroll="{ y: listData.fiber.length!=0 ? 160 : 320}">
+                        :pagination="false" :scroll="{ y: listData.fiber.length != 0 ? 160 : 320 }">
                         <span slot="action" slot-scope="text, record"> </span>
                     </a-table>
-                    <a-table v-if="index == 2" ref="table" size="small" :scroll="{ y: listData.fiber.length!=0 ? 160 : 320 }" :columns="columns"
+                    <a-table v-if="index == 2" ref="table" size="small"
+                        :scroll="{ y: listData.fiber.length != 0 ? 160 : 320 }" :columns="columns"
                         :data-source="monitorlistPl" :pagination="false">
                         <span slot="action" slot-scope="text, record"> </span>
                     </a-table>
 
-                    <a-table v-if="index == 3" ref="table" size="small" :scroll="{ y: listData.fiber.length!=0 ? 160 : 320}" :columns="columns"
-                        :data-source="monitorlistWd" :pagination="false">
+                    <a-table v-if="index == 3" ref="table" size="small" :scroll="{ y: listData.fiber.length != 0 ? 160 : 320 }"
+                        :columns="columns" :data-source="monitorlistWd" :pagination="false">
                         <span slot="action" slot-scope="text, record"> </span>
                     </a-table>
                 </div>
             </div>
         </div>
-        <div :class="strType=='sys_coalseam' ? 'footer-box1' : 'footer-box'" v-if="listData.bundletube.length == 0 && listData.fiber.length!=0">
+        <div :class="strType == 'sys_coalseam' ? 'footer-box1' : 'footer-box'"
+            v-if="listData.bundletube.length == 0 || strType == 'sys_coalseam' && listData.fiber.length != 0">
             <div class="footer-title">
                 <div class="echart-label">光钎测温系统实时温度监测</div>
             </div>
@@ -98,15 +101,18 @@
         </div>
 
         <!-- 束管监测 -->
-        <div class="content-s" v-if="listData.bundletube.length!=0 && strType!='sys_coalseam'">
+        <div class="content-s" v-if="listData.bundletube.length != 0 && strType != 'sys_coalseam'">
             <div class="title-b">采空区密闭参数</div>
             <div class="card-btn">
-                <div :class="activeIndex == index ? 'content-box1' : 'content-box'" v-for="(item, index) in mbList" :key="index"
-                    @click="btnClick(item, index)">
-                    <div class="label">{{ item.label }}</div>
+                <div :class="activeIndex == index ? 'content-box1' : 'content-box'" v-for="(item, index) in mbList"
+                    :key="index" @click="btnClick(item, index)">
+                    <div class="btn-label">
+                        <span>{{ item.label }}</span>
+                        <span>{{ item.dw }}</span>
+                    </div>
                     <div class="box-item box-item1">
                         <span class="text-t">{{ `${item.label1}:` }}</span>
-                        <span class="text-v">{{ `${item.nd}%` }}</span>
+                        <span class="text-v">{{ item.nd }}</span>
                     </div>
                     <div class="box-item box-item2">
                         <span class="text-t">{{ `${item.label2}:` }}</span>
@@ -132,20 +138,20 @@
 
 <script lang="ts" setup>
 import { ref, computed, reactive, watch, defineProps } from 'vue';
-import { topOutList, tabList,tabLists, columns, } from '../fire.data'
+import { topOutList, tabList, tabLists, columns, } 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,
-    strType:String
+    strType: String
 });
 
 
 //束管监测-顶部区域数据
 let topContent = reactive({
-    temperature: 0,
+    temperature: '0',
     position: '',
     time: '',
     warn: '',
@@ -158,6 +164,7 @@ let type = ref('O₂')
 let mbList = reactive([
     {
         label: 'O₂',
+        dw: '(%)',
         label1: '浓度',
         label2: '时间',
         label3: '位置',
@@ -167,6 +174,7 @@ let mbList = reactive([
     },
     {
         label: 'CO',
+        dw: '(ppm)',
         label1: '浓度',
         label2: '时间',
         label3: '位置',
@@ -176,6 +184,7 @@ let mbList = reactive([
     },
     {
         label: 'CO₂',
+        dw: '(%)',
         label1: '浓度',
         label2: '时间',
         label3: '位置',
@@ -185,6 +194,7 @@ let mbList = reactive([
     },
     {
         label: 'CH₄',
+        dw: '(%)',
         label1: '浓度',
         label2: '时间',
         label3: '位置',
@@ -194,6 +204,7 @@ let mbList = reactive([
     },
     {
         label: 'C₂H₂',
+        dw: '(ppm)',
         label1: '浓度',
         label2: '时间',
         label3: '位置',
@@ -203,6 +214,7 @@ let mbList = reactive([
     },
     {
         label: 'C₂H₄',
+        dw: '(ppm)',
         label1: '浓度',
         label2: '时间',
         label3: '位置',
@@ -239,7 +251,7 @@ let monitorlistHy = reactive([])
 let monitorlistPl = reactive([])
 
 //温度传感器列表数据
-let monitorlistWd=reactive([])
+let monitorlistWd = reactive([])
 
 //束管监测密闭参数选项切换
 function btnClick(item, ind) {
@@ -308,7 +320,7 @@ watch(() => props.listData, (val) => {
         monitorlistYw.length = 0
         monitorlistHy.length = 0
         monitorlistPl.length = 0
-        monitorlistWd.length=0
+        monitorlistWd.length = 0
         if (val.fiber.length != 0) {
             topOutList[0].value = val.fiber[0].readData.fmax
             topOutList[1].value = val.fiber[0].readData.fmin
@@ -318,6 +330,11 @@ watch(() => props.listData, (val) => {
                 echartDataWd.xData.push(el.pos)
                 echartDataWd.maxData.data.push(el.value)
             })
+        } else {
+            topOutList[0].value = '--'
+            topOutList[1].value = '--'
+            topOutList[2].value = '--'
+            topOutList[3].text = '正常'
         }
 
         if (val.bundletube.length != 0) {
@@ -342,6 +359,11 @@ watch(() => props.listData, (val) => {
                 }
                 echartDataSgList.push(v)
             })
+        } else {
+            topContent.temperature = '--'
+            topContent.position = '--'
+            topContent.time = '--'
+            topContent.warn = '正常'
         }
 
         if (val.smoke.length != 0) {
@@ -363,8 +385,8 @@ watch(() => props.listData, (val) => {
             })
         }
 
-        if(val.temperature.length!=0){
-            val.temperature.forEach(el=>{
+        if (val.temperature.length != 0) {
+            val.temperature.forEach(el => {
                 monitorlistWd.push(el)
             })
         }
@@ -488,7 +510,7 @@ watch(() => props.listData, (val) => {
 
 
 
-       
+
         .content-box {
             display: flex;
 
@@ -547,12 +569,12 @@ watch(() => props.listData, (val) => {
                     .text {
                         font-size: 18px;
 
-                        .label {
+                        .text-label {
                             color: #b3b8cc;
                             font-weight: bold;
                         }
 
-                        .value {
+                        .text-value {
                             font-family: 'douyuFont';
                             color: #3df6ff;
                             margin-left: 10px;
@@ -599,7 +621,7 @@ watch(() => props.listData, (val) => {
                 justify-content: space-between;
                 align-items: center;
 
-                .label {
+                .title-label {
                     // font-family: 'douyuFont';
                     font-size: 16px;
                     color: #fff;
@@ -630,15 +652,16 @@ watch(() => props.listData, (val) => {
             display: flex;
             flex-direction: column;
             width: calc(50% - 10px);
-            height:calc(50% - 10px);
+            height: calc(50% - 10px);
             background: url('../../../../../assets/images/fire/bj1.png') no-repeat center;
             background-size: 100% 100%;
 
             &:nth-child(1) {
-                margin:0px 20px 20px 0px;
+                margin: 0px 20px 20px 0px;
             }
+
             &:nth-child(3) {
-                margin:0px 20px 0px 0px;
+                margin: 0px 20px 0px 0px;
             }
 
             .title {
@@ -652,7 +675,7 @@ watch(() => props.listData, (val) => {
                 justify-content: space-between;
                 align-items: center;
 
-                .label {
+                .title-label {
                     font-size: 16px;
                     color: #fff;
                 }
@@ -681,15 +704,16 @@ watch(() => props.listData, (val) => {
             display: flex;
             flex-direction: column;
             width: calc(50% - 10px);
-            height:calc(50% - 10px);
+            height: calc(50% - 10px);
             background: url('../../../../../assets/images/fire/bj1.png') no-repeat center;
             background-size: 100% 100%;
 
             &:nth-child(1) {
-                margin:0px 20px 20px 0px;
+                margin: 0px 20px 20px 0px;
             }
+
             &:nth-child(3) {
-                margin:0px 20px 0px 0px;
+                margin: 0px 20px 0px 0px;
             }
 
             .title {
@@ -703,7 +727,7 @@ watch(() => props.listData, (val) => {
                 justify-content: space-between;
                 align-items: center;
 
-                .label {
+                .title-label {
                     font-size: 16px;
                     color: #fff;
                 }
@@ -767,13 +791,14 @@ watch(() => props.listData, (val) => {
         }
     }
 
-    .content-s{
+    .content-s {
         width: 100%;
         height: 608px;
         padding: 15px 20px 0px 20px;
         background: url('../../../../../assets/images/fire/bj1.png') no-repeat center;
         background-size: 100% 100%;
         box-sizing: border-box;
+
         .title-b {
             height: 30px;
             line-height: 30px;
@@ -796,7 +821,7 @@ watch(() => props.listData, (val) => {
                 background-size: 100% 100%;
                 cursor: pointer;
 
-                .label {
+                .btn-label {
                     position: absolute;
                     left: 50%;
                     top: 0;
@@ -834,7 +859,7 @@ watch(() => props.listData, (val) => {
                     }
                 }
 
-               
+
                 .box-item1 {
                     top: 24%;
                 }
@@ -856,7 +881,7 @@ watch(() => props.listData, (val) => {
                 background-size: 100% 100%;
                 cursor: pointer;
 
-                .label {
+                .btn-label {
                     position: absolute;
                     left: 50%;
                     top: 0;
@@ -932,5 +957,4 @@ watch(() => props.listData, (val) => {
             }
         }
     }
-}
-</style>
+}</style>

+ 9 - 7
src/views/vent/monitorManager/alarmMonitor/fire/ventilate.vue

@@ -114,18 +114,20 @@ watch(
             { ids: 2, label: '报警描述', value: '--' },
           ],
         });
-
       }
 
       centerAreaListB1[0].content = val.common.jin || '--';
       centerAreaListB1[1].content = val.common.hui || '--';
       centerAreaListB1[2].content = val.common.xufengliang || '--';
 
-      val.common.history.forEach((v) => {
-        echartDataFc1.maxData.data.push(parseFloat(v.jin));
-        echartDataFc1.minData.data.push(parseFloat(v.hui));
-        echartDataFc1.xData.push(v.time);
-      });
+      if (val.common.history.length != 0) {
+        val.common.history.forEach((v) => {
+          echartDataFc1.maxData.data.push(parseFloat(v.jin));
+          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
       })
@@ -151,7 +153,7 @@ watch(
     display: flex;
     justify-content: space-between;
     margin-bottom: 10px;
- 
+
 
     .top-box {
       position: relative;

+ 1 - 1
src/views/vent/monitorManager/windrectMonitor/windrect.threejs.ts

@@ -6,7 +6,7 @@ import zdWindRect from './zhedie.threejs';
 import dsWindRect from './duishe.threejs';
 import ddWindRect from './dantou.threejs';
 import lmWindRectSide from './longmenSide.threejs';
-import fixedWindRect from './duisheFixed.threejs';
+// import fixedWindRect from './duisheFixed.threejs';
 import useEvent from '../../../../utils/threejs/useEvent';
 import gsap from 'gsap';
 // import * as dat from 'dat.gui';