Browse Source

解决多屏操作,失败

liuwei 4 years ago
parent
commit
19a8c2837a
1 changed files with 28 additions and 29 deletions
  1. 28 29
      src/renderer/components/BigShow.vue

+ 28 - 29
src/renderer/components/BigShow.vue

@@ -22,8 +22,8 @@
                     v-for="itemV in bigScreenObj[item.ID].signalArr" :key="itemV.Id" class="sitem"
                     :w="itemV.width" :h="itemV.height" :parentLimitation="false"
                     :x="itemV.left" :y="itemV.top"
-                    @dragstop="(obj) => dragStop(obj,itemV)"
-                    @resizestop="(obj) => resizeSignal(obj,itemV)"
+                    @dragstop="() => dragStop(itemV)"
+                    @resizestop="() => resizeSignal(itemV)"
             >
                 <div ref="signal">
                     {{itemV.deviceID}}
@@ -163,13 +163,13 @@
             },
 
             // 拖动结束
-            dragStop(obj,item) {
+            dragStop(item) {
                 const arr2 = this.$store.state.signalPreList
                 this.reqRefreshBigScreen(arr2)
             },
 
             // 缩放结束
-            async resizeSignal(obj,itemV) {
+            async resizeSignal(itemV) {
                 /*const arr = this.$data.streamWindows
                 // 找出当前改动的信号源
                 const currentItem = arr.filter(item => item.sourceId === itemV.sourceId)
@@ -245,27 +245,22 @@
                     
                     let len = arr.length
                     if(len){
-                        /*const signals = []
-                        arr.forEach(item => {signals.push(JSON.parse(JSON.stringify(item)))})
-                        // 删除数据的最后一项,重新赋值再添加
-                        signals.pop()*/
-
-                        // 给新增的信号源进行赋值
-                        // const signalObj = arr[len-1]
-
-
-                        /*arr[len-1].Id = guId()
-                        arr[len-1].splitScreenStatus = val[bigscreenId].splitStatus + 1
-                        arr[len-1].width = val[bigscreenId].width * bigScale / arr[len-1].splitScreenStatus
-                        arr[len-1].height = val[bigscreenId].height * bigScale / arr[len-1].splitScreenStatus
-                        arr[len-1].widthScale = arr[len-1].width / (val[bigscreenId].width * bigScale)
-                        arr[len-1].heightScale = arr[len-1].height / (val[bigscreenId].height * bigScale)
-                        const positionInfo = elePosition(arr[len-1].width,arr[len-1].height,positionNum,this.screenPosition[bigscreenId].top,this.screenPosition[bigscreenId].left,val[bigscreenId].splitStatus+1)
-                        arr[len-1].top = positionInfo.top - this.screenPosition[bigscreenId].top
-                        arr[len-1].left = positionInfo.left- this.screenPosition[bigscreenId].left
-
-                        this.$store.dispatch('updateBigscreenObj',val)*/
-                        
+                        const arr2 = []
+                        arr.forEach(item => {arr2.push(JSON.parse(JSON.stringify(item)))})
+                        arr2.pop()
+                        const lastObj = arr[len-1]
+                        lastObj.Id = guId()
+                        lastObj.splitScreenStatus = val[bigscreenId].splitStatus + 1
+                        lastObj.width = val[bigscreenId].width * bigScale / lastObj.splitScreenStatus
+                        lastObj.height = val[bigscreenId].height * bigScale / lastObj.splitScreenStatus
+                        lastObj.widthScale = lastObj.width / (val[bigscreenId].width * bigScale)
+                        lastObj.heightScale = lastObj.height / (val[bigscreenId].height * bigScale)
+                        const positionInfo = elePosition(lastObj.width,lastObj.height,positionNum,this.screenPosition[bigscreenId].top,this.screenPosition[bigscreenId].left,val[bigscreenId].splitStatus+1)
+                        lastObj.top = positionInfo.top - this.screenPosition[bigscreenId].top
+                        lastObj.left = positionInfo.left - this.screenPosition[bigscreenId].left
+                        console.log([...arr2,lastObj])
+                        // val[bigscreenId].signalArr = [...arr2,lastObj]
+                        // this.$store.dispatch('updateBigscreenObj',val)
                         /*signals.push(signalObj)
                         console.log(val)
                         this.$store.dispatch('updateBigscreenObj',val)*/
@@ -304,10 +299,15 @@
             bigScreenObj: {
                 handler: function (val) {
                     const bigscreenId = this.$store.state.curOpeBigscreenId
+                    if(bigscreenId){
+                        console.log(val)
+                    }
+
+                    /*const bigscreenId = this.$store.state.curOpeBigscreenId
                     const bigScale = this.$store.state.bigScale
                     const positionNum = this.$store.state.positionNum
                     if(bigscreenId){
-                        /*const arr = val[bigscreenId].signalArr
+                        /!*const arr = val[bigscreenId].signalArr
                         let len = arr.length
                         if(len){
                             // 给新增的信号源进行赋值
@@ -321,7 +321,7 @@
                             const positionInfo = elePosition(signalObj.width,signalObj.height,positionNum,this.screenPosition[bigscreenId].top,this.screenPosition[bigscreenId].left,val[bigscreenId].splitStatus+1)
                             signalObj.top = positionInfo.top - this.screenPosition[bigscreenId].top
                             signalObj.left = positionInfo.left- this.screenPosition[bigscreenId].left
-                        }*/
+                        }*!/
                         
                         const arr = []
                         val[bigscreenId].signalArr.forEach(item => {
@@ -339,8 +339,7 @@
                             item.top = positionInfo.top - this.screenPosition[bigscreenId].top
                             item.left = positionInfo.left- this.screenPosition[bigscreenId].left
                         })
-                        console.log(arr)
-                    }
+                    }*/
                 },
                 deep:true
             },