dedsudiyu 11 mesi fa
parent
commit
63ac0140a1

+ 8 - 0
src/api/emergencyManagement/index.js

@@ -395,6 +395,14 @@ export function laboratoryExitRelayCloseLight(data) {
     data: data
   })
 }
+//应急处置-结束预案
+export function laboratoryPlanCloseRiskPlan(query) {
+  return request({
+    url: '/laboratory/plan/closeRiskPlan',
+    method: 'get',
+    params: query
+  })
+}
 
 
 

+ 4 - 1
src/layout/components/AppMain.vue

@@ -71,7 +71,7 @@ export default {
       this.planClient.on("connect", e =>{
         this.planClient.subscribe(self.planOpic, (err) => {
           if (!err) {
-            console.log("预案-订阅成功:" + self.planOpic);
+            console.log("条幅预案-订阅成功:" + self.planOpic);
           }else{
             // console.log("预案-连接错误:" + err);
           }
@@ -89,11 +89,14 @@ export default {
     laboratoryBigViewSelectTriggerInfo(){
       let self = this;
       laboratoryBigViewSelectTriggerInfo().then(response => {
+        console.log('条幅触发',response.data);
         if(response.data[0]){
+          console.log('条幅触发-有');
           this.$set(this,'planData',response.data);
           this.$set(this,'text',response.data[1]?'有多个实验室发生预案':'有实验室发生预案');
           this.$set(this,'planType',true);
         }else{
+          console.log('条幅触发-无');
           this.$set(this,'planType',false);
           this.$set(this,'planData',[]);
           this.$set(this,'text','');

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

@@ -1,27 +0,0 @@
-<template>
-  <div class="evacuation-title-position-box">应 急 处 置</div>
-</template>
-
-<script>
-  export default {
-    name: 'newEvacuationBigDataSubPageKYDXNH'
-  }
-</script>
-
-<style scoped lang="scss">
-  .evacuation-title-position-box{
-    position: absolute;
-    top:0;
-    height:92px;
-    left:41px;
-    width: 1837px;
-    background: url("../../../../../assets/ZDimages/emergencyManagement/img_bg_kd.png");
-    background-size: 100% 100%;
-    text-align: center;
-    font-size:40px;
-    line-height:82px;
-    color:#24d1f9;
-    font-weight:900;
-    letter-spacing:10px
-  }
-</style>

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

@@ -1,27 +0,0 @@
-<template>
-    <div class="evacuation-title-position-box">风险应急处置指挥平台</div>
-</template>
-
-<script>
-  export default {
-    name: 'newEvacuationBigDataSubPagePublic'
-  }
-</script>
-
-<style scoped lang="scss">
-  .evacuation-title-position-box{
-    position: absolute;
-    top:0;
-    height:92px;
-    left:41px;
-    width: 1837px;
-    background: url("../../../../../assets/ZDimages/emergencyManagement/sy_db_bg.png");
-    background-size: 100% 100%;
-    text-align: center;
-    font-size:40px;
-    line-height:82px;
-    color:#24d1f9;
-    font-weight:900;
-    letter-spacing:10px
-  }
-</style>

File diff suppressed because it is too large
+ 0 - 3770
src/views/emergencyManagement/evacuation/emergencyEvacuation/newEvacuationBigData.vue


File diff suppressed because it is too large
+ 0 - 1591
src/views/emergencyManagement/evacuation/emergencyEvacuation/newEvacuationBigDataHome.vue


+ 0 - 70
src/views/emergencyManagement/evacuation/emergencyEvacuation/newEvacuationBigPage.vue

@@ -1,70 +0,0 @@
-<template>
-    <div class="newEvacuationBigPage">
-      <new-evacuation-big-data-home
-        v-if="pageType == 1">
-      </new-evacuation-big-data-home>
-      <emergency-evacuation-big
-        :propsBigData="propsBigData"
-        v-if="pageType == 2">
-      </emergency-evacuation-big>
-    </div>
-</template>
-
-<script>
-  import emergencyEvacuationBig from "./newEvacuationBigData.vue"
-  import newEvacuationBigDataHome from "./newEvacuationBigDataHome.vue"
-  export default {
-    name: 'newEvacuationBigPage',
-    components: {
-      newEvacuationBigDataHome,
-      emergencyEvacuationBig,
-    },
-    data() {
-      return {
-        pageType:null,
-        propsBigData:null,
-      }
-    },
-    created() {
-      if(this.$route.query.subId){
-        this.$set(this,'pageType',2);
-      }else{
-        this.$set(this,'pageType',1);
-      }
-    },
-    methods:{
-      goPage(type,data){
-        if(type == 1){
-          if(this.$route.query.buildId){
-            delete this.$route.query.buildId;
-          }
-          if(this.$route.query.subId){
-            delete this.$route.query.subId;
-          }
-          if(this.$route.query.floorId){
-            delete this.$route.query.floorId;
-          }
-          if(this.$route.query.groupId){
-            delete this.$route.query.groupId;
-          }
-          this.$set(this,'propsBigData',null);
-          this.$set(this,'pageType',type);
-        } else if(type == 2){
-          this.$set(this,'propsBigData',data);
-          this.$set(this,'pageType',type);
-        }
-      },
-    },
-  }
-</script>
-
-<style scoped lang="scss">
-  .newPerformEvacuation{
-    flex:1;
-    display: flex;
-    flex-direction: column;
-    margin:5px 20px 20px 10px;
-    box-shadow: 0 0 8px 2px rgba(0, 0, 0, 0.1);
-    border-radius:10px;
-  }
-</style>

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

@@ -1,74 +0,0 @@
-<template>
-    <div class="newPerformEvacuation scrollbar-box">
-      <div style="position: relative">
-        <new-evacuation-big-data-home
-          v-if="pageType == 1"
-          style="transform: scale(0.822);position: absolute;top:50%;left:50%;margin-top:-95px;margin-left:-960px;">
-        </new-evacuation-big-data-home>
-        <emergency-evacuation-big
-          v-if="pageType == 2"
-          :propsBigData="propsBigData"
-          style="transform: scale(0.822);position: absolute;top:50%;left:50%;margin-top:-95px;margin-left:-960px;">
-        </emergency-evacuation-big>
-      </div>
-    </div>
-</template>
-
-<script>
-  import emergencyEvacuationBig from "./newEvacuationBigData.vue"
-  import newEvacuationBigDataHome from "./newEvacuationBigDataHome.vue"
-  export default {
-    name: 'newPerformEvacuation',
-    components: {
-      newEvacuationBigDataHome,
-      emergencyEvacuationBig,
-    },
-    data() {
-      return {
-        pageType:null,
-        propsBigData:null,
-      }
-    },
-    created() {
-      if(this.$route.query.subId){
-        this.$set(this,'pageType',2);
-      }else{
-        this.$set(this,'pageType',1);
-      }
-    },
-    methods:{
-      goPage(type,data){
-        if(type == 1){
-          if(this.$route.query.buildId){
-            delete this.$route.query.buildId;
-          }
-          if(this.$route.query.subId){
-            delete this.$route.query.subId;
-          }
-          if(this.$route.query.floorId){
-            delete this.$route.query.floorId;
-          }
-          if(this.$route.query.groupId){
-            delete this.$route.query.groupId;
-          }
-          this.$set(this,'propsBigData',null);
-          this.$set(this,'pageType',type);
-        } else if(type == 2){
-          this.$set(this,'propsBigData',data);
-          this.$set(this,'pageType',type);
-        }
-      },
-    },
-  }
-</script>
-
-<style scoped lang="scss">
-  .newPerformEvacuation{
-    flex:1;
-    display: flex;
-    flex-direction: column;
-    margin:5px 20px 20px 10px;
-    box-shadow: 0 0 8px 2px rgba(0, 0, 0, 0.1);
-    border-radius:10px;
-  }
-</style>

+ 6 - 4
src/views/emergencyManagement/performEvacuation/performEvacuationData.vue

@@ -213,7 +213,7 @@
                   <p class="plan-title-p" :class="item.riskPlanLevel==1?'color-type-1':(item.riskPlanLevel==2?'color-type-2':(item.riskPlanLevel==3?'color-type-3':(item.riskPlanLevel==4?'color-type-4':'')))">{{item.riskPlanLevelName}}</p>
                   <p class="plan-text-p">{{item.name}}</p>
                 </div>
-                <!--<p class="plan-button-p" @click="shadeButton(7,item.groupId)">结束预案</p>-->
+                <p class="plan-button-p" @click="shadeButton(7,item.groupId)">结束预案</p>
               </div>
             </div>
           </div>
@@ -399,7 +399,7 @@
     iotBigViewHardwareFindByType,iotBigViewDeviceList,iotBigViewSpeakerPlayText,
     iotBigViewDeviceFindBySubId,iotBigViewDeviceFindByType,laboratoryBigViewHazardCensus,
     iotBigViewHardwareOperatingHardware,laboratoryExitRelayOpenLight,
-    laboratoryExitRelayCloseLight } from "@/api/emergencyManagement/index";
+    laboratoryExitRelayCloseLight,laboratoryPlanCloseRiskPlan } from "@/api/emergencyManagement/index";
   import { laboratoryBigViewSelectTriggerInfo } from "@/api/commonality/permission";
   import mpegtsVideo from '@/components/mpegtsVideo/mpegtsVideo.vue'
   export default {
@@ -473,6 +473,8 @@
         shadeType:0,
         shadeText:'',
         shadeData:{},
+        //结束预案时使用的预案ID
+        checkRiskPlanId:null,
         /****************** MQTT相关 ******************/
         //硬件MQTT
         hardwareOpic:"iot/hardware/all/sub/",
@@ -1411,9 +1413,9 @@
             })
           }else if(this.shadeType == 5){
             //结束预案
-            closeRiskPlan({id:this.checkRiskPlanId}).then(response => {
+            laboratoryPlanCloseRiskPlan({eventId:this.checkRiskPlanId}).then(response => {
               this.$set(this,'shadeType',0);
-              this.selectTriggerInfo();
+              this.laboratoryBigViewSelectTriggerInfo();
             });
           }else if(this.shadeType == 6){
             //通风橱开关

+ 12 - 10
src/views/integratedManagement/buildingManagement/index.vue

@@ -12,8 +12,8 @@
               <img src="@/assets/ZDimages/integratedManagement/icon_bjgl_gd.png"
                    style="cursor:pointer;width:16px;height:4px;margin-top:7px;">
               <el-dropdown-menu slot="dropdown">
-                <el-dropdown-item command="1">编辑</el-dropdown-item>
-                <el-dropdown-item command="2">删除</el-dropdown-item>
+                <el-dropdown-item command="1" v-hasPermiRouter="['system:build:edit']">编辑</el-dropdown-item>
+                <el-dropdown-item command="2" v-hasPermiRouter="['system:build:del']">删除</el-dropdown-item>
               </el-dropdown-menu>
             </el-dropdown>
           </div>
@@ -36,13 +36,13 @@
         </div>
       </div>
       <p class="tree-null-p" v-if="!treeList[0]">暂无数据</p>
-      <p class="max-left-big-button" @click="handleCommand(3)">+ 新增校区</p>
+      <p class="max-left-big-button" v-hasPermiRouter="['system:build:add']" @click="handleCommand(3)">新增校区</p>
     </div>
     <div class="max-right-box">
       <div class="school-box" v-if="checkTreeType == 1">
         <div class="max-right-button-box">
           <p class="null-p"></p>
-          <p class="max-right-big-button" @click="handleCommand(4)" v-hasPermi="['laboratory:buildfloor:add']">+ 新增楼栋</p>
+          <p class="max-right-big-button" @click="handleCommand(4)" v-hasPermi="['system:build:add']">新增楼栋</p>
         </div>
         <div class="right-big-list-box scrollbar-box">
           <div class="for-max-box" v-for="(item,index) in buildingList" :key="index"
@@ -66,11 +66,11 @@
                 </div>
               </div>
               <div class="for-button-min-box">
-                <div @click="handleCommand(5,item)" v-hasPermi="['laboratory:buildfloor:edit']">
+                <div @click="handleCommand(5,item)" v-hasPermi="['system:build:edit']">
                   <img src="@/assets/ZDimages/basicsModules/icon_znwl_bj.png">
                   <p>编辑</p>
                 </div>
-                <div @click="handleCommand(6,item)" v-hasPermi="['laboratory:buildfloor:remove']">
+                <div @click="handleCommand(6,item)" v-hasPermi="['system:build:del']">
                   <img src="@/assets/ZDimages/basicsModules/icon_znwl_sc.png">
                   <p>删除</p>
                 </div>
@@ -85,7 +85,7 @@
           <p class="null-p"></p>
           <p class="page-submit-common-style-button"
              style="margin-right:4px;width: 130px" @click="handleCommand(7)"
-            v-hasPermiRouter="['demo:demo:add']"
+            v-hasPermiRouter="['system:build:add']"
           >新增楼层</p>
         </div>
         <div class="right-big-list-box scrollbar-box">
@@ -100,11 +100,11 @@
                 <p class="for-text-one">{{item.name}}</p>
               </div>
               <div class="for-button-min-box">
-                <div @click="handleCommand(8,item)">
+                <div v-hasPermiRouter="['system:build:edit']" @click="handleCommand(8,item)">
                   <img src="@/assets/ZDimages/basicsModules/icon_znwl_bj.png">
                   <p>编辑</p>
                 </div>
-                <div @click="handleCommand(9,item)">
+                <div v-hasPermiRouter="['system:build:del']" @click="handleCommand(9,item)">
                   <img src="@/assets/ZDimages/basicsModules/icon_znwl_sc.png">
                   <p>删除</p>
                 </div>
@@ -140,7 +140,7 @@
             <p class="page-submit-common-style-button"
                style="float: right;"
                @click="roomButton(1)"
-               v-hasPermiRouter="['demo:demo:add']"
+               v-hasPermiRouter="['system:roominfo:add']"
             >新增房间</p>
           </el-form>
           <el-table  class="table-box" border :data="dataList">
@@ -163,8 +163,10 @@
                   <p class="table-button-null"></p>
                   <p class="table-button-p"
                      @click="roomButton(2,scope.row)"
+                     v-hasPermiRouter="['system:roominfo:edit']"
                   >编辑</p>
                   <p class="table-button-p"
+                     v-hasPermiRouter="['system:roominfo:del']"
                      @click="roomButton(3,scope.row)"
                   >删除</p>
                   <p class="table-button-null"></p>

+ 55 - 4
src/views/integratedManagement/laboratoryManagement/subject/index.vue

@@ -13,7 +13,7 @@
               />
             </el-form-item>
             <el-form-item label="" prop="deptId">
-              <el-select v-model="queryParams.deptId" placeholder="请选择二级单位" style="width:150px;">
+              <el-select v-model="queryParams.deptId" placeholder="二级单位" style="width:140px;">
                 <el-option
                   v-for="dict in deptOptions"
                   :key="dict.deptId"
@@ -22,8 +22,18 @@
                 ></el-option>
               </el-select>
             </el-form-item>
+            <el-form-item label="" prop="buildId">
+              <el-select v-model="queryParams.buildId" placeholder="楼栋" style="width:140px;">
+                <el-option
+                  v-for="dict in buildOptions"
+                  :key="dict.id"
+                  :label="dict.name"
+                  :value="dict.id"
+                ></el-option>
+              </el-select>
+            </el-form-item>
             <el-form-item label="" prop="typeId">
-              <el-select v-model="queryParams.typeId" placeholder="请选择安全分类" style="width:160px;">
+              <el-select v-model="queryParams.typeId" placeholder="安全分类" style="width:140px;">
                 <el-option
                   v-for="dict in typeList"
                   :key="dict.typeId"
@@ -33,7 +43,7 @@
               </el-select>
             </el-form-item>
             <el-form-item label="" prop="levelId">
-              <el-select v-model="queryParams.levelId" placeholder="请选择安全分级" style="width:160px;">
+              <el-select v-model="queryParams.levelId" placeholder="安全分级" style="width:140px;">
                 <el-option
                   v-for="dict in levelList"
                   :key="dict.levelId"
@@ -140,8 +150,9 @@
   import importComponent from "@/components/importComponent/importComponent.vue";
   import {
     getDeptDropList,
+    systemBuildingGetTreeList,
     laboratoryClassTypeGetList,
-    laboratoryClassLevelGetList
+    laboratoryClassLevelGetList,
   } from '@/api/commonality/permission'
   import {
     laboratorySubRelInfoList,
@@ -187,6 +198,8 @@
         },
         // 实验室表格数据
         dataList: [],
+        // 楼栋
+        buildOptions:[],
         // 总条数
         total: 0,
         //学院列表
@@ -206,6 +219,8 @@
     mounted() {
       //获取院系列表
       this.getDeptDropList()
+      //获取楼栋列表
+      this.systemBuildingGetTreeList()
       //获取分类列表
       this.laboratoryClassTypeGetList()
       //获取分级列表
@@ -339,6 +354,7 @@
           pageSize: 20,
           searchValue: '',
           deptId: '',
+          buildId: '',
           typeId: '',
           levelId: ''
         })
@@ -364,6 +380,41 @@
           this.$set(this, 'deptOptions', response.data)
         })
       },
+      //查询楼栋楼层
+      systemBuildingGetTreeList(){
+        systemBuildingGetTreeList({}).then(response => {
+          let newList = [];
+          if (response.data[0]) {
+            let list = this.forBuildFloor(response.data);
+            for(let i=0;i<list.length;i++){
+              if(list[i].buildFloorVoList){
+                for(let o=0;o<list[i].buildFloorVoList.length;o++){
+                  if(list[i].buildFloorVoList[o].buildFloorVoList){
+                    newList.push(list[i].buildFloorVoList[o])
+                  }
+                }
+              }
+            }
+          }
+          this.$set(this, 'buildOptions', newList)
+        })
+      },
+      //处理楼栋楼层数据
+      forBuildFloor(list){
+        let self = this;
+        for(let i=0;i<list.length;i++){
+          if(list[i].buildFloorVoList){
+            if(list[i].buildFloorVoList[0]){
+              list[i].buildFloorVoList = self.forBuildFloor(list[i].buildFloorVoList);
+            }else{
+              delete list[i].buildFloorVoList;
+            }
+          }else{
+            delete list[i].buildFloorVoList;
+          }
+        }
+        return list
+      },
       //查询安全分级
       laboratoryClassLevelGetList() {
         laboratoryClassLevelGetList({}).then(response => {

+ 6 - 2
src/views/integratedManagement/laboratoryManagement/subject/indexRightPage/sensorPage.vue

@@ -7,7 +7,7 @@
            v-for="(item,index) in sensorList" :key="index">
         <div class="for-sensor-box">
           <div class="for-sensor-img-box" >
-            <img :src="item.icon">
+            <svg-icon v-if="item.icon" class="svg-img" :icon-class="item.icon"/>
           </div>
           <div class="for-sensor-text-box">
             <el-tooltip class="item" effect="dark" :content="item.deviceName" placement="bottom">
@@ -54,6 +54,9 @@
       //查询传感器数据
       iotSensorFindBySubId(){
         iotSensorFindBySubId({subId:this.$parent.subId}).then(response => {
+          response.data.forEach((item)=>{
+            item.icon = item.icon?window.location.href.split('://')[0]+'://'+localStorage.getItem('fileBrowseEnvironment')+item.icon:null;
+          })
           this.$set(this,'sensorList',response.data);
         })
       },
@@ -143,10 +146,11 @@
         .for-sensor-box{
           display: flex;
           .for-sensor-img-box{
-            img{
+            .svg-img{
               width: 26px;
               height: 26px;
               margin: 17px 11px;
+              color:#fff;
             }
           }
           .for-sensor-text-box{