|
@@ -28,15 +28,20 @@
|
|
|
</div>-->
|
|
|
|
|
|
<VueDragResize
|
|
|
- v-for="itemV in signalPreList" :key="itemV.deviceID" class="sitem" ref="signal"
|
|
|
+ v-for="itemV in signalPreList" :key="itemV.deviceID" class="sitem"
|
|
|
:w="item.Width*Scale/(splitScreenStatus+1)" :h="item.Height*Scale/(splitScreenStatus+1)"
|
|
|
+ :parentLimitation="true"
|
|
|
+ @dragstop="dragStop"
|
|
|
+ @resizestop="(obj) => reSizeSignal(obj,itemV)"
|
|
|
>
|
|
|
- {{itemV.showName}}
|
|
|
- </VueDragResize >
|
|
|
+ <div ref="signal">
|
|
|
+ {{itemV.showName}}
|
|
|
+ </div>
|
|
|
+ </VueDragResize>
|
|
|
|
|
|
- <div v-for="(itemD,index) in divArr" :key="index" class="sitem2" ref="signal">
|
|
|
+ <div v-for="(itemD,index) in divArr" :key="index" class="sitem2">
|
|
|
{{itemD}}
|
|
|
- </div >
|
|
|
+ </div>
|
|
|
|
|
|
</draggable>
|
|
|
</div>
|
|
@@ -55,6 +60,7 @@
|
|
|
return {
|
|
|
isDragging: false, // 是否可拖动标志
|
|
|
divArr:[],// 默认大屏中盒子的数组
|
|
|
+ streamWindows:[], // 传递出去的信号源位置信息
|
|
|
}
|
|
|
},
|
|
|
|
|
@@ -75,6 +81,7 @@
|
|
|
|
|
|
// 大屏开窗
|
|
|
reqRefreshBigScreen(arr) {
|
|
|
+ const Scale = this.$store.state.Scale
|
|
|
const streamWindows = []
|
|
|
setTimeout(async () => {
|
|
|
const elementArr = this.$refs.signal
|
|
@@ -86,8 +93,8 @@
|
|
|
streamWindows.push({
|
|
|
left,
|
|
|
top,
|
|
|
- width:this.bigScreenJson[0].Width/(this.splitScreenStatus+1),
|
|
|
- height:this.bigScreenJson[0].Height/(this.splitScreenStatus+1),
|
|
|
+ width:this.bigScreenJson[0].Width*Scale/(this.splitScreenStatus+1),
|
|
|
+ height:this.bigScreenJson[0].Height*Scale/(this.splitScreenStatus+1),
|
|
|
id:0,
|
|
|
sourceId:arr[index].sourceId,
|
|
|
widthScale:1/(this.splitScreenStatus+1),
|
|
@@ -99,18 +106,30 @@
|
|
|
bigScreenId:this.bigScreenJson[0].ID,
|
|
|
streamWindows
|
|
|
}
|
|
|
+ this.streamWindows = streamWindows
|
|
|
+ console.log(data)
|
|
|
// 调用大屏开窗接口
|
|
|
- /*const res = await reqRefreshView(data)
|
|
|
- console.log(res)*/
|
|
|
+ await reqRefreshView(data)
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
|
|
|
- resize(newRect) {
|
|
|
- this.width = newRect.width;
|
|
|
- this.height = newRect.height;
|
|
|
- this.top = newRect.top;
|
|
|
- this.left = newRect.left;
|
|
|
+ // 拖动结束
|
|
|
+ dragStop(obj) {
|
|
|
+ const arr = this.$store.state.signalPreList
|
|
|
+ this.reqRefreshBigScreen(arr)
|
|
|
+ },
|
|
|
+
|
|
|
+ // 放大缩小信号源
|
|
|
+ reSizeSignal(obj,itemV) {
|
|
|
+ const arr = this.$data.streamWindows
|
|
|
+ // 找出当前改动的信号源
|
|
|
+ const currentItem = arr.filter(item => item.sourceId === itemV.sourceId)
|
|
|
+ currentItem.width = obj.width
|
|
|
+ currentItem.height = obj.height
|
|
|
+ const otherItems = arr.filter(item => item.sourceId !== itemV.sourceId)
|
|
|
+ const newStreamWindows = [...currentItem,...otherItems]
|
|
|
+ console.log(newStreamWindows)
|
|
|
}
|
|
|
},
|
|
|
|
|
@@ -149,7 +168,7 @@
|
|
|
watch: {
|
|
|
// 监视大屏中的信号源,只要变动,就调用回调函数
|
|
|
signalPreList: function (arr) {
|
|
|
- // this.reqRefreshBigScreen(arr)
|
|
|
+ this.reqRefreshBigScreen(arr)
|
|
|
},
|
|
|
|
|
|
// 监视分屏的状态
|
|
@@ -160,10 +179,8 @@
|
|
|
this.$data.divArr.push(i+1)
|
|
|
}
|
|
|
|
|
|
- // this.$store.dispatch('updateSignalPreList',this.$data.divArr)
|
|
|
-
|
|
|
- // const arr = this.$store.state.signalPreList
|
|
|
- // this.reqRefreshBigScreen(arr)
|
|
|
+ const arr = this.$store.state.signalPreList
|
|
|
+ this.reqRefreshBigScreen(arr)
|
|
|
}
|
|
|
}
|
|
|
}
|