hongrunxia пре 1 година
родитељ
комит
c98985dc32

+ 23 - 1
src/utils/echartsUtil.ts

@@ -48,7 +48,7 @@ export default class echartsUtil {
       }
       }
 
 
       series.push(this.getSeries(column, ylist)); //获取每个图表系列的样式
       series.push(this.getSeries(column, ylist)); //获取每个图表系列的样式
-      
+
       if (column.seriesName || column.seriesName == undefined) {
       if (column.seriesName || column.seriesName == undefined) {
         yAxis.push(this.getYAxis(column));
         yAxis.push(this.getYAxis(column));
       }
       }
@@ -132,6 +132,28 @@ export default class echartsUtil {
           show: true,
           show: true,
           color: '#ffffffbb',
           color: '#ffffffbb',
           rotate: rotate,
           rotate: rotate,
+          formatter: function (params) {
+            var newParamsName = '';
+            const paramsNameNumber = params.length;
+            const provideNumber = 10; // 单行显示文字个数
+            const rowNumber = Math.ceil(paramsNameNumber / provideNumber);
+            if (paramsNameNumber > provideNumber) {
+              for (let p = 0; p < rowNumber; p++) {
+                var tempStr = '';
+                var start = p * provideNumber;
+                var end = start + provideNumber;
+                if (p === rowNumber - 1) {
+                  tempStr = params.substring(start, paramsNameNumber);
+                } else {
+                  tempStr = params.substring(start, end) + '\n';
+                }
+                newParamsName += tempStr;
+              }
+            } else {
+              newParamsName = params;
+            }
+            return newParamsName;
+          },
         },
         },
         axisPointer: {
         axisPointer: {
           type: isHasBar > -1 ? 'shadow' : 'line',
           type: isHasBar > -1 ? 'shadow' : 'line',

+ 113 - 42
src/views/vent/monitorManager/comment/DeviceEcharts.vue

@@ -1,6 +1,6 @@
 <template>
 <template>
   <div class="charts-container">
   <div class="charts-container">
-    <a-select ref="select" v-model:value="chartsType" style="position: absolute; z-index: 99; top: 2px; left: 2px; width: 98px">
+    <a-select ref="select" v-model:value="chartsType" size="small" style="position: absolute; z-index: 99; top: 2px; left: 2px; width: 98px">
       <a-select-option value="listMonitor">实时监测</a-select-option>
       <a-select-option value="listMonitor">实时监测</a-select-option>
       <a-select-option value="detail">详情监测</a-select-option>
       <a-select-option value="detail">详情监测</a-select-option>
       <a-select-option value="history">历史记录</a-select-option>
       <a-select-option value="history">历史记录</a-select-option>
@@ -42,31 +42,72 @@
         :fieldNames="{ label: 'strname', value: 'id' }"
         :fieldNames="{ label: 'strname', value: 'id' }"
         v-model:value="deviceId"
         v-model:value="deviceId"
         placeholder="请选择查看的设备"
         placeholder="请选择查看的设备"
+        size="small"
         style="position: absolute; z-index: 99; left: 102px; width: 150px; top: 2px"
         style="position: absolute; z-index: 99; left: 102px; width: 150px; top: 2px"
       />
       />
-      <a-date-picker
-        v-model:value="historyParams.tData"
-        valueFormat="YYYY-MM-DD"
-        placeholder="请选择查询日期"
-        style="position: absolute; z-index: 99; left: 254px; width: 150px; top: 2px"
-      />
-      <a-time-range-picker
-        v-model:value="historyParams.ttime"
-        valueFormat="HH:mm:ss"
-        style="position: absolute; z-index: 99; left: 406px; width: 200px; top: 2px"
-      />
-      <a-select
-        ref="select"
-        v-model:value="historyParams.skip"
-        placeholder="请选择间隔时间"
-        style="position: absolute; z-index: 99; top: 2px; left: 608px; width: 150px"
-      >
-        <a-select-option value="1">5秒</a-select-option>
-        <a-select-option value="2">10秒</a-select-option>
-        <a-select-option value="3">1分钟</a-select-option>
-        <a-select-option value="4">5分钟</a-select-option>
-        <a-select-option value="5">10分钟</a-select-option>
-      </a-select>
+      <template v-if="globalConfig.History_Type == 'vent'">
+        <a-date-picker
+          v-model:value="historyParams.tData"
+          valueFormat="YYYY-MM-DD"
+          placeholder="请选择查询日期"
+          size="small"
+          style="position: absolute; z-index: 99; left: 254px; width: 150px; top: 2px"
+        />
+        <a-time-range-picker
+          v-model:value="historyParams.ttime"
+          valueFormat="HH:mm:ss"
+          size="small"
+          style="position: absolute; z-index: 99; left: 406px; width: 200px; top: 2px"
+        />
+        <a-select
+          ref="select"
+          v-model:value="historyParams.skip"
+          placeholder="请选择间隔时间"
+          size="small"
+          style="position: absolute; z-index: 99; top: 2px; left: 608px; width: 150px"
+        >
+          <a-select-option value="1">5秒</a-select-option>
+          <a-select-option value="2">10秒</a-select-option>
+          <a-select-option value="3">30秒</a-select-option>
+          <a-select-option value="4">1分钟</a-select-option>
+          <a-select-option value="5">5分钟</a-select-option>
+          <a-select-option value="6">10分钟</a-select-option>
+          <a-select-option value="7">30分钟</a-select-option>
+          <a-select-option value="8">1小时</a-select-option>
+        </a-select>
+      </template>
+      <template v-else>
+        <a-date-picker
+          v-model:value="historyParams.startTime"
+          valueFormat="YYYY-MM-DD HH:mm:ss"
+          placeholder="开始时间"
+          size="small"
+          style="position: absolute; z-index: 99; left: 254px; width: 150px; top: 2px"
+        />
+        <a-date-picker
+          v-model:value="historyParams.endTime"
+          valueFormat="YYYY-MM-DD HH:mm:ss"
+          placeholder="结束时间"
+          size="small"
+          style="position: absolute; z-index: 99; left: 406px; width: 150px; top: 2px"
+        />
+        <a-select
+          ref="select"
+          v-model:value="historyParams.interval"
+          placeholder="请选择间隔时间"
+          size="small"
+          style="position: absolute; z-index: 99; top: 2px; left: 558px; width: 150px"
+        >
+          <a-select-option value="1s">1秒</a-select-option>
+          <a-select-option value="5s">5秒</a-select-option>
+          <a-select-option value="10s">10秒</a-select-option>
+          <a-select-option value="30s">30秒</a-select-option>
+          <a-select-option value="1m">1分钟</a-select-option>
+          <a-select-option value="10m">5分钟</a-select-option>
+          <a-select-option value="30m">10分钟</a-select-option>
+          <a-select-option value="1h">1小时</a-select-option>
+        </a-select>
+      </template>
       <Pagination
       <Pagination
         size="small"
         size="small"
         v-model:current="currentPage"
         v-model:current="currentPage"
@@ -89,11 +130,13 @@
   </div>
   </div>
 </template>
 </template>
 <script lang="ts">
 <script lang="ts">
-  import { ref, defineComponent, watch, reactive, onMounted, watchEffect } from 'vue';
+  import { ref, defineComponent, watch, reactive, onMounted, watchEffect, inject  } from 'vue';
   import BarAndLine from '/@/components/chart/BarAndLine.vue';
   import BarAndLine from '/@/components/chart/BarAndLine.vue';
   import dayjs from 'dayjs';
   import dayjs from 'dayjs';
   import { defHttp } from '/@/utils/http/axios';
   import { defHttp } from '/@/utils/http/axios';
   import { Select, Pagination } from 'ant-design-vue';
   import { Select, Pagination } from 'ant-design-vue';
+
+
   export default defineComponent({
   export default defineComponent({
     name: 'DeviceEcharts',
     name: 'DeviceEcharts',
     components: { BarAndLine, Select, Pagination },
     components: { BarAndLine, Select, Pagination },
@@ -128,16 +171,26 @@
       },
       },
     },
     },
     setup(props) {
     setup(props) {
-      const historyList = (params) => defHttp.get({ url: '/safety/ventanalyMonitorData/list', params });
+      const globalConfig = inject('globalConfig');
+      let historyList
+      if(globalConfig.History_Type == 'vent'){
+        historyList = (params) => defHttp.get({ url: '/safety/ventanalyMonitorData/list', params });
+      }else{
+        historyList = (params) => defHttp.post({ url: '/ventanaly-device/history/getHistoryData', params });
+      }
       const chartsType = ref('listMonitor');
       const chartsType = ref('listMonitor');
       const deviceId = ref('');
       const deviceId = ref('');
       const options = ref([]);
       const options = ref([]);
-      const historyParams = reactive({
+      const historyParams = reactive(History_Type == 'vent'?{
         tData: dayjs(),
         tData: dayjs(),
         ttime: ['', ''],
         ttime: ['', ''],
-        ttime_begin: null,
-        ttime_end: null,
-        skip: null,
+        ttime_begin: dayjs.startOf('date')('HH:mm:ss'),
+        ttime_end: dayjs('HH:mm:ss'),
+        skip: '1',
+      }: {
+        startTime: dayjs().startOf('date'),
+        endTime: dayjs(),
+        interval: '10s'
       });
       });
       const resultXAxisPropType = ref('');
       const resultXAxisPropType = ref('');
       const resultDataSource = ref<any[]>([]);
       const resultDataSource = ref<any[]>([]);
@@ -199,23 +252,40 @@
             // 实时监测所有
             // 实时监测所有
             resultDataSource.value = props.dataSource;
             resultDataSource.value = props.dataSource;
           } else if (newChartsType === 'history') {
           } else if (newChartsType === 'history') {
+            debugger
             // 历史
             // 历史
             resultXAxisPropType.value = 'gcreatetime';
             resultXAxisPropType.value = 'gcreatetime';
             if (newChartsType !== oldChartsType || newDeviceId !== oldDeviceId) {
             if (newChartsType !== oldChartsType || newDeviceId !== oldDeviceId) {
               currentPage.value = 1;
               currentPage.value = 1;
             }
             }
-            const res = await historyList({
-              ttime_begin: historyParams.ttime[0] ? historyParams.ttime[0] : null,
-              ttime_end: historyParams.ttime[1] ? historyParams.ttime[1] : null,
-              tData: dayjs(historyParams.tData).format('YYYY-MM-DD'),
-              strtype: props.deviceType + '*',
-              gdeviceid: newDeviceId,
-              skip: historyParams.skip,
-              pageSize: pageSize.value,
-              pageNo: currentPage.value,
-            });
-            resultDataSource.value = res.datalist.records.map((item) => Object.assign(item, item.readData));
-            total.value = res.datalist.total;
+            let res;
+            if(globalConfig.History_Type == 'vent'){
+              resultXAxisPropType.value = 'gcreatetime';
+              res = await historyList({
+                ttime_begin: historyParams.ttime[0] ? historyParams.ttime[0] : null,
+                ttime_end: historyParams.ttime[1] ? historyParams.ttime[1] : null,
+                tData: dayjs(historyParams.tData).format('YYYY-MM-DD'),
+                strtype: props.deviceType + '*',
+                gdeviceid: newDeviceId,
+                skip: historyParams.skip,
+                pageSize: pageSize.value,
+                pageNo: currentPage.value,
+              });
+            }else{
+              resultXAxisPropType.value = 'time';
+              res = await historyList({
+                startTime: historyParams.startTime,
+                endTime: historyParams.endTime,
+                deviceId: newDeviceId,
+                interval: historyParams.interval,
+              });
+            }
+            if(res.records && res.records.length > 0){
+              resultDataSource.value = res.records.map((item) => Object.assign(item, item.readData));
+            }else{
+              resultDataSource.value = []
+            }
+            total.value = res.total;
           } else if (newChartsType === 'detail') {
           } else if (newChartsType === 'detail') {
             // 设备详情
             // 设备详情
             resultXAxisPropType.value = 'readTime';
             resultXAxisPropType.value = 'readTime';
@@ -265,6 +335,7 @@
         echartsOption1,
         echartsOption1,
         echartsOption2,
         echartsOption2,
         onChange,
         onChange,
+        globalConfig
       };
       };
     },
     },
   });
   });

