Browse Source

外因火灾提交

lxh 1 year ago
parent
commit
3260f68154

+ 11 - 3
src/views/vent/monitorManager/alarmMonitor/DetailModalFire.vue

@@ -20,7 +20,7 @@
         </div>
         <div class="alarm-content">
 
-          <component :is="componentName[current]" :listData="listData" />
+          <component :is="componentName[current]" :listData="listData" :strType="strType" />
         </div>
       </div>
     </div>
@@ -60,6 +60,8 @@ let activeIndex1 = ref(0);
 //当前加载组件
 let current = ref('');
 
+let strType=ref('')//火灾外因-区别工作面和煤层
+
 
 const emit = defineEmits(['close', 'register']);
 
@@ -85,6 +87,7 @@ function btnClick(ind) {
           warn: '低风险',
           type: 'on',
           deviceID: el.id,
+          strtype:el.strtype,
         }
       })
       clearInterval(timer)
@@ -98,18 +101,21 @@ function btnClick(ind) {
           warn: '低风险',
           type: 'out',
           deviceID: el.id,
+          strtype:el.strtype,
         }
       })
       // menuList.length=0
       clearInterval(timer)
       // current.value = ''
       getSysWarnList(menuList[0].deviceID, 'fire');
+      strType.value=menuList[0].strtype
       break;
   }
 }
 //菜单选项切换
 function cardClick(ind, item) {
   activeIndex1.value = ind;
+  strType.value=item.strtype
   if (props.moduleName == 'fire') {
     clearInterval(timer)
     getSysWarnList(item.deviceID, 'fire');
@@ -150,6 +156,7 @@ function getSysTypeWarnList(data) {
           warn: el.netStatus ? '高风险' : '低风险',
           type: 'on',
           deviceID: el.deviceID,
+          strtype:el.deviceType
         });
       });
       clearInterval(timer)
@@ -163,6 +170,7 @@ function getSysTypeWarnList(data) {
           warn: '低风险',
           type: 'on',
           deviceID: el.id,
+          strtype:el.strtype
         });
       })
       clearInterval(timer)
@@ -174,6 +182,7 @@ function getSysTypeWarnList(data) {
           warn: '低风险',
           type: 'on',
           deviceID: el.id,
+          strtype:el.strtype
         });
       });
       clearInterval(timer)
@@ -185,6 +194,7 @@ function getSysTypeWarnList(data) {
           warn: '低风险',
           type: 'on',
           deviceID: el.id,
+          strtype:el.strtype
         });
       });
       clearInterval(timer)
@@ -203,10 +213,8 @@ function getSysWarnList(id, type) {
           listData.smoke = res.smoke,
           listData.spray = res.spray,
           listData.temperature = res.temperature,
-          console.log(listData, '火灾详情弹窗右侧数据');
         loadZj()
       } else if (type == 'vent' || type == 'dust' || type == 'gas') {
-        console.log(res, '详情')
         listData.common = res
       }
 

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

@@ -186,11 +186,17 @@ export const tabList = [
   { id: 1, label: '火焰传感器监测', details: '设备类型名称' },
   { id: 2, label: '自动喷淋灭火装置监测', details: '设备类型名称' },
 ];
+export const tabLists = [
+  { id: 0, label: '烟雾传感器监测', details: '设备类型名称' },
+  { id: 1, label: '火焰传感器监测', details: '设备类型名称' },
+  { id: 2, label: '自动喷淋灭火装置监测', details: '设备类型名称' },
+  { id: 2, label: '温度传感器监测', details: '设备类型名称' },
+];
 
 //外因火灾-传感器table列
 export const columns = [
   { rowIndex: 1, dataIndex: 'strinstallpos', title: '名称', type: '1', align: 'center' },
-  { rowIndex: 2, dataIndex: 'warnFlag', title: '状态', type: '1', align: 'center' },
+  { rowIndex: 2, dataIndex: 'warnLevel_str', title: '状态', type: '1', align: 'center' },
   { rowIndex: 3, dataIndex: 'readTime', title: '时间', type: '1', align: 'center' },
 ];
 //井下消防材料库列表

+ 170 - 26
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">
+        <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-else>
+        <div class="work-nav" v-if="listData.bundletube.length!=0 && strType!='sys_coalseam'">
             <div class="box">
                 <div class="contents">
                     <img src="../../../../../assets/images/fire/pie.png" alt="" />
