Browse Source

局部通风机页面修改

bobo04052021@163.com 2 months ago
parent
commit
e7f86aca2b

+ 102 - 102
src/views/vent/monitorManager/comment/bundleMonitorTable.vue

@@ -17,134 +17,134 @@
       </a-row>
     </div>
     <div class="content-area">
-      <a-table :columns="bundleColumns" :data-source="tableData" size="small" class="tableW"> </a-table>
+      <a-table :columns="bundleColumns" :data-source="tableData" size="small" class="tableW" :scroll="{ y: 300 }"> </a-table>
     </div>
   </div>
 </template>
 
 <script setup lang="ts">
-  import { ref, onMounted, reactive } from 'vue';
-  import { bundleColumns } from './comment.data';
-  import { getInfoList, getAllFileList } from './comment.api';
-  // import 'ant-design-vue/dist/antd.css'; // 引入样式
-  let selectList = ref<any[]>([]);
-  let jcddArr = ref<any[]>([]);
-  let createBy = ref<any[]>([]);
-  let createTime = 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);
-  //获取束管日报
-  async function getTableList(params: any) {
-    let res = await getInfoList({ type: 'bundle', ...params });
-    const content = res.content;
-    let contentArr = JSON.parse(content);
-    createBy.value = res.createBy;
-    createTime.value = res.createTime;
-    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;
-  }
+import { ref, onMounted, reactive } from 'vue';
+import { bundleColumns } from './comment.data';
+import { getInfoList, getAllFileList } from './comment.api';
+// import 'ant-design-vue/dist/antd.css'; // 引入样式
+let selectList = ref<any[]>([]);
+let jcddArr = ref<any[]>([]);
+let createBy = ref<any[]>([]);
+let createTime = 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);
+//获取束管日报
+async function getTableList(params: any) {
+  let res = await getInfoList({ type: 'bundle', ...params });
+  const content = res.content;
+  let contentArr = JSON.parse(content);
+  createBy.value = res.createBy;
+  createTime.value = res.createTime;
+  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;
+}
 