+ 3 - 3
src/views/vent/monitorManager/fanLocalMonitor/index.vue

@@ -52,10 +52,10 @@
       </div>
       </div>
     </div>
     </div>
     <div class="title-text">
     <div class="title-text">
-      {{ selectData.stationname }}
+      {{ selectData.supplyAirAddr||selectData.stationname }}
     </div>
     </div>
     <div class="data-show-box" v-if="!loading">
     <div class="data-show-box" v-if="!loading">
-      <div class="data-item" v-if="leftColumns.length > 0">
+      <div class="data-item">
         <div class="item-header">设备状态</div>
         <div class="item-header">设备状态</div>
         <div class="item-container">
         <div class="item-container">
           <div class="tab">
           <div class="tab">
@@ -138,7 +138,7 @@
           </div>
           </div>
         </div>
         </div>
       </div>
       </div>
-      <div class="data-item" v-if="rightColumns.length > 0"> 
+      <div class="data-item"> 
           <div class="item-header">环境监测</div>
           <div class="item-header">环境监测</div>
           <div class="item-container">
           <div class="item-container">
             <div class="tab">
             <div class="tab">

+ 2 - 1
src/views/vent/monitorManager/gasPumpMonitor/components/gasPumpHome.vue

@@ -29,7 +29,8 @@
                 <div class="parameter-title group-parameter-title"><SvgIcon class="icon" size="14" name="pulp-title"/><span>{{ key }}#抽采泵</span></div>
                 <div class="parameter-title group-parameter-title"><SvgIcon class="icon" size="14" name="pulp-title"/><span>{{ key }}#抽采泵</span></div>
                 <div class="input-box">
                 <div class="input-box">
                   <div v-for="(item, index) in pumpMonitorData" class="input-item" :key="index">
                   <div v-for="(item, index) in pumpMonitorData" class="input-item" :key="index">
