Просмотр исходного кода

[Mod 0000] 布尔台抽采泵模型动画及监测内容修改

houzekong 1 день назад
Родитель
Сommit
573ccc11f0

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

@@ -1,4 +1,3 @@
-import { string } from 'vue-types';
 export interface Config {
 export interface Config {
   /** 模块的名称 */
   /** 模块的名称 */
   moduleName: string;
   moduleName: string;
@@ -131,6 +130,7 @@ export interface ModuleData {
   complex_list?: ModuleDataComplexList[];
   complex_list?: ModuleDataComplexList[];
   complex_list1?: ModuleDataComplexList[];
   complex_list1?: ModuleDataComplexList[];
   partition?: ModuleDataPartition[];
   partition?: ModuleDataPartition[];
+  monitor_bar?: CommonItem[];
   /** 如果目前没有数据可以对接,可使用模拟数据先行展示 */
   /** 如果目前没有数据可以对接,可使用模拟数据先行展示 */
   mock?: any;
   mock?: any;
   /** 如果模块需要跳转,可以在这里配置,部分类型的模块(保德)不支持 formatter 格式 */
   /** 如果模块需要跳转,可以在这里配置,部分类型的模块(保德)不支持 formatter 格式 */

+ 106 - 106
src/views/vent/home/configurable/belt/components/ModuleCommon.vue

@@ -32,123 +32,123 @@
   </Transition>
   </Transition>
 </template>
 </template>
 <script lang="ts" setup>
 <script lang="ts" setup>
-import Header from './header.vue';
-import Content from '../../components/content.vue';
-import { computed, ref, watch } from 'vue';
-import ventBox1 from './ventBoxBelt.vue';
-import { openWindow } from '/@/utils';
-import { getFormattedText } from '../../hooks/helper';
-import { useInitModule } from '../../hooks/useInit';
+  import Header from './Header.vue';
+  import Content from '../../components/content.vue';
+  import { computed, ref, watch } from 'vue';
+  import ventBox1 from './ventBoxBelt.vue';
+  import { openWindow } from '/@/utils';
+  import { getFormattedText } from '../../hooks/helper';
+  import { useInitModule } from '../../hooks/useInit';
 
 
-const props = defineProps<{
-  pageType: string;
-  moduleData: any;
-  showStyle: any;
-  deviceType: string;
-  data: any;
-  moduleName: string;
-  visible: boolean;
-  chartData?: any;
-  activeId?: string | number;
-}>();
+  const props = defineProps<{
+    pageType: string;
+    moduleData: any;
+    showStyle: any;
+    deviceType: string;
+    data: any;
+    moduleName: string;
+    visible: boolean;
+    chartData?: any;
+    activeId?: string | number;
+  }>();
 
 
-const emit = defineEmits<{
-  (e: 'close'): void;
-  (e: 'click'): void;
-  (e: 'clickItem', data: any): void;
-}>();
+  const emit = defineEmits<{
+    (e: 'close'): void;
+    (e: 'click'): void;
+    (e: 'clickItem', data: any): void;
+  }>();
 
 
-const { header } = props.moduleData;
-const selectedData = ref();
-const selectedAlarmItem = ref({});
-const alarmBgClass = ref('');
-watch(() => props.data, updateAlarm, { immediate: true });
-watch(() => props.activeId, updateAlarm);
-const { selectedDeviceID, selectedDevice, options, init } = useInitModule(props.deviceType, props.moduleData);
-// 更新报警情况下背景图
-function updateAlarm() {
-  const currentId = props.activeId;
-  if (!currentId || !props.data) {
-    alarmBgClass.value = '';
-    return;
-  }
-  let level = null;
-  Object.values(props.data || {}).some((moduleList) => {
-    if (!Array.isArray(moduleList)) return false;
-    const target = moduleList.find((item) => {
-      const itemId = item.sysId || item.sys_id;
-      return String(itemId) === String(currentId);
+  const { header } = props.moduleData;
+  const selectedData = ref();
+  const selectedAlarmItem = ref({});
+  const alarmBgClass = ref('');
+  watch(() => props.data, updateAlarm, { immediate: true });
+  watch(() => props.activeId, updateAlarm);
+  const { selectedDeviceID, selectedDevice, options, init } = useInitModule(props.deviceType, props.moduleData);
+  // 更新报警情况下背景图
+  function updateAlarm() {
+    const currentId = props.activeId;
+    if (!currentId || !props.data) {
+      alarmBgClass.value = '';
+      return;
+    }
+    let level = null;
+    Object.values(props.data || {}).some((moduleList) => {
+      if (!Array.isArray(moduleList)) return false;
+      const target = moduleList.find((item) => {
+        const itemId = item.sysId || item.sys_id;
+        return String(itemId) === String(currentId);
+      });
+      if (target) {
+        level = target.alarmLevel ?? target.alarm_level ?? 0;
+        return true;
+      }
     });
     });
-    if (target) {
-      level = target.alarmLevel ?? target.alarm_level ?? 0;
-      return true;
+    switch (String(level ?? 0)) {
+      case '102':
+        alarmBgClass.value = 'alarm-yellow';
+        break;
+      case '103':
+        alarmBgClass.value = 'alarm-orange';
+        break;
+      case '104':
+        alarmBgClass.value = 'alarm-warning';
+        break;
+      case '0':
+      case 'null':
+      default:
+        alarmBgClass.value = 'alarm-normal';
     }
     }
-  });
-  switch (String(level ?? 0)) {
-    case '102':
-      alarmBgClass.value = 'alarm-yellow';
-      break;
-    case '103':
-      alarmBgClass.value = 'alarm-orange';
-      break;
-    case '104':
-      alarmBgClass.value = 'alarm-warning';
-      break;
-    case '0':
-    case 'null':
-    default:
-      alarmBgClass.value = 'alarm-normal';
   }
   }
-}
 
 
-const handleAlarmItem = (data) => {
-  selectedAlarmItem.value = data;
-  emit('clickItem', data);
-};
-const style = computed(() => {
-  const size = props.showStyle.size;
-  const position = props.showStyle.position;
-  return size + position + 'position: absolute; pointer-events: auto; z-index: 1';
-});
+  const handleAlarmItem = (data) => {
+    selectedAlarmItem.value = data;
+    emit('clickItem', data);
+  };
+  const style = computed(() => {
+    const size = props.showStyle.size;
+    const position = props.showStyle.position;
+    return size + position + 'position: absolute; pointer-events: auto; z-index: 1';
+  });
 
 
-const pageType = computed(() => props.pageType || '');
-const capitalizedPosition = computed(() => (props.showStyle.position.includes('left') ? 'Left' : 'Right'));
+  const pageType = computed(() => props.pageType || '');
+  const capitalizedPosition = computed(() => (props.showStyle.position.includes('left') ? 'Left' : 'Right'));
 
 
-function getModuleClass({ size, position }) {
-  const [_, width] = size.match(/width:([0-9]+)px/) || [];
-  if (position.includes('bottom') || parseInt(width) > 800) {
-    return 'module-common module-common-longer';
+  function getModuleClass({ size, position }) {
+    const [_, width] = size.match(/width:([0-9]+)px/) || [];
+    if (position.includes('bottom') || parseInt(width) > 800) {
+      return 'module-common module-common-longer';
+    }
+    return 'module-common';
   }
   }
-  return 'module-common';
-}
 
 
-function redirectTo() {
-  const { to } = props.moduleData;
-  if (!to) return;
-  openWindow(getFormattedText(props.data, to));
-}
-watch(
-  () => props.data,
-  (d) => {
-    init(d);
-    if (!selectedDeviceID.value) {
-      selectedDeviceID.value = options.value[0]?.value;
-    }
-  },
-  { immediate: true }
-);
+  function redirectTo() {
+    const { to } = props.moduleData;
+    if (!to) return;
+    openWindow(getFormattedText(props.data, to));
+  }
+  watch(
+    () => props.data,
+    (d) => {
+      init(d);
+      if (!selectedDeviceID.value) {
+        selectedDeviceID.value = options.value[0]?.value;
+      }
+    },
+    { immediate: true }
+  );
 </script>
 </script>
 <style lang="less" scoped>
 <style lang="less" scoped>
-@import '/@/design/theme.less';
-.module-common .box1-center {
-  height: calc(100% - 48px);
-}
-:deep(.box1-center) {
-  height: calc(100% - 48px);
-}
-:deep(.box1-center > .box-container) {
-  height: 100%;
-  padding: 0 !important;
-  width: 100% !important;
-}
+  @import '/@/design/theme.less';
+  .module-common .box1-center {
+    height: calc(100% - 48px);
+  }
+  :deep(.box1-center) {
+    height: calc(100% - 48px);
+  }
+  :deep(.box1-center > .box-container) {
+    height: 100%;
+    padding: 0 !important;
+    width: 100% !important;
+  }
 </style>
 </style>

+ 146 - 144
src/views/vent/home/configurable/components/MonitorBar.vue

@@ -31,169 +31,171 @@
   </a-row>
   </a-row>
 </template>
 </template>
 <script lang="ts" setup>
 <script lang="ts" setup>
-import { computed } from 'vue';
-import { getFormattedText } from '../hooks/helper';
-import { useGlobSetting } from '/@/hooks/setting';
+  import { computed } from 'vue';
+  import { getFormattedText } from '../hooks/helper';
+  import { useGlobSetting } from '/@/hooks/setting';
 
 
-const props = defineProps<{
-  isDataRealTime: boolean;
-  data: any;
-}>();
+  const props = defineProps<{
+    isDataRealTime: boolean;
+    data: any;
+    customConfig?: any;
+  }>();
 
 
-const { sysOrgCode } = useGlobSetting();
+  const { sysOrgCode } = useGlobSetting();
 
 
-const config = computed(() => {
-  if (sysOrgCode === 'huainanzhangji') {
-    return [
-      {
-        label: '总回风量(m³/min)',
-        value: '${midinfo[0].sysdata.zonghuifeng}',
-      },
-      {
-        label: '总进风量(m³/min)',
-        value: '${midinfo[0].sysdata.zongjinfeng}',
-      },
-      {
-        label: '有效风量率(%)',
-        value: '${midinfo[0].sysinfo.useM3Perent}',
-      },
-    ];
-  }
-  if (props.isDataRealTime) {
-    return [
-      {
-        label: '总回风量(m³/min)',
-        value: '${midinfo[0].sysdata.zonghuifeng}',
-      },
-      {
-        label: '总进风量(m³/min)',
-        value: '${midinfo[0].sysdata.zongjinfeng}',
-      },
-      {
-        label: '计划风量(m³/min)',
-        value: '${midinfo[0].sysdata.xufengliang}',
-      },
-      {
-        label: '通风巷道长度(m)',
-        // value: '223196',
-        value: '${midinfo[0].sysinfo.totallength}',
-      },
-      {
-        label: '有效风量率(%)',
-        value: '${midinfo[0].sysinfo.useM3Perent}',
-      },
-    ];
-  } else {
-    return [
-      {
-        label: '总回风量(m³/min)',
-        value: '${midinfo[0].sysinfo.info.totalRetM3}',
-      },
-      {
-        label: '总进风量(m³/min)',
-        value: '${midinfo[0].sysinfo.info.totalIntM3}',
-      },
-      {
-        label: '计划风量(m³/min)',
-        value: '${midinfo[0].sysinfo.info.totalPlanM3}',
-      },
-      {
-        label: '通风巷道长度(万m)',
-        value: '${midinfo[0].sysinfo.info.flength}',
-      },
-      {
-        label: '有效风量率(%)',
-        value: '${midinfo[0].sysinfo.info.useM3Perent}',
-      },
-    ];
-  }
-});
+  const config = computed(() => {
+    if (props.customConfig) return props.customConfig;
+    if (sysOrgCode === 'huainanzhangji') {
+      return [
+        {
+          label: '总回风量(m³/min)',
+          value: '${midinfo[0].sysdata.zonghuifeng}',
+        },
+        {
+          label: '总进风量(m³/min)',
+          value: '${midinfo[0].sysdata.zongjinfeng}',
+        },
+        {
+          label: '有效风量率(%)',
+          value: '${midinfo[0].sysinfo.useM3Perent}',
+        },
+      ];
+    }
+    if (props.isDataRealTime) {
+      return [
+        {
+          label: '总回风量(m³/min)',
+          value: '${midinfo[0].sysdata.zonghuifeng}',
+        },
+        {
+          label: '总进风量(m³/min)',
+          value: '${midinfo[0].sysdata.zongjinfeng}',
+        },
+        {
+          label: '计划风量(m³/min)',
+          value: '${midinfo[0].sysdata.xufengliang}',
+        },
+        {
+          label: '通风巷道长度(m)',
+          // value: '223196',
+          value: '${midinfo[0].sysinfo.totallength}',
+        },
+        {
+          label: '有效风量率(%)',
+          value: '${midinfo[0].sysinfo.useM3Perent}',
+        },
+      ];
+    } else {
+      return [
+        {
+          label: '总回风量(m³/min)',
+          value: '${midinfo[0].sysinfo.info.totalRetM3}',
+        },
+        {
+          label: '总进风量(m³/min)',
+          value: '${midinfo[0].sysinfo.info.totalIntM3}',
+        },
+        {
+          label: '计划风量(m³/min)',
+          value: '${midinfo[0].sysinfo.info.totalPlanM3}',
+        },
+        {
+          label: '通风巷道长度(万m)',
+          value: '${midinfo[0].sysinfo.info.flength}',
+        },
+        {
+          label: '有效风量率(%)',
+          value: '${midinfo[0].sysinfo.info.useM3Perent}',
+        },
+      ];
+    }
+  });
 
 
-const computedConfig = computed(() => {
-  const data = props.data;
-  return config.value.map((e, i) => {
-    return {
-      label: getFormattedText(data, e.label),
-      value: getFormattedText(data, e.value),
-      class: `middata${i}`,
-    };
+  const computedConfig = computed(() => {
+    const data = props.data;
+    return config.value.map((e, i) => {
+      return {
+        label: getFormattedText(data, e.label),
+        value: getFormattedText(data, e.value),
+        class: `middata${i}`,
+      };
+    });
   });
   });
-});
 </script>
 </script>
 <style lang="less" scoped>
 <style lang="less" scoped>
-.midback-info {
-  pointer-events: none;
-}
+  .midback-info {
+    pointer-events: none;
+  }
 
 
-.middata {
-  // margin-top: 7px;
-  padding: 5px 0px 5px 60px;
-  width: 175px;
-  height: 64px;
-  // margin-top: 4px;
-  // margin-left: 10px;
-  // margin-bottom: 5px;
-  background-size: 100% 100%;
-  text-align: center;
-}
+  .middata {
+    // margin-top: 7px;
+    padding: 5px 0px 5px 60px;
+    width: 175px;
+    height: 64px;
+    // margin-top: 4px;
+    // margin-left: 10px;
+    // margin-bottom: 5px;
+    background-size: 100% 100%;
+    text-align: center;
+  }
 
 
-.middata0 {
-  .midnumberval {
-    color: #e6ffee;
+  .middata0 {
+    .midnumberval {
+      color: #e6ffee;
+    }
+    background: url('/@/assets/images/home-container/configurable/middata1.png');
   }
   }
-  background: url('/@/assets/images/home-container/configurable/middata1.png');
-}
 
 
-.middata1 {
-   .midnumberval {
-    color: #d3f8ff;
+  .middata1 {
+    .midnumberval {
+      color: #d3f8ff;
+    }
+    background: url('/@/assets/images/home-container/configurable/middata2.png');
   }
   }
-  background: url('/@/assets/images/home-container/configurable/middata2.png');
-}
 
 
-.middata2 {
-   .midnumberval {
-    color: #fffcd5;
+  .middata2 {
+    .midnumberval {
+      color: #fffcd5;
+    }
+    background: url('/@/assets/images/home-container/configurable/middata3.png');
   }
   }
-  background: url('/@/assets/images/home-container/configurable/middata3.png');
-}
 
 
-.middata3 {
-   .midnumberval {
-    color: #deeafe;
+  .middata3 {
+    .midnumberval {
+      color: #deeafe;
+    }
+    background: url('/@/assets/images/home-container/configurable/middata6.png');
   }
   }
-  background: url('/@/assets/images/home-container/configurable/middata6.png');
-}
 
 
-.middata4 {
-   .midnumberval {
-    color: #f3e3ff;
+  .middata4 {
+    .midnumberval {
+      color: #f3e3ff;
+    }
+    background: url('/@/assets/images/home-container/configurable/middata5.png');
   }
   }
-  background: url('/@/assets/images/home-container/configurable/middata5.png');
-}
 
 
-.middata5 {
-  background: url('/@/assets/images/home-container/configurable/middata4.png');
-}
+  .middata5 {
+    background: url('/@/assets/images/home-container/configurable/middata4.png');
+  }
 
 
-.midnumberval {
-  z-index: 4;
-  padding-top: -10px;
-  // position: absolute;
-  // top: -6px;
-  text-align: center;
-  font-weight: 600;
-  // color: #f6ca0e;
-  font-size: 12px;
-  // font-family: 'Microsoft YaHei', Arial;
-  font-family: 'douyuFont';
-}
+  .midnumberval {
+    z-index: 4;
+    padding-top: -10px;
+    // position: absolute;
+    // top: -6px;
+    text-align: center;
+    font-weight: 600;
+    // color: #f6ca0e;
+    font-size: 12px;
+    // font-family: 'Microsoft YaHei', Arial;
+    font-family: 'douyuFont';
+  }
 
 
-.midback-info {
-  background-image: url('/@/assets/images/home-container/configurable/middata_bg.png');
-  background-size: 100% 100%;
-  display: flex;
-  justify-content: space-around;
-  align-items: center;
-}
+  .midback-info {
+    background-image: url('/@/assets/images/home-container/configurable/middata_bg.png');
+    background-size: 100% 100%;
+    display: flex;
+    justify-content: space-around;
+    align-items: center;
+  }
 </style>
 </style>

+ 37 - 13
src/views/vent/monitorManager/gasPumpMonitor/components/gasPumpHomeBet.vue

@@ -29,14 +29,14 @@
       <div class="left-container">
       <div class="left-container">
         <div class="monitor-box">
         <div class="monitor-box">
           <template v-for="(device, leftIndex) in deviceProperty.leftMonitor" :key="leftIndex">
           <template v-for="(device, leftIndex) in deviceProperty.leftMonitor" :key="leftIndex">
-            <ventBox1 :class="{ 'vent-margin-t-10': leftIndex > 0 }">
+            <ventBox1 :class="{ 'vent-margin-b-10': true }">
               <template #title>
               <template #title>
                 <div>{{ device.title }}</div>
                 <div>{{ device.title }}</div>
               </template>
               </template>
               <template #container>
               <template #container>
                 <template v-for="(deviceChild, deviceChildIndex) in device.children" :key="deviceChildIndex">
                 <template v-for="(deviceChild, deviceChildIndex) in device.children" :key="deviceChildIndex">
                   <div v-for="(deviceKey, deviceIndex) in deviceChild.key" :key="deviceIndex">
                   <div v-for="(deviceKey, deviceIndex) in deviceChild.key" :key="deviceIndex">
-                    <div v-if="deviceChild.key.length > 1" class="parameter-title group-parameter-title"
+                    <div class="parameter-title group-parameter-title"
                       ><SvgIcon class="icon" size="14" name="pulp-title" /><span>{{ deviceChild.childTitle[deviceIndex] }}</span></div
                       ><SvgIcon class="icon" size="14" name="pulp-title" /><span>{{ deviceChild.childTitle[deviceIndex] }}</span></div
                     >
                     >
                     <div class="input-box">
                     <div class="input-box">
@@ -48,7 +48,12 @@
                           }"
                           }"
                           >{{ item.title }}:</div
                           >{{ item.title }}:</div
                         >
                         >
-                        <template v-if="item.type !== 'sign' && item.type !== 'warning'">
+                        <template v-if="item.type === 'txt'">
+                          <div class="value">
+                            {{ get(selectData, deviceKey + item.code, '-') }}
+                          </div>
+                        </template>
+                        <template v-else-if="item.type !== 'sign' && item.type !== 'warning'">
                           <div class="value">{{
                           <div class="value">{{
                             selectData && selectData[deviceKey + item.code] ? formatNum(selectData[deviceKey + item.code], 1) : '-'
                             selectData && selectData[deviceKey + item.code] ? formatNum(selectData[deviceKey + item.code], 1) : '-'
                           }}</div>
                           }}</div>
@@ -168,6 +173,7 @@
   import PasswordModal from '../../comment/components/PasswordModal.vue';
   import PasswordModal from '../../comment/components/PasswordModal.vue';
   import { message } from 'ant-design-vue';
   import { message } from 'ant-design-vue';
   import { useCamera } from '/@/hooks/system/useCamera';
   import { useCamera } from '/@/hooks/system/useCamera';
+  import { get } from 'lodash-es';
 
 
   const globalConfig = inject('globalConfig');
   const globalConfig = inject('globalConfig');
 
 
@@ -252,6 +258,14 @@
     const res = await list({ devicetype: props.deviceType, ids: systemID });
     const res = await list({ devicetype: props.deviceType, ids: systemID });
     const result = res.msgTxt[0]['datalist'][0];
     const result = res.msgTxt[0]['datalist'][0];
     Object.assign(result, result['readData']);
     Object.assign(result, result['readData']);
+    result.CentrifugalPump1_WaterInValve1_OpenLimit = result.CentrifugalPump1_GVL4_Status;
+    result.CentrifugalPump2_WaterInValve1_OpenLimit = result.CentrifugalPump2_GVL4_Status;
+    result.CentrifugalPump1_WaterOutValve2_OpenLimit = result.CentrifugalPump1_GVL3_Status;
+    result.CentrifugalPump2_WaterOutValve2_OpenLimit = result.CentrifugalPump2_GVL3_Status;
+    result.CentrifugalPump1_AirInValve1_OpenLimit = result.CentrifugalPump1_GVL1_OpenDegree;
+    result.CentrifugalPump2_AirInValve1_OpenLimit = result.CentrifugalPump2_GVL1_OpenDegree;
+    result.CentrifugalPump1_AirOutValve2_OpenLimit = result.CentrifugalPump1_GVL2_OpenDegree;
+    result.CentrifugalPump2_AirOutValve2_OpenLimit = result.CentrifugalPump2_GVL2_OpenDegree;
     return result;
     return result;
   }
   }
 
 
