liuwei 4 роки тому
батько
коміт
522bbd3101

+ 19 - 8
src/renderer/components/BigShow.vue

@@ -22,7 +22,7 @@
         >
             <VueDragResize
                     v-for="itemV in bigScreenObj[item.ID].signalArr" :key="itemV.Id" class="sitem"
-                    :w="item.Width*bigScale/(bigScreenObj[item.ID].splitStatus+1)" :h="item.Height*bigScale/(bigScreenObj[item.ID].splitStatus+1)" :parentLimitation="false"
+                    :w="itemV.width" :h="itemV.height" :parentLimitation="false"
                     :x="itemV.left" :y="itemV.top"
                     @dragstop="(obj) => dragStop(obj,itemV)"
                     @resizestop="(obj) => reSizeSignal(obj,itemV)"
@@ -33,7 +33,7 @@
                                ref="videoPlayer"
                                :options="playerOptions"
                                :playsinline="true"
-                       />-->
+                    />-->
                     <div class="closeBtn" @click.stop="closeSignal(item,itemV)">×</div>
                 </div>
             </VueDragResize>
@@ -96,7 +96,9 @@
                 obj[item.ID] = {
                     bindList:[],
                     splitStatus:0,
-                    signalArr:[]
+                    signalArr:[],
+                    width:item.Width,
+                    height:item.Height
                 }
                 const num = item.BindList.length
                 // 拼接屏数量
@@ -285,13 +287,22 @@
         watch: {
             // 监视大屏对象的变化(深度监视)
             bigScreenObj: {
-                handler: function (val, oldVal) { 
+                handler: function (val, oldVal) {
+                    const bigScale = this.$store.state.bigScale
                     for (const key in val) {
-                        val[key].signalArr.forEach(item => {
-                            item.Id = guId()
-                        })
+                        let len = val[key].signalArr.length
+                        if(len>0){
+                            const arr = []
+                            val[key].signalArr.forEach(item => {arr.push(JSON.parse(JSON.stringify(item)))})
+                            arr.pop()
+
+                            arr[len-1].Id = guId()
+                            arr[len-1].width = val[key].width*bigScale/(val[key].splitStatus+1)
+                            arr[len-1].height = val[key].height*bigScale/(val[key].splitStatus+1)
+
+                            console.log(arr)
+                        }
                     }
-                    console.log(val)
                     this.$store.dispatch('updateBigscreenObj',val)
                 },
                 deep: true

+ 5 - 2
src/renderer/components/SignalList.vue

@@ -70,9 +70,12 @@
         methods: {
             // 移动信号源
             onMove({relatedContext, draggedContext}) {
-                const signalLength = this.$store.state.signalPreList.length
+                // 1.首先要知道拖拽到哪个大屏
+                const bigscreenObj = this.$store.state.bigScreenObj
+                let len = bigscreenObj[relatedContext.component.$el.id].signalArr.length
+                console.log(relatedContext.index-len)
 
-                this.$store.dispatch('updatePositionNum',relatedContext.index-signalLength)
+                // this.$store.dispatch('updatePositionNum',relatedContext.index-signalLength)
 
                 const relatedElement = relatedContext.element
                 const draggedElement = draggedContext.element