Преглед изворни кода

1. 解决文件共享中心文件目录增删改操作不显示bug
2. 新增布尔台风门模型监测页面
3. 解决测风报表不能实时刷新问题

hongrunxia пре 11 месеци
родитељ
комит
a94a0bfa42

+ 19 - 22
src/components/vent/ventBox1.vue

@@ -2,38 +2,36 @@
   <div class="vent-box1-bg">
     <div class="box1-top">
       <div class="title">
-        <slot name = 'title'></slot>
+        <slot name="title"></slot>
       </div>
     </div>
     <div class="box1-center">
       <div class="box-container">
-        <slot name = 'container'></slot>
-      </div>      
+        <slot name="container"></slot>
+      </div>
     </div>
     <div class="box1-bottom"></div>
   </div>
 </template>
 <script>
-import { defineComponent } from 'vue'
-export default defineComponent ({
-  name: 'ventBox1',
-  setup(){
-
-  }
-})
+  import { defineComponent } from 'vue';
+  export default defineComponent({
+    name: 'VentBox1',
+    setup() {},
+  });
 </script>
 
 <style lang="less" scoped>
-  .vent-box1-bg{
+  .vent-box1-bg {
     width: 100%;
     min-height: 80px;
     position: relative;
-    .box1-top{
+    .box1-top {
       width: 100%;
       height: 35px;
       background: url('/@/assets/images/vent/border/box1-top.png') no-repeat;
       background-size: 100% 100%;
-      .title{
+      .title {
         width: 100%;
         height: 35px;
         display: flex;
@@ -42,11 +40,11 @@ export default defineComponent ({
         color: #fff;
       }
     }
-    .box1-center{
+    .box1-center {
       width: calc(100% + 0.5px);
       position: relative;
-      
-      .box-container{
+
+      .box-container {
         width: calc(100% - 2px);
         min-height: 50px;
         // position: relative;
@@ -56,7 +54,7 @@ export default defineComponent ({
         background-color: #00213236;
         backdrop-filter: blur(5px);
 
-        &::before{
+        &::before {
           content: '';
           display: block;
           position: absolute;
@@ -64,9 +62,9 @@ export default defineComponent ({
           left: 0;
           width: 1px;
           height: calc(100% - 10px);
-          background-image: linear-gradient(#3DF6FF00, #3DF6FF, #3DF6FF00);
+          background-image: linear-gradient(#3df6ff00, #3df6ff, #3df6ff00);
         }
-        &::after{
+        &::after {
           content: '';
           display: block;
           position: absolute;
@@ -74,11 +72,11 @@ export default defineComponent ({
           top: 5px;
           width: 1px;
           height: calc(100% - 10px);
-          background: linear-gradient(#3DF6FF00, #3DF6FF, #3DF6FF00);
+          background: linear-gradient(#3df6ff00, #3df6ff, #3df6ff00);
         }
       }
     }
-    .box1-bottom{
+    .box1-bottom {
       width: 100%;
       height: 35px;
       background: url('/@/assets/images/vent/border/box1-bottom.png') no-repeat;
@@ -89,5 +87,4 @@ export default defineComponent ({
       pointer-events: none;
     }
   }
-
 </style>

+ 1 - 1
src/views/vent/home/colliery/components/main-monitor.vue

@@ -50,7 +50,7 @@
     dataQ: 0,
     dataH: 0,
   });
-  let maxM3 = 150; // 高家梁是150,其他400
+  let maxM3 = 400; // 高家梁是150,其他400
   //风机启动状态
   let runStatus = ref('');
   //获取dom节点

+ 6 - 6
src/views/vent/monitorManager/alarmMonitor/index.vue

@@ -181,7 +181,7 @@
             </div>
             <div class="item-monitor-box">
               <span class="title">火灾预警监测</span>
-              <span :class="centerData.fire == '正常' ? 'value' : 'value1'">{{ centerData.fire == '正常' ? '低风险' : centerData.fire }}</span>
+              <span :class="centerData.fire ? 'value' : 'value1'">{{ centerData.fire == '正常' ? '低风险' : centerData.fire }}</span>
             </div>
           </div>
           <div class="item item2">
@@ -190,7 +190,7 @@
             </div>
             <div class="item-monitor-box">
               <span class="title">设备预警监测</span>
-              <span :class="centerData.sb == '正常' ? 'value' : 'value1'">{{ centerData.sb == '正常' ? '低风险' : centerData.sb }}</span>
+              <span :class="centerData.sb ? 'value' : 'value1'">{{ centerData.sb == '正常' ? '低风险' : centerData.sb }}</span>
             </div>
           </div>
           <div class="item item3">
@@ -199,7 +199,7 @@
             </div>
             <div class="item-monitor-box">
               <span class="title">粉尘预警监测</span>
-              <span :class="centerData.fc == '正常' ? 'value' : 'value1'">{{ centerData.fc == '正常' ? '低风险' : centerData.fc }}</span>
+              <span :class="centerData.fc ? 'value' : 'value1'">{{ centerData.fc == '正常' ? '低风险' : centerData.fc }}</span>
             </div>
           </div>
           <div class="item item4">
@@ -208,7 +208,7 @@
             </div>
             <div class="item-monitor-box">
               <span class="title">瓦斯预警监测</span>
-              <span :class="centerData.ws == '正常' ? 'value' : 'value1'">{{ centerData.ws == '正常' ? '低风险' : centerData.ws }}</span>
+              <span :class="centerData.ws ? 'value' : 'value1'">{{ centerData.ws == '正常' ? '低风险' : centerData.ws }}</span>
               <div class="">
                 <span class="title">矿井瓦斯鉴定等级监测</span>
                 <span class="value">低瓦斯</span>
@@ -221,7 +221,7 @@
             </div>
             <div class="item-monitor-box">
               <span class="title">通风预警监测</span>
-              <span :class="centerData.tf == '正常' ? 'value' : 'value1'">{{ centerData.tf == '正常' ? '低风险' : centerData.tf }}</span>
+              <span :class="centerData.tf ? 'value' : 'value1'">{{ centerData.tf == '正常' ? '低风险' : centerData.tf }}</span>
             </div>
           </div>
         </div>
@@ -259,7 +259,7 @@
                 'value6': item.level == 201,
                 'value': item.level != 0 && item.level != 101 && item.level != 102 && item.level != 103 && item.level != 104 && item.level != 201,
               }"> {{ item.value ? item.value : '-' }} </div> -->
-              <div class="value1"> {{ !item.value && item.value != '0' ? '-' : item.value }} </div>
+              <div class="value1"> {{ !item.value && item.value != '0' ? '-' : item.value == '正常' ? '低风险' : item.value }} </div>
               <div class="title">{{ item.title }}</div>
             </div>
           </div>

+ 19 - 12
src/views/vent/monitorManager/comment/HistoryTable.vue

@@ -151,29 +151,35 @@
   async function getDeviceList() {
     if (props.deviceType.split('_')[1] && props.deviceType.split('_')[1] === 'history') return;
     let result;
-    if (globalConfig.History_Type == 'vent') {
-      if (props.deviceListApi && !props.sysId) {
-        const res = await props.deviceListApi();
-        if (res['records'] && res['records'].length > 0) result = res['records'];
-      } else {
+    debugger;
+    if (props.deviceListApi) {
+      const res = await props.deviceListApi();
+      if (res['records'] && res['records'].length > 0) {
+        result = res['records'];
+      } else if (res['msgTxt'] && res['msgTxt'][0] && res['msgTxt'][0]['datalist']) {
+        result = res['msgTxt'][0]['datalist'];
+      }
+    } else {
+      if (globalConfig.History_Type == 'vent') {
         result = await defHttp.get({
           url: '/safety/ventanalyManageSystem/linkdevicelist',
           params: { sysId: props.sysId, deviceType: props.deviceType, pageSize: 9999 },
         });
+      } else {
+        result = await defHttp.get({
+          url: '/safety/ventanalyManageSystem/linkdevicelist',
+          params: { sysId: props.sysId, deviceType: props.deviceType.startsWith('vehicle') ? 'location_normal' : props.deviceType, pageSize: 9999 },
+        });
       }
-    } else {
-      result = await defHttp.get({
-        url: '/safety/ventanalyManageSystem/linkdevicelist',
-        params: { sysId: props.sysId, deviceType: props.deviceType.startsWith('vehicle') ? 'location_normal' : props.deviceType },
-      });
     }
+
     if (result) {
       deviceOptions.value = [];
       deviceOptions.value = result.map((item, index) => {
         return {
           label: item['strinstallpos'],
-          value: item['id'],
-          strtype: item['strtype'],
+          value: item['id'] || item['deviceID'],
+          strtype: item['strtype'] || item['deviceType'],
           strinstallpos: item['strinstallpos'],
           devicekind: item['devicekind'],
           stationtype: item['stationtype'],
@@ -399,6 +405,7 @@
   });
 
   onMounted(async () => {
+    debugger;
     await getDeviceList();
     if (deviceOptions.value[0]) {
       stationType.value = deviceOptions.value[0]['stationtype'];

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

@@ -7,7 +7,7 @@ enum Api {
   // deviceTypeList = '/sys/dict/DeviceKind/queryBySystem',
   deviceTypeList = '/safety/ventanalyDeviceInfo/DeviceKind/queryBySystem',
   itemList = '/sys/dictItem/list',
-
+  devPosition = '/sys/dict/getDictItems/devPosVisible',
 }
 /**
  * 列表接口
@@ -24,3 +24,4 @@ export const getDeviceList = (params) => defHttp.get({ url: Api.baseList, params
 export const getDeviceTypeList = (params) => defHttp.get({ url: Api.deviceTypeList, params });
 
 export const itemList = (params) => defHttp.get({ url: Api.itemList, params });
+export const devPosition = (params) => defHttp.get({ url: Api.devPosition, params });

+ 4 - 5
src/views/vent/monitorManager/deviceMonitor/components/device/device.data.ts

@@ -57,17 +57,15 @@ export function getMonitorComponent() {
     case 'sdmtjthlgmk': //哈拉沟
       FiberModal = defineAsyncComponent(() => import('./modal/fiber.modal.vue'));
       break;
-    // case 'sdmtjtbetmk': // 布尔台
-    // case 'sdmtjtbdmk': // 保德
-    // case 'sdmtjtbltmk': // 补连塔
     default:
       FiberModal = defineAsyncComponent(() => import('./modal/fiber.modal1.vue'));
   }
   const BundleModal = defineAsyncComponent(() => import('./modal/bundle.modal.vue'));
   const DustModal = defineAsyncComponent(() => import('./modal/dust.modal.vue'));
   const BallvalveModal = defineAsyncComponent(() => import('./modal/ballvalve.modal.vue'));
+  const AtomizingModal = defineAsyncComponent(() => import('./modal/atomizing.modal.vue'));
 
-  return { FiberModal, BundleModal, DustModal, BallvalveModal };
+  return { FiberModal, BundleModal, DustModal, BallvalveModal, AtomizingModal };
 }
 
 // export const searchFormSchema: FormSchema[] = [
@@ -319,11 +317,12 @@ export const haveDetailArr = [
   'fanmain',
   'fiber',
   'bundletube',
-  // 'dusting',
+  'dusting',
   'ballvalve',
   'pump',
   'safetymonitor',
   'nitrogen',
+  'atomizing',
 ];
 
 export const locationFormConfig = {

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

@@ -281,7 +281,7 @@
                 :sysId="systemID" 
                 :columns-type="`${deviceType}`"
                 :device-type="deviceType"
-                :device-list-api="getDeviceList.bind(null, { devicekind: deviceType, sysId: systemID, pageSize: 10000 })"
+                :device-list-api="list.bind(null, { devicetype: deviceType, sysId: systemID, pageSize: 10000 })"
                 designScope="device-history" :scroll="scroll" />
             </div>
           </a-tab-pane>
@@ -314,7 +314,7 @@
 <script setup lang="ts">
 import { ref, onMounted, onUnmounted, ComponentOptions, shallowRef, reactive, defineProps, watch } from 'vue'
 import { SendOutlined } from '@ant-design/icons-vue';
-import { list, getDeviceList, getDeviceTypeList } from './device.api'
+import { list, getDeviceList, getDeviceTypeList, devPosition } from './device.api'
 import AlarmHistoryTable from '../../../comment/AlarmHistoryTable.vue';
 import HistoryTable from '../../../comment/HistoryTable.vue';
 import HandlerHistoryTable from '../../../comment/HandlerHistoryTable.vue';
@@ -334,7 +334,7 @@ import BarAndLine from '/@/components/chart/BarAndLine.vue';
 import { nextTick } from 'vue';
 // import { BorderBox8 as DvBorderBox8 } from '@kjgl77/datav-vue3';
 
-const {FiberModal, BundleModal, DustModal, BallvalveModal} = getMonitorComponent()
+const {FiberModal, BundleModal, DustModal, BallvalveModal, AtomizingModal} = getMonitorComponent()
 type DeviceType = { deviceType: string, deviceName: string, datalist: any[] };
 
 const props = defineProps({
@@ -400,16 +400,18 @@ const onSelect: TreeProps['onSelect'] = (keys, e) => {
   deviceType.value = ''
   systemID.value = ''
   deviceList.value = []
+  const title = e.node.title; // 在
+  debugger;
   if (e.node.parent && (e.node.parent.node.type.toString()).startsWith('sys')) {
     systemType.value = e.node.parent.node.type
     deviceType.value = e.node.parent.node.type
     systemID.value = e.node.type
     // 传递工作面id信息,用于定位
-    actions.setGlobalState({ locationObj: { pageType: deviceType.value, deviceid: systemID.value }, pageObj: null });
+    actions.setGlobalState({ locationObj: { pageType: deviceType.value, deviceid: systemID.value  }, pageObj: null });
   } else {
     systemType.value = e.node.type
     deviceType.value = e.node.type
-    actions.setGlobalState({ locationObj: { pageType: deviceType.value }, pageObj: null });
+    actions.setGlobalState({ locationObj: { pageType: deviceType.value  }, pageObj: null });
   }
   if(timer == null){
     timer = undefined
@@ -630,6 +632,9 @@ function goDetail(record?) {
     } else if (deviceType.value.startsWith('ballvalve')) {
       currentModal.value = BallvalveModal
       modalVisible.value = true;
+    } else if (deviceType.value.startsWith('atomizing')) {
+      currentModal.value = AtomizingModal
+      modalVisible.value = true;
     } else if (deviceType.value.indexOf("gate") != -1) {
       const newPage = router.resolve({ path: '/monitorChannel/monitor-gate', query: { id: activeID.value } })
       window.open(newPage.href, '_blank')
@@ -816,6 +821,8 @@ onMounted(async () => {
   const posShowData = pageObj.locationPlane
   if (posShowData) {
     locationList.value = posShowData
+  }else{
+    locationList.value = await devPosition({})
   }
 })
 

+ 1 - 1
src/views/vent/monitorManager/deviceMonitor/components/device/modal/ballvalve.modal.vue

@@ -283,7 +283,7 @@
         // if (newActiveID != oldActiveID) {
         //   activeDeviceID.value = newActiveID as string;
         // }
-        activeDeviceID.value =  activeDeviceID.value ? activeDeviceID.value :  newActiveID ;
+        activeDeviceID.value = activeDeviceID.value ? activeDeviceID.value : newActiveID;
         deviceList.value = newDataSource?.filter((item: any, index) => {
           if ((!activeDeviceID.value && index == 0) || item.deviceID === activeDeviceID.value) {
             // activeDeviceID.value = item.deviceID;

+ 1 - 1
src/views/vent/monitorManager/deviceMonitor/components/device/modal/dust.modal.vue

@@ -262,7 +262,7 @@
         // if (newActiveID != oldActiveID) {
         //   activeDeviceID.value = newActiveID as string;
         // }
-        activeDeviceID.value =  activeDeviceID.value ? activeDeviceID.value :  newActiveID ;
+        activeDeviceID.value = activeDeviceID.value ? activeDeviceID.value : newActiveID;
         newDataSource?.forEach((item: any, index) => {
           if ((!activeDeviceID.value && index == 0) || item.deviceID === activeDeviceID.value) {
             // activeDeviceID.value = item.deviceID;

+ 1 - 3
src/views/vent/monitorManager/deviceMonitor/components/device/modal/fiber.modal.vue

@@ -192,7 +192,7 @@
         // if (newActiveID != oldActiveID) {
         //   activeDeviceID.value = newActiveID as string;
         // }
-        activeDeviceID.value =  activeDeviceID.value ? activeDeviceID.value :  newActiveID ;
+        activeDeviceID.value = activeDeviceID.value ? activeDeviceID.value : newActiveID;
         newDataSource?.forEach((item: any, index) => {
           if ((!activeDeviceID.value && index == 0) || item.deviceID === activeDeviceID.value) {
             // activeDeviceID.value = item.deviceID;
@@ -222,8 +222,6 @@
         });
       });
 
-     
-
       return {
         register,
         model: modelRef,

+ 2 - 2
src/views/vent/monitorManager/deviceMonitor/components/device/modal/fiber.modal1.vue

@@ -237,8 +237,8 @@
       watch([() => props.dataSource, () => props.activeID], ([newDataSource, newActiveID], [oldDataSource, oldActiveID]) => {
         console.log(newDataSource, 'newDataSource--------------');
         deviceList.value = newDataSource as any[];
-       
-        activeDeviceID.value =  activeDeviceID.value ? activeDeviceID.value :  newActiveID ;
+
+        activeDeviceID.value = activeDeviceID.value ? activeDeviceID.value : newActiveID;
         newDataSource?.forEach((item: any, index) => {
           if ((!activeDeviceID.value && index == 0) || item.deviceID === activeDeviceID.value) {
             // activeDeviceID.value = item.deviceID;

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

@@ -126,11 +126,11 @@ export const addText = (selectData) => {
   }
   const textArr = [
     {
-      text: `煤矿巷道远程局部风机系统`,
+      text: `智能局部通风机监测与控制系统`,
       font: 'normal 30px Arial',
       color: '#009900',
       strokeStyle: '#002200',
-      x: 50,
+      x: 20,
       y: 108,
     },
     {

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

@@ -47,7 +47,7 @@ class singleWindow {
         y: 90,
       },
       {
-        text: `${selectData.OpenDegree ? '开度值' : selectData.forntArea ? '过风面积(m2)' : '过风面积(m2)'}:`,
+        text: `${selectData.OpenDegree ? '开度值(%)' : selectData.forntArea ? '过风面积(m2)' : '过风面积(m2)'}:`,
         font: 'normal 30px Arial',
         color: '#009900',
         strokeStyle: '#002200',
@@ -67,7 +67,7 @@ class singleWindow {
         y: 145,
       },
       {
-        text: `${selectData.frontRearDP ? '风窗压差(Pa):' : selectData.windSpeed ? '风速:' : '通信状态:'}:`,
+        text: `${selectData.frontRearDP ? '风窗压差(Pa)' : selectData.windSpeed ? '风速(m/s)' : '通信状态'}:`,
         font: 'normal 30px Arial',
         color: '#009900',
         strokeStyle: '#002200',
@@ -91,7 +91,7 @@ class singleWindow {
         y: 200,
       },
       {
-        text: `${selectData.fWindowM3 ? '过风量(m³/min)' : '风窗道数'} `,
+        text: `${selectData.fWindowM3 ? '过风量(m³/min)' : '风窗道数'}: `,
         font: 'normal 30px Arial',
         color: '#009900',
         strokeStyle: '#002200',

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

@@ -47,7 +47,7 @@ class singleWindowBet {
         y: 95,
       },
       {
-        text: `${selectData.OpenDegree ? '开度值' : selectData.forntArea ? '过风面积(m2)' : '过风面积(m2)'}:`,
+        text: `${selectData.OpenDegree ? '开度值(%)' : selectData.forntArea ? '过风面积(m2)' : '过风面积(m2)'}:`,
         font: 'normal 30px Arial',
         color: '#009900',
         strokeStyle: '#002200',
@@ -67,7 +67,7 @@ class singleWindowBet {
         y: 145,
       },
       {
-        text: `${selectData.frontRearDP ? '风窗压差(Pa):' : selectData.windSpeed ? '风速:' : '通信状态:'}:`,
+        text: `${selectData.frontRearDP ? '风窗压差(Pa)' : selectData.windSpeed ? '风速(m/s)' : '通信状态:'}:`,
         font: 'normal 30px Arial',
         color: '#009900',
         strokeStyle: '#002200',
@@ -91,7 +91,7 @@ class singleWindowBet {
         y: 200,
       },
       {
-        text: `${selectData.fWindowM3 ? '过风量(m³/min)' : '风窗道数'} `,
+        text: `${selectData.fWindowM3 ? '过风量(m³/min)' : '风窗道数'}: `,
         font: 'normal 30px Arial',
         color: '#009900',
         strokeStyle: '#002200',

+ 3 - 3
src/views/vent/monitorManager/windowMonitor/shuangdaoFc.threejs.ts

@@ -42,7 +42,7 @@ class doubleWindow {
         y: 97,
       },
       {
-        text: `${selectData.OpenDegree ? '开度值' : selectData.forntArea ? '过风面积(m2)' : '过风面积(m2)'}:`,
+        text: `${selectData.OpenDegree ? '开度值(%)' : selectData.forntArea ? '过风面积(m2)' : '过风面积(m2)'}:`,
         font: 'normal 28px Arial',
         color: '#009900',
         strokeStyle: '#002200',
@@ -62,7 +62,7 @@ class doubleWindow {
         y: 150,
       },
       {
-        text: `${selectData.frontRearDP ? '风窗压差(Pa)' : selectData.windSpeed ? '风速' : '通信状态'}:`,
+        text: `${selectData.frontRearDP ? '风窗压差(Pa)' : selectData.windSpeed ? '风速' : '通信状态'}:`,
         font: 'normal 28px Arial',
         color: '#009900',
         strokeStyle: '#002200',
@@ -86,7 +86,7 @@ class doubleWindow {
         y: 210,
       },
       {
-        text: `${selectData.fWindowM3 ? '过风量(m³/min)' : '风窗道数'} `,
+        text: `${selectData.fWindowM3 ? '过风量(m³/min)' : '风窗道数'}: `,
         font: 'normal 28px Arial',
         color: '#009900',
         strokeStyle: '#002200',

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

@@ -76,7 +76,7 @@
                   <a-tag v-if="record.isRun == -2 || record.isRun == -1" :color="record.isRun == -2 ? '#95CF65' : '#ED5700'">{{
                     record.isRun == -2 ? '空闲' : '等待'
                   }}</a-tag>
-                  <a-tag v-else-if="record.isRun == 100" color="#4693FF">完成</a-tag>
+                  <a-tag v-else-if="record.isRun == 100" color="#4693FF">空闲</a-tag>
                   <Progress v-else :percent="Number(record.isRun)" size="small" status="active" />
                 </template>
               </template>
@@ -139,7 +139,7 @@
             </div>
           </a-tab-pane>
           <a-tab-pane key="6" tab="测风结果">
-            <ResultTable deviceType="windrect_list" :scroll="scroll" />
+            <ResultTable v-if="activeKey === '6'" deviceType="windrect_list" :scroll="scroll" />
           </a-tab-pane>
         </a-tabs>
       </dv-border-box8>

+ 6 - 4
src/views/vent/performance/fileDetail/index.vue

@@ -280,10 +280,12 @@
   watch(
     () => router.currentRoute.value,
     (val) => {
-      console.log('各矿传参', val);
-      selfParam.bpmStatus = val.query.bpmStatus;
-      selfParam.sysOrgCode = val.query.sysOrgCode;
-      selfParam.flag = val.query.flag;
+      if (val) {
+        console.log('各矿传参', val);
+        selfParam.bpmStatus = val.query.bpmStatus;
+        selfParam.sysOrgCode = val.query.sysOrgCode;
+        selfParam.flag = val.query.flag;
+      }
     },
     { immediate: true }
   );