Ver código fonte

Merge branch 'master' of http://182.92.126.35:3000/hrx/mky-vent-base

lxh 3 meses atrás
pai
commit
f625de5a26
30 arquivos alterados com 1092 adições e 910 exclusões
  1. 2 1
      public/js/config.js
  2. BIN
      public/model/glft/ztfj/ztfj_2024-12-25.glb
  3. 15 14
      src/components/jeecg/JVxeTable/src/hooks/useColumns.ts
  4. 1 0
      src/components/vent/customHeader.vue
  5. 2 0
      src/layouts/default/sider/bottomSideder.vue
  6. 11 0
      src/router/routes/basic.ts
  7. 1 1
      src/utils/threejs/main.worker.ts
  8. 1 1
      src/utils/threejs/util.ts
  9. 6 6
      src/views/system/examples/demo/demo.data.ts
  10. 1 1
      src/views/system/role/role.data.ts
  11. 6 1
      src/views/vent/deviceManager/deviceTable/index.vue
  12. 3 1
      src/views/vent/monitorManager/alarmMonitor/common/warnFire-brt.vue
  13. 257 265
      src/views/vent/monitorManager/alarmMonitor/common/warnTargetGas.vue
  14. 1 0
      src/views/vent/monitorManager/comment/DetailModal.vue
  15. 236 246
      src/views/vent/monitorManager/comment/gaspatrolTable.vue
  16. 1 1
      src/views/vent/monitorManager/compressor/nitrogen.data.ts
  17. 3 3
      src/views/vent/monitorManager/deviceMonitor/components/device/index.vue
  18. 2 0
      src/views/vent/monitorManager/gateMonitor/gate.threejs.ts
  19. 6 0
      src/views/vent/monitorManager/mainFanMonitor/index.vue
  20. 9 3
      src/views/vent/monitorManager/nitrogen/components/nitrogenHome.vue
  21. 284 284
      src/views/vent/monitorManager/nitrogen/components/nitrogenHomeBLT.vue
  22. 2 2
      src/views/vent/monitorManager/nitrogen/nitrogen.data.1.ts
  23. 211 0
      src/views/vent/monitorManager/nitrogen/nitrogen.dataTest.ts
  24. 9 1
      src/views/vent/monitorManager/safetyMonitor/index.vue
  25. 1 1
      src/views/vent/monitorManager/safetyMonitor/safety.api.ts
  26. 5 50
      src/views/vent/monitorManager/windowMonitor/dandaoFcBet.threejs.ts
  27. 6 19
      src/views/vent/monitorManager/windowMonitor/index.vue
  28. 1 1
      src/views/vent/monitorManager/windowMonitor/modal.vue
  29. 1 0
      src/views/vent/monitorManager/windowMonitor/shuangdaoFcBlt.threejs.ts
  30. 8 8
      src/views/vent/monitorManager/windowMonitor/window.threejs.ts

+ 2 - 1
public/js/config.js

@@ -14,5 +14,6 @@ const VENT_PARAM = {
   simulatedPassword: '',
   showReport: false,
   isoOpenSso: 'false',
-  modalText: '' //国家能源集团沙吉海煤矿 //三维模型电子屏底部文字配置
+  modalText: '', //国家能源集团沙吉海煤矿 //三维模型电子屏底部文字配置
+  productionCrlPlatformUrl: '' // 神东要求主扇的控制功能改回跳转至生产管控平台,这里填写上生产管控地址后(例如填写:"https://www.baidu.com/"),就可以跳转了
 }

BIN
public/model/glft/ztfj/ztfj_2024-11-26.glb → public/model/glft/ztfj/ztfj_2024-12-25.glb


+ 15 - 14
src/components/jeecg/JVxeTable/src/hooks/useColumns.ts

