|
@@ -33,7 +33,12 @@
|
|
|
>
|
|
|
<div class="signal_item_bg">
|
|
|
<div class="signal_item_bg_body">
|
|
|
- <div class="signal_item_bg_body_space"></div>
|
|
|
+ <div v-show="item.preview" class="signal_item_bg_body_space">
|
|
|
+ <VideoPlayer
|
|
|
+ :options="videoPlayObj[item.sourceId]"
|
|
|
+ :playsinline="true"
|
|
|
+ />
|
|
|
+ </div>
|
|
|
<div class="signal_item_bg_body_font">{{item.deviceName}}</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -45,25 +50,50 @@
|
|
|
import {mapState} from 'vuex'
|
|
|
import draggable from 'vuedraggable'
|
|
|
import {getStaticFile} from "../../utils/tools"
|
|
|
+ import VideoPlayer from "./player"
|
|
|
|
|
|
export default {
|
|
|
data() {
|
|
|
return {
|
|
|
- signalBorder:[]
|
|
|
+ signalBorder: [], // 信号源容器
|
|
|
+ videoPlayObj: {}, // 视频播放配置对象
|
|
|
}
|
|
|
},
|
|
|
|
|
|
components: {
|
|
|
- draggable
|
|
|
+ draggable,
|
|
|
+ VideoPlayer
|
|
|
},
|
|
|
|
|
|
async beforeCreate() {
|
|
|
this.signalBorder = await getStaticFile('EnitySignalPreviewList.Data')
|
|
|
},
|
|
|
|
|
|
+ beforeUpdate() {
|
|
|
+ const signalList = this.$store.state.signalListJson
|
|
|
+ const videoPlayObj = {}
|
|
|
+ for (const item of signalList) {
|
|
|
+ videoPlayObj[item.sourceId] = {
|
|
|
+ sources: [
|
|
|
+ {
|
|
|
+ "src": item.previewUrl,
|
|
|
+ "type": "rtmp/flv"
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ techOrder: ['flash'],
|
|
|
+ autoplay: true,
|
|
|
+ controls: false,
|
|
|
+ fluid: true,
|
|
|
+ preload: 'auto',
|
|
|
+ notSupportedMessage: '此视频暂无法播放,请稍后再试',
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.videoPlayObj = videoPlayObj
|
|
|
+ },
|
|
|
+
|
|
|
updated() {
|
|
|
const flag = this.signalBorder[0] ? (this.signalBorder[0].Orientation === 0 ? 'column' : 'row') : ''
|
|
|
- if(flag === 'column'){
|
|
|
+ if (flag === 'column') {
|
|
|
document.getElementById('signalContainer').style.alignItems = 'center'
|
|
|
}
|
|
|
},
|
|
@@ -72,7 +102,7 @@
|
|
|
// 移动信号源
|
|
|
onMove({relatedContext, draggedContext}) {
|
|
|
// 更新当前操作大屏ID
|
|
|
- this.$store.dispatch('updateCurBigscreenId',relatedContext.component.$el.id)
|
|
|
+ this.$store.dispatch('updateCurBigscreenId', relatedContext.component.$el.id)
|
|
|
|
|
|
const relatedElement = relatedContext.element
|
|
|
const draggedElement = draggedContext.element
|
|
@@ -84,14 +114,14 @@
|
|
|
end: function (evt) {
|
|
|
const bigscreenObj = this.$store.state.bigScreenObj
|
|
|
let len = bigscreenObj[evt.to.id] ? bigscreenObj[evt.to.id].signalArr.length : 0
|
|
|
- const count = evt.newIndex+1-len>0 ? evt.newIndex+1-len : 1
|
|
|
+ const count = evt.newIndex + 1 - len > 0 ? evt.newIndex + 1 - len : 1
|
|
|
// 更新当前拖拽的位置
|
|
|
- this.$store.dispatch('updatePositionNum',count)
|
|
|
+ this.$store.dispatch('updatePositionNum', count)
|
|
|
},
|
|
|
},
|
|
|
|
|
|
computed: {
|
|
|
- ...mapState(['signalListJson','bigScale','signalPreList']),
|
|
|
+ ...mapState(['signalListJson', 'bigScale', 'signalPreList']),
|
|
|
dragOptions1() {
|
|
|
return {
|
|
|
animation: 0,
|
|
@@ -100,7 +130,7 @@
|
|
|
pull: 'clone',
|
|
|
put: false
|
|
|
},
|
|
|
- sort:false,
|
|
|
+ sort: false,
|
|
|
ghostClass: "ghost",
|
|
|
}
|
|
|
},
|