From 069420d5579895b8edb1fb2301de82b2cb9255f2 Mon Sep 17 00:00:00 2001 From: xbzhu <5430389+xbzhu@user.noreply.gitee.com> Date: Sat, 21 Jan 2023 07:02:41 +0000 Subject: [PATCH] =?UTF-8?q?update=20ZR.Vue/src/views/system/menu/index.vue?= =?UTF-8?q?.=20=E6=96=B0=E5=A2=9E/=E4=BF=AE=E6=94=B9/=E5=88=A0=E9=99=A4?= =?UTF-8?q?=E5=AD=90=E8=8A=82=E7=82=B9=E6=97=B6=EF=BC=8C=E5=AD=90=E8=8A=82?= =?UTF-8?q?=E7=82=B9=E6=9C=AA=E6=9B=B4=E6=96=B0=E3=80=82=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E4=BA=86=E8=87=AA=E5=8A=A8=E6=9B=B4=E6=96=B0table=E9=87=8C?= =?UTF-8?q?=E5=AD=90=E8=8A=82=E7=82=B9=E7=9A=84=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: xbzhu <5430389+xbzhu@user.noreply.gitee.com> --- ZR.Vue/src/views/system/menu/index.vue | 33 ++++++++++++++++++++++---- 1 file changed, 29 insertions(+), 4 deletions(-) diff --git a/ZR.Vue/src/views/system/menu/index.vue b/ZR.Vue/src/views/system/menu/index.vue index 92f9789..f4a18c7 100644 --- a/ZR.Vue/src/views/system/menu/index.vue +++ b/ZR.Vue/src/views/system/menu/index.vue @@ -27,6 +27,7 @@ { this.msgSuccess("修改成功"); this.open = false; - this.getList(); + if (this.form.parentId === 0) { + this.getList(); + } else { + this.refreshTableTree(this.form.parentId); + } }); } else { addMenu(this.form).then((response) => { this.msgSuccess("新增成功"); this.open = false; - this.getList(); + if (this.form.parentId === 0) { + this.getList(); + } else { + this.refreshTableTree(this.form.parentId); + } }); } } @@ -424,7 +435,11 @@ export default { return delMenu(row.menuId); }) .then(() => { - this.getList(); + if (row.parentId === 0) { + this.getList(); + } else { + this.refreshTableTree(row.parentId); + } this.msgSuccess("删除成功"); }); }, @@ -462,10 +477,20 @@ export default { }); }, loadMenu (row, treeNode, resolve) { + this.tableTreeNodeMap.set(row.menuId, { row, treeNode, resolve }); listMenuById(row.menuId).then((res) => { resolve(res.data) }) - } + }, + //新增/修改/删除子节点时刷新子节点 + refreshTableTree(key) { + const node = this.tableTreeNodeMap.get(key); + if (!node) { + return; + } + const { row, treeNode, resolve } = node; + this.loadMenu(row, treeNode, resolve); + }, }, };