dedsudiyu il y a 2 ans
Parent
commit
e81f8f8556

+ 3 - 0
src/views/comprehensive/laboratoryManagement/building/buildingDetails.vue

@@ -656,6 +656,9 @@
       //遮罩菜单选中事件
       clickShadeButton(type){
         if(type == 1){
+          if(this.dialogForm.roomType != '-99'){
+            this.$set(this,'subjectOptions',[{id:this.dialogForm.subId,name:this.dialogForm.subName}]);
+          }
           this.$set(this,'dialogOpen',true)
         }else if (type == 2){
           if(this.dialogOpenType == 1 || this.dialogOpenType == 2 || this.dialogOpenType == 3){

+ 59 - 12
src/views/comprehensive/laboratoryManagement/building/newIndex.vue

@@ -351,7 +351,7 @@
             <div class="map-max-big-box">
               <div class="layout-data-max-big-box">
                 <div class="layout-data-max-big-min-box"
-                     :style="'width:'+dialogBuildingData.width+'px;height:'+dialogBuildingData.height+'px;transform: scale('+zoomData+');margin-top:-'+dialogBuildingData.height/2+'px;margin-left:-'+dialogBuildingData.width/2+'px;'">
+                     :style="'width:'+dialogBuildingData.width+'px;height:'+dialogBuildingData.height+'px;transform: scale('+minZoomData+');margin-top:-'+dialogBuildingData.height/2+'px;margin-left:-'+dialogBuildingData.width/2+'px;'">
                   <div class="layout-data-max-min-box"
                        :style="'width:'+dialogBuildingData.width+'px;height:'+dialogBuildingData.height+'px;'">
                     <div class="map-max-for-box"
@@ -482,6 +482,7 @@
         propsData: {},
         //缩放比例
         zoomData: null,
+        minZoomData: null,
         dialogBuildingData:[]
       }
     },
@@ -734,7 +735,7 @@
               response.rows[i].onType = false
               if (response.rows[i].layoutData) {
                 response.rows[i].mapList = JSON.parse(response.rows[i].layoutData)
-                let obj = this.calculateMapMax(response.rows[i].mapList, 380)
+                let obj = this.calculateMapMax(response.rows[i].mapList,380,1180)
                 response.rows[i].width = obj.maxWidth
                 response.rows[i].height = obj.maxHeight
                 response.rows[i].zoomData = obj.zoomData
@@ -745,7 +746,7 @@
           } else if (this.checkTreeType == 3) {
             if (response.rows[0].layoutData) {
               response.rows[0].mapList = JSON.parse(response.rows[0].layoutData)
-              let obj = this.calculateMapMax(response.rows[0].mapList, 380)
+              let obj = this.calculateMapMax(response.rows[0].mapList,380,1180)
               response.rows[0].width = obj.maxWidth
               response.rows[0].height = obj.maxHeight
               response.rows[0].zoomData = obj.zoomData
@@ -829,6 +830,10 @@
               newData.mapList[i].checkType = false;
             }
           }
+          let newObj = this.calculateMapMax(newData.mapList,260,550)
+          newData.width = newObj.maxWidth
+          newData.height = newObj.maxHeight
+          newData.zoomData = newObj.zoomData
           this.$set(this,'dialogBuildingData',newData);
           this.dialogOpenRoom = true
         })
@@ -971,10 +976,17 @@
         this.handleQuery()
       },
       //计算布局最大尺寸