@@ -331,11 +345,11 @@
       getMonitorData(props.deviceType).then((data) => {
       getMonitorData(props.deviceType).then((data) => {
         deviceProperty.value = data;
         deviceProperty.value = data;
 
 
-        if (props.deviceType == 'pump_over') {
-          setModelType('gasPump');
-        } else if (props.deviceType?.startsWith('pump_under') || props.deviceType == 'pump_n12m2pq') {
-          setModelType('gasPumpUnder');
-        }
+        // if (props.deviceType == 'pump_over') {
+        //   setModelType('gasPump');
+        // } else if (props.deviceType?.startsWith('pump_under') || props.deviceType == 'pump_n12m2pq') {
+        //   setModelType('gasPumpUnder');
+        // }
       });
       });
     }
     }
   );
   );
@@ -410,7 +424,7 @@
       margin-left: 5px;
       margin-left: 5px;
     }
     }
     .value {
     .value {
-      width: 30px;
+      // width: 30px;
       color: #efae05;
       color: #efae05;
     }
     }
   }
   }
@@ -428,15 +442,25 @@
     margin-top: 0 !important;
     margin-top: 0 !important;
   }
   }
   .left-box {
   .left-box {
-    width: 360px !important;
+    width: 730px !important;
     direction: rtl;
     direction: rtl;
-    overflow-y: auto;
-    overflow-x: hidden;
-    height: calc(100% - 60px);
+    height: calc(100% - 100px);
     margin-top: 30px !important;
     margin-top: 30px !important;
 
 
     .left-container {
     .left-container {
       direction: ltr;
       direction: ltr;
+      height: 100%;
+
+      .monitor-box {
+        width: 730px;
+        height: 100%;
+        display: flex;
+        flex-wrap: wrap;
+        flex-direction: column;
+        .vent-box1-bg {
+          width: 360px;
+        }
+      }
     }
     }
   }
   }
   .right-box {
   .right-box {

+ 80 - 0
src/views/vent/monitorManager/gasPumpMonitor/gasPump.data.bet2.ts

@@ -87,6 +87,86 @@ export const leftMonitor = [
       },
       },
     ],
     ],
   },
   },
