From c1d55e3029c8207718478d0390e7f916e3f03108 Mon Sep 17 00:00:00 2001 From: pengjun <158915633@qq.com> Date: Mon, 2 Dec 2024 20:24:44 +0800 Subject: [PATCH] customerorg --- .../customerOrg/customerOrgTree.vue | 44 ++++++++++++++++--- 1 file changed, 39 insertions(+), 5 deletions(-) diff --git a/src/components/customerOrg/customerOrgTree.vue b/src/components/customerOrg/customerOrgTree.vue index ef11e31..f3e4ea5 100644 --- a/src/components/customerOrg/customerOrgTree.vue +++ b/src/components/customerOrg/customerOrgTree.vue @@ -10,7 +10,7 @@ + :allow-drag="allowDrag" :allow-drop="allowDrop" @node-drop="nodeDrop" ref="customerOrgTree">
@@ -29,7 +29,7 @@ import { mapState, mapMutations } from "vuex"; import { getapi, postapi, putapi, deletapi } from "@/api/api"; import { tcdate, deepCopy, reMadeOrgTree } from "../../utlis/proFunc"; -import { getTreePids } from "../../utlis/tree"; +import { getTreePids,getTreeAllChildIdsById } from "../../utlis/tree"; export default { components: {}, @@ -90,12 +90,46 @@ export default { }); }, + // 判断选中接点是否可以拖拽 allowDrag(node) { - console.log('node', node) + return true }, - allowDrop(draggingNode, dropNode, type) { - console.log('draggingNode, dropNode, type', draggingNode, dropNode, type) + // 判断拖拽节点是否可以放置位置 + allowDrop(draggingNode, dropNode, type) { + if(type == 'inner') return false + if(!(!draggingNode.data.parentId && !dropNode.data.parentId)) return false + if(draggingNode.data.parentId != dropNode.data.parentId) return false + console.log('draggingNode, type', draggingNode, type) + console.log('dropNode, type', dropNode, type) + return true + }, + + // 拖拽后排序处理 + nodeDrop(draggingNode, dropNode, dropType, ev) { + + //console.log('draggingNode.data.parentId', draggingNode.data.id,draggingNode.data.parentId); + let body = {itemList:[]} + let childrenIds = [] + if(draggingNode.data.parentId){ + childrenIds = getTreeAllChildIdsById(this.customerOrg.customerOrgTree,'treeChildren','id',draggingNode.data.parentId) + childrenIds.forEach((e,i) => { + this.customerOrg.customerOrgTree.forEach((e,i) => { + body.itemList.push({id:e,displayOrder:i}) + }); + }); + }else{ + this.customerOrg.customerOrgTree.forEach((e,i) => { + body.itemList.push({id:e.id,displayOrder:i}) + }); + } + + // console.log('body',body) + + + putapi('/api/app/customerorg/updatesortmany',body) + + },