@@ -25,14 +25,14 @@ export interface HandleArgs {
 
 export function useColumns(props: JVxeTableProps, data: JVxeDataProps, methods: JVxeTableMethods, slots) {
   data.vxeColumns = computed(() => {
-    let columns: JVxeColumn[] = [];
+    const columns: JVxeColumn[] = [];
     if (isArray(props.columns)) {
       // handle 方法参数
       const args: HandleArgs = { props, slots, data, methods, columns };
       let seqColumn, selectionColumn, expandColumn, dragSortColumn;
       props.columns.forEach((column: JVxeColumn) => {
         // 排除未授权的列 1 = 显示/隐藏; 2 = 禁用
-        let auth = methods.getColAuth(column.key);
+        const auth = methods.getColAuth(column.key);
         if (auth?.type == '1' && !auth.isAuth) {
           return;
         } else if (auth?.type == '2' && !auth.isAuth) {
@@ -42,7 +42,7 @@ export function useColumns(props: JVxeTableProps, data: JVxeDataProps, methods:
         if (column.type == null || isEmpty(column.type)) {
           column.type = JVxeTypes.normal;
         }
-        let col: JVxeColumn = cloneDeep(column);
+        const col: JVxeColumn = cloneDeep(column);
         // 处理隐藏列
         if (col.type === JVxeTypes.hidden) {
           return handleInnerColumn(args, col, handleHiddenColumn);
@@ -98,7 +98,7 @@ export function useColumns(props: JVxeTableProps, data: JVxeDataProps, methods:
 
 /** 处理内置列 */
 function handleInnerColumn(args: HandleArgs, col: JVxeColumn, handler: (args: HandleArgs) => void, assign?: boolean) {
-  let renderOptions = col?.editRender || col?.cellRender;
+  const renderOptions = col?.editRender || col?.cellRender;
   return handler({
     ...args,
     col: col,
@@ -112,7 +112,7 @@ function handleInnerColumn(args: HandleArgs, col: JVxeColumn, handler: (args: Ha
 function handleHiddenColumn({ col, columns }: HandleArgs) {
   col!.params = cloneDeep(col);
   delete col!.type;
-  col!.field = col!.key
+  col!.field = col!.key;
   col!.visible = false;
   columns.push(col!);
 }
@@ -123,7 +123,7 @@ function handleHiddenColumn({ col, columns }: HandleArgs) {
 function handleSeqColumn({ props, col, columns }: HandleArgs) {
   // 判断是否开启了行号列
   if (props.rowNumber) {
-    let column = {
+    const column = {
       type: 'seq',
       title: '#',
       width: 60,
@@ -149,7 +149,7 @@ function handleSelectionColumn({ props, data, col, columns }: HandleArgs) {
       width = 60;
     }
 
-    let column = {
+    const column = {
       type: props.rowSelectionType,
       width: width,
       fixed: 'left',
@@ -173,7 +173,7 @@ function handleExpandColumn({ props, data, col, columns }: HandleArgs) {
     if (data.statistics.has && !props.dragSort) {
       width = 60;
     }
-    let column = {
+    const column = {
       type: 'expand',
       title: '',
       width: width,
@@ -191,19 +191,20 @@ function handleExpandColumn({ props, data, col, columns }: HandleArgs) {
 
 /** 处理可排序列 */
 function handleDragSortColumn({ props, data, col, columns, renderOptions }: HandleArgs) {
+  debugger;
   // 是否可拖动排序
   if (props.dragSort) {
     let width = 40;
     if (data.statistics.has) {
       width = 60;
     }
-    let column: any = {
+    const column: any = {
       title: '',
       width: width,
       fixed: 'left',
       align: 'center',
     };
-    let cellRender = {
+    const cellRender = {
       name: JVxeTypePrefix + JVxeTypes.rowDragSort,
       sortKey: props.sortKey,
     };
@@ -224,12 +225,12 @@ function handleDragSortColumn({ props, data, col, columns, renderOptions }: Hand
 function handlerCol(args: HandleArgs) {
   const { props, col, columns, enhanced } = args;
   if (!col) return;
-  let { type } = col;
+  const { type } = col;
   col.field = col.key;
   delete col.type;
   let renderName = 'cellRender';
   // 渲染选项
-  let $renderOptions: any = { name: JVxeTypePrefix + type };
+  const $renderOptions: any = { name: JVxeTypePrefix + type };
   if (enhanced?.switches.editRender) {
     if (!(enhanced.switches.visible || props.alwaysEdit)) {
       renderName = 'editRender';
@@ -272,7 +273,7 @@ async function handleDict({ col, methods }: HandleArgs) {
           }
           const dictOptions: any = await initDictOptions(dictCodeString);
           //update-end-author:taoyan date:2022-6-1 for: VUEN-1180 【代码生成】子表不支持带条件?
-          let options = col.params.options ?? [];
+          const options = col.params.options ?? [];
           dictOptions.forEach((dict) => {
             // 过滤重复数据
             if (options.findIndex((o) => o.value === dict.value) === -1) {
@@ -311,7 +312,7 @@ function handleStatistics({ col, data }: HandleArgs) {
     data.statistics.has = true;
     col.statistics.forEach((item) => {
       if (!isEmpty(item)) {
-        let arr = data.statistics[(item as string).toLowerCase()];
+        const arr = data.statistics[(item as string).toLowerCase()];
         if (isArray(arr)) {
           pushIfNotExist(arr, col.key);
         }

+ 1 - 0
src/components/vent/customHeader.vue

@@ -98,6 +98,7 @@
     width: 100%;
     position: relative;
     z-index: 9999;
+    pointer-events: none;
     .vent-home-header {
       width: 100%;
       position: fixed;

+ 2 - 0
src/layouts/default/sider/bottomSideder.vue

@@ -196,6 +196,8 @@
       border: 1px solid #0099e6;
       background-color: #0c1e2b;
       z-index: 999;
+      max-height: 900px;
+      overflow-y: auto;
       // backdrop-filter: blur(8px);
       .four-border-bg {
         margin: 5px;

+ 11 - 0
src/router/routes/basic.ts

@@ -86,6 +86,17 @@ export const QIANKUN_ROUTE: AppRouteRecordRaw = {
       },
       ver: '1',
     },
+    {
+      path: '/micro-need-air/:path(.*)*',
+      name: QIANKUN_ROUTE_NAME,
+      component: QIANKUN_COMPONENT,
+      meta: {
+        title: '子应用',
+        hideBreadcrumb: true,
+        hideMenu: true,
+      },
+      ver: '1',
+    },
   ],
   ver: '1',
 };

+ 1 - 1
src/utils/threejs/main.worker.ts

@@ -53,7 +53,7 @@ export function initModalWorker() {
     'ztfj/dzp_2023-06-02.glb',
     'ztfj/fbm_2023-06-02.glb',
     'ztfj/ztfj-fc_2023-06-02.glb',
-    'ztfj/ztfj_2024-11-26.glb',
+    'ztfj/ztfj_2024-12-25.glb',
     'ztfj/ztfj-xj_2024-07-12.glb',
     'fire/laneway_2024-03-04.glb',
     'fire/laneway-device_2024-03-19.glb',

+ 1 - 1
src/utils/threejs/util.ts

@@ -350,7 +350,7 @@ export const animateCamera = (oldP, oldT, newP, newT, model, duration = 0.5, cal
         ease: 'easeOutBounce',
         onUpdate: function (object) {
           // 这里写逻辑
-          debugger;
+          // debugger;
           camera.position.set(object.x1, object.y1, object.z1);
           controls.target.set(object.x2, object.y2, object.z2);
           controls.update();

+ 6 - 6
src/views/system/examples/demo/demo.data.ts

@@ -10,8 +10,8 @@ export const columns: BasicColumn[] = [
     align: 'left',
     resizable: true,
     sorter: {
-      multiple:1
-    }
+      multiple: 1,
+    },
   },
   {
     title: '关键词',
@@ -31,8 +31,8 @@ export const columns: BasicColumn[] = [
     width: 140,
     resizable: true,
     sorter: {
-      multiple: 2
-    }
+      multiple: 2,
+    },
   },
   {
     title: '奖金',
@@ -44,7 +44,7 @@ export const columns: BasicColumn[] = [
     title: '性别',
     dataIndex: 'sex',
     sorter: {
-      multiple: 3
+      multiple: 3,
     },
     customRender: ({ record }) => {
       return render.renderDict(record.sex, 'sex');
@@ -89,7 +89,7 @@ export const searchFormSchema: FormSchema[] = [
     label: '生日',
     component: 'RangePicker',
     componentProps: {
-      valueType: 'Date'
+      valueType: 'Date',
     },
     colProps: { span: 8 },
   },

+ 1 - 1
src/views/system/role/role.data.ts

@@ -166,7 +166,7 @@ export const roleIndexFormSchema: FormSchema[] = [
     label: '是否路由菜单',
     helpMessage: '非路由菜单设置成首页,需开启',
     component: 'Switch',
-    defaultValue: true
+    defaultValue: true,
   },
   {
     label: '优先级',

+ 6 - 1
src/views/vent/deviceManager/deviceTable/index.vue

@@ -22,7 +22,7 @@
   //ts语法
   import { ref, onMounted, unref } from 'vue';
   import NormalTable from '../comment/NormalTable.vue';
-  import { list, deleteById, batchDeleteById, saveOrUpdate,getImportUrl1 } from './device.api';
+  import { list, deleteById, batchDeleteById, saveOrUpdate, getImportUrl1 } from './device.api';
   import { list as substationList } from '../substationTabel/substation.api';
 
   import { searchFormSchema } from './device.data';
@@ -144,6 +144,11 @@
     );
     formSchema.value.push(
       {
+        label: '设备排序', //_dictText
+        field: 'orderNum',
+        component: 'InputNumber',
+      },
+      {
         label: '备用分站',
         field: 'stationids',
         component: 'ApiSelect',

+ 3 - 1
src/views/vent/monitorManager/alarmMonitor/common/warnFire-brt.vue

@@ -110,7 +110,9 @@
           },
         ];
       } else {
-        tableData.value = newV;
+        if (newV.length != 0) {
+          tableData.value = newV;
+        }
       }
     },
     { immediate: true, deep: true }

+ 257 - 265
src/views/vent/monitorManager/alarmMonitor/common/warnTargetGas.vue

@@ -1,336 +1,328 @@
 <template>
-    <div class="warnTarget">
-        <a-table :columns="columns" :data-source="tableData" bordered :pagination="false" :scroll="{ y: 700 }">
-            <template #bodyCell="{ column, text }">
-                <template v-if="column.dataIndex === 'name'">
-                    <a href="javascript:;">{{ text }}</a>
-                </template>
-            </template>
-        </a-table>
-    </div>
+  <div class="warnTarget">
+    <a-table :columns="columns" :data-source="tableData" bordered :pagination="false" :scroll="{ y: 700 }">
+      <template #bodyCell="{ column, text }">
+        <template v-if="column.dataIndex === 'name'">
+          <a href="javascript:;">{{ text }}</a>
+        </template>
+      </template>
+    </a-table>
+  </div>
 </template>
 
 <script setup lang="ts">
-import { ref, reactive } from 'vue'
+  import { ref, reactive } from 'vue';
 
-let tableData = ref<any[]>([
+  let tableData = ref<any[]>([
     {
-        key: '1',
-        one: '监测监控',
-        two: '瓦斯涌出',
-        three: '甲烷浓度',
-        warnLow: '(0,0.8%)',
-        warnCen: '(0.8%,1.0%)',
-        warnJg: '(1.0%,1.5%)',
-        warnHign: '(1.5%,+)',
+      key: '1',
+      one: '监测监控',
+      two: '瓦斯涌出',
+      three: '甲烷浓度',
+      warnLow: '(0,0.8%)',
+      warnCen: '(0.8%,1.0%)',
+      warnJg: '(1.0%,1.5%)',
+      warnHign: '(1.5%,+)',
     },
     {
-        key: '2',
-        one: '监测监控',
-        two: '瓦斯涌出',
-        three: '甲烷浓度单班浮动',
-        warnLow: '(0,0.15%)',
-        warnCen: '(0.15%,0.20%)',
-        warnJg: '(0.20%,0.30%)',
-        warnHign: '(0.30%,+)',
+      key: '2',
+      one: '监测监控',
+      two: '瓦斯涌出',
+      three: '甲烷浓度单班浮动',
+      warnLow: '(0,0.15%)',
+      warnCen: '(0.15%,0.20%)',
+      warnJg: '(0.20%,0.30%)',
+      warnHign: '(0.30%,+)',
     },
     {
-        key: '3',
-        one: '监测监控',
-        two: '瓦斯涌出',
-        three: '甲烷浓度邻班浮动',
-        warnLow: '(0,0.15%)',
-        warnCen: '(0.15%,0.20%)',
-        warnJg: '(0.20%,0.30%)',
-        warnHign: '(0.30%,+)',
+      key: '3',
+      one: '监测监控',
+      two: '瓦斯涌出',
+      three: '甲烷浓度邻班浮动',
+      warnLow: '(0,0.15%)',
+      warnCen: '(0.15%,0.20%)',
+      warnJg: '(0.20%,0.30%)',
+      warnHign: '(0.30%,+)',
     },
     {
-        key: '4',
-        one: '监测监控',
-        two: '瓦斯涌出',
-        three: '滑动平均值',
-        warnLow: '(0,0.20%)',
-        warnCen: '(0.20%,0.30%)',
-        warnJg: '(0.30%,0.40%)',
-        warnHign: '(0.40%,+)',
+      key: '4',
+      one: '监测监控',
+      two: '瓦斯涌出',
+      three: '滑动平均值',
+      warnLow: '(0,0.20%)',
+      warnCen: '(0.20%,0.30%)',
+      warnJg: '(0.30%,0.40%)',
+      warnHign: '(0.40%,+)',
     },
     {
-        key: '5',
-        one: '监测监控',
-        two: '瓦斯涌出',
-        three: '离散率',
-        warnLow: '(0,0.06%)',
-        warnCen: '(0.06%,0.08%)',
-        warnJg: '(0.08%,0.10%)',
-        warnHign: '(0.10%,+)',
+      key: '5',
+      one: '监测监控',
+      two: '瓦斯涌出',
+      three: '离散率',
+      warnLow: '(0,0.06%)',
+      warnCen: '(0.06%,0.08%)',
+      warnJg: '(0.08%,0.10%)',
+      warnHign: '(0.10%,+)',
     },
     {
-        key: '6',
-        one: '监测监控',
-        two: '瓦斯涌出',
-        three: '变化率',
-        warnLow: '(0,0.04%)',
-        warnCen: '(0.04%,0.06%)',
-        warnJg: '(0.06%,0.08%)',
-        warnHign: '(0.08%,+)',
+      key: '6',
+      one: '监测监控',
+      two: '瓦斯涌出',
+      three: '变化率',
+      warnLow: '(0,0.04%)',
+      warnCen: '(0.04%,0.06%)',
+      warnJg: '(0.06%,0.08%)',
+      warnHign: '(0.08%,+)',
     },
     {
-        key: '7',
-        one: '监测监控',
-        two: '瓦斯涌出',
-        three: '异常持续时间',
-        warnLow: '(0,1)',
-        warnCen: '(1,2)',
-        warnJg: '(2,3)',
-        warnHign: '(3,+)',
+      key: '7',
+      one: '监测监控',
+      two: '瓦斯涌出',
+      three: '异常持续时间',
+      warnLow: '(0,1)',
+      warnCen: '(1,2)',
+      warnJg: '(2,3)',
+      warnHign: '(3,+)',
     },
     {
-        key: '8',
-        one: '监测监控',
-        two: '瓦斯涌出',
-        three: '二氧化碳浓度',
-        warnLow: '(0,0.50%)',
-        warnCen: '(0.50%,0.75%)',
-        warnJg: '(0.75%,1.5%)',
-        warnHign: '(1.5%,+)',
+      key: '8',
+      one: '监测监控',
+      two: '瓦斯涌出',
+      three: '二氧化碳浓度',
+      warnLow: '(0,0.50%)',
+      warnCen: '(0.50%,0.75%)',
+      warnJg: '(0.75%,1.5%)',
+      warnHign: '(1.5%,+)',
     },
     {
-        key: '9',
-        one: '监测监控',
-        two: '瓦斯涌出',
-        three: '风速',
-        warnLow: '(0,0.15)',
-        warnCen: '(0.15,0.25)',
-        warnJg: '(0.25,1.0)',
-        warnHign: '(1.0,+)',
+      key: '9',
+      one: '监测监控',
+      two: '瓦斯涌出',
+      three: '风速',
+      warnLow: '(0,0.15)',
+      warnCen: '(0.15,0.25)',
+      warnJg: '(0.25,1.0)',
+      warnHign: '(1.0,+)',
     },
     {
-        key: '10',
-        one: '监测监控',
-        two: '瓦斯涌出',
-        three: '吨煤瓦斯涌出量',
-        warnLow: '(0,6)',
-        warnCen: '(6,8)',
-        warnJg: '(8,10)',
-        warnHign: '(10,+)',
+      key: '10',
+      one: '监测监控',
+      two: '瓦斯涌出',
+      three: '吨煤瓦斯涌出量',
+      warnLow: '(0,6)',
+      warnCen: '(6,8)',
+      warnJg: '(8,10)',
+      warnHign: '(10,+)',
     },
     {
-        key: '11',
-        one: '监测监控',
-        two: '瓦斯涌出',
-        three: '炮后吨煤瓦斯涌出量V30',
-        warnLow: '(0,8)',
-        warnCen: '(8,10)',
-        warnJg: '(10,12)',
-        warnHign: '(12,+)',
+      key: '11',
+      one: '监测监控',
+      two: '瓦斯涌出',
+      three: '炮后吨煤瓦斯涌出量V30',
+      warnLow: '(0,8)',
+      warnCen: '(8,10)',
+      warnJg: '(10,12)',
+      warnHign: '(12,+)',
     },
     {
-        key: '12',
-        one: '监测监控',
-        two: '瓦斯抽采',
-        three: '残余瓦斯含量(抽采计算)',
-        warnLow: '(0,5)',
-        warnCen: '(5,6)',
-        warnJg: '(6,8)',
-        warnHign: '(8,+)',
+      key: '12',
+      one: '监测监控',
+      two: '瓦斯抽采',
+      three: '残余瓦斯含量(抽采计算)',
+      warnLow: '(0,5)',
+      warnCen: '(5,6)',
+      warnJg: '(6,8)',
+      warnHign: '(8,+)',
     },
     {
-        key: '13',
-        one: '监测监控',
-        two: '气压变化',
-        three: '风压极差',
-        warnLow: '(0,1)',
-        warnCen: '(1,2.5)',
-        warnJg: '(2.5,4)',
-        warnHign: '(4,+)',
+      key: '13',
+      one: '监测监控',
+      two: '气压变化',
+      three: '风压极差',
+      warnLow: '(0,1)',
+      warnCen: '(1,2.5)',
+      warnJg: '(2.5,4)',
+      warnHign: '(4,+)',
     },
     {
-        key: '14',
-        one: '瓦斯地质',
-        two: '瓦斯赋存',
-        three: '原始瓦斯含量',
-        warnLow: '(0,6)',
-        warnCen: '(6,8)',
-        warnJg: '(8,10)',
-        warnHign: '(10,+)',
+      key: '14',
+      one: '瓦斯地质',
+      two: '瓦斯赋存',
+      three: '原始瓦斯含量',
+      warnLow: '(0,6)',
+      warnCen: '(6,8)',
+      warnJg: '(8,10)',
+      warnHign: '(10,+)',
     },
     {
-        key: '15',
-        one: '瓦斯地质',
-        two: '瓦斯赋存',
-        three: '残余瓦斯含量',
-        warnLow: '(0,5)',
-        warnCen: '(5,6)',
-        warnJg: '(6,8)',
-        warnHign: '(8,+)',
+      key: '15',
+      one: '瓦斯地质',
+      two: '瓦斯赋存',
+      three: '残余瓦斯含量',
+      warnLow: '(0,5)',
+      warnCen: '(5,6)',
+      warnJg: '(6,8)',
+      warnHign: '(8,+)',
     },
     {
-        key: '16',
-        one: '瓦斯地质',
-        two: '瓦斯赋存',
-        three: '瓦斯压力',
-        warnLow: '(0,0.5)',
-        warnCen: '(0.5,0.74)',
-        warnJg: '(0.74,1.0)',
-        warnHign: '(1.0,+)',
+      key: '16',
+      one: '瓦斯地质',
+      two: '瓦斯赋存',
+      three: '瓦斯压力',
+      warnLow: '(0,0.5)',
+      warnCen: '(0.5,0.74)',
+      warnJg: '(0.74,1.0)',
+      warnHign: '(1.0,+)',
     },
     {
-        key: '17',
-        one: '瓦斯地质',
-        two: '煤层赋存',
-        three: '煤层厚度',
-        warnLow: '(0,1.3)',
-        warnCen: '(1.3,3.5)',
-        warnJg: '(3.5,8.0)',
-        warnHign: '(8.0,+)',
+      key: '17',
+      one: '瓦斯地质',
+      two: '煤层赋存',
+      three: '煤层厚度',
+      warnLow: '(0,1.3)',
+      warnCen: '(1.3,3.5)',
+      warnJg: '(3.5,8.0)',
+      warnHign: '(8.0,+)',
     },
     {
-        key: '18',
-        one: '瓦斯地质',
-        two: '煤层赋存',
-        three: '厚度变化',
-        warnLow: '(0,5%)',
-        warnCen: '(5%,10%)',
-        warnJg: '(10%,15%)',
-        warnHign: '(15%,+)',
+      key: '18',
+      one: '瓦斯地质',
+      two: '煤层赋存',
+      three: '厚度变化',
+      warnLow: '(0,5%)',
+      warnCen: '(5%,10%)',
+      warnJg: '(10%,15%)',
+      warnHign: '(15%,+)',
     },
     {
-        key: '19',
-        one: '瓦斯地质',
-        two: '煤层赋存',
-        three: '煤层倾角',
-        warnLow: '(0,8)',
-        warnCen: '(8,25)',
-        warnJg: '(25,45)',
-        warnHign: '(45,+)',
+      key: '19',
+      one: '瓦斯地质',
+      two: '煤层赋存',
+      three: '煤层倾角',
+      warnLow: '(0,8)',
+      warnCen: '(8,25)',
+      warnJg: '(25,45)',
+      warnHign: '(45,+)',
     },
     {
-        key: '20',
-        one: '瓦斯地质',
-        two: '煤层赋存',
-        three: '倾角变化',
-        warnLow: '(0,5%)',
-        warnCen: '(5%,10%)',
-        warnJg: '(10%,15%)',
-        warnHign: '(15%,+)',
+      key: '20',
+      one: '瓦斯地质',
+      two: '煤层赋存',
+      three: '倾角变化',
+      warnLow: '(0,5%)',
+      warnCen: '(5%,10%)',
+      warnJg: '(10%,15%)',
+      warnHign: '(15%,+)',
     },
     {
-        key: '21',
-        one: '瓦斯地质',
-        two: '地质构造',
-        three: '构造距离',
-        warnLow: '(50,+)',
-        warnCen: '(50,30)',
-        warnJg: '(30,5)',
-        warnHign: '(5,0)',
+      key: '21',
+      one: '瓦斯地质',
+      two: '地质构造',
+      three: '构造距离',
+      warnLow: '(50,+)',
+      warnCen: '(50,30)',
+      warnJg: '(30,5)',
+      warnHign: '(5,0)',
     },
+  ]);
 
-])
-
-let columns = reactive([
+  let columns = reactive([
     {
-        title: '序号',
-        width: 60,
-        align: 'center',
-        customRender: ({ index }: { index: number }) => {
-            if (index >= 0 && index <= 12) {
-                return 1
-            } else {
-                return 2
-            }
-        },
-        customCell: (_, index) => {
-            if (index == 0) {
-                return { rowSpan: 13 };
-            } else if (index > 0 && index <= 12) {
-                return { rowSpan: 0 };
-            }
-            if (index == 13) {
-                return { rowSpan: 8 };
-            } else if (index > 13 && index <= 20) {
-                return { rowSpan: 0 };
-            }
-
-        },
+      title: '序号',
+      width: 60,
+      align: 'center',
+      customRender: ({ index }: { index: number }) => {
+        if (index >= 0 && index <= 12) {
+          return 1;
+        } else {
+          return 2;
+        }
+      },
+      customCell: (_, index) => {
+        if (index == 0) {
+          return { rowSpan: 13 };
+        } else if (index > 0 && index <= 12) {
+          return { rowSpan: 0 };
+        }
+        if (index == 13) {
+          return { rowSpan: 8 };
+        } else if (index > 13 && index <= 20) {
+          return { rowSpan: 0 };
+        }
+      },
     },
     {
-        title: '一级指标',
-        dataIndex: 'one',
-        align: 'center',
-        customCell: (_, index) => {
-            if (index == 0) {
-                return { rowSpan: 13 };
-            } else if (index > 0 && index <= 12) {
-                return { rowSpan: 0 };
-            }
-            if (index == 13) {
-                return { rowSpan: 8 };
-            } else if (index > 13 && index <= 20) {
-                return { rowSpan: 0 };
-            }
-
-        },
+      title: '一级指标',
+      dataIndex: 'one',
+      align: 'center',
+      customCell: (_, index) => {
+        if (index == 0) {
+          return { rowSpan: 13 };
+        } else if (index > 0 && index <= 12) {
+          return { rowSpan: 0 };
+        }
+        if (index == 13) {
+          return { rowSpan: 8 };
+        } else if (index > 13 && index <= 20) {
+          return { rowSpan: 0 };
+        }
+      },
     },
     {
-        title: '二级指标',
-        dataIndex: 'two',
-        align: 'center',
-        customCell: (_, index) => {
-            if (index == 0) {
-                return { rowSpan: 11 };
-            } else if (index > 0 && index <= 10) {
-                return { rowSpan: 0 };
-            }
-            if (index == 13) {
-                return { rowSpan: 3 };
-            } else if (index > 13 && index <= 15) {
-                return { rowSpan: 0 };
-            }
-            if (index == 16) {
-                return { rowSpan: 4 };
-            } else if (index > 16 && index <= 19) {
-                return { rowSpan: 0 };
-            }
-
-
-        },
+      title: '二级指标',
+      dataIndex: 'two',
+      align: 'center',
+      customCell: (_, index) => {
+        if (index == 0) {
+          return { rowSpan: 11 };
+        } else if (index > 0 && index <= 10) {
+          return { rowSpan: 0 };
+        }
+        if (index == 13) {
+          return { rowSpan: 3 };
+        } else if (index > 13 && index <= 15) {
+          return { rowSpan: 0 };
+        }
+        if (index == 16) {
+          return { rowSpan: 4 };
+        } else if (index > 16 && index <= 19) {
+          return { rowSpan: 0 };
+        }
+      },
     },
     {
-        title: '三级指标',
-        align: 'center',
-        dataIndex: 'three',
-
+      title: '三级指标',
+      align: 'center',
+      dataIndex: 'three',
     },
     {
-        title: '低风险',
-        dataIndex: 'warnLow',
-        align: 'center',
+      title: '低风险',
+      dataIndex: 'warnLow',
+      align: 'center',
     },
     {
-        title: '一般风险',
-        dataIndex: 'warnCen',
-        align: 'center',
+      title: '一般风险',
+      dataIndex: 'warnCen',
+      align: 'center',
     },
     {
-        title: '较高风险',
-        dataIndex: 'warnJg',
-        align: 'center',
+      title: '较高风险',
+      dataIndex: 'warnJg',
+      align: 'center',
     },
     {
-        title: '高风险',
-        dataIndex: 'warnHign',
-        align: 'center',
+      title: '高风险',
+      dataIndex: 'warnHign',
+      align: 'center',
     },
-
-])
-
+  ]);
 </script>
 
 <style lang="less" scoped>
-.warnTarget {
+  .warnTarget {
     width: 100%;
     height: 100%;
     padding: 20px;
     box-sizing: border-box;
-}
-</style>
+  }
+</style>

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

@@ -108,6 +108,7 @@
       width: 100%;
       text-align: center;
       color: #fff;
+      font-size: 20px;
     }
     .table-box {
       height: calc(60vh - 150px);

+ 236 - 246
src/views/vent/monitorManager/comment/gaspatrolTable.vue

@@ -1,305 +1,295 @@
 <template>
-    <div class="gaspatrolTable">
-        <div class="search-area">
-            <a-row>
-                <a-col :span="5">
-                    <div class="area-item">
-                        <div class="item-text">巡检地点:</div>
-                        <a-input style="width: 240px" v-model:value="searchData.address" placeholder="请输入巡检地点"
-                            @change="addressInput" />
-                    </div>
-                </a-col>
-                <a-col :span="5">
-                    <div class="area-item">
-                        <div class="item-text">巡检员:</div>
-                        <a-input style="width: 240px" v-model:value="searchData.userName" placeholder="请输入巡检员"
-                            @change="userInput" />
-                    </div>
-                </a-col>
-                <a-col :span="5">
-                    <div class="area-item">
-                        <div class="item-text">巡检类型:</div>
-                        <a-select ref="select" v-model:value="searchData.insType" style="width: 240px"
-                            placeholder="请输入巡检类型" @change="insTypeChange">
-                            <a-select-option v-for="(item, index) in insTypeList" :key="item.value" :value="item.value">{{
-                                item.label }}</a-select-option>
-                        </a-select>
-                    </div>
-                </a-col>
-                <a-col :span="5">
-                    <div class="area-item">
-                        <div class="item-text">巡检班次:</div>
-                        <a-select ref="select" v-model:value="searchData.class" style="width: 240px"
-                            placeholder="请输入巡检班次" @change="classChange">
-                            <a-select-option v-for="(item, index) in classList" :key="item.value" :value="item.value">{{
-                                item.label }}</a-select-option>
-                        </a-select>
-                    </div>
-                </a-col>
-                <a-col :span="4">
-                    <a-button type="primary" preIcon="ant-design:search-outlined"
-                        style="margin-left: 10px;">查询</a-button>
-                    <a-button preIcon="ant-design:sync-outlined" style="margin: 0px 15px">重置</a-button>
-
-                </a-col>
-            </a-row>
-        </div>
-        <div class="content-area">
-            <a-table :columns="Columns" size="small"  :data-source="gaspatrolTableData" class="tableW"
-                :pagination="false">
-
-            </a-table>
-        </div>
+  <div class="gaspatrolTable">
+    <div class="search-area">
+      <a-row>
+        <a-col :span="5">
+          <div class="area-item">
+            <div class="item-text">巡检地点:</div>
+            <a-input style="width: 240px" v-model:value="searchData.address" placeholder="请输入巡检地点" @change="addressInput" />
+          </div>
+        </a-col>
+        <a-col :span="5">
+          <div class="area-item">
+            <div class="item-text">巡检员:</div>
+            <a-input style="width: 240px" v-model:value="searchData.userName" placeholder="请输入巡检员" @change="userInput" />
+          </div>
+        </a-col>
+        <a-col :span="5">
+          <div class="area-item">
+            <div class="item-text">巡检类型:</div>
+            <a-select ref="select" v-model:value="searchData.insType" style="width: 240px" placeholder="请输入巡检类型" @change="insTypeChange">
+              <a-select-option v-for="(item, index) in insTypeList" :key="item.value" :value="item.value">{{ item.label }}</a-select-option>
+            </a-select>
+          </div>
+        </a-col>
+        <a-col :span="5">
+          <div class="area-item">
+            <div class="item-text">巡检班次:</div>
+            <a-select ref="select" v-model:value="searchData.class" style="width: 240px" placeholder="请输入巡检班次" @change="classChange">
+              <a-select-option v-for="(item, index) in classList" :key="item.value" :value="item.value">{{ item.label }}</a-select-option>
+            </a-select>
+          </div>
+        </a-col>
+        <a-col :span="4">
+          <a-button type="primary" preIcon="ant-design:search-outlined" style="margin-left: 10px">查询</a-button>
+          <a-button preIcon="ant-design:sync-outlined" style="margin: 0px 15px">重置</a-button>
+        </a-col>
+      </a-row>
     </div>
+    <div class="content-area">
+      <a-table :columns="Columns" size="small" :data-source="gaspatrolTableData" class="tableW" :pagination="false" />
+    </div>
+  </div>
 </template>
 
 <script setup lang="ts">
-import { ref, reactive, onMounted, watch } from 'vue'
-import { gaspatrolColumnsOne, gaspatrolColumnsTwo, } from './comment.data'
-let props = defineProps({
+  import { ref, reactive, onMounted, watch } from 'vue';
+  import { gaspatrolColumnsOne, gaspatrolColumnsTwo } from './comment.data';
+  let props = defineProps({
     addressData: {
-        type: String,
-        default: ''
+      type: String,
+      default: '',
     },
     personData: {
-        type: String,
-        default: ''
+      type: String,
+      default: '',
     },
     instypeData: {
-        type: String,
-        default: ''
+      type: String,
+      default: '',
     },
     classData: {
-        type: String,
-        default: ''
+      type: String,
+      default: '',
     },
     tableData: {
-        type: Array,
-        default: () => {
-            return []
-        }
-    }
-})
+      type: Array,
+      default: () => {
+        return [];
+      },
+    },
+  });
 
-let searchData = reactive({
+  let searchData = reactive({
     address: '',
     userName: '',
     insType: '1',
-    class: 'night'
-})
-let insTypeList = reactive<any[]>([
+    class: 'night',
+  });
+  let insTypeList = reactive<any[]>([
     { label: '一次', value: '1' },
-    { label: '两次', value: '2' }
-])
-let classList = reactive<any[]>([
+    { label: '两次', value: '2' },
+  ]);
+  let classList = reactive<any[]>([
     { label: '夜班', value: 'night' },
     { label: '早班', value: 'early' },
     { label: '中班', value: 'noon' },
-])
-let Columns = ref<any[]>(gaspatrolColumnsOne)
-let gaspatrolTableData = ref<any[]>([])
-let $emit = defineEmits(['addressInput', 'userInput', 'insTypeChange', 'classChange'])
-//巡检类型选项切换
-let insTypeChange = (val) => {
-    searchData.insType = val
-    $emit('insTypeChange', val)
+  ]);
+  let Columns = ref<any[]>(gaspatrolColumnsOne);
+  let gaspatrolTableData = ref<any[]>([]);
+  let $emit = defineEmits(['addressInput', 'userInput', 'insTypeChange', 'classChange']);
+  //巡检类型选项切换
+  let insTypeChange = (val) => {
+    searchData.insType = val;
+    $emit('insTypeChange', val);
     if (val == '1') {
-        Columns.value = gaspatrolColumnsOne
+      Columns.value = gaspatrolColumnsOne;
     } else {
-        Columns.value = gaspatrolColumnsTwo
+      Columns.value = gaspatrolColumnsTwo;
     }
-}
-//巡检班次选项切换
-let classChange = (val) => {
-    searchData.class = val
-    $emit('classChange', val)
-}
-//巡检地点输入
-let addressInput = (val) => {
-    searchData.address = val.target.value
-    $emit('addressInput', searchData.address)
-}
-//巡检员输入
-let userInput = (val) => {
-    searchData.userName = val.target.value
-    $emit('userInput', searchData.userName)
-}
-watch(() => props.tableData, (newV, oldV) => {
-    if (newV && newV.length != 0) {
+  };
+  //巡检班次选项切换
+  let classChange = (val) => {
+    searchData.class = val;
+    $emit('classChange', val);
+  };
+  //巡检地点输入
+  let addressInput = (val) => {
+    searchData.address = val.target.value;
+    $emit('addressInput', searchData.address);
+  };
+  //巡检员输入
+  let userInput = (val) => {
+    searchData.userName = val.target.value;
+    $emit('userInput', searchData.userName);
+  };
+  watch(
+    () => props.tableData,
+    (newV, oldV) => {
+      if (newV && newV.length != 0) {
         if (searchData.insType == '1' && searchData.class == 'early') {
-            gaspatrolTableData.value = newV.map((el: any) => {
-                return {
-                    strInstallPos: el.strInstallPos,
-                    ch4One: el.ch4Early1,
-                    co2One: el.co2Early1,
-                    coOne: el.coEarly1,
-                    o2One: el.o2Early1,
-                    tOne: el.tearly1,
-                    timeOne: el.timeEarly1,
-                    checkPerson: el.checkPersonEarly,
-                }
-            })
+          gaspatrolTableData.value = newV.map((el: any) => {
+            return {
+              strInstallPos: el.strInstallPos,
+              ch4One: el.ch4Early1,
+              co2One: el.co2Early1,
+              coOne: el.coEarly1,
+              o2One: el.o2Early1,
+              tOne: el.tearly1,
+              timeOne: el.timeEarly1,
+              checkPerson: el.checkPersonEarly,
+            };
+          });
         } else if (searchData.insType == '2' && searchData.class == 'early') {
-            gaspatrolTableData.value = newV.map((el: any) => {
-                return {
-                    strInstallPos: el.strInstallPos,
-                    ch4One: el.ch4Early1,
-                    co2One: el.co2Early1,
-                    coOne: el.coEarly1,
-                    o2One: el.o2Early1,
-                    tOne: el.tearly1,
-                    timeOne: el.timeEarly1,
-                    ch4Two: el.ch4Early2,
-                    co2Two: el.co2Early2,
-                    coTwo: el.coEarly2,
-                    o2Two: el.o2Early2,
-                    tTwo: el.tearly2,
-                    timeTwo: el.timeEarly2,
-                    checkPerson: el.checkPersonEarly,
-                }
-            })
+          gaspatrolTableData.value = newV.map((el: any) => {
+            return {
+              strInstallPos: el.strInstallPos,
+              ch4One: el.ch4Early1,
+              co2One: el.co2Early1,
+              coOne: el.coEarly1,
+              o2One: el.o2Early1,
+              tOne: el.tearly1,
+              timeOne: el.timeEarly1,
+              ch4Two: el.ch4Early2,
+              co2Two: el.co2Early2,
+              coTwo: el.coEarly2,
+              o2Two: el.o2Early2,
+              tTwo: el.tearly2,
+              timeTwo: el.timeEarly2,
+              checkPerson: el.checkPersonEarly,
+            };
+          });
         } else if (searchData.insType == '1' && searchData.class == 'noon') {
-            gaspatrolTableData.value = newV.map((el: any) => {
-                return {
-                    strInstallPos: el.strInstallPos,
-                    ch4One: el.ch4Noon1,
-                    co2One: el.co2Noon1,
-                    coOne: el.coNoon1,
-                    o2One: el.o2Noon1,
-                    tOne: el.tnoon1,
-                    timeOne: el.timeNoon1,
-                    checkPerson: el.checkPersonNoon,
-                }
-            })
+          gaspatrolTableData.value = newV.map((el: any) => {
+            return {
+              strInstallPos: el.strInstallPos,
+              ch4One: el.ch4Noon1,
+              co2One: el.co2Noon1,
+              coOne: el.coNoon1,
+              o2One: el.o2Noon1,
+              tOne: el.tnoon1,
+              timeOne: el.timeNoon1,
+              checkPerson: el.checkPersonNoon,
+            };
+          });
         } else if (searchData.insType == '2' && searchData.class == 'noon') {
-            gaspatrolTableData.value = newV.map((el: any) => {
-                return {
-                    strInstallPos: el.strInstallPos,
-                    ch4One: el.ch4Noon1,
-                    co2One: el.co2Noon1,
-                    coOne: el.coNoon1,
-                    o2One: el.o2Noon1,
-                    tOne: el.tnoon1,
-                    timeOne: el.timeNoon1,
-                    ch4Two: el.ch4Noon2,
-                    co2Two: el.co2Noon2,
-                    coTwo: el.coNoon2,
-                    o2Two: el.o2Noon2,
-                    tTwo: el.tnoon2,
-                    timeTwo: el.timeNoon2,
-                    checkPerson: el.checkPersonNoon,
-                }
-            })
+          gaspatrolTableData.value = newV.map((el: any) => {
+            return {
+              strInstallPos: el.strInstallPos,
+              ch4One: el.ch4Noon1,
+              co2One: el.co2Noon1,
+              coOne: el.coNoon1,
+              o2One: el.o2Noon1,
+              tOne: el.tnoon1,
+              timeOne: el.timeNoon1,
+              ch4Two: el.ch4Noon2,
+              co2Two: el.co2Noon2,
+              coTwo: el.coNoon2,
+              o2Two: el.o2Noon2,
+              tTwo: el.tnoon2,
+              timeTwo: el.timeNoon2,
+              checkPerson: el.checkPersonNoon,
+            };
+          });
         } else if (searchData.insType == '1' && searchData.class == 'night') {
-            gaspatrolTableData.value = newV.map((el: any) => {
-                return {
-                    strInstallPos: el.strInstallPos,
-                    ch4One: el.ch4Night1,
-                    co2One: el.co2Night1,
-                    coOne: el.coNight1,
-                    o2One: el.o2Night1,
-                    tOne: el.tnight1,
-                    timeOne: el.timeNight1,
-                    checkPerson: el.checkPersonNight,
-                }
-            })
+          gaspatrolTableData.value = newV.map((el: any) => {
+            return {
+              strInstallPos: el.strInstallPos,
+              ch4One: el.ch4Night1,
+              co2One: el.co2Night1,
+              coOne: el.coNight1,
+              o2One: el.o2Night1,
+              tOne: el.tnight1,
+              timeOne: el.timeNight1,
+              checkPerson: el.checkPersonNight,
+            };
+          });
         } else if (searchData.insType == '2' && searchData.class == 'night') {
-            gaspatrolTableData.value = newV.map((el: any) => {
-                return {
-                    strInstallPos: el.strInstallPos,
-                    ch4One: el.ch4Night1,
-                    co2One: el.co2Night1,
-                    coOne: el.coNight1,
-                    o2One: el.o2Night1,
-                    tOne: el.tnight1,
-                    timeOne: el.timeNight1,
-                    ch4Two: el.ch4Night2,
-                    co2Two: el.co2Night2,
-                    coTwo: el.coNight2,
-                    o2Two: el.o2Night2,
-                    tTwo: el.tnight2,
-                    timeTwo: el.timeNight2,
-                    checkPerson: el.checkPersonNoon,
-                }
-            })
+          gaspatrolTableData.value = newV.map((el: any) => {
+            return {
+              strInstallPos: el.strInstallPos,
+              ch4One: el.ch4Night1,
+              co2One: el.co2Night1,
+              coOne: el.coNight1,
+              o2One: el.o2Night1,
+              tOne: el.tnight1,
+              timeOne: el.timeNight1,
+              ch4Two: el.ch4Night2,
+              co2Two: el.co2Night2,
+              coTwo: el.coNight2,
+              o2Two: el.o2Night2,
+              tTwo: el.tnight2,
+              timeTwo: el.timeNight2,
+              checkPerson: el.checkPersonNoon,
+            };
+          });
         } else {
-            gaspatrolTableData.value = newV.map((el: any) => {
-                return {
-                    strInstallPos: el.strInstallPos,
-                    ch4One: el.ch4Night1,
-                    co2One: el.co2Night1,
-                    coOne: el.coNight1,
-                    o2One: el.o2Night1,
-                    tOne: el.tnight1,
-                    timeOne: el.timeNight1,
-                    checkPerson: el.checkPersonNight,
-                }
-            })
+          gaspatrolTableData.value = newV.map((el: any) => {
+            return {
+              strInstallPos: el.strInstallPos,
+              ch4One: el.ch4Night1,
+              co2One: el.co2Night1,
+              coOne: el.coNight1,
+              o2One: el.o2Night1,
+              tOne: el.tnight1,
+              timeOne: el.timeNight1,
+              checkPerson: el.checkPersonNight,
+            };
+          });
         }
-        console.log( gaspatrolTableData.value,' gaspatrolTableData.value')
-    } else {
-        gaspatrolTableData.value = []
-    }
-
-},{immediate:true})
-onMounted(() => {
-    searchData.address = props.addressData
-    searchData.userName = props.personData
-    searchData.insType = props.instypeData
-    searchData.class = props.classData
-})
-
+        console.log(gaspatrolTableData.value, ' gaspatrolTableData.value');
+      } else {
+        gaspatrolTableData.value = [];
+      }
+    },
+    { immediate: true }
+  );
+  onMounted(() => {
+    searchData.address = props.addressData;
+    searchData.userName = props.personData;
+    searchData.insType = props.instypeData;
+    searchData.class = props.classData;
+  });
 </script>
 
 <style lang="less" scoped>
-@ventSpace: zxm;
+  @ventSpace: zxm;
 
-.gaspatrolTable {
+  .gaspatrolTable {
     .search-area {
-        margin: 15px;
+      margin: 15px;
 
-        .area-item {
-            display: flex;
-            align-items: center;
+      .area-item {
+        display: flex;
+        align-items: center;
 
-            .item-text {
-                color: #fff;
-            }
+        .item-text {
+          color: #fff;
         }
+      }
     }
 
     .zxm-picker,
     .zxm-input {
-        border: 1px solid #3ad8ff77;
-        background-color: #ffffff00;
-        color: #fff;
+      border: 1px solid #3ad8ff77;
+      background-color: #ffffff00;
+      color: #fff;
     }
-}
-
+  }
 
-:deep(.@{ventSpace}-table-body) {
+  :deep(.@{ventSpace}-table-body) {
     height: auto !important;
 
-    tr>td {
-        background: #ffffff00 !important;
+    tr > td {
+      background: #ffffff00 !important;
     }
 
     tr.@{ventSpace}-table-row-selected {
-        td {
-            background: #007cc415 !important;
-        }
+      td {
+        background: #007cc415 !important;
+      }
     }
-}
+  }
 
-:deep(.jeecg-basic-table .@{ventSpace}-table-wrapper .@{ventSpace}-table-title) {
+  :deep(.jeecg-basic-table .@{ventSpace}-table-wrapper .@{ventSpace}-table-title) {
     min-height: 0;
-}
+  }
 
-:deep(.@{ventSpace}-pagination) {
+  :deep(.@{ventSpace}-pagination) {
     margin-right: 20px !important;
-}
+  }
 
-:deep(.zxm-table-thead > tr > th:last-child) {
+  :deep(.zxm-table-thead > tr > th:last-child) {
     border-right: 1px solid #91e9fe55 !important;
-}
-</style>
+  }
+</style>

+ 1 - 1
src/views/vent/monitorManager/compressor/nitrogen.data.ts

@@ -243,7 +243,7 @@ export function getMonitorComponent() {
       return nitrogenHome;
     default:
       // nitrogenHome = defineAsyncComponent(() => import('./components/nitrogenHome_blt.vue'));
-      nitrogenHome = defineAsyncComponent(() => import('./components/nitrogenHome_bd.vue'));
+      nitrogenHome = defineAsyncComponent(() => import('./components/nitrogenHome_bet.vue'));
       // nitrogenHome = defineAsyncComponent(() => import('./components/nitrogenHome_blt.vue'));
       return nitrogenHome;
   }

+ 3 - 3
src/views/vent/monitorManager/deviceMonitor/components/device/index.vue

@@ -514,9 +514,9 @@ const onSelect: TreeProps['onSelect'] = (keys, e) => {
       selectedKeys.value = keys;
       treeNodeTitle.value = e.node.title;
 
-      // if (e.node.children?.length < 1 && timer) {
-      //   getMonitor(true);
-      // }
+      if (e.node.children?.length < 1 && timer) {
+        getMonitor(true);
+      }
     }, 1000);
   }
   // activeKey.value = '1';

+ 2 - 0
src/views/vent/monitorManager/gateMonitor/gate.threejs.ts

@@ -165,6 +165,8 @@ export function computePlay(data, maxarea, isFirst = false) {
     rotationParam.backRightDeg1 = (90 / maxarea) * Number(data.rearPresentValue2) || 0;
     fmWindow.playWindow(rotationParam, 1);
     fmWindow.playWindow(rotationParam, 2);
+    fmWindow.playWindow(rotationParam, 3);
+    fmWindow.playWindow(rotationParam, 4);
   }
 }
 

+ 6 - 0
src/views/vent/monitorManager/mainFanMonitor/index.vue

@@ -984,6 +984,12 @@
   };
   // 打开并设置modal的标题
   const showModal = (obj) => {
+    // 神东要求主扇的控制功能改回跳转至生产管控平台
+    if (obj.key != 'kkjc' && VENT_PARAM['productionCrlPlatformUrl']) {
+      window.open(VENT_PARAM['productionCrlPlatformUrl'], '_blank');
+      return;
+    }
+
     if (obj.key == 'kkjc') {
       // 工况辅助决策
       openModal(true, {});

+ 9 - 3
src/views/vent/monitorManager/nitrogen/components/nitrogenHome.vue

@@ -20,6 +20,8 @@
                 ><span class="val">{{
                   monitorData[preMonitor.code.replace(prefix[0], `${prefix[0]}${groupNum}`)]
                     ? formatNum(monitorData[preMonitor.code.replace(prefix[0], `${prefix[0]}${groupNum}`)])
+                    : preMonitor.value
+                    ? preMonitor.value
                     : '-'
                 }}</span
                 ><span class="unit">{{ preMonitor.unit }}</span></span
@@ -50,6 +52,8 @@
                 ><span class="val">{{
                   monitorData[cqgMonitor.code.replace(prefix[0], `${prefix[1]}${groupNum}`)]
                     ? formatNum(monitorData[cqgMonitor.code.replace(prefix[1], `${prefix[1]}${groupNum}`)])
+                    : cqgMonitor.value
+                    ? cqgMonitor.value
                     : '-'
                 }}</span
                 ><span class="unit">{{ cqgMonitor.unit }}</span></span
@@ -92,7 +96,7 @@
       <div class="vent-flex-row">
         <div class="item" v-for="(data, index) in totalData" :key="index"
           >{{ data.title + '(' + data.unit + ')' }}:<span class="val">{{
-            monitorData[data.code] ? formatNum(monitorData[data.code]) : '-'
+            monitorData[data.code] ? formatNum(monitorData[data.code]) : data.value ? data.value : '-'
           }}</span></div
         >
       </div>
@@ -101,7 +105,7 @@
       <div class="vent-flex-row item-box">
         <div class="item" v-for="(data, index) in totalData1[monitorDataGroupFlag - 1]" :key="index"
           ><div>{{ data.title + '(' + data.unit + ')' }}:</div
-          ><div class="val">{{ monitorData[data.code] ? formatNum(monitorData[data.code]) : '-' }}</div>
+          ><div class="val">{{ monitorData[data.code] ? formatNum(monitorData[data.code]) : data.value ? data.value : '-' }}</div>
         </div>
       </div>
     </div>
@@ -126,6 +130,8 @@
                         <span v-if="preFan.unit !== 'signal' && preFan.unit !== 'warning'" class="state-val">{{
                           monitorData[preFan.code.replace(prefix[2], prefix[2] + groupNum)] >= 0
                             ? formatNum(Number(monitorData[preFan.code.replace(prefix[2], prefix[2] + groupNum)]))
+                            : preFan.value
+                            ? preFan.value
                             : '-'
                         }}</span>
                         <span
@@ -862,7 +868,7 @@
         }
 
         .left-box {
-          height: calc(100%);
+          height: calc(100% - 50px);
           overflow-x: hidden;
           overflow-y: auto;
           pointer-events: auto;

+ 284 - 284
src/views/vent/monitorManager/nitrogen/components/nitrogenHomeBLT.vue

@@ -223,290 +223,290 @@
   }
 
   async function getDataSource() {
-    // const res = await list({ devicetype: 'forcFan', pagetype: 'normal' });
-    const res = {
-      cmd: 'monitordata',
-      msgTxt: [
-        {
-          datalist: [
-            {
-              msgType: null,
-              deviceID: '1749326253834444802',
-              strname: '北风井压风',
-              strinstallpos: '北风井压风',
-              fsectarea: 'null',
-              stationname: '北风井压风',
-              stationtype: 'redis',
-              deviceType: 'forcFan_north',
-              typeName: '压风机北',
-              netStatus: 1,
-              warnFlag: 0,
-              warnLevel: 0,
-              warnLevel_str: '正常',
-              syswarnLevel: null,
-              syswarnLevel_str: null,
-              syswarnLevel_des: null,
-              warnTime: null,
-              readTime: '2024-12-02 18:40:56',
-              warnDes: '',
-              frontGateOpenCtrl: null,
-              rearGateOpenCtrl: null,
-              readData: {
-                PRE1_CPR_InletPre: '2.00',
-                PRE2_CPR_HeadTemp: '13.00',
-                PRE1_MOT_PhaseATemp: '56.40',
-                PRE2_MOT_PhaseAOverTemp: '0',
-                sign: '0',
-                PRE1_CPR_UnLoadPre: '6.20',
-                PRE1_CPR_LoadorUnload: '0',
-                PRE2_CPR_ExhaustTemp: '15.00',
-                PRE2_FaultSignal1: '0',
-                PRE2_CPR_LoadorUnload: '1',
-                PRE2_MOT_PhaseCOverTemp: '0',
-                PRE1_MOT_PhaseBOverTemp: '0',
-                PRE1_CPR_ExhaustPre: '6.40',
-                PRE1_MOT_FrontAxleTemp2: '35.80',
-                PRE1_MOT_FrontAxleTemp1: '0.00',
-                PRE2_CPR_CoolantTemp: '12.00',
-                PRE1_FaultSignal: '0',
-                PRE2_FaultSignal: '0',
-                PRE2_MOT_FrontAxleTemp: '0.00',
-                PRE1_MOT_TotalRunTime: '5477.00',
-                PRE1_CPR_LoadTime: '2405.00',
-                PRE2_CPR_LoadTime: '4464.00',
-                PRE1_CPR_HeadTemp: '86.00',
-                PRE1_MOT_PhaseAOverTemp: '0',
-                PRE2_MOT_PhaseBTemp: '18.50',
-                PRE2_HostorLoc: '0',
-                PRE2_MOT_TotalRunTime: '6534.00',
-                PRE2_MOT_BackAxleTemp: '0.00',
-                PRE2_MOT_RunReturn: '0',
-                TotalInPipeFlow: '869.00',
-                PRE2_CPR_InletPre: '0.00',
-                PRE1_FaultSignal1: '0',
-                PRE2_CPR_ExhaustPre: '5.90',
-                PRE2_MOT_Current: '0.00',
-                PRE1_MOT_BackAxleTemp: '0.00',
-                PRE1_MOT_Current: '24.50',
-                PRE2_MOT_PhaseATemp: '18.20',
-                PRE1_MOT_PhaseCOverTemp: '0',
-                PRE2_MOT_PhaseBOverTemp: '0',
-                PRE1_HostorLoc: '0',
-                PRE1_CPR_LoadPre: '7.00',
-                PRE1_CPR_SeparationCylinderPressure: '77.00',
-                PRE1_MOT_RunReturn: '1',
-                PRE2_MOT_CtrlMode: '1',
-                PRE1_MOT_CtrlMode: '0',
-                PRE2_CPR_LoadPre: '7.00',
-                PRE1_MOT_PhaseCTemp: '32.60',
-                TotalOutPipePre: '6.40',
-                PRE1_CPR_CoolantTemp: '64.00',
-                PRE1_MOT_PhaseBTemp: '59.30',
-                PRE2_MOT_PhaseCTemp: '18.20',
-                PRE2_CPR_UnLoadPre: '6.20',
-                PRE2_CPR_SeparationCylinderPressure: '5.90',
-                isRun: '-2',
-                PRE1_CPR_ExhaustTemp: '23.20',
-              },
-              readDataDes: null,
-              summaryHour: [],
-              summaryDay: [],
-              history: [],
-              dayhistory: [],
-              totalInfo: null,
-              sign: null,
-              cameras: [
-                {
-                  id: '1854452465886429185',
-                  addr: 'c70e0a6f7e0947368e4d9acd37bb3bac',
-                  name: '北压风机房',
-                  devicekind: 'toHKHLs',
-                  cameraRate: null,
-                },
-                {
-                  id: '1854452718454833154',
-                  addr: 'dfa82251816845a4a1c7957384bf2443',
-                  name: '北压风机房变电所',
-                  devicekind: 'toHKHLs',
-                  cameraRate: null,
-                },
-              ],
-              links: [],
-              other1: null,
-              other2: null,
-              other3: null,
-              remarkInfo: null,
-              linkInfo: null,
-              addrIndex: null,
-              warnLogNotOkCount: 0,
-              otherInfo: null,
-            },
-            {
-              msgType: null,
-              deviceID: '1749326210754748418',
-              strname: '南风井压风',
-              strinstallpos: '南风井压风',
-              fsectarea: 'null',
-              stationname: '南风井压风',
-              stationtype: 'redis',
-              deviceType: 'forcFan_south',
-              typeName: '压风机南',
-              netStatus: 1,
-              warnFlag: 0,
-              warnLevel: 0,
-              warnLevel_str: '正常',
-              syswarnLevel: null,
-              syswarnLevel_str: null,
-              syswarnLevel_des: null,
-              warnTime: null,
-              readTime: '2024-12-02 18:40:56',
-              warnDes: '',
-              frontGateOpenCtrl: null,
-              rearGateOpenCtrl: null,
-              readData: {
-                PRE1_MOT_FrontAxleOverTempAlam: '0',
-                PRE3_MOT_PhaseBTempStop: '0',
-                PRE3_CPR_CoolantTemp: '72.00',
-                PRE1_MOT_PhaseATemp: '83.40',
-                PRE2_MOT_PhaseCTempStop: '0',
-                PRE2_MOT_PhaseAOverTemp: '0',
-                PRE2_MOT_BackAxleOverTempAlam: '0',
-                PRE3_AlarmHistory: '0.00',
-                PRE1_MOT_BackAxleOverTempStop: '0',
-                PRE2_CPR_LoadorUnload: '1',
-                PRE3_MOT_PhaseBTemp: '74.80',
-                PRE1_MOT_PhaseBOverTemp: '0',
-                PRE1_CPR_ExhaustPre: '5.00',
-                PRE3_MOT_RunReturn: '1',
-                PRE1_ExitPressure: '26214.00',
-                PRE2_ExitPressure: '5130.00',
-                PRE1_CPR_LoadTime: '8272.00',
-                PRE2_CPR_LoadTime: '424.00',
-                PRE1_MOT_PhaseAOverTemp: '0',
-                PRE2_MOT_Power: '0.00',
-                PRE3_CPR_LoadTime: '244.00',
-                PRE2_MOT_PhaseBTempStop: '0',
-                PRE1_MOT_PhaseATempStop: '0',
-                PRE2_MOT_RunReturn: '1',
-                PRE2_AlarmHistory: '3.10',
-                PRE1_Status: '8454',
-                PRE3_MOT_PhaseATempStop: '0',
-                PRE2_CPR_ExhaustPre: '5.10',
-                PRE3_CPR_ExhaustTemp: '48.00',
-                PRE3_MOT_TotalRunTime: '244.00',
-                PRE1_MOT_BackAxleTemp: '0.00',
-                PRE3_MOT_PhaseAOverTemp: '0',
-                PRE2_MOT_PhaseATemp: '71.20',
-                PRE2_MOT_BackAxleOverTempStop: '0',
-                PRE3_MOT_FrontAxleOverTempAlam: '0',
-                PRE3_MOT_BackAxleOverTempStop: '0',
-                PRE1_HostorLoc: '0',
-                PRE1_CPR_LoadPre: '6.30',
-                PRE1_MOT_RunReturn: '1',
-                PRE3_CPR_LoadPre: '6.30',
-                PRE1_MOT_CtrlMode: '1',
-                PRE2_CPR_LoadPre: '6.30',
-                PRE3_MOT_CtrlMode: '1',
-                PRE3_CPR_LoadorUnload: '1',
-                PRE1_CPR_CoolantTemp: '71.00',
-                PRE1_MOT_PhaseBTemp: '83.10',
-                PRE2_MOT_FrontAxleOverTempAlam: '0',
-                PRE2_MOT_PhaseCTemp: '57.20',
-                PRE3_MOT_PhaseCTemp: '73.80',
-                PRE2_CPR_HeadTemp: '98.00',
-                sign: '0',
-                PRE1_CPR_UnLoadPre: '7.00',
-                PRE1_CPR_LoadorUnload: '1',
-                PRE3_CPR_ExhaustPre: '5.10',
-                PRE2_MOT_PhaseATempStop: '0',
-                PRE1_MOT_PhaseBTempStop: '0',
-                PRE2_CPR_ExhaustTemp: '62.00',
-                PRE2_MOT_PhaseCOverTemp: '0',
-                PRE3_MOT_PhaseBOverTemp: '0',
-                PRE3_FaultSignal: '0',
-                PRE3_MOT_Power: '1000.00',
-                PRE3_MOT_PhaseATemp: '82.20',
-                PRE2_CPR_CoolantTemp: '76.00',
-                PRE3_HostorLoc: '0',
-                PRE2_FaultSignal: '0',
-                PRE1_FaultSignal: '0',
-                PRE2_MOT_FrontAxleTemp: '0.00',
-                PRE3_MOT_BackAxleTemp: '20.50',
-                PRE1_MOT_TotalRunTime: '22.00',
-                PRE3_MOT_FrontAxleTemp: '43.10',
-                PRE1_CPR_HeadTemp: '92.00',
-                PRE1_MOT_PhaseCTempStop: '0',
-                PRE3_MOT_BackAxleOverTempAlam: '0',
-                PRE2_HostorLoc: '0',
-                PRE3_MOT_FrontAxleOverTempStop: '0',
-                PRE2_MOT_PhaseBTemp: '64.20',
-                PRE3_MOT_PhaseCTempStop: '0',
-                PRE3_CPR_HeadTemp: '95.00',
-                PRE2_MOT_TotalRunTime: '2802.00',
-                PRE1_MOT_BackAxleOverTempAlam: '0',
-                PRE2_MOT_BackAxleTemp: '0.00',
-                TotalInPipeFlow: '1005.80',
-                PRE3_CPR_UnLoadPre: '7.00',
-                PRE3_MOT_PhaseCOverTemp: '0',
-                PRE1_MOT_PhaseCOverTemp: '0',
-                PRE1_MOT_FrontAxleTemp: '0.00',
-                PRE2_MOT_PhaseBOverTemp: '0',
-                PRE1_MOT_Power: '0.00',
-                PRE1_MOT_FrontAxleOverTempStop: '0',
-                PRE2_MOT_CtrlMode: '1',
-                PRE1_MOT_PhaseCTemp: '82.90',
-                TotalOutPipePre: '5.60',
-                PRE1_AlarmHistory: '2.00',
-                PRE2_MOT_FrontAxleOverTempStop: '0',
-                PRE2_CPR_UnLoadPre: '7.00',
-                isRun: '-2',
-                PRE1_CPR_ExhaustTemp: '56.00',
-              },
-              readDataDes: null,
-              summaryHour: [],
-              summaryDay: [],
-              history: [],
-              dayhistory: [],
-              totalInfo: null,
-              sign: null,
-              cameras: [
-                {
-                  id: '1854452219160690689',
-                  addr: 'd37096a7d41244a1974bd99b4e2cfe35',
-                  name: '南压风机房配电室',
-                  devicekind: 'toHKHLs',
-                  cameraRate: null,
-                },
-                {
-                  id: '1854452329282142210',
-                  addr: '0f22a6377b084f8bb74435ef9eeff958',
-                  name: '南压风机',
-                  devicekind: 'toHKHLs',
-                  cameraRate: null,
-                },
-              ],
-              links: [],
-              other1: null,
-              other2: null,
-              other3: null,
-              remarkInfo: null,
-              linkInfo: null,
-              addrIndex: null,
-              warnLogNotOkCount: 0,
-              otherInfo: null,
-            },
-          ],
-          avginfo: {
-            warnFlag: {
-              value: 0,
-            },
-          },
-          typeName: '压风机',
-          type: 'forcFan',
-          locallist: [],
-        },
-      ],
-    };
+    const res = await list({ devicetype: 'forcFan', pagetype: 'normal' });
+    // const res = {
+    //   cmd: 'monitordata',
+    //   msgTxt: [
+    //     {
+    //       datalist: [
+    //         {
+    //           msgType: null,
+    //           deviceID: '1749326253834444802',
+    //           strname: '北风井压风',
+    //           strinstallpos: '北风井压风',
+    //           fsectarea: 'null',
+    //           stationname: '北风井压风',
+    //           stationtype: 'redis',
+    //           deviceType: 'forcFan_north',
+    //           typeName: '压风机北',
+    //           netStatus: 1,
+    //           warnFlag: 0,
+    //           warnLevel: 0,
+    //           warnLevel_str: '正常',
+    //           syswarnLevel: null,
+    //           syswarnLevel_str: null,
+    //           syswarnLevel_des: null,
+    //           warnTime: null,
+    //           readTime: '2024-12-02 18:40:56',
+    //           warnDes: '',
+    //           frontGateOpenCtrl: null,
+    //           rearGateOpenCtrl: null,
+    //           readData: {
+    //             PRE1_CPR_InletPre: '2.00',
+    //             PRE2_CPR_HeadTemp: '13.00',
+    //             PRE1_MOT_PhaseATemp: '56.40',
+    //             PRE2_MOT_PhaseAOverTemp: '0',
+    //             sign: '0',
+    //             PRE1_CPR_UnLoadPre: '6.20',
+    //             PRE1_CPR_LoadorUnload: '0',
+    //             PRE2_CPR_ExhaustTemp: '15.00',
+    //             PRE2_FaultSignal1: '0',
+    //             PRE2_CPR_LoadorUnload: '1',
+    //             PRE2_MOT_PhaseCOverTemp: '0',
+    //             PRE1_MOT_PhaseBOverTemp: '0',
+    //             PRE1_CPR_ExhaustPre: '6.40',
+    //             PRE1_MOT_FrontAxleTemp2: '35.80',
+    //             PRE1_MOT_FrontAxleTemp1: '0.00',
+    //             PRE2_CPR_CoolantTemp: '12.00',
+    //             PRE1_FaultSignal: '0',
+    //             PRE2_FaultSignal: '0',
+    //             PRE2_MOT_FrontAxleTemp: '0.00',
+    //             PRE1_MOT_TotalRunTime: '5477.00',
+    //             PRE1_CPR_LoadTime: '2405.00',
+    //             PRE2_CPR_LoadTime: '4464.00',
+    //             PRE1_CPR_HeadTemp: '86.00',
+    //             PRE1_MOT_PhaseAOverTemp: '0',
+    //             PRE2_MOT_PhaseBTemp: '18.50',
+    //             PRE2_HostorLoc: '0',
+    //             PRE2_MOT_TotalRunTime: '6534.00',
+    //             PRE2_MOT_BackAxleTemp: '0.00',
+    //             PRE2_MOT_RunReturn: '0',
+    //             TotalInPipeFlow: '869.00',
+    //             PRE2_CPR_InletPre: '0.00',
+    //             PRE1_FaultSignal1: '0',
+    //             PRE2_CPR_ExhaustPre: '5.90',
+    //             PRE2_MOT_Current: '0.00',
+    //             PRE1_MOT_BackAxleTemp: '0.00',
+    //             PRE1_MOT_Current: '24.50',
+    //             PRE2_MOT_PhaseATemp: '18.20',
+    //             PRE1_MOT_PhaseCOverTemp: '0',
+    //             PRE2_MOT_PhaseBOverTemp: '0',
+    //             PRE1_HostorLoc: '0',
+    //             PRE1_CPR_LoadPre: '7.00',
+    //             PRE1_CPR_SeparationCylinderPressure: '77.00',
+    //             PRE1_MOT_RunReturn: '1',
+    //             PRE2_MOT_CtrlMode: '1',
+    //             PRE1_MOT_CtrlMode: '0',
+    //             PRE2_CPR_LoadPre: '7.00',
+    //             PRE1_MOT_PhaseCTemp: '32.60',
+    //             TotalOutPipePre: '6.40',
+    //             PRE1_CPR_CoolantTemp: '64.00',
+    //             PRE1_MOT_PhaseBTemp: '59.30',
+    //             PRE2_MOT_PhaseCTemp: '18.20',
+    //             PRE2_CPR_UnLoadPre: '6.20',
+    //             PRE2_CPR_SeparationCylinderPressure: '5.90',
+    //             isRun: '-2',
+    //             PRE1_CPR_ExhaustTemp: '23.20',
+    //           },
+    //           readDataDes: null,
+    //           summaryHour: [],
+    //           summaryDay: [],
+    //           history: [],
+    //           dayhistory: [],
+    //           totalInfo: null,
+    //           sign: null,
+    //           cameras: [
+    //             {
+    //               id: '1854452465886429185',
+    //               addr: 'c70e0a6f7e0947368e4d9acd37bb3bac',
+    //               name: '北压风机房',
+    //               devicekind: 'toHKHLs',
+    //               cameraRate: null,
+    //             },
+    //             {
+    //               id: '1854452718454833154',
+    //               addr: 'dfa82251816845a4a1c7957384bf2443',
+    //               name: '北压风机房变电所',
+    //               devicekind: 'toHKHLs',
+    //               cameraRate: null,
+    //             },
+    //           ],
+    //           links: [],
+    //           other1: null,
+    //           other2: null,
+    //           other3: null,
+    //           remarkInfo: null,
+    //           linkInfo: null,
+    //           addrIndex: null,
+    //           warnLogNotOkCount: 0,
+    //           otherInfo: null,
+    //         },
+    //         {
+    //           msgType: null,
+    //           deviceID: '1749326210754748418',
+    //           strname: '南风井压风',
+    //           strinstallpos: '南风井压风',
+    //           fsectarea: 'null',
+    //           stationname: '南风井压风',
+    //           stationtype: 'redis',
+    //           deviceType: 'forcFan_south',
+    //           typeName: '压风机南',
+    //           netStatus: 1,
+    //           warnFlag: 0,
+    //           warnLevel: 0,
+    //           warnLevel_str: '正常',
+    //           syswarnLevel: null,
+    //           syswarnLevel_str: null,
+    //           syswarnLevel_des: null,
+    //           warnTime: null,
+    //           readTime: '2024-12-02 18:40:56',
+    //           warnDes: '',
+    //           frontGateOpenCtrl: null,
+    //           rearGateOpenCtrl: null,
+    //           readData: {
+    //             PRE1_MOT_FrontAxleOverTempAlam: '0',
+    //             PRE3_MOT_PhaseBTempStop: '0',
+    //             PRE3_CPR_CoolantTemp: '72.00',
+    //             PRE1_MOT_PhaseATemp: '83.40',
+    //             PRE2_MOT_PhaseCTempStop: '0',
+    //             PRE2_MOT_PhaseAOverTemp: '0',
+    //             PRE2_MOT_BackAxleOverTempAlam: '0',
+    //             PRE3_AlarmHistory: '0.00',
+    //             PRE1_MOT_BackAxleOverTempStop: '0',
+    //             PRE2_CPR_LoadorUnload: '1',
+    //             PRE3_MOT_PhaseBTemp: '74.80',
+    //             PRE1_MOT_PhaseBOverTemp: '0',
+    //             PRE1_CPR_ExhaustPre: '5.00',
+    //             PRE3_MOT_RunReturn: '1',
+    //             PRE1_ExitPressure: '26214.00',
+    //             PRE2_ExitPressure: '5130.00',
+    //             PRE1_CPR_LoadTime: '8272.00',
+    //             PRE2_CPR_LoadTime: '424.00',
+    //             PRE1_MOT_PhaseAOverTemp: '0',
+    //             PRE2_MOT_Power: '0.00',
+    //             PRE3_CPR_LoadTime: '244.00',
+    //             PRE2_MOT_PhaseBTempStop: '0',
+    //             PRE1_MOT_PhaseATempStop: '0',
+    //             PRE2_MOT_RunReturn: '1',
+    //             PRE2_AlarmHistory: '3.10',
+    //             PRE1_Status: '8454',
+    //             PRE3_MOT_PhaseATempStop: '0',
+    //             PRE2_CPR_ExhaustPre: '5.10',
+    //             PRE3_CPR_ExhaustTemp: '48.00',
+    //             PRE3_MOT_TotalRunTime: '244.00',
+    //             PRE1_MOT_BackAxleTemp: '0.00',
+    //             PRE3_MOT_PhaseAOverTemp: '0',
+    //             PRE2_MOT_PhaseATemp: '71.20',
+    //             PRE2_MOT_BackAxleOverTempStop: '0',
+    //             PRE3_MOT_FrontAxleOverTempAlam: '0',
+    //             PRE3_MOT_BackAxleOverTempStop: '0',
+    //             PRE1_HostorLoc: '0',
+    //             PRE1_CPR_LoadPre: '6.30',
+    //             PRE1_MOT_RunReturn: '1',
+    //             PRE3_CPR_LoadPre: '6.30',
+    //             PRE1_MOT_CtrlMode: '1',
+    //             PRE2_CPR_LoadPre: '6.30',
+    //             PRE3_MOT_CtrlMode: '1',
+    //             PRE3_CPR_LoadorUnload: '1',
+    //             PRE1_CPR_CoolantTemp: '71.00',
+    //             PRE1_MOT_PhaseBTemp: '83.10',
+    //             PRE2_MOT_FrontAxleOverTempAlam: '0',
+    //             PRE2_MOT_PhaseCTemp: '57.20',
+    //             PRE3_MOT_PhaseCTemp: '73.80',
+    //             PRE2_CPR_HeadTemp: '98.00',
+    //             sign: '0',
+    //             PRE1_CPR_UnLoadPre: '7.00',
+    //             PRE1_CPR_LoadorUnload: '1',
+    //             PRE3_CPR_ExhaustPre: '5.10',
+    //             PRE2_MOT_PhaseATempStop: '0',
+    //             PRE1_MOT_PhaseBTempStop: '0',
+    //             PRE2_CPR_ExhaustTemp: '62.00',
+    //             PRE2_MOT_PhaseCOverTemp: '0',
+    //             PRE3_MOT_PhaseBOverTemp: '0',
+    //             PRE3_FaultSignal: '0',
+    //             PRE3_MOT_Power: '1000.00',
+    //             PRE3_MOT_PhaseATemp: '82.20',
+    //             PRE2_CPR_CoolantTemp: '76.00',
+    //             PRE3_HostorLoc: '0',
+    //             PRE2_FaultSignal: '0',
+    //             PRE1_FaultSignal: '0',
+    //             PRE2_MOT_FrontAxleTemp: '0.00',
+    //             PRE3_MOT_BackAxleTemp: '20.50',
+    //             PRE1_MOT_TotalRunTime: '22.00',
+    //             PRE3_MOT_FrontAxleTemp: '43.10',
+    //             PRE1_CPR_HeadTemp: '92.00',
+    //             PRE1_MOT_PhaseCTempStop: '0',
+    //             PRE3_MOT_BackAxleOverTempAlam: '0',
+    //             PRE2_HostorLoc: '0',
+    //             PRE3_MOT_FrontAxleOverTempStop: '0',
+    //             PRE2_MOT_PhaseBTemp: '64.20',
+    //             PRE3_MOT_PhaseCTempStop: '0',
+    //             PRE3_CPR_HeadTemp: '95.00',
+    //             PRE2_MOT_TotalRunTime: '2802.00',
+    //             PRE1_MOT_BackAxleOverTempAlam: '0',
+    //             PRE2_MOT_BackAxleTemp: '0.00',
+    //             TotalInPipeFlow: '1005.80',
+    //             PRE3_CPR_UnLoadPre: '7.00',
+    //             PRE3_MOT_PhaseCOverTemp: '0',
+    //             PRE1_MOT_PhaseCOverTemp: '0',
+    //             PRE1_MOT_FrontAxleTemp: '0.00',
+    //             PRE2_MOT_PhaseBOverTemp: '0',
+    //             PRE1_MOT_Power: '0.00',
+    //             PRE1_MOT_FrontAxleOverTempStop: '0',
+    //             PRE2_MOT_CtrlMode: '1',
+    //             PRE1_MOT_PhaseCTemp: '82.90',
+    //             TotalOutPipePre: '5.60',
+    //             PRE1_AlarmHistory: '2.00',
+    //             PRE2_MOT_FrontAxleOverTempStop: '0',
+    //             PRE2_CPR_UnLoadPre: '7.00',
+    //             isRun: '-2',
+    //             PRE1_CPR_ExhaustTemp: '56.00',
+    //           },
+    //           readDataDes: null,
+    //           summaryHour: [],
+    //           summaryDay: [],
+    //           history: [],
+    //           dayhistory: [],
+    //           totalInfo: null,
+    //           sign: null,
+    //           cameras: [
+    //             {
+    //               id: '1854452219160690689',
+    //               addr: 'd37096a7d41244a1974bd99b4e2cfe35',
+    //               name: '南压风机房配电室',
+    //               devicekind: 'toHKHLs',
+    //               cameraRate: null,
+    //             },
+    //             {
+    //               id: '1854452329282142210',
+    //               addr: '0f22a6377b084f8bb74435ef9eeff958',
+    //               name: '南压风机',
+    //               devicekind: 'toHKHLs',
+    //               cameraRate: null,
+    //             },
+    //           ],
+    //           links: [],
+    //           other1: null,
+    //           other2: null,
+    //           other3: null,
+    //           remarkInfo: null,
+    //           linkInfo: null,
+    //           addrIndex: null,
+    //           warnLogNotOkCount: 0,
+    //           otherInfo: null,
+    //         },
+    //       ],
+    //       avginfo: {
+    //         warnFlag: {
+    //           value: 0,
+    //         },
+    //       },
+    //       typeName: '压风机',
+    //       type: 'forcFan',
+    //       locallist: [],
+    //     },
+    //   ],
+    // };
 
     if (res.msgTxt[0] && res.msgTxt[0].datalist && res.msgTxt[0].datalist.length > 0) {
       let dataSource;

+ 2 - 2
src/views/vent/monitorManager/nitrogen/nitrogen.data.1.ts

@@ -98,8 +98,8 @@ export async function getMonitorData() {
       return await import('./nitrogen.data.hty');
     default: //默认
       // return await import('./nitrogen.dataCc_2');
-      return await import('./nitrogen.data.hty');
-    // return await import('./nitrogen.data.yjl');
+      // return await import('./nitrogen.data.hty');
+      return await import('./nitrogen.dataTest');
   }
 }
 

+ 211 - 0
src/views/vent/monitorManager/nitrogen/nitrogen.dataTest.ts

@@ -0,0 +1,211 @@
+import { values } from 'xe-utils';
+
+export const monitorDataGroupArr = [[1, 2, 3]];
+export const prefix = ['PRE', 'PRE', 'PRE'];
+export type State = {
+  isRun: boolean;
+  fault: boolean;
+};
+export const preMonitorList = [
+  {
+    title: '加载压力',
+    code: 'PRE_CPR_LoadPre',
+    unit: 'MPa',
+    value: '76.76',
+  },
+  {
+    title: '卸载压力',
+    code: 'PRE_CPR_UnLoadPre',
+    unit: 'MPa',
+    child: [],
+    value: '46.87',
+  },
+  {
+    title: `主机温度`,
+    code: `PRE_HostTemp`,
+    unit: '℃',
+    child: [],
+    value: '58.87',
+  },
+  {
+    title: `冷却温度`,
+    code: `PRE_CPR_CoolantTemp`,
+    unit: '℃',
+    child: [],
+    value: '18.87',
+  },
+  {
+    title: `排气温度`,
+    code: `PRE_CPR_ExhaustTemp`,
+    unit: '℃',
+    child: [],
+    value: '98.94',
+  },
+  {
+    title: '加载时间',
+    code: 'PRE_CPR_LoadTime',
+    unit: 'h',
+    child: [],
+  },
+  {
+    title: '排气压力',
+    code: 'PRE_CPR_ExhaustPre',
+    unit: 'MPa',
+    child: [],
+    value: '19.54',
+  },
+
+  {
+    code: 'signal',
+    child: [
+      {
+        title: `加载卸载`,
+        code: `PRE_CPR_LoadorUnload`,
+        isWaring: false,
+      },
+    ],
+  },
+];
+export const cqgMonitorList = [];
+
+export const preFanMonitorData = [
+  {
+    title: `上位启动`,
+    code: `PRE_HMIStart`,
+    unit: 'signal',
+  },
+  {
+    title: `连接状态`,
+    code: `PRE2_HMIStop`,
+    unit: 'signal',
+  },
+  {
+    title: `上位停止`,
+    code: `PRE_AlamSignal`,
+    unit: 'warning',
+  },
+  {
+    title: `电流过载`,
+    code: `PRE_AlamSignal`,
+    unit: 'warning',
+  },
+  {
+    title: `故障信号`,
+    code: `PRE_FaultSignal`,
+    unit: 'warning',
+  },
+  {
+    title: '加载压力过大',
+    code: 'PRE_MOT_TotalRunTime',
+    unit: 'warning',
+  },
+  {
+    title: 'A相绕组温度',
+    code: 'PRE_MOT_PhaseATemp',
+    unit: '℃',
+    value: '45',
+  },
+  {
+    title: 'B相绕组温度',
+    code: 'PRE_MOT_PhaseBTemp',
+    unit: '℃',
+    value: '52',
+  },
+  {
+    title: 'C相绕组温度',
+    code: 'PRE_MOT_PhaseCTemp',
+    unit: '℃',
+    value: '50',
+  },
+  {
+    title: `A相绕组超温`,
+    code: `PRE_MOT_PhaseATempAlarm`,
+    unit: 'warning',
+  },
+  {
+    title: `B相绕组超温`,
+    code: `PRE_MOT_PhaseBTempAlarm`,
+    unit: 'warning',
+  },
+  {
+    title: `C相绕组超温`,
+    code: `PRE1_MOT_PhaseCTempAlarm`,
+    unit: 'warning',
+  },
+  {
+    title: '电机启动失败',
+    code: 'PRE_MOT_StartFail',
+    unit: 'warning',
+  },
+  {
+    title: '电机停止失败',
+    code: 'PRE_MOT_StopFail',
+    unit: 'warning',
+  },
+  {
+    title: '电流过载',
+    code: 'PRE_MOT_RunReturn',
+    unit: 'warning',
+  },
+  {
+    title: '振动幅度过大',
+    code: 'PRE_MOT_RunReturn',
+    unit: 'warning',
+  },
+];
+export const totalData = [
+  {
+    title: '总出风管流量',
+    code: 'TotalOutPipeFlow',
+    unit: 'm³/h',
+    value: '8435.67',
+  },
+  {
+    title: '总出风管压力',
+    code: 'TotalOutPipePre',
+    unit: 'bar',
+    value: '1435.12',
+  },
+];
+export const totalData1 = [];
+export const btnSet = [
+  {
+    title: '上位启动',
+    code: 'PRE_HMIStart',
+    type: 'btn',
+  },
+  {
+    title: '上位复位',
+    code: 'PRE_HMIReset',
+    type: 'btn',
+  },
+  {
+    title: '上位停止',
+    code: 'PRE_HMIStop',
+    type: 'btn',
+  },
+];
+
+export function getSysState(monitorData) {
+  const stateArr = <State[]>[];
+  monitorDataGroupArr.forEach((group) => {
+    const stateObj = { isRun: false, fault: false };
+    group.forEach((item) => {
+      if (monitorData['PRE_CPR_LoadorUnload'.replace('PRE', 'PRE' + item)]) {
+        stateObj.isRun = monitorData['PRE_CPR_LoadorUnload'.replace('PRE', 'PRE' + item)] == '1';
+      }
+
+      if (
+        monitorData['PRE_FaultSignal'.replace('PRE', 'PRE' + item)] ||
+        monitorData['PRE_FaultSignal1'.replace('PRE', 'PRE' + item)] ||
+        monitorData['PRE_MOT_PhaseAOverTemp'.replace('PRE', 'PRE' + item)] ||
+        monitorData['PRE_MOT_PhaseBOverTemp'.replace('PRE', 'PRE' + item)] ||
+        monitorData['PRE_MOT_PhaseCOverTemp'.replace('PRE', 'PRE' + item)]
+      ) {
+        stateObj.fault = true;
+      }
+    });
+    stateArr.push(stateObj);
+  });
+  return stateArr;
+}

+ 9 - 1
src/views/vent/monitorManager/safetyMonitor/index.vue

@@ -17,6 +17,8 @@
               :is-show-select="false"
               title="设备监测"
               :scroll="{ y: 650 }"
+              :defSort="defSort"
+              sortDataIndex="strinstallpos"
             >
               <template #filterCell="{ column, record }">
                 <template v-if="deviceType.startsWith('safetymonitor')">
@@ -48,6 +50,8 @@
               title="设备监测"
               :form-config="deviceType == 'safetymonitor' && sysOrgCode != 'zjtzqctmk' ? formConfig : undefined"
               :scroll="{ y: 650 }"
+              :defSort="defSort"
+              sortDataIndex="strinstallpos"
             >
               <template #filterCell="{ column, record }">
                 <template v-if="deviceType.startsWith('safetymonitor')">
@@ -231,6 +235,10 @@
   const scroll = {
     y: 360,
   };
+  const defSort = {
+    column: 'strinstallpos',
+    order: 'desc',
+  };
   const monitorTable = ref();
   const historyTable = ref();
   const alarmHistoryTable = ref();
@@ -350,7 +358,7 @@
 
   function updateSubstation() {
     if (subStation.value) {
-      initSubStation({ substationID: subStation.value }).then(() => {
+      initSubStation(subStation.value).then(() => {
         message.success('分站同步完成!');
       });
     } else {

+ 1 - 1
src/views/vent/monitorManager/safetyMonitor/safety.api.ts

@@ -20,7 +20,7 @@ export const list = (params) => defHttp.post({ url: Api.list, params });
 // 分站查询接口
 export const subStationList = (params) => defHttp.get({ url: Api.subStationList, params });
 // 同步分站
-export const initSubStation = (params) => defHttp.post({ url: Api.initSubStation, params });
+export const initSubStation = (data) => defHttp.post({ url: Api.initSubStation, data });
 
 export const safetyList = (params) => defHttp.post({ url: Api.safetyList, params });
 

+ 5 - 50
src/views/vent/monitorManager/windowMonitor/dandaoFcBet.threejs.ts

@@ -165,9 +165,10 @@ class singleWindowBet {
   /* 提取风门序列帧,初始化前后门动画 */
   initAnimation() {
     const meshArr01: THREE.Object3D[] = [];
-    this.group?.children.forEach((obj) => {
+    const ddFc = this.group.getObjectByName('ddFc-bet');
+    ddFc?.children.forEach((obj) => {
       if (obj.type === 'Mesh' && obj.name && obj.name.startsWith('FCshanye')) {
-        obj.rotateOnAxis(new THREE.Vector3(0, 1, 0), 0);
+        obj.rotateOnAxis(new THREE.Vector3(0, 1, 0), 90);
         meshArr01.push(obj);
       }
     });
@@ -182,7 +183,7 @@ class singleWindowBet {
       // 前风窗动画
       this.windowsActionArr.frontWindow.forEach((mesh: THREE.Mesh) => {
         gsap.to(mesh.rotation, {
-          y: THREE.MathUtils.degToRad(rotationParam.frontDeg1),
+          y: THREE.MathUtils.degToRad(90 - rotationParam.frontDeg1),
           duration: (1 / 9) * Math.abs(rotationParam.frontDeg1 - mesh.rotation.y),
           overwrite: true,
         });
@@ -190,7 +191,7 @@ class singleWindowBet {
     } else if (flag === 0) {
       ([...this.windowsActionArr.frontWindow] as THREE.Mesh[]).forEach((mesh) => {
         gsap.to(mesh.rotation, {
-          y: 0,
+          y: THREE.MathUtils.degToRad(90),
           overwrite: true,
         });
       });
@@ -246,52 +247,6 @@ class singleWindowBet {
     }
   }
 
-  async initCamera(dom1?) {
-    const videoPlayer1 = dom1;
-    let monitorPlane: THREE.Mesh | null = null;
-    const canvas = await getTextCanvas(320, 180, '', 'noSinge.png');
-    const textMap = new THREE.CanvasTexture(canvas); // 关键一步
-    const textMaterial = new THREE.MeshBasicMaterial({
-      map: textMap, // 设置纹理贴图
-      transparent: true,
-      side: THREE.DoubleSide, // 这里是双面渲染的意思
-    });
-    textMaterial.blending = THREE.CustomBlending;
-    monitorPlane = this.group?.getObjectByName('noPlayer');
-    if (monitorPlane) {
-      monitorPlane.material = textMaterial;
-    } else {
-      const planeGeometry = new THREE.PlaneGeometry(100, 100); // 平面3维几何体PlaneGeometry
-      monitorPlane = new THREE.Mesh(planeGeometry, textMaterial);
-      textMaterial.dispose();
-      planeGeometry.dispose();
-    }
-    const videoPlayer = this.group.getObjectByName('player1');
-    if (videoPlayer) {
-      this.model.clearMesh(videoPlayer);
-      this.group.remove(videoPlayer);
-    }
-    const noPlayer1 = this.group.getObjectByName('noPlayer1');
-    if (noPlayer1) {
-      this.model.clearMesh(noPlayer1);
-      this.group.remove(noPlayer1);
-    }
-    if (!videoPlayer1 && videoPlayer1 === null) {
-      monitorPlane.name = 'noPlayer1';
-      monitorPlane.scale.set(0.015, 0.007, 0.011);
-      monitorPlane.position.set(4.04, 0.02, -0.46);
-      this.group?.add(monitorPlane);
-    } else if (videoPlayer1) {
-      const mesh = renderVideo(this.group, videoPlayer1, 'player1');
-      if (mesh) {
-        mesh?.scale.set(-0.038, 0.029, 1);
-        mesh?.position.set(-4.302, 0.15, -0.23);
-        mesh.rotation.y = -Math.PI;
-        this.group.add(mesh);
-      }
-    }
-  }
-
   mountedThree() {
     return new Promise((resolve) => {
       this.model.setGLTFModel(['ddFc-bet'], this.group).then(() => {

+ 6 - 19
src/views/vent/monitorManager/windowMonitor/index.vue

@@ -21,38 +21,25 @@
         <div class="row" v-if="Number(selectData.nwindownum) > 1">
           <div v-if="hasPermission('window:AreaControl')" class="button-box" @click="setArea(1)">设定前窗面积</div>
           <div v-if="hasPermission('window:AreaControl')" class="button-box" @click="setArea(2)">设定后窗面积</div>
+          <div v-if="hasPermission('window:showAngle')" class="button-box" @click="setAngle(1)">设定前窗角度</div>
+          <div v-if="hasPermission('window:showAngle')" class="button-box" @click="setAngle(2)">设定后窗角度</div>
           <div v-if="hasPermission('window:gateControl')" class="button-box" @click="playAnimation(1)">打开前门</div>
           <div v-if="hasPermission('window:gateControl')" class="button-box" @click="playAnimation(2)">关闭前门</div>
-          <div v-if="hasPermission('window:fltk')" class="button-box" @click="setArea(7)">前窗自主调控</div>
-          <div v-if="hasPermission('window:fltk')" class="button-box" @click="setArea(8)">后窗自主调控</div>
+          <div v-if="hasPermission('window:ldkz')" class="button-box" @click="setArea(7)">前窗自主调控</div>
+          <div v-if="hasPermission('window:ldkz')" class="button-box" @click="setArea(8)">后窗自主调控</div>
           <!-- 展会功能 -->
           <!-- <div v-if="hasPermission('window:ldkz')" class="button-box" @click="setArea(3)">自主联动控制开启</div>
           <div v-if="hasPermission('window:ldkz')" class="button-box" @click="setArea(4)">自主联动控制停止</div> -->
         </div>
         <div class="row" v-if="Number(selectData.nwindownum) == 1">
           <div v-if="hasPermission('window:AreaControl')" class="button-box" @click="setArea(1)">设定风窗面积</div>
-          <div v-if="hasPermission('window:fltk')" class="button-box" @click="setArea(7)">风窗自主调控</div>
+          <div v-if="hasPermission('window:showAngle')" class="button-box" @click="setAngle(1)">设定风窗角度</div>
+          <div v-if="hasPermission('window:ldkz')" class="button-box" @click="setArea(7)">风窗自主调控</div>
 
           <!-- 展会功能 -->
           <!-- <div v-if="hasPermission('window:ldkz')" class="button-box" @click="setArea(3)">自主联动控制开启</div>
           <div v-if="hasPermission('window:ldkz')" class="button-box" @click="setArea(4)">自主联动控制停止</div> -->
         </div>
-        <div class="row" v-if="Number(selectData.nwindownum) > 1">
-          <div v-if="hasPermission('window:showAngle')" class="button-box" @click="setAngle(1)">设定前窗角度</div>
-          <div v-if="hasPermission('window:showAngle')" class="button-box" @click="setAngle(2)">设定后窗角度</div>
-          <div v-if="hasPermission('window:fltk')" class="button-box" @click="setArea(7)">前窗自主调控</div>
-          <div v-if="hasPermission('window:fltk')" class="button-box" @click="setArea(8)">后窗自主调控</div>
-          <!-- 展会功能 -->
-          <!-- <div v-if="hasPermission('window:ldkz')" class="button-box" @click="setArea(3)">自主联动控制开启</div>
-            <div v-if="hasPermission('window:ldkz')" class="button-box" @click="setArea(4)">自主联动控制停止</div> -->
-        </div>
-        <div class="row" v-if="Number(selectData.nwindownum) == 1">
-          <div v-if="hasPermission('window:showAngle')" class="button-box" @click="setAngle(1)">设定风窗角度</div>
-          <div v-if="hasPermission('window:fltk')" class="button-box" @click="setArea(7)">风窗自主调控</div>
-          <!-- 展会功能 -->
-          <!-- <div v-if="hasPermission('window:ldkz')" class="button-box" @click="setArea(3)">自主联动控制开启</div>
-            <div v-if="hasPermission('window:ldkz')" class="button-box" @click="setArea(4)">自主联动控制停止</div> -->
-        </div>
       </div>
       <div class="top-right row">
         <div v-if="hasPermission('window:controlFull')" class="button-box" @click="setArea(5)">一键全开</div>

+ 1 - 1
src/views/vent/monitorManager/windowMonitor/modal.vue

@@ -85,7 +85,7 @@
   @ventSpace: zxm;
 
   .label {
-    width: 80px;
+    width: 110px;
   }
   .@{ventSpace}-input,
   .@{ventSpace}-input-number {

+ 1 - 0
src/views/vent/monitorManager/windowMonitor/shuangdaoFcBlt.threejs.ts

@@ -178,6 +178,7 @@ class doubleWindow {
   }
 
   play(rotationParam, flag) {
+    debugger;
     if (this.windowsActionArr.frontWindow.length <= 0 || this.windowsActionArr.backWindow.length <= 0) {
       return;
     }

+ 8 - 8
src/views/vent/monitorManager/windowMonitor/window.threejs.ts

@@ -98,18 +98,18 @@ export const addMonitorText = (selectData) => {
 export function computePlay(data, maxarea, isFirst = false) {
   if (windowType === 'doubleWindow' || windowType === 'singleWindow') {
     if (data.OpenDegree || data.OpenDegree1 || data.OpenDegree2) {
-      maxarea = 90;
+      maxarea = 180;
       if (data.OpenDegree) {
-        rotationParam.frontDeg0 = (90 / maxarea) * Number(isFirst ? 0 : data.OpenDegree);
-        rotationParam.frontDeg1 = (90 / maxarea) * Number(data.OpenDegree) || 0;
+        rotationParam.frontDeg0 = (180 / maxarea) * Number(isFirst ? 0 : data.OpenDegree);
+        rotationParam.frontDeg1 = (180 / maxarea) * Number(data.OpenDegree) || 0;
       }
       if (data.OpenDegree1) {
-        rotationParam.frontDeg0 = (90 / maxarea) * Number(isFirst ? 0 : data.OpenDegree1);
-        rotationParam.frontDeg1 = (90 / maxarea) * Number(data.OpenDegree1) || 0;
+        rotationParam.frontDeg0 = (180 / maxarea) * Number(isFirst ? 0 : data.OpenDegree1);
+        rotationParam.frontDeg1 = (180 / maxarea) * Number(data.OpenDegree1) || 0;
       }
       if (data.OpenDegree2) {
-        rotationParam.backDeg0 = (90 / maxarea) * Number(isFirst ? 0 : data.OpenDegree2);
-        rotationParam.backDeg1 = (90 / maxarea) * Number(data.OpenDegree2) || 0;
+        rotationParam.backDeg0 = (180 / maxarea) * Number(isFirst ? 0 : data.OpenDegree2);
+        rotationParam.backDeg1 = (180 / maxarea) * Number(data.OpenDegree2) || 0;
       }
     } else {
       if (!maxarea) maxarea = 90;
@@ -234,7 +234,7 @@ export const setModelType = (type) => {
 
 export const mountedThree = (playerDom) => {
   const { sysOrgCode } = useGlobSetting();
-  // const sysOrgCode = 'sdmtjtswmk';
+  // const sysOrgCode = 'sdmtjtbetmk';
   return new Promise(async (resolve) => {
     model = new UseThree('#window3D');
     if (!model || !model.renderer || !model.camera) return;