+  // {
+  //   type: 'list',
+  //   title: '火焰传感器',
+  //   stateHeader: [],
+  //   children: [
+  //     {
+  //       title: '',
+  //       childTitle: ['1-1火焰传感器', '2-1火焰传感器'],
+  //       key: ['ExplosionSS1_FS1', 'ExplosionSS2_FS1'],
+  //       list: [
+  //         {
+  //           title: '状态',
+  //           code: '_str',
+  //           type: '',
+  //         },
+  //       ],
+  //     },
+  //   ],
+  // },
+  {
+    type: 'list',
+    title: '抑爆器',
+    stateHeader: [],
+    children: [
+      {
+        title: '',
+        childTitle: ['1#抑爆器'],
+        key: ['ExplosionSS1'],
+        list: [
+          {
+            title: '火焰传感器',
+            code: '_FS1_str',
+            type: 'txt',
+          },
+          {
+            title: '报警状态',
+            code: '_SysFault_str',
+            type: 'txt',
+          },
+          {
+            title: '1-1抑爆器',
+            code: '_EV1_str',
+            type: 'txt',
+          },
+          {
+            title: '1-2抑爆器',
+            code: '_EV2_str',
+            type: 'txt',
+          },
+        ],
+      },
+      {
+        title: '',
+        childTitle: ['2#抑爆器'],
+        key: ['ExplosionSS2'],
+        list: [
+          {
+            title: '火焰传感器',
+            code: '_FS1_str',
+            type: 'txt',
+          },
+          {
+            title: '报警状态',
+            code: '_SysFault_str',
+            type: 'txt',
+          },
+          {
+            title: '2-1抑爆器',
+            code: '_EV1_str',
+            type: 'txt',
+          },
+          {
+            title: '2-2抑爆器',
+            code: '_EV2_str',
+            type: 'txt',
+          },
+        ],
+      },
+    ],
+  },
 ];
 ];
 
 
 export const rightMonitor = [
 export const rightMonitor = [

+ 12 - 12
src/views/vent/monitorManager/gasPumpMonitor/gasPump.threejs.under.ts

@@ -120,11 +120,11 @@ class gasPumpUnder {
       this.airInR?.showElement();
       this.airInR?.showElement();
       this.airInL?.showElement();
       this.airInL?.showElement();
     } else if (jqf1Open) {
     } else if (jqf1Open) {
-      this.airInA?.showElement();
-      this.airInL?.showElement();
-    } else if (jqf2Open) {
       this.airInB?.showElement();
       this.airInB?.showElement();
       this.airInR?.showElement();
       this.airInR?.showElement();
+    } else if (jqf2Open) {
+      this.airInA?.showElement();
+      this.airInL?.showElement();
     }
     }
 
 
     // 出气动画控制
     // 出气动画控制
@@ -136,11 +136,11 @@ class gasPumpUnder {
       this.airOutR?.showElement();
       this.airOutR?.showElement();
       this.airOutL?.showElement();
       this.airOutL?.showElement();
     } else if (cqf1Open) {
     } else if (cqf1Open) {
-      this.airOutA?.showElement();
-      this.airOutL?.showElement();
-    } else if (cqf2Open) {
       this.airOutB?.showElement();
       this.airOutB?.showElement();
       this.airOutR?.showElement();
       this.airOutR?.showElement();
+    } else if (cqf2Open) {
+      this.airOutA?.showElement();
+      this.airOutL?.showElement();
     }
     }
 
 
     // 进水动画控制
     // 进水动画控制