@@ -38,7 +38,7 @@
         </div>
 
 
-        <div class="center-box">
+        <div class="center-box" v-if="strType!='sys_coalseam'">
             <div class="box" v-for="(items, index) in tabList" :key="index">
                 <div class="title">
                     <span class="label">{{ items.label }}</span>
@@ -60,16 +60,37 @@
                 </div>
             </div>
         </div>
-        <div class="footer-box" v-if="listData.bundletube.length == 0">
+
+        <div  :class="listData.fiber.length!=0 ? 'center-box1' : 'center-box2'" v-if="strType=='sys_coalseam'">
+            <div class="box" v-for="(items, index) in tabLists" :key="index">
+                <div class="title">
+                    <span class="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"
+                        :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}">
+                        <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"
+                        :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">
+                        <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="footer-title">
                 <div class="echart-label">光钎测温系统实时温度监测</div>
-                <!-- <a-select style="width: 240px; margin-left: 10px" v-model="pointCode" allowClear class="code-mode-select"
-                    placeholder="请选择" @change="handleChange">
-                    <a-select-option v-for="device in pointOutList" :key="device.value" :value="device.value">{{
-                        device.label
-                    }}
-                    </a-select-option>
-                </a-select> -->
             </div>
             <div class="echart-content">
                 <echartLine2 :echartDataWd="echartDataWd"></echartLine2>
@@ -77,7 +98,7 @@
         </div>
 
         <!-- 束管监测 -->
-        <div class="content-s" v-else>
+        <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 ? 'box1' : 'box'" v-for="(item, index) in mbList" :key="index"
@@ -111,13 +132,14 @@
 
 <script lang="ts" setup>
 import { ref, computed, reactive, watch, defineProps } from 'vue';
-import { topOutList, tabList, 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
 });
 
 
@@ -216,11 +238,8 @@ let monitorlistHy = reactive([])
 //喷淋装置列表数据
 let monitorlistPl = reactive([])
 