-                    <template v-if="selectData[item.code.replace('CentrifugalPump', `CentrifugalPump${key}`)] != undefined">
+                    <!-- <template v-if="selectData[item.code.replace('CentrifugalPump', `CentrifugalPump${key}`)] != undefined"> -->
+                    <template>
                       <div class="title">{{ item.title }}:</div>
                       <div class="title">{{ item.title }}:</div>
                       <template v-if="item.type !== 'sign'">
                       <template v-if="item.type !== 'sign'">
                         <div class="value">{{ selectData && selectData[item.code.replace('CentrifugalPump', `CentrifugalPump${key}`)] ? formatNum(selectData[item.code.replace('CentrifugalPump', `CentrifugalPump${key}`)]) : '-' }}</div>
                         <div class="value">{{ selectData && selectData[item.code.replace('CentrifugalPump', `CentrifugalPump${key}`)] ? formatNum(selectData[item.code.replace('CentrifugalPump', `CentrifugalPump${key}`)]) : '-' }}</div>

+ 18 - 2
src/views/vent/monitorManager/gateMonitor/index.vue

@@ -46,13 +46,13 @@
       </div>
       </div>
     </div>
     </div>
     <div class="title-text">
     <div class="title-text">
-      {{ selectData.strname }}
+      {{ selectData.supplyAirAddr || selectData.stationname || selectData.strname }}
     </div>
     </div>
     <div class="bottom-tabs-box" @mousedown="setDivHeight($event, 350, scroll)">
     <div class="bottom-tabs-box" @mousedown="setDivHeight($event, 350, scroll)">
       <dv-border-box8 :dur="5" :style="`padding: 5px; height: ${scroll.y + 120}px`">
       <dv-border-box8 :dur="5" :style="`padding: 5px; height: ${scroll.y + 120}px`">
         <a-tabs class="tabs-box" v-model:activeKey="activeKey" @change="tabChange">
         <a-tabs class="tabs-box" v-model:activeKey="activeKey" @change="tabChange">
           <a-tab-pane key="1" tab="实时监测">
           <a-tab-pane key="1" tab="实时监测">
-            <MonitorTable v-if="activeKey === '1'" ref="MonitorDataTable" class="monitor-table" columnsType="gate_monitor"
+            <MonitorTable v-if="activeKey === '1'" ref="MonitorDataTable" class="monitor-table" columnsType="gate_monitor" :isShowActionColumn="true"
               :dataSource="dataSource" design-scope="gate-monitor" @selectRow="getSelectRow" :scroll="{ y: scroll.y - 40 }" title="风门监测"
               :dataSource="dataSource" design-scope="gate-monitor" @selectRow="getSelectRow" :scroll="{ y: scroll.y - 40 }" title="风门监测"
               :isShowPagination="true">
               :isShowPagination="true">
               <template #filterCell="{ column, record }">
               <template #filterCell="{ column, record }">
@@ -116,6 +116,10 @@
                 }}</a-tag>
                 }}</a-tag>
                 
                 
               </template>
               </template>
+              <template #action="{ record }">
+                <a class="table-action-link" @click="deviceEdit($event, 'reportInfo', record)">报表录入</a>
+                <a class="table-action-link" @click="deviceEdit($event, 'deviceInfo', record)">设备编辑</a>
+              </template>
             </MonitorTable>
             </MonitorTable>
           </a-tab-pane>
           </a-tab-pane>
           <a-tab-pane key="2" tab="实时曲线图" force-render>
           <a-tab-pane key="2" tab="实时曲线图" force-render>
@@ -151,6 +155,7 @@
   <LivePlayer id="fm-player1" style="height: 220px; width: 300px; position: absolute; top: 0px; z-index: -1;" ref="player1" :videoUrl="flvURL1()" muted live loading controls />
   <LivePlayer id="fm-player1" style="height: 220px; width: 300px; position: absolute; top: 0px; z-index: -1;" ref="player1" :videoUrl="flvURL1()" muted live loading controls />
   <HandleModal v-if="!globalConfig?.simulatedPassword" :modal-is-show="modalIsShow" :modal-title="modalTitle" :modal-type="modalType" @handle-ok="handleOK"
   <HandleModal v-if="!globalConfig?.simulatedPassword" :modal-is-show="modalIsShow" :modal-title="modalTitle" :modal-type="modalType" @handle-ok="handleOK"
     @handle-cancel="handleCancel" />
     @handle-cancel="handleCancel" />
+  <DeviceBaseInfo @register="registerModal" :device-type="selectData['deviceType']"/>
 </template>
 </template>
 
 
 <script setup lang="ts">
 <script setup lang="ts">
@@ -161,6 +166,7 @@ import HistoryTable from '../comment/HistoryTable.vue';
 import AlarmHistoryTable from '../comment/AlarmHistoryTable.vue';
 import AlarmHistoryTable from '../comment/AlarmHistoryTable.vue';
 import HandlerHistoryTable from '../comment/HandlerHistoryTable.vue';
 import HandlerHistoryTable from '../comment/HandlerHistoryTable.vue';
 import HandleModal from './modal.vue';
 import HandleModal from './modal.vue';
+import DeviceBaseInfo from '../comment/components/DeviceBaseInfo.vue';
 import { mountedThree, addMonitorText, play, destroy, setModelType, initCameraCanvas } from './gate.threejs';
 import { mountedThree, addMonitorText, play, destroy, setModelType, initCameraCanvas } from './gate.threejs';
 import { deviceControlApi } from '/@/api/vent/index';
 import { deviceControlApi } from '/@/api/vent/index';
 import { message } from 'ant-design-vue';
 import { message } from 'ant-design-vue';
@@ -172,6 +178,8 @@ import { BorderBox8 as DvBorderBox8 } from '@kjgl77/datav-vue3';
 import { useRouter } from 'vue-router';
 import { useRouter } from 'vue-router';
 import { deviceCameraInit } from '/@/utils/ventutil.ts'
 import { deviceCameraInit } from '/@/utils/ventutil.ts'
 import LivePlayer from '@liveqing/liveplayer-v3';
 import LivePlayer from '@liveqing/liveplayer-v3';
+import { useModal } from '/@/components/Modal';
+
 
 
 const globalConfig = inject('globalConfig');
 const globalConfig = inject('globalConfig');
 
 
