Pārlūkot izejas kodu

[Feat 0000]基于大气压氧气浓度预测功能

bobo04052021@163.com 2 dienas atpakaļ
vecāks
revīzija
1e3aeca6d8

+ 6 - 1
src/views/vent/deviceManager/configurationTable/types.ts

@@ -1,3 +1,4 @@
+import { data } from 'emoji-mart-vue-fast/data/apple.json';
 export interface Config {
   /** 模块的名称 */
   moduleName: string;
@@ -271,7 +272,8 @@ export interface ModuleDataChart extends ReadFrom {
     | 'bar_cylinder_wide'
     | 'pie_halo'
     | 'line_enhance'
-    | 'pie_drag';
+    | 'pie_drag'
+    | 'scatter';
   /** 排序依据,该项应配置将配合 readFrom 使用 */
   sortBy?: string;
   /** 排序规则,desc降序,asc升序 */
@@ -305,6 +307,8 @@ export interface ModuleDataChart extends ReadFrom {
    * 则配置一个标准折线图所需的 series 配置类似:[{ label: '${name}', readFrom: 'data', xprop: 'pos', yprop: 'val' }]
    */
   series: {
+    /** 图表系列的类型,若不配置则取 type 的值 */
+    type?: 'pie' | 'bar' | 'line' | 'scatter';
     /** 该系列的数据说明, formatter 格式,将用于 legend 相关的内容 */
     label: string;
     /** 设置 series 系列时的基础路径,配合上级 readFrom 使用,其应指向一个数组,该数组将作为映射系列时的基准 */
@@ -315,6 +319,7 @@ export interface ModuleDataChart extends ReadFrom {
     yprop: string;
 
     color?: string;
+    yAxisIndex?: number;
   }[];
   /** 图表legend配置 */
   legend: {

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 273 - 176
src/views/vent/home/configurable/components/detail/CustomChart.vue


+ 14 - 0
src/views/vent/monitorManager/balancePressMonitor/balancePress.api.ts

@@ -12,6 +12,7 @@ enum Api {
   validPassword = '/monitor/demo/avePress/valid/password',
   controlWindow = '/monitor/demo/avePress/controlWindow',
   cancelcontrolWindow = '/monitor/demo/avePress/cancel-controlWindow',
+  getO2PressData = '/safety/ventanalyDevice/getO2PredictData',
 }
 /**
  * 列表接口
@@ -63,3 +64,16 @@ export const validPassword = (params) =>
     if (e.success) return Promise.resolve(e.result);
     throw e.message;
   });
+
+/**
+ * 大气压与氧气浓度关系图
+ * @param params
+ */
+
+export const getO2PressData = (params) => {
+  // 将对象参数转换为query string
+  const queryString = new URLSearchParams(params).toString();
+  return defHttp.get({
+    url: `${Api.getO2PressData}?${queryString}`,
+  });
+};

+ 451 - 0
src/views/vent/monitorManager/balancePressMonitor/balancePressO2.data.ts

@@ -0,0 +1,451 @@
+import { data } from 'emoji-mart-vue-fast/data/apple.json';
+import { reactive, ref } from 'vue';
+import echarts from '/@/utils/lib/echarts';
+import { ModuleDataChart } from '/@/views/vent/deviceManager/configurationTable/types';
+export const PressO2Option: ModuleDataChart = {
+  type: 'scatter',
+  readFrom: '',
+  legend: { show: true },
+  xAxis: [{ show: true }],
+  yAxis: [
+    {
+      show: true,
+      name: '氧气',
+      position: 'left',
+    },
+    {
+      show: true,
+      name: '大气压',
+      position: 'right',
+    },
+  ],
+  series: [
+    {
+      type: 'scatter',
+      readFrom: 'o2List',
+      xprop: 'dateTime',
+      yprop: 'o2Val',
+      label: '氧气',
+      color: '#5470C6',
+      yAxisIndex: 0,
+    },
+    {
+      type: 'line',
+      readFrom: 'o2List',
+      xprop: 'dateTime',
+      yprop: 'o2Val',
+      label: '氧气曲线',
+      color: '#ff7b00ff',
+      yAxisIndex: 0,
+    },
+    {
+      type: 'scatter',
+      readFrom: 'o2List',
+      xprop: 'dateTime',
+      yprop: 'pressureVal',
+      label: '大气压',
+      color: '#EE6666',
+      yAxisIndex: 1,
+    },
+    {
+      type: 'line',
+      readFrom: 'o2List',
+      xprop: 'dateTime',
+      yprop: 'pressureVal',
+      label: '大气压曲线',
+      color: '#0400ffff',
+      yAxisIndex: 1,
+    },
+  ],
+};
+export const mockData = {
+  o2HistoryDataList: [
+    {
+      dateTime: '2025-10-14 08:00:00',
+      o2Val: '13.85',
+      pressureVal: '887',
+    },
+    {
+      dateTime: '2025-10-14 09:00:00',
+      o2Val: '14.01',
+      pressureVal: '888',
+    },
+    {
+      dateTime: '2025-10-14 10:00:00',
+      o2Val: '14.0',
+      pressureVal: '888',
+    },
+    {
+      dateTime: '2025-10-14 11:00:00',
+      o2Val: '14.06',
+      pressureVal: '888',
+    },
+    {
+      dateTime: '2025-10-14 12:00:00',
+      o2Val: '13.9',
+      pressureVal: '888',
+    },
+    {
+      dateTime: '2025-10-14 14:00:00',
+      o2Val: '13.79',
+      pressureVal: '890',
+    },
+  ],
+  o2List: [
+    {
+      dateTime: '2025-10-14 14:00:00',
+      o2Val: '14.08',
+      pressureVal: '890',
+    },
+    {
+      dateTime: '2025-10-14 15:00:00',
+      o2Val: '14.08',
+      pressureVal: '890',
+    },
+    {
+      dateTime: '2025-10-14 16:00:00',
+      o2Val: '14.08',
+      pressureVal: '890',
+    },
+    {
+      dateTime: '2025-10-14 17:00:00',
+      o2Val: '14.1',
+      pressureVal: '889',
+    },
+    {
+      dateTime: '2025-10-14 18:00:00',
+      o2Val: '14.08',
+      pressureVal: '890',
+    },
+    {
+      dateTime: '2025-10-14 19:00:00',
+      o2Val: '14.1',
+      pressureVal: '889',
+    },
+    {
+      dateTime: '2025-10-14 20:00:00',
+      o2Val: '14.12',
+      pressureVal: '888',
+    },
+    {
+      dateTime: '2025-10-14 21:00:00',
+      o2Val: '14.12',
+      pressureVal: '888',
+    },
+    {
+      dateTime: '2025-10-14 22:00:00',
+      o2Val: '14.12',
+      pressureVal: '888',
+    },
+    {
+      dateTime: '2025-10-14 23:00:00',
+      o2Val: '14.1',
+      pressureVal: '889',
+    },
+    {
+      dateTime: '2025-10-15 00:00:00',
+      o2Val: '14.1',
+      pressureVal: '889',
+    },
+    {
+      dateTime: '2025-10-15 01:00:00',
+      o2Val: '14.08',
+      pressureVal: '890',
+    },
+    {
+      dateTime: '2025-10-15 02:00:00',
+      o2Val: '14.08',
+      pressureVal: '890',
+    },
+    {
+      dateTime: '2025-10-15 03:00:00',
+      o2Val: '14.08',
+      pressureVal: '890',
+    },
+    {
+      dateTime: '2025-10-15 04:00:00',
+      o2Val: '14.1',
+      pressureVal: '889',
+    },
+    {
+      dateTime: '2025-10-15 05:00:00',
+      o2Val: '14.1',
+      pressureVal: '889',
+    },
+    {
+      dateTime: '2025-10-15 06:00:00',
+      o2Val: '14.12',
+      pressureVal: '888',
+    },
+    {
+      dateTime: '2025-10-15 07:00:00',
+      o2Val: '14.12',
+      pressureVal: '888',
+    },
+    {
+      dateTime: '2025-10-15 08:00:00',
+      o2Val: '14.12',
+      pressureVal: '888',
+    },
+    {
+      dateTime: '2025-10-15 09:00:00',
+      o2Val: '14.1',
+      pressureVal: '889',
+    },
+    {
+      dateTime: '2025-10-15 10:00:00',
+      o2Val: '14.1',
+      pressureVal: '889',
+    },
+    {
+      dateTime: '2025-10-15 11:00:00',
+      o2Val: '14.08',
+      pressureVal: '890',
+    },
+    {
+      dateTime: '2025-10-15 12:00:00',
+      o2Val: '14.08',
+      pressureVal: '890',
+    },
+    {
+      dateTime: '2025-10-15 13:00:00',
+      o2Val: '14.08',
+      pressureVal: '890',
+    },
+    {
+      dateTime: '2025-10-15 14:00:00',
+      o2Val: '14.08',
+      pressureVal: '890',
+    },
+    {
+      dateTime: '2025-10-15 15:00:00',
+      o2Val: '14.08',
+      pressureVal: '890',
+    },
+    {
+      dateTime: '2025-10-15 16:00:00',
+      o2Val: '14.08',
+      pressureVal: '890',
+    },
+    {
+      dateTime: '2025-10-15 17:00:00',
+      o2Val: '14.08',
+      pressureVal: '890',
+    },
+    {
+      dateTime: '2025-10-15 18:00:00',
+      o2Val: '14.08',
+      pressureVal: '890',
+    },
+    {
+      dateTime: '2025-10-15 19:00:00',
+      o2Val: '14.08',
+      pressureVal: '890',
+    },
+    {
+      dateTime: '2025-10-15 20:00:00',
+      o2Val: '14.08',
+      pressureVal: '890',
+    },
+    {
+      dateTime: '2025-10-15 21:00:00',
+      o2Val: '14.08',
+      pressureVal: '890',
+    },
+    {
+      dateTime: '2025-10-15 22:00:00',
+      o2Val: '14.08',
+      pressureVal: '890',
+    },
+    {
+      dateTime: '2025-10-15 23:00:00',
+      o2Val: '14.08',
+      pressureVal: '890',
+    },
+    {
+      dateTime: '2025-10-16 00:00:00',
+      o2Val: '14.08',
+      pressureVal: '890',
+    },
+    {
+      dateTime: '2025-10-16 01:00:00',
+      o2Val: '14.07',
+      pressureVal: '891',
+    },
+    {
+      dateTime: '2025-10-16 02:00:00',
+      o2Val: '14.07',
+      pressureVal: '891',
+    },
+    {
+      dateTime: '2025-10-16 03:00:00',
+      o2Val: '14.08',
+      pressureVal: '890',
+    },
+    {
+      dateTime: '2025-10-16 04:00:00',
+      o2Val: '14.08',
+      pressureVal: '890',
+    },
+    {
+      dateTime: '2025-10-16 05:00:00',
+      o2Val: '14.1',
+      pressureVal: '889',
+    },
+    {
+      dateTime: '2025-10-16 06:00:00',
+      o2Val: '14.1',
+      pressureVal: '889',
+    },
+    {
+      dateTime: '2025-10-16 07:00:00',
+      o2Val: '14.12',
+      pressureVal: '888',
+    },
+    {
+      dateTime: '2025-10-16 08:00:00',
+      o2Val: '14.1',
+      pressureVal: '889',
+    },
+    {
+      dateTime: '2025-10-16 09:00:00',
+      o2Val: '14.1',
+      pressureVal: '889',
+    },
+    {
+      dateTime: '2025-10-16 10:00:00',
+      o2Val: '14.1',
+      pressureVal: '889',
+    },
+    {
+      dateTime: '2025-10-16 11:00:00',
+      o2Val: '14.08',
+      pressureVal: '890',
+    },
+    {
+      dateTime: '2025-10-16 12:00:00',
+      o2Val: '14.08',
+      pressureVal: '890',
+    },
+    {
+      dateTime: '2025-10-16 13:00:00',
+      o2Val: '14.08',
+      pressureVal: '890',
+    },
+    {
+      dateTime: '2025-10-16 14:00:00',
+      o2Val: '14.07',
+      pressureVal: '891',
+    },
+    {
+      dateTime: '2025-10-16 15:00:00',
+      o2Val: '14.06',
+      pressureVal: '892',
+    },
+    {
+      dateTime: '2025-10-16 16:00:00',
+      o2Val: '14.05',
+      pressureVal: '893',
+    },
+    {
+      dateTime: '2025-10-16 17:00:00',
+      o2Val: '14.05',
+      pressureVal: '893',
+    },
+    {
+      dateTime: '2025-10-16 18:00:00',
+      o2Val: '14.04',
+      pressureVal: '894',
+    },
+    {
+      dateTime: '2025-10-16 19:00:00',
+      o2Val: '14.04',
+      pressureVal: '894',
+    },
+    {
+      dateTime: '2025-10-16 20:00:00',
+      o2Val: '14.04',
+      pressureVal: '894',
+    },
+    {
+      dateTime: '2025-10-16 21:00:00',
+      o2Val: '14.04',
+      pressureVal: '894',
+    },
+    {
+      dateTime: '2025-10-16 22:00:00',
+      o2Val: '14.04',
+      pressureVal: '895',
+    },
+    {
+      dateTime: '2025-10-16 23:00:00',
+      o2Val: '14.04',
+      pressureVal: '895',
+    },
+    {
+      dateTime: '2025-10-17 00:00:00',
+      o2Val: '14.04',
+      pressureVal: '896',
+    },
+    {
+      dateTime: '2025-10-17 01:00:00',
+      o2Val: '14.04',
+      pressureVal: '897',
+    },
+    {
+      dateTime: '2025-10-17 02:00:00',
+      o2Val: '14.04',
+      pressureVal: '897',
+    },
+    {
+      dateTime: '2025-10-17 03:00:00',
+      o2Val: '14.04',
+      pressureVal: '897',
+    },
+    {
+      dateTime: '2025-10-17 04:00:00',
+      o2Val: '14.04',
+      pressureVal: '897',
+    },
+    {
+      dateTime: '2025-10-17 05:00:00',
+      o2Val: '14.04',
+      pressureVal: '897',
+    },
+    {
+      dateTime: '2025-10-17 06:00:00',
+      o2Val: '14.04',
+      pressureVal: '896',
+    },
+    {
+      dateTime: '2025-10-17 07:00:00',
+      o2Val: '14.04',
+      pressureVal: '895',
+    },
+    {
+      dateTime: '2025-10-17 08:00:00',
+      o2Val: '14.04',
+      pressureVal: '896',
+    },
+    {
+      dateTime: '2025-10-17 09:00:00',
+      o2Val: '14.04',
+      pressureVal: '896',
+    },
+    {
+      dateTime: '2025-10-17 10:00:00',
+      o2Val: '14.04',
+      pressureVal: '896',
+    },
+    {
+      dateTime: '2025-10-17 11:00:00',
+      o2Val: '14.04',
+      pressureVal: '897',
+    },
+    {
+      dateTime: '2025-10-17 12:00:00',
+      o2Val: '14.04',
+      pressureVal: '897',
+    },
+  ],
+};

+ 232 - 209
src/views/vent/monitorManager/balancePressMonitor/components/balancePressHome.vue

@@ -66,6 +66,12 @@
               </div>
             </template>
           </ventBox1>
+          <ventBox1 class="">
+            <template #title>
+              <div>基于大气压的氧气浓度预测值</div>
+            </template>
+            <template #container> <CustomChart :chart-config="PressO2Option" :chart-data="chartData" height="220px" /> </template>
+          </ventBox1>
         </div>
       </div>
       <div class="lr right-box ml-5px">
@@ -133,238 +139,255 @@
   </a-spin>
 </template>
 <script setup lang="ts" name="balancePressHome">
-  import { onBeforeMount, ref, onMounted, onUnmounted, reactive, defineProps, watch } from 'vue';
-  import ventBox1 from '/@/components/vent/ventBox1.vue';
-  import { SvgIcon } from '/@/components/Icon';
-  import { mountedThree, destroy, setModelType, updateText, play } from '../balancePress.threejs';
-  import { settingParam1, settingParam2, settingParam3, windowParam, localFanParam, windrectParam } from '../balancePress.data';
-  import { list, submit, subList, submitEdit } from '../balancePress.api';
-  import { message } from 'ant-design-vue';
-  import { get } from 'lodash-es';
+import { onBeforeMount, ref, onMounted, onUnmounted, reactive, defineProps, watch } from 'vue';
+import ventBox1 from '/@/components/vent/ventBox1.vue';
+import CustomChart from '@/views/vent/home/configurable/components/detail/CustomChart.vue';
+import { PressO2Option, mockData } from '../balancePressO2.data';
+import { SvgIcon } from '/@/components/Icon';
+import { mountedThree, destroy, setModelType, updateText, play } from '../balancePress.threejs';
+import { settingParam1, settingParam2, settingParam3, windowParam, localFanParam, windrectParam } from '../balancePress.data';
+import { list, submit, subList, submitEdit, getO2PressData } from '../balancePress.api';
+import { message } from 'ant-design-vue';
+import { get } from 'lodash-es';
+const props = defineProps({
+  deviceId: {
+    type: String,
+    require: true,
+  },
+});
+const loading = ref(false);
+// 默认初始是第一行
+const isAutoControl = ref('1');
+const O2PressDataFetched = ref(false);
+// 监测数据
+const selectData = reactive({
+  frontRearDP: '-',
+  sourcePressure: '-',
+  fault: '-',
+});
+const monitorParam = [
+  {
+    title: '监测值',
+    code: 'readData.ss_analog_value',
+    unit: '',
+  },
+];
+const changeType = (isAutoControl) => {
+  isAutoControl;
+  //
+};
 
-  const props = defineProps({
-    deviceId: {
-      type: String,
-      require: true,
-    },
-  });
+let listData = ref<any[]>([]);
 
-  const loading = ref(false);
-
-  // 默认初始是第一行
-  const isAutoControl = ref('1');
+// https获取监测数据
+let timer: any = null;
+function getMonitor(flag?) {
+  if (Object.prototype.toString.call(timer) === '[object Null]') {
+    timer = setTimeout(
+      async () => {
+        if (props.deviceId) {
+          const data = await getDataSource(props.deviceId);
+          Object.assign(selectData, data);
+          updateText(selectData);
+        }
+        if (timer) {
+          timer = null;
+        }
+        await getMonitor();
+        loading.value = false;
+      },
+      flag ? 0 : 1000
+    );
+  }
+}
 
-  // 监测数据
-  const selectData = reactive({
-    frontRearDP: '-',
-    sourcePressure: '-',
-    fault: '-',
+const safetyMonitorData = ref<any[]>([]);
+const fanlocalMonitorData = ref<any[]>([]);
+const windowMonitorData = ref<any[]>([]);
+const windrectMonitorData = ref<any[]>([]);
+const modelsensorO2Data = ref<any[]>([]);
+const chartData = ref<any[]>([]);
+async function getDataSource(systemID) {
+  const res = await list({ devicetype: 'sys', systemID });
+  const result = res.msgTxt;
+  safetyMonitorData.value = [];
+  fanlocalMonitorData.value = [];
+  windowMonitorData.value = [];
+  windrectMonitorData.value = [];
+  modelsensorO2Data.value = [];
+  result.forEach((item) => {
+    if (item.type.startsWith('safetymonitor')) {
+      safetyMonitorData.value.push(...item.datalist);
+    }
+    if (item.type.startsWith('fanlocal')) {
+      item.datalist.forEach((e) => {
+        const f1Run = e.readData.Fan1StartStatus == '1';
+        e.FanfHz = f1Run ? e.readData.Fan1_Frequency : e.readData.Fan2_Frequency;
+        e.FanRun = f1Run ? '1#风机' : '2#风机';
+      });
+      fanlocalMonitorData.value.push(...item.datalist);
+    }
+    if (item.type.startsWith('window')) {
+      windowMonitorData.value.push(...item.datalist);
+    }
+    if (item.type.startsWith('windrect')) {
+      windrectMonitorData.value.push(...item.datalist);
+    }
+    if (item.type.startsWith('modelsensor_o2')) {
+      modelsensorO2Data.value.push(...item.datalist);
+    }
   });
-  const monitorParam = [
-    {
-      title: '监测值',
-      code: 'readData.ss_analog_value',
-      unit: '',
-    },
-  ];
-  const changeType = (isAutoControl) => {
-    isAutoControl;
-    //
+  if (!O2PressDataFetched.value) {
+    O2PressDataFetched.value = true;
+    getO2Press(modelsensorO2Data.value);
+  }
+}
+async function getO2Press(params) {
+  const deviceID = params[0].deviceID;
+  const param = {
+    deviceId: deviceID,
   };
+  chartData.value = [];
+  const res = await getO2PressData(param);
+  chartData.value = [...res.o2HistoryDataList, ...res.o2List];
+}
 
-  let listData = ref<any[]>([]);
-
-  // https获取监测数据
-  let timer: any = null;
-  function getMonitor(flag?) {
-    if (Object.prototype.toString.call(timer) === '[object Null]') {
-      timer = setTimeout(
-        async () => {
-          if (props.deviceId) {
-            const data = await getDataSource(props.deviceId);
-            Object.assign(selectData, data);
-            updateText(selectData);
-          }
-          if (timer) {
-            timer = null;
-          }
-          await getMonitor();
-          loading.value = false;
-        },
-        flag ? 0 : 1000
-      );
+// 喷粉操作
+async function onSubmit() {
+  if (listData.value.length != 0) {
+    //编辑
+    let res = await submitEdit(listData.value[0]);
+    if (res) {
+      initParamList();
     }
-  }
-
-  const safetyMonitorData = ref<any[]>([]);
-  const fanlocalMonitorData = ref<any[]>([]);
-  const windowMonitorData = ref<any[]>([]);
-  const windrectMonitorData = ref<any[]>([]);
-
-  async function getDataSource(systemID) {
-    const res = await list({ devicetype: 'sys', systemID });
-    const result = res.msgTxt;
-    safetyMonitorData.value = [];
-    fanlocalMonitorData.value = [];
-    windowMonitorData.value = [];
-    windrectMonitorData.value = [];
-    result.forEach((item) => {
-      if (item.type.startsWith('safetymonitor')) {
-        safetyMonitorData.value.push(...item.datalist);
-      }
-      if (item.type.startsWith('fanlocal')) {
-        item.datalist.forEach((e) => {
-          const f1Run = e.readData.Fan1StartStatus == '1';
-          e.FanfHz = f1Run ? e.readData.Fan1_Frequency : e.readData.Fan2_Frequency;
-          e.FanRun = f1Run ? '1#风机' : '2#风机';
-        });
-        fanlocalMonitorData.value.push(...item.datalist);
-      }
-      if (item.type.startsWith('window')) {
-        windowMonitorData.value.push(...item.datalist);
-      }
-      if (item.type.startsWith('windrect')) {
-        windrectMonitorData.value.push(...item.datalist);
-      }
-    });
-  }
-
-  // 喷粉操作
-  async function onSubmit() {
-    if (listData.value.length != 0) {
-      //编辑
-      let res = await submitEdit(listData.value[0]);
-      if (res) {
-        initParamList();
-      }
-    } else {
-      //新增
-      let res = await submit(formData.value);
-      if (res) {
-        initParamList();
-        message.success('提交成功');
-      }
+  } else {
+    //新增
+    let res = await submit(formData.value);
+    if (res) {
+      initParamList();
+      message.success('提交成功');
     }
   }
+}
 
-  //获取低氧参数监测返显列表
-  async function initParamList() {
-    let res = await subList();
-    if (res && res.records && res.records.length != 0) {
-      listData.value = res.records;
-      formData.value = res.records[0];
-    }
+//获取低氧参数监测返显列表
+async function initParamList() {
+  let res = await subList();
+  if (res && res.records && res.records.length != 0) {
+    listData.value = res.records;
+    formData.value = res.records[0];
   }
+}
 
-  watch(
-    () => props.deviceId,
-    (newVal, oldVal) => {
-      if (newVal && oldVal != undefined) {
-        setModelType('balancePressBase');
-      }
-      loading.value = true;
+watch(
+  () => props.deviceId,
+  (newVal, oldVal) => {
+    if (newVal && oldVal != undefined) {
+      setModelType('balancePressBase');
     }
-  );
+    loading.value = true;
+  }
+);
 
-  const formData = ref({
-    id: '',
-    coMaxStart: 0,
-    o2MinStart: 0,
-    coRiseStart: 0,
-    o2DownStart: 0,
-    windowAreaSetGrad: 0,
-    windowSetTime: 0,
-    windowMinArea: 0,
-    windowAreaDef: 0,
-    setMinTime: 0,
-    coEnd: 0,
-    coTimeEnd: 0,
-    o2End: 0,
-    o2TimeEnd: 0,
-  });
+const formData = ref({
+  id: '',
+  coMaxStart: 0,
+  o2MinStart: 0,
+  coRiseStart: 0,
+  o2DownStart: 0,
+  windowAreaSetGrad: 0,
+  windowSetTime: 0,
+  windowMinArea: 0,
+  windowAreaDef: 0,
+  setMinTime: 0,
+  coEnd: 0,
+  coTimeEnd: 0,
+  o2End: 0,
+  o2TimeEnd: 0,
+});
 
-  onBeforeMount(() => {});
+onBeforeMount(() => {});
 
-  onMounted(() => {
-    loading.value = true;
-    mountedThree().then(async () => {
-      await setModelType('balancePressBase'); //balancePressBase
-      loading.value = false;
-      timer = null;
-      await initParamList();
-      await getMonitor(true);
-      play('startSmoke', 'top', 30, 'open', 0);
-    });
+onMounted(() => {
+  loading.value = true;
+  mountedThree().then(async () => {
+    await setModelType('balancePressBase'); //balancePressBase
+    loading.value = false;
+    timer = null;
+    await initParamList();
+    await getMonitor(true);
+    play('startSmoke', 'top', 30, 'open', 0);
   });
+});
 
-  onUnmounted(() => {
-    destroy();
-    if (timer) {
-      clearTimeout(timer);
-    }
-  });
+onUnmounted(() => {
+  destroy();
+  if (timer) {
+    clearTimeout(timer);
+  }
+});
 </script>
 <style lang="less" scoped>
-  @import '/@/design/vent/modal.less';
-  @import '../../comment/less/workFace.less';
-  @ventSpace: zxm;
-  .monitor-container {
-    margin-top: 60px;
+@import '/@/design/vent/modal.less';
+@import '../../comment/less/workFace.less';
+@ventSpace: zxm;
+.monitor-container {
+  margin-top: 60px;
+}
+.lr {
+  width: 340px !important;
+}
+.auto-control {
+  padding: 10px 8px;
+  margin: 0 4px 4px 4px;
+  border-radius: 4px;
+  border: 1px solid #ffffff05;
+  background-image: linear-gradient(to left, #39deff15, #3977e500, #39deff15);
+}
+.divider-line {
+  position: relative;
+  color: aqua;
+  padding-left: 20px;
+  font-size: 14px;
+  &::before {
+    position: absolute;
+    content: '';
+    display: block;
+    top: 10px;
+    left: 0;
+    height: 1px;
+    width: 15px;
+    background-color: #ffffff33;
   }
-  .lr {
-    width: 340px !important;
+  &::after {
+    position: absolute;
+    content: '';
+    display: block;
+    top: 10px;
+    right: 0;
+    height: 1px;
+    width: calc(100% - 85px);
+    background-color: #ffffff33;
   }
-  .auto-control {
-    padding: 10px 8px;
-    margin: 0 4px 4px 4px;
-    border-radius: 4px;
-    border: 1px solid #ffffff05;
-    background-image: linear-gradient(to left, #39deff15, #3977e500, #39deff15);
-  }
-  .divider-line {
-    position: relative;
-    color: aqua;
-    padding-left: 20px;
-    font-size: 14px;
-    &::before {
-      position: absolute;
-      content: '';
-      display: block;
-      top: 10px;
-      left: 0;
-      height: 1px;
-      width: 15px;
-      background-color: #ffffff33;
-    }
-    &::after {
-      position: absolute;
-      content: '';
-      display: block;
-      top: 10px;
-      right: 0;
-      height: 1px;
-      width: calc(100% - 85px);
-      background-color: #ffffff33;
-    }
-  }
-  .input-value {
-    width: 120px !important;
-  }
-  .unit {
-    text-align: right;
-  }
-  .btn-box {
-    margin: 10px 4px;
-    .btn1 {
-      padding: 4px 0;
-    }
+}
+.input-value {
+  width: 120px !important;
+}
+.unit {
+  text-align: right;
+}
+.btn-box {
+  margin: 10px 4px;
+  .btn1 {
+    padding: 4px 0;
   }
+}
 
-  :deep(.@{ventSpace}-tabs-tabpane-active) {
-    overflow: auto;
-  }
+:deep(.@{ventSpace}-tabs-tabpane-active) {
+  overflow: auto;
+}
 
-  :deep(.@{ventSpace}-input-number) {
-    border-color: #ffffff88 !important;
-  }
+:deep(.@{ventSpace}-input-number) {
+  border-color: #ffffff88 !important;
+}
 </style>

+ 1 - 1
src/views/vent/monitorManager/mainFanMonitor/components/AnalysisTable.vue

@@ -21,7 +21,7 @@ const Warncolumns = ref([
     title: '设备名称',
     align: 'center',
     width: 200,
-    customRender: () => '羊马河主通风机',
+    customRender: () => '特拉布拉主风机',
   },
   {
     title: '故障描述',

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 612 - 703
src/views/vent/monitorManager/mainFanMonitor/index.vue


Daži faili netika attēloti, jo izmaiņu fails ir pārāk liels