133 lines
2.4 KiB
TypeScript
133 lines
2.4 KiB
TypeScript
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 - 是否合并items,true为合并,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;
|
||
}
|
||
} |