export default { data() { return { /** 多选 */ selectList: [], selectTabelList: [], multipleSelection_1: [], moveSelected: null, moveSelected1: null, flag: false,//是搜开启拖拽的标志 oldLeft: 0,//鼠标按下时的left,top oldTop: 0, selectedList: [],//拖拽多选选中的块集合 isToLeft: true, isToTop: true, } }, mounted() { this.moveSelected = document.getElementById('moveSelected') this.moveSelected1 = document.getElementById('sm-scroll-box') }, methods: { // 鼠标按下时开启拖拽多选,将遮罩定位并展现 mousedownFun(event) { if(event.button != 0) return this.selectedList = [] this.selectList = [] if(event.srcElement.getAttribute('dragSelectId')){ console.log("鼠标开始的的元素=====",event.srcElement) let obj = { Id: event.srcElement.getAttribute('dragSelectId'), index: event.srcElement.getAttribute('dragSelectIndex'), key: event.srcElement.getAttribute('dragSelectKey'), current: event.srcElement.getAttribute('dragSelectCurrent'), } this.selectedList.push(obj) } this.flag=true; let offsetTop = this.moveSelected1.getBoundingClientRect().y let offsetLeft = this.moveSelected1.getBoundingClientRect().x this.moveSelected.style.top=(event.pageY-offsetTop)+'px'; this.moveSelected.style.left=(event.pageX-offsetLeft)+'px'; this.oldLeft=event.pageX; this.oldTop=event.pageY; event.preventDefault(); // 阻止默认行为 event.stopPropagation(); // 阻止事件冒泡 }, // 鼠标移动时计算遮罩的位置,宽 高 mousemoveFun(event) { if(!this.flag) return;//只有开启了拖拽,才进行mouseover操作 //console.log("经过的元素=====",event.srcElement) if(event.srcElement.getAttribute('dragSelectId')){ let obj = { Id: event.srcElement.getAttribute('dragSelectId'), index: event.srcElement.getAttribute('dragSelectIndex'), key: event.srcElement.getAttribute('dragSelectKey'), current: event.srcElement.getAttribute('dragSelectCurrent'), } this.selectedList.push(obj) } let offsetTop = this.moveSelected1.getBoundingClientRect().y let offsetLeft = this.moveSelected1.getBoundingClientRect().x if(event.pageX= 2) { let firstObj = this.selectedList[0] let lastObj = this.selectedList[this.selectedList.length-1] this.tableData.forEach((item,index)=>{ if(!this.isToLeft&&!this.isToTop){ // 向右下 if(index>=firstObj.index && index<=lastObj.index) { item[firstObj.key].forEach((item1,index1)=>{ if(index1>=firstObj.current && index1<=lastObj.current) { list.push(item1.tableId) } }) } }else if(this.isToLeft&&!this.isToTop){ // 向左下 if(index>=firstObj.index && index<=lastObj.index) { item[firstObj.key].forEach((item1,index1)=>{ if(index1<=firstObj.current && index1>=lastObj.current) { list.push(item1.tableId) } }) } }else if(this.isToLeft&&this.isToTop){ // 向左上 if(index<=firstObj.index && index>=lastObj.index) { item[firstObj.key].forEach((item1,index1)=>{ if(index1<=firstObj.current && index1>=lastObj.current) { list.push(item1.tableId) } }) } }else if(!this.isToLeft&&this.isToTop){ // 向右上 if(index<=firstObj.index && index>=lastObj.index) { item[firstObj.key].forEach((item1,index1)=>{ if(index1>=firstObj.current && index1<=lastObj.current) { list.push(item1.tableId) } }) } } }) }else if(this.selectedList && this.selectedList.length == 1){ list = this.selectedList[0].id } this.selectList = [...new Set(list)] console.log("e===",this.selectList) if(this.activeName=='select'){ this.addSelectTabelList() } }, findSelectedCopy(){ return let blockList= document.getElementsByClassName('row-item'); let selectedList = [] for(let i=0;i 0) { let listTabel = [] for(let i=0;i{ if(this.formAll.seatTypeId == item.id) { color = item.color seatLabel = item.name } }) for(let i=0;i