align(菜单管理): 同级拖拽排序接线(手柄列+类型/父级分组+reorder带menu_type)、列表拉全量类型、类型文案后台/软件、弹窗补菜单类型下拉、父菜单候选按类型过滤(对齐 admin.js loadColumns/bindColumnDragSort/persistColumnOrder)

This commit is contained in:
2026-09-05 23:04:05 +08:00
parent 1692fa4a69
commit 32ef9a2ebb
6 changed files with 271 additions and 25 deletions
+6 -6
View File
@@ -24,16 +24,16 @@ test('test_task_252_menus_list_normal_variant_input', () => {
})
test('test_task_252_menus_list_normal_repeated_operation_is_idempotent', () => {
// 类型映射幂等。
assert.equal(menuTypeLabel('admin'), '后台菜单')
assert.equal(menuTypeLabel('APP'), '应用菜单')
// 类型映射幂等(对齐 admin.js:admin→后台,其余→软件)
assert.equal(menuTypeLabel('admin'), '后台')
assert.equal(menuTypeLabel('APP'), '软件')
assert.equal(menuTypeLabel('app'), menuTypeLabel('app'))
})
test('test_task_252_menus_list_boundary_empty_input', () => {
// 边界:未知类型归后台菜单;创建/编辑标题区分。
assert.equal(menuTypeLabel(null), '后台菜单')
assert.equal(menuTypeLabel(undefined), '后台菜单')
// 边界:未知类型归软件;创建/编辑标题区分。
assert.equal(menuTypeLabel(null), '软件')
assert.equal(menuTypeLabel(undefined), '软件')
const page = readSource('src/pages/account/MenusPage.vue')
assert.match(page, /新增菜单/, '页头新增菜单入口')
assert.match(page, /editingNode.*编辑菜单|编辑菜单/, '编辑态标题')