-
-//温度监测-测点编码
-// let pointCode = ref('')
-
-
+//温度传感器列表数据
+let monitorlistWd=reactive([])
 
 //束管监测密闭参数选项切换
 function btnClick(item, ind) {
@@ -277,11 +296,6 @@ function btnClick(item, ind) {
 }
 
 
-//温度监测测点编号选项切换
-// function handleChange(val) {
-//     pointCode.value = val
-// }
-
 watch(() => props.listData, (val) => {
     console.log(val, 'val---------------')
     props.listData = val
@@ -294,6 +308,7 @@ watch(() => props.listData, (val) => {
         monitorlistYw.length = 0
         monitorlistHy.length = 0
         monitorlistPl.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
@@ -331,7 +346,6 @@ watch(() => props.listData, (val) => {
 
         if (val.smoke.length != 0) {
             val.smoke.forEach(el => {
-                el.warnFlag = el.warnFlag ? '存在风险' : '正常'
                 monitorlistYw.push(el)
             })
         }
@@ -339,18 +353,22 @@ watch(() => props.listData, (val) => {
 
         if (val.fire.length != 0) {
             val.fire.forEach(el => {
-                el.warnFlag = el.warnFlag ? '存在风险' : '正常'
                 monitorlistHy.push(el)
             })
         }
 
         if (val.spray.length != 0) {
             val.spray.forEach(el => {
-                el.warnFlag = el.warnFlag ? '存在风险' : '正常'
                 monitorlistPl.push(el)
             })
         }
 
+        if(val.temperature.length!=0){
+            val.temperature.forEach(el=>{
+                monitorlistWd.push(el)
+            })
+        }
+
     }
 
 }, { immediate: true, deep: true })
@@ -600,6 +618,109 @@ watch(() => props.listData, (val) => {
         }
     }
 
+    .center-box1 {
+        height: 70%;
+        margin-bottom: 20px;
+        display: flex;
+        justify-content: flex-start;
+        align-items: flex-start;
+        flex-wrap: wrap;
+
+        .box {
+            display: flex;
+            flex-direction: column;
+            width: 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;
+            }
+            &:nth-child(3) {
+                margin:0px 20px 0px 0px;
+            }
+
+            .title {
+                width: 100%;
+                height: 40px;
+                padding: 0px 15px;
+                margin-bottom: 10px;
+                border-bottom: 1px solid #0c3c88;
+                box-sizing: border-box;
+                display: flex;
+                justify-content: space-between;
+                align-items: center;
+
+                .label {
+                    font-size: 16px;
+                    color: #fff;
+                }
+
+                .details {
+                    font-size: 14px;
+                    color: #1f81df;
+                }
+            }
+
+            .content {
+                height: calc(100% - 40px);
+                margin-bottom: 10px;
+            }
+        }
+    }
+
+    .center-box2 {
+        height: 100%;
+        display: flex;
+        justify-content: flex-start;
+        align-items: flex-start;
+        flex-wrap: wrap;
+
+        .box {
+            display: flex;
+            flex-direction: column;
+            width: 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;
+            }
+            &:nth-child(3) {
+                margin:0px 20px 0px 0px;
+            }
+
+            .title {
+                width: 100%;
+                height: 40px;
+                padding: 0px 15px;
+                margin-bottom: 10px;
+                border-bottom: 1px solid #0c3c88;
+                box-sizing: border-box;
+                display: flex;
+                justify-content: space-between;
+                align-items: center;
+
+                .label {
+                    font-size: 16px;
+                    color: #fff;
+                }
+
+                .details {
+                    font-size: 14px;
+                    color: #1f81df;
+                }
+            }
+
+            .content {
+                height: calc(100% - 40px);
+                margin-bottom: 10px;
+            }
+        }
+    }
+
     .footer-box {
         height: calc(38% - 40px);
         background: url('../../../../../assets/images/fire/bj1.png') no-repeat center;
@@ -623,6 +744,29 @@ watch(() => props.listData, (val) => {
         }
     }
 
+    .footer-box1 {
+        height: calc(30% - 20px);
+        background: url('../../../../../assets/images/fire/bj1.png') no-repeat center;
+        background-size: 100% 100%;
+
+        .footer-title {
+            height: 30px;
+            padding: 0px 15px;
+            display: flex;
+            justify-content: space-between;
+            align-items: center;
+
+            .echart-label {
+                font-size: 16px;
+                color: #fff;
+            }
+        }
+
+        .echart-content {
+            height: calc(100% - 30px);
+        }
+    }
+
     .content-s{
         width: 100%;
         height: 608px;

+ 1 - 3
src/views/vent/monitorManager/alarmMonitor/index.vue

@@ -432,8 +432,7 @@ async function getList() {
   fireMonitor[4].level = res.info.sysInfo.fireS.summaryInfo.external.co2val ? res.info.sysInfo.fireS.summaryInfo.external.co2val.maxlevel : '';
   fireMonitor[5].value = res.info.sysInfo.fireS.summaryInfo.external.o2val ? res.info.sysInfo.fireS.summaryInfo.external.o2val.value : '';
   fireMonitor[5].level = res.info.sysInfo.fireS.summaryInfo.external.o2val ? res.info.sysInfo.fireS.summaryInfo.external.o2val.maxlevel : '';
-  console.log(fireMonitor, 'fireMonitor---------------')
-
+  
   fireMonitor1[0].value = res.info.sysInfo.fireS.summaryInfo.internal.coval ? res.info.sysInfo.fireS.summaryInfo.internal.coval.value : '';
   fireMonitor1[0].level = res.info.sysInfo.fireS.summaryInfo.internal.coval ? res.info.sysInfo.fireS.summaryInfo.internal.coval.maxlevel : '';
   fireMonitor1[1].value = res.info.sysInfo.fireS.summaryInfo.internal.chval ? res.info.sysInfo.fireS.summaryInfo.internal.chval.value : '';
@@ -444,7 +443,6 @@ async function getList() {
   fireMonitor1[3].level =  res.info.sysInfo.fireS.summaryInfo.internal.co2val ? res.info.sysInfo.fireS.summaryInfo.internal.co2val.maxlevel : '';
   fireMonitor1[4].value = res.info.sysInfo.fireS.summaryInfo.internal.o2val ? res.info.sysInfo.fireS.summaryInfo.internal.o2val.value : '';
   fireMonitor1[4].level =res.info.sysInfo.fireS.summaryInfo.internal.o2val ? res.info.sysInfo.fireS.summaryInfo.internal.o2val.maxlevel : '';
-  console.log(fireMonitor1, 'fireMonitor1------')
   gasMonitor.length = 0
   gasData.sums = 0
   gasData.sums1 = 0