Prechádzať zdrojové kódy

1. 布尔台问题修复

hongrunxia 2 mesiacov pred
rodič
commit
9c6e44f4a4
40 zmenil súbory, kde vykonal 518 pridanie a 459 odobranie
  1. 0 5
      public/model/hdr/test.hdr
  2. BIN
      public/model/hdr/test.jpeg
  3. 1 1
      src/utils/threejs/useThree.ts
  4. 310 310
      src/views/vent/bundleSpy/bundleSpyTable/index.vue
  5. 10 10
      src/views/vent/monitorManager/alarmMonitor/common/echartLine3.vue
  6. 2 2
      src/views/vent/monitorManager/alarmMonitor/common/measurePoint.vue
  7. 28 23
      src/views/vent/monitorManager/alarmMonitor/warn/dustWarn.vue
  8. 1 1
      src/views/vent/monitorManager/alarmMonitor/warn/ventilateWarn.vue
  9. 1 1
      src/views/vent/monitorManager/chamberMonitor/chamber.threejs.ts
  10. 10 10
      src/views/vent/monitorManager/comment/gaspatrolTable.vue
  11. 1 1
      src/views/vent/monitorManager/compressor/nitrogen.threejs.ts
  12. 1 1
      src/views/vent/monitorManager/dedustMonitor/dedust.threejs.ts
  13. 2 2
      src/views/vent/monitorManager/deviceMonitor/components/device/device.api.ts
  14. 6 2
      src/views/vent/monitorManager/deviceMonitor/components/device/device.data.ts
  15. 24 9
      src/views/vent/monitorManager/deviceMonitor/components/device/index.vue
  16. 10 6
      src/views/vent/monitorManager/deviceMonitor/staticSheets/fireSheet.vue
  17. 39 32
      src/views/vent/monitorManager/deviceMonitor/staticSheets/ventilateSheet.vue
  18. 1 1
      src/views/vent/monitorManager/fanLocalMonitor/fanLocal.three.ts
  19. 1 1
      src/views/vent/monitorManager/fanLocalMonitor1/fanLocal.three.ts
  20. 1 1
      src/views/vent/monitorManager/fiberMonitor/fiber.threejs.ts
  21. 1 1
      src/views/vent/monitorManager/fireDoorMonitor/detail.vue
  22. 1 1
      src/views/vent/monitorManager/fireDoorMonitor/fireDoor.threejs.ts
  23. 1 1
      src/views/vent/monitorManager/gasPumpMonitor/gasPump.threejs.ts
  24. 1 1
      src/views/vent/monitorManager/gateMonitor/detail.vue
  25. 1 1
      src/views/vent/monitorManager/gateMonitor/gate.threejs.ts
  26. 3 4
      src/views/vent/monitorManager/groutMonitor/components/groutHomeJj.vue
  27. 1 1
      src/views/vent/monitorManager/groutMonitor/grout.data.ts
  28. 1 1
      src/views/vent/monitorManager/groutMonitor/grout.threejs.ts
  29. 8 9
      src/views/vent/monitorManager/mainFanMonitor/components/conditionAssistance.vue
  30. 1 1
      src/views/vent/monitorManager/mainFanMonitor/main.threejs.ts
  31. 1 1
      src/views/vent/monitorManager/nitrogen/nitrogen.threejs.ts
  32. 1 1
      src/views/vent/monitorManager/obfurage1Monitor/detail.vue
  33. 2 3
      src/views/vent/monitorManager/obfurage1Monitor/gate.threejs.ts
  34. 1 1
      src/views/vent/monitorManager/obfurageMonitor/obfurage.threejs.ts
  35. 1 1
      src/views/vent/monitorManager/tunFaceMonitor/tunFace.threejs.ts
  36. 39 7
      src/views/vent/monitorManager/windowMonitor/dandaoFc.threejs.ts
  37. 2 2
      src/views/vent/monitorManager/windowMonitor/window.threejs.ts
  38. 1 1
      src/views/vent/monitorManager/windowMonitorBet/window.threejs.ts
  39. 1 1
      src/views/vent/monitorManager/windrectMonitor/windrect.threejs.ts
  40. 1 1
      src/views/vent/monitorManager/workFaceMonitor/wokeFace.threejs.ts

Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 0 - 5
public/model/hdr/test.hdr


BIN
public/model/hdr/test.jpeg


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