-      calculateMapMax(list, num) {
+      calculateMapMax(list, height,width) {
+        let num = 0;
+        let zoomType = 0;
         let maxWidth = 0
         let maxHeight = 0
         let zoomData = 1;
+        if(height>width){
+          num = height/width
+        } else{
+          num = width/height
+        }
         for (let i = 0; i < list.length; i++) {
           if ((list[i].x + list[i].w) > maxWidth) {
             maxWidth = list[i].x + list[i].w
@@ -983,15 +995,50 @@
             maxHeight = list[i].y + list[i].h
           }
         }
-        if (num > maxHeight) {
-          zoomData = maxHeight / num;
-        } else {
-          zoomData =  num / maxHeight;
+        if(maxWidth>maxHeight){
+          if((maxWidth/maxHeight)>num){
+            // 以宽度缩放
+            zoomType = 1;
+          }else{
+            // 以高度缩放
+            zoomType = 2;
+          }
+        }else{
+          if((maxHeight/maxWidth)>num){
+            // 以高度缩放
+            zoomType = 2;
+          }else{
+            // 以宽度缩放
+            zoomType = 1;
+          }
         }
-        if (260 > maxHeight) {
-          this.$set(this,'zoomData',maxHeight / 260);
-        } else {
-          this.$set(this,'zoomData',260 / maxHeight);
+
+        if(zoomType == 1){
+          if (width > maxWidth) {
+            zoomData = maxWidth / width;
+          } else {
+            zoomData =  width / maxWidth;
+          }
+          if (width > maxWidth) {
+            this.$set(this,'zoomData',maxWidth / width);
+            this.$set(this,'minZoomData',maxWidth / width);
+          } else {
+            this.$set(this,'zoomData',width / maxWidth);
+            this.$set(this,'minZoomData',width / maxWidth);
+          }
+        }else if(zoomType == 2){
+          if (height > maxHeight) {
+            zoomData = maxHeight / height;
+          } else {
+            zoomData =  height / maxHeight;
+          }
+          if (height > maxHeight) {
+            this.$set(this,'zoomData',maxHeight / height);
+            this.$set(this,'minZoomData',maxHeight / height);
+          } else {
+            this.$set(this,'zoomData',height / maxHeight);
+            this.$set(this,'minZoomData',height / maxHeight);
+          }
         }
         return { maxWidth: maxWidth, maxHeight: maxHeight,zoomData:zoomData }
       }

+ 18 - 12
src/views/comprehensive/laboratoryManagement/subject/index.vue

@@ -536,13 +536,14 @@ export default {
                   this.newData.videoData = [];
                   this.pageType = 6;
                 }else{
+                  let newData = res.data.data;
                   let videoList = [];
-                  for(let i=0;i<res.data.length;i++){
+                  for(let i=0;i<newData.length;i++){
                     let obj = {
                       name:response.data.name + response.data.subAddrr.room,
                       videoType:"flv",
                       divId:'divId'+i,
-                      url:res.data[i].result.body.data.ws_flv,
+                      url:newData[i].ws_flv,
                     }
                     videoList.push(obj)
                   }
@@ -559,10 +560,11 @@ export default {
                   this.newData.videoData = [];
                   this.pageType = 6;
                 }else{
+                  let newData = res.data.data;
                   let videoList = [];
-                  for(let i=0;i<res.data.length;i++){
+                  for(let i=0;i<newData.length;i++){
                     let text = localStorage.getItem('cameraUrl');
-                    let url = res.data[i].result.body.data.ws_flv;
+                    let url = newData[i].ws_flv;
                     url = url.split("rtp/");
                     let newUrl = text+'rtp/'+url[1];
                     let obj = {
@@ -641,18 +643,20 @@ export default {
               let urlText = window.location.href;
               if(urlText.indexOf(localStorage.getItem('ipIdentify')) != -1){
                 startUrl(obj).then(res => {
+                  console.log('res',res)
                   if(res.code == 200){
-                    if(!res.data[0]){
+                    if(!res.data.data[0]){
                       this.msgError("视频配置异常请联系管理员")
                       return
                     }
+                    let newData = res.data.data;
                     let videoList = [];
-                    for(let i=0;i<res.data.length;i++){
+                    for(let i=0;i<newData.length;i++){
                       let obj = {
                         name:self.checkedSubject.name + self.checkedSubject.subAddrr.room,
                         videoType:"flv",
                         divId:'divId'+i,
-                        url:res.data[i].result.body.data.ws_flv,
+                        url:newData[i].ws_flv,
                       }
                       videoList.push(obj)
                     }
@@ -666,15 +670,17 @@ export default {
                 });
               }else{
                 startUrl(obj).then(res => {
+                  console.log('res',res)
                   if(res.code == 200){
-                    if(!res.data[0]){
+                    if(!res.data.data[0]){
                       this.msgError("视频配置异常请联系管理员")
                       return
                     }
+                    let newData = res.data.data;
                     let videoList = [];
-                    for(let i=0;i<res.data.length;i++){
+                    for(let i=0;i<newData.length;i++){
                       let text = localStorage.getItem('cameraUrl');
-                      let url = res.data[i].result.body.data.ws_flv;
+                      let url = newData[i].ws_flv;
                       url = url.split("rtp/");
                       let newUrl = text+'rtp/'+url[1];
                       let obj = {
@@ -868,7 +874,7 @@ export default {
           // console.log("MQTT----message",data)
           if(data.data.subId){
             //传感器
-            // console.log("传感器",data.data.subId,'---------',data);
+            console.log("传感器",data);
             if(self.checkedSubject.id){
               if(data.data.subId&&data.data.subId == self.checkedSubject.id){
                 self.$set(self.checkedSubject,'sensorFunctionStatusList',data.data.functionStatuses);
@@ -883,7 +889,7 @@ export default {
             }
           }else{
             //硬件
-            // console.log("硬件",data);
+            console.log("硬件",data);
             for (let i = 0; i < data.data.length; i++) {
               if (self.checkedSubject.labHardwareVOList) {
                 for (let k = 0; k < self.checkedSubject.labHardwareVOList.length; k++) {

+ 27 - 0
src/views/emergencyManagement/evacuation/emergencyEvacuation/newPerformEvacuation.vue

@@ -0,0 +1,27 @@
+<template>
+    <div class="newPerformEvacuation scrollbar-box">
+      <div style="position: relative">
+        <emergency-evacuation-big style="transform: scale(0.822);position: absolute;top:50%;left:50%;margin-top:-90px;margin-left:-956px;"></emergency-evacuation-big>
+      </div>
+    </div>
+</template>
+
+<script>
+  import emergencyEvacuationBig from "@/views/newEvacuationBigData.vue"
+  export default {
+    name: 'newPerformEvacuation',
+    components: {
+      emergencyEvacuationBig,
+    },
+  }
+</script>
+
+<style scoped>
+  .newPerformEvacuation{
+    flex:1;
+    display: flex;
+    flex-direction: column;
+    box-shadow: 0 0 8px 2px rgba(0, 0, 0, 0.1);
+    border-radius:10px;
+  }
+</style>

+ 1 - 1
src/views/emergencyManagement/plan/index.vue

@@ -45,7 +45,7 @@
       </el-form>
       <el-table v-loading="loading" border :data="tableData">
         <el-table-column label="预案名称" align="center" prop="name" :show-overflow-tooltip="true"/>
-        <el-table-column label="启动条件" align="center" prop="message" :show-overflow-tooltip="true" width="340"/>
+        <el-table-column label="启动条件" align="center" prop="startCondition" :show-overflow-tooltip="true" width="340"/>
         <el-table-column label="创建人" align="center" prop="createBy" width="180"/>
         <el-table-column label="创建时间" align="center" prop="createTime" width="200"/>
         <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="340" v-if="tableButtonType">

+ 33 - 24
src/views/emergencyManagement/plan/newAddPlan.vue

@@ -42,9 +42,9 @@
             </div>
             <div class="min-for-text-box">
               <div>
-                <div class="min-for-text-box-one" v-for="(minItemOne,minIndexOne) in item.riskPlanSensorList" :key="minItemOne.funNum">
+                <div class="min-for-text-box-one" v-for="(minItemOne,minIndexOne) in item.riskPlanSensorList" :key="minItemOne.sensorType">
                   <div>
-                    <p>启动条件:<span v-for="(sensorItem,sensorIndex) in sensorList" :key="sensorIndex" v-if="sensorItem.funNum == minItemOne.funNum">{{sensorItem.describe}}</span></p>
+                    <p>启动条件:<span v-for="(sensorItem,sensorIndex) in sensorList" :key="sensorIndex" v-if="sensorItem.hardwareTypeCode == minItemOne.sensorType">{{sensorItem.hardwareTypeName}}</span></p>
                     <p>监测区间:{{minItemOne.minMonitor}}-{{minItemOne.maxMonitor}}</p>
                   </div>
                 </div>
@@ -106,13 +106,13 @@
             <p style="line-height:60px;font-size:14px;margin-left:19px;">启动条件:</p>
             <div style="display: flex" v-for="(item,index) in dialogForm.riskPlanSensorList" :key="index">
               <div style="flex:1;">
-                <el-form-item label="监测设备:" :prop="'riskPlanSensorList.'+index+'.funNum'" :rules="rules.funNum">
-                  <el-select  v-model="item.funNum" placeholder="请选择监测设备">
+                <el-form-item label="监测设备:" :prop="'riskPlanSensorList.'+index+'.sensorType'" :rules="rules.sensorType">
+                  <el-select  v-model="item.sensorType" placeholder="请选择监测设备" @change="(val)=>sensorChange(val,index)">
                     <el-option
                       v-for="item in sensorList"
-                      :key="item.funNum"
-                      :label="item.describe"
-                      :value="item.funNum">
+                      :key="item.hardwareTypeCode"
+                      :label="item.hardwareTypeName"
+                      :value="item.hardwareTypeCode">
                     </el-option>
                   </el-select>
                 </el-form-item>
@@ -193,7 +193,7 @@
   import { listClassifiedAll } from "@/api/laboratory/classified";
   import { listClasstypeAll } from "@/api/laboratory/classtype";
   import { optionHardware } from "@/api/laboratory/hardware";
-  import { optionSensor } from "@/api/laboratory/sensor";
+  import { getSensorList } from "@/api/laboratory/sensor";
   import { selectRiskPlanLeveListRiskPlanId,putPlan,planLevelAdd,planLevelPut,planLevelDel,getLabRiskPlanJoinSub } from "@/api/evacuation3_2/index";
   export default {
     name: "newAddPlan",
@@ -222,7 +222,7 @@
           ifExit: [
             { required: true, message: "请选择是否执行疏散", trigger: "change" },
           ],
-          funNum: [
+          sensorType: [
             { required: true, message: "请选择监测设备", trigger: "change" },
           ],
           minMonitor: [
@@ -269,6 +269,15 @@
       this.getOptionData();
     },
     methods: {
+      //传感器选中事件
+      sensorChange(val,index){
+        let self = this;
+        for(let i=0;i<self.sensorList.length;i++){
+          if(self.sensorList[i].hardwareTypeCode == val){
+            this.$set(self.dialogForm.riskPlanSensorList[index],'funNum',self.sensorList[i].hardwareTypeName);
+          }
+        }
+      },
       //修改预案名称
       setNameButton(type){
         if(type == 1){
@@ -311,7 +320,7 @@
       },
       //查询传感器/设备下啦列表
       getOptionData(){
-        optionSensor({}).then(response => {
+        getSensorList({}).then(response => {
           this.sensorList = response.data;
           this.sensorListData = JSON.parse(JSON.stringify(response.data))
         });
@@ -362,7 +371,7 @@
             return
           }
           this.dialogForm.riskPlanSensorList.push({
-            funNum:null,
+            sensorType:null,
           })
         }else if(type == 2){
           if(this.dialogForm.riskPlanHardwareList.length>8){
@@ -397,7 +406,7 @@
             return
           }
           for(let x=0;x<self.dialogForm.riskPlanSensorList.length;x++){
-            if(self.dialogForm.riskPlanSensorList[i].funNum == self.dialogForm.riskPlanSensorList[x].funNum && i != x){
+            if(self.dialogForm.riskPlanSensorList[i].sensorType == self.dialogForm.riskPlanSensorList[x].sensorType && i != x){
               if(self.dialogForm.riskPlanSensorList[i].minMonitor >= self.dialogForm.riskPlanSensorList[x].minMonitor &&
                  self.dialogForm.riskPlanSensorList[i].minMonitor <= self.dialogForm.riskPlanSensorList[x].maxMonitor){
                 self.msgError('监测区间不能重复,请重新输入');
@@ -423,7 +432,7 @@
           for(let x=0;x<self.dialogForm.riskPlanSensorList.length;x++){
             for(let i=0;i<self.labRiskPlanLevels.length;i++){
               for(let o=0;o<self.labRiskPlanLevels[i].riskPlanSensorList.length;o++){
-                if(self.dialogForm.riskPlanSensorList[x].funNum==self.labRiskPlanLevels[i].riskPlanSensorList[o].funNum){
+                if(self.dialogForm.riskPlanSensorList[x].sensorType==self.labRiskPlanLevels[i].riskPlanSensorList[o].sensorType){
                   num ++
                   if(self.dialogForm.riskPlanSensorList[x].minMonitor>=self.labRiskPlanLevels[i].riskPlanSensorList[o].minMonitor&&
                     self.dialogForm.riskPlanSensorList[x].minMonitor<=self.labRiskPlanLevels[i].riskPlanSensorList[o].maxMonitor){
@@ -448,7 +457,7 @@
           for(let x=0;x<self.dialogForm.riskPlanSensorList.length;x++){
             for(let i=0;i<self.form.labRiskPlanLevels.length;i++){
               for(let o=0;o<self.form.labRiskPlanLevels[i].riskPlanSensorList.length;o++){
-                if(self.dialogForm.riskPlanSensorList[x].funNum==self.form.labRiskPlanLevels[i].riskPlanSensorList[o].funNum){
+                if(self.dialogForm.riskPlanSensorList[x].sensorType==self.form.labRiskPlanLevels[i].riskPlanSensorList[o].sensorType){
                   num ++
                   if(self.dialogForm.riskPlanSensorList[x].minMonitor>=self.form.labRiskPlanLevels[i].riskPlanSensorList[o].minMonitor&&
                     self.dialogForm.riskPlanSensorList[x].minMonitor<=self.form.labRiskPlanLevels[i].riskPlanSensorList[o].maxMonitor){
@@ -481,8 +490,8 @@
                 if(this.dialogIndex != i){
                   for(let o=0;o<self.form.labRiskPlanLevels[i].riskPlanSensorList.length;o++){
                     for(let x=0;x<self.sensorList.length;x++){
-                      if(self.form.labRiskPlanLevels[i].riskPlanSensorList[o].funNum == self.sensorList[x].funNum){
-                        text.push(self.sensorList[x].describe);
+                      if(self.form.labRiskPlanLevels[i].riskPlanSensorList[o].sensorType == self.sensorList[x].hardwareTypeCode){
+                        text.push(self.sensorList[x].hardwareTypeName);
                       }
                     }
                   }
@@ -490,8 +499,8 @@
               }
               for(let i=0;i<self.dialogForm.riskPlanSensorList.length;i++){
                 for(let x=0;x<self.sensorList.length;x++){
-                  if(self.dialogForm.riskPlanSensorList[i].funNum == self.sensorList[x].funNum){
-                    text.push(self.sensorList[x].describe);
+                  if(self.dialogForm.riskPlanSensorList[i].sensorType == self.sensorList[x].hardwareTypeCode){
+                    text.push(self.sensorList[x].hardwareTypeName);
                   }
                 }
               }
@@ -512,16 +521,16 @@
               for(let i=0;i<self.form.labRiskPlanLevels.length;i++){
                 for(let o=0;o<self.form.labRiskPlanLevels[i].riskPlanSensorList.length;o++){
                   for(let x=0;x<self.sensorList.length;x++){
-                    if(self.form.labRiskPlanLevels[i].riskPlanSensorList[o].funNum == self.sensorList[x].funNum){
-                      text.push(self.sensorList[x].describe);
+                    if(self.form.labRiskPlanLevels[i].riskPlanSensorList[o].sensorType == self.sensorList[x].hardwareTypeCode){
+                      text.push(self.sensorList[x].hardwareTypeName);
                     }
                   }
                 }
               }
               for(let i=0;i<self.dialogForm.riskPlanSensorList.length;i++){
                 for(let x=0;x<self.sensorList.length;x++){
-                  if(self.dialogForm.riskPlanSensorList[i].funNum == self.sensorList[x].funNum){
-                    text.push(self.sensorList[x].describe);
+                  if(self.dialogForm.riskPlanSensorList[i].sensorType == self.sensorList[x].hardwareTypeCode){
+                    text.push(self.sensorList[x].hardwareTypeName);
                   }
                 }
               }
@@ -589,8 +598,8 @@
               if(index != i){
                 for(let o=0;o<self.form.labRiskPlanLevels[i].riskPlanSensorList.length;o++){
                   for(let x=0;x<self.sensorList.length;x++){
-                    if(self.form.labRiskPlanLevels[i].riskPlanSensorList[o].funNum == self.sensorList[x].funNum){
-                      text.push(self.sensorList[x].describe);
+                    if(self.form.labRiskPlanLevels[i].riskPlanSensorList[o].sensorType == self.sensorList[x].hardwareTypeCode){
+                      text.push(self.sensorList[x].hardwareTypeName);
                     }
                   }
                 }

Fichier diff supprimé car celui-ci est trop grand
+ 142 - 41
src/views/newEvacuationBigData.vue