Преглед изворни кода

Merge branch 'master' of http://39.97.59.228:8013/hrx/mky-vent-base

hongrunxia пре 4 месеци
родитељ
комит
64f96669fd
24 измењених фајлова са 237 додато и 1113 уклоњено
  1. BIN
      src/assets/images/sealedGoaf/configurable/miniBoard/board-bg-ckqmb-1.png
  2. BIN
      src/assets/images/sealedGoaf/configurable/miniBoard/board-bg-ckqmb-2.png
  3. BIN
      src/assets/images/sealedGoaf/configurable/miniBoard/board-bg-ckqmb-3.png
  4. BIN
      src/assets/images/sealedGoaf/configurable/miniBoard/board-bg-ckqmb-4.png
  5. BIN
      src/assets/images/sealedGoaf/configurable/miniBoard/board-bg-ckqmb-5.png
  6. BIN
      src/assets/images/sealedGoaf/configurable/miniBoard/board-bg-ckqmb1.png
  7. BIN
      src/assets/images/sealedGoaf/configurable/miniBoard/board-bg-ckqmb2.png
  8. BIN
      src/assets/images/sealedGoaf/configurable/table/table1-label.png
  9. BIN
      src/assets/images/sealedGoaf/views/home/module-title.png
  10. 166 5
      src/components/vent/BasicMonitoring.vue
  11. 0 747
      src/views/sealedGoafSys/home/configurable.data.sealedGoaf.ts
  12. 0 138
      src/views/sealedGoafSys/home/sealedGoaf.vue
  13. 1 1
      src/views/vent/dataCenter/infoCenter/index.vue
  14. 11 2
      src/views/vent/dataCenter/infoCenter/infoCenter.data.ts
  15. 9 6
      src/views/vent/deviceManager/configurationTable/types.ts
  16. 11 1
      src/views/vent/home/configurable/components/detail/CustomChart.vue
  17. 0 37
      src/views/vent/home/configurable/components/detail/CustomTable.vue
  18. 0 149
      src/views/vent/home/configurable/components/detail/MiniBoard.vue
  19. 0 1
      src/views/vent/monitorManager/fireDoorMonitor/fireDoor.threejs.ssl.ts
  20. 30 9
      src/views/vent/monitorManager/sprayMonitor/index.vue
  21. 0 0
      src/views/vent/monitorManager/sprayMonitor/spray.api.ts
  22. 2 4
      src/views/vent/monitorManager/sprayMonitor/spray.three.ts
  23. 7 12
      src/views/vent/monitorManager/sprayMonitor/spray.threejs.base.ts
  24. 0 1
      src/views/vent/monitorManager/windowMonitor/components/windowDualSVG.vue

BIN
src/assets/images/sealedGoaf/configurable/miniBoard/board-bg-ckqmb-1.png


BIN
src/assets/images/sealedGoaf/configurable/miniBoard/board-bg-ckqmb-2.png


BIN
src/assets/images/sealedGoaf/configurable/miniBoard/board-bg-ckqmb-3.png


BIN
src/assets/images/sealedGoaf/configurable/miniBoard/board-bg-ckqmb-4.png


BIN
src/assets/images/sealedGoaf/configurable/miniBoard/board-bg-ckqmb-5.png


BIN
src/assets/images/sealedGoaf/configurable/miniBoard/board-bg-ckqmb1.png


BIN
src/assets/images/sealedGoaf/configurable/miniBoard/board-bg-ckqmb2.png


BIN
src/assets/images/sealedGoaf/configurable/table/table1-label.png


BIN
src/assets/images/sealedGoaf/views/home/module-title.png


+ 166 - 5
src/components/vent/BasicMonitoring.vue

@@ -1,4 +1,5 @@
 <template>
+  <!-- 场景选择下拉框 -->
   <customHeader
     :fieldNames="{ label: 'systemname', value: 'id', options: 'children' }"
     :options="options"
@@ -7,10 +8,21 @@
   >
     {{ mainTitle }}
   </customHeader>
+  <!-- 默认插槽,一般用来放模型 -->
   <slot :monitor-data="monitorData"></slot>
   <div class="scene-box">
     <div class="center-container">
+      <!-- 监测模块 -->
       <template v-if="activeKey == 'monitor'">
+        <slot name="opration">
+          <div class="button-wrapper">
+            <template v-for="item in mainConfig.operations" :key="item.key">
+              <template v-if="hasPermission(item.permission)">
+                <div :class="{ 'button-box': true, 'button-box-disable': item.disabled }" @click="handleOperate(item)">{{ item.label }} </div>
+              </template>
+            </template>
+          </div>
+        </slot>
         <slot name="monitor">
           <ModuleCommon
             v-for="cfg in mainConfig.configs"
@@ -25,6 +37,7 @@
         </slot>
       </template>
       <div v-else class="history-group">
+        <!-- 场景下关联的设备有很多,在这里选择 -->
         <div v-if="showDeviceList && deviceList.length > 0" class="device-button-group">
           <div
             v-for="(device, index) in deviceList"
@@ -70,6 +83,12 @@
     </div>
     <BottomMenu @change="changeActive" />
   </div>
+  <PasswordModal
+    :modal-is-show="passwordModalShown"
+    :modal-title="operatingTarget?.label"
+    @handle-ok="handlePasswordOK"
+    @handle-cancel="passwordModalShown = false"
+  />
 </template>
 
 <script setup lang="ts">
@@ -83,15 +102,27 @@
   import AlarmHistoryTable from '/@/views/vent/monitorManager/comment/AlarmHistoryTable.vue';
   import { useRouter } from 'vue-router';
   import { Config } from '/@/views/vent/deviceManager/configurationTable/types';
-  import { message } from 'ant-design-vue';
+  import { message, Modal } from 'ant-design-vue';
   import _ from 'lodash';
+  import PasswordModal from '/@/views/vent/monitorManager/comment/components/PasswordModal.vue';
+  import { usePermission } from '/@/hooks/web/usePermission';
+  import { deviceControlApi } from '/@/api/vent';
 
   type DeviceType = { deviceType: string; deviceName: string; datalist: any[] };
