|
@@ -87,6 +87,7 @@
|
|
|
</div>
|
|
|
<!--右侧数据展示-->
|
|
|
<div class="right-max-box scrollbar-box">
|
|
|
+ <!--传感器监测 上报时间 返回按钮-->
|
|
|
<div class="all-title-box" style="height:40px;">
|
|
|
<p></p>
|
|
|
<p>传感器监测</p>
|
|
@@ -96,6 +97,7 @@
|
|
|
</div>
|
|
|
<p class="sensor-box" v-for="(item,index) in sensorList" :key="index">{{item.deviceName}}:<span>{{item.deviceValue}}{{item.unit}}</span></p>
|
|
|
<img class="null-data-img" src="@/assets/ZDimages/basicsModules/null-data-1.png" v-if="!sensorList[0]">
|
|
|
+ <!--物联控制-->
|
|
|
<div class="all-title-box" style="height:40px;margin-top:20px;">
|
|
|
<p></p>
|
|
|
<p>物联控制</p>
|
|
@@ -118,15 +120,16 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<img class="null-data-img" src="@/assets/ZDimages/basicsModules/null-data-1.png" v-if="!hardwareList[0]">
|
|
|
- <div class="all-title-box" style="height:40px;margin-top:20px;">
|
|
|
+ <!--视频监控-->
|
|
|
+ <div class="all-title-box" style="height:40px;margin-top:20px;" v-if="videoType">
|
|
|
<p></p>
|
|
|
<p>视频监控</p>
|
|
|
</div>
|
|
|
- <img class="null-data-img" src="@/assets/ZDimages/basicsModules/null-data-1.png" v-if="!videoList[0]">
|
|
|
- <mpegts-video style="display: inline-block" :videoProps="item" v-for="(item,index) in videoList" :key="index"></mpegts-video>
|
|
|
-
|
|
|
+ <div v-if="videoType">
|
|
|
+ <img class="null-data-img" src="@/assets/ZDimages/basicsModules/null-data-1.png" v-if="!videoList[0]">
|
|
|
+ <mpegts-video style="display: inline-block;margin-bottom:10px;" :videoProps="item" v-for="(item,index) in videoList" :key="index"></mpegts-video>
|
|
|
+ </div>
|
|
|
<!--广播-->
|
|
|
-
|
|
|
<div class="all-title-box" style="height:40px;margin-top:10px;">
|
|
|
<p></p>
|
|
|
<p>语音广播</p>
|
|
@@ -137,51 +140,68 @@
|
|
|
<p class="right-button" @click="handleAdd(item.deviceNo)">播放文字</p>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <img class="null-data-img" src="@/assets/ZDimages/basicsModules/null-data.png" v-if="!loudspeakerList[0]">
|
|
|
-
|
|
|
+ <img class="null-data-img" src="@/assets/ZDimages/basicsModules/null-data-1.png" v-if="!loudspeakerList[0]">
|
|
|
<!--危险源信息-->
|
|
|
-
|
|
|
- <!--<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:10px;">
|
|
|
+ <p></p>
|
|
|
+ <p>危险源信息</p>
|
|
|
+ </div>
|
|
|
+ <div class="source-box" style="margin-bottom:20px;" v-if="checkInData.hazardNames">
|
|
|
+ <span>{{checkInData.hazardNames}}</span>
|
|
|
+ </div>
|
|
|
+ <img class="null-data-img" src="@/assets/ZDimages/basicsModules/null-data-1.png" v-if="!checkInData.hazardNames">
|
|
|
<!--检查项信息-->
|
|
|
-
|
|
|
- <!--<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 class="all-title-box" style="height:30px;">
|
|
|
+ <p></p>
|
|
|
+ <p>检查项信息</p>
|
|
|
+ </div>
|
|
|
+ <div class="inspection-box">
|
|
|
+ <div class="inspection-left-box">
|
|
|
+ <div v-if="checkInData.checkIn">
|
|
|
+ <p>穿戴检查项:</p>
|
|
|
+ <p>{{checkInData.checkIn}}</p>
|
|
|
+ </div>
|
|
|
+ <div v-if="checkInData.skipped">
|
|
|
+ <p>穿戴检查可跳过:</p>
|
|
|
+ <p>{{checkInData.skipped?'是':'否'}}</p>
|
|
|
+ </div>
|
|
|
+ <div v-if="checkInData.checkIn && checkInData.skipped">
|
|
|
+ <p>穿戴检查识别上限:</p>
|
|
|
+ <p>{{checkInData.checkCount}}次</p>
|
|
|
+ </div>
|
|
|
+ <div v-if="checkInData.signTime">
|
|
|
+ <p>签到有效时间:</p>
|
|
|
+ <p>{{checkInData.signTime}}小时</p>
|
|
|
+ </div>
|
|
|
+ <div v-if="checkInData.checkOutUpload">
|
|
|
+ <p>离开检查是否上传照片:</p>
|
|
|
+ <p>{{checkInData.checkOutUpload?'是':'否'}}</p>
|
|
|
+ </div>
|
|
|
+ <div v-if="checkInData.signTime">
|
|
|
+ <p>签到有效时间:</p>
|
|
|
+ <p>{{checkInData.signTime}}小时</p>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="inspection-right-box">
|
|
|
+ <div v-if="checkInData.inspectCheckIn">
|
|
|
+ <p>穿戴检查项(巡查):</p>
|
|
|
+ <p>{{checkInData.inspectCheckIn}}</p>
|
|
|
+ </div>
|
|
|
+ <div v-if="checkInData.inspectSkipped">
|
|
|
+ <p>穿戴检查可跳过(巡查):</p>
|
|
|
+ <p>{{checkInData.inspectSkipped?'是':'否'}}</p>
|
|
|
+ </div>
|
|
|
+ <div v-if="checkInData.inspectCheckIn && checkInData.inspectSkipped">
|
|
|
+ <p>穿戴检查识别上限(巡查):</p>
|
|
|
+ <p>{{checkInData.inspectCheckCount}}次</p>
|
|
|
+ </div>
|
|
|
+ <div v-if="checkInData.inspectSignTime">
|
|
|
+ <p>签到有效时间(巡查):</p>
|
|
|
+ <p>{{checkInData.inspectSignTime}}小时</p>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <img class="null-data-img" src="@/assets/ZDimages/basicsModules/null-data-1.png" v-if="!checkInData.signTime && !checkInData.inspectSignTime">
|
|
|
</div>
|
|
|
<qr-code-dialog ref="qrCodeDialog" :qrCodeDialogData="qrCodeDialogData"></qr-code-dialog>
|
|
|
<!--播放文字窗口-->
|
|
@@ -208,6 +228,7 @@
|
|
|
import { controlsRestrictVerify } from '@/utils/index'
|
|
|
import qrCodeDialog from "@/components/qrCodeDialog/index.vue"
|
|
|
import mpegtsVideo from '@/components/mpegtsVideo/mpegtsVideo.vue'
|
|
|
+ import {laboratorySubRelInfoGetSubRelByCheckHazard} from '@/api/integratedManagement/index'
|
|
|
import {
|
|
|
iotSensorFindBySubId,
|
|
|
iotHardwareFindByType,
|
|
@@ -247,14 +268,13 @@
|
|
|
{required: true, message: '请输入播放文字', trigger: 'blur'},
|
|
|
{ required: true, message: "请输入播放文字", validator: this.spaceJudgment, trigger: "blur" }
|
|
|
],
|
|
|
- type:[
|
|
|
- {required: true, message: '请选择播报方式', trigger: 'blur'}
|
|
|
- ],
|
|
|
},
|
|
|
//传感器数据
|
|
|
sensorList:[],
|
|
|
//硬件数据
|
|
|
hardwareList:[],
|
|
|
+ //视频权限
|
|
|
+ videoType:false,
|
|
|
//视频数据
|
|
|
videoList:[
|
|
|
{
|
|
@@ -272,6 +292,8 @@
|
|
|
url:"ws://192.168.1.43:8230/rtp/440102004920000000010064_34020000001320000064.flv" //(视频地址:必传)
|
|
|
},
|
|
|
],
|
|
|
+ //危险源-关联配置数据
|
|
|
+ checkInData:{},
|
|
|
//喇叭数据
|
|
|
loudspeakerList:[],
|
|
|
//MQTT请求参数-传感器
|
|
@@ -327,16 +349,29 @@
|
|
|
iotHardwareFindByType({subjectId:this.subjectData.subId}).then(response => {
|
|
|
this.$set(this,'hardwareList',response.data);
|
|
|
})
|
|
|
+ //喇叭查询
|
|
|
iotDeviceFindByType({ subjectId:this.subjectData.subId, typeKeyList:['horn'] }).then(response => {
|
|
|
this.$set(this,'loudspeakerList',response.data);
|
|
|
})
|
|
|
+ //危险源-关联配置查询
|
|
|
+ laboratorySubRelInfoGetSubRelByCheckHazard({ infoId:this.subjectData.infoId }).then(response => {
|
|
|
+ this.$set(this,'checkInData',response.data);
|
|
|
+ })
|
|
|
+
|
|
|
+ //视频查询
|
|
|
+ if(!controlsRestrictVerify('subHardwareControl')){
|
|
|
+ this.$set(this,'videoType',false);
|
|
|
+ }else{
|
|
|
+ this.$set(this,'videoType',true);
|
|
|
+ }
|
|
|
+
|
|
|
},
|
|
|
//播放文字
|
|
|
handleAdd(deviceNo) {
|
|
|
- // if(!controlsRestrictVerify('subHardwareControl')){
|
|
|
- // this.msgError('没有相关操作权限,请联系管理员')
|
|
|
- // return
|
|
|
- // }
|
|
|
+ if(!controlsRestrictVerify('subHardwareControl')){
|
|
|
+ this.msgError('没有相关操作权限,请联系管理员')
|
|
|
+ return
|
|
|
+ }
|
|
|
this.$set(this,'form',{
|
|
|
deviceNo:deviceNo,
|
|
|
text:'',
|
|
@@ -737,22 +772,48 @@
|
|
|
}
|
|
|
}
|
|
|
.inspection-box{
|
|
|
- div{
|
|
|
- display: flex;
|
|
|
- p:nth-child(1){
|
|
|
- line-height:16px;
|
|
|
- font-size:14px;
|
|
|
- margin:11px 0;
|
|
|
- color:#333;
|
|
|
+ display: flex;
|
|
|
+ .inspection-left-box{
|
|
|
+ flex:1;
|
|
|
+ div{
|
|
|
+ display: flex;
|
|
|
+ p:nth-child(1){
|
|
|
+ line-height:16px;
|
|
|
+ font-size:14px;
|
|
|
+ margin:11px 0;
|
|
|
+ color:#333;
|
|
|
+ }
|
|
|
+ p:nth-child(2){
|
|
|
+ flex:1;
|
|
|
+ line-height:16px;
|
|
|
+ font-size:14px;
|
|
|
+ margin:11px 0;
|
|
|
+ color:#999;
|
|
|
+ span{
|
|
|
+ color:#999;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
- p:nth-child(2){
|
|
|
- flex:1;
|
|
|
- line-height:16px;
|
|
|
- font-size:14px;
|
|
|
- margin:11px 0;
|
|
|
- color:#999;
|
|
|
- span{
|
|
|
+ }
|
|
|
+ .inspection-right-box{
|
|
|
+ flex:1;
|
|
|
+ div{
|
|
|
+ display: flex;
|
|
|
+ p:nth-child(1){
|
|
|
+ line-height:16px;
|
|
|
+ font-size:14px;
|
|
|
+ margin:11px 0;
|
|
|
+ color:#333;
|
|
|
+ }
|
|
|
+ p:nth-child(2){
|
|
|
+ flex:1;
|
|
|
+ line-height:16px;
|
|
|
+ font-size:14px;
|
|
|
+ margin:11px 0;
|
|
|
color:#999;
|
|
|
+ span{
|
|
|
+ color:#999;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|