SFT/mock-server/data/menu.js

64 lines
1.6 KiB
JavaScript

export const menuTree = [
{
id: 'system',
name: '系统管理',
path: '/system',
icon: 'SettingOutlined',
type: 'menu',
children: [
{
id: 'sys_user',
name: '用户管理',
path: '/system/user',
component: 'system/user/UserList',
type: 'menu',
buttons: [
{ code: 'user:add', name: '新增' },
{ code: 'user:edit', name: '修改' },
{ code: 'user:delete', name: '删除' },
{ code: 'user:lock', name: '锁定' },
{ code: 'user:unlock', name: '解锁' },
{ code: 'user:changePwd', name: '密码修改' },
{ code: 'user:resetPwd', name: '密码重置并发送短信' }
]
},
{
id: 'sys_role',
name: '角色管理',
path: '/system/role',
component: 'system/role/RoleList',
type: 'menu',
buttons: [
{ code: 'role:add', name: '新增' },
{ code: 'role:edit', name: '修改' },
{ code: 'role:delete', name: '删除' }
]
},
{
id: 'sys_org',
name: '机构管理',
path: '/system/org',
component: 'system/org/OrgList',
type: 'menu',
buttons: [
{ code: 'org:add', name: '新增' },
{ code: 'org:edit', name: '修改' },
{ code: 'org:delete', name: '删除' }
]
}
]
}
]
export function flattenButtons(tree) {
const codes = []
function walk(nodes) {
for (const n of nodes) {
if (n.buttons) codes.push(...n.buttons.map((b) => b.code))
if (n.children) walk(n.children)
}
}
walk(tree)
return codes
}