+  type Operation = {
+    label: string;
+    key: string;
+    value: string;
+    disabled?: boolean;
+    showPassword?: boolean;
+    permission?: string;
+    onOk?: (key: string, value: string, pwd?: string) => Promise<void>;
+  };
 
   const props = withDefaults(
     defineProps<{
       mainTitle: string;
-      /** 是否显示历史数据上方的设备列表 */
+      /** 是否显示历史数据上方的设备类型选择器 */
       showDeviceList?: boolean;
       /** 请求场景数据传入的类型字符 */
       strtype: string;
@@ -101,6 +132,7 @@
       // deviceType: string;
       /** 主要模块配置 */
       mainConfig: {
+        operations: Operation[];
         configs: Config[];
         /** 获取该场景所含设备及其监测信息的API */
         monitorApi?: (params: { deviceType: string; deviceId: number | string }) => Promise<any>;
@@ -141,6 +173,7 @@
     }>(),
     {
       mainConfig: () => ({
+        operations: [],
         configs: [],
       }),
       monitorHistoryConfig: () => ({}),
@@ -152,6 +185,7 @@
   );
 
   const { currentRoute } = useRouter();
+  const { hasPermission } = usePermission();
 
   const activeKey = ref('monitor');
 
@@ -159,7 +193,9 @@
     activeKey.value = activeValue;
   }
 
+  /** 场景选项 */
   const options = ref([]);
+  /** 已选择了的场景的id */
   const optionValue = ref('');
 
   /** 获取左上角场景选择框数据的方法,如果此时初始场景未赋值则选择首项做初始化 */
@@ -180,17 +216,18 @@
     getDeviceList();
   }
 
-  //关联设备
+  /** 当前场景所关联设备 */
   const deviceList = ref<DeviceType[]>([]);
   const deviceActive = ref('');
   const deviceType = ref('');
 
+  /** 选择设备 */
   function deviceChange(index) {
     deviceType.value = deviceList.value[index]?.deviceType || '';
     deviceActive.value = deviceList.value[index]?.deviceType || '';
   }
 