@@ -200,6 +208,7 @@ const dataSource = ref([]);
 
 
 const deviceBaseList = ref([]); // 设备基本信息
 const deviceBaseList = ref([]); // 设备基本信息
 let webRtcServer: any[] = []
 let webRtcServer: any[] = []
+const [registerModal, { openModal, closeModal }] = useModal();
 
 
 const tabChange = (activeKeyVal) => {
 const tabChange = (activeKeyVal) => {
   activeKey.value = activeKeyVal;
   activeKey.value = activeKeyVal;
@@ -238,6 +247,13 @@ const flvURL1 = () => {
   return `/video/gate.mp4`;
   return `/video/gate.mp4`;
 };
 };
 
 
+function deviceEdit(e: Event, type: string, record) {
+  e.stopPropagation()
+  openModal(true, {
+    type,
+    deviceId: record['deviceID']
+  })
+}
 // 获取设备基本信息列表
 // 获取设备基本信息列表
 function getDeviceBaseList() {
 function getDeviceBaseList() {
   getTableList({ pageSize: 1000 }).then((res) => {
   getTableList({ pageSize: 1000 }).then((res) => {

+ 197 - 7
src/views/vent/monitorManager/nitrogen/components/nitrogenHome.vue

@@ -3,7 +3,7 @@
     <div v-show="monitorDataGroupFlag == 1" id="compressorCss3D"  class="threejs-Object-CSS compressorCss3D-box"
     <div v-show="monitorDataGroupFlag == 1" id="compressorCss3D"  class="threejs-Object-CSS compressorCss3D-box"
         style="width: 100%; height: 100%; position: absolute; pointer-events: none; overflow: hidden; z-index: 2; top: 0px; left: 0px">
         style="width: 100%; height: 100%; position: absolute; pointer-events: none; overflow: hidden; z-index: 2; top: 0px; left: 0px">
         <!-- <a-spin :spinning="loading" /> -->
         <!-- <a-spin :spinning="loading" /> -->
-        <div  v-for="(groupNum, index) in monitorDataGroupNum" :key="index" class="modal-monitor">
+        <div  v-for="(groupNum, index) in monitorDataGroupNum1" :key="index" class="modal-monitor">
           <fourBorderBg :class="`kyj${groupNum}`" :id="`nitrogenMonitor${groupNum}`">
           <fourBorderBg :class="`kyj${groupNum}`" :id="`nitrogenMonitor${groupNum}`">
             <div class="title">{{ groupNum }}号空压机 </div>
             <div class="title">{{ groupNum }}号空压机 </div>
             <div class="monitor-item">
             <div class="monitor-item">
@@ -49,11 +49,59 @@
           </fourBorderBg>
           </fourBorderBg>
         </div>
         </div>
     </div>
     </div>
+    <div v-show="monitorDataGroupFlag == 2" id="compressorCss3D1" class="threejs-Object-CSS compressorCss3D-box"
+        style="width: 100%; height: 100%; position: absolute; pointer-events: none; overflow: hidden; z-index: 3; top: 0px; left: 0px">
+        <div  v-for="(groupNum, index) in monitorDataGroupNum2" :key="index" class="modal-monitor">
+            <fourBorderBg :class="`kyj${groupNum}`" :id="`nitrogenMonitor${groupNum}`">
+              <div class="title">{{ groupNum }}号空压机 </div>
+              <div class="monitor-item">
+                <span class="monitor-title">机头温度:</span>
+                <span class="monitor-val"><span class="val">{{ monitorData[`PRE${groupNum}_CPR_HeadTemp`] ?
+                  monitorData[`PRE${groupNum}_CPR_HeadTemp`] : '-' }}</span><span class="unit"></span>℃</span>
+              </div>
+              <div class="monitor-item">
+                <span class="monitor-title">冷却温度:</span>
+                <span class="monitor-val"><span class="val">{{ monitorData[`PRE${groupNum}_CPR_CoolantTemp`] ?
+                  monitorData[`PRE${groupNum}_CPR_CoolantTemp`] : '-' }}</span><span class="unit">℃</span></span>
+              </div>
+              <div class="monitor-item">
+                <span class="monitor-title">排气温度:</span>
+                <span class="monitor-val"><span class="val">{{ monitorData[`PRE${groupNum}_CPR_ExhaustTemp`] ? monitorData[`PRE${groupNum}_CPR_ExhaustTemp`] : '-' }}</span><span class="unit">℃</span></span>
+              </div>
+              <div class="signal-item">
+                <div class="signal"><span class="monitor-title">运行信号</span><span
+                    :class="{ 'signal-round': true, 'signal-round-run': monitorData[`PRE${groupNum}_MOT_Running`] == '1', 'signal-round-gry': monitorData[`PRE${groupNum}_MOT_Running`] != '1' }"></span>
+                </div>
+                <div class="signal"><span class="monitor-title">故障信号</span><span
+                    :class="{ 'signal-round': true, 'signal-round-warning': monitorData[`PRE${groupNum}_MOT_Fault`] == '1', 'signal-round-gry': monitorData[`PRE${groupNum}_MOT_Fault`] != '1' }"></span>
+                </div>
+              </div>
+            </fourBorderBg>
+            <fourBorderBg :class="`cqg${groupNum}`" :id="`cqgMonitor${groupNum}`">
+              <div class="title">{{ groupNum }}号储气罐 </div>
+              <div class="monitor-item">
+                <span class="monitor-title">气囊温度:</span>
+                <span class="monitor-val"><span class="val">{{ monitorData[`PRE${groupNum}_VLS_Temp`] ?
+                  monitorData[`PRE${groupNum}_VLS_Temp`] : '-' }}</span><span class="unit">℃</span></span>
+              </div>
+              <!-- <div class="monitor-item">
+              <span class="monitor-title">气囊压力<span class="unit"></span>:</span>
+              <span class="monitor-val"><span class="val">{{ monitorData[groupNum - 1] && monitorData[groupNum - 1]['airReceiverPress'] ?
+                monitorData[groupNum - 1]['airReceiverPress'] : '-' }}</span><span class="unit">Mpa</span></span>
+            </div>
+            <div class="monitor-item">
+              <span class="monitor-title">气囊流量<span class="unit"></span>:</span>
+              <span class="monitor-val"><span class="val">{{ monitorData[groupNum - 1] && monitorData[groupNum - 1]['airReceiverFlow'] ?
+                monitorData[groupNum - 1]['airReceiverFlow'] : '-' }}</span><span class="unit">m³/k</span></span>
+            </div> -->
+            </fourBorderBg>
+          </div>
+    </div>
     <div class="nitrogen-home">
     <div class="nitrogen-home">
-      <!-- <div style="position: absolute; color: #fff; top: 30px; pointer-events: auto; display: flex;">
+      <div style="position: absolute; color: #fff; top: 30px; pointer-events: auto; display: flex;">
         <span class="tab-button-box" :class="{'tab-button-box-active': monitorDataGroupFlag == 1}" @click="setMonitorGroupNum(monitorDataGroupNum1, 1)">压风系统1</span>
         <span class="tab-button-box" :class="{'tab-button-box-active': monitorDataGroupFlag == 1}" @click="setMonitorGroupNum(monitorDataGroupNum1, 1)">压风系统1</span>
         <span class="tab-button-box" :class="{ 'tab-button-box-active': monitorDataGroupFlag == 2 }" @click="setMonitorGroupNum(monitorDataGroupNum2, 2)">压风系统2</span>
         <span class="tab-button-box" :class="{ 'tab-button-box-active': monitorDataGroupFlag == 2 }" @click="setMonitorGroupNum(monitorDataGroupNum2, 2)">压风系统2</span>
-      </div> -->
+      </div>
       <div class="total-data">
       <div class="total-data">
         <div class="item">总流量(m³/min):<span class="val">{{ monitorData[`PreSys_TotalOutPipeFlow${monitorDataGroupFlag}`] ? monitorData[`PreSys_TotalOutPipeFlow${monitorDataGroupFlag}`] : '-' }}</span></div>
         <div class="item">总流量(m³/min):<span class="val">{{ monitorData[`PreSys_TotalOutPipeFlow${monitorDataGroupFlag}`] ? monitorData[`PreSys_TotalOutPipeFlow${monitorDataGroupFlag}`] : '-' }}</span></div>
         <div class="item">总压力(bar):<span class="val">{{ monitorData[`PreSys_TotalOutPipePre${monitorDataGroupFlag}`] ? monitorData[`PreSys_TotalOutPipePre${monitorDataGroupFlag}`] : '-' }}</span></div>
         <div class="item">总压力(bar):<span class="val">{{ monitorData[`PreSys_TotalOutPipePre${monitorDataGroupFlag}`] ? monitorData[`PreSys_TotalOutPipePre${monitorDataGroupFlag}`] : '-' }}</span></div>
@@ -161,10 +209,10 @@ import fourBorderBg from '../../../comment/components/fourBorderBg.vue'
 import { mountedThree, destroy, setModelType, clearCssText } from '../nitrogen.threejs'
 import { mountedThree, destroy, setModelType, clearCssText } from '../nitrogen.threejs'
 import { list } from '../nitrogen.api'
 import { list } from '../nitrogen.api'
 import ventBox1 from '/@/components/vent/ventBox1.vue'
 import ventBox1 from '/@/components/vent/ventBox1.vue'
-import { monitorDataGroupNum1, monitorDataGroupNum2, monitorDataGroupNum3, airCompressorState, showMonitorData, monitorData } from '../nitrogen.data'
+import { monitorDataGroupNum1, monitorDataGroupNum2, airCompressorState, showMonitorData, monitorData } from '../nitrogen.data'
 
 
 const loading = ref(true)
 const loading = ref(true)
-const monitorDataGroupNum = ref(4)
+const monitorDataGroupNum = ref(monitorDataGroupNum1)
 const monitorDataGroupFlag = ref(1)
 const monitorDataGroupFlag = ref(1)
 const kyjs = ['1号空压机', '2号空压机', '3号空压机', '4号空压机'];
 const kyjs = ['1号空压机', '2号空压机', '3号空压机', '4号空压机'];
 const cqgs = ['1号储气罐', '2号储气罐', '3号储气罐', '4号储气罐'];
 const cqgs = ['1号储气罐', '2号储气罐', '3号储气罐', '4号储气罐'];
@@ -178,7 +226,7 @@ async function getMonitor(flag?) {
       if (timer) {
       if (timer) {
         timer = null;
         timer = null;
       }
       }
-      await getMonitor(false);
+      await getMonitor();
     }, flag ? 0 : 1000);
     }, flag ? 0 : 1000);
   }
   }
 };
 };
