|  | @@ -6,7 +6,6 @@
 | 
												
													
														
															|  |                  element="div"
 |  |                  element="div"
 | 
												
													
														
															|  |                  v-model="signalPreList"
 |  |                  v-model="signalPreList"
 | 
												
													
														
															|  |                  :options="dragOptions2"
 |  |                  :options="dragOptions2"
 | 
												
													
														
															|  | -                :move="onMove"
 |  | 
 | 
												
													
														
															|  |                  @change="log"
 |  |                  @change="log"
 | 
												
													
														
															|  |                  v-for="item in bigScreenJson"
 |  |                  v-for="item in bigScreenJson"
 | 
												
													
														
															|  |                  :class="['split_screen', splitScreenStatus === 0 ? 'split_screen_one' : splitScreenStatus === 1 ? 'split_screen_four' : splitScreenStatus === 2 ? 'split_screen_nine' : 'split_screen_sixteen']"
 |  |                  :class="['split_screen', splitScreenStatus === 0 ? 'split_screen_one' : splitScreenStatus === 1 ? 'split_screen_four' : splitScreenStatus === 2 ? 'split_screen_nine' : 'split_screen_sixteen']"
 | 
												
											
												
													
														
															|  | @@ -114,22 +113,14 @@
 | 
												
													
														
															|  |          },
 |  |          },
 | 
												
													
														
															|  |  
 |  |  
 | 
												
													
														
															|  |          methods: {
 |  |          methods: {
 | 
												
													
														
															|  | -            // 移动信号源
 |  | 
 | 
												
													
														
															|  | -            onMove({relatedContext, draggedContext}) {
 |  | 
 | 
												
													
														
															|  | -                const relatedElement = relatedContext.element
 |  | 
 | 
												
													
														
															|  | -                const draggedElement = draggedContext.element
 |  | 
 | 
												
													
														
															|  | -                return (
 |  | 
 | 
												
													
														
															|  | -                    (!relatedElement || !relatedElement.fixed) && !draggedElement.fixed
 |  | 
 | 
												
													
														
															|  | -                )
 |  | 
 | 
												
													
														
															|  | -            },
 |  | 
 | 
												
													
														
															|  | -
 |  | 
 | 
												
													
														
															|  |              // 改变信号源
 |  |              // 改变信号源
 | 
												
													
														
															|  |              log(value) {
 |  |              log(value) {
 | 
												
													
														
															|  |                  const signalList = this.$store.state.signalPreList
 |  |                  const signalList = this.$store.state.signalPreList
 | 
												
													
														
															|  |                  const currentElement = signalList.filter(item => item.sourceId === value.added.element.sourceId)
 |  |                  const currentElement = signalList.filter(item => item.sourceId === value.added.element.sourceId)
 | 
												
													
														
															|  |                  const otherElement = signalList.filter(item => item.sourceId !== value.added.element.sourceId)
 |  |                  const otherElement = signalList.filter(item => item.sourceId !== value.added.element.sourceId)
 | 
												
													
														
															|  |  
 |  |  
 | 
												
													
														
															|  | -                this.newIndex = value.added.newIndex-signalList.length+1
 |  | 
 | 
												
													
														
															|  | 
 |  | +                // this.newIndex = value.added.newIndex-signalList.length+1
 | 
												
													
														
															|  | 
 |  | +                this.newIndex = this.$store.state.positionNum
 | 
												
													
														
															|  |  
 |  |  
 | 
												
													
														
															|  |                  const signalList2 = signalList.filter(item => item.newIndex)
 |  |                  const signalList2 = signalList.filter(item => item.newIndex)
 | 
												
													
														
															|  |                  // 考虑多种情况
 |  |                  // 考虑多种情况
 | 
												
											
												
													
														
															|  | @@ -208,7 +199,7 @@
 | 
												
													
														
															|  |          },
 |  |          },
 | 
												
													
														
															|  |  
 |  |  
 | 
												
													
														
															|  |          computed: {
 |  |          computed: {
 | 
												
													
														
															|  | -            ...mapState(['splitScreenStatus', 'bigScale']),
 |  | 
 | 
												
													
														
															|  | 
 |  | +            ...mapState(['splitScreenStatus', 'bigScale','positionNum']),
 | 
												
													
														
															|  |  
 |  |  
 | 
												
													
														
															|  |              signalPreList: {
 |  |              signalPreList: {
 | 
												
													
														
															|  |                  get() {
 |  |                  get() {
 | 
												
											
												
													
														
															|  | @@ -218,13 +209,14 @@
 | 
												
													
														
															|  |                  set(arr) {
 |  |                  set(arr) {
 | 
												
													
														
															|  |                      let len = arr.length
 |  |                      let len = arr.length
 | 
												
													
														
															|  |                      if(len>0){
 |  |                      if(len>0){
 | 
												
													
														
															|  | 
 |  | +                        // 对监视的信号源数组进行深度克隆,解决赋加Id一样的问题
 | 
												
													
														
															|  |                          const arr2 = []
 |  |                          const arr2 = []
 | 
												
													
														
															|  |                          arr.forEach(item => {arr2.push(JSON.parse(JSON.stringify(item)))})
 |  |                          arr.forEach(item => {arr2.push(JSON.parse(JSON.stringify(item)))})
 | 
												
													
														
															|  | 
 |  | +                        // 删除数据的最后一项,重新赋值再添加
 | 
												
													
														
															|  |                          arr2.pop()
 |  |                          arr2.pop()
 | 
												
													
														
															|  |  
 |  |  
 | 
												
													
														
															|  | -                        const signalObj = arr[len-1]
 |  | 
 | 
												
													
														
															|  | -
 |  | 
 | 
												
													
														
															|  |                          // 给新增的信号源进行赋值
 |  |                          // 给新增的信号源进行赋值
 | 
												
													
														
															|  | 
 |  | +                        const signalObj = arr[len-1]
 | 
												
													
														
															|  |                          signalObj.Id = guId()
 |  |                          signalObj.Id = guId()
 | 
												
													
														
															|  |                          signalObj.splitScreenStatus = this.$store.state.splitScreenStatus + 1
 |  |                          signalObj.splitScreenStatus = this.$store.state.splitScreenStatus + 1
 | 
												
													
														
															|  |                          signalObj.width = this.currentBigshow[0].Width * this.$store.state.bigScale / (this.$store.state.splitScreenStatus+1)
 |  |                          signalObj.width = this.currentBigshow[0].Width * this.$store.state.bigScale / (this.$store.state.splitScreenStatus+1)
 | 
												
											
												
													
														
															|  | @@ -233,15 +225,13 @@
 | 
												
													
														
															|  |                          signalObj.heightScale = signalObj.height / (this.currentBigshow[0].Height * this.$store.state.bigScale)
 |  |                          signalObj.heightScale = signalObj.height / (this.currentBigshow[0].Height * this.$store.state.bigScale)
 | 
												
													
														
															|  |                          this.$store.dispatch('updateSignalPreList', [...arr2,signalObj])
 |  |                          this.$store.dispatch('updateSignalPreList', [...arr2,signalObj])
 | 
												
													
														
															|  |  
 |  |  
 | 
												
													
														
															|  | 
 |  | +                        // 添加定时器是为了得到最新的newIndex
 | 
												
													
														
															|  |                          setTimeout(() => {
 |  |                          setTimeout(() => {
 | 
												
													
														
															|  |                              let width = this.currentBigshow[0].Width*this.$store.state.bigScale/(signalObj.splitScreenStatus)
 |  |                              let width = this.currentBigshow[0].Width*this.$store.state.bigScale/(signalObj.splitScreenStatus)
 | 
												
													
														
															|  |                              let height = this.currentBigshow[0].Height*this.$store.state.bigScale/(signalObj.splitScreenStatus)
 |  |                              let height = this.currentBigshow[0].Height*this.$store.state.bigScale/(signalObj.splitScreenStatus)
 | 
												
													
														
															|  | -
 |  | 
 | 
												
													
														
															|  |                              const res = elePosition(width,height,this.newIndex,this.screenPosition.top,this.screenPosition.left,this.$store.state.splitScreenStatus+1)
 |  |                              const res = elePosition(width,height,this.newIndex,this.screenPosition.top,this.screenPosition.left,this.$store.state.splitScreenStatus+1)
 | 
												
													
														
															|  | -
 |  | 
 | 
												
													
														
															|  |                              signalObj.top = res.top
 |  |                              signalObj.top = res.top
 | 
												
													
														
															|  |                              signalObj.left = res.left
 |  |                              signalObj.left = res.left
 | 
												
													
														
															|  | -
 |  | 
 | 
												
													
														
															|  |                              this.$store.dispatch('updateSignalPreList', [...arr2,signalObj])
 |  |                              this.$store.dispatch('updateSignalPreList', [...arr2,signalObj])
 | 
												
													
														
															|  |                          })
 |  |                          })
 | 
												
													
														
															|  |                      }else {
 |  |                      }else {
 |