heyang 2 rokov pred
rodič
commit
3fa561ad4a

+ 8 - 0
api/index.js

@@ -992,6 +992,14 @@ export const subject_class  = (data) => {
         data: data,
     })
 };
+//查询风扇
+export const listData  = (data) => {
+    return apiResquest({
+        url: `/system/dict/data/list`,
+        method: 'GET',
+        data: data,
+    })
+};
 
 //获取管理员工作台随手拍数量数据
 export const appReceivePhotoNote  = (data) => {

+ 27 - 1
pages/manageWorkbench.vue

@@ -111,7 +111,7 @@
 <script>
 import $mqtt from '@/utils/mqtt.min.js';
 import { config } from '@/api/request/config.js'
-import { appReceivePhotoNote,getApprovalCount,subject_class,getSafeWarnList,laboratoryInfo,laboratoryList,getLoginUserInfo,outSubjectPhoto,gradingControl} from '@/api/index.js'
+import { appReceivePhotoNote,getApprovalCount,subject_class,getSafeWarnList,laboratoryInfo,laboratoryList,getLoginUserInfo,outSubjectPhoto,gradingControl,listData} from '@/api/index.js'
 import { tabBar } from '@/component/tabBar.vue'
 import { topWarn } from '@/component/topWarn.vue'
 export default {
@@ -145,6 +145,7 @@ export default {
       buttonArray:[],
       gradingCount:0,//分级管控未完成总数
       homepageBanner:uni.getStorageSync('homepageBanner'),
+	  fanList:[],//控制记录触发方式
     }
   },
   created() {
@@ -158,10 +159,24 @@ export default {
     this.getSafeWarnList();
     this.getLoginUserInfo();
     this.getGrading();
+	this.getListData();
     //监听报警信息
     getApp().watch(this.getSafeWarnList,'mqttAlarmData');
   },
   methods: {
+	  //查询控制记录触发方式
+	  async getListData() {
+		let _this = this;
+		let obj={
+		  pageNum:1,
+		  pageSize:20,
+		  dictType:'trigger_modes'
+		}
+		const {data} = await listData(obj)
+		if (data.code == 200) {
+		   this.fanList=data.rows
+		}
+	  },
     //暂无提示
     goCheckPage(){
       if(this.userInfo.isadmin){
@@ -245,6 +260,7 @@ export default {
     },
     //获取实验室详情
     async laboratoryInfoOne(item){
+		let self=this;
       const {data} = await laboratoryInfo(item.id);
       if(data.code == 200){
         let obj = data.data[0];
@@ -254,6 +270,16 @@ export default {
         obj.deptName = item.deptName;
         obj.subAddrrStr = item.subAddrrStr;
         obj.sensorFunctionList = item.sensorFunctionList;
+		//循环判断如果是排风扇的话,启动的时候是人工还是预案还是定时
+		for(let i=0;i<obj.labHardwareVOList.length;i++){
+		 if(obj.labHardwareVOList[i].hardwareTypeEnum.hardwareTypeCode == '2'){
+		 	for(let b=0;b<self.fanList.length;b++){
+		 	  if(self.fanList[b].dictValue==obj.labHardwareVOList[i].triggerModes){
+		 		obj.labHardwareVOList[i].dictLabel=self.fanList[b].dictLabel
+		 	  }
+		 	}
+		 }
+		}
         uni.navigateTo({
           url: '/pages_manage/workbench/laboratory/laboratoryInfo?item='+encodeURIComponent(JSON.stringify(obj))+'&deptId='+item.deptId
         });

+ 56 - 26
pages_manage/workbench/laboratory/laboratoryInfo.vue

@@ -74,7 +74,7 @@
           <view @click="shadeTypeClick()" v-if="trumpetList.length>0">语音广播</view>
         </view>
         <view class="for-button-box" v-for="(minItem,minIndex) in itemData.labHardwareVOList" :key="minIndex" v-if="minItem.hardwareTypeEnum.enumName!='VIDEO_MONITOR' && minItem.hardwareTypeEnum.enumName!='RFID_RECOGNIZER'&& minItem.hardwareTypeEnum.enumName!='AI_TERMINAL'&& minItem.hardwareTypeEnum.enumName!='AI_DOORLOCK'&& minItem.hardwareTypeEnum.enumName!='AI_CABINETLOCK' && minItem.hardwareName!='一键灭火' && minItem.isPcfire != '1'">
-          <view class="for-button-p">{{minItem.hardwareName}}</view>
+          <view class="for-button-p">{{minItem.hardwareName}}<text v-if="minItem.state.code=='3'&& minItem.hardwareTypeEnum.hardwareTypeCode==2">({{minItem.dictLabel}})</text></view>
           <img v-if="minItem.state.code=='3' && minItem.pcType != 1" src="@/pages_manage/images/icon_10.png" @click="hardwareButton(minItem,'close')">
           <img v-if="minItem.state.code=='4' && minItem.pcType != 1" src="@/pages_manage/images/icon_11.png" @click="hardwareButton(minItem,'open')">
           <view class="for-button-p" v-if="minItem.state.code=='0' && minItem.pcType != 1">离线</view>
@@ -187,7 +187,7 @@
 import $mqtt from '@/utils/mqtt.min.js';
 import { config } from '@/api/request/config.js'
 import { mySubjectList,subject_class,listDepartments,mangerControl,getDicts,laboratoryInfo,
-		 firedeviceStatus,firedeviceStart,firedeviceCancel,controlSwitch,getDeviceListBySub, textParseUrlIps,} from '@/api/index.js'
+		 firedeviceStatus,firedeviceStart,firedeviceCancel,controlSwitch,getDeviceListBySub, textParseUrlIps,listData} from '@/api/index.js'
 export default {
   data() {
     return {
@@ -246,10 +246,14 @@ export default {
 	  isEvacuate: true, //疏散按钮控制,当为true时候执行疏散
 	  //滑动记录
 	  startPoint: {},
+	 
     }
   },
   onLoad(option) {
     let self = this;
+	this.firedeviceStatus();
+	this.getDeviceList();
+	this.getListData();  
     if(uni.getStorageSync('saoCodeId')){
       this.saoCodeType = true;
 	  this.subId=uni.getStorageSync('saoCodeId');
@@ -323,8 +327,7 @@ export default {
         this.saoCodeType = false;
       }
     }
-	this.firedeviceStatus();
-    this.getDeviceList();
+	
   },
   onShow(){
     if(!this.saoCodeType){
@@ -343,6 +346,19 @@ export default {
 	    shadeTypeClick() {
 	        this.broadcastType = !this.broadcastType
 	    },
+		//查询控制记录触发方式
+		async getListData() {
+		  let _this = this;
+		  let obj={
+		    pageNum:1,
+		    pageSize:20,
+		    dictType:'trigger_modes'
+		  }
+		  const {data} = await listData(obj)
+		  if (data.code == 200) {
+		     this.fanList=data.rows
+		  }
+		},
 	  //一键灭火-查询设备状态
 	  async firedeviceStatus() {
 	    let _this = this;
@@ -578,6 +594,16 @@ export default {
           this.itemData.safeInfo.subAdmin = newList;
         }
         this.infoMaxBoxType = true;
+		//循环判断如果是排风扇的话,启动的时候是人工还是预案还是定时
+		for(let i=0;i<self.itemData.labHardwareVOList.length;i++){
+		 if(self.itemData.labHardwareVOList[i].hardwareTypeEnum.hardwareTypeCode == '2'){
+		 	for(let b=0;b<self.fanList.length;b++){
+		 	  if(self.fanList[b].dictValue==self.itemData.labHardwareVOList[i].triggerModes){
+		 		self.itemData.labHardwareVOList[i].dictLabel=self.fanList[b].dictLabel
+		 	  }
+		 	}
+		 }
+		}
       }
     },
 	//一键灭火-传感器状态异常
@@ -845,7 +871,7 @@ export default {
 	//点击选择喇叭
 	    trumpetClick(index) {
 	      this.trumpetList[index].type = !this.trumpetList[index].type
-	    
+
 	    },
 	    //录制
 	    recordButton(e) {
@@ -930,7 +956,7 @@ export default {
 	      let num = 0;
 	      for (let i = 0; i < self.trumpetList.length; i++) {
 	        if (self.trumpetList[i].type) {
-	
+
 	          num++
 	        }
 	      }
@@ -1071,11 +1097,11 @@ export default {
         flex-direction: column;
         z-index: 10;
         background: rgba(0, 0, 0, 0.2);
-  
+
         .null-box {
           flex: 1;
         }
-  
+
         /* 语音广播-执行疏散 */
         .broadcast {
           width: 100%;
@@ -1086,14 +1112,14 @@ export default {
           padding:22rpx 30rpx 30rpx;
           box-sizing: border-box;
           margin-top: 20rpx;
-  
+
           .broadcast_t {
             font-size: 30rpx;
             font-family: PingFang SC;
             font-weight: 500;
             color: #333333;
             line-height: 30rpx;
-  
+
             >label {
               font-size: 24rpx;
               font-family: PingFang SC;
@@ -1103,13 +1129,13 @@ export default {
               margin-left: 16rpx;
             }
           }
-  
+
           .trumpet-max-box {
             display: flex;
             justify-content: flex-start;
             margin-top: 22rpx;
             flex-wrap: wrap;
-  
+
             .trumpet-for-box {
               display: inline-block;
                width: auto;
@@ -1134,21 +1160,21 @@ export default {
                 margin: 12rpx 20rpx 0 25rpx;
               }
             }
-  
+
             .trumpet-color-a {
               border: 1px solid #0183FA;
               color: #0183FA;
             }
-  
+
             .trumpet-color-b {
               border: 1px solid #CCCCCC;
               color: #999;
             }
           }
-  
+
           .broadcast_m {
             width: 100%;
-  
+
             .broadcast_m_t {
               width: 142rpx;
               height: 142rpx;
@@ -1159,14 +1185,14 @@ export default {
               font-weight: 500;
               line-height: 170rpx;
               text-align: center;
-  
+
               >img {
                 width: 142rpx;
                 height: 142rpx;
                 position: absolute;
-  
+
               }
-  
+
               >label {
                 width: 100%;
                 font-size: 24rpx;
@@ -1179,30 +1205,30 @@ export default {
                 position: absolute;
                 top: 76rpx;
               }
-  
+
               /* 按下 */
               .press_color {
                 color: #FFFFFF;
               }
-  
+
               /* 松开 */
               .slip_color {
                 color: #0183FA;
               }
             }
-  
+
             .broadcast_m_t_back_a {
               background: url(@/images/icon_sskz_skfs.png);
               background-size: 100%;
               color: #FFFFFF;
             }
-  
+
             .broadcast_m_t_back_b {
               background: url(@/images/icon_sskz_azsh.png);
               background-size: 100%;
               color: #0183FA;
             }
-  
+
             .broadcast_m_b {
               font-size: 24rpx;
               font-family: PingFang SC;
@@ -1213,7 +1239,7 @@ export default {
               margin-top: 14rpx;
             }
           }
-  
+
           /* 疏散按钮 */
           .evacuation-button-box {
             width: 650rpx;
@@ -1524,7 +1550,7 @@ export default {
          margin-right: 18rpx;
         }
         view:nth-child(2){
-         
+
         }
       }
       .for-button-box:last-child{
@@ -1539,6 +1565,10 @@ export default {
           line-height:90rpx;
           color:#333333;
           font-size:28rpx;
+		  >text{
+			  font-size: 28rpx;
+			  color: #0183FA;
+		  }
         }
         img{
           height:50rpx;

+ 0 - 1
pages_manage/workbench/laboratory/monitor.vue

@@ -365,7 +365,6 @@ export default {
       const {data} = await GetStartList(obj);
       if(data.code == 200){
         let list = [];
-		debugger
         for(let i=0;i<data.data.length;i++){
           let text = uni.getStorageSync('cameraUrl');
           let url = data.data[i].hls;