浏览代码

修复eltree拖动时,定位线位置异常bug

jwyu 1 年之前
父节点
当前提交
5950316596

+ 11 - 2
src/views/dataEntry_manage/databaseList.vue

@@ -80,6 +80,7 @@
 						@node-drag-end="dropMouseLeave"
 						@node-drag-leave="dropMouseLeave"
 						@node-drag-enter="dropMouseOver"
+						@node-drag-over="dropMouseOver"
 					>
 						<span
 							class="custom-tree-node"
@@ -1429,7 +1430,6 @@ export default {
 				NextEdbInfoId
 			}
 			console.log(params);
-			return
 			dataBaseInterface.classifyMoveSort(params).then(res=>{
 				if(res.Ret===200){
 					this.$message.success('移动成功!')
@@ -1441,7 +1441,7 @@ export default {
 
 		/* 拖拽覆盖添加背景色 */
 		dropMouseOver(node1,node2,e) {
-			console.log(node1);
+			// console.log(e.layerY);
 			
 			// 被拖拽节点对应的 Node、所进入节点对应的 Node、event
 			if((node1.level>node2.level||(node1.data.EdbInfoId>0&&!node2.data.EdbInfoId)) && (e.target.childNodes[0].className.includes('el-tree-node__content') 
@@ -1451,6 +1451,15 @@ export default {
 				? e.target.childNodes[0].style.backgroundColor = '#409eff' 
 				: e.target.style.backgroundColor = '#409eff';
 			}
+			const dropLine=$('.el-tree__drop-indicator')[0]
+			if(dropLine){
+				// console.log(dropLine);
+				setTimeout(() => {
+					dropLine.style.top=e.layerY+'px'
+					// console.log(e.layerY,dropLine);
+				}, 10);
+			}
+			
 		},
 		/* 拖拽离开/拖拽完成重置背景色 */
 		dropMouseLeave(node1,node2,e) {

+ 6 - 0
src/views/predictEdb_manage/mixins/mixin.js

@@ -187,6 +187,12 @@ export default {
 				? e.target.childNodes[0].style.backgroundColor = '#409eff' 
 				: e.target.style.backgroundColor = '#409eff';
 			}
+      const dropLine=$('.el-tree__drop-indicator')[0]
+			if(dropLine){
+				setTimeout(() => {
+					dropLine.style.top=e.layerY+'px'
+				}, 10);
+			}
     },
 
     /* 拖拽离开/拖拽完成重置背景色 */

+ 1 - 0
src/views/predictEdb_manage/predictEdb.vue

@@ -69,6 +69,7 @@
 						@node-drag-end="dropMouseLeave"
 						@node-drag-leave="dropMouseLeave"
 						@node-drag-enter="dropMouseOver"
+						@node-drag-over="dropMouseOver"
 					>
 						<span class="custom-tree-node" slot-scope="{ node, data }">
 							<el-input