@@ -186,6 +234,142 @@ async function getMonitor(flag?) {
 async function getDataSource() {
 async function getDataSource() {
   const res = await list({ devicetype: 'forcFan', pagetype: 'normal' });
   const res = await list({ devicetype: 'forcFan', pagetype: 'normal' });
   let dataSource = res.msgTxt[0].datalist[0];
   let dataSource = res.msgTxt[0].datalist[0];
+  // dataSource =  
+  //   {
+  //     "msgType": null,
+  //     "deviceID": "1705212847586627592",
+  //     "strname": "压风机系统",
+  //     "strinstallpos": "压风机系统",
+  //     "fsectarea": "null",
+  //     "stationname": "压风机系统分站",
+  //     "deviceType": "forcFan",
+  //     "typeName": null,
+  //     "netStatus": 1,
+  //     "warnFlag": 0,
+  //     "warnLevel": null,
+  //     "warnLevel_str": null,
+  //     "warnTime": null,
+  //     "readTime": "2023-10-24 08:47:27",
+  //     "warnDes": "",
+  //     "frontGateOpenCtrl": null,
+  //     "rearGateOpenCtrl": null,
+  //     "readData": {
+  //       "PRE1_MOT_PhaseATemp": "526",
+  //       "PRE3_CPR_CoolantTemp": "12",
+  //       "PRE4_CPR_HeadTemp": "13",
+  //       "PRE2_MOT_PhaseATempAlarm": "0",
+  //       "PRE5_MOT_Fault": "0",
+  //       "PRE4_MOT_PhaseATempStop": "0",
+  //       "PRE4_CPR_LoadPre": "65",
+  //       "PRE5_CPR_LoadPre": "62",
+  //       "PRE4_MOT_CtrlMode": "1",
+  //       "PRE2_CPR_LoadorUnload": "1",
+  //       "PRE3_MOT_PhaseBTemp": "133",
+  //       "PRE1_CPR_ExhaustPre": "66",
+  //       "PRE1_MOT_PhaseATempAlarm": "0",
+  //       "PRE5_CPR_UnLoadPre": "69",
+  //       "PRE4_MOT_PhaseATemp": "129",
+  //       "PRE5_MOT_PhaseCTemp": "685",
+  //       "PRE5_MOT_PhaseATemp": "681",
+  //       "PRE5_VLS_Temp": "590",
+  //       "PRE1_CPR_LoadTime": "8344",
+  //       "PRE2_CPR_LoadTime": "5553",
+  //       "PRE4_CPR_LoadorUnload": "0",
+  //       "PRE5_MOT_PhaseATempAlarm": "0",
+  //       "PRE3_CPR_LoadTime": "4511",
+  //       "PRE5_CPR_LoadTime": "6032",
+  //       "PRE1_MOT_PhaseATempStop": "0",
+  //       "PRE2_MOT_CompProtFault": "0",
+  //       "PRE5_MOT_PhaseATempStop": "0",
+  //       "PRE3_MOT_PhaseATempStop": "0",
+  //       "PRE1_VLS_Temp": "436",
+  //       "PRE2_CPR_ExhaustPre": "71",
+  //       "PRE5_MOT_CtrlMode": "1",
+  //       "PRE3_CPR_ExhaustTemp": "10",
+  //       "PRE3_MOT_TotalRunTime": "5342",
+  //       "P RE2_MOT_PhaseATemp": "541",
+  //       "PRE4_MOT_PhaseCTemp": "130",
+  //       "PRE4_MOT_PhaseATempAlarm": "0",
+  //       "timestamp": "1698108447720",
+  //       "PRE3_VLS_Temp": "219",
+  //       "PRE1_HostorLoc": "0",
+  //       "PRE2_MOT_Running": "1",
+  //       "PRE1_CPR_LoadPre": "65",
+  //       "PRE1_MOT_Running": "1",
+  //       "PRE4_MOT_Fault": "0",
+  //       "PRE2_CPR_LoadPre": "65",
+  //       "PRE3_MOT_Running": "0",
+  //       "PRE4_MOT_Running": "0",
+  //       "PRE3_CPR_LoadPre": "65",
+  //       "PRE1_MOT_CtrlMode": "1",
+  //       "PRE3_MOT_CtrlMode": "1",
+  //       "PRE3_CPR_LoadorUnload": "0",
+  //       "PRE2_MOT_PhaseCTemp": "550",
+  //       "PRE1_CPR_CoolantTemp": "71",
+  //       "PRE1_MOT_PhaseBTemp": "539",
+  //       "PRE3_MOT_PhaseATempAlarm": "0",
+  //       "PRE5_MOT_Running": "1",
+  //       "PRE1_MOT_Fault": "0",
+  //       "PRE4_CPR_ExhaustPre": "66",
+  //       "PRE4_CPR_CoolantTemp": "12",
+  //       "PRE5_CPR_ExhaustTemp": "76",
+  //       "PRE2_CPR_HeadTemp": "89",
+  //       "PRE3_MOT_PhaseCTemp": "135",
+  //       "PRE4_CPR_LoadTime": "5084",
+  //       "sign": "0",
+  //       "PRE1_CPR_UnLoadPre": "72",
+  //       "PRE4_HostorLoc": "0",
+  //       "PRE4_MOT_CompProtFault": "0",
+  //       "PRE1_CPR_LoadorUnload": "1",
+  //       "PRE3_CPR_ExhaustPre": "68",
+  //       "PRE2_CPR_ExhaustTemp": "77",
+  //       "PRE2_MOT_PhaseATempStop": "0",
+  //       "PRE5_MOT_CompProtFault": "0",
+  //       "PRE2_MOT_Fault": "0",
+  //       "PRE5_MOT_PhaseBTemp": "676",
+  //       "PRE3_MOT_PhaseATemp": "134",
+  //       "PRE4_MOT_PhaseBTemp": "130",
+  //       "PRE2_CPR_CoolantTemp": "66",
+  //       "PRE3_HostorLoc": "0",
+  //       "PRE4_MOT_TotalRunTime": "5104",
+  //       "PRE1_MOT_TotalRunTime": "8416",
+  //       "PRE3_MOT_CompProtFault": "0",
+  //       "PRE3_MOT_Fault": "0",
+  //       "PRE4_CPR_UnLoadPre": "72",
+  //       "PRE1_CPR_HeadTemp": "97",
+  //       "PRE2_HostorLoc": "0",
+  //       "PRE2_MOT_PhaseBTemp": "562",
+  //       "PRE3_CPR_HeadTemp": "13",
+  //       "PRE2_MOT_TotalRunTime": "5586",
+  //       "PRE5_CPR_HeadTemp": "95",
+  //       "PRE3_CPR_UnLoadPre": "72",
+  //       "PRE4_VLS_Temp": "166",
+  //       "PRE5_CPR_CoolantTemp": "70",
+  //       "PRE1_MOT_CompProtFault": "0",
+  //       "PRE5_MOT_TotalRunTime": "7825",
+  //       "PRE2_MOT_CtrlMode": "1",
+  //       "PRE5_CPR_ExhaustPre": "68",
+  //       "PRE1_MOT_PhaseCTemp": "544",
+  //       "PRE5_CPR_LoadorUnload": "1",
+  //       "PRE2_CPR_UnLoadPre": "72",
+  //       "PRE4_CPR_ExhaustTemp": "11",
+  //       "PRE2_VLS_Temp": "445",
+  //       "isRun": "-2",
+  //       "PRE5_HostorLoc": "0",
+  //       "PRE1_CPR_ExhaustTemp": "68"
+  //     },
+  //     "readDataDes": null,
+  //     "summaryHour": [],
+  //     "summaryDay": [],
+  //     "history": [],
+  //     "totalInfo": null,
+  //     "sign": null,
+  //     "cameras": [],
+  //     "links": [],
+  //     "other1": null,
+  //     "other2": null,
+  //     "other3": null
+  //   }
   if(dataSource){
   if(dataSource){
     monitorData.value = Object.assign(dataSource, dataSource.readData);
     monitorData.value = Object.assign(dataSource, dataSource.readData);
   }
   }
@@ -202,6 +386,12 @@ async function getDataSource() {
   loading.value = false
   loading.value = false
 };
 };
 
 
+function setMonitorGroupNum(num, flag){
+  
+  monitorDataGroupNum.value = num
+  monitorDataGroupFlag.value = flag
+}
+
 function handlerDevice(data) {
 function handlerDevice(data) {
   // if (data.length < 1) return
   // if (data.length < 1) return
   // handleAirCompressor({ id: data.id, compressRunF1: data.compressRunSigF1 }).then(res => {
   // handleAirCompressor({ id: data.id, compressRunF1: data.compressRunSigF1 }).then(res => {
@@ -231,7 +421,7 @@ watch(monitorDataGroupFlag, (newVal) => {
 })
 })
 
 
 onMounted(async () => {
 onMounted(async () => {
-  mountedThree(monitorDataGroupNum3).then(async() => {
+  mountedThree(monitorDataGroupNum1, monitorDataGroupNum2).then(async() => {
     await getMonitor(true)
     await getMonitor(true)
     setModelType('compressor1')
     setModelType('compressor1')
   })
   })

+ 17 - 1
src/views/vent/monitorManager/windowMonitor/index.vue

@@ -70,6 +70,7 @@
               :scroll="{y: scroll.y - 40}"
               :scroll="{y: scroll.y - 40}"
               title="风窗监测"
               title="风窗监测"
               :isShowPagination="true"
               :isShowPagination="true"
+              :isShowActionColumn="true"
             >
             >
               <template #filterCell="{ column, record }">
               <template #filterCell="{ column, record }">
                 <a-tag v-if="column.dataIndex === 'warnFlag'" :color="record.warnFlag == 0 ? 'green' : 'red'">{{
                 <a-tag v-if="column.dataIndex === 'warnFlag'" :color="record.warnFlag == 0 ? 'green' : 'red'">{{
@@ -80,6 +81,10 @@
                 }}</a-tag>
                 }}</a-tag>
                 <div v-if="record.nwindownum == 1 && column.dataIndex === 'rearArea'">/</div>
                 <div v-if="record.nwindownum == 1 && column.dataIndex === 'rearArea'">/</div>
               </template>
               </template>
+              <template #action="{ record }">
+                <a class="table-action-link" @click="deviceEdit($event, 'reportInfo', record)">报表录入</a>
+                <a class="table-action-link" @click="deviceEdit($event, 'deviceInfo', record)">设备编辑</a>
+              </template>
             </MonitorTable>
             </MonitorTable>
           </a-tab-pane>
           </a-tab-pane>
           <a-tab-pane key="2" tab="实时曲线图" force-render>
           <a-tab-pane key="2" tab="实时曲线图" force-render>
@@ -117,6 +122,7 @@
   <div ref="playerRef" style="z-index: 999; position: absolute; top: 100px; right: 10px; width: 300px; height: 280px; margin: auto"></div>
   <div ref="playerRef" style="z-index: 999; position: absolute; top: 100px; right: 10px; width: 300px; height: 280px; margin: auto"></div>
   <LivePlayer id="fc-player1" style="height: 220px; width: 300px; position: absolute; top: 0px; z-index: -1;" ref="player1" :videoUrl="flvURL1()" muted loading autoplay controls loop fluent />
   <LivePlayer id="fc-player1" style="height: 220px; width: 300px; position: absolute; top: 0px; z-index: -1;" ref="player1" :videoUrl="flvURL1()" muted loading autoplay controls loop fluent />
   <HandleModal :modal-is-show="modalIsShow" :modal-title="modalTitle" :modal-type="modalType" @handle-ok="handleOK" @handle-cancel="handleCancel" />
   <HandleModal :modal-is-show="modalIsShow" :modal-title="modalTitle" :modal-type="modalType" @handle-ok="handleOK" @handle-cancel="handleCancel" />
+  <DeviceBaseInfo @register="regModal" :device-type="selectData['deviceType']"/>
 </template>
 </template>
 
 
 <script setup lang="ts">
 <script setup lang="ts">
@@ -128,6 +134,7 @@
   import AlarmHistoryTable from '../comment/AlarmHistoryTable.vue';
   import AlarmHistoryTable from '../comment/AlarmHistoryTable.vue';
   import HandlerHistoryTable from '../comment/HandlerHistoryTable.vue';
   import HandlerHistoryTable from '../comment/HandlerHistoryTable.vue';
   import HandleModal from './modal.vue';
   import HandleModal from './modal.vue';
+  import DeviceBaseInfo from '../comment/components/DeviceBaseInfo.vue';
   import { mountedThree, destroy, addMonitorText, play, setModelType, initCameraCanvas } from './window.threejs';
   import { mountedThree, destroy, addMonitorText, play, setModelType, initCameraCanvas } from './window.threejs';
   import { list, getTableList, cameraList, cameraAddrList } from './window.api';
   import { list, getTableList, cameraList, cameraAddrList } from './window.api';
   import { list as baseList } from '../../deviceManager/windWindowTabel/ventanalyWindow.api';
   import { list as baseList } from '../../deviceManager/windWindowTabel/ventanalyWindow.api';
@@ -139,6 +146,7 @@
   import { useRouter } from 'vue-router';
   import { useRouter } from 'vue-router';
   import { deviceCameraInit } from '/@/utils/ventutil.ts'
   import { deviceCameraInit } from '/@/utils/ventutil.ts'
   import LivePlayer from '@liveqing/liveplayer-v3';
   import LivePlayer from '@liveqing/liveplayer-v3';
+  import { useModal } from '/@/components/Modal';
 
 
   const globalConfig = inject('globalConfig');
   const globalConfig = inject('globalConfig');
 
 
@@ -178,6 +186,7 @@
   const flvURL1 = () => {
   const flvURL1 = () => {
     return `/video/window.mp4`;
     return `/video/window.mp4`;
   };
   };
+  const [regModal, { openModal }] = useModal();
 
 
   const tabChange = (activeKeyVal) => {
   const tabChange = (activeKeyVal) => {
     activeKey.value = activeKeyVal;
     activeKey.value = activeKeyVal;
@@ -366,7 +375,14 @@
     modalTitle.value = '';
     modalTitle.value = '';
     modalType.value = '';
     modalType.value = '';
   };
   };
-
+  
+  function deviceEdit(e: Event, type: string, record) {
+    e.stopPropagation()
+    openModal(true, {
+      type,
+      deviceId: record['deviceID']
+    })
+  }
 
 
   onBeforeMount(() => {
   onBeforeMount(() => {
     // const sendVal = JSON.stringify({ pagetype: 'normal', devicetype: 'window', orgcode: '', ids: '', systemID: '' });
     // const sendVal = JSON.stringify({ pagetype: 'normal', devicetype: 'window', orgcode: '', ids: '', systemID: '' });

+ 20 - 2
src/views/vent/monitorManager/windrectMonitor/index.vue

@@ -38,7 +38,7 @@
       </div> -->
       </div> -->
     </div>
     </div>
     <div class="title-text">
     <div class="title-text">
-      {{ selectData.strname }}
+      {{ selectData.supplyAirAddr || selectData.stationname || selectData.strname }}
     </div>
     </div>
     <div class="bottom-tabs-box" @mousedown="setDivHeight($event, 350, scroll)">
     <div class="bottom-tabs-box" @mousedown="setDivHeight($event, 350, scroll)">
       <dv-border-box8 :dur="5"  :style="`padding: 5px; height: ${scroll.y + 120}px`" >
       <dv-border-box8 :dur="5"  :style="`padding: 5px; height: ${scroll.y + 120}px`" >
@@ -46,7 +46,7 @@
           <a-button class="tabs-button" type="primary" @click="openModel">一键测风</a-button>
           <a-button class="tabs-button" type="primary" @click="openModel">一键测风</a-button>
         </div>
         </div>
         <a-tabs class="tabs-box" v-model:activeKey="activeKey" @change="tabChange">
         <a-tabs class="tabs-box" v-model:activeKey="activeKey" @change="tabChange">
-          <a-tab-pane key="1" tab="实时监测111">
+          <a-tab-pane key="1" tab="实时监测">
             <MonitorTable
             <MonitorTable
               v-if="activeKey === '1'"
               v-if="activeKey === '1'"
               ref="MonitorDataTable"
               ref="MonitorDataTable"
@@ -57,6 +57,7 @@
               :scroll="{ y: scroll.y - 40 }"
               :scroll="{ y: scroll.y - 40 }"
               title="测风装置监测"
               title="测风装置监测"
               :isShowPagination="true"
               :isShowPagination="true"
+              :isShowActionColumn="true"
             >
             >
               <template #filterCell="{ column, record }">
               <template #filterCell="{ column, record }">
                 <a-tag v-if="column.dataIndex === 'netStatus'" :color="record.netStatus == 0 ? '#FF5812' : 'green'">{{
                 <a-tag v-if="column.dataIndex === 'netStatus'" :color="record.netStatus == 0 ? '#FF5812' : 'green'">{{
@@ -76,6 +77,10 @@
                   <Progress v-else :percent="Number(record.isRun)" size="small" status="active" />
                   <Progress v-else :percent="Number(record.isRun)" size="small" status="active" />
                 </template>
                 </template>
               </template>
               </template>
+              <template #action="{ record }">
+                <a class="table-action-link" @click="deviceEdit($event, 'reportInfo', record)">报表录入</a>
+                <a class="table-action-link" @click="deviceEdit($event, 'deviceInfo', record)">设备编辑</a>
+              </template>
             </MonitorTable>
             </MonitorTable>
           </a-tab-pane>
           </a-tab-pane>
           <a-tab-pane key="2" tab="监测曲线图" force-render>
           <a-tab-pane key="2" tab="监测曲线图" force-render>
@@ -139,6 +144,7 @@
   </BasicModal>
   </BasicModal>
   <HandleModal v-if="!globalConfig?.simulatedPassword" :modal-is-show="modalIsShow" modal-title="启动测风" :modal-type="modalType"  @handle-ok="controlDevice"
   <HandleModal v-if="!globalConfig?.simulatedPassword" :modal-is-show="modalIsShow" modal-title="启动测风" :modal-type="modalType"  @handle-ok="controlDevice"
       @handle-cancel="handleCancelControl" />
       @handle-cancel="handleCancelControl" />
+  <DeviceBaseInfo @register="regModal" :device-type="selectData['deviceType']"/>
 </template>
 </template>
 
 
 <script setup lang="ts">
 <script setup lang="ts">
@@ -148,6 +154,7 @@
   import MonitorTable from '../comment/MonitorTable.vue';
   import MonitorTable from '../comment/MonitorTable.vue';
   import ModalTable from './components/modalTable.vue';
   import ModalTable from './components/modalTable.vue';
   import HandleModal from './components/modal.vue';
   import HandleModal from './components/modal.vue';
+  import DeviceBaseInfo from '../comment/components/DeviceBaseInfo.vue';
   import ResultTable from './components/resultTable.vue';
   import ResultTable from './components/resultTable.vue';
   import HistoryTable from '../comment/HistoryTable.vue';
   import HistoryTable from '../comment/HistoryTable.vue';
   import AlarmHistoryTable from '../comment/AlarmHistoryTable.vue';
   import AlarmHistoryTable from '../comment/AlarmHistoryTable.vue';
@@ -163,6 +170,7 @@
   import { useRouter } from 'vue-router';
   import { useRouter } from 'vue-router';
   import { deviceCameraInit } from '/@/utils/ventutil.ts'
   import { deviceCameraInit } from '/@/utils/ventutil.ts'
   import LivePlayer from '@liveqing/liveplayer-v3';
   import LivePlayer from '@liveqing/liveplayer-v3';
+  import { useModal } from '/@/components/Modal';
 
 
   const globalConfig = inject('globalConfig');
   const globalConfig = inject('globalConfig');
 
 
@@ -214,6 +222,8 @@
     // return ''
     // return ''
     return `/video/wind.mp4`;
     return `/video/wind.mp4`;
   };
   };
+  
+  const [regModal, { openModal }] = useModal();
 
 
   const tabChange = (activeKeyVal) => {
   const tabChange = (activeKeyVal) => {
     activeKey.value = activeKeyVal;
     activeKey.value = activeKeyVal;
@@ -713,6 +723,14 @@
     });
     });
   };
   };
 
 
+  function deviceEdit(e: Event, type: string, record) {
+    e.stopPropagation()
+    openModal(true, {
+      type,
+      deviceId: record['deviceID']
+    })
+  }
+
   onBeforeMount(() => {
   onBeforeMount(() => {
     getPathList();
     getPathList();
   });
   });

+ 24 - 24
src/views/vent/monitorManager/windrectMonitor/windrect.data.ts

@@ -411,42 +411,42 @@ export const formAgentSchema: FormSchema[] = [
 
 
 export const chartsColumns = [
 export const chartsColumns = [
   {
   {
-    legend: 'V1风速',
-    seriesName: '(m/min)',
-    ymax: 20,
-    yname: 'm/min',
-    linetype: 'bar',
-    yaxispos: 'left',
-    color: '#cd5fff',
-    sort: 1,
-    xRotate: 0,
-    dataIndex: 'incipientWindSpeed1',
-  },
-  {
-    legend: 'V2风速',
-    seriesName: '',
-    ymax: 20,
-    yname: 'm/min',
+    legend: '风量',
+    seriesName: 'm³/min',
+    ymax: 8000,
+    yname: 'm³/min',
     linetype: 'bar',
     linetype: 'bar',
     yaxispos: 'left',
     yaxispos: 'left',
     color: '#3DF6FF',
     color: '#3DF6FF',
     sort: 1,
     sort: 1,
     xRotate: 0,
     xRotate: 0,
-    dataIndex: 'incipientWindSpeed2',
+    dataIndex: 'm3',
   },
   },
   {
   {
-    legend: 'V3风速',
-    seriesName: '',
-    ymax: 20,
+    legend: '风速',
+    seriesName: '(m/min)',
+    ymax: 50,
     yname: 'm/min',
     yname: 'm/min',
     linetype: 'bar',
     linetype: 'bar',
-    yaxispos: 'left',
-    color: '#fac858',
-    sort: 1,
+    yaxispos: 'right',
+    color: '#cd5fff',
+    sort: 2,
     xRotate: 0,
     xRotate: 0,
-    dataIndex: 'incipientWindSpeed3',
+    dataIndex: 'va',
   },
   },
   // {
   // {
+  //   legend: 'V3风速',
+  //   seriesName: '',
+  //   ymax: 20,
+  //   yname: 'm/min',
+  //   linetype: 'bar',
+  //   yaxispos: 'left',
+  //   color: '#fac858',
+  //   sort: 1,
+  //   xRotate: 0,
+  //   dataIndex: 'incipientWindSpeed3',
+  // },
+  // {
   //   legend: '气源压力',
   //   legend: '气源压力',
   //   seriesName: '(MPa)',
   //   seriesName: '(MPa)',
   //   ymax: 50,
   //   ymax: 50,