ruoyi-geek-App/utils/moudlesData.ts

133 lines
2.4 KiB
TypeScript
Raw Normal View History

2025-11-26 15:41:57 +00:00
const moudleGroups = [{
name: '系统管理',
color: '#007AFF',
items: [{
name: '用户管理',
icon: 'person-filled',
path: '',
params: ''
},
{
name: '角色管理',
icon: 'staff-filled',
path: '',
params: ''
}, {
name: '菜单管理',
icon: 'color',
path: '',
params: ''
}, {
name: '部门管理',
icon: 'settings-filled',
path: '',
params: ''
}, {
name: '岗位管理',
icon: 'heart-filled',
path: '',
params: ''
}, {
name: '字典管理',
icon: 'bars',
path: `/pages_system/pages/dict/index`
, params: ''
}, {
name: '参数设置',
icon: 'gear-filled',
path: '',
params: ''
},
{
name: '通知公告',
icon: 'chat-filled',
path: '',
params: ''
}
, {
name: '日志管理',
icon: 'wallet-filled',
path: '',
params: ''
},
]
}, {
name: '流量计算',
color: '#007AFF',
items: [{
name: '差压式流量计算',
icon: 'smallcircle',
path: `/pages_caltools/pages/main`,
params: 0
},
{
name: '速度式流量计算',
icon: 'paperplane',
path: `/pages_caltools/pages/main`,
params: 1
},
]
},
{
name: '参数计算',
color: '#5AC8FA',
items: [{
name: '压缩因子',
icon: 'pyq',
path: `/pages_caltools/pages/main`,
params: 4
},
{
name: '声速计算',
icon: 'sound',
path: `/pages_caltools/pages/main`,
params: 5
},
{
name: '发热量',
icon: 'fire',
path: `/pages_caltools/pages/main`,
params: 6
},
{
name: '其他参数',
icon: 'more',
path: `/pages_caltools/pages/main`,
params: 7
}
]
}
];
export default moudleGroups
/**
*
* @param {Array} groupNames -
* @param {boolean} mergeItems - itemstrue为合并false为保持原结构
* @param {Function} transformFn -
* @returns {Array}
*/
export function extractModuleData(groupNames, mergeItems = false, transformFn = null) {
if (!Array.isArray(groupNames) || groupNames.length === 0) {
return [];
}
// 过滤出指定的模块组
const filteredGroups = moudleGroups.filter(group => groupNames.includes(group.name));
if (mergeItems) {
// 合并所有items
const mergedItems = filteredGroups.flatMap(group => group.items || []);
return transformFn ? transformFn(mergedItems) : mergedItems;
} else {
// 保持原结构
return transformFn ? transformFn(filteredGroups) : filteredGroups;
}
}