dedsudiyu 1 년 전
부모
커밋
41ab0a7826

+ 5 - 8
src/views/basicsModules/home.vue

@@ -84,14 +84,7 @@
     },
     mounted(){
       if (this.userType == '22'){
-        //学生身份没有首页 直接判定跳转逻辑
-        if(this.homeConfigData.studentsSkip){
-          //开启了指定页面跳转
-          this.appointSkip();
-        }else{
-          //自动跳转
-          this.autoSkip();
-        }
+        this.autoSkip();
       }else if (!this.initPage){
         //老师身份 如果没有开启首页
         if(this.homeConfigData.teacherSkip){
@@ -141,6 +134,7 @@
       //自动跳转
       autoSkip(){
         let path = this.circularCallSortSkip(this.routeData);
+        console.log('path1',path);
         if(path){
           this.$router.push({ path: path });
         }else{
@@ -152,6 +146,9 @@
         if(this.userType == '22'){
           //学生
           let path = this.circularCallIdSkip(this.homeConfigData.studentsSkipMenuId,this.routeData);
+          console.log('1',this.homeConfigData.studentsSkipMenuId);
+          console.log('2',this.routeData);
+          console.log('path2',path);
           if(path){
             this.$router.push({ path: path });
           }else{

+ 1 - 1
src/views/integratedManagement/laboratoryManagement/subject/addSubject.vue

@@ -106,7 +106,7 @@
             ></el-option>
           </el-select>
         </el-form-item>
-        <el-form-item label="准入设备"  class="form-item"  v-if="versionField() != 'xiBeiNongLinDaXue'">
+        <el-form-item label="准入设备"  class="form-item">
           <el-select v-model="form.hardwareType" placeholder="请选择整改类型" style="width:320px;" @change="hardwareTypeFun()" >
             <el-option label="无"  :value="0" />
             <el-option label="海康智能门禁" :value="1" />

+ 2 - 3
src/views/integratedManagement/laboratoryManagement/subject/index.vue

@@ -126,7 +126,7 @@
     <device-list v-if="pageType == 3" :subjectData="subjectData"></device-list>
     <admission-configuration v-if="pageType == 4" :subjectData="subjectData"></admission-configuration>
     <association-configuration v-if="pageType == 5" :subjectData="subjectData"></association-configuration>
-    <info-page v-if="pageType == 6" :infoData="infoData"></info-page>
+    <info-page v-if="pageType == 6" :subjectData="subjectData"></info-page>
   </div>
 </template>
 
@@ -189,11 +189,10 @@
         total: 0,
         //学院列表
         deptOptions: [],
-        //编辑实验室数据
+        //实验室数据
         subjectData: {},
         // 临时保存排序
         orderNum: '',
-        infoData: {},
         //分类数据
         typeList: [],
         //分级数据

+ 102 - 6
src/views/integratedManagement/laboratoryManagement/subject/indexRightPage/hardwarePage.vue

@@ -1,7 +1,30 @@
 <!--硬件模块-->
 <template>
-  <div class="indexRightPage-hardwarePage">
-
+  <div class="indexRightPage-hardwarePage scrollbar-box">
+    <div class="for-hardware-max-big-box" :class="item.data2?'offLineColor':'onLineColor'"
+         v-for="(item,index) in hardwareList" :key="index">
+      <div class="for-hardware-big-box">
+        <div class="for-hardware-text-box" >
+          <p>{{item.data1}}</p>
+          <p v-if="!item.data2">离线</p>
+        </div>
+        <div class="for-sensor-switch-box">
+          <p v-if="item.data2">{{item.data3}}</p>
+          <div v-if="item.data2">
+            <el-switch
+              class="switch"
+              @click.native="changeIsNeedCaptcha(item)"
+              v-model="item.data4"
+              :active-value="3"
+              :inactive-value="4"
+              active-text="开启"
+              inactive-text="关闭"
+              disabled>
+            </el-switch>
+          </div>
+        </div>
+      </div>
+    </div>
   </div>
 </template>
 
@@ -11,7 +34,12 @@
     name: 'hardwarePage',
     data(){
       return{
-        newData:{},
+        hardwareList:[
+          {data1:'设备名称',data2:true,data3:'',data4:''},
+          {data1:'通风橱',data2:false,data3:'',data4:''},
+          {data1:'智能通风扇',data2:false,data3:'',data4:''},
+          {data1:'智能通风扇ABCDEFG',data2:true,data3:'',data4:''},
+        ],
       }
     },
     created(){
@@ -24,6 +52,37 @@
       initialize(){
         console.log(this.$parent.infoId)
       },
+      // 开启关闭验证
+      async changeIsNeedCaptcha (row) {
+        let self = this;
+        console.log(row)
+        if(row.data4!=3 && row.data4!=4){
+          return
+        }
+        let text = row.data4==3?'关闭':(row.data4==4?'开启':'')
+        this.$confirm(`是否`+text+`此设备`, "提示", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(async () => {
+          self.switchChange(row)
+        }).catch(() => {
+
+        })
+      },
+      //开关按钮
+      switchChange(row){
+        let switchData = {
+          id:row.id,
+          switchVal:row.data4==3?'close':(row.data4==4?'open':'')
+        };
+        hardWareControl(switchData).then(response => {
+          if(response.code==200){
+            this.msgSuccess("操作成功")
+          }
+        });
+
+      },
     },
   }
 </script>
@@ -31,8 +90,45 @@
 <style scoped lang="scss">
   .indexRightPage-hardwarePage{
     flex:1;
-    display: flex;
-    flex-direction: column;
-    overflow: hidden;
+    .for-sensor-max-big-box{
+      display: inline-block;
+      width: 180px;
+      height: 60px;
+      margin: 0 0 11px 16px;
+      border-radius: 10px;
+      .for-sensor-big-box{
+        display: flex;
+        .for-sensor-img-box{
+          img{
+            width: 26px;
+            height: 26px;
+            margin: 17px 11px;
+          }
+        }
+        .for-sensor-text-box{
+          flex:1;
+          margin:9px 0;
+          p{
+            overflow: hidden;
+          }
+          p:nth-child(1){
+            font-size: 14px;
+            line-height: 20px;
+          }
+          p:nth-child(2){
+            font-size: 16px;
+            line-height: 22px;
+          }
+        }
+      }
+    }
+    .offLineColor{
+      color:#fff;
+      background-color: #E0E0E0;
+    }
+    .onLineColor{
+      color:#fff;
+      background-color: #80D164;
+    }
   }
 </style>

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

@@ -128,8 +128,8 @@
     }
     .bottom-content-max-big-box{
       width:408px;
-      box-shadow: 0px 2px 6px 0px rgba(0, 0, 0, 0.2);
-      border-radius: 0px 0px 10px 10px;
+      box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.2);
+      border-radius: 0 0 10px 10px;
       font-weight:500;
       flex:1;
       display: flex;

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

@@ -1,17 +1,37 @@
 <!--传感器模块-->
 <template>
-  <div class="indexRightPage-sensorPage">
-
+  <div class="indexRightPage-sensorPage scrollbar-box">
+    <div class="for-sensor-max-big-box" :class="item.data1?'onLineColor':'offLineColor'"
+         v-for="(item,index) in sensorList" :key="index">
+      <div class="for-sensor-big-box">
+        <div class="for-sensor-img-box" >
+          <img :src="item.data2">
+        </div>
+        <div class="for-sensor-text-box">
+          <p>{{item.data3}}</p>
+          <p>{{item.data4?item.data4:'--'}}{{item.data5}}</p>
+        </div>
+      </div>
+    </div>
   </div>
 </template>
 
 <script>
+  import mqtt from 'mqtt'
   //import { getInfo } from "@/api/integratedManagement/index";
   export default {
     name: 'sensorPage',
     data(){
       return{
-        newData:{},
+        //MQTT请求参数-传感器
+        mtOpic:"lab/function/data",
+        client:{},
+        sensorList:[
+          {data1:true,data2:'',data3:'VOC',data4:'',data5:'mg/m³'},
+          {data1:false,data2:'',data3:'VOC',data4:'',data5:'mg/m³'},
+          {data1:true,data2:'',data3:'VOC',data4:'',data5:'mg/m³'},
+          {data1:true,data2:'',data3:'VOC',data4:'',data5:'mg/m³'},
+        ],
       }
     },
     created(){
@@ -23,16 +43,94 @@
     methods:{
       initialize(){
         console.log(this.$parent.infoId)
+        this.subscriptionMQTT();
+      },
+      //MQTT订阅
+      subscriptionMQTT(){
+        let self = this;
+        this.client = mqtt.connect(localStorage.getItem('mqttUrl'), {
+          username: localStorage.getItem('mqttUser'),
+          password:localStorage.getItem('mqttPassword')
+        });
+        this.client.on("connect", e =>{
+          console.log(e,"连接成功");
+          console.log("连接成功");
+          this.client.subscribe(this.mtOpic+self.$parent.infoId, (err) => {
+            if (!err) {
+              console.log("订阅成功:" + this.mtOpic+self.$parent.infoId);
+            }
+          });
+        });
+        this.client.on("message", (topic, message) => {
+          console.log('message',message)
+          if (message){
+            let data = JSON.parse(message)
+            console.log('data',data)
+          }
+        });
+      },
+      //取消订阅关闭MQTT连接
+      offMQTT(){
+        let self = this;
+        self.client.unsubscribe(self.mtOpic+self.$parent.infoId, error => {
+          if (error) {
+            console.log('Unsubscribe error', error)
+          }
+        })
+        self.client.end();
+        self.client = {};
       },
     },
+    beforeDestroy() {
+      //清除定时器
+      let self = this;
+      self.offMQTT();
+    },
   }
 </script>
 
 <style scoped lang="scss">
   .indexRightPage-sensorPage{
     flex:1;
-    display: flex;
-    flex-direction: column;
-    overflow: hidden;
+    .for-sensor-max-big-box{
+      display: inline-block;
+      width: 180px;
+      height: 60px;
+      margin: 0 0 11px 16px;
+      border-radius: 10px;
+      .for-sensor-big-box{
+        display: flex;
+        .for-sensor-img-box{
+          img{
+            width: 26px;
+            height: 26px;
+            margin: 17px 11px;
+          }
+        }
+        .for-sensor-text-box{
+          flex:1;
+          margin:9px 0;
+          p{
+            overflow: hidden;
+          }
+          p:nth-child(1){
+            font-size: 14px;
+            line-height: 20px;
+          }
+          p:nth-child(2){
+            font-size: 16px;
+            line-height: 22px;
+          }
+        }
+      }
+    }
+    .offLineColor{
+      color:#fff;
+      background-color: #E0E0E0;
+    }
+    .onLineColor{
+      color:#fff;
+      background-color: #80D164;
+    }
   }
 </style>

+ 153 - 153
src/views/integratedManagement/laboratoryManagement/subject/infoPage.vue

@@ -1,5 +1,5 @@
 <template>
-    <div class="infoPage" v-if="newData.id">
+    <div class="infoPage" v-if="subjectData.infoId">
       <div :class="versionField() == 'xiBeiNongLinDaXue'?'left-max-box-flex':''" class="left-max-box scrollbar-box">
         <div :class="versionField() == 'xiBeiNongLinDaXue'?'top-max-box-flex':''" class="top-max-box" style="position: relative">
           <div class="all-title-box">
@@ -10,174 +10,174 @@
           <div class="left-top-title-box">
             <div class="left-box">
               <div class="lv-name-box">
-                <p :style="'color:'+newData.fiedColor+';border:1px solid '+newData.fiedColor+';'">{{newData.levelName}}</p>
-                <p>{{newData.name}}</p>
+                <p :style="'color:'+subjectData.fiedColor+';border:1px solid '+subjectData.fiedColor+';'">{{subjectData.levelName}}</p>
+                <p>{{subjectData.name}}</p>
               </div>
               <div class="type-address-box">
-                <p>{{newData.typeName}}</p>
-                <p v-if="newData.subAddrr">{{newData.subAddrr.buildName}}{{newData.subAddrr.floorName}}</p>
+                <p>{{subjectData.typeName}}</p>
+                <p v-if="subjectData.subAddrr">{{subjectData.subAddrr.buildName}}{{subjectData.subAddrr.floorName}}</p>
               </div>
             </div>
             <div class="right-code-img" @click="clickCode">
-              <vue-qr style="display: block;height:60px;width:60px;cursor:pointer;margin:0 10px 0 0;" :text="newData.qrCodeUrl" :size="300" @click="clickCode"></vue-qr>
+              <vue-qr style="display: block;height:60px;width:60px;cursor:pointer;margin:0 10px 0 0;" :text="subjectData.qrCodeUrl" :size="300" @click="clickCode"></vue-qr>
             </div>
           </div>
           <div class="user-max-box">
             <div class="left-box">
-              <p>实验室责任人:<span>{{newData.adminName}}</span></p>
-              <p>联系方式:<span>{{newData.adminPhone}}</span></p>
+              <p>实验室责任人:<span>{{subjectData.adminName}}</span></p>
+              <p>联系方式:<span>{{subjectData.adminPhone}}</span></p>
             </div>
             <div class="right-box">
-              <div v-for="(item,index) in newData.safeUserName" :key="index">
-                <p>安全责任人:<span>{{newData.safeUserName[index]}}</span></p>
-                <p>联系方式:<span>{{newData.safeUserPhone[index]?newData.safeUserPhone[index]:'未填写'}}</span></p>
+              <div v-for="(item,index) in subjectData.safeUserName" :key="index">
+                <p>安全责任人:<span>{{subjectData.safeUserName[index]}}</span></p>
+                <p>联系方式:<span>{{subjectData.safeUserPhone[index]?subjectData.safeUserPhone[index]:'未填写'}}</span></p>
               </div>
             </div>
           </div>
           <div class="info-max-box">
-            <div class="for-text-box" v-if="item.privateList.length>0 && item.classifyType==1" v-for="(item,index) in  newData.classifyList">
+            <div class="for-text-box" v-if="item.privateList.length>0 && item.classifyType==1" v-for="(item,index) in  subjectData.classifyList">
               <p class="info-title">{{item.classifyName}}:</p>
               <div class="for-box" v-for="(item2,index2) in item.privateList" :key="index2">
                 <p class="for-info-p">● {{item2.infoName}}</p>
               </div>
             </div>
-            <div class="for-img-box" v-if="item.privateList.length>0 && item.classifyType==2" v-for="(item,index) in  newData.classifyList">
+            <div class="for-img-box" v-if="item.privateList.length>0 && item.classifyType==2" v-for="(item,index) in  subjectData.classifyList">
               <p class="info-title" style="margin-bottom:7px;">{{item.classifyName}}:</p>
               <img :src="item2.infoContent" v-for="(item2,index2) in item.privateList" :key="index2">
             </div>
           </div>
         </div>
       </div>
-      <div class="right-max-box scrollbar-box" v-if="versionField() != 'xiBeiNongLinDaXue'">
-        <div class="all-title-box" style="height:40px;">
-          <p></p>
-          <p>传感器监测</p>
-          <p>{{newData.sensorFunctionStatusList[0]?'数据上报时间:'+newData.sensorFunctionStatusList[0].sendDate:''}}</p>
-          <p class="reset-button-one" @click="backPage">返回</p>
-        </div>
-        <p class="sensor-box" v-for="(item,index) in newData.sensorFunctionStatusList" :key="index">{{item.funcName}}:<span>{{item.formatVal}}</span></p>
-        <img class="null-data-img" src="@/assets/ZDimages/basicsModules/null-data.png" v-if="!newData.sensorFunctionStatusList[0]">
-        <p class="null-p" v-if="!newData.sensorFunctionStatusList[0]" >暂无环境监测信息,请在更多操作-物联设备配置中进行添加</p>
-        <div class="all-title-box" style="height:40px;margin-top:20px;">
-          <p></p>
-          <p>物联控制</p>
-        </div>
-        <div class="things-box" v-for="(item,index) in newData.labHardwareVOListTwo" :key="item.id" v-if="item.hardwareTypeEnum.enumName == 'SWITCH'">
-          <div class="things-for-box">
-            <p class="left-title">{{item.hardwareName}}</p>
-            <el-switch
-              v-if="item.state.code == 3||item.state.code == 4"
-              class="switch"
-              @click.native="changeIsNeedCaptcha(item)"
-              v-model="item.state.code"
-              :active-value="3"
-              :inactive-value="4"
-              active-text="开"
-              inactive-text="关"
-              disabled>
-            </el-switch>
-            <p class="switch-null-p" v-else>{{item.state.name}}</p>
-          </div>
-        </div>
-        <div class="things-box" v-for="(item,index) in newData.labHardwareVOListTwo" :key="item.id" v-if="item.hardwareTypeEnum.enumName == 'AI_VENTILATION'">
-          <div class="things-for-box">
-            <p class="left-title">{{item.hardwareName}}</p>
-            <el-switch
-              v-if="item.state.code == 3||item.state.code == 4"
-              class="switch"
-              @click.native="changeIsNeedCaptcha(item)"
-              v-model="item.state.code"
-              :active-value="3"
-              :inactive-value="4"
-              active-text="开"
-              inactive-text="关"
-              disabled>
-            </el-switch>
-            <p class="switch-null-p" v-else>{{item.state.name}}</p>
-          </div>
-        </div>
-        <div class="things-box" v-for="(item,index) in newData.labHardwareVOListTwo" :key="item.id" v-if="item.hardwareTypeEnum.enumName == 'ONE_MACHINE'">
-          <div class="things-for-box">
-            <p class="left-title">广播系统</p>
-            <p class="right-button" @click="handleAdd">播放文字</p>
-          </div>
-        </div>
-        <img class="null-data-img" src="@/assets/ZDimages/basicsModules/null-data.png" v-if="!newData.labHardwareVOListTwo[0]">
-        <p class="null-p" v-if="!newData.labHardwareVOListTwo[0]" >暂无物联控制信息,请在更多操作-物联设备配置中进行添加</p>
-        <div class="all-title-box" style="height:40px;margin-top:10px;">
-          <p></p>
-          <p>危险源信息</p>
-        </div>
-        <div class="source-box">
-          <span v-for="(item,index) in newData.hazardList" :key="index">{{index==0?item.label:'、'+item.label}}</span>
-        </div>
-        <img class="null-data-img" src="@/assets/ZDimages/basicsModules/null-data.png" v-if="!newData.hazardList[0]">
-        <p class="null-p" v-if="!newData.hazardList[0]" >暂无危险源信息,请在更多操作-关联配置中进行添加</p>
-        <div class="all-title-box" style="height:40px;margin-top:20px;">
-          <p></p>
-          <p>视频监控</p>
-        </div>
-        <div class="video-max-box">
-          <div class="video-min-box" v-for="(item,index) in newData.videoData" :key="item.id">
-            <video :id="item.divId" ref="videoRef" autoplay controls  muted width="240" height="130px"></video>
-            <p class="el-icon-full-screen position-p" @click="videoFullScreen(index)"></p>
-          </div>
-        </div>
-        <img class="null-data-img" src="@/assets/ZDimages/basicsModules/null-data.png" v-if="!newData.videoData[0]">
-        <p class="null-p" v-if="!newData.videoData[0]" >暂无视频监控信息,请在更多操作-物联设备配置中进行添加</p>
-        <div class="all-title-box" style="height:30px;">
-          <p></p>
-          <p>检查项信息</p>
-        </div>
-        <div class="inspection-box">
-          <div>
-            <p>穿戴检查项:</p>
-            <p>
-              <span v-for="(item,index) in newData.safeInfo.checkInData">{{index==0?item:'、'+item}}</span>
-              <span v-if="!newData.safeInfo.checkInData">未设置</span>
-            </p>
-          </div>
-          <div>
-            <p>穿戴检查可跳过:</p>
-            <p>{{newData.skipped == '1'?'是':(newData.skipped == '0'?'否':'')}}</p>
-          </div>
-          <div v-if="newData.skipped == 1">
-            <p>穿戴检查识别上限:</p>
-            <p>{{newData.checkCount?newData.checkCount:'未设置'}}</p>
-          </div>
-          <div>
-            <p>离开检查项:</p>
-            <p>
-              <span v-for="(item,index) in newData.safeInfo.checkOutData">{{index==0?item:'、'+item}}</span>
-              <span v-if="!newData.safeInfo.checkOutData">未设置</span>
-            </p>
-          </div>
-        </div>
-      </div>
-      <!--展示实验室二维码-->
-      <el-dialog title="实验室二维码" :visible.sync="codeType" width="500px" append-to-body>
-        <vue-qr style="display: block;height:460px;width:460px;cursor:pointer;margin:0 auto;" :text="newData.qrCodeUrl" :size="200"></vue-qr>
-      </el-dialog>
-      <!--播放文字窗口-->
-      <el-dialog title="广播系统" :visible.sync="open" width="500px" append-to-body>
-        <el-form ref="form" :model="form" :rules="rules" label-width="80px">
-          <el-form-item label="播放文字" prop="txt">
-            <el-input v-model="form.txt" placeholder="请输入播放文字" />
-          </el-form-item>
-          <el-form-item label="播报方式" prop="type">
-            <el-radio-group v-model="form.type">
-              <el-radio :label="1">文字</el-radio>
-              <el-radio :label="2">音频</el-radio>
-            </el-radio-group>
-          </el-form-item>
-        </el-form>
-        <div slot="footer" class="dialog-footer dialog-footer-box">
-          <p class="dialog-footer-button-null"></p>
-          <p class="dialog-footer-button-info" @click="cancel">取消</p>
-          <p class="dialog-footer-button-primary" @click="submitFormOne">提交</p>
-          <p class="dialog-footer-button-null"></p>
-        </div>
-      </el-dialog>
+      <!--<div class="right-max-box scrollbar-box" v-if="versionField() != 'xiBeiNongLinDaXue'">-->
+        <!--<div class="all-title-box" style="height:40px;">-->
+          <!--<p></p>-->
+          <!--<p>传感器监测</p>-->
+          <!--<p>{{subjectData.sensorFunctionStatusList[0]?'数据上报时间:'+subjectData.sensorFunctionStatusList[0].sendDate:''}}</p>-->
+          <!--<p class="reset-button-one" @click="backPage">返回</p>-->
+        <!--</div>-->
+        <!--<p class="sensor-box" v-for="(item,index) in subjectData.sensorFunctionStatusList" :key="index">{{item.funcName}}:<span>{{item.formatVal}}</span></p>-->
+        <!--<img class="null-data-img" src="@/assets/ZDimages/basicsModules/null-data.png" v-if="!subjectData.sensorFunctionStatusList[0]">-->
+        <!--<p class="null-p" v-if="!subjectData.sensorFunctionStatusList[0]" >暂无环境监测信息,请在更多操作-物联设备配置中进行添加</p>-->
+        <!--<div class="all-title-box" style="height:40px;margin-top:20px;">-->
+          <!--<p></p>-->
+          <!--<p>物联控制</p>-->
+        <!--</div>-->
+        <!--<div class="things-box" v-for="(item,index) in subjectData.labHardwareVOListTwo" :key="item.id" v-if="item.hardwareTypeEnum.enumName == 'SWITCH'">-->
+          <!--<div class="things-for-box">-->
+            <!--<p class="left-title">{{item.hardwareName}}</p>-->
+            <!--<el-switch-->
+              <!--v-if="item.state.code == 3||item.state.code == 4"-->
+              <!--class="switch"-->
+              <!--@click.native="changeIsNeedCaptcha(item)"-->
+              <!--v-model="item.state.code"-->
+              <!--:active-value="3"-->
+              <!--:inactive-value="4"-->
+              <!--active-text="开"-->
+              <!--inactive-text="关"-->
+              <!--disabled>-->
+            <!--</el-switch>-->
+            <!--<p class="switch-null-p" v-else>{{item.state.name}}</p>-->
+          <!--</div>-->
+        <!--</div>-->
+        <!--<div class="things-box" v-for="(item,index) in subjectData.labHardwareVOListTwo" :key="item.id" v-if="item.hardwareTypeEnum.enumName == 'AI_VENTILATION'">-->
+          <!--<div class="things-for-box">-->
+            <!--<p class="left-title">{{item.hardwareName}}</p>-->
+            <!--<el-switch-->
+              <!--v-if="item.state.code == 3||item.state.code == 4"-->
+              <!--class="switch"-->
+              <!--@click.native="changeIsNeedCaptcha(item)"-->
+              <!--v-model="item.state.code"-->
+              <!--:active-value="3"-->
+              <!--:inactive-value="4"-->
+              <!--active-text="开"-->
+              <!--inactive-text="关"-->
+              <!--disabled>-->
+            <!--</el-switch>-->
+            <!--<p class="switch-null-p" v-else>{{item.state.name}}</p>-->
+          <!--</div>-->
+        <!--</div>-->
+        <!--<div class="things-box" v-for="(item,index) in subjectData.labHardwareVOListTwo" :key="item.id" v-if="item.hardwareTypeEnum.enumName == 'ONE_MACHINE'">-->
+          <!--<div class="things-for-box">-->
+            <!--<p class="left-title">广播系统</p>-->
+            <!--<p class="right-button" @click="handleAdd">播放文字</p>-->
+          <!--</div>-->
+        <!--</div>-->
+        <!--<img class="null-data-img" src="@/assets/ZDimages/basicsModules/null-data.png" v-if="!subjectData.labHardwareVOListTwo[0]">-->
+        <!--<p class="null-p" v-if="!subjectData.labHardwareVOListTwo[0]" >暂无物联控制信息,请在更多操作-物联设备配置中进行添加</p>-->
+        <!--<div class="all-title-box" style="height:40px;margin-top:10px;">-->
+          <!--<p></p>-->
+          <!--<p>危险源信息</p>-->
+        <!--</div>-->
+        <!--<div class="source-box">-->
+          <!--<span v-for="(item,index) in subjectData.hazardList" :key="index">{{index==0?item.label:'、'+item.label}}</span>-->
+        <!--</div>-->
+        <!--<img class="null-data-img" src="@/assets/ZDimages/basicsModules/null-data.png" v-if="!subjectData.hazardList[0]">-->
+        <!--<p class="null-p" v-if="!subjectData.hazardList[0]" >暂无危险源信息,请在更多操作-关联配置中进行添加</p>-->
+        <!--<div class="all-title-box" style="height:40px;margin-top:20px;">-->
+          <!--<p></p>-->
+          <!--<p>视频监控</p>-->
+        <!--</div>-->
+        <!--<div class="video-max-box">-->
+          <!--<div class="video-min-box" v-for="(item,index) in subjectData.videoData" :key="item.id">-->
+            <!--<video :id="item.divId" ref="videoRef" autoplay controls  muted width="240" height="130px"></video>-->
+            <!--<p class="el-icon-full-screen position-p" @click="videoFullScreen(index)"></p>-->
+          <!--</div>-->
+        <!--</div>-->
+        <!--<img class="null-data-img" src="@/assets/ZDimages/basicsModules/null-data.png" v-if="!subjectData.videoData[0]">-->
+        <!--<p class="null-p" v-if="!subjectData.videoData[0]" >暂无视频监控信息,请在更多操作-物联设备配置中进行添加</p>-->
+        <!--<div class="all-title-box" style="height:30px;">-->
+          <!--<p></p>-->
+          <!--<p>检查项信息</p>-->
+        <!--</div>-->
+        <!--<div class="inspection-box">-->
+          <!--<div>-->
+            <!--<p>穿戴检查项:</p>-->
+            <!--<p>-->
+              <!--<span v-for="(item,index) in subjectData.safeInfo.checkInData">{{index==0?item:'、'+item}}</span>-->
+              <!--<span v-if="!subjectData.safeInfo.checkInData">未设置</span>-->
+            <!--</p>-->
+          <!--</div>-->
+          <!--<div>-->
+            <!--<p>穿戴检查可跳过:</p>-->
+            <!--<p>{{subjectData.skipped == '1'?'是':(subjectData.skipped == '0'?'否':'')}}</p>-->
+          <!--</div>-->
+          <!--<div v-if="subjectData.skipped == 1">-->
+            <!--<p>穿戴检查识别上限:</p>-->
+            <!--<p>{{subjectData.checkCount?subjectData.checkCount:'未设置'}}</p>-->
+          <!--</div>-->
+          <!--<div>-->
+            <!--<p>离开检查项:</p>-->
+            <!--<p>-->
+              <!--<span v-for="(item,index) in subjectData.safeInfo.checkOutData">{{index==0?item:'、'+item}}</span>-->
+              <!--<span v-if="!subjectData.safeInfo.checkOutData">未设置</span>-->
+            <!--</p>-->
+          <!--</div>-->
+        <!--</div>-->
+      <!--</div>-->
+      <!--&lt;!&ndash;展示实验室二维码&ndash;&gt;-->
+      <!--<el-dialog title="实验室二维码" :visible.sync="codeType" width="500px" append-to-body>-->
+        <!--<vue-qr style="display: block;height:460px;width:460px;cursor:pointer;margin:0 auto;" :text="subjectData.qrCodeUrl" :size="200"></vue-qr>-->
+      <!--</el-dialog>-->
+      <!--&lt;!&ndash;播放文字窗口&ndash;&gt;-->
+      <!--<el-dialog title="广播系统" :visible.sync="open" width="500px" append-to-body>-->
+        <!--<el-form ref="form" :model="form" :rules="rules" label-width="80px">-->
+          <!--<el-form-item label="播放文字" prop="txt">-->
+            <!--<el-input v-model="form.txt" placeholder="请输入播放文字" />-->
+          <!--</el-form-item>-->
+          <!--<el-form-item label="播报方式" prop="type">-->
+            <!--<el-radio-group v-model="form.type">-->
+              <!--<el-radio :label="1">文字</el-radio>-->
+              <!--<el-radio :label="2">音频</el-radio>-->
+            <!--</el-radio-group>-->
+          <!--</el-form-item>-->
+        <!--</el-form>-->
+        <!--<div slot="footer" class="dialog-footer dialog-footer-box">-->
+          <!--<p class="dialog-footer-button-null"></p>-->
+          <!--<p class="dialog-footer-button-info" @click="cancel">取消</p>-->
+          <!--<p class="dialog-footer-button-primary" @click="submitFormOne">提交</p>-->
+          <!--<p class="dialog-footer-button-null"></p>-->
+        <!--</div>-->
+      <!--</el-dialog>-->
     </div>
 </template>
 
@@ -192,11 +192,11 @@
         vueQr
       },
       props:{
-        newData:{},
+        subjectData:{},
       },
       data() {
         return {
-          // newData:{},
+          // subjectData:{},
           //主要危险类别
           hazardCategory:[],
           //风险防控措施
@@ -237,9 +237,9 @@
       },
       mounted(){
         let self = this;
-        setTimeout(function(){
-          self.videoFunction();
-        },500);
+        // setTimeout(function(){
+        //   self.videoFunction();
+        // },500);
 
       },
       methods:{
@@ -247,18 +247,18 @@
         videoFunction(){
           let self = this;
           self.videoList = [];
-          for(let i=0;i<self.newData.videoData.length;i++){
+          for(let i=0;i<self.subjectData.videoData.length;i++){
             let obj = {
               player :{},
               flvPlayer:{}
             };
-            obj.player = document.getElementById(self.newData.videoData[i].divId);
+            obj.player = document.getElementById(self.subjectData.videoData[i].divId);
             obj.flvPlayer = flvjs.createPlayer(
               {
                 // isLive: true, //=> 是否为直播流
                 // hasAudio: false, //=> 是否开启声音
-                type: self.newData.videoData[i].videoType, //媒体类型 flv 或 mp4
-                url: self.newData.videoData[i].url //视频流地址
+                type: self.subjectData.videoData[i].videoType, //媒体类型 flv 或 mp4
+                url: self.subjectData.videoData[i].url //视频流地址
               },
               {
                 enableStashBuffer: true,//启用 IO 存储缓冲区。 如果您需要实时流播放(最小延迟),请设置为 false,但如果存在网络抖动,则可能会停止。
@@ -310,7 +310,7 @@
         submitFormOne(){
           this.$refs["form"].validate(valid => {
             if (valid) {
-              let id = this.newData.id;
+              let id = this.subjectData.id;
               mangerVoice(this.form,id).then(response => {
                 this.msgSuccess("播放成功");
                 this.open = false;