-  //获取所有文件列表
-  async function getAllFile() {
-    let res = await getAllFileList({ type: 'bundle' });
-    selectList.value = res.records.map((item: any) => ({
-      fileId: item.fileId,
-      fileName: item.fileName,
-    }));
-    jcddArr.value = res.records.map((item: any) => ({
-      fileId: item.jcdd,
-    }));
+//获取所有文件列表
+async function getAllFile() {
+  let res = await getAllFileList({ type: 'bundle' });
+  selectList.value = res.records.map((item: any) => ({
+    fileId: item.fileId,
+    fileName: item.fileName,
+  }));
+  jcddArr.value = res.records.map((item: any) => ({
+    fileId: item.jcdd,
+  }));
+  if (selectList.value.length > 0) {
+    formSearch.fileId = selectList.value[0].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: 'bundle' });
+  getAllFile().then(() => {
     if (selectList.value.length > 0) {
       formSearch.fileId = selectList.value[0].fileId;
+      selectedFileId.value = selectList.value[0].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: 'bundle' });
-    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>
-  @ventSpace: zxm;
-  .dustMonitor {
-    .search-area {
-      margin: 15px;
+@ventSpace: zxm;
+.dustMonitor {
+  .search-area {
+    margin: 15px;
 
-      .area-item {
-        display: flex;
-        align-items: center;
+    .area-item {
+      display: flex;
+      align-items: center;
 
-        .item-text {
-          color: #fff;
-        }
+      .item-text {
+        color: #fff;
       }
     }
+  }
 
-    .zxm-picker,
-    .zxm-input {
-      border: 1px solid #3ad8ff77;
-      background-color: #ffffff00;
-      color: #fff;
-    }
+  .zxm-picker,
+  .zxm-input {
+    border: 1px solid #3ad8ff77;
+    background-color: #ffffff00;
+    color: #fff;
   }
+}
 
-  :deep(.@{ventSpace}-table-body) {
-    height: auto !important;
+:deep(.@{ventSpace}-table-body) {
+  height: auto !important;
 
-    tr > td {
-      background: #ffffff00 !important;
-    }
+  tr > td {
+    background: #ffffff00 !important;
+  }
 
-    tr.@{ventSpace}-table-row-selected {
-      td {
-        background: #007cc415 !important;
-      }
+  tr.@{ventSpace}-table-row-selected {
+    td {
+      background: #007cc415 !important;
     }
   }
+}
 
-  :deep(.jeecg-basic-table .@{ventSpace}-table-wrapper .@{ventSpace}-table-title) {
-    min-height: 0;
-  }
+:deep(.jeecg-basic-table .@{ventSpace}-table-wrapper .@{ventSpace}-table-title) {
+  min-height: 0;
+}
 
-  :deep(.@{ventSpace}-pagination) {
-    margin-right: 20px !important;
-  }
+:deep(.@{ventSpace}-pagination) {
+  margin-right: 20px !important;
+}
 
-  :deep(.zxm-table-thead > tr > th:last-child) {
-    border-right: 1px solid #91e9fe55 !important;
-  }
+:deep(.zxm-table-thead > tr > th:last-child) {
+  border-right: 1px solid #91e9fe55 !important;
+}
 </style>

+ 97 - 97
src/views/vent/monitorManager/comment/bundleSpyMonitorTable.vue

@@ -16,129 +16,129 @@
         </a-col>
       </a-row>
     </div>
-    <div class="content-area"> <a-table :columns="bundleSpycolumns" :data-source="tableData" size="small" class="tableW" /></div>
+    <div class="content-area"> <a-table :columns="bundleSpycolumns" :data-source="tableData" size="small" class="tableW" :scroll="{ y: 250 }" /></div>
   </div>
 </template>
 
 <script setup lang="ts">
-  import { ref, onMounted, reactive } from 'vue';
-  import { bundleSpycolumns } from './comment.data';
-  import { getInfoList, getAllFileList } from './comment.api';
-  // import 'ant-design-vue/dist/antd.css'; // 引入样式
-  let selectList = ref<any[]>([]);
+import { ref, onMounted, reactive } from 'vue';
+import { bundleSpycolumns } from './comment.data';
+import { getInfoList, getAllFileList } from './comment.api';
+// 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 createBy = ref<any[]>([]);
-  let createTime = ref<any[]>([]);
-  let tableData = ref<any[]>([]);
-  let selectedFileId = ref<string | null>(null);
-  //获取色谱仪报表
-  async function getTableList(params: any) {
-    let res = await getInfoList({ type: 'bundleSpy', ...params });
-    const content = res.content;
-    let contentArr = JSON.parse(content);
-    createBy.value = res.createBy;
-    createTime.value = res.createTime;
-    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;
+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 createBy = ref<any[]>([]);
+let createTime = ref<any[]>([]);
+let tableData = ref<any[]>([]);
+let selectedFileId = ref<string | null>(null);
+//获取色谱仪报表
+async function getTableList(params: any) {
+  let res = await getInfoList({ type: 'bundleSpy', ...params });
+  const content = res.content;
+  let contentArr = JSON.parse(content);
+  createBy.value = res.createBy;
+  createTime.value = res.createTime;
+  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;
+}
+//获取所有文件列表
+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();
   }
-  //获取所有文件列表
-  async function getAllFile() {
-    let res = await getAllFileList({ type: 'bundleSpy' });
-    selectList.value = res.records.map((item: any) => ({
-      fileId: item.fileId,
-      fileName: item.fileName,
-    }));
+}
+//查询
+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();
     }
-  }
-  //查询
-  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>
-  @ventSpace: zxm;
-  .dustMonitor {
-    .search-area {
-      margin: 15px;
+@ventSpace: zxm;
+.dustMonitor {
+  .search-area {
+    margin: 15px;
 
-      .area-item {
-        display: flex;
-        align-items: center;
+    .area-item {
+      display: flex;
+      align-items: center;
 
-        .item-text {
-          color: #fff;
-        }
+      .item-text {
+        color: #fff;
       }
     }
+  }
 
-    .zxm-picker,
-    .zxm-input {
-      border: 1px solid #3ad8ff77;
-      background-color: #ffffff00;
-      color: #fff;
-    }
+  .zxm-picker,
+  .zxm-input {
+    border: 1px solid #3ad8ff77;
+    background-color: #ffffff00;
+    color: #fff;
   }
+}
 
-  :deep(.@{ventSpace}-table-body) {
-    height: auto !important;
+:deep(.@{ventSpace}-table-body) {
+  height: auto !important;
 
-    tr > td {
-      background: #ffffff00 !important;
-    }
+  tr > td {
+    background: #ffffff00 !important;
+  }
 
-    tr.@{ventSpace}-table-row-selected {
-      td {
-        background: #007cc415 !important;
-      }
+  tr.@{ventSpace}-table-row-selected {
+    td {
+      background: #007cc415 !important;
     }
   }
+}
 
-  :deep(.jeecg-basic-table .@{ventSpace}-table-wrapper .@{ventSpace}-table-title) {
-    min-height: 0;
-  }
+:deep(.jeecg-basic-table .@{ventSpace}-table-wrapper .@{ventSpace}-table-title) {
+  min-height: 0;
+}
 
-  :deep(.@{ventSpace}-pagination) {
-    margin-right: 20px !important;
-  }
+:deep(.@{ventSpace}-pagination) {
+  margin-right: 20px !important;
+}
 
-  :deep(.zxm-table-thead > tr > th:last-child) {
-    border-right: 1px solid #91e9fe55 !important;
-  }
+:deep(.zxm-table-thead > tr > th:last-child) {
+  border-right: 1px solid #91e9fe55 !important;
+}
 </style>

+ 1 - 1
src/views/vent/monitorManager/comment/dustMonitorTable.vue

@@ -16,7 +16,7 @@
         </a-col>
       </a-row>
     </div>
-    <div class="content-area"> <a-table :columns="dsutColumns" :data-source="tableData" size="small" class="tableW" /></div>
+    <div class="content-area"> <a-table :columns="dsutColumns" :data-source="tableData" size="small" class="tableW" :scroll="{ y: 250 }" /></div>
   </div>
 </template>
 

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

@@ -357,7 +357,7 @@ export const addCssText = () => {
       fanLocalCSS3D.name = 'text9';
       fanLocalCSS3D.scale.set(0.07, 0.07, 0.07);
       fanLocalCSS3D.rotation.y = -Math.PI / 2;
-      fanLocalCSS3D.position.set(-40, 6, -41);
+      fanLocalCSS3D.position.set(-18, 7.46, -35.28);
       group.add(fanLocalCSS3D);
     }
   }
@@ -368,7 +368,7 @@ export const addCssText = () => {
       fanLocalCSS3D.name = 'text10';
       fanLocalCSS3D.scale.set(0.1, 0.1, 0.1);
       fanLocalCSS3D.rotation.y = -Math.PI / 2;
-      fanLocalCSS3D.position.set(100, 10, -45);
+      fanLocalCSS3D.position.set(80, 9, -43);
       group.add(fanLocalCSS3D);
     }
   }

+ 26 - 9
src/views/vent/monitorManager/fanLocalMonitor/index.vue

@@ -173,7 +173,13 @@
       <div class="top-right row">
         <template v-for="(item, index) in modalTypeArr.rightBtnArr" :key="index">
           <div
-            v-if="(item.permission === 'fanLocal:gasAlarmSet' || item.permission === 'fanLocal:kkjc') && hasPermission(item.permission)"
+            v-if="
+              (item.permission === 'fanLocal:gasAlarmSet' ||
+                item.permission === 'fanLocal:kkjc' ||
+                item.permission === 'fanLocal:supplyAir' ||
+                item.permission === 'fanLocal:dischargeGas') &&
+              hasPermission(item.permission)
+            "
             :class="{ 'button-box': btnClick, 'button-disable': !btnClick }"
             @click="showModal(item)"
             >{{ item.value }}</div
@@ -233,7 +239,7 @@
                   <CaretRightOutlined class="icon-style" />
                 </div>
                 <div class="item-name">{{ data.title }}</div>
-                <div class="item-value">{{ data.value ? data.value : '-' }}</div>
+                <div :class="['item-value', { 'text-red-bold': data.value === '超限' }]">{{ data.value ? data.value : '-' }}</div>
               </div>
             </template>
           </div>
@@ -798,9 +804,14 @@ const modalTypeArr = reactive({
       permission: 'fanLocal:control',
     },
     // {
-    //   key: 'gasAlarm',
-    //   value: '瓦斯报警',
-    //   permission: 'fanLocal:control',
+    //   key: 'dischargeGas',
+    //   value: '智能排放瓦斯',
+    //   permission: 'fanLocal:dischargeGas',
+    // },
+    // {
+    //   key: 'supplyAir',
+    //   value: '按需供风联动',
+    //   permission: 'fanLocal:supplyAir',
     // },
   ],
 });
@@ -1024,9 +1035,9 @@ async function getDataSource() {
         // 更新供风充足评价
         leftColumns1.value[0].value = airVolume >= needq ? '充足' : '不充足';
         if (data.tunnelType === 'coalTunnel') {
-          leftColumns1.value[1].value = m3 >= 0.25 ? '超限' : '不超限';
+          leftColumns1.value[1].value = m3 < 0.25 ? '超限' : '正常';
         } else if (data.tunnelType === 'rockTunnel' || data.tunnelType === 'coalRockTunnel') {
-          leftColumns1.value[1].value = m3 >= 0.15 ? '超限' : '不超限';
+          leftColumns1.value[1].value = m3 < 0.15 ? '超限' : '正常';
         }
         if (data.airLeakageRatePerHundredX === '' || data.airLeakageRatePerHundred_merge === '') {
           leftColumns1.value[2].value = '-';
@@ -1715,7 +1726,10 @@ onUnmounted(() => {
 
         .item-name {
           width: 180px;
-          line-height: 60px;
+          display: flex;
+          align-items: center; /* 垂直居中 */
+          word-wrap: break-word;
+          white-space: normal;
         }
 
         .item-value {
@@ -1728,7 +1742,6 @@ onUnmounted(() => {
           border: 1px solid var(--vent-base-border);
           border-radius: 13px;
           background: linear-gradient(to right, #00f5fe44, #0090ff44);
-
           &::before {
             width: 6px;
             height: 6px;
@@ -1740,6 +1753,10 @@ onUnmounted(() => {
             border-radius: 3px;
           }
         }
+        .text-red-bold {
+          color: red;
+          font-weight: bold;
+        }
       }
 
       .warning-header {