diff --git a/src/common/js/treeTool.js b/src/common/js/treeTool.js index f0c54a60..69f97268 100644 --- a/src/common/js/treeTool.js +++ b/src/common/js/treeTool.js @@ -1,52 +1,50 @@ export default { - reloadAllChildren: function(table,maps, parentId,parentIdName,loadChildren) { - 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 (tree[parentIdName]) { // 若存在爷爷结点,则执行爷爷节点加载子级操作,防止最后一个子节点被删除后父节点不显示删除按钮 - const a = maps.get(tree[parentIdName]) - if(a && a.tree){ - 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) - } - } - } - } + reloadAllChildren: function(table,maps, rows,parentIdName,loadChildren,idMaps) { + + if(!rows||rows.length==0){ + return; + } + if(!maps || maps.length==0){ + return; + } + + if(!table){ + return; + } + var lazyTreeNodeMap=table.store.states.lazyTreeNodeMap + var parentIds=rows.map(i=>i[parentIdName]) + if(idMaps==null){ + idMaps=new Map(); + } + if(parentIds.length==0){ + return; + } + parentIds.forEach(k=>{ + if(!idMaps.has(k)){ + idMaps.set(k,k); + if (maps.get(k)) { + const { tree, treeNode, resolve } = maps.get(k) + lazyTreeNodeMap[k]=[] + if (tree) { // 重新执行父节点加载子级操作 + loadChildren(tree, treeNode, resolve) + if(tree[parentIdName]){ + this.reloadAllChildren(table,maps, [tree],parentIdName,loadChildren,idMaps) + } + } + } + } + }); }, + - 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) - } - - }, + reloadChildren: function(table,maps, parentId,parentIdName,loadChildren) { + var params={}; + params[parentIdName]=parentId; + this.reloadAllChildren(table,maps, [params],parentIdName,loadChildren) + }, reloadChildrenByOpType: function(table,maps, parentId,parentIdName,loadChildren,opType) { var lazyTreeNodeMap=table.store.states.lazyTreeNodeMap if (maps.get(parentId)) { diff --git a/src/views/xm/core/xmMenu/XmMenuAdd.vue b/src/views/xm/core/xmMenu/XmMenuAdd.vue index e18c0004..c7a078fd 100644 --- a/src/views/xm/core/xmMenu/XmMenuAdd.vue +++ b/src/views/xm/core/xmMenu/XmMenuAdd.vue @@ -154,7 +154,7 @@ this.load.add=false var tips=res.data.tips; if(tips.isOk){ - this.$emit('submit');// @submit="afterAddSubmit" + this.$emit('submit',res.data.data);// @submit="afterAddSubmit" } this.$notify({showClose: true, message: tips.msg, type: tips.isOk?'success':'error' }); }).catch( err => this.load.add=false); diff --git a/src/views/xm/core/xmMenu/XmMenuEdit.vue b/src/views/xm/core/xmMenu/XmMenuEdit.vue index 5e8fc7d6..38d1fafe 100644 --- a/src/views/xm/core/xmMenu/XmMenuEdit.vue +++ b/src/views/xm/core/xmMenu/XmMenuEdit.vue @@ -170,7 +170,7 @@ import XmMenuExchangeMng from '../xmMenuExchange/XmMenuExchangeMng.vue'; this.load.edit=false var tips=res.data.tips; if(tips.isOk){ - this.$emit('submit');// @submit="afterAddSubmit" + this.$emit('submit',res.data.data);// @submit="afterAddSubmit" } this.$notify({showClose: true, message: tips.msg, type: tips.isOk?'success':'error' }); }).catch( err => this.load.edit=false); diff --git a/src/views/xm/core/xmMenu/XmMenuMng.vue b/src/views/xm/core/xmMenu/XmMenuMng.vue index aab642a2..8d2dc8af 100644 --- a/src/views/xm/core/xmMenu/XmMenuMng.vue +++ b/src/views/xm/core/xmMenu/XmMenuMng.vue @@ -103,7 +103,7 @@ - +