lxh 2 dienas atpakaļ
vecāks
revīzija
179e177eea

BIN
src/assets/images/themify/deepblue/vent/dl.png


BIN
src/assets/images/themify/deepblue/vent/sl.png


BIN
src/assets/images/vent/alarm/dl.png


BIN
src/assets/images/vent/alarm/sl.png


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

@@ -316,8 +316,8 @@
         <div class="container">
           <div class="item item1">
             <div class="icon"></div>
-            <vue3-seamless-scroll hover-stop="true" :list="fireMonitor1" :hover="true" :step="fireMonitor1.length * 0.055"
-              :single-waitTime="3000" :limit-scroll-num="fireMonitor1.length" class="seamless-warp1">
+            <vue3-seamless-scroll hover-stop="true" :list="fireMonitor1" :hover="true" :step="fireMonitor1.length * 0.03"
+               :limit-scroll-num="fireMonitor1.length" class="seamless-warp1">
               <div class="data-box" v-for="(item, index) in fireMonitor1" :key="index">
                 <div class="box-item">
                   <div
@@ -546,7 +546,7 @@ function getMonitor(flag = false) {
       }
       getMonitor();
     },
-    flag ? 0 : 10000
+    flag ? 0 : 20000
   );
 }
 

+ 961 - 952
src/views/vent/monitorManager/compressor/components/nitrogenHome_dltj.vue

@@ -1,10 +1,7 @@
 <template>
   <div id="nitrogen3D" style="width: 100%; height: 100%; position: absolute; overflow: hidden"></div>
-  <div
-    id="nitrogenCss3D"
-    class="threejs-Object-CSS"
-    style="width: 100%; height: 100%; position: absolute; pointer-events: none; overflow: hidden; z-index: 2; top: 0px; left: 0px"
-  >
+  <div id="nitrogenCss3D" class="threejs-Object-CSS"
+    style="width: 100%; height: 100%; position: absolute; pointer-events: none; overflow: hidden; z-index: 2; top: 0px; left: 0px">
     <a-spin :spinning="loading" />
     <div v-for="groupNum in monitorDataGroupNum" :key="groupNum" class="modal-monitor">
       <fourBorderBg :class="`kyj${groupNum}`" :id="`nitrogenMonitor${groupNum}`">
@@ -20,29 +17,27 @@
         <template v-for="(preMonitor, preMonitorIndex) in preMonitorListData" :key="preMonitorIndex">
           <div v-if="preMonitor.code !== 'signal'" class="monitor-item">
             <span class="monitor-title">{{ preMonitor.title }}:</span>
-            <span class="monitor-val"
-              ><span class="val">{{ monitorData[preMonitor.code + groupNum] ? formatNum(monitorData[preMonitor.code + groupNum]) : '-' }}</span
-              ><span class="unit">{{ preMonitor.unit }}</span></span
-            >
+            <span class="monitor-val"><span class="val">{{ monitorData[preMonitor.code + groupNum] ?
+              formatNum(monitorData[preMonitor.code + groupNum]) : '-' }}</span><span class="unit">{{ preMonitor.unit
+                }}</span></span>
           </div>
           <div v-else class="signal-item">
             <div class="signal" v-for="(signal, childIndex) in preMonitor.child" :key="childIndex">
               <span class="monitor-title">{{ signal.title }}</span>
               <span style="display: inline-block; width: 30px; text-align: center" v-if="signal.isFault == -2">{{
-                monitorData[signal.code + groupNum] == '0' ? '就地' : monitorData[signal.code + groupNum] == '1' ? '远程' : '-'
-              }}</span>
+                monitorData[signal.code + groupNum] == '0' ? '就地' : monitorData[signal.code + groupNum] == '1' ? '远程' :
+                  '-'
+                }}</span>
               <span style="display: inline-block; width: 30px; text-align: center" v-else-if="signal.isFault == -1">{{
-                monitorData[signal.code + groupNum] == '1' ? '加载' : monitorData[signal.code + groupNum] == '0' ? '卸载' : '-'
-              }}</span>
-              <span
-                v-else
-                :class="{
-                  'signal-round': true,
-                  'signal-round-run': !signal.isFault && monitorData[signal.code + groupNum] == '1',
-                  'signal-round-warning': signal.isFault && monitorData[signal.code + groupNum] == '1',
-                  'signal-round-gry': monitorData[signal.code + groupNum] != '1',
-                }"
-              ></span>
+                monitorData[signal.code + groupNum] == '1' ? '加载' : monitorData[signal.code + groupNum] == '0' ? '卸载' :
+                  '-'
+                }}</span>
+              <span v-else :class="{
+                'signal-round': true,
+                'signal-round-run': !signal.isFault && monitorData[signal.code + groupNum] == '1',
+                'signal-round-warning': signal.isFault && monitorData[signal.code + groupNum] == '1',
+                'signal-round-gry': monitorData[signal.code + groupNum] != '1',
+              }"></span>
             </div>
           </div>
         </template>
@@ -61,7 +56,8 @@
           </div>
           <div class="top-center">
             <div class="top-c-label">通信状态:</div>
-            <div class="top-c-val">{{ monitorData['netStatus'] == 1 ? '连接' : monitorData['netStatus'] == 0 ? '断开' : '未知' }}</div>
+            <div class="top-c-val">{{ monitorData['netStatus'] == 1 ? '连接' : monitorData['netStatus'] == 0 ? '断开' : '未知'
+              }}</div>
           </div>
           <div class="top-right">
             <div class="control-type" v-if="monitorData['RemSelect'] !== undefined">
@@ -92,23 +88,22 @@
                 <div v-if="preFan.unit !== 'signal' && preFan.unit !== 'warning'" class="value">{{
                   monitorData[preFan.code] >= 0 ? formatNum(Number(monitorData[preFan.code])) : '-'
                 }}</div>
-                <div
-                  v-else
-                  :class="{
-                    'signal-round': true,
-                    'signal-round-warning': monitorData[preFan.code] == '1' && preFan.unit == 'warning',
-                    'signal-round-run': monitorData[preFan.code] == '1' && preFan.unit == 'signal',
-                    'signal-round-gry': monitorData[preFan.code] != '1',
-                  }"
-                ></div>
-                <div class="unit">{{ preFan.unit !== 'signal' && preFan.unit !== 'warning' ? `(${preFan.unit})` : '' }}</div>
+                <div v-else :class="{
+                  'signal-round': true,
+                  'signal-round-warning': monitorData[preFan.code] == '1' && preFan.unit == 'warning',
+                  'signal-round-run': monitorData[preFan.code] == '1' && preFan.unit == 'signal',
+                  'signal-round-gry': monitorData[preFan.code] != '1',
+                }"></div>
+                <div class="unit">{{ preFan.unit !== 'signal' && preFan.unit !== 'warning' ? `(${preFan.unit})` : '' }}
+                </div>
               </div>
             </template>
           </ventBox1>
           <div class="item item-l" v-for="groupNum in monitorDataGroupNum" :key="groupNum">
             <ventBox1>
               <template #title>
-                <div>{{ monitorData && monitorData['strname' + groupNum] ? monitorData['strname' + groupNum] : '注氮机' + groupNum }}</div>
+                <div>{{ monitorData && monitorData['strname' + groupNum] ? monitorData['strname' + groupNum] : '注氮机' +
+                  groupNum }}</div>
               </template>
               <template #container>
                 <div class="monitor-box">
@@ -118,17 +113,15 @@
                         preFan.title + (preFan.unit !== 'signal' && preFan.unit !== 'warning' ? `(${preFan.unit})` : '')
                       }}</div>
                       <div v-if="preFan.unit !== 'signal' && preFan.unit !== 'warning'" class="value">{{
-                        monitorData[preFan.code + groupNum] >= 0 ? formatNum(Number(monitorData[preFan.code + groupNum])) : '-'
-                      }}</div>
-                      <div
-                        v-else
-                        :class="{
-                          'signal-round': true,
-                          'signal-round-warning': monitorData[preFan.code + groupNum] == '1' && preFan.unit == 'warning',
-                          'signal-round-run': monitorData[preFan.code + groupNum] == '1' && preFan.unit == 'signal',
-                          'signal-round-gry': monitorData[preFan.code + groupNum] != '1',
-                        }"
-                      ></div>
+                        monitorData[preFan.code + groupNum] >= 0 ? formatNum(Number(monitorData[preFan.code +
+                          groupNum])) : '-'
+                        }}</div>
+                      <div v-else :class="{
+                        'signal-round': true,
+                        'signal-round-warning': monitorData[preFan.code + groupNum] == '1' && preFan.unit == 'warning',
+                        'signal-round-run': monitorData[preFan.code + groupNum] == '1' && preFan.unit == 'signal',
+                        'signal-round-gry': monitorData[preFan.code + groupNum] != '1',
+                      }"></div>
                     </div>
                   </div>
                 </div>
@@ -167,14 +160,8 @@
               <div>设备实时监测曲线</div>
             </template>
             <template #container>
-              <BarAndLine
-                v-if="chartsColumns.length > 0"
-                xAxisPropType="readTime"
-                :dataSource="echartData"
-                height="320px"
-                :chartsColumns="chartsColumns"
-                :option="echatsOption"
-              />
+              <BarAndLine v-if="chartsColumns.length > 0" xAxisPropType="readTime" :dataSource="echartData"
+                height="320px" :chartsColumns="chartsColumns" :option="echatsOption" />
             </template>
           </ventBox1>
         </div>
@@ -186,1038 +173,1060 @@
         <div class="title">下风测监测 </div>
         <div class="monitor-item" v-for="(data, index) in downWindData" :key="index">
           <span class="monitor-title">{{ data.title }} :</span>
-          <span class="monitor-val" v-if="!refresh"
-            ><span class="val">
-              {{ monitorData && monitorData[data.code] ? (data.raw ? monitorData[data.code] : parseFloat(monitorData[data.code]).toFixed(2)) : '-' }}
+          <span class="monitor-val" v-if="!refresh"><span class="val">
+              {{ monitorData && monitorData[data.code] ? (data.raw ? monitorData[data.code] :
+                parseFloat(monitorData[data.code]).toFixed(2)) : '-' }}
             </span>
-            <span class="unit">{{ data.unit }}</span></span
-          >
+            <span class="unit">{{ data.unit }}</span></span>
         </div>
       </fourBorderBg>
     </div>
   </div>
 </template>
 <script lang="ts" setup name="nitrogenHome">
