Explorar el Código

预警管控,光钎测温详情-提交

lxh hace 11 meses
padre
commit
541be0d0e7

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

@@ -177,7 +177,7 @@ export const topOutList = [
   //外因火灾-中间区域标题数据
 export const tabList = [
     { id: 0, label: '烟雾传感器监测', details: '设备类型名称' },
-    { id: 1, label: '火焰传感器监测', details: '设备类型名称' },
+    { id: 1, label: '一氧化碳传感器监测', details: '设备类型名称' },
     { id: 2, label: '自动喷淋灭火装置监测', details: '设备类型名称' },
   ];
   export const tabLists = [

+ 26 - 26
src/views/vent/monitorManager/alarmMonitor/index.vue

@@ -4,7 +4,7 @@
     <div class="lr left-box">
       <ventBox1>
         <template #title>
-          <div class="monitor-title" @click="showModal('vent')">通风预警监测</div>
+          <div class="monitor-title" @click="showModal('vent')">通风监测预警</div>
         </template>
         <template #container>
           <!-- <div ref="alarmCounts" style="height: 160px" id="alarmCounts"></div> -->
@@ -56,7 +56,7 @@
       </ventBox1>
       <ventBox1 class="vent-margin-t-10">
         <template #title>
-          <div class="monitor-title" @click="showModal('sbyj')">设备预警监测</div>
+          <div class="monitor-title" @click="showModal('sbyj')">设备监测预警</div>
         </template>
         <template #container>
           <div class="icons-box" @mouseleave="resetScroll">
@@ -157,7 +157,7 @@
               <div class="icon"></div>
             </div>
             <div class="item-monitor-box">
-              <span class="title">火灾预警监测</span>
+              <span class="title">火灾监测预警</span>
               <span :class="centerData.fire ? 'value' : 'value1'">{{ centerData.fire == '正常' ? '低风险' : centerData.fire
                 }}</span>
             </div>
@@ -167,7 +167,7 @@
               <div class="icon"></div>
             </div>
             <div class="item-monitor-box">
-              <span class="title">设备预警监测</span>
+              <span class="title">设备监测预警</span>
               <span :class="centerData.sb ? 'value' : 'value1'">{{ centerData.sb == '正常' ? '低风险' : centerData.sb
                 }}</span>
             </div>
@@ -177,7 +177,7 @@
               <div class="icon"></div>
             </div>
             <div class="item-monitor-box">
-              <span class="title">粉尘预警监测</span>
+              <span class="title">粉尘监测预警</span>
               <span :class="centerData.fc ? 'value' : 'value1'">{{ centerData.fc == '正常' ? '低风险' : centerData.fc
                 }}</span>
             </div>
@@ -187,7 +187,7 @@
               <div class="icon"></div>
             </div>
             <div class="item-monitor-box">
-              <span class="title">瓦斯预警监测</span>
+              <span class="title">瓦斯监测预警</span>
               <span :class="centerData.ws ? 'value' : 'value1'">{{ centerData.ws == '正常' ? '低风险' : centerData.ws
                 }}</span>
               <div class="">
@@ -201,7 +201,7 @@
               <div class="icon"></div>
             </div>
             <div class="item-monitor-box">
-              <span class="title">通风预警监测</span>
+              <span class="title">通风监测预警</span>
               <span :class="centerData.tf ? 'value' : 'value1'">{{ centerData.tf == '正常' ? '低风险' : centerData.tf
                 }}</span>
             </div>
@@ -209,7 +209,7 @@
         </div>
       </div>
       <div class="fire-monitor">
-        <div class="monitor-title top" @click="showModal('fire')">火灾预警监测</div>
+        <div class="monitor-title top" @click="showModal('fire')">火灾监测预警</div>
         <div class="container">
           <div class="item item1">
             <div class="icon"></div>
@@ -252,7 +252,7 @@
     <div class="lr right-box">
       <ventBox1>
         <template #title>
-          <div class="monitor-title" @click="showModal('gas')">瓦斯预警监测</div>
+          <div class="monitor-title" @click="showModal('gas')">瓦斯监测预警</div>
         </template>
         <template #container>
           <div class="gas-box">
@@ -285,7 +285,7 @@
       </ventBox1>
       <ventBox1 class="vent-margin-t-10">
         <template #title>
-          <div class="monitor-title" @click="showModal('dust')">粉尘预警监测</div>
+          <div class="monitor-title" @click="showModal('dust')">粉尘监测预警</div>
         </template>
         <template #container>
           <!-- <div class="dust-monitor">
@@ -354,19 +354,19 @@ let gasData = {
 function showModal(data) {
   switch (data) {
     case 'vent':
-      router.push('/ventilate/warn')
+      router.push('/ventilate/warn/home')
       break;
     case 'fire':
-      router.push('/fire/warn')
+      router.push('/fire/warn/home')
       break;
     case 'dust':
-      router.push('/dust/warn')
+      router.push('/dust/warn/home')
       break;
     case 'gas':
-      router.push('/gas/warn')
+      router.push('/gas/warn/home')
       break;
     case 'sbyj':
-      router.push('/device/warn')
+      router.push('/device/warn/home')
       break;
   }
 }
@@ -375,17 +375,17 @@ function showModal(data) {
 // https获取监测数据
 let timer: null | NodeJS.Timeout = null;
 function getMonitor(flag = false) {
-    timer = setTimeout(
-      async () => {
-        // await getDataSource();
-        await getList();
-        if (timer) {
-          timer = null;
-        }
-        getMonitor();
-      },
-      flag ? 0 : 10000
-    );
+  timer = setTimeout(
+    async () => {
+      // await getDataSource();
+      await getList();
+      if (timer) {
+        timer = null;
+      }
+      getMonitor();
+    },
+    flag ? 0 : 10000
+  );
 }
 
 // 获取预警数据

+ 234 - 206
src/views/vent/monitorManager/alarmMonitor/warn/deviceWarn.vue

@@ -1,213 +1,241 @@
 <template>
-      <div class="alarm-modal">
-        <a-tabs class="tabs-box" type="card" v-model:activeKey="activeKey" @change="tabChange">
-          <a-tab-pane key="1" tab="实时预警">
-            <div v-if="activeKey == '1'" class="box-bg table-box" style="margin-bottom: 10px">
-              <MonitorTable
-                ref="SensorMonitorRef"
-                :columns="levelColumns"
-                :dataSource="dataSource"
-                design-scope="alarm"
-                :isShowSelect="false"
-                title="预警监测"
-              >
-                <template #filterCell="{ column, record }">
-                  <a-tag v-if="column.dataIndex === 'warnFlag'" :color="record.warnFlag == 0 ? 'green' : 'red'">{{
-                    record.warnFlag == 0 ? '正常' : '报警'
-                  }}</a-tag>
-                  <a-tag v-if="column.dataIndex === 'netStatus'" :color="record.netStatus == '0' ? '#f00' : 'green'">{{
-                    record.netStatus == '0' ? '断开' : '连接'
-                  }}</a-tag>
-                </template>
-              </MonitorTable>
-            </div>
-          </a-tab-pane>
-          <a-tab-pane key="2" tab="报警历史">
-            <div class="tab-item box-bg">
-              <AlarmHistoryTable v-if="activeKey == '2'" :columns="levelHisColumns" designScope="alarm-history" />
-            </div>
-          </a-tab-pane>
-        </a-tabs>
-      </div>
-   
-  </template>
-  <script lang="ts" setup>
-    import { onMounted, ref, defineEmits, reactive, onUnmounted, watch } from 'vue';
-    import MonitorTable from '../../comment/MonitorTable.vue';
-    import AlarmHistoryTable from '../AlarmHistoryTable.vue';
-    import { warningList } from '../alarm.api';
-    import { levelColumns, levelHisColumns } from '../alarm.data';
-  
-    // const props = defineProps({
-    //   deviceId: { type: String },
-    // });
-  
-  
-    // 默认初始是第一行
-    const activeKey = ref('1');
-    const dataSource = ref([]);
-  
-    const tabChange = (activeKeyVal) => {
-      activeKey.value = activeKeyVal;
-    };
-  
-  
-    // https获取监测数据
-    let timer: null | NodeJS.Timeout = null;
-    function getMonitor(flag = false) {
-      if (Object.prototype.toString.call(timer) === '[object Null]') {
-        timer = setTimeout(
-          async () => {
-            await getDataSource();
-            if (timer) {
-              timer = null;
-            }
-            getMonitor();
-          },
-          flag ? 0 : 10000
-        );
-      }
+  <customHeader :options="options" @change="getSelectRow" :optionValue="optionValue"> 设备监测预警 </customHeader>
+  <div class="alarm-modal">
+    <a-button preIcon="ant-design:rollback-outlined" type="text" size="small"
+      style="position: absolute;left:15px;top:15px;color: #fff;" @click="getBack">返回</a-button>
+    <a-tabs class="tabs-box" type="card" v-model:activeKey="activeKey" @change="tabChange">
+      <a-tab-pane key="1" tab="实时预警">
+        <div v-if="activeKey == '1'" class="box-bg table-box" style="margin-bottom: 10px">
+          <MonitorTable ref="SensorMonitorRef" :columns="levelColumns" :dataSource="dataSource" design-scope="alarm"
+            :isShowSelect="false" title="预警监测">
+            <template #filterCell="{ column, record }">
+              <a-tag v-if="column.dataIndex === 'warnFlag'" :color="record.warnFlag == 0 ? 'green' : 'red'">{{
+                record.warnFlag == 0 ? '正常' : '报警'
+              }}</a-tag>
+              <a-tag v-if="column.dataIndex === 'netStatus'" :color="record.netStatus == '0' ? '#f00' : 'green'">{{
+                record.netStatus == '0' ? '断开' : '连接'
+              }}</a-tag>
+            </template>
+          </MonitorTable>
+        </div>
+      </a-tab-pane>
+      <a-tab-pane key="2" tab="报警历史">
+        <div class="tab-item box-bg">
+          <AlarmHistoryTable v-if="activeKey == '2'" :columns="levelHisColumns" designScope="alarm-history" />
+        </div>
+      </a-tab-pane>
+    </a-tabs>
+  </div>
+
+</template>
+<script lang="ts" setup>
+import { onMounted, ref, defineEmits, reactive, onUnmounted, watch } from 'vue';
+import MonitorTable from '../../comment/MonitorTable.vue';
+import AlarmHistoryTable from '../AlarmHistoryTable.vue';
+import CustomHeader from '/@/components/vent/customHeader.vue';
+import { warningList } from '../alarm.api';
+import { levelColumns, levelHisColumns } from '../alarm.data';
+import { useSystemSelect } from '/@/hooks/vent/useSystemSelect';
+import { useRouter } from 'vue-router';
+
+// const props = defineProps({
+//   deviceId: { type: String },
+// });
+
+const { options, optionValue, getSelectRow, getSysDataSource } = useSystemSelect('sys_surface_caimei'); // 参数为场景类型(设备类型管理中可以查询到)
+// 默认初始是第一行
+const activeKey = ref('1');
+const dataSource = ref([]);
+
+const tabChange = (activeKeyVal) => {
+  activeKey.value = activeKeyVal;
+};
+let router = useRouter()
+
+// https获取监测数据
+let timer: null | NodeJS.Timeout = null;
+function getMonitor(flag = false) {
+  if (Object.prototype.toString.call(timer) === '[object Null]') {
+    timer = setTimeout(
+      async () => {
+        await getDataSource();
+        if (timer) {
+          timer = null;
+        }
+        getMonitor();
+      },
+      flag ? 0 : 10000
+    );
+  }
+}
+
+//返回首页
+function getBack() {
+  router.push('/monitorChannel/monitor-alarm-home')
+}
+
+//设备预警监测列表
+async function getDataSource() {
+  const res = await warningList({ isok: 0 });
+  dataSource.value = res.list || [];
+}
+
+onMounted(async () => {
+  getMonitor(true);
+});
+onUnmounted(() => {
+  if (timer) {
+    clearTimeout(timer);
+    timer = undefined;
+  }
+});
+</script>
+<style scoped lang="less">
+@import '/@/design/vent/color.less';
+@import '/@/design/vent/modal.less';
+
+.padding-0 {
+  padding: 10px 0 !important;
+}
+
+.alarm-modal {
+  position: relative;
+  padding: 80px 10px 15px 10px;
+  box-sizing: border-box;
+  z-index: 999;
+  max-height: calc(100vh - 150px);
+
+  .@{ventSpace}-tabs {
+    max-height: calc(100vh - 100px);
+
+    .tab-item {
+      height: calc(90vh - 152px);
+      // max-height: calc(100vh - 170px);
+      overflow-y: auto;
     }
-    //设备预警监测列表
-    async function getDataSource() {
-      const res = await warningList({ isok: 0 });
-      dataSource.value = res.list || [];
+  }
+
+  .title-text {
+    position: absolute;
+    top: -14px;
+    left: 0;
+    width: 100%;
+    text-align: center;
+    color: #fff;
+  }
+
+  .table-box {
+    height: calc(90vh - 152px);
+    padding: 20px 10px;
+    overflow-y: auto;
+  }
+
+  .box-bg {
+    border: 1px solid #4d7ad855;
+    border-radius: 2px;
+    // background-color: #001d3055;
+    // -webkit-backdrop-filter: blur(8px);
+    // backdrop-filter: blur(8px);
+    box-shadow: 0 0 10px #5984e055 inset;
+    // background-color: #00b3ff12;
+  }
+
+  .charts-box {
+    height: calc(40vh - 80px);
+    padding: 5px 10px;
+    margin-top: 10px;
+  }
+}
+
+:deep(.@{ventSpace}-tabs-tabpane-active) {
+  height: 100%;
+}
+
+:deep(.@{ventSpace}-tabs-card) {
+  .@{ventSpace}-tabs-tab {
+    background: linear-gradient(#2cd1ff55, #1eb0ff55);
+    border-color: #74e9fe;
+    border-radius: 0%;
+
+    &:hover {
+      color: #64d5ff;
     }
-  
-    onMounted(async () => {
-      getMonitor(true);
-    });
-    onUnmounted(() => {
-      if (timer) {
-        clearTimeout(timer);
-        timer = undefined;
-      }
-    });
-  </script>
-  <style scoped lang="less">
-    @import '/@/design/vent/color.less';
-    @import '/@/design/vent/modal.less';
-    .padding-0 {
-      padding: 10px 0 !important;
+  }
+
+  .@{ventSpace}-tabs-tab.@{ventSpace}-tabs-tab-active .@{ventSpace}-tabs-tab-btn {
+    color: aqua;
+  }
+
+  .@{ventSpace}-tabs-nav::before {
+    border-color: #74e9fe;
+  }
+
+  .@{ventSpace}-picker,
+  .@{ventSpace}-select-selector {
+    width: 100% !important;
+    background: #00000017 !important;
+    border: 1px solid @vent-form-item-boder !important;
+
+    input,
+    .@{ventSpace}-select-selection-item,
+    .@{ventSpace}-picker-suffix {
+      color: #fff !important;
     }
-    .alarm-modal {
-      position: relative;
-      padding: 10px;
-      z-index: 999;
-      max-height: calc(100vh - 150px);
-      .@{ventSpace}-tabs {
-        max-height: calc(100vh - 100px);
-        .tab-item {
-          height: calc(90vh - 152px);
-          // max-height: calc(100vh - 170px);
-          overflow-y: auto;
-        }
-      }
-      .title-text {
-        position: absolute;
-        top: -14px;
-        left: 0;
-        width: 100%;
-        text-align: center;
-        color: #fff;
-      }
-      .table-box {
-        height: calc(90vh - 152px);
-        padding: 20px 10px;
-        overflow-y: auto;
-      }
-  
-      .box-bg {
-        border: 1px solid #4d7ad855;
-        border-radius: 2px;
-        // background-color: #001d3055;
-        // -webkit-backdrop-filter: blur(8px);
-        // backdrop-filter: blur(8px);
-        box-shadow: 0 0 10px #5984e055 inset;
-        // background-color: #00b3ff12;
-      }
-      .charts-box {
-        height: calc(40vh - 80px);
-        padding: 5px 10px;
-        margin-top: 10px;
-      }
+
+    .@{ventSpace}-select-selection-placeholder {
+      color: #b7b7b7 !important;
     }
-    :deep(.@{ventSpace}-tabs-tabpane-active) {
-      height: 100%;
+  }
+
+  .@{ventSpace}-pagination-next,
+  .action,
+  .@{ventSpace}-select-arrow,
+  .@{ventSpace}-picker-separator {
+    color: #fff !important;
+  }
+
+  .@{ventSpace}-table-cell-row-hover {
+    background: #264d8833 !important;
+  }
+
+  .@{ventSpace}-table-row-selected {
+    background: #00c0a311 !important;
+
+    td {
+      background-color: #00000000 !important;
     }
-    :deep(.@{ventSpace}-tabs-card) {
-      .@{ventSpace}-tabs-tab {
-        background: linear-gradient(#2cd1ff55, #1eb0ff55);
-        border-color: #74e9fe;
-        border-radius: 0%;
-        &:hover {
-          color: #64d5ff;
-        }
-      }
-      .@{ventSpace}-tabs-tab.@{ventSpace}-tabs-tab-active .@{ventSpace}-tabs-tab-btn {
-        color: aqua;
-      }
-      .@{ventSpace}-tabs-nav::before {
-        border-color: #74e9fe;
-      }
-      .@{ventSpace}-picker,
-      .@{ventSpace}-select-selector {
-        width: 100% !important;
-        background: #00000017 !important;
-        border: 1px solid @vent-form-item-boder !important;
-        input,
-        .@{ventSpace}-select-selection-item,
-        .@{ventSpace}-picker-suffix {
-          color: #fff !important;
-        }
-        .@{ventSpace}-select-selection-placeholder {
-          color: #b7b7b7 !important;
-        }
-      }
-      .@{ventSpace}-pagination-next,
-      .action,
-      .@{ventSpace}-select-arrow,
-      .@{ventSpace}-picker-separator {
-        color: #fff !important;
-      }
-      .@{ventSpace}-table-cell-row-hover {
-        background: #264d8833 !important;
-      }
-      .@{ventSpace}-table-row-selected {
-        background: #00c0a311 !important;
-        td {
-          background-color: #00000000 !important;
-        }
-      }
-      .@{ventSpace}-table-thead {
-        // background: linear-gradient(#004a8655 0%, #004a86aa 10%) !important;
-        background: #3d9dd45d !important;
-  
-        & > tr > th,
-        .@{ventSpace}-table-column-title {
-          // color: #70f9fc !important;
-          border-color: #84f2ff !important;
-          border-left: none !important;
-          border-right: none !important;
-          padding: 7px;
-        }
-      }
-  
-      .@{ventSpace}-table-tbody {
-        tr > td {
-          padding: 12px;
-        }
-      }
-      .@{ventSpace}-table-tbody > tr:hover.@{ventSpace}-table-row > td {
-        background-color: #26648855 !important;
-      }
-  
-      .jeecg-basic-table-row__striped {
-        // background: #97efff11 !important;
-        td {
-          background-color: #97efff11 !important;
-        }
-      }
+  }
+
+  .@{ventSpace}-table-thead {
+    // background: linear-gradient(#004a8655 0%, #004a86aa 10%) !important;
+    background: #3d9dd45d !important;
+
+    &>tr>th,
+    .@{ventSpace}-table-column-title {
+      // color: #70f9fc !important;
+      border-color: #84f2ff !important;
+      border-left: none !important;
+      border-right: none !important;
+      padding: 7px;
+    }
+  }
+
+  .@{ventSpace}-table-tbody {
+    tr>td {
+      padding: 12px;
+    }
+  }
+
+  .@{ventSpace}-table-tbody>tr:hover.@{ventSpace}-table-row>td {
+    background-color: #26648855 !important;
+  }
+
+  .jeecg-basic-table-row__striped {
+
+    // background: #97efff11 !important;
+    td {
+      background-color: #97efff11 !important;
     }
-  </style>
-  
+  }
+}
+</style>

+ 15 - 2
src/views/vent/monitorManager/alarmMonitor/warn/dustWarn.vue

@@ -1,5 +1,8 @@
 <template>
+    <customHeader :options="options" @change="getSelectRow" :optionValue="optionValue"> 粉尘监测预警 </customHeader>
     <div class="dustWarn">
+        <a-button preIcon="ant-design:rollback-outlined" type="text" size="small"
+            style="position: absolute;left:15px;top:15px;color: #fff;" @click="getBack">返回</a-button>
         <div class="alarm-menu">
             <div class="card-btn">
                 <div :class="activeIndex1 == ind ? 'btn1' : 'btn'" v-for="(item, ind) in menuList" :key="ind"
@@ -38,7 +41,11 @@
 import { ref, reactive, onMounted } from 'vue'
 import { sysTypeWarnList, sysWarn } from '../common.api'
 import echartLine from '../common/echartLine.vue';
+import { useSystemSelect } from '/@/hooks/vent/useSystemSelect';
+import { useRouter } from 'vue-router';
+import CustomHeader from '/@/components/vent/customHeader.vue';
 
+const { options, optionValue, getSelectRow, getSysDataSource } = useSystemSelect('sys_surface_caimei'); // 参数为场景类型(设备类型管理中可以查询到)
 //左侧数据列表
 let menuList = reactive<any[]>([])
 //当前左侧激活菜单的索引
@@ -58,6 +65,7 @@ let echartDataFc = reactive({
 });
 let maxY = ref(0);
 let echartDw = ref('(mg/m³)');
+let router = useRouter()
 
 // https获取监测数据
 let timer: null | NodeJS.Timeout = null;
@@ -74,6 +82,11 @@ function getMonitor(deviceID, flag?) {
     );
 }
 
+//返回首页
+function getBack() {
+    router.push('/monitorChannel/monitor-alarm-home')
+}
+
 //获取左侧菜单列表
 async function getMenuList() {
     let res = await sysTypeWarnList({ type: 'dust' })
@@ -165,8 +178,8 @@ onMounted(() => {
 <style lang="less" scoped>
 .dustWarn {
     width: 100%;
-    height: calc(100% - 52px);
-    padding: 15px 10px;
+    height: 100%;
+    padding: 80px 10px 15px 10px;
     box-sizing: border-box;
     display: flex;
     justify-content: space-between;

+ 15 - 2
src/views/vent/monitorManager/alarmMonitor/warn/fireWarn.vue

@@ -1,5 +1,8 @@
 <template>
+    <customHeader :options="options" @change="getSelectRow" :optionValue="optionValue"> 火灾监测预警 </customHeader>
     <div class="fireWarn">
+        <a-button preIcon="ant-design:rollback-outlined" type="text" size="small"
+            style="position: absolute;left:15px;top:15px;color: #fff;" @click="getBack">返回</a-button>
         <div class="alarm-menu">
             <div class="type-btn">
                 <div :class="activeIndex == index ? 'btn1' : 'btn'" v-for="(item, index) in typeMenuList" :key="index"
@@ -26,7 +29,11 @@
 import { ref, reactive, onMounted } from 'vue'
 import { typeMenuList, componentName } from '../common.data'
 import { sysTypeWarnList, sysWarn } from '../common.api'
+import { useSystemSelect } from '/@/hooks/vent/useSystemSelect';
+import { useRouter } from 'vue-router';
+import CustomHeader from '/@/components/vent/customHeader.vue';
 
+const { options, optionValue, getSelectRow, getSysDataSource } = useSystemSelect('sys_surface_caimei'); // 参数为场景类型(设备类型管理中可以查询到)
 //当前加载组件
 let currentLoad = ref('')
 //内外因火灾激活索引
@@ -49,6 +56,7 @@ let listData = reactive({
     temperature: [],
 }); //详情数据
 let strType = ref(''); //火灾外因-区别工作面和煤层
+let router = useRouter()
 
 // https获取监测数据
 let timer: null | NodeJS.Timeout = null;
@@ -65,6 +73,11 @@ function getMonitor(deviceID, flag?) {
     );
 }
 
+//返回首页
+function getBack() {
+    router.push('/monitorChannel/monitor-alarm-home')
+}
+
 //获取左侧菜单列表
 async function getMenuList() {
     let res = await sysTypeWarnList({ type: 'fire' })
@@ -188,8 +201,8 @@ onMounted(() => {
 <style lang="less" scoped>
 .fireWarn {
     width: 100%;
-    height: calc(100% - 52px);
-    padding: 15px 10px;
+    height: 100%;
+    padding: 80px 10px 15px 10px;
     box-sizing: border-box;
     display: flex;
     justify-content: space-between;

+ 119 - 86
src/views/vent/monitorManager/alarmMonitor/warn/gasWarn.vue

@@ -1,5 +1,8 @@
 <template>
+    <customHeader :options="options" @change="getSelectRow" :optionValue="optionValue"> 瓦斯监测预警 </customHeader>
     <div class="gasWarn">
+        <a-button preIcon="ant-design:rollback-outlined" type="text" size="small"
+            style="position: absolute;left:15px;top:15px;color: #fff;" @click="getBack">返回</a-button>
         <div class="alarm-menu">
             <div class="card-btn">
                 <div :class="activeIndex1 == ind ? 'btn1' : 'btn'" v-for="(item, ind) in menuList" :key="ind"
@@ -14,37 +17,39 @@
                 <div class="title-t">
                     <div class="text-t">瓦斯抽采泵信息</div>
                 </div>
-
-                <div class="top-box" v-for="(item, index) in topAreaListWs" :key="index">
-                    <div class="box-label">{{ item.label }}</div>
-                    <div class="box-values">
-                        <div class="value-b" v-for="(items, ind) in item.list" :key="ind">
-                            <span>{{ `${items.name} : ` }}</span>
-                            <span :class="{
-                                'box-value': items.val == 0 && items.name == '报警状态',
-                                'box-value1': items.val == 101 && items.name == '报警状态',
-                                'box-value2': items.val == 102 && items.name == '报警状态',
-                                'box-value3': items.val == 103 && items.name == '报警状态',
-                                'box-value4': items.val == 104 && items.name == '报警状态',
-                                'box-value5': items.val == 201 && items.name == '报警状态',
-                            }">{{
-                                items.val == 0 && items.name == '报警状态'
-                                    ? '正常'
-                                    : items.val == 101 && items.name == '报警状态'
-                                        ? '较低风险'
-                                        : items.val == 102 && items.name == '报警状态'
-                                            ? '低风险'
-                                            : items.val == 103 && items.name == '报警状态'
-                                                ? '中风险'
-                                                : items.val == 104 && items.name == '报警状态'
-                                                    ? '高风险'
-                                                    : items.val == 201 && items.name == '报警状态'
-                                                        ? '报警'
-                                                        : items.val
-                            }}</span>
+                <div class="content-t">
+                    <div class="top-box" v-for="(item, index) in topAreaListWs" :key="index">
+                        <div class="box-label">{{ item.label }}</div>
+                        <div class="box-values">
+                            <div class="value-b" v-for="(items, ind) in item.list" :key="ind">
+                                <span>{{ `${items.name} : ` }}</span>
+                                <span :class="{
+                                    'box-value': items.val == 0 && items.name == '报警状态',
+                                    'box-value1': items.val == 101 && items.name == '报警状态',
+                                    'box-value2': items.val == 102 && items.name == '报警状态',
+                                    'box-value3': items.val == 103 && items.name == '报警状态',
+                                    'box-value4': items.val == 104 && items.name == '报警状态',
+                                    'box-value5': items.val == 201 && items.name == '报警状态',
+                                }">{{
+                                    items.val == 0 && items.name == '报警状态'
+                                        ? '正常'
+                                        : items.val == 101 && items.name == '报警状态'
+                                            ? '较低风险'
+                                            : items.val == 102 && items.name == '报警状态'
+                                                ? '低风险'
+                                                : items.val == 103 && items.name == '报警状态'
+                                                    ? '中风险'
+                                                    : items.val == 104 && items.name == '报警状态'
+                                                        ? '高风险'
+                                                        : items.val == 201 && items.name == '报警状态'
+                                                            ? '报警'
+                                                            : items.val
+                                }}</span>
+                            </div>
                         </div>
                     </div>
                 </div>
+
             </div>
 
             <div :class="topAreaListWs.length != 0 ? 'bot-area' : 'bot-area1'">
@@ -76,7 +81,11 @@
 <script setup lang="ts">
 import { ref, reactive, onMounted } from 'vue'
 import { sysTypeWarnList, sysWarn } from '../common.api'
+import { useSystemSelect } from '/@/hooks/vent/useSystemSelect';
+import { useRouter } from 'vue-router';
+import CustomHeader from '/@/components/vent/customHeader.vue';
 
+const { options, optionValue, getSelectRow, getSysDataSource } = useSystemSelect('sys_surface_caimei'); // 参数为场景类型(设备类型管理中可以查询到)
 //当前左侧激活菜单的索引
 let activeIndex1 = ref(0);
 //左侧数据列表
@@ -85,6 +94,7 @@ let menuList = reactive<any[]>([])
 let topAreaListWs = reactive<any[]>([]);
 //瓦斯监控列表数据
 let cardListWs = reactive<any[]>([]);
+let router = useRouter()
 
 // https获取监测数据
 let timer: null | NodeJS.Timeout = null;
@@ -100,6 +110,12 @@ function getMonitor(deviceID, flag?) {
         flag ? 0 : 1000
     );
 }
+
+//返回首页
+function getBack() {
+    router.push('/monitorChannel/monitor-alarm-home')
+}
+
 //获取预警详情弹窗右侧数据
 function getSysWarnList(id, type) {
     sysWarn({ sysid: id, type: type }).then((res) => {
@@ -180,7 +196,7 @@ onMounted(() => {
 .gasWarn {
     width: 100%;
     height: calc(100% - 52px);
-    padding: 15px 10px;
+    padding: 80px 10px 15px 10px;
     box-sizing: border-box;
     display: flex;
     justify-content: space-between;
@@ -293,83 +309,94 @@ onMounted(() => {
                 }
             }
 
-            .top-box {
-                position: relative;
-                width: 724px;
+            .content-t {
+                width: 100%;
                 height: 276px;
-                background: url('../../../../../assets/images/fire/top-area.png') no-repeat center;
-                background-size: 100% 100%;
+                display: flex;
+                justify-content: space-between;
+                align-items: center;
+                padding: 0px 10px;
+                box-sizing: border-box;
 
-                .box-label {
-                    position: absolute;
-                    left: 50%;
-                    top: 198px;
-                    transform: translate(-50%, 0);
-                    width: 80%;
-                    font-family: 'douyuFont';
-                    font-size: 16px;
-                    display: flex;
-                    justify-content: center;
-                    align-items: center;
-                    word-wrap: break-word;
-                    color: #fff;
-                }
+                .top-box {
+                    position: relative;
+                    width: 724px;
+                    height: 100%;
+                    background: url('../../../../../assets/images/fire/top-area.png') no-repeat center;
+                    background-size: 100% 100%;
 
-                .box-values {
-                    position: absolute;
-                    left: 50%;
-                    top: 26px;
-                    transform: translate(-50%, 0);
-                    width: 84%;
-                    display: flex;
-                    justify-content: space-between;
-                    align-items: center;
-                    flex-wrap: wrap;
-
-                    .value-b {
-                        width: calc(50% - 10px);
-                        height: 25px;
+                    .box-label {
+                        position: absolute;
+                        left: 50%;
+                        top: 198px;
+                        transform: translate(-50%, 0);
+                        width: 80%;
+                        font-family: 'douyuFont';
+                        font-size: 16px;
                         display: flex;
-                        justify-content: space-between;
+                        justify-content: center;
                         align-items: center;
+                        word-wrap: break-word;
                         color: #fff;
-                        font-size: 14px;
+                    }
 
-                        span {
+                    .box-values {
+                        position: absolute;
+                        left: 50%;
+                        top: 26px;
+                        transform: translate(-50%, 0);
+                        width: 84%;
+                        display: flex;
+                        justify-content: space-between;
+                        align-items: center;
+                        flex-wrap: wrap;
+
+                        .value-b {
+                            width: calc(50% - 10px);
+                            height: 25px;
+                            display: flex;
+                            justify-content: space-between;
+                            align-items: center;
+                            color: #fff;
                             font-size: 14px;
 
-                            &:last-child {
-                                font-family: 'douyuFont';
-                                color: rgb(0, 242, 255);
+                            span {
+                                font-size: 14px;
+
+                                &:last-child {
+                                    font-family: 'douyuFont';
+                                    color: rgb(0, 242, 255);
+                                }
                             }
-                        }
 
-                        .box-value {
-                            color: rgb(145, 230, 9) !important;
-                        }
+                            .box-value {
+                                color: rgb(145, 230, 9) !important;
+                            }
 
-                        .box-value1 {
-                            color: rgb(0, 242, 255) !important;
-                        }
+                            .box-value1 {
+                                color: rgb(0, 242, 255) !important;
+                            }
 
-                        .box-value2 {
-                            color: #ffff35 !important;
-                        }
+                            .box-value2 {
+                                color: #ffff35 !important;
+                            }
 
-                        .box-value3 {
-                            color: #ffbe69 !important;
-                        }
+                            .box-value3 {
+                                color: #ffbe69 !important;
+                            }
 
-                        .box-value4 {
-                            color: #ff6f00 !important;
-                        }
+                            .box-value4 {
+                                color: #ff6f00 !important;
+                            }
 
-                        .box-value5 {
-                            color: #ff0000 !important;
+                            .box-value5 {
+                                color: #ff0000 !important;
+                            }
                         }
                     }
                 }
             }
+
         }
 
         .bot-area {
@@ -422,6 +449,8 @@ onMounted(() => {
                             position: absolute;
                             left: 50%;
                             top: 7px;
+                            color: #fff;
+                            font-size: 14px;
                             transform: translate(-50%, 0);
                         }
 
@@ -454,6 +483,7 @@ onMounted(() => {
                             span {
                                 font-size: 14px;
                                 color: #fff;
+
                                 &:first-child {
                                     display: inline-block;
                                     width: 68px;
@@ -528,6 +558,8 @@ onMounted(() => {
                             position: absolute;
                             left: 50%;
                             top: 7px;
+                            font-size: 14px;
+                            color: #fff;
                             transform: translate(-50%, 0);
                         }
 
@@ -560,6 +592,7 @@ onMounted(() => {
                             span {
                                 font-size: 14px;
                                 color: #fff;
+
                                 &:first-child {
                                     display: inline-block;
                                     width: 68px;

+ 33 - 4
src/views/vent/monitorManager/alarmMonitor/warn/ventilateWarn.vue

@@ -1,5 +1,8 @@
 <template>
+    <customHeader :options="options" @change="getSelectRow" :optionValue="optionValue"> 通风监测预警 </customHeader>
     <div class="ventilateWarn">
+        <a-button preIcon="ant-design:rollback-outlined" type="text" size="small"
+            style="position: absolute;left:15px;top:15px;color: #fff;" @click="getBack">返回</a-button>
         <div class="alarm-menu">
             <div class="card-btn">
                 <div :class="activeIndex1 == ind ? 'btn1' : 'btn'" v-for="(item, ind) in menuList" :key="ind"
@@ -63,8 +66,12 @@
 import { ref, reactive, onMounted } from 'vue';
 import { sysTypeWarnList, sysWarn } from '../common.api'
 import { centerAreaListT1, centerAreaListB1 } from '../common.data';
+import { useSystemSelect } from '/@/hooks/vent/useSystemSelect';
+import { useRouter } from 'vue-router';
 import echartLine from '../common/echartLine.vue';
+import CustomHeader from '/@/components/vent/customHeader.vue';
 
+const { options, optionValue, getSelectRow, getSysDataSource } = useSystemSelect('sys_surface_caimei'); // 参数为场景类型(设备类型管理中可以查询到)
 //左侧数据列表
 let menuList = reactive<any[]>([])
 //当前左侧激活菜单的索引
@@ -89,6 +96,7 @@ const echartDataFc1 = reactive({
     },
     xData: [],
 });
+let router = useRouter()
 
 // https获取监测数据
 let timer: null | NodeJS.Timeout = null;
@@ -104,7 +112,10 @@ function getMonitor(deviceID, flag?) {
         flag ? 0 : 1000
     );
 }
-
+//返回首页
+function getBack() {
+    router.push('/monitorChannel/monitor-alarm-home')
+}
 //菜单选项切换
 function cardClick(ind, item) {
     activeIndex1.value = ind;
@@ -209,8 +220,8 @@ onMounted(() => {
 <style lang="less" scoped>
 .ventilateWarn {
     width: 100%;
-    height: calc(100% - 52px);
-    padding: 15px 10px;
+    height: 100%;
+    padding: 80px 10px 15px 10px;
     box-sizing: border-box;
     display: flex;
     justify-content: space-between;
@@ -218,10 +229,12 @@ onMounted(() => {
     .alarm-menu {
         height: 100%;
         width: 15%;
+
         .card-btn {
             width: 100%;
             height: 100%;
             overflow-y: auto;
+
             .btn {
                 position: relative;
                 width: 81%;
@@ -231,6 +244,7 @@ onMounted(() => {
                 background: url('../../../../../assets/images/fire/no-choice.png') no-repeat;
                 background-size: 100% 100%;
                 cursor: pointer;
+
                 .text {
                     width: 80%;
                     position: absolute;
@@ -241,17 +255,19 @@ onMounted(() => {
                     text-align: center;
                     transform: translate(-50%, 0);
                 }
+
                 .warn {
                     width: 100%;
                     position: absolute;
                     left: 50%;
-                    bottom:14px;
+                    bottom: 14px;
                     font-size: 14px;
                     color: #fff;
                     text-align: center;
                     transform: translate(-50%, 0);
                 }
             }
+
             .btn1 {
                 position: relative;
                 width: 100%;
@@ -261,6 +277,7 @@ onMounted(() => {
                 background: url('../../../../../assets/images/fire/choice.png') no-repeat;
                 background-size: 100% 100%;
                 cursor: pointer;
+
                 .text {
                     width: 80%;
                     position: absolute;
@@ -271,6 +288,7 @@ onMounted(() => {
                     text-align: center;
                     transform: translate(-62%, 0);
                 }
+
                 .warn {
                     width: 100%;
                     position: absolute;
@@ -293,11 +311,13 @@ onMounted(() => {
         background: url('../../../../../assets/images/fire/border.png') no-repeat;
         background-size: 100% 100%;
         box-sizing: border-box;
+
         .top-area {
             height: 24%;
             display: flex;
             justify-content: space-between;
             margin-bottom: 10px;
+
             .top-box {
                 position: relative;
                 width: 32%;
@@ -325,6 +345,7 @@ onMounted(() => {
                     align-items: flex-start;
                     flex-wrap: wrap;
                     cursor: pointer;
+
                     .content-item {
                         position: relative;
                         width: 50%;
@@ -332,6 +353,7 @@ onMounted(() => {
                         font-size: 14px;
                         background: url('../../../../../assets/images/fire/content-item.png') no-repeat center;
                         background-size: 82% 54%;
+
                         .item-label {
                             position: absolute;
                             left: 16%;
@@ -339,6 +361,7 @@ onMounted(() => {
                             color: #fff;
                             transform: translate(0, -44%);
                         }
+
                         .item-value {
                             position: absolute;
                             right: 16%;
@@ -347,6 +370,7 @@ onMounted(() => {
                             font-family: 'douyuFont';
                             color: #3df6ff;
                         }
+
                         .item-value1 {
                             position: absolute;
                             right: 21%;
@@ -356,6 +380,7 @@ onMounted(() => {
                             font-family: 'douyuFont';
                             color: rgb(145, 230, 9);
                         }
+
                         .item-value2 {
                             position: absolute;
                             right: 21%;
@@ -365,6 +390,7 @@ onMounted(() => {
                             font-family: 'douyuFont';
                             color: rgb(0, 242, 255);
                         }
+
                         .item-value3 {
                             position: absolute;
                             right: 21%;
@@ -374,6 +400,7 @@ onMounted(() => {
                             font-family: 'douyuFont';
                             color: #ffff35;
                         }
+
                         .item-value4 {
                             position: absolute;
                             right: 21%;
@@ -383,6 +410,7 @@ onMounted(() => {
                             font-family: 'douyuFont';
                             color: #ffbe69;
                         }
+
                         .item-value5 {
                             position: absolute;
                             right: 21%;
@@ -392,6 +420,7 @@ onMounted(() => {
                             font-family: 'douyuFont';
                             color: #ff6f00;
                         }
+
                         .item-value6 {
                             position: absolute;
                             right: 21%;

+ 1 - 0
src/views/vent/monitorManager/comment/components/reportInfo.vue

@@ -83,6 +83,7 @@
               autosave: false, //是否自动保存
               forcesave: true, //定义保存按钮是否显示
               hideRightMenu: true,
+              spellcheck: false,//ture打开拼写检查,false关闭拼写检查。(默认为ture)
             },
             //用户信息
             user: {

+ 3 - 3
src/views/vent/monitorManager/deviceMonitor/components/device/modal/fiber.sjh.vue

@@ -16,7 +16,7 @@
                         </div>
                         <div class="item-container">
                             <div class="title">最高温度</div>
-                            <div class="value">{{ posMonitor.fmax || '--' }} <span>℃</span> </div>
+                            <div class="value">{{ posMonitor.tempmax || '--' }} <span>℃</span> </div>
                         </div>
                     </div>
                     <div class="top-item">
@@ -25,7 +25,7 @@
                         </div>
                         <div class="item-container">
                             <div class="title">最低温度</div>
-                            <div class="value">{{ posMonitor.fmin || '--' }} <span>℃</span></div>
+                            <div class="value">{{ posMonitor.tempmin || '--' }} <span>℃</span></div>
                         </div>
                     </div>
                     <div class="top-item">
@@ -34,7 +34,7 @@
                         </div>
                         <div class="item-container">
                             <div class="title">平均温度</div>
-                            <div class="value">{{ posMonitor.favg || '--' }} <span>℃</span></div>
+                            <div class="value">{{ posMonitor.tempavg || '--' }} <span>℃</span></div>
                         </div>
                     </div>
                     <div class="top-item warning-box">

+ 1 - 0
src/views/vent/performance/comment/DeviceModal.vue

@@ -78,6 +78,7 @@
             autosave: false, //是否自动保存
             forcesave: true, //定义保存按钮是否显示
             hideRightMenu: true,
+            spellcheck: false,//ture打开拼写检查,false关闭拼写检查。(默认为ture)
           },
           //用户信息
           user: {

+ 1 - 0
src/views/vent/reportManager/comment/DeviceModal.vue

@@ -153,6 +153,7 @@
             autosave: false, //是否自动保存
             forcesave: true, //定义保存按钮是否显示
             hideRightMenu: true,
+            spellcheck: false,//ture打开拼写检查,false关闭拼写检查。(默认为ture)
           },
           //用户信息
           user: {