ruoyi-geek-App/utils/moudlesData.ts

133 lines
2.4 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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;
}
}