@@ -152,11 +152,11 @@ class gasPumpUnder {
       this.waterInR?.showElement();
       this.waterInR?.showElement();
       this.waterInL?.showElement();
       this.waterInL?.showElement();
     } else if (jsf1Open) {
     } else if (jsf1Open) {
-      this.waterInA?.showElement();
-      this.waterInL?.showElement();
-    } else if (jsf2Open) {
       this.waterInB?.showElement();
       this.waterInB?.showElement();
       this.waterInR?.showElement();
       this.waterInR?.showElement();
+    } else if (jsf2Open) {
+      this.waterInA?.showElement();
+      this.waterInL?.showElement();
     }
     }
 
 
     // 出水动画控制
     // 出水动画控制
@@ -168,11 +168,11 @@ class gasPumpUnder {
       this.waterOutR?.showElement();
       this.waterOutR?.showElement();
       this.waterOutL?.showElement();
       this.waterOutL?.showElement();
     } else if (csf1Open) {
     } else if (csf1Open) {
-      this.waterOutA?.showElement();
-      this.waterOutL?.showElement();
-    } else if (csf2Open) {
       this.waterOutB?.showElement();
       this.waterOutB?.showElement();
       this.waterOutR?.showElement();
       this.waterOutR?.showElement();
+    } else if (csf2Open) {
+      this.waterOutA?.showElement();
+      this.waterOutL?.showElement();
     }
     }
   }
   }
 
 

+ 4 - 0
src/views/vent/monitorManager/gasPumpMonitor/index.vue

@@ -103,6 +103,8 @@
         setModelType('gasPump');
         setModelType('gasPump');
       } else if (currentDeviceType.value.startsWith('pump_under')) {
       } else if (currentDeviceType.value.startsWith('pump_under')) {
         setModelType('gasPumpUnder');
         setModelType('gasPumpUnder');
+      } else {
+        setModelType('gasPumpUnder');
       }
       }
     }
     }
     activeKey.value = activeValue;
     activeKey.value = activeValue;
@@ -173,6 +175,8 @@
         setModelType('gasPump');
         setModelType('gasPump');
       } else if (currentDeviceType.value.startsWith('pump_under')) {
       } else if (currentDeviceType.value.startsWith('pump_under')) {
         setModelType('gasPumpUnder');
         setModelType('gasPumpUnder');
+      } else {
+        setModelType('gasPumpUnder');
       }
       }
     }
     }
   }
   }