From f7bd20fda4ffc6aabf39ca7b64a2b5448419bb5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E8=A3=95=E8=B4=A2?= Date: Mon, 28 Feb 2022 13:15:50 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/common/js/treeTool.js | 49 +- src/views/xm/core/xmTask/XmTaskMngBatch.vue | 2992 +++++++++++-------- 2 files changed, 1732 insertions(+), 1309 deletions(-) diff --git a/src/common/js/treeTool.js b/src/common/js/treeTool.js index db574163..394d0f1d 100644 --- a/src/common/js/treeTool.js +++ b/src/common/js/treeTool.js @@ -1,7 +1,7 @@ export default { - reloadChildren: function(table,maps, parentId,parentIdName,loadChildren) { + reloadAllChildren: function(table,maps, parentId,parentIdName,loadChildren) { var lazyTreeNodeMap=table.store.states.lazyTreeNodeMap if (maps.get(parentId)) { const { tree, treeNode, resolve } = maps.get(parentId) @@ -11,12 +11,54 @@ export default { if (tree[parentIdName]) { // 若存在爷爷结点,则执行爷爷节点加载子级操作,防止最后一个子节点被删除后父节点不显示删除按钮 const a = maps.get(tree[parentIdName]) if(a && a.tree){ - this.reloadChildren(table,maps,tree[parentIdName],parentIdName,loadChildren) + this.reloadAllChildren(table,maps,tree[parentIdName],parentIdName,loadChildren) } } } } }, + + reloadChildrenByCount_:function(table,maps, parentId,parentIdName,loadChildren,toCount,currCount){ + var lazyTreeNodeMap=table.store.states.lazyTreeNodeMap + if (maps.get(parentId)) { + const { tree, treeNode, resolve } = maps.get(parentId) + lazyTreeNodeMap[parentId]=[] + if (tree) { // 重新执行父节点加载子级操作 + loadChildren(tree, treeNode, resolve) + if(toCount==currCount+1){ + return; + } + currCount=currCount+1; + if (tree[parentIdName]) { // 若存在爷爷结点,则执行爷爷节点加载子级操作,防止最后一个子节点被删除后父节点不显示删除按钮 + const a = maps.get(tree[parentIdName]) + if(a && a.tree){ + this.reloadChildrenByCount_(table,maps,tree[parentIdName],parentIdName,loadChildren,toCount,currCount) + } + } + } + } + }, + + reloadChildren: function(table,maps, parentId,parentIdName,loadChildren,toCount) { + if(!toCount){ + this.reloadAllChildren(table,maps, parentId,parentIdName,loadChildren) + }else{ + this.reloadParentByCount_(table,maps,parentId,parentIdName,loadChildren,toCount,0) + } + + }, + reloadChildrenByOpType: function(table,maps, parentId,parentIdName,loadChildren,opType) { + var lazyTreeNodeMap=table.store.states.lazyTreeNodeMap + if (maps.get(parentId)) { + const { tree, treeNode, resolve } = maps.get(parentId) + if (tree) { // 重新执行父节点加载子级操作 + var oldDatas=lazyTreeNodeMap[parentId] + lazyTreeNodeMap[parentId]=[] + loadChildren(tree, treeNode, resolve,oldDatas,opType) + } + } + + }, /** * 将类表数据转换为如下树状结构的数据 * { @@ -65,7 +107,8 @@ export default { let temp = JSON.parse(JSON.stringify(children)) temp.splice(index, 1) translator([current], temp) - typeof parent.children !== 'undefined' ? parent.children.push(current) : parent.children = [current] + typeof parent.children !== 'undefined' && parent.children ? parent.children.push(current) : parent.children = [current] + parent.childrenCnt=parent.children.length } } ) diff --git a/src/views/xm/core/xmTask/XmTaskMngBatch.vue b/src/views/xm/core/xmTask/XmTaskMngBatch.vue index 4a607230..2690f8d9 100644 --- a/src/views/xm/core/xmTask/XmTaskMngBatch.vue +++ b/src/views/xm/core/xmTask/XmTaskMngBatch.vue @@ -1,1401 +1,1781 @@