@@ -422,7 +422,7 @@ class UseThree {
   setEnvMap(hdr) {
     if (!this.scene) return;
     // (this.scene as THREE.Scene).environment
-    new RGBELoader().setPath('/model/hdr/').load(hdr + '.hdr', (texture) => {
+    new RGBELoader().setPath('/model/hdr/').load(hdr, (texture) => {
       texture.colorSpace = THREE.SRGBColorSpace;
       texture.mapping = THREE.EquirectangularReflectionMapping;
       if (this.scene) (this.scene as THREE.Scene).environment = texture;

+ 310 - 310
src/views/vent/bundleSpy/bundleSpyTable/index.vue

@@ -32,7 +32,7 @@
         </div>
       </div>
     </div>
-    <a-modal style="width: 26%; height: 300px" title="爆炸三角形" v-model:visible="modalVisible" :draggable="true" :footer="null">
+    <a-modal style="width: 600px; height: 300px" title="爆炸三角形" v-model:visible="modalVisible" :draggable="true" :footer="null">
       <div class="blast-delta-container">
         <BlastDelta :posMonitor="posMonitor" />
       </div>
@@ -41,350 +41,350 @@
 </template>
 
 <script setup lang="ts">
-import { ref, onMounted, reactive, shallowRef } from 'vue';
-import { columns } from './bundleSpy-table.data';
-import { getbundleSpyInfoList, getAllFileList } from './bundleSpy-table.api';
-import customHeader from '/@/components/vent/customHeader.vue';
-import * as echarts from 'echarts';
-import BlastDelta from './modal/blastDelta.vue';
-import { Progress } from 'ant-design-vue';
-import 'ant-design-vue/dist/antd.css'; // 引入样式
-let selectList = ref<any[]>([]);
+  import { ref, onMounted, reactive, shallowRef } from 'vue';
+  import { columns } from './bundleSpy-table.data';
+  import { getbundleSpyInfoList, getAllFileList } from './bundleSpy-table.api';
+  import customHeader from '/@/components/vent/customHeader.vue';
+  import * as echarts from 'echarts';
+  import BlastDelta from './modal/blastDelta.vue';
+  import { Progress } from 'ant-design-vue';
+  import 'ant-design-vue/dist/antd.css'; // 引入样式
+  let selectList = ref<any[]>([]);
 
-let formSearch = reactive({
-  pageNum: 1,
-  pageSize: 1000,
-  fileId: '',
-  fileName: '',
-});
-const latentCount = ref(0); // 缓慢氧化阶段(潜伏期)
-const selfHeatingCount = ref(0); // 加速氧化阶段(自热期)
-const combustionCount = ref(0); // 剧烈氧化阶段(燃烧期)
-const latentPercent = ref(0); // 缓慢氧化阶段(潜伏期)
-const selfHeatingPercent = ref(0); // 加速氧化阶段(自热期)
-const combustionPercent = ref(0); // 剧烈氧化阶段(燃烧期)
-let tableData = ref<any[]>([]);
-let selectedFileId = ref<string | null>(null);
-let modalVisible = ref(false);
-const posMonitor = shallowRef({});
-//获取色谱仪报表
-async function getTableList(params: any) {
-  let res = await getbundleSpyInfoList({ type: 'bundleSpy', ...params });
-  const content = res.content;
-  let contentArr = JSON.parse(content);
-  latentCount.value = contentArr.filter((item: any) => item.internalFireWarnLevel === '缓慢氧化阶段(潜伏期)').length;
-  selfHeatingCount.value = contentArr.filter((item: any) => item.internalFireWarnLevel === '加速氧化阶段(自热期)').length;
-  combustionCount.value = contentArr.filter((item: any) => item.internalFireWarnLevel === '剧烈氧化阶段(燃烧期)').length;
-  const total = contentArr.length;
-  latentPercent.value = (latentCount.value / total) * 100;
-  selfHeatingPercent.value = (selfHeatingCount.value / total) * 100;
-  combustionPercent.value = (combustionCount.value / total) * 100;
-  tableData.value = contentArr;
-  updateChart(contentArr);
-}
-//跳转到爆炸三角形
-function toDetail(record: any) {
-  posMonitor.value = record;
-  console.log(posMonitor.value);
-  modalVisible.value = true;
-}
-//折线图
-function updateChart(data: any) {
-  const chartDom = document.getElementById('lineChart');
-  const myChart = echarts.init(chartDom);
-  const categories = data.map((item: any) => item.jcdd);
-  const c2h2AveValues = data.map((item: any) => parseFloat(item.c2h2_ave));
-  const c2h4AveValues = data.map((item: any) => parseFloat(item.c2h4_ave));
-  const ch4AveValues = data.map((item: any) => parseFloat(item.ch4_ave));
-  const co2AveValues = data.map((item: any) => parseFloat(item.co2_ave));
-  const coAveValues = data.map((item: any) => parseFloat(item.co_ave));
-  const o2AveValues = data.map((item: any) => parseFloat(item.o2_ave));
-  const n2AveValues = data.map((item: any) => parseFloat(item.n2_ave));
-  const c2h6AveValues = data.map((item: any) => parseFloat(item.c2h6_ave));
+  let formSearch = reactive({
+    pageNum: 1,
+    pageSize: 1000,
+    fileId: '',
+    fileName: '',
+  });
+  const latentCount = ref(0); // 缓慢氧化阶段(潜伏期)
+  const selfHeatingCount = ref(0); // 加速氧化阶段(自热期)
+  const combustionCount = ref(0); // 剧烈氧化阶段(燃烧期)
+  const latentPercent = ref(0); // 缓慢氧化阶段(潜伏期)
+  const selfHeatingPercent = ref(0); // 加速氧化阶段(自热期)
+  const combustionPercent = ref(0); // 剧烈氧化阶段(燃烧期)
+  let tableData = ref<any[]>([]);
+  let selectedFileId = ref<string | null>(null);
+  let modalVisible = ref(false);
+  const posMonitor = shallowRef({});
+  //获取色谱仪报表
+  async function getTableList(params: any) {
+    let res = await getbundleSpyInfoList({ type: 'bundleSpy', ...params });
+    const content = res.content;
+    let contentArr = JSON.parse(content);
+    latentCount.value = contentArr.filter((item: any) => item.internalFireWarnLevel === '缓慢氧化阶段(潜伏期)').length;
+    selfHeatingCount.value = contentArr.filter((item: any) => item.internalFireWarnLevel === '加速氧化阶段(自热期)').length;
+    combustionCount.value = contentArr.filter((item: any) => item.internalFireWarnLevel === '剧烈氧化阶段(燃烧期)').length;
+    const total = contentArr.length;
+    latentPercent.value = (latentCount.value / total) * 100;
+    selfHeatingPercent.value = (selfHeatingCount.value / total) * 100;
+    combustionPercent.value = (combustionCount.value / total) * 100;
+    tableData.value = contentArr;
+    updateChart(contentArr);
+  }
+  //跳转到爆炸三角形
+  function toDetail(record: any) {
+    posMonitor.value = record;
+    console.log(posMonitor.value);
+    modalVisible.value = true;
+  }
+  //折线图
+  function updateChart(data: any) {
+    const chartDom = document.getElementById('lineChart');
+    const myChart = echarts.init(chartDom);
+    const categories = data.map((item: any) => item.jcdd);
+    const c2h2AveValues = data.map((item: any) => parseFloat(item.c2h2_ave));
+    const c2h4AveValues = data.map((item: any) => parseFloat(item.c2h4_ave));
+    const ch4AveValues = data.map((item: any) => parseFloat(item.ch4_ave));
+    const co2AveValues = data.map((item: any) => parseFloat(item.co2_ave));
+    const coAveValues = data.map((item: any) => parseFloat(item.co_ave));
+    const o2AveValues = data.map((item: any) => parseFloat(item.o2_ave));
+    const n2AveValues = data.map((item: any) => parseFloat(item.n2_ave));
+    const c2h6AveValues = data.map((item: any) => parseFloat(item.c2h6_ave));
 
-  const option = {
-    title: {
-      text: '色谱仪报表分析',
-      textStyle: {
-        color: '#ffffff', // 设置标题颜色
-      },
-      left: 'center', // 水平居中
-      top: '0', // 设置标题距离顶部的距离
-    },
-    tooltip: {
-      trigger: 'axis',
-      backgroundColor: 'rgba(28, 72, 105, 0.5)', // 设置 tooltip 背景为透明
-      textStyle: {
-        color: '#ffffff', // 设置 tooltip 字体颜色为白色
-      },
-      axisPointer: {
-        label: {
-          show: true,
-          backgroundColor: '#071c44',
+    const option = {
+      title: {
+        text: '色谱仪报表分析',
+        textStyle: {
+          color: '#ffffff', // 设置标题颜色
         },
+        left: 'center', // 水平居中
+        top: '0', // 设置标题距离顶部的距离
       },
-    },
-    legend: {
-      top: '9%',
-      textStyle: {
-        color: '#ffffffff',
-      },
-      width: '80%', // 设置图例的宽度
-      orient: 'horizontal', // 水平布局
-      pageIconColor: '#ffffff', // 设置翻页图标颜色
-      pageTextStyle: {
-        color: '#ffffff', // 设置翻页文字颜色
-      },
-    },
-    xAxis: {
-      type: 'category',
-      data: categories,
-      splitLine: { show: true, lineStyle: { color: 'rgba(28, 72, 105, 0.5)' } },
-      axisLabel: {
-        interval: 0, // 显示所有标签
-        color: '#ffffff', // 设置 x 轴字体颜色
-        formatter: function (value: string) {
-          return value.length > 12 ? value.slice(0, 12) + '...' : value; // 截断长标签
+      tooltip: {
+        trigger: 'axis',
+        backgroundColor: 'rgba(28, 72, 105, 0.5)', // 设置 tooltip 背景为透明
+        textStyle: {
+          color: '#ffffff', // 设置 tooltip 字体颜色为白色
+        },
+        axisPointer: {
+          label: {
+            show: true,
+            backgroundColor: '#071c44',
+          },
         },
       },
-    },
-    yAxis: [
-      {
-        type: 'value',
-        name: 'O₂/N₂',
-        max: 100,
-        splitLine: { show: true, lineStyle: { color: 'rgba(21,80,126,.5)' } },
-        axisLabel: {
-          color: '#ffffff',
+      legend: {
+        top: '9%',
+        textStyle: {
+          color: '#ffffffff',
+        },
+        width: '80%', // 设置图例的宽度
+        orient: 'horizontal', // 水平布局
+        pageIconColor: '#ffffff', // 设置翻页图标颜色
+        pageTextStyle: {
+          color: '#ffffff', // 设置翻页文字颜色
         },
       },
-      {
-        type: 'value',
-        name: '其他气体',
-        splitLine: { show: true, lineStyle: { color: 'rgba(21,80,126,.5)' } },
+      xAxis: {
+        type: 'category',
+        data: categories,
+        splitLine: { show: true, lineStyle: { color: 'rgba(28, 72, 105, 0.5)' } },
         axisLabel: {
-          color: '#ffffff', // 设置 y 轴字体颜色
+          interval: 0, // 显示所有标签
+          color: '#ffffff', // 设置 x 轴字体颜色
+          formatter: function (value: string) {
+            return value.length > 12 ? value.slice(0, 12) + '...' : value; // 截断长标签
+          },
         },
       },
-    ],
-    grid: {
-      top: '21%', // 设置 grid 距离顶部的距离,增加间隔
-      left: '3%',
-      right: '4%',
-      bottom: '3%',
-      containLabel: true,
-    },
-    series: [
-      {
-        name: 'C₂H₂平均值',
-        data: c2h2AveValues,
-        type: 'bar',
-        yAxisIndex: 1,
-      },
-      {
-        name: 'C₂H₄平均值',
-        data: c2h4AveValues,
-        type: 'bar',
-        yAxisIndex: 1,
-      },
-      {
-        name: 'CH₄平均值',
-        data: ch4AveValues,
-        yAxisIndex: 1,
-        type: 'bar',
-      },
-      {
-        name: 'CO₂平均值',
-        data: co2AveValues,
-        yAxisIndex: 1,
-        type: 'bar',
-      },
-      {
-        name: 'CO平均值',
-        data: coAveValues,
-        yAxisIndex: 1,
-        type: 'bar',
-      },
-      {
-        name: 'O₂平均值',
-        data: o2AveValues,
-        yAxisIndex: 0,
-        type: 'bar',
-      },
-      {
-        name: 'N₂平均值',
-        data: n2AveValues,
-        yAxisIndex: 0,
-        type: 'bar',
-      },
-      {
-        name: 'C2H6平均值',
-        data: c2h6AveValues,
-        yAxisIndex: 1,
-        type: 'bar',
+      yAxis: [
+        {
+          type: 'value',
+          name: 'O₂/N₂',
+          max: 100,
+          splitLine: { show: true, lineStyle: { color: 'rgba(21,80,126,.5)' } },
+          axisLabel: {
+            color: '#ffffff',
+          },
+        },
+        {
+          type: 'value',
+          name: '其他气体',
+          splitLine: { show: true, lineStyle: { color: 'rgba(21,80,126,.5)' } },
+          axisLabel: {
+            color: '#ffffff', // 设置 y 轴字体颜色
+          },
+        },
+      ],
+      grid: {
+        top: '21%', // 设置 grid 距离顶部的距离,增加间隔
+        left: '3%',
+        right: '4%',
+        bottom: '3%',
+        containLabel: true,
       },
-    ],
-  };
-  myChart.setOption(option);
-}
-//获取所有文件列表
-async function getAllFile() {
-  let res = await getAllFileList({ type: 'bundleSpy' });
-  selectList.value = res.records.map((item: any) => ({
-    fileId: item.fileId,
-    fileName: item.fileName,
-  }));
-  if (selectList.value.length > 0) {
-    formSearch.fileId = selectList.value[0].fileId;
-    getSearch();
+      series: [
+        {
+          name: 'C₂H₂平均值',
+          data: c2h2AveValues,
+          type: 'bar',
+          yAxisIndex: 1,
+        },
+        {
+          name: 'C₂H₄平均值',
+          data: c2h4AveValues,
+          type: 'bar',
+          yAxisIndex: 1,
+        },
+        {
+          name: 'CH₄平均值',
+          data: ch4AveValues,
+          yAxisIndex: 1,
+          type: 'bar',
+        },
+        {
+          name: 'CO₂平均值',
+          data: co2AveValues,
+          yAxisIndex: 1,
+          type: 'bar',
+        },
+        {
+          name: 'CO平均值',
+          data: coAveValues,
+          yAxisIndex: 1,
+          type: 'bar',
+        },
+        {
+          name: 'O₂平均值',
+          data: o2AveValues,
+          yAxisIndex: 0,
+          type: 'bar',
+        },
+        {
+          name: 'N₂平均值',
+          data: n2AveValues,
+          yAxisIndex: 0,
+          type: 'bar',
+        },
+        {
+          name: 'C2H6平均值',
+          data: c2h6AveValues,
+          yAxisIndex: 1,
+          type: 'bar',
+        },
+      ],
+    };
+    myChart.setOption(option);
   }
-}
-// 处理文件点击事件
-function handleFileClick(item: any) {
-  formSearch.fileId = item.fileId;
-  formSearch.fileName = item.fileName;
-  selectedFileId.value = item.fileId;
-  getSearch();
-}
-//查询
-function getSearch() {
-  const selectedFile = selectList.value.find((item) => item.fileId === formSearch.fileId);
-  const params = {
-    fileId: formSearch.fileId,
-    fileName: selectedFile ? selectedFile.fileName : '',
-  };
-  getTableList(params);
-}
-onMounted(() => {
-  getTableList({ type: 'bundleSpy' });
-  getAllFile().then(() => {
+  //获取所有文件列表
+  async function getAllFile() {
+    let res = await getAllFileList({ type: 'bundleSpy' });
+    selectList.value = res.records.map((item: any) => ({
+      fileId: item.fileId,
+      fileName: item.fileName,
+    }));
     if (selectList.value.length > 0) {
       formSearch.fileId = selectList.value[0].fileId;
-      selectedFileId.value = selectList.value[0].fileId;
       getSearch();
     }
+  }
+  // 处理文件点击事件
+  function handleFileClick(item: any) {
+    formSearch.fileId = item.fileId;
+    formSearch.fileName = item.fileName;
+    selectedFileId.value = item.fileId;
+    getSearch();
+  }
+  //查询
+  function getSearch() {
+    const selectedFile = selectList.value.find((item) => item.fileId === formSearch.fileId);
+    const params = {
+      fileId: formSearch.fileId,
+      fileName: selectedFile ? selectedFile.fileName : '',
+    };
+    getTableList(params);
+  }
+  onMounted(() => {
+    getTableList({ type: 'bundleSpy' });
+    getAllFile().then(() => {
+      if (selectList.value.length > 0) {
+        formSearch.fileId = selectList.value[0].fileId;
+        selectedFileId.value = selectList.value[0].fileId;
+        getSearch();
+      }
+    });
   });
-});
 </script>
 
 <style lang="less" scoped>
-@import '/@/design/theme.less';
+  @import '/@/design/theme.less';
 
-.content-container {
-  display: flex;
-  width: 100%;
-  height: 100%;
-}
+  .content-container {
+    display: flex;
+    width: 100%;
+    height: 100%;
+  }
 
-.file-list {
-  width: 20%;
-  padding: 10px;
-  margin-right: 10px;
-  margin-bottom: 50px;
-  border: 1px solid #99e8ff66;
-  background: #27546e1a;
-  box-shadow: 0px 0px 20px 7px rgba(145, 233, 254, 0.7) inset;
-  -moz-box-shadow: 0px 0px 20px 7px rgba(145, 233, 254, 0.7) inset;
-  -webkit-box-shadow: 0px 0px 50px 1px rgb(149 235 255 / 5%) inset;
-}
+  .file-list {
+    width: 20%;
+    padding: 10px;
+    margin-right: 10px;
+    margin-bottom: 50px;
+    border: 1px solid #99e8ff66;
+    background: #27546e1a;
+    box-shadow: 0px 0px 20px 7px rgba(145, 233, 254, 0.7) inset;
+    -moz-box-shadow: 0px 0px 20px 7px rgba(145, 233, 254, 0.7) inset;
+    -webkit-box-shadow: 0px 0px 50px 1px rgb(149 235 255 / 5%) inset;
+  }
 
-.file-list ul {
-  list-style: none;
-  padding: 0;
-}
+  .file-list ul {
+    list-style: none;
+    padding: 0;
+  }
 
-.file-list li {
-  color: #fff;
-  padding: 5px;
-  cursor: pointer;
-}
+  .file-list li {
+    color: #fff;
+    padding: 5px;
+    cursor: pointer;
+  }
 
-.file-list li:hover,
-.file-list li.selected {
-  background: #1c4869;
-}
+  .file-list li:hover,
+  .file-list li.selected {
+    background: #1c4869;
+  }
 
-.table-container {
-  margin-top: 10px;
-  width: 80%;
-  box-sizing: border-box;
-}
+  .table-container {
+    margin-top: 10px;
+    width: 80%;
+    box-sizing: border-box;
+  }
 
-.dustMonitor {
-  width: 100%;
-  height: 100%;
-  padding: 10px 10px 15px 10px;
-  box-sizing: border-box;
-  position: relative;
-}
+  .dustMonitor {
+    width: 100%;
+    height: 100%;
+    padding: 10px 10px 15px 10px;
+    box-sizing: border-box;
+    position: relative;
+  }
 
-:deep(.zxm-table-thead > tr > th:last-child) {
-  border-right: 1px solid #91e9fe !important;
-}
+  :deep(.zxm-table-thead > tr > th:last-child) {
+    border-right: 1px solid #91e9fe !important;
+  }
 
-:deep(.zxm-picker-input > input) {
-  color: #fff;
-}
+  :deep(.zxm-picker-input > input) {
+    color: #fff;
+  }
 
-:deep(.zxm-select:not(.zxm-select-customize-input) .zxm-select-selector) {
-  border: 1px solid var(--vent-form-item-border) !important;
-  background-color: #ffffff00 !important;
-}
+  :deep(.zxm-select:not(.zxm-select-customize-input) .zxm-select-selector) {
+    border: 1px solid var(--vent-form-item-border) !important;
+    background-color: #ffffff00 !important;
+  }
 
-:deep(.zxm-select-selection-item) {
-  color: #fff !important;
-}
-.data-container {
-  display: flex;
-  width: 100%;
-  height: 100%;
-}
+  :deep(.zxm-select-selection-item) {
+    color: #fff !important;
+  }
+  .data-container {
+    display: flex;
+    width: 100%;
+    height: 100%;
+  }
 
-.line-chart {
-  flex: 3; /* 占据 3/4 的空间 */
-  width: 100%;
-  height: 400px;
-}
-.data-content {
-  flex: 1; /* 占据 1/4 的空间 */
-  height: 400px;
-  display: flex;
-  flex-direction: column; /* 垂直排列进度条 */
-  // align-items: center; /* 水平居中 */
-  margin: 10px;
-  .title {
-    font-size: 18px;
-    font-weight: 600;
+  .line-chart {
+    flex: 3; /* 占据 3/4 的空间 */
+    width: 100%;
+    height: 400px;
+  }
+  .data-content {
+    flex: 1; /* 占据 1/4 的空间 */
+    height: 400px;
+    display: flex;
+    flex-direction: column; /* 垂直排列进度条 */
+    // align-items: center; /* 水平居中 */
+    margin: 10px;
+    .title {
+      font-size: 18px;
+      font-weight: 600;
+      color: #fff;
+      margin-bottom: 20px;
+    }
+    .explain {
+      color: var(--vent-table-action-link);
+      margin-top: 18px;
+    }
+  }
+  .progress {
+    width: 100%;
+    height: 20px;
+    margin-top: 10px;
+  }
+  .progress-label {
+    margin-top: 20px;
+    text-align: left;
+    margin-bottom: 5px;
     color: #fff;
-    margin-bottom: 20px;
   }
-  .explain {
-    color: var(--vent-table-action-link);
-    margin-top: 18px;
+  ::deep .progress-text {
+    color: #fff !important; /* 自定义百分比文字颜色 */
+  }
+  .blast-delta-container {
+    margin: 50px;
+  }
+  .yellow-progress .ant-progress-bg {
+    background-color: yellow !important;
   }
-}
-.progress {
-  width: 100%;
-  height: 20px;
-  margin-top: 10px;
-}
-.progress-label {
-  margin-top: 20px;
-  text-align: left;
-  margin-bottom: 5px;
-  color: #fff;
-}
-::deep .progress-text {
-  color: #fff !important; /* 自定义百分比文字颜色 */
-}
-.blast-delta-container {
-  margin: 50px;
-}
-.yellow-progress .ant-progress-bg {
-  background-color: yellow !important;
-}
 
-:deep(.zxm-table-thead > tr > th:last-child) {
-  border-right: 1px solid #91e9fe !important;
-}
+  :deep(.zxm-table-thead > tr > th:last-child) {
+    border-right: 1px solid #91e9fe !important;
+  }
 </style>

+ 10 - 10
src/views/vent/monitorManager/alarmMonitor/common/echartLine3.vue

@@ -106,7 +106,7 @@
         ],
         series: [
           {
-            name: props.legendName + '平均值',
+            name: props.legendName + '实时值',
             type: 'line',
             smooth: true,
             yAxisIndex: 0,
@@ -116,36 +116,36 @@
                 width: 2,
               },
             },
-            data: props.y1Data,
+            data: props.y4Data,
           },
           {
-            name: props.legendName + '最大值',
+            name: props.legendName + '预测值',
             type: 'line',
             smooth: true,
-            symbol: 'none',
             yAxisIndex: 0,
+            symbol: 'none',
             lineStyle: {
               normal: {
                 width: 2,
               },
             },
-            data: props.y2Data,
+            data: props.y1Data,
           },
           {
-            name: props.legendName + '最值',
+            name: props.legendName + '最值',
             type: 'line',
             smooth: true,
-            yAxisIndex: 0,
             symbol: 'none',
+            yAxisIndex: 0,
             lineStyle: {
               normal: {
                 width: 2,
               },
             },
-            data: props.y3Data,
+            data: props.y2Data,
           },
           {
-            name: props.legendName + '实时值',
+            name: props.legendName + '最小值',
             type: 'line',
             smooth: true,
             yAxisIndex: 0,
@@ -155,7 +155,7 @@
                 width: 2,
               },
             },
-            data: props.y4Data,
+            data: props.y3Data,
           },
         ],
       };

+ 2 - 2
src/views/vent/monitorManager/alarmMonitor/common/measurePoint.vue

@@ -26,8 +26,8 @@
             <span>{{ `${el.label} : ` }}</span>
             <span
               :class="{
-                'status-f': el.value == 1,
-                'status-l': el.value == 0,
+                'status-f': el.label.includes('状态') && el.value == 1,
+                'status-l': el.label.includes('状态') && el.value == 0,
               }"
             >
               {{ el.label.includes('状态') ? (el.value == 1 ? '异常' : el.value == 0 ? '正常' : el.value) : el.value }}

+ 28 - 23
src/views/vent/monitorManager/alarmMonitor/warn/dustWarn.vue

@@ -46,7 +46,7 @@
     </div>
     <div class="bot-dust">
       <div class="bot-area">
-        <MeasurePoint title="粉尘监控测点信息" :cards="cardListTf" :charts="chartListTf" />
+        <MeasurePoint title="粉尘监控测点信息" :cards="cardListTf" :charts="chartListTf" chartWidth="420px" />
       </div>
     </div>
   </div>
@@ -66,7 +66,7 @@
   const { hasPermission } = usePermission();
   const { options, optionValue, getSelectRow, getSysDataSource } = useSystemSelect('sys_surface_caimei'); // 参数为场景类型(设备类型管理中可以查询到)
   //左侧数据列表
-  let menuList = reactive<any[]>([]);
+  let menuList = ref<any[]>([]);
   //当前左侧激活菜单的索引
   let activeIndex1 = ref(0);
   //顶部区域激活选项
@@ -99,8 +99,8 @@
     right: '5%',
     containLabel: true,
   });
-  const cardListTf = reactive<any[]>([]);
-  const chartListTf = reactive<any[]>([]);
+  const cardListTf = ref<any[]>([]);
+  const chartListTf = ref<any[]>([]);
   let router = useRouter();
   let echartNow = ref<any[]>([]);
   let echartYc = reactive<any[]>([]);
@@ -112,6 +112,7 @@
     timer = setTimeout(
       async () => {
         await getSysWarnList(deviceID, 'dust');
+        await getWindDeviceList();
         if (timer) {
           timer = null;
         }
@@ -165,16 +166,17 @@
   async function getMenuList() {
     let res = await sysTypeWarnList({ type: 'dust' });
     if (res.length != 0) {
-      menuList.length = 0;
+      const menuListTemp: any[] = [];
       res.forEach((el) => {
-        menuList.push({
+        menuListTemp.push({
           name: el.systemname,
           warn: '低风险',
           deviceID: el.id,
           strtype: el.strtype,
         });
       });
-      getMonitor(menuList[0].deviceID, true);
+      menuList.value = menuListTemp;
+      getMonitor(menuList.value[0].deviceID, true);
     }
   }
   //获取预警详情弹窗右侧数据
@@ -182,7 +184,6 @@
     sysWarn({ sysid: id, type: type }).then((res) => {
       // listData.common = res;
       topAreaList.length = 0;
-      chartListTf.length = 0;
 
       if (JSON.stringify(res) != '{}') {
         res.dust.forEach((el) => {
@@ -195,18 +196,6 @@
               { ids: 3, label: '喷雾状态', value: el.readData.atomizingState || '--' },
             ],
           });
-
-          // 初始化预测曲线配置,分别为x轴时间、平均、最大、最小、实时
-          const avgParams = el.avgParam || {
-            avg_dusting_value: 0,
-            max_dusting_value: 0,
-            min_dusting_value: 0,
-          };
-          chartListTf.push({
-            label: el.strinstallpos,
-            time: new Date(),
-            data: [avgParams.avg_dusting_value, avgParams.max_dusting_value, avgParams.min_dusting_value, el.readData.dustval],
-          });
         });
         choiceData = res.dust;
 
@@ -304,7 +293,9 @@
 
   //获取粉尘监控测点信息
   async function getWindDeviceList() {
-    cardListTf.length = 0;
+    // cardListTf.length = 0;
+    const cardListTfTemp: any[] = [];
+    const chartListTfTemp: any[] = [];
     let res = await getDevice({ devicetype: 'dusting', pagetype: 'normal' });
     if (res && res.msgTxt[0]) {
       let list = res.msgTxt[0].datalist || [];
@@ -312,7 +303,7 @@
         list.forEach((el: any) => {
           const readData = el.readData;
           el = Object.assign(el, readData);
-          cardListTf.push({
+          cardListTfTemp.push({
             label: '通信状态',
             value: el.netStatus == '0' ? '断开' : '连接',
             listR: [
@@ -333,13 +324,27 @@
               },
             ],
           });
+
+          // 初始化预测曲线配置,分别为x轴时间、平均、最大、最小、实时
+          const avgParams = el.avgParam || {
+            avg_dusting_value: 0,
+            max_dusting_value: 0,
+            min_dusting_value: 0,
+          };
+          chartListTfTemp.push({
+            label: el.strinstallpos,
+            time: new Date(),
+            data: [avgParams.avg_dusting_value, avgParams.max_dusting_value, avgParams.min_dusting_value, el.readData.dustval],
+          });
         });
       }
     }
+    cardListTf.value = cardListTfTemp;
+    chartListTf.value = chartListTfTemp;
   }
   onMounted(() => {
     getMenuList();
-    getWindDeviceList();
+    // getWindDeviceList();
   });
   onUnmounted(() => {
     if (timer) {

+ 1 - 1
src/views/vent/monitorManager/alarmMonitor/warn/ventilateWarn.vue

@@ -58,7 +58,7 @@
     </div>
     <div class="ventilate-bottom">
       <div class="bot-area">
-        <MeasurePoint title="通风监控测点信息" :timeout="1000" :cards="cardListTf" :charts="chartListTf" chartWidth="410px" />
+        <MeasurePoint title="通风监控测点信息" :timeout="1000" :cards="cardListTf" :charts="chartListTf" chartWidth="420px" />
       </div>
     </div>
   </div>

+ 1 - 1
src/views/vent/monitorManager/chamberMonitor/chamber.threejs.ts

@@ -64,7 +64,7 @@ export const setModelType = (type) => {
 export const mountedThree = () => {
   return new Promise(async (resolve) => {
     model = new UseThree('#chamber3D');
-    model.setEnvMap('test1');
+    model.setEnvMap('test1.hdr');
     model.renderer.toneMappingExposure = 1.0;
 
     chamberBaseObj = new ChamberBase(model);

+ 10 - 10
src/views/vent/monitorManager/comment/gaspatrolTable.vue

@@ -87,7 +87,7 @@
   ]);
   let Columns = ref<any[]>(gaspatrolColumnsOne);
   let gaspatrolTableData = ref<any[]>([]);
-  let $emit = defineEmits(['addressInput', 'userInput', 'insTypeChange', 'classChange','getSearch']);
+  let $emit = defineEmits(['addressInput', 'userInput', 'insTypeChange', 'classChange', 'getSearch']);
   //巡检类型选项切换
   let insTypeChange = (val) => {
     searchData.insType = val;
@@ -114,16 +114,16 @@
     $emit('userInput', searchData.userName);
   };
   //查询
-  let getSearch=()=>{
-    $emit('getSearch',);
-  }
+  let getSearch = () => {
+    $emit('getSearch');
+  };
   //重置
-  let getReset=()=>{
-    searchData.address=''
-    searchData.class=''
-    searchData.insType=''
-    searchData.userName=''
-  }
+  let getReset = () => {
+    searchData.address = '';
+    searchData.class = '';
+    searchData.insType = '';
+    searchData.userName = '';
+  };
   watch(
     () => props.tableData,
     (newV, oldV) => {

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

@@ -130,7 +130,7 @@ export const setModelType = (type, nitrogenNum?) => {
 export const mountedThree = () => {
   return new Promise(async (resolve) => {
     model = new UseThree('#nitrogen3D', '#nitrogenCss3D');
-    model.setEnvMap('test1');
+    model.setEnvMap('test1.hdr');
     model.renderer.toneMappingExposure = 1.0;
     model.canvasContainer?.addEventListener('mousedown', mouseEvent.bind(null));
 

+ 1 - 1
src/views/vent/monitorManager/dedustMonitor/dedust.threejs.ts

@@ -76,7 +76,7 @@ export const setModelType = (type) => {
 export const mountedThree = () => {
   return new Promise(async (resolve) => {
     model = new UseThree('#tunFace3D', '#tunFace3DCSS');
-    model.setEnvMap('test1');
+    model.setEnvMap('test1.hdr');
     /** @ts-ignore-next-line */
     model.renderer.toneMappingExposure = 1.0;
     // model?.camera?.position.set(100, 0, 1000);

+ 2 - 2
src/views/vent/monitorManager/deviceMonitor/components/device/device.api.ts

@@ -13,8 +13,8 @@ enum Api {
   getHistoryData = '/monitor/history/getHistoryData',
   safetyDeviceList = '/monitor/codeDict',
   exportXlsUrl = '/monitor/exportXls',
-  queryNowGasInsInfo='/safety/gasDayReport/queryNowGasInsInfo',//查询当前各班瓦斯巡检信息
-   queryNowGasSta='/safety/gasDayReport/queryNowGasSta'
+  queryNowGasInsInfo = '/safety/gasDayReport/queryNowGasInsInfo', //查询当前各班瓦斯巡检信息
+  queryNowGasSta = '/safety/gasDayReport/queryNowGasSta',
 }
 /**
  * 列表接口

+ 6 - 2
src/views/vent/monitorManager/deviceMonitor/components/device/device.data.ts

@@ -519,10 +519,14 @@ export const haveHandlerArr = [
   'pulping',
   'spray',
   'dustdev',
+  'gate_linkdlfm',
 
   // 'firemon',
 ]; // table无操作
-export const noWarningArr = ['location', 'vehicle', 'cheliang', 'majorpath']; // 无预警详情的
+export const noWarningArr = ['location', 'vehicle', 'cheliang', 'majorpath', 'gasDayReport', 'gate_linkdlfm']; // 无预警详情的
 export const haveSysDetailArr = ['forcFan', 'pulping']; //有场景详情的
 // export const haveSysDetailArr = ['']; //有场景详情的
-export const noHistoryArr = () => (History_Type['type'] == 'remote' ? ['surface_history', 'majorpath'] : ['majorpath']);
+export const noHistoryArr = () =>
+  History_Type['type'] == 'remote'
+    ? ['surface_history', 'majorpath', 'gasDayReport', 'gate_linkdlfm']
+    : ['majorpath', 'gasDayReport', 'gate_linkdlfm'];

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

@@ -65,6 +65,17 @@
             {{ treeNodeTitle }}详情
           </div>
         </div>
+        <!-- 进入瓦斯人工巡检历史详情 -->
+         <div v-if="deviceType == 'gasDayReport'">
+          <div class="device-button-group">
+            <div v-if="deviceType.startsWith('gasDayReport')" class="enter-detail"
+              @click.stop="goGasDayReport()">
+              <send-outlined />
+              瓦斯人工巡检历史详情
+            </div>
+          </div>
+        </div>
+        
         <div v-if="deviceType == 'gaspatrol'">
           <div class="device-button-group">
             <div class="enter-detail" @click="exportXls()">
@@ -94,7 +105,7 @@
           </div>
         </div>
         <a-tabs class="tabs-box" v-model:activeKey="activeKey" @change="tabChange" id="tabsBox">
-          <a-tab-pane key="1" tab="实时监测">
+          <a-tab-pane key="1" :tab="deviceType.startsWith('gasDayReport') ? '当日巡检监测':'实时监测'">
             <template
               v-if="(deviceType.startsWith('fanlocal') || deviceType.startsWith('fanmain')) && activeKey == '1'">
               <GroupMonitorTable ref="MonitorDataTable" :dataSource="dataSource" :columnsType="`${deviceType}_monitor`"
@@ -190,8 +201,8 @@
                 </template>
               </MonitorTable>
             </template>
-            <!-- 瓦斯巡检 -->
-            <template v-else-if="deviceType.startsWith('gaspatrol') && activeKey == '1'">
+            <!-- 瓦斯人工巡检 -->
+            <template v-else-if="deviceType.startsWith('gasDayReport') && activeKey == '1'">
               <gaspatrolTable :addressData="addressData" :personData="personData" :instypeData="instypeData"
                 :classData="classData" :tableData="gaspatrolData" @addressInput="addressInput" @userInput="userInput"
                 @insTypeChange="insTypeChange" @classChange="classChange" @getSearch="getSearch"></gaspatrolTable>
@@ -503,11 +514,11 @@ const onSelect: TreeProps['onSelect'] = (keys, e) => {
     if (deviceType.value != e.node.type) deviceType.value = e.node.type;
     go(`/micro-vent-3dModal/dashboard/analysis?type=tunMonitor&deviceType=${deviceType.value}&deviceid=`);
   }
-  // clearTimeout(timer);
-  // timer = undefined;
-  // if (startMonitorTimer) {
-  //   clearTimeout(startMonitorTimer);
-  // }
+  clearTimeout(timer);
+  timer = undefined;
+  if (startMonitorTimer) {
+    clearTimeout(startMonitorTimer);
+  }
   dataSource.value = [];
   if (!startMonitorTimer) {
     startMonitorTimer = setTimeout(() => {
@@ -579,7 +590,7 @@ function getMonitor(flag?) {
     if (Object.prototype.toString.call(timer) === '[object Null]') {
       timer = setTimeout(
         async () => {
-          if (!deviceType.value.startsWith('gaspatrol')) {
+          if (!deviceType.value.startsWith('gasDayReport')) {
             await getDataSource();
           } else {
             await queryNowGasInsInfoList();
@@ -920,6 +931,10 @@ function goDetail(record?) {
     }
   }
 }
+function goGasDayReport() {
+  const newPage = router.resolve({ path: '/gas/gas-report/home' });
+  window.open(newPage.href, '_blank');
+}
 
 function exportXls() {
   handleExportXls('瓦斯巡检记录', getExportUrl, { devicetype: deviceType.value });

+ 10 - 6
src/views/vent/monitorManager/deviceMonitor/staticSheets/fireSheet.vue

@@ -38,11 +38,11 @@
           <tr height="30">
             <td colspan="4" class="et42">12上煤</td>
             <td colspan="4" rowspan="4" class="et22">I类易自燃</td>
-            <td colspan="6" class="et42">53</td>
+            <td colspan="6" class="et42">37</td>
             <td colspan="4" rowspan="2" class="et22">12上煤</td>
-            <td colspan="6" rowspan="2" class="et22"><69</td>
-            <td colspan="6" rowspan="2" class="et42">69-188</td>
-            <td colspan="6" rowspan="2" class="et42">>188</td>
+            <td colspan="6" rowspan="2" class="et22"><40.2</td>
+            <td colspan="6" rowspan="2" class="et42">40.2-190.6</td>
+            <td colspan="6" rowspan="2" class="et42">>190.6</td>
             <td colspan="4" class="et42">型号</td>
             <td colspan="11" class="et22">可分析气体</td>
           </tr>
@@ -123,10 +123,14 @@
           </tr>
           <tr height="30">
             <td colspan="51" rowspan="4" class="et5">
-              1.JSG-8:J-监测、SG-束管、可分析8种气体。DM-1000、DM-1500:D-制氮装置、M-膜分离、1000m³/h、1500m³/h。
+              1SG8J监测SG,可分析和体DM-100DM1500D制氨装置M腹分育100m/h.1500m/h.2井下现有束普监测分品至,对个口采面密区和个相3的已采来区共计2个监测点2小时监
+              测来区所斯品大为2煤 盘区边界密两内64%,。37.120T
+              Z自动化J浆120注浆量、下黄土。4三相泡法发泡剂型号SKF=Ⅱ,添加L例05%-10%,发泡倍数:30,泡沫定时间285h,凝固点
+              ≤-10℃;三相泡沫专用高温渣油泵型号ZYB-200,流量12m³h,压力0.36MPa,吸程5m,轴速1400r/min,功率4kW.
+              <!-- 1.JSG-8:J-监测、SG-束管、可分析8种气体。DM-1000、DM-1500:D-制氮装置、M-膜分离、1000m³/h、1500m³/h。
               2.井下现有束管监测分站3套,对3个回采面采空区和3个相邻的已采采空区共计12个监测点24小时监测。采空区瓦斯最大为22煤一盘区边界巷密闭内36.4%。
               3.ZJ-120T:Z-自动化、J-注浆、120-注浆量、T-黄土。
-              4.三相泡沫发泡剂型号:SKF-Ⅱ,添加比例:0.5%-1.0%,发泡倍数≥30,泡沫稳定时间:≥8.5h,凝固点≤-10℃;三相泡沫专用高温渣油泵型号ZYB-200,流量12m³/h,压力0.36MPa,吸程5m,轴速1400r/min,功率4kW。
+              4.三相泡沫发泡剂型号:SKF-Ⅱ,添加比例:0.5%-1.0%,发泡倍数≥30,泡沫稳定时间:≥8.5h,凝固点≤-10℃;三相泡沫专用高温渣油泵型号ZYB-200,流量12m³/h,压力0.36MPa,吸程5m,轴速1400r/min,功率4kW。 -->
             </td>
           </tr>
           <tr height="30"> </tr>

+ 39 - 32
src/views/vent/monitorManager/deviceMonitor/staticSheets/ventilateSheet.vue

@@ -15,8 +15,8 @@
             <td colspan="10" class="et3 bg1">地点</td>
             <td colspan="11" class="et3 bg1">型号</td>
             <td colspan="8" class="et3 bg1">电机功率</td>
-            <td colspan="7" class="et3 bg1">最大风量</td>
-            <td colspan="8" class="et3 bg1">实际风量</td>
+            <td colspan="7" class="et3 bg1">最大风量(m³/min)</td>
+            <td colspan="8" class="et3 bg1">实际风量(m³/min)</td>
             <td colspan="8" class="et3 bg1">负压(Pa)</td>
           </tr>
           <tr height="30">
@@ -24,16 +24,16 @@
             <td colspan="11" class="et22">FBCDZ-10-NO.36</td>
             <td colspan="8" class="et22">2×800</td>
             <td colspan="7" class="et22">23400</td>
-            <td colspan="8" class="et22">18857</td>
-            <td colspan="8" class="et22">2280</td>
+            <td colspan="8" class="et22">19012</td>
+            <td colspan="8" class="et22">1360</td>
           </tr>
           <tr height="30">
             <td colspan="10" class="et22">松定霍洛</td>
             <td colspan="11" class="et22">FBCDZ-10-NO.34</td>
             <td colspan="8" class="et22">2×560</td>
             <td colspan="7" class="et22">18000</td>
-            <td colspan="8" class="et22">12867</td>
-            <td colspan="8" class="et22">1500</td>
+            <td colspan="8" class="et22">16177</td>
+            <td colspan="8" class="et22">1250</td>
           </tr>
           <tr height="30">
             <td colspan="52" rowspan="2" class="et3"
@@ -63,47 +63,54 @@
           </tr>
           <tr height="30">
             <td colspan="10" class="et22">辅运平硐</td>
-            <td colspan="6" class="et22">9542</td>
-            <td colspan="7" rowspan="3" class="et22">明安木独 回风立井</td>
+            <td colspan="6" class="et22">10105</td>
+            <td colspan="7" rowspan="4" class="et22">明安木独 回风立井</td>
             <td colspan="3" rowspan="2" class>22煤</td>
-            <td colspan="6" rowspan="2" class="et22">7695</td>
-            <td colspan="9" class="et22">12201综采面</td>
-            <td colspan="11" class="et21">1036</td>
+            <td colspan="6" rowspan="2" class="et22">7865</td>
+            <td colspan="9" class="et22">22210综采面</td>
+            <td colspan="11" class="et21">1186</td>
           </tr>
           <tr height="30">
             <td colspan="10" class="et22">主斜井</td>
-            <td colspan="6" class="et22">3939</td>
-            <td colspan="9" class="et22">42204综放面</td>
-            <td colspan="11" class="et21">1750</td>
+            <td colspan="6" class="et22">2998</td>
+            <td colspan="9" class="et22">42上206综放面</td>
+            <td colspan="11" class="et21">2085</td>
           </tr>
           <tr height="30">
             <td colspan="10" class="et22">工业广场进风斜井</td>
-            <td colspan="6" class="et22">339</td>
-            <td colspan="3" class="et22">12煤</td>
-            <td colspan="6" class="et22">11162</td>
-            <td colspan="9" class="et22">12上302综放面</td>
-            <td colspan="11" class="et21">1788</td>
+            <td colspan="6" class="et22">368</td>
+            <td colspan="3" rowspan="2" class="et22">12煤</td>
+            <td colspan="6" rowspan="2" class="et22">11147</td>
+            <td colspan="9" rowspan="2" class="et22">12上302综放面</td>
+            <td colspan="11" rowspan="2" class="et21">1283</td>
+          </tr>
+          <tr height="30">
+            <td colspan="10" class="et22">西南区副斜井</td>
+            <td colspan="6" class="et22">10105 </td>
+            <!-- <td colspan="9" class="et22">42204综放面</td>
+            <td colspan="11" class="et21">1750</td> -->
           </tr>
           <tr height="30">
             <td colspan="7" rowspan="2" class="et22">松定霍洛 进风立井</td>
             <td colspan="3" class="et22">22煤</td>
-            <td colspan="6" class="et22">7132</td>
+            <td colspan="6" class="et22">1492</td>
             <td colspan="7" rowspan="2" class="et22">松定霍洛 回风立井</td>
             <td colspan="3" class="et22">22煤</td>
-            <td colspan="6" class="et22">2098</td>
-            <td colspan="20" rowspan="3" class>等积孔14.2;<1困难、1-2中等、>2容易。</td>
+            <td colspan="6" class="et22">2420</td>
+            <td colspan="20" rowspan="3" class>等积孔19.29;<1困难、1-2中等、>2容易。</td>
           </tr>
+
           <tr height="30">
             <td colspan="3" class="et22">42煤</td>
-            <td colspan="6" class="et22">9831</td>
+            <td colspan="6" class="et22">9734</td>
             <td colspan="3" class="et22">42煤</td>
-            <td colspan="6" class="et22">10769</td>
+            <td colspan="6" class="et22">13757</td>
           </tr>
           <tr height="30">
             <td colspan="10" class="et22">总计</td>
-            <td colspan="6" class="et22">30783</td>
+            <td colspan="6" class="et22">34802</td>
             <td colspan="10" class="et22">总计</td>
-            <td colspan="6" class="et22">31724</td>
+            <td colspan="6" class="et22">35189</td>
           </tr>
           <tr height="30">
             <td colspan="13" class="et21 bg1">通风巷道米数</td>
@@ -118,13 +125,13 @@
             <td colspan="8" class="et22">12上煤</td>
             <td colspan="5" class="et22">45260</td>
             <td colspan="6" class="et21">检测时间</td>
-            <td colspan="8" class="et21">2021.11.19</td>
+            <td colspan="8" class="et21">2024.09.27</td>
           </tr>
           <tr height="30">
             <td colspan="8" class="et22">12煤</td>
             <td colspan="5" class="et22">15414</td>
             <td colspan="6" class="et21">检验周期</td>
-            <td colspan="8" class="et21">年</td>
+            <td colspan="8" class="et21">3年</td>
             <td colspan="16" class="et22 bg1">风速测定</td>
             <td colspan="9" class="et22 bg1">主扇性能测定</td>
           </tr>
@@ -132,7 +139,7 @@
             <td colspan="8" class="et22">22煤三盘区</td>
             <td colspan="5" class="et22">14477</td>
             <td colspan="6" class="et21">矿总风阻</td>
-            <td colspan="8" class="et21">0.015Ns2/m8</td>
+            <td colspan="8" class="et21">0.0042Ns2/m8</td>
             <td colspan="4" class="et22">风表</td>
             <td colspan="6" class="et22">测量范围</td>
             <td colspan="6" class="et22">启动风速</td>
@@ -141,9 +148,9 @@
           <tr height="31">
             <td colspan="8" class="et22">22下煤二盘区</td>
             <td colspan="5" class="et21">1374</td>
-            <td colspan="3" rowspan="3" class="et22">自然 风压</td>
+            <td colspan="3" rowspan="3" class="et22">自然 风压(Pa)</td>
             <td colspan="6" rowspan="2" class="et22">明安木独 回风立井</td>
-            <td colspan="5" rowspan="2" class="et21">141.51</td>
+            <td colspan="5" rowspan="2" class="et21">43.14</td>
             <td colspan="4" rowspan="2" class="et21">低</td>
             <td colspan="6" rowspan="2" class="et21">0.3-5m/s</td>
             <td colspan="6" rowspan="2" class="et21">≤0.2m/s</td>
@@ -157,7 +164,7 @@
             <td colspan="8" class="et22">22煤一盘区</td>
             <td colspan="5" class="et22">18914</td>
             <td colspan="6" class="et22">松定霍洛 回风立井</td>
-            <td colspan="5" class="et21">157.61</td>
+            <td colspan="5" class="et21">123.02</td>
             <td colspan="4" class="et22">中</td>
             <td colspan="6" class="et22">0.5-10m/s</td>
             <td colspan="6" class="et22">≤0.4m/s</td>

+ 1 - 1
src/views/vent/monitorManager/fanLocalMonitor/fanLocal.three.ts

@@ -617,7 +617,7 @@ export const mountedThree = (playerVal1) => {
   return new Promise((resolve) => {
     // model = VENT_PARAM['simulatedPassword'] ? new UseThree('#fanLocal3D', '#fanLocal3DCSS') : new UseThree('#fanLocal3D');
     model = new UseThree('#fanLocal3D', '#fanLocal3DCSS');
-    model.setEnvMap('test1');
+    model.setEnvMap('test1.hdr');
     model.renderer.toneMappingExposure = 1.0;
     if (model.renderer) {
       model.renderer.sortObjects = true;

+ 1 - 1
src/views/vent/monitorManager/fanLocalMonitor1/fanLocal.three.ts

@@ -606,7 +606,7 @@ export const mountedThree = (playerVal1) => {
   return new Promise((resolve) => {
     // model = VENT_PARAM['simulatedPassword'] ? new UseThree('#fanLocal3D', '#fanLocal3DCSS') : new UseThree('#fanLocal3D');
     model = new UseThree('#fanLocal3D', '#fanLocal3DCSS');
-    model.setEnvMap('test1');
+    model.setEnvMap('test1.hdr');
     model.renderer.toneMappingExposure = 1.0;
     if (model.renderer) {
       model.renderer.sortObjects = true;

+ 1 - 1
src/views/vent/monitorManager/fiberMonitor/fiber.threejs.ts

@@ -127,7 +127,7 @@ export const setModelType = (type) => {
 export const mountedThree = () => {
   return new Promise(async (resolve) => {
     model = new UseThree('#fiberBox', '#fiber3DCSS');
-    model.setEnvMap('test1');
+    model.setEnvMap('test1.hdr');
 
     model?.camera?.position.set(100, 0, 1000);
 

+ 1 - 1
src/views/vent/monitorManager/fireDoorMonitor/detail.vue

@@ -14,7 +14,7 @@
 
   onMounted(() => {
     model = new UseThree('#fengmen3D');
-    // model.setEnvMap('test');
+    // model.setEnvMap('test.hdr');
     //   model.setCustomMaterial = setCustomMaterial
     loading.value = true;
     model.setGLTFModel('9f-processed').then(() => {

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

@@ -133,7 +133,7 @@ const setControls = () => {
 export const mountedThree = () => {
   return new Promise(async (resolve) => {
     model = new UseThree('#damper3D', '', '#deviceDetail');
-    model.setEnvMap('test1');
+    model.setEnvMap('test1.hdr');
     model.renderer.toneMappingExposure = 1.0;
     model.camera.position.set(100, 0, 1000);
     fireDoor = new FireDoor(model);

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

@@ -95,7 +95,7 @@ export const setModelType = (type) => {
 export const mountedThree = () => {
   return new Promise(async (resolve) => {
     model = new UseThree('#gasPump3D', '#gas3DCSS');
-    model.setEnvMap('test2');
+    model.setEnvMap('test2.hdr');
     model.renderer.toneMappingExposure = 1.0;
     // model.renderer.outputEncoding = THREE.sRGBEncoding;
     gasPumpBaseObj = new gasPumpBase(model);

+ 1 - 1
src/views/vent/monitorManager/gateMonitor/detail.vue

@@ -14,7 +14,7 @@
 
   onMounted(() => {
     model = new UseThree('#fengmen3D');
-    // model.setEnvMap('test');
+    // model.setEnvMap('test.hdr');
     //   model.setCustomMaterial = setCustomMaterial
     loading.value = true;
     model.setGLTFModel('9f-processed').then(() => {

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

@@ -428,7 +428,7 @@ export const mountedThree = (playerDom) => {
 
   return new Promise(async (resolve) => {
     model = new UseThree('#damper3D', '', '#deviceDetail');
-    model.setEnvMap('test1');
+    model.setEnvMap('test1.hdr');
     model.renderer.toneMappingExposure = 0.9;
     model.camera.position.set(100, 0, 1000);
     switch (sysOrgCode) {

+ 3 - 4
src/views/vent/monitorManager/groutMonitor/components/groutHomeJj.vue

@@ -97,7 +97,8 @@
       if (deviceId) {
         await getCamera(deviceId, playerRef.value);
       }
-    }
+    },
+    { immediate: true }
   );
 
   onMounted(() => {
@@ -107,9 +108,7 @@
       await setModelType('bertaiBase');
       loading.value = false;
       timer = null;
-      getMonitor(true)?.then(async () => {
-        if (props.deviceId) await getCamera(props.deviceId, playerRef.value, 'pulping');
-      });
+      getMonitor(true);
     });
   });
   onUnmounted(() => {

+ 1 - 1
src/views/vent/monitorManager/groutMonitor/grout.data.ts

@@ -657,7 +657,7 @@ export function getMonitorComponent() {
       groutHome = defineAsyncComponent(() => import('./components/groutHomelt.vue'));
       return groutHome;
     default:
-      groutHome = defineAsyncComponent(() => import('./components/groutHomeHjt.vue'));
+      groutHome = defineAsyncComponent(() => import('./components/groutHomeJj.vue'));
       // groutHome = defineAsyncComponent(() => import('./components/groutHomelt.vue'));
       return groutHome;
   }

+ 1 - 1
src/views/vent/monitorManager/groutMonitor/grout.threejs.ts

@@ -94,7 +94,7 @@ export const setModelType = (type) => {
 export const mountedThree = () => {
   return new Promise(async (resolve) => {
     model = new UseThree('#grout3D');
-    model.setEnvMap('test1');
+    model.setEnvMap('test1.hdr');
     model.renderer.toneMappingExposure = 1.0;
     model?.camera?.position.set(100, 0, 600);
     groutBaseObj = new ChamberBase(model);

+ 8 - 9
src/views/vent/monitorManager/mainFanMonitor/components/conditionAssistance.vue

@@ -226,7 +226,7 @@
       const element: AssistanceItemType = assistanceData[key];
       const yData: number[] = computeItem(element);
       const series = {
-        name: `${element['Hz']}°`,
+        name: `${element['Hz']}${showFre.value ? 'Hz' : '°'}`,
         type: 'line',
         smooth: true,
         showSymbol: false,
@@ -310,7 +310,7 @@
         if (yDataList[i]['z']) yDataList[i]['z'] = 1;
       }
 
-      if (resultObj.value && `${resultObj.value.Hz}°` == yDataList[i]['name']) {
+      if (resultObj.value && `${resultObj.value.Hz}${showFre.value ? 'Hz' : '°'}` == yDataList[i]['name']) {
         minIndex = i;
       }
     }
@@ -505,12 +505,6 @@
     }
     if (!columns.value || columns.value.length == 0) {
       columns.value = fanInfo;
-    } else {
-      const flag = columns.value.findIndex((item) => item['dataIndex'] && (item['dataIndex'] as string) === 'angleAdjustableRange_mainFanInfo');
-      if (flag > -1) {
-        // 说明是角度了调节
-        showFre.value = false;
-      }
     }
   }
   watch(
@@ -523,8 +517,13 @@
   watch(
     () => props.selectData,
     async (selectData) => {
-      debugger;
       deviceData.value = selectData;
+      if (selectData['adjustmentMethod_mainFanInfo'] == 'angleadjust') {
+        // 说明是角度了调节
+        showFre.value = false;
+      } else {
+        showFre.value = true;
+      }
     }
   );
   onMounted(() => {});

+ 1 - 1
src/views/vent/monitorManager/mainFanMonitor/main.threejs.ts

@@ -360,7 +360,7 @@ export const setModelType = (type) => {
 export const mountedThree = (playerVal1) => {
   return new Promise(async (resolve) => {
     model = new UseThree('#main3D', '#main3DCSS');
-    model.setEnvMap('test1');
+    model.setEnvMap('test1.hdr');
     model.renderer.toneMappingExposure = 1.0;
     if (model.renderer) {
       model.renderer.sortObjects = true;

+ 1 - 1
src/views/vent/monitorManager/nitrogen/nitrogen.threejs.ts

@@ -124,7 +124,7 @@ export const mountedThree = (monitorDataGroupArr) => {
   // debugger;
   return new Promise(async (resolve) => {
     model = new UseThree('#compressor3D');
-    model.setEnvMap('test1');
+    model.setEnvMap('test1.hdr');
     model.renderer.toneMappingExposure = 1.0;
     model.camera?.layers.enable(0);
     model.canvasContainer?.addEventListener('mousedown', mouseEvent);

+ 1 - 1
src/views/vent/monitorManager/obfurage1Monitor/detail.vue

@@ -14,7 +14,7 @@
 
   onMounted(() => {
     model = new UseThree('#fengmen3D');
-    // model.setEnvMap('test');
+    // model.setEnvMap('test.hdr');
     //   model.setCustomMaterial = setCustomMaterial
     loading.value = true;
     model.setGLTFModel('9f-processed').then(() => {

+ 2 - 3
src/views/vent/monitorManager/obfurage1Monitor/gate.threejs.ts

@@ -106,7 +106,6 @@ export const setModelType = (type) => {
         );
       }, 300);
     } else if (fmType === 'fm2' && fm2 && fm2.group) {
-      
       fm2.clipActionArr.frontDoor.reset();
       fm2.clipActionArr.frontDoor.time = 0.5;
       fm2.clipActionArr.backDoor.reset();
@@ -145,7 +144,7 @@ export const initCameraCanvas = async (playerVal1?, playerVal2?) => {
   if (fmType === 'fm1' && fm1) {
     return await fm1.initCamera.call(fm1, playerVal1, playerVal2);
   } else if (fmType === 'fm2' && fm2) {
-    console.log('fm2-------',playerVal1);
+    console.log('fm2-------', playerVal1);
     return fm2.initCamera.call(fm2, playerVal1);
   }
 };
@@ -153,7 +152,7 @@ export const initCameraCanvas = async (playerVal1?, playerVal2?) => {
 export const mountedThree = () => {
   return new Promise(async (resolve) => {
     model = new UseThree('#damper3D', '', '#deviceDetail');
-    model.setEnvMap('test1');
+    model.setEnvMap('test1.hdr');
     model.renderer.toneMappingExposure = 1.0;
     model.camera.position.set(100, 0, 1000);
     // 单道、 双道

+ 1 - 1
src/views/vent/monitorManager/obfurageMonitor/obfurage.threejs.ts

@@ -72,7 +72,7 @@ export const setModelType = (type) => {
 export const mountedThree = () => {
   return new Promise(async (resolve) => {
     model = new UseThree('#obfurage3D');
-    model.setEnvMap('test1');
+    model.setEnvMap('test1.hdr');
     model.renderer.toneMappingExposure = 1.0;
 
     obfurageBaseObj = new ChamberBase(model);

+ 1 - 1
src/views/vent/monitorManager/tunFaceMonitor/tunFace.threejs.ts

@@ -77,7 +77,7 @@ export const setModelType = (type) => {
 export const mountedThree = () => {
   return new Promise(async (resolve) => {
     model = new UseThree('#tunFace3D', '#tunFace3DCSS');
-    model.setEnvMap('test1');
+    model.setEnvMap('test1.hdr');
     model.renderer.toneMappingExposure = 1.0;
     // model?.camera?.position.set(100, 0, 1000);
     workFaceObj = new WorkFace(model);

+ 39 - 7
src/views/vent/monitorManager/windowMonitor/dandaoFc.threejs.ts

@@ -30,22 +30,21 @@ class singleWindow {
   addLight = () => {
     if (!this.model) return;
 
-    const directionalLight = new THREE.DirectionalLight(0xffffff, 1);
-    directionalLight.position.set(-110, 150, 647);
+    const directionalLight = new THREE.DirectionalLight(0xfdffe0, 1);
+    directionalLight.position.set(-100, -50.0, 144.38);
     this.group?.add(directionalLight);
-    // directionalLight.target = group;
 
-    const pointLight2 = new THREE.PointLight(0xffffff, 1, 150);
-    pointLight2.position.set(-101, 34, 16);
+    const pointLight2 = new THREE.PointLight(0xffffff, 1.5, 150);
+    pointLight2.position.set(101, 34, 16);
     pointLight2.shadow.bias = 0.05;
     this.group.add(pointLight2);
 
-    const pointLight3 = new THREE.PointLight(0xffffff, 1, 150);
+    const pointLight3 = new THREE.PointLight(0xffffff, 1.5, 150);
     pointLight3.position.set(19, 25, -7);
     pointLight3.shadow.bias = 0.05;
     this.group.add(pointLight3);
 
-    const pointLight6 = new THREE.PointLight(0xffffff, 1, 300);
+    const pointLight6 = new THREE.PointLight(0xffffff, 1.5, 300);
     pointLight6.position.set(51, 51, 9);
     pointLight6.shadow.bias = 0.05;
     this.group.add(pointLight6);
@@ -326,13 +325,46 @@ class singleWindow {
       }
     }
   }
+  resetMaterial() {
+    const fcModal = this.group.getObjectByName('ddFc');
+    if (fcModal) {
+      const fengchuangbuxiugang = (fcModal.getObjectByName('FCshanye03') as THREE.Mesh)?.material; // 圈;
+      (fengchuangbuxiugang as THREE.MeshStandardMaterial).color.set(0xb3b3b3);
+      (fengchuangbuxiugang as THREE.MeshStandardMaterial).roughness = 0.36;
+      (fengchuangbuxiugang as THREE.MeshStandardMaterial).envMapIntensity = 0.92;
 
+      // const stainlessSteel_light = (fcModal.getObjectByName('Line12241') as THREE.Mesh)?.material; // 框;
+      // const fluorescent_green = (fcModal.getObjectByName('对象276') as THREE.Mesh)?.material; // fluorescent_green;
+      // const fluorescent_green1 = (fcModal.getObjectByName('Box770') as THREE.Mesh)?.material; // 23 - Default;
+      // const wire = (fcModal.getObjectByName('对象281') as THREE.Mesh)?.material; // wire_028149177;
+      // const net = (fcModal.getObjectByName('Plane9230') as THREE.Mesh)?.material; // wire_028149177;
+      // const stainlesssteel_blue = (fcModal.getObjectByName('Blades08') as THREE.Mesh)?.material; // wire_028149177;
+
+      // (stainlessSteel_light as THREE.MeshStandardMaterial).color.set(0x9e9e9e);
+      // (stainlessSteel_light as THREE.MeshStandardMaterial).roughness = 0.26;
+      // (stainlessSteel_light as THREE.MeshStandardMaterial).envMapIntensity = 0.92;
+
+      // (fluorescent_green as THREE.MeshStandardMaterial).color.set(0x00fff2);
+      // (fluorescent_green as THREE.MeshStandardMaterial).envMapIntensity = 1.5;
+      // //
+      // (fluorescent_green1 as THREE.MeshStandardMaterial).color.set(0x00fff2);
+      // (fluorescent_green1 as THREE.MeshStandardMaterial).envMapIntensity = 1.5;
+
+      // (wire as THREE.MeshStandardMaterial).color.set(0x38e4ff);
+      // (wire as THREE.MeshStandardMaterial).envMapIntensity = 2;
+
+      // (net as THREE.MeshStandardMaterial).color.set(0xcfcfcf);
+      // (stainlesssteel_blue as THREE.MeshStandardMaterial).color.set(0xababab);
+      // (stainlesssteel_blue as THREE.MeshStandardMaterial).roughness = 0.45;
+    }
+  }
   mountedThree(playerDom) {
     return new Promise((resolve) => {
       this.model.setGLTFModel('ddFc').then((gltf) => {
         const fcModal = gltf[0];
         fcModal.name = 'ddFc';
         this.group?.add(fcModal);
+        this.resetMaterial();
         this.setModalPosition();
         this.initAnimation();
         this.addLight();

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

@@ -238,8 +238,8 @@ export const mountedThree = (playerDom) => {
   return new Promise(async (resolve) => {
     model = new UseThree('#window3D');
     if (!model || !model.renderer || !model.camera) return;
-    model.setEnvMap('test1');
-
+    model.setEnvMap('royal_esplanade_1k.hdr');
+    model.renderer.toneMappingExposure = 1.8;
     model.camera.position.set(100, 0, 1000);
 
     singleWindowXkObj = new singleWindowXk(model);

+ 1 - 1
src/views/vent/monitorManager/windowMonitorBet/window.threejs.ts

@@ -151,7 +151,7 @@ export const mountedThree = (playerDom) => {
   return new Promise(async (resolve) => {
     model = new UseThree('#window3D');
     if (!model || !model.renderer || !model.camera) return;
-    model.setEnvMap('test1');
+    model.setEnvMap('test1.hdr');
     model.camera.position.set(100, 0, 1000);
     singleWindowObj = new singleWindow(model);
     singleWindowObj.mountedThree(playerDom);

+ 1 - 1
src/views/vent/monitorManager/windrectMonitor/windrect.threejs.ts

@@ -349,7 +349,7 @@ export const setModelType = (type) => {
 export const mountedThree = (playerDom) => {
   return new Promise(async (resolve) => {
     model = new UseThree('#window3D');
-    model.setEnvMap('test1');
+    model.setEnvMap('test1.hdr');
     model.renderer.toneMappingExposure = 1.0;
 
     ddWindRectObj = new ddWindRect(model);

+ 1 - 1
src/views/vent/monitorManager/workFaceMonitor/wokeFace.threejs.ts

@@ -95,7 +95,7 @@ export const showOrHideGasPlane = (isShowPlane) => {
 export const mountedThree = () => {
   return new Promise(async (resolve) => {
     model = new UseThree('#workFace3D', '#workFace3DCSS');
-    model.setEnvMap('test1');
+    model.setEnvMap('test1.hdr');
     model.renderer.toneMappingExposure = 1.0;
     // model.renderer = 1;
     workFaceObj = new WorkFace(model);

Niektoré súbory nie sú zobrazené, pretože je v týchto rozdielových dátach zmenené mnoho súborov