From 8b4955d9b501783cfcce9805fa73044d2f992781 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E8=87=AA=E8=BE=BE?= <980324341@qq.com> Date: Sat, 5 Sep 2026 21:18:59 +0800 Subject: [PATCH] =?UTF-8?q?task-252(admin.html=E8=A7=82=E6=84=9F=E5=AF=B9?= =?UTF-8?q?=E9=BD=90):=20=E8=8F=9C=E5=8D=95=E7=AE=A1=E7=90=86=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E5=88=97=E5=AF=B9=E9=BD=90=EF=BC=88ID/=E8=8F=9C?= =?UTF-8?q?=E5=8D=95=E7=B1=BB=E5=9E=8B/=E4=B8=8A=E7=BA=A7=E8=8F=9C?= =?UTF-8?q?=E5=8D=95/=E5=88=9B=E5=BB=BA=E6=97=B6=E9=97=B4=EF=BC=89+=20?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E4=B8=AD=E6=96=87=E6=98=A0=E5=B0=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/pages/account/MenusPage.vue | 34 ++++++++-- .../src/pages/account/menu-manage-model.ts | 8 +++ admin-frontend-vue/tests/task-252.test.ts | 68 +++++++++++++++++++ 3 files changed, 105 insertions(+), 5 deletions(-) create mode 100644 admin-frontend-vue/tests/task-252.test.ts diff --git a/admin-frontend-vue/src/pages/account/MenusPage.vue b/admin-frontend-vue/src/pages/account/MenusPage.vue index 8a24be10..6bae6db9 100644 --- a/admin-frontend-vue/src/pages/account/MenusPage.vue +++ b/admin-frontend-vue/src/pages/account/MenusPage.vue @@ -8,6 +8,7 @@ import { menuDeleteReason, menuFormFromNode, menuParentChangeReason, + menuTypeLabel, nextSiblingSort, siblingOrderAfterMove, validateMenuManageForm, @@ -23,6 +24,17 @@ const editingNode = ref(null) const menuForm = reactive(createMenuForm(null, 0)) const parentOptions = computed(() => flattenMenuNodes(rows.value)) const dialogTitle = computed(() => (editingNode.value ? '编辑菜单' : '新增菜单')) +/** 节点 id -> 名称,供「上级菜单」列展示。 */ +const nameById = computed(() => { + const map = new Map() + for (const node of flattenMenuNodes(rows.value)) map.set(node.id, node.name) + return map +}) + +function parentNameOf(node: MenuManageNode): string { + if (node.parentId == null) return '—' + return nameById.value.get(node.parentId) ?? `#${node.parentId}` +} async function loadMenus() { loading.value = true @@ -124,17 +136,29 @@ onMounted(loadMenus) - - - - + + + + + + + + + + + + - +