多层级数组对象的筛选,要求保留层级(权限匹配)
皮卡丘UP 2020-04-03 12:10:51 要求根据下面powerKey数组中的值去匹配 MenuList数组中的moduleMark,返回匹配到的层级结构
let powerKey=["generalizationSee","generalization","student_attendanceStatisticsSee","attendance","student_attendance","student_attendanceStatistics","student_leave_requestSee","student_leave_request","student_attendanceSetEdit","student_attendanceSet","student_attendanceSetSee","attendanceStatisticsSee","staff_attendance","attendanceStatistics","approval_processSee","approval_process","approval_processEdit","attendanceSetEdit","attendanceSet","attendanceSetSee","time_cardEdit","hardware","time_card","time_cardSee","machineSee","machine","machineEdit","classEdit","educational_administration","routine_educational_administration"]
let MenuList=[
{
name:'概况',
path:'/situation',
moduleMark:'generalization'
},{
name:'考勤管理',
moduleMark:'attendance',
children:[
{
name:'学员出勤',
moduleMark:'student_attendance',
children: [
{
name:'出勤统计',
path:'/studentStatistics',
moduleMark:'student_attendanceStatistics'
}, {
name:'请假申请',
path:'/leaveManage',
moduleMark:'student_leave_request'
},{
name:'考勤设置',
path:'/studentSetting',
moduleMark:'student_attendanceSet'
}
]
},{
name:'教职工考勤',
moduleMark:'staff_attendance',
children:[
{
name:'考勤统计',
path:'/staffStatistics',
moduleMark:'attendanceStatistics'
}, {
name:'流程审批',
path:'/processApproval',
moduleMark:'approval_process'
},{
name:'考勤设置',
path:'/staffSetting',
moduleMark:'attendanceSet'
}
]
},{
name:'硬件管理',
moduleMark:'hardware',
children:[
{
name:'考勤卡管理',
path:'/cardManage',
moduleMark:'time_card'
}, {
name:'设备管理',
path:'/deviceManage',
moduleMark:'machine'
}
]
}
]
},{
name:'教务管理',
moduleMark:'educational_administration',
children:[
{
name:'常规教务',
moduleMark:'routine_educational_administration',
children:[
{
name:'班级',
path:'/classManage',
moduleMark:'class'
},{
name:'课程',
path:'/course',
moduleMark:'course'
}
]
},{
name:'日常园务',
moduleMark:'',
children:[
{
name:'图书管理',
path:'/booksManage',
moduleMark:''
},{
name:'通知发布',
path:'/noticeRelease',
moduleMark:''
}
]
}
]
},{
name:'课程销售',
moduleMark:'course_sales',
children:[
{
name:'销售管理',
moduleMark:'sales_management',
children:[
{
name:'课程销售',
path:'/courseSales',
moduleMark:'course_sales2'
},{
name:'订单查询',
path:'/orderSearch',
moduleMark:'order_administration'
}
]
}
]
},{
name:'学员管理',
moduleMark:'student_management',
children:[
{
name:'学员管理',
moduleMark:'student_administration',
children:[
{
name:'学员信息',
path:'/studentInfo',
moduleMark:'student_information'
},{
name:'历史变更',
path:'/historicalChange',
moduleMark:'historical_change'
},{
name:'历史学员',
path:'/historyStudent',
moduleMark:'history_student'
}
]
}
]
},{
name:'更多',
moduleMark:'more',
children:[
{
name:'组织管理',
moduleMark:'organization_management',
children:[
{
name:'校区管理',
path:'/campusManage',
moduleMark:'campus'
}, {
name:'账号管理',
path:'/accountManage',
moduleMark:'workers'
}
]
},{
name:'财务管理',
moduleMark:'financial_management',
children:[
{
name:'收款账户',
path:'/collectionAccount',
moduleMark:'receiving_account'
}
]
},{
name:'系统日志',
moduleMark:'receiving_account',
children:[
{
name:'登录日志',
path:'/loginLog',
moduleMark:'login_log'
},{
name:'操作记录',
path:'/operationLog',
moduleMark:'operation_log'
}
]
}
]
}
];