-  // 查询关联设备列表
+  /** 查询当前场景所关联设备列表 */
   async function getDeviceList() {
     const { msgTxt = [] } = await getDevice({ devicetype: 'sys', systemID: optionValue.value }).catch(() => {
       message.error('获取已绑定设备时发生了错误');
@@ -217,6 +254,7 @@
   }
 
   let timer: NodeJS.Timeout;
+  /** 场景的监测数据 */
   const monitorData = ref<any>({});
   /** 获取本场景下所绑定的设备,将监测数据赋值 */
   async function getMonitor() {
@@ -241,6 +279,59 @@
     }
   }
 
+  /** 密码提示框是否显示 */
+  const passwordModalShown = ref(false);
+  /** 下发操作时的目标配置 */
+  const operatingTarget = ref<Operation>();
+
+  /** 操作按钮点击后根据配置弹出确认框,初始化数据 */
+  function handleOperate(item: Operation) {
+    if (item.disabled) return;
+    operatingTarget.value = item;
+
+    if (item.showPassword) {
+      passwordModalShown.value = true;
+    } else {
+      Modal.confirm({
+        title: '操作确认',
+        content: `确定要进行${operatingTarget.value.label}操作吗?`,
+        iconType: 'info',
+        onOk: () => handlePasswordOK(),
+      });
+    }
+  }
+
+  /** 密码输入后确认的回调 */
+  function handlePasswordOK(pwd?: string) {
+    if (!operatingTarget.value) return message.error('操作目标不存在');
+    const { onOk = deviceControl, key, value } = operatingTarget.value;
+
+    return onOk(key, value, pwd)
+      .then(() => {
+        passwordModalShown.value = false;
+      })
+      .finally(() => {
+        operatingTarget.value = undefined;
+      });
+  }
+
+  function deviceControl(key: string, value: string, pwd?: string) {
+    return deviceControlApi({
+      deviceid: optionValue.value,
+      devicetype: deviceType.value,
+      password: pwd,
+      paramcode: key,
+      value: value,
+    })
+      .then((r) => {
+        if (!r.success) throw r.message || '操作失败';
+        message.success('指令下发成功');
+      })
+      .catch((e) => {
+        message.error(typeof e === 'string' ? e : '指令下发失败');
+      });
+  }
+
   onMounted(async () => {
     if (currentRoute.value && currentRoute.value['query'] && currentRoute.value['query']['id']) {
       optionValue.value = currentRoute.value['query']['id'] as string;
@@ -262,7 +353,9 @@
 <style lang="less" scoped>
   @import '/@/design/vent/modal.less';
   @ventSpace: zxm;
+
   .scene-box {
+    --image-tab-group-bg: url('/@/assets/images/vent/tab-group-bg.png');
     margin-top: 40px;
     pointer-events: none;
     .history-group {
@@ -342,9 +435,77 @@
     }
 
     .@{ventSpace}-input-number {
-      border-color: #ffffff88 !important;
+      border-color: #ffffff88;
     }
 
     margin-right: 10px;
   }
+
+  .button-wrapper {
+    position: relative;
+    top: 30px;
+    left: 500px;
+    display: flex;
+    justify-content: flex-start;
+    align-items: center;
+    margin-top: 10px;
+    width: 1165px !important;
+    height: 75px;
+    background: var(--image-tab-group-bg) no-repeat;
+    background-image: 100% 100%;
+    padding: 0 30px;
+    z-index: 10;
+
+    .button-box {
+      margin: 0 10px;
+    }
+  }
+
+  .button-box {
+    position: relative;
+    padding: 5px;
+    border-radius: 5px;
+    width: auto;
+    height: 34px;
+    border: 1px solid var(--vent-base-border);
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    color: var(--vent-font-color);
+    padding: 0 10px;
+    cursor: pointer;
+    pointer-events: all;
+
+    &:hover {
+      background: var(--vent-device-manager-control-btn-hover);
+    }
+
+    &::before {
+      width: calc(100% - 6px);
+      height: 26px;
+      content: '';
+      position: absolute;
+      top: 3px;
+      right: 0;
+      left: 3px;
+      bottom: 0;
+      z-index: -1;
+      border-radius: inherit;
+      /*important*/
+      background: var(--vent-device-manager-control-btn);
+    }
+  }
+
+  .button-box-disable {
+    cursor: not-allowed;
+    border: 1px solid var(--vent-base-border);
+
+    &:hover {
+      background: none;
+    }
+
+    &:before {
+      background: linear-gradient(#5897c299, #4a92a899);
+    }
+  }
 </style>

+ 0 - 747
src/views/sealedGoafSys/home/configurable.data.sealedGoaf.ts

@@ -1,747 +0,0 @@
-import type { Config } from '@/views/vent/deviceManager/configurationTable/types';
-
-export const testConfigSealedGoaf: Config[] = [
-  // 1. 矿井状况
-  {
-    deviceType: 'goafsInfo',
-    moduleName: '矿井状况',
-    pageType: 'sealed_goaf',
-    moduleData: {
-      header: {
-        show: false,
-        readFrom: '',
-        selector: { show: false, value: '' },
-        slot: { show: false, value: '' },
-      },
-      background: { show: false, type: 'video', link: '' },
-      layout: {
-        direction: 'row',
-        items: [{ name: 'board', basis: '100%' }],
-      },
-      list: [],
-      board: [
-        {
-          type: 'CKQMB',
-          readFrom: '',
-          layout: 'label-top',
-          items: [
-            {
-              label: '生产矿井',
-              value: '219',
-            },
-            {
-              label: '建设矿井',
-              value: '219',
-            },
-            {
-              label: '停产停建',
-              value: '17',
-            },
-            {
-              label: '长期停产停建',
-              value: '17',
-            },
-            {
-              label: '实施关闭',
-              value: '2',
-            },
-            {
-              label: '情况变化',
-              value: '1',
-            },
-          ],
-        },
-      ],
-      chart: [],
-      gallery: [],
-      gallery_list: [],
-      table: [],
-      complex_list: [],
-      preset: [],
-    },
-    showStyle: {
-      size: 'width:440px;height:200px;',
-      version: '原版',
-      position: 'top:30px;left:10px;',
-      headerPosition: 'centerBottom',
-    },
-  },
-  // 2. 当日生产状态
-  {
-    deviceType: 'spray_auto',
-    moduleName: '当日生产状态',
-    pageType: 'sealed_goaf',
-    moduleData: {
-      header: {
-        show: false,
-        readFrom: '',
-        selector: { show: false, value: '' },
-        slot: { show: false, value: '' },
-      },
-      background: { show: false, type: 'video', link: '' },
-      layout: {
-        direction: 'row',
-        items: [{ name: 'board', basis: '100%' }],
-      },
-      list: [],
-      board: [
-        {
-          type: 'CKQMB',
-          readFrom: '',
-          layout: 'label-top',
-          items: [
-            {
-              label: '正在生产',
-              value: '210',
-            },
-            {
-              label: '正在建设',
-              value: '27',
-            },
-            {
-              label: '停产',
-              value: '17',
-            },
-            {
-              label: '停工',
-              value: '1',
-            },
-          ],
-        },
-      ],
-      chart: [],
-      gallery: [],
-      gallery_list: [],
-      table: [],
-      complex_list: [],
-      preset: [],
-    },
-    showStyle: {
-      size: 'width:440px;height:150px;',
-      version: '原版',
-      position: 'top:225px;left:10px;',
-    },
-  },
-  // 3. 煤层自燃倾向性
-  {
-    deviceType: 'deviceInfo',
-    moduleName: '煤层自燃倾向性',
-    pageType: 'sealed_goaf',
-    moduleData: {
-      header: {
-        show: false,
-        readFrom: '',
-        selector: {
-          show: false,
-          value: '',
-        },
-        slot: {
-          show: false,
-          value: '',
-        },
-      },
-      background: {
-        show: false,
-        type: 'video',
-        link: '',
-      },
-      layout: {
-        direction: 'column',
-        items: [
-          {
-            name: 'chart',
-            basis: '100%',
-          },
-        ],
-      },
-      chart: [
-        {
-          type: 'pie_drag',
-          readFrom: '',
-          legend: { show: false, formatter: '{b}:{c}\n{d}%' },
-          xAxis: [{ show: false }],
-          yAxis: [{ show: false, name: '风量', position: 'left' }],
-          series: [{ readFrom: 'piechart', xprop: 'pos', yprop: 'val', label: '' }],
-        },
-      ],
-      gallery: [],
-      gallery_list: [],
-      table: [],
-      list: [],
-      complex_list: [],
-      preset: [],
-      mock: {
-        piechart: [
-          { pos: 'Ⅰ类容易自燃', val: 50 },
-          { pos: 'Ⅱ类自燃', val: 80 },
-          { pos: 'Ⅲ类不易自燃', val: 40 },
-        ],
-      },
-    },
-    showStyle: {
-      size: 'width:440px;height:210px;',
-      version: '原版',
-      position: 'top:370px;left:10px;',
-      headerPosition: 'centerBottom',
-    },
-  },
-  // 4. 联网状态
-  {
-    deviceType: 'coalFireFeature',
-    moduleName: '联网状态',
-    pageType: 'sealed_goaf',
-    moduleData: {
-      header: {
-        show: false,
-        readFrom: '',
-        selector: {
-          show: true,
-          value: '',
-        },
-        slot: {
-          show: false,
-          value: '',
-        },
-      },
-      background: {
-        show: false,
-        type: 'video',
-        link: '',
-      },
-      layout: {
-        direction: 'column',
-        items: [
-          {
-            name: 'board',
-            basis: '40%',
-            overflow: true,
-          },
-          {
-            name: 'table',
-            basis: '60%',
-            overflow: true,
-          },
-        ],
-      },
-      board: [
-        {
-          type: 'CKQMB0',
-          readFrom: '',
-          layout: 'val-top',
-          items: [
-            {
-              label: '应接入',
-              value: '210',
-            },
-            {
-              label: '在线',
-              value: '27',
-            },
-            {
-              label: '中断',
-              value: '17',
-            },
-            {
-              label: '未接入',
-              value: '1',
-            },
-          ],
-        },
-      ],
-      chart: [],
-      gallery: [],
-      gallery_list: [],
-      table: [
-        {
-          type: 'CKQMB',
-          // parser: 'json',
-          readFrom: 'tableArray',
-          columns: [
-            {
-              name: ' ',
-              prop: 'index',
-            },
-            {
-              name: '应接入',
-              prop: 'yjr',
-            },
-            {
-              name: '在线',
-              prop: 'zx',
-            },
-            {
-              name: '中断',
-              prop: 'zd',
-            },
-            {
-              name: '未接入',
-              prop: 'wjr',
-            },
-          ],
-        },
-      ],
-      list: [],
-      complex_list: [],
-      preset: [],
-      mock: {
-        boardArray: [
-          {
-            label: '低风险',
-            value: '210',
-          },
-          {
-            label: '一般风险',
-            value: '27',
-          },
-          {
-            label: '较高风险',
-            value: '17',
-          },
-          {
-            label: '高风险',
-            value: '1',
-          },
-        ],
-        tableArray: [
-          {
-            index: '执法一处',
-            yjr: '73',
-            zx: '73',
-            zd: '0',
-            wjr: '0',
-          },
-          {
-            index: '执法二处',
-            yjr: '73',
-            zx: '73',
-            zd: '0',
-            wjr: '0',
-          },
-          {
-            index: '执法三处',
-            yjr: '73',
-            zx: '73',
-            zd: '0',
-            wjr: '0',
-          },
-          {
-            index: '执法四处',
-            yjr: '73',
-            zx: '73',
-            zd: '0',
-            wjr: '0',
-          },
-        ],
-      },
-    },
-    showStyle: {
-      size: 'width:440px;height:290px;',
-      version: '原版',
-      position: 'top:570px;left:10px;',
-    },
-  },
-  // 5. 密闭情况总览
-  {
-    deviceType: '',
-    moduleName: '密闭情况总览',
-    pageType: 'sealed_goaf',
-    moduleData: {
-      header: {
-        show: false,
-        readFrom: '',
-        selector: {
-          show: true,
-          value: '',
-        },
-        slot: {
-          show: false,
-          value: '',
-        },
-      },
-      background: {
-        show: false,
-        type: 'video',
-        link: '',
-      },
-      layout: {
-        direction: 'column',
-        items: [
-          {
-            name: 'board',
-            basis: '30%',
-            overflow: true,
-          },
-          {
-            name: 'table',
-            basis: '70%',
-            overflow: true,
-          },
-        ],
-      },
-      board: [
-        {
-          type: 'CKQMB1',
-          readFrom: '',
-          layout: 'val-top',
-          items: [
-            {
-              label: '低风险',
-              value: '210',
-            },
-            {
-              label: '一般风险',
-              value: '27',
-            },
-            {
-              label: '较高风险',
-              value: '17',
-            },
-            {
-              label: '高风险',
-              value: '1',
-            },
-          ],
-        },
-      ],
-      chart: [],
-      gallery: [],
-      gallery_list: [],
-      table: [
-        {
-          type: 'CKQMB',
-          // parser: 'json',
-          readFrom: 'tableArray',
-          columns: [
-            {
-              name: ' ',
-              prop: 'index',
-            },
-            {
-              name: '低风险',
-              prop: 'dfx',
-            },
-            {
-              name: '一般风险',
-              prop: 'ybfx',
-            },
-            {
-              name: '较高风险',
-              prop: 'jgfx',
-            },
-            {
-              name: '高风险',
-              prop: 'gfx',
-            },
-          ],
-        },
-      ],
-      list: [],
-      complex_list: [],
-      preset: [],
-      mock: {
-        boardArray: [
-          {
-            label: '低风险',
-            value: '210',
-          },
-          {
-            label: '一般风险',
-            value: '27',
-          },
-          {
-            label: '较高风险',
-            value: '17',
-          },
-          {
-            label: '高风险',
-            value: '1',
-          },
-        ],
-        tableArray: [
-          {
-            index: '执法一处',
-            dfx: '50',
-            ybfx: '20',
-            jgfx: '0',
-            gfx: '0',
-          },
-          {
-            index: '执法二处',
-            dfx: '50',
-            ybfx: '20',
-            jgfx: '0',
-            gfx: '0',
-          },
-          {
-            index: '执法三处',
-            dfx: '50',
-            ybfx: '20',
-            jgfx: '0',
-            gfx: '0',
-          },
-          {
-            index: '执法四处',
-            dfx: '50',
-            ybfx: '20',
-            jgfx: '0',
-            gfx: '0',
-          },
-          {
-            index: '执法五处',
-            dfx: '50',
-            ybfx: '20',
-            jgfx: '0',
-            gfx: '0',
-          },
-          {
-            index: '执法六处',
-            dfx: '50',
-            ybfx: '20',
-            jgfx: '0',
-            gfx: '0',
-          },
-        ],
-      },
-    },
-    showStyle: {
-      size: 'width:440px;height:355px;',
-      version: '原版',
-      position: 'top:10px;right:10px;',
-    },
-  },
-  // 6. 采空区密闭预警分析
-  {
-    deviceType: 'goafMonitoring',
-    moduleName: '采空区密闭预警分析',
-    pageType: 'sealed_goaf',
-    moduleData: {
-      header: {
-        show: false,
-        readFrom: '',
-        selector: {
-          show: true,
-          value: '',
-        },
-        slot: {
-          show: false,
-          value: '',
-        },
-      },
-      background: {
-        show: false,
-        type: 'video',
-        link: '',
-      },
-      layout: {
-        direction: 'column',
-        items: [
-          {
-            name: 'board',
-            basis: '40%',
-            overflow: true,
-          },
-          {
-            name: 'table',
-            basis: '60%',
-            overflow: true,
-          },
-        ],
-      },
-      board: [
-        {
-          type: 'CKQMB1',
-          readFrom: '',
-          layout: 'val-top',
-          items: [
-            {
-              label: '低风险',
-              value: '210',
-            },
-            {
-              label: '一般风险',
-              value: '27',
-            },
-            {
-              label: '较高风险',
-              value: '17',
-            },
-            {
-              label: '高风险',
-              value: '1',
-            },
-          ],
-        },
-      ],
-      chart: [],
-      gallery: [],
-      gallery_list: [],
-      table: [
-        {
-          type: 'CKQMB',
-          // parser: 'json',
-          readFrom: 'tableArray',
-          columns: [
-            {
-              name: ' ',
-              prop: 'index',
-            },
-            {
-              name: '低风险',
-              prop: 'dfx',
-            },
-            {
-              name: '一般风险',
-              prop: 'ybfx',
-            },
-            {
-              name: '较高风险',
-              prop: 'jgfx',
-            },
-            {
-              name: '高风险',
-              prop: 'gfx',
-            },
-          ],
-        },
-      ],
-      list: [],
-      complex_list: [],
-      preset: [],
-      mock: {
-        boardArray: [
-          {
-            label: '低风险',
-            value: '210',
-          },
-          {
-            label: '一般风险',
-            value: '27',
-          },
-          {
-            label: '较高风险',
-            value: '17',
-          },
-          {
-            label: '高风险',
-            value: '1',
-          },
-        ],
-        tableArray: [
-          {
-            index: '执法一处',
-            dfx: '50',
-            ybfx: '20',
-            jgfx: '0',
-            gfx: '0',
-          },
-          {
-            index: '执法二处',
-            dfx: '50',
-            ybfx: '20',
-            jgfx: '0',
-            gfx: '0',
-          },
-          {
-            index: '执法三处',
-            dfx: '50',
-            ybfx: '20',
-            jgfx: '0',
-            gfx: '0',
-          },
-        ],
-      },
-    },
-    showStyle: {
-      size: 'width:440px;height:300px;',
-      version: '原版',
-      position: 'top:365px;right:10px;',
-    },
-  },
-  // 7. 当日报警情况统计
-  {
-    deviceType: 'RealtimeMonitor',
-    moduleName: '当日报警情况统计',
-    pageType: 'sealed_goaf',
-    moduleData: {
-      header: {
-        show: false,
-        readFrom: '',
-        selector: {
-          show: false,
-          value: '',
-        },
-        slot: {
-          show: false,
-          value: '',
-        },
-      },
-      background: {
-        show: false,
-        type: 'video',
-        link: '',
-      },
-      layout: {
-        direction: 'row',
-        items: [
-          {
-            name: 'board',
-            basis: '100%',
-          },
-        ],
-      },
-      board: [
-        {
-          type: 'CKQMB2',
-          readFrom: '',
-          layout: 'val-top',
-          items: [
-            {
-              label: 'CO超限',
-              value: '210',
-            },
-            {
-              label: 'CH4超限',
-              value: '27',
-            },
-            {
-              label: 'C2H4超限',
-              value: '17',
-            },
-            {
-              label: 'C2H2超限',
-              value: '1',
-            },
-            {
-              label: 'O2超限',
-              value: '210',
-            },
-            {
-              label: '温度超限',
-              value: '27',
-            },
-            {
-              label: '压差超限',
-              value: '17',
-            },
-            {
-              label: '设备断连',
-              value: '1',
-            },
-          ],
-        },
-      ],
-      chart: [],
-      gallery: [],
-      gallery_list: [],
-      table: [],
-      list: [],
-      complex_list: [],
-      preset: [],
-    },
-    showStyle: {
-      size: 'width:440px;height:210px;',
-      version: '原版',
-      position: 'top:660px;right:10px;',
-    },
-  },
-];

+ 0 - 138
src/views/sealedGoafSys/home/sealedGoaf.vue

@@ -1,138 +0,0 @@
-<!-- eslint-disable vue/multi-word-component-names -->
-<template>
-  <div class="company-home">
-    <div class="title-select-area">
-      <a-select
-        class="title-select"
-        ref="select"
-        v-model:value="deviceId"
-        @change="handleDeviceChange"
-        popupClassName="drop"
-        :field-names="fieldNames"
-        :options="selectorOptions"
-        :dropdownStyle="{
-          width: '380px',
-          background: 'transparent',
-          borderBottom: '1px solid #ececec66',
-          backdropFilter: 'blur(50px)',
-          color: '#fff',
-        }"
-      />
-    </div>
-    <!-- 渲染所有模块 -->
-    <ModuleCommon
-      v-for="cfg in cfgs"
-      :key="cfg.deviceType + cfg.moduleName"
-      :show-style="cfg.showStyle"
-      :module-data="cfg.moduleData"
-      :module-name="cfg.moduleName"
-      :device-type="cfg.deviceType"
-      :data="data"
-      :visible="true"
-    />
-    <!-- <Three3D :modal-name="modalName" /> -->
-  </div>
-</template>
-<script lang="ts" setup>
-  import { computed, onMounted, onUnmounted, ref } from 'vue';
-  import { useInitConfigs, useInitPage } from '@/views/vent/home/configurable/hooks/useInit';
-  import { testConfigSealedGoaf } from './configurable.data.sealedGoaf';
-  import ModuleCommon from '@/views/vent/home/configurable/components/ModuleCommon.vue';
-  import { useGlobSetting } from '/@/hooks/setting';
-
-  const { title = '省局采空区密闭监测与分析系统' } = useGlobSetting();
-  const { data, updateData, mainTitle } = useInitPage(title);
-
-  const cfgs = computed(() => configs.value);
-  const { configs, fetchConfigs } = useInitConfigs();
-
-  const deviceId = ref('0'); // 当前选中设备ID
-  const fieldNames = { label: 'name', value: 'id' }; // 下拉框字段映射
-  const selectorOptions = ref([
-    { name: '采空区密闭分析', id: '0' },
-    { name: '采空区密闭监测', id: '1' },
-  ]);
-  // 切换设备事件
-  function handleDeviceChange(param) {
-    console.log('切换下拉框选项');
-  }
-  onMounted(() => {
-    fetchConfigs('sealed_goaf').then(() => {
-      configs.value = testConfigSealedGoaf;
-    });
-  });
-
-  // 数据处理函数
-  onUnmounted(() => {});
-</script>
-<style lang="less" scoped>
-  @import '/@/design/theme.less';
-
-  @font-face {
-    font-family: 'douyuFont';
-    src: url('/@/assets/font/douyuFont.otf');
-  }
-  @select-single: ~'@{namespace}-select-single';
-  @select-selector: ~'@{namespace}-select-selector';
-  @selection-item: ~'@{namespace}--select-selection-item';
-  .company-home {
-    --image-module-title: url('/@/assets/images/sealedGoaf/views/home/module-title.png');
-
-    width: 100%;
-    height: 100%;
-    color: @white;
-    position: relative;
-    background: #d7effe;
-    :deep(.vent-box1-bg) {
-      .box1-top {
-        background: unset;
-        height: 45px;
-        padding-top: 10px;
-        .title {
-          height: 25px;
-          background: var(--image-module-title) no-repeat;
-          color: #234e8e;
-          justify-content: left;
-          background-size: cover;
-          font-size: 20px;
-          padding-left: 10px;
-          div {
-            margin-top: -12px;
-          }
-        }
-      }
-      .box-container {
-        background-color: unset;
-        &::before {
-          background-image: none;
-        }
-        &::after {
-          background-image: none;
-        }
-      }
-      .box1-bottom {
-        background: none;
-      }
-    }
-    .title-select {
-      :deep(.@{select-selector}) {
-        width: 300px;
-        background-color: #2b6ff0;
-        box-shadow: none !important;
-        border: 1px solid #b3d8ff;
-        border-radius: 4px; /* 圆角 */
-        padding: 8px 12px; /* 内边距 */
-        font-size: 14px;
-        color: #333; /* 文字颜色 */
-
-        /* 交互样式 */
-        cursor: pointer;
-        width: auto;
-        :deep(.@{selection-item}) {
-          color: #fff !important;
-          font-size: 20px;
-        }
-      }
-    }
-  }
-</style>

+ 1 - 1
src/views/vent/dataCenter/infoCenter/index.vue

@@ -259,7 +259,7 @@
         }
         .infoBox2 {
           :deep(.box-container) {
-            padding: 5px 0px 5px 20px !important;
+            padding: 5px 0px 5px 5px !important;
           }
         }
       }

+ 11 - 2
src/views/vent/dataCenter/infoCenter/infoCenter.data.ts

@@ -130,6 +130,9 @@ export const dailyNumOption: ModuleDataChart = {
   type: 'bar',
   readFrom: '',
   legend: { show: false },
+  grid: {
+    left: 100,
+  },
   xAxis: [
     {
       show: true,
@@ -139,14 +142,20 @@ export const dailyNumOption: ModuleDataChart = {
       },
     },
   ],
-  yAxis: [{ show: true, name: '', position: 'left' }],
+  yAxis: [
+    {
+      show: true,
+      name: '',
+      position: 'left',
+    },
+  ],
   series: [{ readFrom: 'collectDataByDayList', xprop: 'day', yprop: 'total_count', label: '' }],
   dataZoom: [
     {
       type: 'slider' as any,
       show: true,
       xAxisIndex: 0,
-      height: 12,
+      height: 10,
       bottom: 10,
       start: 0,
       handleStyle: { color: '#66ffff' },

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

@@ -179,11 +179,7 @@ export interface ModuleDataBoard extends ReadFrom {
     | 'R'
     | 'S'
     | 'T'
-    | 'U'
-    | 'CKQMB'
-    | 'CKQMB0'
-    | 'CKQMB1'
-    | 'CKQMB2';
+    | 'U';
   /** 展示牌布局,决定是 label 部分在上方或是 value 在上方 */
   layout: 'val-top' | 'label-top' | 'new-top' | 'new1-top' | 'new2-top' | 'new3-top';
   /** 核心配置,每个展示牌对应一项 */
@@ -309,6 +305,13 @@ export interface ModuleDataChart extends ReadFrom {
     /** y轴的对齐方式 */
     position: 'left' | 'right';
   }[];
+  grid?: {
+    top?: number;
+    bottom?: number;
+    left?: number;
+    right?: number;
+    [key: string]: any;
+  };
   /**
    * 核心配置
    *
@@ -343,7 +346,7 @@ export interface ModuleDataChart extends ReadFrom {
 
 export interface ModuleDataTable extends ReadFrom {
   /** 表格的预设样式 */
-  type: 'A' | 'B' | 'C' | 'D' | 'CKQMB';
+  type: 'A' | 'B' | 'C' | 'D';
   /** 是否自动滚动 */
   autoScroll?: boolean;
   /** 核心配置,每个表格列对应一项 */

+ 11 - 1
src/views/vent/home/configurable/components/detail/CustomChart.vue

@@ -33,7 +33,7 @@
     const inst = getInstance();
     const domWidth = inst ? inst.getWidth() : 500;
     // 依据每一个图表配置生成图表选项
-    const { yAxis = [], xAxis = [], legend, order, type, sortBy, series, dataZoom = [] } = props.chartConfig;
+    const { yAxis = [], xAxis = [], legend, order, type, sortBy, series, dataZoom = [], grid } = props.chartConfig;
     const textStyle = {
       color: '#fff',
     };
@@ -106,6 +106,7 @@
           top: 60,
           right: 37,
           bottom: 30,
+          ...grid,
         },
         dataZoom: [
           {
@@ -512,6 +513,7 @@
           bottom: dataZoom.length ? 80 : 30,
           left: 50, // 缩小左侧边距,增加图表宽度
           right: 50, // 缩小右侧边距
+          ...grid,
         },
         legend: {
           textStyle,
@@ -603,6 +605,7 @@
           top: 40,
           right: 60,
           bottom: dataZoom.length ? 70 : 30,
+          ...grid,
         },
         dataZoom: baseDataZoom,
         xAxis: xAxis.map((e) => {
@@ -651,6 +654,7 @@
           top: 40,
           right: 60,
           bottom: dataZoom.length ? 70 : 30,
+          ...grid,
         },
         dataZoom: baseDataZoom,
         xAxis: xAxis.map((e) => {
@@ -701,6 +705,7 @@
           left: 60,
           right: 60,
           bottom: dataZoom.length ? 70 : 30,
+          ...grid,
         },
         dataZoom: baseDataZoom,
         xAxis: xAxis.map((e) => {
@@ -751,6 +756,7 @@
           top: 50,
           right: 50,
           bottom: dataZoom.length ? 70 : 30,
+          ...grid,
         },
         dataZoom: baseDataZoom,
         xAxis: xAxis.map((e) => {
@@ -817,6 +823,7 @@
           right: 40,
           bottom: dataZoom.length ? 70 : 30,
           show: false,
+          ...grid,
         },
         dataZoom: baseDataZoom,
         xAxis: xAxis.map((e) => {
@@ -854,6 +861,7 @@
         grid: {
           top: 50,
           bottom: 30,
+          ...grid,
         },
         legend: {
           textStyle,
@@ -907,6 +915,7 @@
         grid: {
           top: 40,
           bottom: 30,
+          ...grid,
         },
         legend: {
           textStyle,
@@ -1009,6 +1018,7 @@
         grid: {
           top: 40,
           bottom: 30,
+          ...grid,
         },
         legend: {
           textStyle,

+ 0 - 37
src/views/vent/home/configurable/components/detail/CustomTable.vue

@@ -85,7 +85,6 @@
     --image-list-head: url('/@/assets/images/home-container/configurable/firehome/list-head.png');
     --image-content-label-d: url(/@/assets/images/home-container/configurable/minehome/content-label.png);
     --image-content-body-d: url('/@/assets/images/home-container/configurable/minehome/content-body.png');
-    --image-content-label-ckqmb: url('/@/assets/images/sealedGoaf/configurable/table/table1-label.png');
     height: 100%;
     box-sizing: border-box;
     display: flex;
@@ -197,41 +196,5 @@
         background: #092b3a;
       }
     }
-    .table__content_label_CKQMB {
-      background-image: var(--image-content-label-ckqmb);
-      background-size: 100% 100%;
-      background-repeat: no-repeat;
-      color: #000000;
-    }
-    .table__content_list_CKQMB {
-      font-weight: bold;
-      font-size: 18px;
-    }
-    /* 第一个子元素:黑色 */
-    .table__content_list_row .table__content__list_item_CKQMB:nth-child(1) {
-      font-size: 12px;
-      text-align: left;
-      color: #000000;
-    }
-
-    /* 第二个子元素:蓝色 */
-    .table__content_list_row .table__content__list_item_CKQMB:nth-child(2) {
-      color: #1890ff;
-    }
-
-    /* 第三个子元素:黄色 */
-    .table__content_list_row .table__content__list_item_CKQMB:nth-child(3) {
-      color: #ffc107;
-    }
-
-    /* 第四个子元素:橙色 */
-    .table__content_list_row .table__content__list_item_CKQMB:nth-child(4) {
-      color: #ff7a45;
-    }
-
-    /* 第五个子元素:红色 */
-    .table__content_list_row .table__content__list_item_CKQMB:nth-child(5) {
-      color: #ff4d4f;
-    }
   }
 </style>

+ 0 - 149
src/views/vent/home/configurable/components/detail/MiniBoard.vue

@@ -216,13 +216,6 @@
     --image-board_bg_8: url('/@/assets/images/home-container/configurable/board_bg_8.png');
     --image-board_bg_9: url('/@/assets/images/home-container/configurable/board_bg_9.png');
     --image-board_bg_10: url('/@/assets/images/home-container/configurable/board_bg_10.png');
-    --image-board-bg-ckqmb-1: url('/@/assets/images/sealedGoaf/configurable/miniBoard/board-bg-ckqmb-1.png');
-    --image-board-bg-ckqmb-2: url('/@/assets/images/sealedGoaf/configurable/miniBoard/board-bg-ckqmb-2.png');
-    --image-board-bg-ckqmb-3: url('/@/assets/images/sealedGoaf/configurable/miniBoard/board-bg-ckqmb-3.png');
-    --image-board-bg-ckqmb-4: url('/@/assets/images/sealedGoaf/configurable/miniBoard/board-bg-ckqmb-4.png');
-    --image-board-bg-ckqmb-5: url('/@/assets/images/sealedGoaf/configurable/miniBoard/board-bg-ckqmb-5.png');
-    --image-board-bg-ckqmb1: url('/@/assets/images/sealedGoaf/configurable/miniBoard/board-bg-ckqmb1.png');
-    --image-board-bg-ckqmb2: url('/@/assets/images/sealedGoaf/configurable/miniBoard/board-bg-ckqmb2.png');
 
     --image-hycd: url(/@/assets/images/home-container/configurable/dusthome/hycd.png);
     --image-dyfl: url(/@/assets/images/home-container/configurable/dusthome/dyfl.png);
@@ -484,148 +477,6 @@
     background-image: var(--image-board-bg-o);
     background-size: 100% 100%;
   }
-  .mini-board_CKQMB {
-    width: 220px;
-    height: 50px;
-    display: flex;
-    justify-content: space-between;
-    align-items: center;
-    padding: 0 20px 0 20px;
-    background-image: var(--image-board-bg-ckqmb-1);
-    background-size: 100% 100%;
-  }
-  .mini-board_CKQMB:nth-child(2) {
-    background-image: var(--image-board-bg-ckqmb-2);
-  }
-  .mini-board_CKQMB:nth-child(3) {
-    background-image: var(--image-board-bg-ckqmb-3);
-  }
-  .mini-board_CKQMB:nth-child(4) {
-    background-image: var(--image-board-bg-ckqmb-4);
-  }
-  .mini-board_CKQMB:nth-child(5) {
-    background-image: var(--image-board-bg-ckqmb-5);
-  }
-  .mini-board_CKQMB:nth-child(6) {
-    background-image: var(--image-board-bg-ckqmb-1);
-  }
-  .mini-board__label_CKQMB {
-    color: #000000;
-    font-size: 13px;
-    font-family: 'Microsoft YaHei';
-    font-weight: bold;
-    padding-bottom: 6px;
-  }
-  .mini-board__value_CKQMB {
-    width: 55px;
-    color: #000000;
-    font-size: 25px;
-    padding-bottom: 13px;
-    font-family: 'Microsoft YaHei';
-  }
-  .mini-board_CKQMB0 {
-    width: 100px;
-    height: 90px;
-    background-image: var(--image-board-bg-ckqmb1);
-    background-size: 100% 100%;
-    padding-top: 28px;
-  }
-
-  .mini-board__label_CKQMB0 {
-    color: #000000;
-    font-size: 14px;
-    font-family: 'Microsoft YaHei';
-  }
-  .mini-board__value_CKQMB0 {
-    color: #000000;
-    font-size: 22px;
-    font-family: 'Microsoft YaHei';
-    padding-bottom: 10px;
-  }
-  /* 1. 第一个容器:label和value为蓝色 */
-  .mini-board_CKQMB0:nth-child(1) .mini-board__label_CKQMB0,
-  .mini-board_CKQMB0:nth-child(1) .mini-board__value_CKQMB0 {
-    color: #1890ff;
-  }
-
-  /* 2. 第二个容器:label和value为黄色 */
-  .mini-board_CKQMB0:nth-child(2) .mini-board__label_CKQMB0,
-  .mini-board_CKQMB0:nth-child(2) .mini-board__value_CKQMB0 {
-    color: #36a64d;
-  }
-
-  /* 3. 第三个容器:label和value为橙色 */
-  .mini-board_CKQMB0:nth-child(3) .mini-board__label_CKQMB0,
-  .mini-board_CKQMB0:nth-child(3) .mini-board__value_CKQMB0 {
-    color: #a97523;
-  }
-
-  /* 4. 第四个容器:label和value为红色 */
-  .mini-board_CKQMB0:nth-child(4) .mini-board__label_CKQMB0,
-  .mini-board_CKQMB0:nth-child(4) .mini-board__value_CKQMB0 {
-    color: #d6666c;
-  }
-  .mini-board_CKQMB1 {
-    width: 100px;
-    height: 90px;
-    background-image: var(--image-board-bg-ckqmb1);
-    background-size: 100% 100%;
-    padding-top: 28px;
-  }
-
-  .mini-board__label_CKQMB1 {
-    color: #000000;
-    font-size: 14px;
-    font-family: 'Microsoft YaHei';
-  }
-  .mini-board__value_CKQMB1 {
-    color: #000000;
-    font-size: 22px;
-    font-family: 'Microsoft YaHei';
-    padding-bottom: 10px;
-  }
-  /* 1. 第一个容器:label和value为蓝色 */
-  .mini-board_CKQMB1:nth-child(1) .mini-board__label_CKQMB1,
-  .mini-board_CKQMB1:nth-child(1) .mini-board__value_CKQMB1 {
-    color: #1890ff;
-  }
-
-  /* 2. 第二个容器:label和value为黄色 */
-  .mini-board_CKQMB1:nth-child(2) .mini-board__label_CKQMB1,
-  .mini-board_CKQMB1:nth-child(2) .mini-board__value_CKQMB1 {
-    color: #ffc107;
-  }
-
-  /* 3. 第三个容器:label和value为橙色 */
-  .mini-board_CKQMB1:nth-child(3) .mini-board__label_CKQMB1,
-  .mini-board_CKQMB1:nth-child(3) .mini-board__value_CKQMB1 {
-    color: #ff7a45;
-  }
-
-  /* 4. 第四个容器:label和value为红色 */
-  .mini-board_CKQMB1:nth-child(4) .mini-board__label_CKQMB1,
-  .mini-board_CKQMB1:nth-child(4) .mini-board__value_CKQMB1 {
-    color: #ff4d4f;
-  }
-  .mini-board_CKQMB2 {
-    width: 96px;
-    height: 71px;
-    background-image: var(--image-board-bg-ckqmb2);
-    background-size: 100% 100%;
-    padding-top: 8px;
-  }
-
-  .mini-board__label_CKQMB2 {
-    color: #000000;
-    font-size: 14px;
-    font-family: 'Microsoft YaHei';
-  }
-  .mini-board__value_CKQMB2 {
-    color: #2b6ff0;
-    font-size: 22px;
-    font-family: 'Microsoft YaHei';
-    padding-bottom: 6px;
-  }
 
   .mini-board_P {
     width: 97px;

+ 0 - 1
src/views/vent/monitorManager/fireDoorMonitor/fireDoor.threejs.ssl.ts

@@ -132,7 +132,6 @@ class FireDoorSsl {
    * @param {number} [timeScale=0.01] - 动画时间缩放因子,控制动画播放速度
    */
   play(handlerState, timeScale = 0.01) {
-    console.log('debug rrr', handlerState);
     let handler = () => {};
     switch (handlerState) {
       case 1: // 打开门

+ 30 - 9
src/views/vent/monitorManager/sprayMonitor/index.vue

@@ -4,6 +4,7 @@
     <BasicMonitoring
       main-title="凝胶防灭火材料自动喷洒系统"
       :main-config="{
+        operations: operations,
         configs: configs,
       }"
       :monitor-history-config="{}"
@@ -17,17 +18,17 @@
           <div id="sprayCSS3D" v-show="!loading" style="width: 100%; height: 100%; position: absolute; overflow: hidden; pointer-events: none">
             <FourBorderBg id="sprayCSS3DEnvA">
               <div>送料电机</div>
-              <div>电压US:{{ monitorData.slus }}</div>
-              <div>电流LA:{{ monitorData.slla }}</div>
-              <div>电流LB:{{ monitorData.sllb }}</div>
-              <div>电流LC:{{ monitorData.sllc }}</div>
+              <div>电压US:{{ get(monitorData, 'spray_auto[0].readData.SlDjdy', '-') }}</div>
+              <div>电流LA:{{ get(monitorData, 'spray_auto[0].readData.SlDjAdl', '-') }}</div>
+              <div>电流LB:{{ get(monitorData, 'spray_auto[0].readData.SlDjBdl', '-') }}</div>
+              <div>电流LC:{{ get(monitorData, 'spray_auto[0].readData.SlDjCdl', '-') }}</div>
             </FourBorderBg>
             <FourBorderBg id="sprayCSS3DEnvB">
-              <div>输送电机</div>
-              <div>电压US:{{ monitorData.ssus }}</div>
-              <div>电流LA:{{ monitorData.ssla }}</div>
-              <div>电流LB:{{ monitorData.sslb }}</div>
-              <div>电流LC:{{ monitorData.sslc }}</div>
+              <div>注浆电机</div>
+              <div>电压US:{{ get(monitorData, 'spray_auto[0].readData.ZjDjdy', '-') }}</div>
+              <div>电流LA:{{ get(monitorData, 'spray_auto[0].readData.ZjDjAdl', '-') }}</div>
+              <div>电流LB:{{ get(monitorData, 'spray_auto[0].readData.ZjDjBdl', '-') }}</div>
+              <div>电流LC:{{ get(monitorData, 'spray_auto[0].readData.ZjDjCdl', '-') }}</div>
             </FourBorderBg>
           </div>
         </div>
@@ -42,6 +43,7 @@
   import { useInitConfigs } from '../../home/configurable/hooks/useInit';
   import { mountedThree, setModelType } from './spray.three';
   import FourBorderBg from '/@/components/vent/fourBorderBg.vue';
+  import { get } from 'lodash-es';
 
   const defaultConfigs: Config[] = [
     {
@@ -277,6 +279,25 @@
   const { configs, fetchConfigs } = useInitConfigs();
   const loading = ref(false);
 
+  const operations = ref([
+    {
+      label: '开启控制箱',
+      key: 'run_auto_sign',
+      value: '1',
+      disabled: false,
+      showPassword: true,
+      // permission: 'spray:run_auto_sign',
+    },
+    {
+      label: '关闭控制箱',
+      key: 'run_auto_sign',
+      value: '0',
+      disabled: false,
+      showPassword: true,
+      // permission: 'spray:run_auto_sign',
+    },
+  ]);
+
   onMounted(() => {
     fetchConfigs('spray');
     loading.value = true;

+ 0 - 0
src/views/vent/monitorManager/sprayMonitor/spray.api.ts


+ 2 - 4
src/views/vent/monitorManager/sprayMonitor/spray.three.ts

@@ -28,9 +28,7 @@ function dispatchMouseEvent(event) {
 function initEventListender() {
   if (!model) return;
   model.canvasContainer?.addEventListener('mousedown', (e) => dispatchMouseEvent(e));
-  model.orbitControls?.addEventListener('change', () => {
-    console.log('debug pos', model.camera, model.orbitControls);
-  });
+  // model.orbitControls?.addEventListener('change', () => {});
 }
 
 /** 渲染并更新总模型 */
@@ -65,7 +63,7 @@ export function setModelType(modelType: 'spray') {
           if (!model.scene?.getObjectByName(group.name) && group) {
             model.scene?.add(group);
           }
-          await animateCamera({ x: -693, y: 474, z: 398 }, { x: 0, y: 0, z: 0 }, context.cameraPostion, context.orbitControlPostion, model, 0.8);
+          await animateCamera({ x: -693, y: 474, z: 398 }, { x: 0, y: 0, z: 0 }, context.cameraPostion, context.orbitTarget, model, 0.8);
           resolve(null);
         }, 400);
       }

+ 7 - 12
src/views/vent/monitorManager/sprayMonitor/spray.threejs.base.ts

@@ -13,10 +13,10 @@ class ModelContext {
   group: THREE.Object3D | null = null;
   /** 本模型内支持的锚点位置数组 */
   anchors: [number, number, number][] = [
-    [-52.838, 18.5, 9.219],
+    [-0.6, 0.3, -0.05],
     // [0, 0, 0],
     // 右侧传感器
-    [11.7, -14, 8],
+    [-0.3, 0.3, -0.05],
     // [-25.847, 8.783, 3.267],
     // [31.142, 8.783, 3.267],
   ];
@@ -24,17 +24,12 @@ class ModelContext {
   cssSprites: CSS3DSprite[] = [];
   /** 初始化时用到的摄像头位置参数,可以供外部访问或初始化时使用 */
   cameraPostion = {
-    x: 0.03683131196052705,
-    y: -0.010096816429235923,
-    z: 1.217419706517893,
+    x: 0.05342932338990988,
+    y: 0.08324360118266554,
+    z: 1.2186385420339856,
   };
   /** 初始化时用到的滑轨目标参数,可以供外部访问或初始化时使用,配合摄像头可以实现更精确的控制 */
-  // orbitControlPostion = {
-  //   x: 0.11268219812743818,
-  //   y: 1.33090491940089,
-  //   z: 2.379502155322738,
-  // };
-  orbitControlPostion = {
+  orbitTarget = {
     x: 0,
     y: 0,
     z: 0,
@@ -64,7 +59,7 @@ class ModelContext {
         const css3D = new CSS3DSprite(element);
         this.cssSprites.push(css3D);
         css3D.name = selector;
-        css3D.scale.set(0.05, 0.05, 0.05);
+        css3D.scale.set(0.002, 0.002, 0.002);
         // const ff = gui.addFolder(`css元素${index}`);
         // ff.add(css3D.position, 'x', -100, 100);
         // ff.add(css3D.position, 'y', -100, 100);

+ 0 - 1
src/views/vent/monitorManager/windowMonitor/components/windowDualSVG.vue

@@ -2277,7 +2277,6 @@
 
   /** 根据SVG的使用场景播放动画 */
   function animate(data: any) {
-    console.log('debug data', data.OpenDegree, data.OpenDegree1, data.OpenDegree2);
     // 在SVG图片中,找到需要动起来的元素(类似<use xlink:href="#RE_L_0_Layer0_0_FILL"></use>),并填入id即可控制该元素的动画(如有)
     // 开度 / 最大开度 = 动画进度
     if (data.OpenDegree) {