|
@@ -144,7 +144,7 @@
|
|
</div>
|
|
</div>
|
|
<div v-if="videoType">
|
|
<div v-if="videoType">
|
|
<img class="null-data-img" src="@/assets/ZDimages/basicsModules/null-data-1.png" v-if="!videoList[0]">
|
|
<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>
|
|
|
|
|
|
+ <H5PlayerVideo v-for="(item,index) in videoList" :key="index" :videoProps="item"></H5PlayerVideo>
|
|
</div>
|
|
</div>
|
|
<!--广播-->
|
|
<!--广播-->
|
|
<div class="all-title-box" style="height:40px;margin-top:10px;">
|
|
<div class="all-title-box" style="height:40px;margin-top:10px;">
|
|
@@ -273,7 +273,6 @@
|
|
import mqtt from 'mqtt'
|
|
import mqtt from 'mqtt'
|
|
import { controlsRestrictVerify } from '@/utils/index'
|
|
import { controlsRestrictVerify } from '@/utils/index'
|
|
import qrCodeDialog from "@/components/qrCodeDialog/index.vue"
|
|
import qrCodeDialog from "@/components/qrCodeDialog/index.vue"
|
|
- import mpegtsVideo from '@/components/mpegtsVideo/mpegtsVideo.vue'
|
|
|
|
import {laboratorySubRelInfoGetSubRelByCheckHazard} from '@/api/integratedManagement/index'
|
|
import {laboratorySubRelInfoGetSubRelByCheckHazard} from '@/api/integratedManagement/index'
|
|
import {
|
|
import {
|
|
iotSensorFindBySubId,
|
|
iotSensorFindBySubId,
|
|
@@ -282,12 +281,14 @@
|
|
iotDeviceFindByType,
|
|
iotDeviceFindByType,
|
|
iotSpeakerPlayText
|
|
iotSpeakerPlayText
|
|
} from '@/api/commonality/permission'
|
|
} from '@/api/commonality/permission'
|
|
|
|
+ import { iotCameraFindByCondition } from "@/api/basicsModules/index";
|
|
|
|
+ import H5PlayerVideo from '@/components/H5PlayerVideo/H5PlayerVideo.vue';
|
|
export default {
|
|
export default {
|
|
name: "infoPage",
|
|
name: "infoPage",
|
|
components: {
|
|
components: {
|
|
vueQr,
|
|
vueQr,
|
|
qrCodeDialog,
|
|
qrCodeDialog,
|
|
- mpegtsVideo,
|
|
|
|
|
|
+ H5PlayerVideo
|
|
},
|
|
},
|
|
props:{
|
|
props:{
|
|
subjectData:{},
|
|
subjectData:{},
|
|
@@ -319,25 +320,12 @@
|
|
sensorList:[],
|
|
sensorList:[],
|
|
//硬件数据
|
|
//硬件数据
|
|
hardwareList:[],
|
|
hardwareList:[],
|
|
|
|
+ width: 490,
|
|
|
|
+ height: 280,
|
|
//视频权限
|
|
//视频权限
|
|
videoType:false,
|
|
videoType:false,
|
|
//视频数据
|
|
//视频数据
|
|
- videoList:[
|
|
|
|
- // {
|
|
|
|
- // id:1, //(ID:非必传-默认随机生成)
|
|
|
|
- // width:490, //(宽度:非必传-默认600)
|
|
|
|
- // height:280, //(高度:非必传-默认338)
|
|
|
|
- // type:'flv',
|
|
|
|
- // url:"ws://192.168.1.43:8230/rtp/440102004920000000010064_34020000001320000064.flv" //(视频地址:必传)
|
|
|
|
- // },
|
|
|
|
- // {
|
|
|
|
- // id:2, //(ID:非必传-默认随机生成)
|
|
|
|
- // width:490, //(宽度:非必传-默认600)
|
|
|
|
- // height:280, //(高度:非必传-默认338)
|
|
|
|
- // type:'flv',
|
|
|
|
- // url:"ws://192.168.1.43:8230/rtp/440102004920000000010064_34020000001320000064.flv" //(视频地址:必传)
|
|
|
|
- // },
|
|
|
|
- ],
|
|
|
|
|
|
+ videoList:[],
|
|
//危险源-关联配置数据
|
|
//危险源-关联配置数据
|
|
checkInData:{},
|
|
checkInData:{},
|
|
//喇叭数据
|
|
//喇叭数据
|
|
@@ -469,13 +457,43 @@
|
|
if(!controlsRestrictVerify('subVideo')){
|
|
if(!controlsRestrictVerify('subVideo')){
|
|
this.$set(this,'videoType',false);
|
|
this.$set(this,'videoType',false);
|
|
}else{
|
|
}else{
|
|
- this.$set(this,'videoType',true);
|
|
|
|
|
|
+ this.videoInitialize();
|
|
}
|
|
}
|
|
//mqtt订阅
|
|
//mqtt订阅
|
|
this.sensorOffMQTT('on');
|
|
this.sensorOffMQTT('on');
|
|
this.hardwareOffMQTT('on');
|
|
this.hardwareOffMQTT('on');
|
|
|
|
|
|
},
|
|
},
|
|
|
|
+ videoInitialize() {
|
|
|
|
+ let self = this;
|
|
|
|
+ // type 1.楼栋 2.楼层 3.楼道 4.实验室
|
|
|
|
+ let obj = {
|
|
|
|
+ page:'1',
|
|
|
|
+ pageSize:'10',
|
|
|
|
+ buildId:'',
|
|
|
|
+ floorId:'',
|
|
|
|
+ passageway:'',
|
|
|
|
+ subIds:[this.subjectData.subId],
|
|
|
|
+ };
|
|
|
|
+ iotCameraFindByCondition(obj).then(response => {
|
|
|
|
+ let list = [];
|
|
|
|
+ for(let i=0;i<response.data.records.length;i++){
|
|
|
|
+ list.push(
|
|
|
|
+ {
|
|
|
|
+ width: this.width, //(宽度:非必传-默认600)
|
|
|
|
+ height: this.height, //(高度:非必传-默认338)
|
|
|
|
+ url: response.data.records[i].streamUrl,
|
|
|
|
+ }
|
|
|
|
+ )
|
|
|
|
+ }
|
|
|
|
+ this.$set(this,'videoList',list)
|
|
|
|
+ this.$nextTick(()=>{
|
|
|
|
+ setTimeout(function(){
|
|
|
|
+ self.$set(self, 'videoType', true);
|
|
|
|
+ },1000);
|
|
|
|
+ })
|
|
|
|
+ });
|
|
|
|
+ },
|
|
//播放文字
|
|
//播放文字
|
|
handleAdd(deviceNo) {
|
|
handleAdd(deviceNo) {
|
|
if(!controlsRestrictVerify('subHardwareControl')){
|
|
if(!controlsRestrictVerify('subHardwareControl')){
|