Browse Source

1. 新增主风机跳转生产管控平台
2. 风门动画修改
3. 风窗动画调整

hongrunxia 3 months ago
parent
commit
21e9e1ac38

+ 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


+ 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;

+ 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',

+ 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);

+ 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;
   }

+ 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');
   }
 }
 

+ 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 });
 

+ 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 {

+ 7 - 7
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;