-  import { onMounted, onUnmounted, ref, watch, reactive, defineProps, nextTick, inject, unref } from 'vue';
-  import ventBox1 from '/@/components/vent/ventBox1.vue';
-  import fourBorderBg from '../../../comment/components/fourBorderBg.vue';
-  import { mountedThree, destroy, setModelType } from '../nitrogen.threejs';
-  import { getDevice } from '../nitrogen.api';
-  import BarAndLine from '/@/components/chart/BarAndLine.vue';
-  import { deviceControlApi } from '/@/api/vent/index';
-  // import { preMonitorListData, preFanMonitor, nitrogenMonitor } from '../nitrogen.data.dltj';
-  import { downWindData } from '../nitrogen.data';
-  import { formatNum } from '/@/utils/ventutil';
-  import { useCamera } from '/@/hooks/system/useCamera';
-  import { message } from 'ant-design-vue';
-  import lodash from 'lodash';
-  import { getTableHeaderColumns } from '/@/hooks/web/useWebColumns';
-
-  const globalConfig = inject('globalConfig');
-
-  const props = defineProps({
-    deviceId: {
-      type: String,
-      require: true,
-    },
-    modalType: {
-      type: String,
-      require: true,
-    },
-  });
-
-  const playerRef = ref();
-  const refresh = ref(false);
-  const modalTitle = ref(''); // 模态框标题显示内容,根据设备操作类型决定
-  const modalType = ref(''); // 模态框内容显示类型,设备操作类型
-  const modalIsShow = ref<boolean>(false); // 是否显示模态框
-  const loading = ref(true);
-  let kzParam = reactive<any>({
-    data: {},
-    isFw: null,
-  });
-
-  // const kyjs = ['1号空压机', '1号空压机', '1号空压机', '1号空压机'];
-  const flvURL1 = () => {
-    // return `https://sf1-hscdn-tos.pstatp.com/obj/media-fe/xgplayer_doc_video/flv/xgplayer-demo-360p.flv`;
-    return '';
-  };
-  const colors = ['#FDB146', '#EE6666', '#9BCB75', '#03C2EC', '#DA3914', '#9C83D9'];
-  const echatsOption = {
-    grid: {
-      top: '35%',
-      left: '15%',
-      right: '20px',
-      bottom: '8%',
-      // containLabel: true
-    },
-    toolbox: {
-      feature: {},
-    },
-  };
-  const preMonitorListData = ref<any[]>([]);
-  const preFanMonitor = ref<any[]>([]);
-  const nitrogenMonitor = ref<any[]>([]);
-
-  const deviceType = ref('');
-  const monitorNetStatus = ref(0);
-  const monitorDataGroupNum = ref(2);
-
-  let airCompressorState = reactive<any[]>([]);
-
-  // const chartsColumns = ref([
-  //   {
-  //     legend: '瞬时流量',
-  //     seriesName: '(m³/h)',
-  //     ymax: 2000,
-  //     yname: 'm³/h',
-  //     linetype: 'line',
-  //     yaxispos: 'left',
-  //     color: '#FDB146',
-  //     sort: 1,
-  //     xRotate: 0,
-  //     dataIndex: 'InputFlux',
-  //   },
-  // ]);
-  const chartsColumns = ref(getTableHeaderColumns('sys_nitrogen_chart'));
-
-  const { getCamera, removeCamera } = useCamera();
-
-  const monitorData = ref({});
-
-  //图表数据
-  let echartData = ref<any>([]);
-
-  // https获取监测数据
-  let timer: null | NodeJS.Timeout = null;
-  async function getMonitor(flag?) {
-    if (Object.prototype.toString.call(timer) === '[object Null]') {
-      return new Promise(async (resolve) => {
-        timer = await setTimeout(
-          async () => {
-            if (props.deviceId) {
-              await getDataSource(props.deviceId);
-            }
-            if (timer) {
-              timer = null;
-            }
-            resolve(null);
-            await getMonitor();
-          },
-          flag ? 0 : 3000
-        );
-      });
-    }
+import { onMounted, onUnmounted, ref, watch, reactive, defineProps, nextTick, inject, unref } from 'vue';
+import ventBox1 from '/@/components/vent/ventBox1.vue';
+import fourBorderBg from '../../../comment/components/fourBorderBg.vue';
+import { mountedThree, destroy, setModelType } from '../nitrogen.threejs';
+import { getDevice } from '../nitrogen.api';
+import BarAndLine from '/@/components/chart/BarAndLine.vue';
+import { deviceControlApi } from '/@/api/vent/index';
+// import { preMonitorListData, preFanMonitor, nitrogenMonitor } from '../nitrogen.data.dltj';
+import { downWindData } from '../nitrogen.data';
+import { formatNum } from '/@/utils/ventutil';
+import { useCamera } from '/@/hooks/system/useCamera';
+import { message } from 'ant-design-vue';
+import lodash from 'lodash';
+import { getTableHeaderColumns } from '/@/hooks/web/useWebColumns';
+
+const globalConfig = inject('globalConfig');
+
+const props = defineProps({
+  deviceId: {
+    type: String,
+    require: true,
+  },
+  modalType: {
+    type: String,
+    require: true,
+  },
+});
+
+const playerRef = ref();
+const refresh = ref(false);
+const modalTitle = ref(''); // 模态框标题显示内容,根据设备操作类型决定
+const modalType = ref(''); // 模态框内容显示类型,设备操作类型
+const modalIsShow = ref<boolean>(false); // 是否显示模态框
+const loading = ref(true);
+let kzParam = reactive<any>({
+  data: {},
+  isFw: null,
+});
+
+// const kyjs = ['1号空压机', '1号空压机', '1号空压机', '1号空压机'];
+const flvURL1 = () => {
+  // return `https://sf1-hscdn-tos.pstatp.com/obj/media-fe/xgplayer_doc_video/flv/xgplayer-demo-360p.flv`;
+  return '';
+};
+const colors = ['#FDB146', '#EE6666', '#9BCB75', '#03C2EC', '#DA3914', '#9C83D9'];
+const echatsOption = {
+  grid: {
+    top: '35%',
+    left: '15%',
+    right: '20px',
+    bottom: '8%',
+    // containLabel: true
+  },
+  toolbox: {
+    feature: {},
+  },
+};
+const preMonitorListData = ref<any[]>([]);
+const preFanMonitor = ref<any[]>([]);
+const nitrogenMonitor = ref<any[]>([]);
+
+const deviceType = ref('');
+const monitorNetStatus = ref(0);
+const monitorDataGroupNum = ref(2);
+
+let airCompressorState = reactive<any[]>([]);
+
+// const chartsColumns = ref([
+//   {
+//     legend: '瞬时流量',
+//     seriesName: '(m³/h)',
+//     ymax: 2000,
+//     yname: 'm³/h',
+//     linetype: 'line',
+//     yaxispos: 'left',
+//     color: '#FDB146',
+//     sort: 1,
+//     xRotate: 0,
+//     dataIndex: 'InputFlux',
+//   },
+// ]);
+const chartsColumns = ref(getTableHeaderColumns('sys_nitrogen_chart'));
+
+const { getCamera, removeCamera } = useCamera();
+
+const monitorData = ref({});
+
+//图表数据
+let echartData = ref<any>([]);
+
+// https获取监测数据
+let timer: null | NodeJS.Timeout = null;
+async function getMonitor(flag?) {
+  if (Object.prototype.toString.call(timer) === '[object Null]') {
+    return new Promise(async (resolve) => {
+      timer = await setTimeout(
+        async () => {
+          if (props.deviceId) {
+            await getDataSource(props.deviceId);
+          }
+          if (timer) {
+            timer = null;
+          }
+          resolve(null);
+          await getMonitor();
+        },
+        flag ? 0 : 3000
+      );
+    });
   }
-
-  async function getDataSource(systemID) {
-    const res = await getDevice({ devicetype: 'sys', systemID, type: 'all' });
-    if (res) {
-      const result = res;
-
-      // const result = {
-      //   cmd: 'monitordata',
-      //   msgTxt: [
-      //     {
-      //       datalist: [
-      //         {
-      //           msgType: null,
-      //           deviceID: '1818548876779245569',
-      //           strname: '52507注氮机-2',
-      //           strinstallpos: '52507注氮机-2',
-      //           fsectarea: 'null',
-      //           stationname: '52507注氮机-2',
-      //           stationtype: 'redis',
-      //           deviceType: 'nitrogen_525072',
-      //           typeName: '52507注氮机2',
-      //           netStatus: 1,
-      //           warnFlag: 0,
-      //           warnLevel: 0,
-      //           warnLevel_str: '正常',
-      //           syswarnLevel: null,
-      //           syswarnLevel_str: null,
-      //           syswarnLevel_des: null,
-      //           warnTime: null,
-      //           readTime: '2024-08-04 17:59:25',
-      //           warnDes: '',
-      //           frontGateOpenCtrl: null,
-      //           rearGateOpenCtrl: null,
-      //           readData: {
-      //             FluxTotal12: '0.0',
-      //             RunTime42: '131072000',
-      //             NitrogenPurity2: '26',
-      //             ExhaustTemp2: '25.0',
-      //             Status2: '0',
-      //             RunTime2: '0',
-      //             sign: '0',
-      //             OilGasBarrel_SeparatorFault2: '0',
-      //             TotalFailureSignal2: '0',
-      //             InputFlux2: '5',
-      //             PhaseFailureFault12: '0',
-      //             RunTime22: '3080192',
-      //             LowVoltageFault2: '0',
-      //             SysVoltage2: '1158',
-      //             Fan_Current2: '0',
-      //             CtrlMode2: '1',
-      //             ExhaustPreHighFault2: '0',
-      //             ShortCutFaul2: '0',
-      //             OilGasBarrel_OverTempAlarm2: '0',
-      //             CloseFail2: '0',
-      //             OilGasBarrel_FilterBlockageFault2: '0',
-      //             HMIStartStop2: '0',
-      //             OilGasBarrel_OverTempAlarm12: '0',
-      //             OverVoltageFault2: '0',
-      //             OilGasBarrel_HighPressureFault2: '0',
-      //             Fan_OverloadFault2: '0',
-      //             OilPressureLowFault2: '0',
-      //             PhaseSequenceFault2: '0',
-      //             PhaseFailureFault2: '0',
-      //             RunTime32: '35323904',
-      //             MainMotor_OverTempFault2: '0',
-      //             FluxTotal22: '0.0',
-      //             PowerFault2: '0',
-      //             LoadorUnload2: '0',
-      //             PreMembraneTemperature2: '-19',
-      //             PhaseSequenceFault12: '0',
-      //             RunTime12: '393216',
-      //             ExhaustTemp12: '0',
-      //             TotalFailureSignal12: '0',
-      //             UnbalanceFault2: '0',
-      //             ExhaustPre2: '0',
-      //             MainMotor_OverloadFault2: '0',
-      //             NoWaterFault2: '0',
-      //             LoadTime2: '539',
-      //             MainMotor_Current2: '0',
-      //             isRun: '-2',
-      //             LeakageLock2: '0',
-      //             OpenFail2: '0',
-      //           },
-      //           readDataDes: null,
-      //           summaryHour: [],
-      //           summaryDay: [],
-      //           history: [],
-      //           dayhistory: [],
-      //           totalInfo: null,
-      //           sign: null,
-      //           cameras: [],
-      //           links: [],
-      //           other1: null,
-      //           other2: null,
-      //           other3: null,
-      //           remarkInfo: null,
-      //           linkInfo: null,
-      //           addrIndex: null,
-      //           warnLogNotOkCount: 0,
-      //         },
-      //       ],
-      //       avginfo: {
-      //         warnFlag: {
-      //           value: 0,
-      //         },
-      //       },
-      //       typeName: '52507注氮机2',
-      //       type: 'nitrogen_525072',
-      //     },
-      //     {
-      //       datalist: [
-      //         {
-      //           msgType: null,
-      //           deviceID: '1818546650996330498',
-      //           strname: '52507注氮机-1',
-      //           strinstallpos: '52507注氮机-1',
-      //           fsectarea: 'null',
-      //           stationname: '52507注氮机-1',
-      //           stationtype: 'redis',
-      //           deviceType: 'nitrogen_525071',
-      //           typeName: '52507注氮机1',
-      //           netStatus: 1,
-      //           warnFlag: 0,
-      //           warnLevel: 0,
-      //           warnLevel_str: '正常',
-      //           syswarnLevel: null,
-      //           syswarnLevel_str: null,
-      //           syswarnLevel_des: null,
-      //           warnTime: null,
-      //           readTime: '2024-08-04 17:59:25',
-      //           warnDes: '',
-      //           frontGateOpenCtrl: null,
-      //           rearGateOpenCtrl: null,
-      //           readData: {
-      //             RunTime41: '131072000',
-      //             NitrogenPurity1: '12',
-      //             ExhaustTemp1: '82.0',
-      //             RunTime21: '786432',
-      //             RunTime1: '1',
-      //             sign: '0',
-      //             OilGasBarrel_SeparatorFault1: '0',
-      //             InputFlux1: '13',
-      //             PhaseFailureFault11: '0',
-      //             LowVoltageFault1: '0',
-      //             SysVoltage1: '1149',
-      //             TotalFailureSignal1: '0',
-      //             Fan_Current1: '0',
-      //             ExhaustPreHighFault1: '0',
-      //             ShortCutFaul1: '0',
-      //             OilGasBarrel_OverTempAlarm1: '0',
-      //             CloseFail1: '0',
-      //             OilGasBarrel_FilterBlockageFault1: '0',
-      //             OilGasBarrel_OverTempAlarm11: '0',
-      //             HMIStartStop1: '0',
-      //             CtrlMode1: '1',
-      //             Fan_OverloadFault1: '0',
-      //             OilPressureLowFault1: '0',
-      //             OverVoltageFault1: '0',
-      //             OilGasBarrel_HighPressureFault1: '0',
-      //             PhaseFailureFault1: '0',
-      //             RunTime31: '70516736',
-      //             FluxTotal21: '0.0',
-      //             FluxTotal1: '0.01',
-      //             MainMotor_OverTempFault1: '0',
-      //             PhaseSequenceFault1: '0',
-      //             PowerFault1: '0',
-      //             LoadorUnload1: '0',
-      //             RunTime11: '3342336',
-      //             PhaseSequenceFault11: '0',
-      //             PreMembraneTemperature1: '25',
-      //             TotalFailureSignal11: '0',
-      //             UnbalanceFault1: '0',
-      //             ExhaustTemp11: '0',
-      //             ExhaustPre1: '89',
-      //             MainMotor_OverloadFault1: '0',
-      //             NoWaterFault1: '0',
-      //             Status1: '0',
-      //             LoadTime1: '1086',
-      //             isRun: '-2',
-      //             LeakageLock1: '0',
-      //             MainMotor_Current1: '95',
-      //             OpenFail1: '0',
-      //             o2Val: '20.23',
-      //             temperature: '19.5',
-      //             fumes_str: '0.2',
-      //           },
-      //           readDataDes: null,
-      //           summaryHour: [],
-      //           summaryDay: [],
-      //           history: [],
-      //           dayhistory: [],
-      //           totalInfo: null,
-      //           sign: null,
-      //           cameras: [],
-      //           links: [],
-      //           other1: null,
-      //           other2: null,
-      //           other3: null,
-      //           remarkInfo: null,
-      //           linkInfo: null,
-      //           addrIndex: null,
-      //           warnLogNotOkCount: 0,
-      //         },
-      //       ],
-      //       avginfo: {
-      //         warnFlag: {
-      //           value: 0,
-      //         },
-      //       },
-      //       typeName: '52507注氮机1',
-      //       type: 'nitrogen_525071',
-      //     },
-      //     {
-      //       subtype: 'sys_nitrogen',
-      //       datalist: [
-      //         {
-      //           msgType: '2',
-      //           deviceID: '1818821502634352642',
-      //           strname: '52507注氮系统',
-      //           strinstallpos: '52507注氮系统',
-      //           fsectarea: 'null',
-      //           stationname: null,
-      //           stationtype: null,
-      //           deviceType: 'sys_nitrogen',
-      //           typeName: '注氮系统',
-      //           netStatus: null,
-      //           warnFlag: 0,
-      //           warnLevel: null,
-      //           warnLevel_str: null,
-      //           syswarnLevel: 0,
-      //           syswarnLevel_str: null,
-      //           syswarnLevel_des: null,
-      //           warnTime: null,
-      //           readTime: '2024-08-01 09:56:28',
-      //           warnDes: '',
-      //           frontGateOpenCtrl: null,
-      //           rearGateOpenCtrl: null,
-      //           readData: {
-      //             sign: '0',
-      //             isRun: '-2',
-      //           },
-      //           readDataDes: null,
-      //           summaryHour: [],
-      //           summaryDay: [],
-      //           history: null,
-      //           dayhistory: [],
-      //           totalInfo: null,
-      //           sign: null,
-      //           cameras: [],
-      //           links: [],
-      //           other1: null,
-      //           other2: null,
-      //           other3: null,
-      //           remarkInfo: null,
-      //           linkInfo: null,
-      //           addrIndex: null,
-      //           warnLogNotOkCount: 0,
-      //         },
-      //       ],
-      //       typeName: '综合监测系统',
-      //       type: 'sys',
-      //     },
-      //   ],
-      // };
-
-      if (!result || result.msgTxt.length < 1) return;
-      let dataSoreDatas = {};
-      let netStatus = 0;
-      result.msgTxt.forEach((item, index) => {
-        if (item.type && item.type.startsWith('nitrogen')) {
-          airCompressorState.length = 0;
-
-          if (item.type.startsWith('nitrogen_52507')) {
-            if (deviceType.value !== 'nitrogen_52507') deviceType.value = 'nitrogen_52507';
-            dataSoreDatas = Object.assign(dataSoreDatas, item['datalist'][0], item['datalist'][0]['readData']);
-            dataSoreDatas['strname' + (index + 1)] = item['datalist'][0]['strname'];
-            if (item['datalist'][0]['netStatus']) {
-              netStatus = 1;
-            }
-          } else {
-            deviceType.value = '';
-            monitorData.value = Object.assign(item['datalist'][0], item['datalist'][0]['readData']);
-            if (monitorData.value['netStatus'] == 1) {
-              netStatus = 1;
-            }
-            airCompressorState.push({
-              id: monitorData.value['deviceID'],
-              deviceType: monitorData.value['deviceType'],
-              HMIStart: monitorData.value['HMIStart'],
-              HMIStop: monitorData.value['HMIStop'],
-            });
+}
+
+async function getDataSource(systemID) {
+  const res = await getDevice({ devicetype: 'sys', systemID, type: 'all' });
+  if (res) {
+    const result = res;
+
+    // const result = {
+    //   cmd: 'monitordata',
+    //   msgTxt: [
+    //     {
+    //       datalist: [
+    //         {
+    //           msgType: null,
+    //           deviceID: '1818548876779245569',
+    //           strname: '52507注氮机-2',
+    //           strinstallpos: '52507注氮机-2',
+    //           fsectarea: 'null',
+    //           stationname: '52507注氮机-2',
+    //           stationtype: 'redis',
+    //           deviceType: 'nitrogen_525072',
+    //           typeName: '52507注氮机2',
+    //           netStatus: 1,
+    //           warnFlag: 0,
+    //           warnLevel: 0,
+    //           warnLevel_str: '正常',
+    //           syswarnLevel: null,
+    //           syswarnLevel_str: null,
+    //           syswarnLevel_des: null,
+    //           warnTime: null,
+    //           readTime: '2024-08-04 17:59:25',
+    //           warnDes: '',
+    //           frontGateOpenCtrl: null,
+    //           rearGateOpenCtrl: null,
+    //           readData: {
+    //             FluxTotal12: '0.0',
+    //             RunTime42: '131072000',
+    //             NitrogenPurity2: '26',
+    //             ExhaustTemp2: '25.0',
+    //             Status2: '0',
+    //             RunTime2: '0',
+    //             sign: '0',
+    //             OilGasBarrel_SeparatorFault2: '0',
+    //             TotalFailureSignal2: '0',
+    //             InputFlux2: '5',
+    //             PhaseFailureFault12: '0',
+    //             RunTime22: '3080192',
+    //             LowVoltageFault2: '0',
+    //             SysVoltage2: '1158',
+    //             Fan_Current2: '0',
+    //             CtrlMode2: '1',
+    //             ExhaustPreHighFault2: '0',
+    //             ShortCutFaul2: '0',
+    //             OilGasBarrel_OverTempAlarm2: '0',
+    //             CloseFail2: '0',
+    //             OilGasBarrel_FilterBlockageFault2: '0',
+    //             HMIStartStop2: '0',
+    //             OilGasBarrel_OverTempAlarm12: '0',
+    //             OverVoltageFault2: '0',
+    //             OilGasBarrel_HighPressureFault2: '0',
+    //             Fan_OverloadFault2: '0',
+    //             OilPressureLowFault2: '0',
+    //             PhaseSequenceFault2: '0',
+    //             PhaseFailureFault2: '0',
+    //             RunTime32: '35323904',
+    //             MainMotor_OverTempFault2: '0',
+    //             FluxTotal22: '0.0',
+    //             PowerFault2: '0',
+    //             LoadorUnload2: '0',
+    //             PreMembraneTemperature2: '-19',
+    //             PhaseSequenceFault12: '0',
+    //             RunTime12: '393216',
+    //             ExhaustTemp12: '0',
+    //             TotalFailureSignal12: '0',
+    //             UnbalanceFault2: '0',
+    //             ExhaustPre2: '0',
+    //             MainMotor_OverloadFault2: '0',
+    //             NoWaterFault2: '0',
+    //             LoadTime2: '539',
+    //             MainMotor_Current2: '0',
+    //             isRun: '-2',
+    //             LeakageLock2: '0',
+    //             OpenFail2: '0',
+    //           },
+    //           readDataDes: null,
+    //           summaryHour: [],
+    //           summaryDay: [],
+    //           history: [],
+    //           dayhistory: [],
+    //           totalInfo: null,
+    //           sign: null,
+    //           cameras: [],
+    //           links: [],
+    //           other1: null,
+    //           other2: null,
+    //           other3: null,
+    //           remarkInfo: null,
+    //           linkInfo: null,
+    //           addrIndex: null,
+    //           warnLogNotOkCount: 0,
+    //         },
+    //       ],
+    //       avginfo: {
+    //         warnFlag: {
+    //           value: 0,
+    //         },
+    //       },
+    //       typeName: '52507注氮机2',
+    //       type: 'nitrogen_525072',
+    //     },
+    //     {
+    //       datalist: [
+    //         {
+    //           msgType: null,
+    //           deviceID: '1818546650996330498',
+    //           strname: '52507注氮机-1',
+    //           strinstallpos: '52507注氮机-1',
+    //           fsectarea: 'null',
+    //           stationname: '52507注氮机-1',
+    //           stationtype: 'redis',
+    //           deviceType: 'nitrogen_525071',
+    //           typeName: '52507注氮机1',
+    //           netStatus: 1,
+    //           warnFlag: 0,
+    //           warnLevel: 0,
+    //           warnLevel_str: '正常',
+    //           syswarnLevel: null,
+    //           syswarnLevel_str: null,
+    //           syswarnLevel_des: null,
+    //           warnTime: null,
+    //           readTime: '2024-08-04 17:59:25',
+    //           warnDes: '',
+    //           frontGateOpenCtrl: null,
+    //           rearGateOpenCtrl: null,
+    //           readData: {
+    //             RunTime41: '131072000',
+    //             NitrogenPurity1: '12',
+    //             ExhaustTemp1: '82.0',
+    //             RunTime21: '786432',
+    //             RunTime1: '1',
+    //             sign: '0',
+    //             OilGasBarrel_SeparatorFault1: '0',
+    //             InputFlux1: '13',
+    //             PhaseFailureFault11: '0',
+    //             LowVoltageFault1: '0',
+    //             SysVoltage1: '1149',
+    //             TotalFailureSignal1: '0',
+    //             Fan_Current1: '0',
+    //             ExhaustPreHighFault1: '0',
+    //             ShortCutFaul1: '0',
+    //             OilGasBarrel_OverTempAlarm1: '0',
+    //             CloseFail1: '0',
+    //             OilGasBarrel_FilterBlockageFault1: '0',
+    //             OilGasBarrel_OverTempAlarm11: '0',
+    //             HMIStartStop1: '0',
+    //             CtrlMode1: '1',
+    //             Fan_OverloadFault1: '0',
+    //             OilPressureLowFault1: '0',
+    //             OverVoltageFault1: '0',
+    //             OilGasBarrel_HighPressureFault1: '0',
+    //             PhaseFailureFault1: '0',
+    //             RunTime31: '70516736',
+    //             FluxTotal21: '0.0',
+    //             FluxTotal1: '0.01',
+    //             MainMotor_OverTempFault1: '0',
+    //             PhaseSequenceFault1: '0',
+    //             PowerFault1: '0',
+    //             LoadorUnload1: '0',
+    //             RunTime11: '3342336',
+    //             PhaseSequenceFault11: '0',
+    //             PreMembraneTemperature1: '25',
+    //             TotalFailureSignal11: '0',
+    //             UnbalanceFault1: '0',
+    //             ExhaustTemp11: '0',
+    //             ExhaustPre1: '89',
+    //             MainMotor_OverloadFault1: '0',
+    //             NoWaterFault1: '0',
+    //             Status1: '0',
+    //             LoadTime1: '1086',
+    //             isRun: '-2',
+    //             LeakageLock1: '0',
+    //             MainMotor_Current1: '95',
+    //             OpenFail1: '0',
+    //             o2Val: '20.23',
+    //             temperature: '19.5',
+    //             fumes_str: '0.2',
+    //           },
+    //           readDataDes: null,
+    //           summaryHour: [],
+    //           summaryDay: [],
+    //           history: [],
+    //           dayhistory: [],
+    //           totalInfo: null,
+    //           sign: null,
+    //           cameras: [],
+    //           links: [],
+    //           other1: null,
+    //           other2: null,
+    //           other3: null,
+    //           remarkInfo: null,
+    //           linkInfo: null,
+    //           addrIndex: null,
+    //           warnLogNotOkCount: 0,
+    //         },
+    //       ],
+    //       avginfo: {
+    //         warnFlag: {
+    //           value: 0,
+    //         },
+    //       },
+    //       typeName: '52507注氮机1',
+    //       type: 'nitrogen_525071',
+    //     },
+    //     {
+    //       subtype: 'sys_nitrogen',
+    //       datalist: [
+    //         {
+    //           msgType: '2',
+    //           deviceID: '1818821502634352642',
+    //           strname: '52507注氮系统',
+    //           strinstallpos: '52507注氮系统',
+    //           fsectarea: 'null',
+    //           stationname: null,
+    //           stationtype: null,
+    //           deviceType: 'sys_nitrogen',
+    //           typeName: '注氮系统',
+    //           netStatus: null,
+    //           warnFlag: 0,
+    //           warnLevel: null,
+    //           warnLevel_str: null,
+    //           syswarnLevel: 0,
+    //           syswarnLevel_str: null,
+    //           syswarnLevel_des: null,
+    //           warnTime: null,
+    //           readTime: '2024-08-01 09:56:28',
+    //           warnDes: '',
+    //           frontGateOpenCtrl: null,
+    //           rearGateOpenCtrl: null,
+    //           readData: {
+    //             sign: '0',
+    //             isRun: '-2',
+    //           },
+    //           readDataDes: null,
+    //           summaryHour: [],
+    //           summaryDay: [],
+    //           history: null,
+    //           dayhistory: [],
+    //           totalInfo: null,
+    //           sign: null,
+    //           cameras: [],
+    //           links: [],
+    //           other1: null,
+    //           other2: null,
+    //           other3: null,
+    //           remarkInfo: null,
+    //           linkInfo: null,
+    //           addrIndex: null,
+    //           warnLogNotOkCount: 0,
+    //         },
+    //       ],
+    //       typeName: '综合监测系统',
+    //       type: 'sys',
+    //     },
+    //   ],
+    // };
+
+    if (!result || result.msgTxt.length < 1) return;
+    let dataSoreDatas = {};
+    let netStatus = 0;
+    result.msgTxt.forEach((item, index) => {
+      if (item.type && item.type.startsWith('nitrogen')) {
+        airCompressorState.length = 0;
+
+        if (item.type.startsWith('nitrogen_52507')) {
+          if (deviceType.value !== 'nitrogen_52507') deviceType.value = 'nitrogen_52507';
+          dataSoreDatas = Object.assign(dataSoreDatas, item['datalist'][0], item['datalist'][0]['readData']);
+          dataSoreDatas['strname' + (index + 1)] = item['datalist'][0]['strname'];
+          if (item['datalist'][0]['netStatus']) {
+            netStatus = 1;
           }
+        } else {
+          deviceType.value = '';
+          monitorData.value = Object.assign(item['datalist'][0], item['datalist'][0]['readData']);
+          if (monitorData.value['netStatus'] == 1) {
+            netStatus = 1;
+          }
+          airCompressorState.push({
+            id: monitorData.value['deviceID'],
+            deviceType: monitorData.value['deviceType'],
+            HMIStart: monitorData.value['HMIStart'],
+            HMIStop: monitorData.value['HMIStop'],
+          });
         }
-      });
-      if (JSON.stringify(dataSoreDatas) !== '{}') {
-        monitorData.value = dataSoreDatas;
-      }
-      monitorNetStatus.value = netStatus;
-      const dataArr = lodash.cloneDeep(echartData.value);
-
-      const airCompressor = { readTime: monitorData.value['readTime'].substring(11) };
-      if (JSON.stringify(dataSoreDatas) === '{}') {
-        airCompressor[`FluxTotal`] = monitorData.value['FluxTotal'] || 0;
       }
-      // airCompressor[`InputFlux`] = Number(monitorData.value['InputFlux1']) + Number(monitorData.value['InputFlux2']) || null;
-      // if (!airCompressor[`InputFlux`]) {
-      //   airCompressor[`InputFlux`] = monitorData.value['InputFlux'];
-      // }
-      airCompressor[`InputFlux`] =
-        monitorData.value['InputFlux'] || Number(monitorData.value['InputFlux1']) + Number(monitorData.value['InputFlux2']);
-
-      monitorData.value['FluxTotal'] = airCompressor[`InputFlux`];
-      //图表数据
-      if (dataArr.length <= 5) {
-        dataArr.push(airCompressor);
-      } else {
-        dataArr.shift();
-        dataArr.push(airCompressor);
-      }
-      echartData.value = dataArr;
-      refresh.value = true;
-      nextTick(() => {
-        refresh.value = false;
-      });
+    });
+    if (JSON.stringify(dataSoreDatas) !== '{}') {
+      monitorData.value = dataSoreDatas;
     }
-  }
+    monitorNetStatus.value = netStatus;
+    const dataArr = lodash.cloneDeep(echartData.value);
 
-  function handlerDevice(data, bol) {
-    kzParam.data = data;
-    kzParam.isFw = bol;
-    if (bol) {
-      modalTitle.value = '一键复位';
-      modalType.value = '1';
-      modalIsShow.value = true;
-      kzParam.data.HMIReset = !data.HMIReset;
-    } else {
-      modalTitle.value = '一键启停';
-      modalType.value = '2';
-      modalIsShow.value = true;
-      kzParam.data.HMIStartStop = !data.HMIStartStop;
+    const airCompressor = { readTime: monitorData.value['readTime'].substring(11) };
+    if (JSON.stringify(dataSoreDatas) === '{}') {
+      airCompressor[`FluxTotal`] = monitorData.value['FluxTotal'] || 0;
     }
-  }
-  function handleOK(passWord, handlerState) {
-    console.log(kzParam, 'kz----------');
-    // if (passWord !== '123456') {
-    //   message.warning('密码不正确,请重新输入');
-    //   return;
+    // airCompressor[`InputFlux`] = Number(monitorData.value['InputFlux1']) + Number(monitorData.value['InputFlux2']) || null;
+    // if (!airCompressor[`InputFlux`]) {
+    //   airCompressor[`InputFlux`] = monitorData.value['InputFlux'];
     // }
-
-    let data = {};
-    if (kzParam.isFw) {
-      data = {
-        deviceid: kzParam.data.id,
-        devicetype: kzParam.data.deviceType,
-        password: passWord,
-        HMIReset: kzParam.data.HMIReset,
-      };
+    // airCompressor[`InputFlux`] =
+    //   monitorData.value['InputFlux'] || Number(monitorData.value['InputFlux1']) + Number(monitorData.value['InputFlux2']);
+    airCompressor[`InputFlux`] = monitorData.value['InputFlux'] || 0;
+    airCompressor[`InputFlux1`] = monitorData.value['InputFlux1'] || 0;
+
+    monitorData.value['FluxTotal'] = airCompressor[`InputFlux`];
+    //图表数据
+    if (dataArr.length <= 5) {
+      dataArr.push(airCompressor);
     } else {
-      data = {
-        deviceid: kzParam.data.id,
-        password: passWord,
-        devicetype: kzParam.data.deviceType,
-        HMIStartStop: kzParam.data.HMIStartStop,
-      };
+      dataArr.shift();
+      dataArr.push(airCompressor);
     }
-
-    deviceControlApi(data).then((res) => {
-      // 模拟时开启
-      if (res.success) {
-        modalIsShow.value = false;
-        getDataSource(props.deviceId);
-        if (globalConfig.History_Type == 'remote') {
-          message.success('指令已下发至生产管控平台成功!');
-        } else {
-          message.success('指令已下发成功!');
-        }
-      }
+    echartData.value = dataArr;
+    refresh.value = true;
+    nextTick(() => {
+      refresh.value = false;
     });
   }
-  function handleCancel() {
-    modalIsShow.value = false;
-    modalTitle.value = '';
-    modalType.value = '';
+}
+
+function handlerDevice(data, bol) {
+  kzParam.data = data;
+  kzParam.isFw = bol;
+  if (bol) {
+    modalTitle.value = '一键复位';
+    modalType.value = '1';
+    modalIsShow.value = true;
+    kzParam.data.HMIReset = !data.HMIReset;
+  } else {
+    modalTitle.value = '一键启停';
+    modalType.value = '2';
+    modalIsShow.value = true;
+    kzParam.data.HMIStartStop = !data.HMIStartStop;
+  }
+}
+function handleOK(passWord, handlerState) {
+  console.log(kzParam, 'kz----------');
+  // if (passWord !== '123456') {
+  //   message.warning('密码不正确,请重新输入');
+  //   return;
+  // }
+
+  let data = {};
+  if (kzParam.isFw) {
+    data = {
+      deviceid: kzParam.data.id,
+      devicetype: kzParam.data.deviceType,
+      password: passWord,
+      HMIReset: kzParam.data.HMIReset,
+    };
+  } else {
+    data = {
+      deviceid: kzParam.data.id,
+      password: passWord,
+      devicetype: kzParam.data.deviceType,
+      HMIStartStop: kzParam.data.HMIStartStop,
+    };
   }
 
-  watch([monitorDataGroupNum, loading], ([newMonitorDataGroupNum, newLoading]) => {
-    nextTick(() => {
-      if (newMonitorDataGroupNum && !newLoading) {
-        setModelType(props.modalType, newMonitorDataGroupNum);
-      }
-    });
-  });
-  // 多套系统,不同点表
-  watch(
-    () => unref(deviceType),
-    async (type: string) => {
-      if (type == 'nitrogen_52507') {
-        const { preMonitorList, preFanMonitorData, nitrogenMonitorData } = await import('../nitrogen.data.dlt1');
-        preMonitorListData.value = preMonitorList;
-        preFanMonitor.value = preFanMonitorData;
-        nitrogenMonitor.value = nitrogenMonitorData;
+  deviceControlApi(data).then((res) => {
+    // 模拟时开启
+    if (res.success) {
+      modalIsShow.value = false;
+      getDataSource(props.deviceId);
+      if (globalConfig.History_Type == 'remote') {
+        message.success('指令已下发至生产管控平台成功!');
       } else {
-        const { preMonitorList, preFanMonitorData, nitrogenMonitorData } = await import('../nitrogen.data.dltj');
-        preMonitorListData.value = preMonitorList;
-        preFanMonitor.value = preFanMonitorData;
-        nitrogenMonitor.value = nitrogenMonitorData;
+        message.success('指令已下发成功!');
       }
-    },
-    { immediate: true }
-  );
-
-  watch(
-    () => props.deviceId,
-    async (deviceId) => {
-      if (deviceId) await getCamera(deviceId, playerRef.value);
     }
-  );
-
-  onMounted(async () => {
-    await getMonitor(true);
-    await mountedThree().then(() => {
-      loading.value = false;
-    });
-    // await getCamera(props.deviceId, playerRef.value);
   });
-
-  onUnmounted(() => {
-    destroy();
-    if (timer) {
-      clearTimeout(timer);
-      timer = undefined;
+}
+function handleCancel() {
+  modalIsShow.value = false;
+  modalTitle.value = '';
+  modalType.value = '';
+}
+
+watch([monitorDataGroupNum, loading], ([newMonitorDataGroupNum, newLoading]) => {
+  nextTick(() => {
+    if (newMonitorDataGroupNum && !newLoading) {
+      setModelType(props.modalType, newMonitorDataGroupNum);
     }
-    removeCamera();
   });
+});
+// 多套系统,不同点表
+watch(
+  () => unref(deviceType),
+  async (type: string) => {
+    if (type == 'nitrogen_52507') {
+      const { preMonitorList, preFanMonitorData, nitrogenMonitorData } = await import('../nitrogen.data.dlt1');
+      preMonitorListData.value = preMonitorList;
+      preFanMonitor.value = preFanMonitorData;
+      nitrogenMonitor.value = nitrogenMonitorData;
+    } else {
+      const { preMonitorList, preFanMonitorData, nitrogenMonitorData } = await import('../nitrogen.data.dltj');
+      preMonitorListData.value = preMonitorList;
+      preFanMonitor.value = preFanMonitorData;
+      nitrogenMonitor.value = nitrogenMonitorData;
+    }
+  },
+  { immediate: true }
+);
+
+watch(
+  () => props.deviceId,
+  async (deviceId) => {
+    if (deviceId) await getCamera(deviceId, playerRef.value);
+  }
+);
+
+onMounted(async () => {
+  await getMonitor(true);
+  await mountedThree().then(() => {
+    loading.value = false;
+  });
+  // await getCamera(props.deviceId, playerRef.value);
+});
+
+onUnmounted(() => {
+  destroy();
+  if (timer) {
+    clearTimeout(timer);
+    timer = undefined;
+  }
+  removeCamera();
+});
 </script>
 
 <style lang="less" scoped>
-  @import '/@/design/theme.less';
-  @ventSpace: zxm;
+@import '/@/design/theme.less';
+@ventSpace: zxm;
+
+.nitrogen-box {
+  width: 100%;
+  height: 100%;
+  display: flex;
+  justify-content: center;
+}
+
+#nitrogenCss3D {
+  .modal-monitor {
+    width: 200px;
+    position: absolute;
+    left: 0px;
+    top: 0px;
+  }
 
-  .nitrogen-box {
+  &:deep(.win) {
+    margin: 0 !important;
+    background: #00000044;
+  }
+}
+
+.nitrogen-home {
+  width: 100%;
+  height: 100%;
+  position: fixed;
+  z-index: 9999;
+  display: flex;
+  flex-direction: column;
+  justify-content: center;
+  align-items: center;
+  pointer-events: none;
+  top: 20px;
+
+  .nitrogen-container {
     width: 100%;
-    height: 100%;
+    height: calc(100% - 100px);
     display: flex;
-    justify-content: center;
-  }
+    justify-content: space-between;
+    margin-bottom: 100px;
+    position: relative;
 
-  #nitrogenCss3D {
-    .modal-monitor {
-      width: 200px;
+    .device-state {
+      width: 100%;
       position: absolute;
-      left: 0px;
-      top: 0px;
-    }
-
-    &:deep(.win) {
-      margin: 0 !important;
-      background: #00000044;
+      top: 20px;
+      color: #e90000;
+      display: flex;
+      justify-content: center;
+      font-size: 20px;
     }
-  }
-
-  .nitrogen-home {
-    width: 100%;
-    height: 100%;
-    position: fixed;
-    z-index: 9999;
-    display: flex;
-    flex-direction: column;
-    justify-content: center;
-    align-items: center;
-    pointer-events: none;
-    top: 20px;
 
-    .nitrogen-container {
+    .top-box {
       width: 100%;
-      height: calc(100% - 100px);
+      padding: 10px;
+      overflow: hidden;
       display: flex;
       justify-content: space-between;
-      margin-bottom: 100px;
-      position: relative;
-      .device-state {
-        width: 100%;
+      // margin-top: 40px;
+
+      .center-item-box {
         position: absolute;
-        top: 20px;
-        color: #e90000;
-        display: flex;
-        justify-content: center;
-        font-size: 20px;
-      }
-      .top-box {
-        width: 100%;
-        padding: 10px;
-        overflow: hidden;
+        left: 50%;
+        top: 50px;
+        transform: translate(-48%, 0);
+        width: calc(100% - 720px);
+        height: 50px;
         display: flex;
-        justify-content: space-between;
-        // margin-top: 40px;
-
-        .center-item-box {
-          position: absolute;
-          left: 50%;
-          top: 50px;
-          transform: translate(-48%, 0);
-          width: calc(100% - 720px);
-          height: 50px;
-          display: flex;
-          align-items: center;
-          pointer-events: auto;
+        align-items: center;
+        pointer-events: auto;
 
-          .top-left {
-            display: flex;
-            flex: 1.5;
-            color: #fff;
+        .top-left {
+          display: flex;
+          flex: 1.5;
+          color: #fff;
 
-            .button-box {
-              position: relative;
-              width: auto;
-              height: 32px;
-              display: flex;
-              align-items: center;
-              justify-content: center;
-              border-radius: 5px;
-              color: #fff;
-              padding: 10px 15px;
-              margin: 0px 10px;
-              box-sizing: border-box;
-              cursor: pointer;
-              background: linear-gradient(#1fa6cb, #127cb5);
-              &:hover {
-                background: linear-gradient(#1fa6cbcc, #127cb5cc);
-              }
-            }
-          }
-          .top-center {
+          .button-box {
+            position: relative;
+            width: auto;
+            height: 32px;
             display: flex;
-            flex: 1;
-            justify-content: center;
             align-items: center;
-            font-size: 20px;
+            justify-content: center;
+            border-radius: 5px;
             color: #fff;
-            .top-c-label {
-              color: yellow;
+            padding: 10px 15px;
+            margin: 0px 10px;
+            box-sizing: border-box;
+            cursor: pointer;
+            background: linear-gradient(#1fa6cb, #127cb5);
+
+            &:hover {
+              background: linear-gradient(#1fa6cbcc, #127cb5cc);
             }
           }
+        }
+
+        .top-center {
+          display: flex;
+          flex: 1;
+          justify-content: center;
+          align-items: center;
+          font-size: 20px;
+          color: #fff;
+
+          .top-c-label {
+            color: yellow;
+          }
+        }
+
+        .top-right {
+          display: flex;
+          flex: 2;
+          justify-content: right;
+          align-items: center;
+          color: #fff;
 
-          .top-right {
+          .control-type {
             display: flex;
-            flex: 2;
-            justify-content: right;
-            align-items: center;
             color: #fff;
-            .control-type {
-              display: flex;
-              color: #fff;
-              .control-title {
-                color: #73e8fe;
-              }
+
+            .control-title {
+              color: #73e8fe;
             }
           }
         }
-        .lr-box {
-          height: 100%;
+      }
+
+      .lr-box {
+        height: 100%;
+        display: flex;
+        flex-direction: column;
+        position: relative;
+        // overflow: hidden;
+        z-index: 9999;
+        pointer-events: auto;
+        overflow-y: auto;
+        overflow-x: hidden;
+
+        .input-item {
           display: flex;
-          flex-direction: column;
-          position: relative;
-          // overflow: hidden;
-          z-index: 9999;
-          pointer-events: auto;
-          overflow-y: auto;
-          overflow-x: hidden;
-          .input-item {
-            display: flex;
-            justify-content: space-between;
-            align-items: center;
-            padding: 4px 8px;
-            margin: 6px 0;
-            background-image: linear-gradient(to right, #39deff15, #3977e500);
+          justify-content: space-between;
+          align-items: center;
+          padding: 4px 8px;
+          margin: 6px 0;
+          background-image: linear-gradient(to right, #39deff15, #3977e500);
 
-            .title {
-              width: 200px;
-            }
-            .title-auto {
-              width: auto;
-            }
+          .title {
+            width: 200px;
+          }
 
-            .input-value {
-              width: 80px;
-              height: 28px;
-              line-height: 28px !important;
-              background: transparent !important;
-              border-color: #228da2 !important;
-              color: #fff !important;
-            }
-            .value {
-              width: 100px;
-              color: #00d8ff;
-              padding-right: 20px;
-            }
-            .unit {
-              width: 80px;
-              text-align: right;
-            }
+          .title-auto {
+            width: auto;
           }
-        }
 
-        .item {
-          width: 305px;
-          height: auto;
-          position: relative;
-          border-radius: 5px;
-          margin-top: 10px;
-          margin-bottom: 0px;
-          pointer-events: auto;
-          color: #fff;
-          // overflow: hidden;
+          .input-value {
+            width: 80px;
+            height: 28px;
+            line-height: 28px !important;
+            background: transparent !important;
+            border-color: #228da2 !important;
+            color: #fff !important;
+          }
 
-          &:first-child {
-            margin-top: 0px;
+          .value {
+            width: 100px;
+            color: #00d8ff;
+            padding-right: 20px;
           }
 
-          .base-title {
-            color: #fff;
-            margin-bottom: 8px;
-            padding-left: 10px;
-            position: relative;
-            font-size: 16px;
+          .unit {
+            width: 80px;
+            text-align: right;
+          }
+        }
+      }
 
-            &::after {
-              content: '';
-              position: absolute;
-              display: block;
-              width: 4px;
-              height: 12px;
-              top: 7px;
-              left: 0px;
-              background: #45d3fd;
-              border-radius: 4px;
-            }
+      .item {
+        width: 305px;
+        height: auto;
+        position: relative;
+        border-radius: 5px;
+        margin-top: 10px;
+        margin-bottom: 0px;
+        pointer-events: auto;
+        color: #fff;
+        // overflow: hidden;
+
+        &:first-child {
+          margin-top: 0px;
+        }
+
+        .base-title {
+          color: #fff;
+          margin-bottom: 8px;
+          padding-left: 10px;
+          position: relative;
+          font-size: 16px;
+
+          &::after {
+            content: '';
+            position: absolute;
+            display: block;
+            width: 4px;
+            height: 12px;
+            top: 7px;
+            left: 0px;
+            background: #45d3fd;
+            border-radius: 4px;
           }
+        }
 
-          .monitor-item {
-            width: 100%;
+        .monitor-item {
+          width: 100%;
+          display: flex;
+          flex-direction: row;
+          flex-wrap: wrap;
+
+          .state-item {
+            width: 50%;
+            padding: 5px;
             display: flex;
-            flex-direction: row;
-            flex-wrap: wrap;
-            .state-item {
-              width: 50%;
-              padding: 5px;
-              display: flex;
-              align-items: center;
-              justify-content: space-between;
-              .state-title {
-                width: 100px;
-                color: #ffffffdd;
-                flex: 9;
-                font-size: 14px;
-                .unit {
-                  // color: #ffffffbb;
-                }
-                .value {
-                  color: #00d8ff;
-                }
+            align-items: center;
+            justify-content: space-between;
+
+            .state-title {
+              width: 100px;
+              color: #ffffffdd;
+              flex: 9;
+              font-size: 14px;
+
+              .unit {
+                // color: #ffffffbb;
               }
-              .state-val {
-                flex: 1;
-                color: #e4a300;
-                margin-right: 5px;
-                text-align: right;
-                font-size: 14px;
+
+              .value {
+                color: #00d8ff;
               }
             }
+
+            .state-val {
+              flex: 1;
+              color: #e4a300;
+              margin-right: 5px;
+              text-align: right;
+              font-size: 14px;
+            }
           }
+        }
 
-          .signal-box {
-            margin: 5px 0;
-            display: flex;
-            align-items: center;
+        .signal-box {
+          margin: 5px 0;
+          display: flex;
+          align-items: center;
 
-            .signal-title {
-              color: #7af5ff;
-              margin: 0 5px;
-            }
+          .signal-title {
+            color: #7af5ff;
+            margin: 0 5px;
+          }
 
-            &:last-child {
-              margin-right: 0px;
-            }
+          &:last-child {
+            margin-right: 0px;
           }
+        }
 
-          .list-item {
-            padding: 0 10px;
-            display: flex;
-            justify-content: space-between;
-            align-items: center;
+        .list-item {
+          padding: 0 10px;
+          display: flex;
+          justify-content: space-between;
+          align-items: center;
 
-            .item-data-key {
-              color: #ffffff99;
-            }
+          .item-data-key {
+            color: #ffffff99;
           }
+        }
 
-          .item-data-box {
-            color: #fff;
+        .item-data-box {
+          color: #fff;
 
-            .state-icon {
-              display: inline-block;
-              width: 12px;
-              height: 12px;
-              border-radius: 12px;
-            }
+          .state-icon {
+            display: inline-block;
+            width: 12px;
+            height: 12px;
+            border-radius: 12px;
+          }
 
-            .open {
-              border: 5px solid #133a56;
-              background: #4ecb73;
-            }
+          .open {
+            border: 5px solid #133a56;
+            background: #4ecb73;
+          }
 
-            .close {
-              border: 5px solid #192961;
-              background: #6d7898;
-            }
+          .close {
+            border: 5px solid #192961;
+            background: #6d7898;
           }
         }
+      }
+
+      .item-l {
+        width: 100%;
 
-        .item-l {
+        .monitor-box {
           width: 100%;
 
-          .monitor-box {
+          .parameter-title {
+            position: relative;
             width: 100%;
+            height: 14px;
+            margin-top: 10px;
 
-            .parameter-title {
-              position: relative;
-              width: 100%;
-              height: 14px;
-              margin-top: 10px;
-
-              .icon,
-              span {
-                position: absolute;
-                top: -10px;
-              }
+            .icon,
+            span {
+              position: absolute;
+              top: -10px;
             }
+          }
 
-            .group-parameter-title {
-              background-image: linear-gradient(to right, #39a3ff50, #39a3ff00);
-
-              .icon {
-                left: -12px;
-                top: -17px;
-              }
+          .group-parameter-title {
+            background-image: linear-gradient(to right, #39a3ff50, #39a3ff00);
 
-              span {
-                left: 18px;
-              }
+            .icon {
+              left: -12px;
+              top: -17px;
+            }
 
-              .item-col {
-                background-image: linear-gradient(to right, #39a3ff00, #39a3ff10);
-              }
+            span {
+              left: 18px;
             }
 
-            .device-parameter-title {
-              background-image: linear-gradient(to right, #3df6ff40, #3df6ff00);
+            .item-col {
+              background-image: linear-gradient(to right, #39a3ff00, #39a3ff10);
+            }
+          }
 
-              .icon {
-                left: -10px;
-                top: -14px;
-              }
+          .device-parameter-title {
+            background-image: linear-gradient(to right, #3df6ff40, #3df6ff00);
 
-              span {
-                left: 18px;
-              }
+            .icon {
+              left: -10px;
+              top: -14px;
+            }
 
-              .item-col {
-                background-image: linear-gradient(to right, #3df6ff10, #3df6ff00);
-              }
+            span {
+              left: 18px;
             }
-            .monitor-item {
-              .value {
-                color: #00d8ff;
-              }
+
+            .item-col {
+              background-image: linear-gradient(to right, #3df6ff10, #3df6ff00);
             }
           }
-        }
 
-        .right-box {
-          width: 300px;
-          margin-top: 50px;
+          .monitor-item {
+            .value {
+              color: #00d8ff;
+            }
+          }
         }
+      }
 
-        .left-box {
-          width: 335px;
-          margin-top: 80px;
-        }
+      .right-box {
+        width: 300px;
+        margin-top: 50px;
       }
-      &:deep(.win) {
-        width: 100%;
-        margin: 0 !important;
+
+      .left-box {
+        width: 335px;
+        margin-top: 80px;
       }
     }
-    .player-box {
-      position: absolute;
-      height: auto;
-      // width: 100%;
-      right: 0px;
-      bottom: 110px;
-      z-index: 99999;
-      display: flex;
-      #LivePlayerBox {
-        width: auto !important;
-      }
+
+    &:deep(.win) {
+      width: 100%;
+      margin: 0 !important;
     }
   }
 
-  &:deep(.main) {
-    .title {
-      height: 34px;
-      text-align: center;
-      font-weight: 600;
-      color: #7af5ff;
-      // background-image: url('../../../assets/img/yfj/light.png');
-      background-repeat: no-repeat;
-      background-position-x: center;
-      background-position-y: 100%;
-      background-size: 80%;
-      font-size: 16px;
+  .player-box {
+    position: absolute;
+    height: auto;
+    // width: 100%;
+    right: 0px;
+    bottom: 110px;
+    z-index: 99999;
+    display: flex;
+
+    #LivePlayerBox {
+      width: auto !important;
     }
+  }
+}
+
+&:deep(.main) {
+  .title {
+    height: 34px;
+    text-align: center;
+    font-weight: 600;
+    color: #7af5ff;
+    // background-image: url('../../../assets/img/yfj/light.png');
+    background-repeat: no-repeat;
+    background-position-x: center;
+    background-position-y: 100%;
+    background-size: 80%;
+    font-size: 16px;
+  }
+
+  .monitor-item {
+    width: 200px;
+    display: flex;
+    flex-direction: row;
+    width: auto;
+    margin-bottom: 3px;
 
-    .monitor-item {
-      width: 200px;
+    .monitor-val {
+      color: #ffb700;
       display: flex;
-      flex-direction: row;
       width: auto;
-      margin-bottom: 3px;
 
-      .monitor-val {
-        color: #ffb700;
-        display: flex;
-        width: auto;
-
-        .val {
-          width: 80px;
-          font-size: 14px;
-        }
+      .val {
+        width: 80px;
+        font-size: 14px;
+      }
 
-        .unit {
-          color: #ffffffbb;
-          font-size: 14px;
-        }
+      .unit {
+        color: #ffffffbb;
+        font-size: 14px;
       }
     }
+  }
 
-    .monitor-title {
-      width: 100px;
-      color: #7af5ff;
-      font-weight: 400;
-      font-size: 14px;
-    }
+  .monitor-title {
+    width: 100px;
+    color: #7af5ff;
+    font-weight: 400;
+    font-size: 14px;
+  }
 
-    .signal-item {
-      display: flex;
-      justify-content: space-between;
+  .signal-item {
+    display: flex;
+    justify-content: space-between;
+
+    // margin-bottom: 5px;
+    .signal-round {
+      display: inline-block;
+      width: 8px;
+      height: 8px;
+      border-radius: 50%;
+      margin: 0 10px;
+      position: relative;
 
-      // margin-bottom: 5px;
-      .signal-round {
-        display: inline-block;
-        width: 8px;
-        height: 8px;
+      &::after {
+        display: block;
+        content: '';
+        position: absolute;
+        width: 12px;
+        height: 12px;
+        top: -2px;
+        left: -2px;
         border-radius: 50%;
-        margin: 0 10px;
-        position: relative;
-
-        &::after {
-          display: block;
-          content: '';
-          position: absolute;
-          width: 12px;
-          height: 12px;
-          top: -2px;
-          left: -2px;
-          border-radius: 50%;
-        }
       }
+    }
 
-      .signal-round-gry {
-        background-color: #858585;
+    .signal-round-gry {
+      background-color: #858585;
 
-        &::after {
-          background-color: #85858544;
-          box-shadow: 0 0 1px 1px #85858599;
-        }
+      &::after {
+        background-color: #85858544;
+        box-shadow: 0 0 1px 1px #85858599;
       }
+    }
 
-      .signal-round-run {
-        background-color: #67fc00;
+    .signal-round-run {
+      background-color: #67fc00;
 
-        &::after {
-          background-color: #67fc0044;
-          box-shadow: 0 0 1px 1px #c6ff77;
-        }
+      &::after {
+        background-color: #67fc0044;
+        box-shadow: 0 0 1px 1px #c6ff77;
       }
+    }
 
-      .signal-round-warning {
-        background-color: #e9170b;
+    .signal-round-warning {
+      background-color: #e9170b;
 
-        &::after {
-          background-color: #e9170b44;
-          box-shadow: 0 0 1px 1px #e9170b;
-        }
+      &::after {
+        background-color: #e9170b44;
+        box-shadow: 0 0 1px 1px #e9170b;
       }
     }
   }
+}
 
-  :deep(.zxm-radio-wrapper) {
-    color: #fff !important;
-  }
+:deep(.zxm-radio-wrapper) {
+  color: #fff !important;
+}
 </style>

+ 2 - 1
src/views/vent/monitorManager/deviceMonitor/components/device/device.data.ts

@@ -79,7 +79,8 @@ case 'sdmtjtwlmlmk': //乌兰木伦
 FiberModal = defineAsyncComponent(() => import('./modal/fiber.modal.wlml.vue'));
 break;
 default:
-FiberModal = defineAsyncComponent(() => import('./modal/fiber.modal-Gx.vue'));
+FiberModal = defineAsyncComponent(() => import('./modal/fiber.modal.hlg.vue'));
+//FiberModal = defineAsyncComponent(() => import('./modal/fiber.modal-Gx.vue'));
 // FiberModal = defineAsyncComponent(() => import('./modal/fiber.modal.wlml.vue'));
 // FiberModal = defineAsyncComponent(() => import('./modal/fiber.modal.sw.vue'));
 // FiberModal = defineAsyncComponent(() => import('./modal/fiber.modal.vue'));

+ 363 - 862
src/views/vent/monitorManager/deviceMonitor/components/device/modal/fiber.modal.hlg.vue

@@ -1,13 +1,10 @@
 <template>
-  <BasicModal v-bind="$attrs" @register="register" :title="`光纤测温详情    ${currentTime}`" width="1200px" @ok="handleOk" @cancel="handleCancel">
+  <BasicModal v-bind="$attrs" @register="register" :title="`光纤测温详情    ${currentTime}`" width="1200px" @ok="handleOk"
+    @cancel="handleCancel">
     <div class="fiber-modal">
       <div class="modal-left">
-        <div
-          v-for="device in deviceList"
-          class="link-item"
-          :class="{ 'active-device-title': device.deviceID === activeDeviceID }"
-          :key="device.deviceID"
-        >
+        <div v-for="device in deviceList" class="link-item"
+          :class="{ 'active-device-title': device.deviceID === activeDeviceID }" :key="device.deviceID">
           <span class="" @click="selectDevice(device.deviceID)">{{ device.strinstallpos }}</span>
         </div>
       </div>
@@ -41,7 +38,8 @@
         <div class="right-bottom">
           <span class="base-title">测点监测曲线</span>
           <div class="echarts-box">
-            <BarAndLine xAxisPropType="Section_Position" :dataSource="posList1" height="100%" :chartsColumns="chartsColumns" :option="echatsOption" />
+            <BarAndLine xAxisPropType="Section_Position" :dataSource="posList1" height="100%"
+              :chartsColumns="chartsColumns" :option="echatsOption" />
           </div>
         </div>
       </div>
@@ -49,914 +47,417 @@
   </BasicModal>
 </template>
 <script lang="ts">
-  import { defineComponent, ref, watch, shallowRef, reactive } from 'vue';
-  import { BasicModal, useModalInner } from '/@/components/Modal';
-  import BarAndLine from '/@/components/chart/BarAndLine.vue';
-  import { SvgIcon } from '/@/components/Icon';
-  import { Decoration7 as DvDecoration7, ScrollBoard as DvScrollBoard } from '@kjgl77/datav-vue3';
-  import dayjs from 'dayjs';
-  import { formatNum } from '/@/utils/ventutil';
-
-  export default defineComponent({
-    components: { BasicModal, BarAndLine, SvgIcon, DvScrollBoard, DvDecoration7 },
-    props: {
-      dataSource: { type: Array },
-      activeID: { type: String },
-    },
-    setup(props) {
-      const currentTime = ref(dayjs().format('YYYY-MM-DD HH:mm:ss'));
-      const modelRef = ref({});
-      const loading = ref(true);
-      const activeDeviceID = ref('');
-      const deviceList = ref<any[]>([]);
-      const posList = reactive<any[]>([]);
-      const posList1 = reactive<any[]>([]);
-      //风险等级
-      const warnLevels = ref('');
-      //最高温度
-      const maxTemp = ref(0);
-
-      const echatsOption = {
-        grid: {
-          top: '20%',
-          left: '2px',
-          right: '10px',
-          bottom: '3%',
-          containLabel: true,
-        },
-        toolbox: {
-          feature: {},
-        },
-      };
-
-      const chartsColumns = [
-        {
-          legend: '最高温度',
-          seriesName: '(℃)',
-          ymax: 100,
-          yname: '℃',
-          linetype: 'line',
-          yaxispos: 'left',
-          color: '#FDB146',
-          sort: 1,
-          xRotate: 0,
-          dataIndex: 'value',
-        },
-      ];
-      const columns = [
-        {
-          title: '位置',
-          dataIndex: 'position',
-          width: 60,
-          align: 'center',
-        },
-        {
-          title: '最高温度(℃)',
-          dataIndex: 'Section_MaxTemp',
-          align: 'center',
-        },
-        {
-          title: '对应米数(m)',
-          dataIndex: 'Section_MaxTempPos',
-          align: 'center',
-        },
-        {
-          title: '起点',
-          dataIndex: 'Section_BeginPosition',
-          align: 'center',
-        },
-        {
-          title: '终点',
-          dataIndex: 'Section_EndPosition',
-          align: 'center',
-        },
-        {
-          title: '报警温度(℃)',
-          dataIndex: 'Section_AlarmTemp',
-          align: 'center',
-        },
-        {
-          title: '报警状态',
-          dataIndex: 'isWarn',
-          align: 'center',
-        },
-      ];
-
-      const [register, { setModalProps, closeModal }] = useModalInner();
-
-      function handleVisibleChange(visible) {
-        if (visible) {
-          loading.value = true;
-          setModalProps({ loading: true, confirmLoading: true });
-
-          setTimeout(() => {
-            loading.value = false;
-            setModalProps({ loading: false, confirmLoading: false });
-          }, 1000);
-        }
-      }
-
-      // 选择监测
-      function selectDevice(id) {
+import { defineComponent, ref, watch, shallowRef, reactive } from 'vue';
+import { BasicModal, useModalInner } from '/@/components/Modal';
+import BarAndLine from '/@/components/chart/BarAndLine.vue';
+import { SvgIcon } from '/@/components/Icon';
+import { Decoration7 as DvDecoration7, ScrollBoard as DvScrollBoard } from '@kjgl77/datav-vue3';
+import dayjs from 'dayjs';
+import { formatNum } from '/@/utils/ventutil';
+
+export default defineComponent({
+  components: { BasicModal, BarAndLine, SvgIcon, DvScrollBoard, DvDecoration7 },
+  props: {
+    dataSource: { type: Array },
+    activeID: { type: String },
+  },
+  setup(props) {
+    const currentTime = ref(dayjs().format('YYYY-MM-DD HH:mm:ss'));
+    const modelRef = ref({});
+    const loading = ref(true);
+    const activeDeviceID = ref('');
+    const deviceList = ref<any[]>([]);
+    const posList = reactive<any[]>([]);
+    const posList1 = reactive<any[]>([]);
+    //风险等级
+    const warnLevels = ref('');
+    //最高温度
+    const maxTemp = ref(0);
+
+    const echatsOption = {
+      grid: {
+        top: '20%',
+        left: '2px',
+        right: '10px',
+        bottom: '3%',
+        containLabel: true,
+      },
+      toolbox: {
+        feature: {},
+      },
+    };
+
+    const chartsColumns = [
+      {
+        legend: '最高温度',
+        seriesName: '(℃)',
+        ymax: 100,
+        yname: '℃',
+        linetype: 'line',
+        yaxispos: 'left',
+        color: '#FDB146',
+        sort: 1,
+        xRotate: 0,
+        dataIndex: 'value',
+      },
+    ];
+    const columns = [
+      {
+        title: '位置',
+        dataIndex: 'position',
+        width: 60,
+        align: 'center',
+      },
+      {
+        title: '最高温度(℃)',
+        dataIndex: 'Section_MaxTemp',
+        align: 'center',
+      },
+      {
+        title: '对应米数(m)',
+        dataIndex: 'Section_MaxTempPos',
+        align: 'center',
+      },
+      {
+        title: '起点',
+        dataIndex: 'Section_BeginPosition',
+        align: 'center',
+      },
+      {
+        title: '终点',
+        dataIndex: 'Section_EndPosition',
+        align: 'center',
+      },
+      {
+        title: '报警温度(℃)',
+        dataIndex: 'Section_AlarmTemp',
+        align: 'center',
+      },
+      {
+        title: '报警状态',
+        dataIndex: 'isWarn',
+        align: 'center',
+      },
+    ];
+
+    const [register, { setModalProps, closeModal }] = useModalInner();
+
+    function handleVisibleChange(visible) {
+      if (visible) {
         loading.value = true;
         setModalProps({ loading: true, confirmLoading: true });
+
         setTimeout(() => {
           loading.value = false;
-          activeDeviceID.value = id;
           setModalProps({ loading: false, confirmLoading: false });
-        }, 300);
+        }, 1000);
       }
+    }
 
-      function handleOk(e) {
-        e.preventDefault();
-        closeModal();
-      }
+    // 选择监测
+    function selectDevice(id) {
+      loading.value = true;
+      setModalProps({ loading: true, confirmLoading: true });
+      setTimeout(() => {
+        loading.value = false;
+        activeDeviceID.value = id;
+        setModalProps({ loading: false, confirmLoading: false });
+      }, 300);
+    }
 
-      function handleCancel(e) {
-        e.preventDefault();
-        closeModal();
-      }
+    function handleOk(e) {
+      e.preventDefault();
+      closeModal();
+    }
+
+    function handleCancel(e) {
+      e.preventDefault();
+      closeModal();
+    }
 
-      watch([() => props.dataSource, () => props.activeID], ([newDataSource, newActiveID], [oldDataSource, oldActiveID]) => {
-        console.log(newDataSource, 'newDataSource--------------');
-
-        // if (newActiveID != oldActiveID) {
-        //   activeDeviceID.value = newActiveID as string;
-        // }
-        // newDataSource = [
-        //   {
-        //     msgType: null,
-        //     deviceID: '1754025882387599361',
-        //     strname: '31煤中央变电所电缆沟-通道一',
-        //     strinstallpos: '31煤中央变电所电缆沟-通道一',
-        //     fsectarea: 'null',
-        //     stationname: '光纤测温',
-        //     stationtype: 'redis',
-        //     deviceType: 'fiber_normal',
-        //     typeName: '光纤测温',
-        //     netStatus: 1,
-        //     warnFlag: 0,
-        //     warnLevel: 0,
-        //     warnLevel_str: '正常',
-        //     syswarnLevel: null,
-        //     syswarnLevel_str: null,
-        //     syswarnLevel_des: null,
-        //     warnTime: null,
-        //     readTime: '2025-02-17 14:48:00',
-        //     warnDes: '',
-        //     frontGateOpenCtrl: null,
-        //     rearGateOpenCtrl: null,
-        //     readData: {
-        //       Section9_AlarmTemp: '0.00',
-        //       Section13_BeginPosition: '5010.00',
-        //       Section4_MaxTempPos: '1207.00',
-        //       Section2_BeginPosition: '91.00',
-        //       Section10_EndPosition: '4126.00',
-        //       sign: '0',
-        //       Section2_AlarmTemp: '0.00',
-        //       Section2_MaxTemp: '19.00',
-        //       Section12_AlarmTemp: '0.00',
-        //       Section8_EndPosition: '3777.00',
-        //       Section12_MaxTempPos: '5007.00',
-        //       Section7_EndPosition: '3296.00',
-        //       Section9_EndPosition: '3956.00',
-        //       Section1_BeginPosition: '1.00',
-        //       Section6_EndPosition: '2293.00',
-        //       Section7_BeginPosition: '2796.00',
-        //       Section6_MaxTemp: '14.00',
-        //       Section12_MaxTemp: '14.00',
-        //       Section1_MaxTempPos: '67.00',
-        //       Section13_EndPosition: '5364.00',
-        //       Section11_EndPosition: '4626.00',
-        //       Section4_MaxTemp: '14.00',
-        //       Section5_AlarmTemp: '0.00',
-        //       Section12_EndPosition: '5009.00',
-        //       Section11_MaxTempPos: '4143.00',
-        //       Section12_BeginPosition: '4627.00',
-        //       Section9_MaxTempPos: '3941.00',
-        //       Section13_AlarmTemp: '0.00',
-        //       maxValue: '27.00',
-        //       Section1_AlarmTemp: '0.00',
-        //       Section2_MaxTempPos: '91.00',
-        //       Section8_MaxTemp: '15.00',
-        //       Section8_AlarmTemp: '0.00',
-        //       Section6_BeginPosition: '1793.00',
-        //       Section10_MaxTempPos: '3997.00',
-        //       Section10_AlarmTemp: '0.00',
-        //       Section3_MaxTempPos: '291.00',
-        //       Section4_AlarmTemp: '0.00',
-        //       Section11_BeginPosition: '4127.00',
-        //       Section9_BeginPosition: '3778.00',
-        //       Section1_MaxTemp: '19.00',
-        //       Section3_MaxTemp: '16.00',
-        //       Section7_AlarmTemp: '0.00',
-        //       Section13_MaxTempPos: '5010.00',
-        //       Section10_BeginPosition: '3957.00',
-        //       Section5_MaxTempPos: '1316.00',
-        //       Section11_AlarmTemp: '0.00',
-        //       Section8_MaxTempPos: '3736.00',
-        //       Section5_BeginPosition: '1292.00',
-        //       Section11_MaxTemp: '21.00',
-        //       Section5_MaxTemp: '14.00',
-        //       Section10_MaxTemp: '27.00',
-        //       Section1_EndPosition: '90.00',
-        //       Section3_BeginPosition: '291.00',
-        //       Section2_EndPosition: '290.00',
-        //       Section9_MaxTemp: '26.00',
-        //       Section6_MaxTempPos: '1816.00',
-        //       Section4_EndPosition: '1291.00',
-        //       Section3_AlarmTemp: '0.00',
-        //       Section5_EndPosition: '1792.00',
-        //       Section3_EndPosition: '791.00',
-        //       Section7_MaxTemp: '14.00',
-        //       Section13_MaxTemp: '14.00',
-        //       Section8_BeginPosition: '3297.00',
-        //       Section7_MaxTempPos: '3285.00',
-        //       Section6_AlarmTemp: '0.00',
-        //       isRun: '-2',
-        //       Section4_BeginPosition: '792.00',
-        //     },
-        //     readDataDes: null,
-        //     summaryHour: [],
-        //     summaryDay: [],
-        //     history: [],
-        //     dayhistory: [],
-        //     totalInfo: null,
-        //     sign: null,
-        //     cameras: [],
-        //     links: [],
-        //     avgParam: {
-        //       avg_gas_value: null,
-        //       min_temperature_value: null,
-        //       min_no_value: null,
-        //       avg_no_value: null,
-        //       max_ch4_value: null,
-        //       min_co2_value: null,
-        //       min_m3_value: null,
-        //       max_o2_value: null,
-        //       avg_va_value: null,
-        //       max_c2h2_value: null,
-        //       min_c2h4_value: null,
-        //       max_no_value: null,
-        //       avg_m3_value: null,
-        //       max_co_value: null,
-        //       min_va_value: null,
-        //       min_ch4_value: null,
-        //       max_temperature_value: null,
-        //       min_gas_value: null,
-        //       device_id: 1754025882387599361,
-        //       min_o2_value: null,
-        //       avg_temperature_value: null,
-        //       max_dusting_value: null,
-        //       min_c2h2_value: null,
-        //       min_dusting_value: null,
-        //       avg_c2h4_value: null,
-        //       max_c2h4_value: null,
-        //       avg_o2_value: null,
-        //       avg_co2_value: null,
-        //       max_gas_value: null,
-        //       max_va_value: null,
-        //       max_co2_value: null,
-        //       avg_co_value: null,
-        //       max_m3_value: null,
-        //       avg_dusting_value: null,
-        //       avg_c2h2_value: null,
-        //       avg_ch4_value: null,
-        //       min_co_value: null,
-        //     },
-        //     other1: null,
-        //     other2: null,
-        //     other3: null,
-        //     remarkInfo: null,
-        //     linkInfo: null,
-        //     addrIndex: null,
-        //     warnLogNotOkCount: 0,
-        //     otherInfo: null,
-        //     orderNum: 0,
-        //     pointNumber: '',
-        //     supportNum: '',
-        //     totalLength: '',
-        //     intervalLength: '',
-        //     fireCause: '',
-        //     endPos: '三盘区主运至31307顺槽机尾',
-        //     startPos: '31煤中央变电所电缆沟',
-        //     deviceId: 1754025882387599361,
-        //   },
-        //   {
-        //     msgType: null,
-        //     deviceID: '1754025882387599362',
-        //     strname: '31煤中央变电所电缆沟-通道二',
-        //     strinstallpos: '31煤中央变电所电缆沟-通道二',
-        //     fsectarea: 'null',
-        //     stationname: '光纤测温',
-        //     stationtype: 'redis',
-        //     deviceType: 'fiber_normal',
-        //     typeName: '光纤测温',
-        //     netStatus: 1,
-        //     warnFlag: 0,
-        //     warnLevel: 0,
-        //     warnLevel_str: '正常',
-        //     syswarnLevel: null,
-        //     syswarnLevel_str: null,
-        //     syswarnLevel_des: null,
-        //     warnTime: null,
-        //     readTime: '2025-02-17 14:48:00',
-        //     warnDes: '',
-        //     frontGateOpenCtrl: null,
-        //     rearGateOpenCtrl: null,
-        //     readData: {
-        //       Section11_MaxTempPos: '1453.00',
-        //       Section9_AlarmTemp: '0.00',
-        //       Section10_MaxTemp: '23.00',
-        //       Section9_BeginPosition: '1336.00',
-        //       Section9_MaxTemp: '23.00',
-        //       Section9_MaxTempPos: '1425.00',
-        //       maxValue: '23.00',
-        //       Section10_EndPosition: '1452.00',
-        //       sign: '0',
-        //       Section8_MaxTemp: '19.00',
-        //       Section8_BeginPosition: '1235.00',
-        //       Section8_AlarmTemp: '0.00',
-        //       Section8_EndPosition: '1335.00',
-        //       Section10_BeginPosition: '1437.00',
-        //       Section9_EndPosition: '1436.00',
-        //       Section10_AlarmTemp: '0.00',
-        //       Section10_MaxTempPos: '1447.00',
-        //       Section11_AlarmTemp: '0.00',
-        //       Section8_MaxTempPos: '1295.00',
-        //       Section11_BeginPosition: '1453.00',
-        //       Section11_EndPosition: '1458.00',
-        //       isRun: '-2',
-        //       Section11_MaxTemp: '6.00',
-        //     },
-        //     readDataDes: null,
-        //     summaryHour: [],
-        //     summaryDay: [],
-        //     history: [],
-        //     dayhistory: [],
-        //     totalInfo: null,
-        //     sign: null,
-        //     cameras: [],
-        //     links: [],
-        //     avgParam: {
-        //       avg_gas_value: null,
-        //       min_temperature_value: null,
-        //       min_no_value: null,
-        //       avg_no_value: null,
-        //       max_ch4_value: null,
-        //       min_co2_value: null,
-        //       min_m3_value: null,
-        //       max_o2_value: null,
-        //       avg_va_value: null,
-        //       max_c2h2_value: null,
-        //       min_c2h4_value: null,
-        //       max_no_value: null,
-        //       avg_m3_value: null,
-        //       max_co_value: null,
-        //       min_va_value: null,
-        //       min_ch4_value: null,
-        //       max_temperature_value: null,
-        //       min_gas_value: null,
-        //       device_id: 1754025882387599362,
-        //       min_o2_value: null,
-        //       avg_temperature_value: null,
-        //       max_dusting_value: null,
-        //       min_c2h2_value: null,
-        //       min_dusting_value: null,
-        //       avg_c2h4_value: null,
-        //       max_c2h4_value: null,
-        //       avg_o2_value: null,
-        //       avg_co2_value: null,
-        //       max_gas_value: null,
-        //       max_va_value: null,
-        //       max_co2_value: null,
-        //       avg_co_value: null,
-        //       max_m3_value: null,
-        //       avg_dusting_value: null,
-        //       avg_c2h2_value: null,
-        //       avg_ch4_value: null,
-        //       min_co_value: null,
-        //     },
-        //     other1: null,
-        //     other2: null,
-        //     other3: null,
-        //     remarkInfo: null,
-        //     linkInfo: null,
-        //     addrIndex: null,
-        //     warnLogNotOkCount: 0,
-        //     otherInfo: null,
-        //     orderNum: 0,
-        //     pointNumber: '',
-        //     supportNum: '',
-        //     totalLength: '',
-        //     intervalLength: '',
-        //     fireCause: '',
-        //     endPos: '配仓配电室',
-        //     startPos: '31煤中央变电所电缆沟',
-        //     deviceId: 1754025882387599362,
-        //   },
-        //   {
-        //     msgType: null,
-        //     deviceID: '1754025882387599363',
-        //     strname: '31煤中央变电所电缆沟-通道三',
-        //     strinstallpos: '31煤中央变电所电缆沟-通道三',
-        //     fsectarea: 'null',
-        //     stationname: '光纤测温',
-        //     stationtype: 'redis',
-        //     deviceType: 'fiber_normal',
-        //     typeName: '光纤测温',
-        //     netStatus: 1,
-        //     warnFlag: 0,
-        //     warnLevel: 0,
-        //     warnLevel_str: '正常',
-        //     syswarnLevel: null,
-        //     syswarnLevel_str: null,
-        //     syswarnLevel_des: null,
-        //     warnTime: null,
-        //     readTime: '2025-02-17 14:48:00',
-        //     warnDes: '',
-        //     frontGateOpenCtrl: null,
-        //     rearGateOpenCtrl: null,
-        //     readData: {
-        //       Section3_BeginPosition: '415.00',
-        //       Section2_EndPosition: '414.00',
-        //       Section4_MaxTempPos: '484.00',
-        //       maxValue: '39.00',
-        //       Section2_BeginPosition: '76.00',
-        //       sign: '0',
-        //       Section2_MaxTempPos: '148.00',
-        //       Section4_EndPosition: '687.00',
-        //       Section3_MaxTemp: '11.00',
-        //       Section2_AlarmTemp: '0.00',
-        //       Section3_AlarmTemp: '0.00',
-        //       Section3_EndPosition: '435.00',
-        //       Section2_MaxTemp: '12.00',
-        //       Section3_MaxTempPos: '415.00',
-        //       Section4_AlarmTemp: '0.00',
-        //       Section4_MaxTemp: '39.00',
-        //       isRun: '-2',
-        //       Section4_BeginPosition: '436.00',
-        //     },
-        //     readDataDes: null,
-        //     summaryHour: [],
-        //     summaryDay: [],
-        //     history: [],
-        //     dayhistory: [],
-        //     totalInfo: null,
-        //     sign: null,
-        //     cameras: [],
-        //     links: [],
-        //     avgParam: {
-        //       avg_gas_value: null,
-        //       min_temperature_value: null,
-        //       min_no_value: null,
-        //       avg_no_value: null,
-        //       max_ch4_value: null,
-        //       min_co2_value: null,
-        //       min_m3_value: null,
-        //       max_o2_value: null,
-        //       avg_va_value: null,
-        //       max_c2h2_value: null,
-        //       min_c2h4_value: null,
-        //       max_no_value: null,
-        //       avg_m3_value: null,
-        //       max_co_value: null,
-        //       min_va_value: null,
-        //       min_ch4_value: null,
-        //       max_temperature_value: null,
-        //       min_gas_value: null,
-        //       device_id: 1754025882387599363,
-        //       min_o2_value: null,
-        //       avg_temperature_value: null,
-        //       max_dusting_value: null,
-        //       min_c2h2_value: null,
-        //       min_dusting_value: null,
-        //       avg_c2h4_value: null,
-        //       max_c2h4_value: null,
-        //       avg_o2_value: null,
-        //       avg_co2_value: null,
-        //       max_gas_value: null,
-        //       max_va_value: null,
-        //       max_co2_value: null,
-        //       avg_co_value: null,
-        //       max_m3_value: null,
-        //       avg_dusting_value: null,
-        //       avg_c2h2_value: null,
-        //       avg_ch4_value: null,
-        //       min_co_value: null,
-        //     },
-        //     other1: null,
-        //     other2: null,
-        //     other3: null,
-        //     remarkInfo: null,
-        //     linkInfo: null,
-        //     addrIndex: null,
-        //     warnLogNotOkCount: 0,
-        //     otherInfo: null,
-        //     orderNum: 0,
-        //     pointNumber: '',
-        //     supportNum: '',
-        //     totalLength: '',
-        //     intervalLength: '',
-        //     fireCause: '',
-        //     endPos: '12煤2#变电所',
-        //     startPos: '31煤中央变电所电缆沟',
-        //     deviceId: 1754025882387599363,
-        //   },
-        //   {
-        //     msgType: null,
-        //     deviceID: '1754025882387599364',
-        //     strname: '31煤中央变电所电缆沟-通道四',
-        //     strinstallpos: '31煤中央变电所电缆沟-通道四',
-        //     fsectarea: 'null',
-        //     stationname: '光纤测温',
-        //     stationtype: 'redis',
-        //     deviceType: 'fiber_normal',
-        //     typeName: '光纤测温',
-        //     netStatus: 1,
-        //     warnFlag: 0,
-        //     warnLevel: 0,
-        //     warnLevel_str: '正常',
-        //     syswarnLevel: null,
-        //     syswarnLevel_str: null,
-        //     syswarnLevel_des: null,
-        //     warnTime: null,
-        //     readTime: '2025-02-17 14:48:00',
-        //     warnDes: '',
-        //     frontGateOpenCtrl: null,
-        //     rearGateOpenCtrl: null,
-        //     readData: {
-        //       Section3_BeginPosition: '414.00',
-        //       Section4_MaxTempPos: '1014.00',
-        //       maxValue: '18.00',
-        //       Section6_MaxTempPos: '1688.00',
-        //       sign: '0',
-        //       Section3_MaxTemp: '15.00',
-        //       Section4_EndPosition: '1014.00',
-        //       Section3_EndPosition: '713.00',
-        //       Section3_AlarmTemp: '0.00',
-        //       Section5_EndPosition: '1365.00',
-        //       Section5_MaxTempPos: '1021.00',
-        //       Section6_BeginPosition: '1366.00',
-        //       Section6_EndPosition: '1768.00',
-        //       Section3_MaxTempPos: '414.00',
-        //       Section6_MaxTemp: '18.00',
-        //       Section4_AlarmTemp: '0.00',
-        //       Section5_BeginPosition: '1015.00',
-        //       Section4_MaxTemp: '15.00',
-        //       Section6_AlarmTemp: '0.00',
-        //       isRun: '-2',
-        //       Section4_BeginPosition: '714.00',
-        //       Section5_MaxTemp: '15.00',
-        //       Section5_AlarmTemp: '0.00',
-        //     },
-        //     readDataDes: null,
-        //     summaryHour: [],
-        //     summaryDay: [],
-        //     history: [],
-        //     dayhistory: [],
-        //     totalInfo: null,
-        //     sign: null,
-        //     cameras: [],
-        //     links: [],
-        //     avgParam: {
-        //       avg_gas_value: null,
-        //       min_temperature_value: null,
-        //       min_no_value: null,
-        //       avg_no_value: null,
-        //       max_ch4_value: null,
-        //       min_co2_value: null,
-        //       min_m3_value: null,
-        //       max_o2_value: null,
-        //       avg_va_value: null,
-        //       max_c2h2_value: null,
-        //       min_c2h4_value: null,
-        //       max_no_value: null,
-        //       avg_m3_value: null,
-        //       max_co_value: null,
-        //       min_va_value: null,
-        //       min_ch4_value: null,
-        //       max_temperature_value: null,
-        //       min_gas_value: null,
-        //       device_id: 1754025882387599364,
-        //       min_o2_value: null,
-        //       avg_temperature_value: null,
-        //       max_dusting_value: null,
-        //       min_c2h2_value: null,
-        //       min_dusting_value: null,
-        //       avg_c2h4_value: null,
-        //       max_c2h4_value: null,
-        //       avg_o2_value: null,
-        //       avg_co2_value: null,
-        //       max_gas_value: null,
-        //       max_va_value: null,
-        //       max_co2_value: null,
-        //       avg_co_value: null,
-        //       max_m3_value: null,
-        //       avg_dusting_value: null,
-        //       avg_c2h2_value: null,
-        //       avg_ch4_value: null,
-        //       min_co_value: null,
-        //     },
-        //     other1: null,
-        //     other2: null,
-        //     other3: null,
-        //     remarkInfo: null,
-        //     linkInfo: null,
-        //     addrIndex: null,
-        //     warnLogNotOkCount: 0,
-        //     otherInfo: null,
-        //     orderNum: 0,
-        //     pointNumber: '',
-        //     supportNum: '',
-        //     totalLength: '',
-        //     intervalLength: '',
-        //     fireCause: '',
-        //     endPos: '立体车库2楼',
-        //     startPos: '31煤中央变电所电缆沟',
-        //     deviceId: 1754025882387599364,
-        //   },
-        // ];
-
-        deviceList.value = newDataSource as any[];
+    watch([() => props.dataSource, () => props.activeID], ([newDataSource, newActiveID], [oldDataSource, oldActiveID]) => {
+      deviceList.value = newDataSource as any[];
+      if (newActiveID != oldActiveID) {
         activeDeviceID.value = newActiveID as string;
-        // activeDeviceID.value = activeDeviceID.value ? activeDeviceID.value : newActiveID;
-        maxTemp.value = 0;
-        newDataSource?.forEach((item: any, index) => {
-          if ((!activeDeviceID.value && index == 0) || item.deviceID === activeDeviceID.value) {
-            posList.length = 0;
-            posList1.length = 0;
-            const indexSet = new Set();
-            for (let i = 0; i < Object.keys(item.readData).length; i++) {
-              if (Object.keys(item.readData)[i].indexOf('Section') != -1) {
-                indexSet.add(Object.keys(item.readData)[i].split('_')[0].slice(7));
-              }
+      }
+      // activeDeviceID.value = activeDeviceID.value ? activeDeviceID.value : newActiveID;
+      maxTemp.value = 0;
+      newDataSource?.forEach((item: any, index) => {
+        if ((!activeDeviceID.value && index == 0) || item.deviceID === activeDeviceID.value) {
+          posList.length = 0;
+          posList1.length = 0;
+          const indexSet = new Set();
+          for (let i = 0; i < Object.keys(item.readData).length; i++) {
+            if (Object.keys(item.readData)[i].indexOf('Section') != -1) {
+              indexSet.add(Object.keys(item.readData)[i].split('_')[0].slice(7));
             }
-            const indexValues = Array.from(indexSet).sort((a, b) => Number(a) - Number(b));
-            for (let i = 0; i < indexValues.length; i++) {
-              const index = indexValues[i];
-              if (item.readData[`Section${index}_BeginPosition`] && item.readData[`Section${index}_EndPosition`]) {
-                let isWarn;
-                if (parseFloat(item.readData[`Section${index}_AlarmTemp`]) > 1) {
-                  isWarn =
-                    parseFloat(item.readData[`Section${index}_AlarmTemp`]) - parseFloat(item.readData[`Section${index}_MaxTemp`]) > 0
-                      ? '报警'
-                      : '正常';
-                } else {
-                  isWarn = parseFloat(item.readData[`Section${index}_AlarmTemp`]) == 0 ? '正常' : '报警';
-                }
-
-                posList.push({
-                  position: `测点${index}`,
-                  Section_MaxTemp: item.readData[`Section${index}_MaxTemp`],
-                  Section_MaxTempPos: item.readData[`Section${index}_MaxTempPos`],
-                  Section_BeginPosition: item.readData[`Section${index}_BeginPosition`],
-                  Section_EndPosition: item.readData[`Section${index}_EndPosition`],
-                  Section_AlarmTemp: item.readData[`Section${index}_AlarmTemp`],
-                  isWarn: isWarn,
-                });
-                posList1.push({
-                  Section_Position: `${item.readData[`Section${index}_BeginPosition`]}-${item.readData[`Section${index}_EndPosition`]}m`,
-                  value: item.readData[`Section${index}_MaxTemp`],
-                });
-                if (parseFloat(item.readData[`Section${index}_MaxTemp`]) > maxTemp.value) {
-                  maxTemp.value = item.readData[`Section${index}_MaxTemp`];
-                }
+          }
+          const indexValues = Array.from(indexSet).sort((a, b) => Number(a) - Number(b));
+          for (let i = 0; i < indexValues.length; i++) {
+            const index = indexValues[i];
+            if (item.readData[`Section${index}_BeginPosition`] && item.readData[`Section${index}_EndPosition`]) {
+              let isWarn;
+              if (parseFloat(item.readData[`Section${index}_AlarmTemp`]) > 1) {
+                isWarn =
+                  parseFloat(item.readData[`Section${index}_AlarmTemp`]) - parseFloat(item.readData[`Section${index}_MaxTemp`]) > 0
+                    ? '报警'
+                    : '正常';
+              } else {
+                isWarn = parseFloat(item.readData[`Section${index}_AlarmTemp`]) == 0 ? '正常' : '报警';
+              }
+
+              posList.push({
+                position: `测点${index}`,
+                Section_MaxTemp: item.readData[`Section${index}_MaxTemp`],
+                Section_MaxTempPos: item.readData[`Section${index}_MaxTempPos`],
+                Section_BeginPosition: item.readData[`Section${index}_BeginPosition`],
+                Section_EndPosition: item.readData[`Section${index}_EndPosition`],
+                Section_AlarmTemp: item.readData[`Section${index}_AlarmTemp`],
+                isWarn: isWarn,
+              });
+              posList1.push({
+                Section_Position: `${item.readData[`Section${index}_BeginPosition`]}-${item.readData[`Section${index}_EndPosition`]}m`,
+                value: item.readData[`Section${index}_MaxTemp`],
+              });
+              if (parseFloat(item.readData[`Section${index}_MaxTemp`]) > maxTemp.value) {
+                maxTemp.value = item.readData[`Section${index}_MaxTemp`];
               }
             }
-            warnLevels.value = posList.find((v) => v.isWarn == '报警') ? '报警' : '正常';
           }
-        });
+          warnLevels.value = posList.find((v) => v.isWarn == '报警') ? '报警' : '正常';
+        }
       });
-
-      return {
-        register,
-        model: modelRef,
-        currentTime,
-        handleVisibleChange,
-        selectDevice,
-        handleOk,
-        handleCancel,
-        deviceList,
-        activeDeviceID,
-        echatsOption,
-        posList,
-        posList1,
-        chartsColumns,
-        columns,
-        warnLevels,
-        maxTemp,
-        formatNum,
-        // warningConfig,
-      };
-    },
-  });
+    });
+
+    return {
+      register,
+      model: modelRef,
+      currentTime,
+      handleVisibleChange,
+      selectDevice,
+      handleOk,
+      handleCancel,
+      deviceList,
+      activeDeviceID,
+      echatsOption,
+      posList,
+      posList1,
+      chartsColumns,
+      columns,
+      warnLevels,
+      maxTemp,
+      formatNum,
+      // warningConfig,
+    };
+  },
+});
 </script>
 <style lang="less" scoped>
-  .fiber-modal {
-    width: 100%;
-    height: 650px;
-    display: flex;
-    flex-direction: row;
-    justify-content: space-between;
-
-    .modal-left {
-      width: 200px;
-      height: 100%;
-      overflow-y: auto;
-      background: #ffffff11;
-      padding: 5px;
-      border-radius: 5px;
-
-      .active-device-title {
-        color: aqua;
-      }
+.fiber-modal {
+  width: 100%;
+  height: 650px;
+  display: flex;
+  flex-direction: row;
+  justify-content: space-between;
+
+  .modal-left {
+    width: 200px;
+    height: 100%;
+    overflow-y: auto;
+    background: #ffffff11;
+    padding: 5px;
+    border-radius: 5px;
+
+    .active-device-title {
+      color: aqua;
+    }
 
-      .link-item {
-        position: relative;
-        cursor: pointer;
-        line-height: 30px;
-        padding-left: 30px;
+    .link-item {
+      position: relative;
+      cursor: pointer;
+      line-height: 30px;
+      padding-left: 30px;
 
-        span:hover {
-          color: #89ffff;
-        }
+      span:hover {
+        color: #89ffff;
+      }
 
-        &::after {
-          content: '';
-          position: absolute;
-          display: block;
-          width: 8px;
-          height: 8px;
-          top: 12px;
-          left: 10px;
-          transform: rotateZ(45deg) skew(10deg, 10deg);
-          background: #45d3fd;
-        }
+      &::after {
+        content: '';
+        position: absolute;
+        display: block;
+        width: 8px;
+        height: 8px;
+        top: 12px;
+        left: 10px;
+        transform: rotateZ(45deg) skew(10deg, 10deg);
+        background: #45d3fd;
       }
     }
+  }
 
-    .modal-right {
-      width: calc(100% - 220px);
-      overflow-y: auto;
-
-      .base-title {
-        line-height: 32px;
-        position: relative;
-        padding-left: 20px;
-
-        &::after {
-          content: '';
-          position: absolute;
-          display: block;
-          width: 4px;
-          height: 12px;
-          top: 4px;
-          left: 10px;
-          background: #45d3fd;
-          border-radius: 4px;
-        }
+  .modal-right {
+    width: calc(100% - 220px);
+    overflow-y: auto;
+
+    .base-title {
+      line-height: 32px;
+      position: relative;
+      padding-left: 20px;
+
+      &::after {
+        content: '';
+        position: absolute;
+        display: block;
+        width: 4px;
+        height: 12px;
+        top: 4px;
+        left: 10px;
+        background: #45d3fd;
+        border-radius: 4px;
       }
+    }
 
-      .right-top {
+    .right-top {
+      display: flex;
+      flex-direction: row;
+      justify-content: space-between;
+      margin-bottom: 10px;
+
+      .top-item {
+        // width: 200px;
+        width: 49%;
+        height: 80px;
         display: flex;
         flex-direction: row;
-        justify-content: space-between;
-        margin-bottom: 10px;
+        justify-content: center;
+        border: 1px solid rgba(25, 237, 255, 0.4);
+        box-shadow: inset 0 0 10px rgba(0, 197, 255, 0.6);
+        background: rgba(0, 0, 0, 0.06666666666666667);
+        padding-top: 16px;
+
+        .icon {
+          margin-right: 10px;
+          margin-top: 5px;
+          color: #fdb146;
+        }
 
-        .top-item {
-          // width: 200px;
-          width: 49%;
-          height: 80px;
+        .item-container {
+          width: 100px;
           display: flex;
-          flex-direction: row;
+          flex-direction: column;
           justify-content: center;
-          border: 1px solid rgba(25, 237, 255, 0.4);
-          box-shadow: inset 0 0 10px rgba(0, 197, 255, 0.6);
-          background: rgba(0, 0, 0, 0.06666666666666667);
-          padding-top: 16px;
-
-          .icon {
-            margin-right: 10px;
-            margin-top: 5px;
-            color: #fdb146;
-          }
 
-          .item-container {
-            width: 100px;
-            display: flex;
-            flex-direction: column;
-            justify-content: center;
+          div {
+            text-align: center;
+          }
 
-            div {
-              text-align: center;
-            }
+          .title {
+            font-size: 18px;
+          }
 
-            .title {
+          .value {
+            text-shadow: 0 0 25px #00fbfe;
+            background: linear-gradient(0deg, #45d3fd, #45d3fd, #61ddb1, #61ddb1);
+            font-style: normal;
+            background-size: cover;
+            font-family: electronicFont;
+            font-size: 30px;
+            -webkit-background-clip: text;
+            background-clip: text;
+            -webkit-text-fill-color: transparent;
+            position: relative;
+            top: -8px;
+
+            span {
+              font-family: Arial, Helvetica, sans-serif;
               font-size: 18px;
-            }
-
-            .value {
-              text-shadow: 0 0 25px #00fbfe;
-              background: linear-gradient(0deg, #45d3fd, #45d3fd, #61ddb1, #61ddb1);
-              font-style: normal;
-              background-size: cover;
-              font-family: electronicFont;
-              font-size: 30px;
-              -webkit-background-clip: text;
-              background-clip: text;
-              -webkit-text-fill-color: transparent;
-              position: relative;
-              top: -8px;
-
-              span {
-                font-family: Arial, Helvetica, sans-serif;
-                font-size: 18px;
-                color: aliceblue;
-              }
+              color: aliceblue;
             }
           }
         }
+      }
 
-        .warning-box {
-          padding-top: 0px;
-
-          .icon {
-            margin-top: 20px;
+      .warning-box {
+        padding-top: 0px;
 
-            .icon-style {
-              color: #fdb146;
-            }
-          }
+        .icon {
+          margin-top: 20px;
 
-          .warning-value {
-            font-size: 18px;
-            color: #61ddb1;
+          .icon-style {
+            color: #fdb146;
           }
         }
-      }
 
-      .right-center {
-        margin-top: 20px;
-        display: flex;
-        flex-direction: row;
-        justify-content: space-between;
-
-        .table-box {
-          position: relative;
-          // width: 500px;
-          width: 100%;
-          height: 250px;
-          :deep(.zxm-table-wrapper) {
-            height: 220px !important;
-            background: #ffffff05 !important;
-            border-bottom: 1px solid #91e9fe80 !important;
-          }
+        .warning-value {
+          font-size: 18px;
+          color: #61ddb1;
         }
-
-        // .warning-box {
-        //   width: calc(100% - 520px);
-
-        //   .warning-container {
-        //     width: 100%;
-        //     height: convert;
-        //     background: #009acd00;
-
-        //     :deep(.dv-scroll-board) {
-        //       .row-item {
-        //         height: 40px !important;
-        //         line-height: 40px !important;
-        //       }
-
-        //       .header-item {
-        //         border-top: 1px solid #91e9fe !important;
-        //         border-bottom: 1px solid #91e9fe !important;
-        //       }
-        //     }
-        //   }
-        // }
       }
+    }
 
-      .right-bottom {
-        margin-top: 20px;
+    .right-center {
+      margin-top: 20px;
+      display: flex;
+      flex-direction: row;
+      justify-content: space-between;
 
-        .echarts-box {
-          width: 100%;
-          height: 230px;
+      .table-box {
+        position: relative;
+        // width: 500px;
+        width: 100%;
+        height: 250px;
+
+        :deep(.zxm-table-wrapper) {
+          height: 220px !important;
+          background: #ffffff05 !important;
+          border-bottom: 1px solid #91e9fe80 !important;
         }
       }
+
+      // .warning-box {
+      //   width: calc(100% - 520px);
+
+      //   .warning-container {
+      //     width: 100%;
+      //     height: convert;
+      //     background: #009acd00;
+
+      //     :deep(.dv-scroll-board) {
+      //       .row-item {
+      //         height: 40px !important;
+      //         line-height: 40px !important;
+      //       }
+
+      //       .header-item {
+      //         border-top: 1px solid #91e9fe !important;
+      //         border-bottom: 1px solid #91e9fe !important;
+      //       }
+      //     }
+      //   }
+      // }
     }
-  }
 
-  :deep(.zxm-table-body) {
-    border: 1px solid rgba(57, 232, 255, 0.2) !important;
+    .right-bottom {
+      margin-top: 20px;
 
-    .zxm-table-tbody > tr > td {
-      border: none !important;
+      .echarts-box {
+        width: 100%;
+        height: 230px;
+      }
     }
   }
+}
+
+:deep(.zxm-table-body) {
+  border: 1px solid rgba(57, 232, 255, 0.2) !important;
 
-  :deep(.zxm-table-cell) {
-    border-right: none !important;
+  .zxm-table-tbody>tr>td {
+    border: none !important;
   }
+}
+
+:deep(.zxm-table-cell) {
+  border-right: none !important;
+}
 </style>