人力资源
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

213 lines
12 KiB

import React from 'react';
import { IconCode } from '@douyinfe/semi-icons';
import { isAuthorized } from '$utils'
export function getNavItem(user, dispatch) {
let hrUser = JSON.parse(sessionStorage.getItem('hrUser'))
let admin = false
hrUser && hrUser.adminHr.forEach(e => {
if (e.id == hrUser.id) {
admin = true
}
})
let list = [
{
itemKey: 'humanAffairs',
text: '人事管理',
icon: <IconCode />,
items: [
isAuthorized('PERSONNELFILEMANAGEMENT') ? {
itemKey: 'personnelArchives',
text: '人员档案',
icon: <iconpark-icon style={{ width: 20, height: 20 }} name="iconcbrengongdangan"></iconpark-icon>,
to: '/humanAffairs/archivesCenter/personnelArchives/personnelFiles',
items: [
isAuthorized('PERSONNELFILES') ? {
itemKey: 'personnelFiles', to: '/humanAffairs/archivesCenter/personnelArchives/personnelFiles', text: '人员档案'
} : {},
isAuthorized('EMPLOYEEINFORMATION') ? {
itemKey: 'employeeInformation', to: '/humanAffairs/archivesCenter/personnelArchives/employeeInformation', text: '员工信息'
} : {},
isAuthorized('JOBRATING') ? {
itemKey: 'positionRating', to: '/humanAffairs/archivesCenter/personnelArchives/positionRating', text: '岗位评级'
} : {}]
} : {},
isAuthorized('DEPARTMENTARCHIVESMANAGEMENT') ? {
itemKey: 'deptArchives',
text: '部门档案',
icon: <iconpark-icon style={{ width: 20, height: 20 }} name="iconcbbumen"></iconpark-icon>,
to: '/humanAffairs/archivesCenter/deptArchives/department',
items: [
isAuthorized('DEPARTMENTARCHIVES') ? {
itemKey: 'department', to: '/humanAffairs/archivesCenter/deptArchives/department', text: '部门档案'
} : {}]
} : {},
isAuthorized('LEAVEMANAGEMENT') ? {
itemKey: 'leaveManagement',
text: '假勤管理',
icon: <iconpark-icon style={{ width: 20, height: 20 }} name="iconcbjiaqinguanli"></iconpark-icon>,
to: '/humanAffairs/employeeRelationship/leaveManagement/attendanceStatistics',
items: [
isAuthorized('ATTENDANCESTATISTICS') ? {
itemKey: 'attendanceStatistics', to: '/humanAffairs/employeeRelationship/leaveManagement/attendanceStatistics', text: '出勤统计'
} : {},
isAuthorized('LEAVESTATISTICS') ? {
itemKey: 'leaveStatistics', to: '/humanAffairs/employeeRelationship/leaveManagement/leaveStatistics', text: '请假统计'
} : {},
isAuthorized('OVERTIMESTATISTICS') ? {
itemKey: 'overtimeStatistics', to: '/humanAffairs/employeeRelationship/leaveManagement/overtimeStatistics', text: '加班统计'
} : {}]
} : {},
isAuthorized('EMPLOYEECOMMUNICATION') ? {
itemKey: 'communication',
text: '员工沟通',
icon: <iconpark-icon style={{ width: 20, height: 20 }} name="iconyuangonggoutong"></iconpark-icon>,
to: '/humanAffairs/employeeRelationship/communication/employeeCommunication',
items: [
isAuthorized('EMPLOYEECOMMUNICATIONSTATISTICS') ? {
itemKey: 'employeeCommunication', to: '/humanAffairs/employeeRelationship/communication/employeeCommunication', text: '员工沟通统计'
} : {}
]
} : {},
isAuthorized('RECRUITMENTRECORDS') ? {
itemKey: 'recruitRecord',
text: '招聘记录',
icon: <iconpark-icon style={{ width: 20, height: 20 }} name="iconcbzhaopin"></iconpark-icon>,
to: '/humanAffairs/recruit/recruitRecord/appointmentRecords',
items: [
isAuthorized('APPOINTMENTRECORD') ? {
itemKey: 'appointmentRecords', to: '/humanAffairs/recruit/recruitRecord/appointmentRecords', text: '任用记录'
} : {}
]
} : {},
isAuthorized('SALESSTATISTICS') ? {
itemKey: 'salesStatistics',
text: '销售统计',
icon: <iconpark-icon style={{ width: 20, height: 20 }} name="iconxiaoshou"></iconpark-icon>,//wwwtodo
to: '/humanAffairs/recruit/salesStatistics/personnelDistribution',
items: [
isAuthorized('SALESPERSONNELDISTRIBUTION') ? {
itemKey: 'personnelDistribution', to: '/humanAffairs/recruit/salesStatistics/personnelDistribution', text: '销售人员分布'
} : {}
]
} : {},
isAuthorized('TRAININGDOSSIER') ? {
itemKey: 'trainFiles',
text: '培训档案',
icon: <iconpark-icon style={{ width: 20, height: 20 }} name="iconcbpeixundangan"></iconpark-icon>,
to: '/humanAffairs/train/trainFiles/resourceRepository',
items: [
isAuthorized('TRAININGRESOURCEREPOSITORY') ? {
itemKey: 'resourceRepository', to: '/humanAffairs/train/trainFiles/resourceRepository', text: '培训资源储存库'
} : {}
]
} : {},
isAuthorized('TRAININGMANAGEMENT') ? {
itemKey: 'trainingManagement',
text: '培训管理',
icon: <iconpark-icon style={{ width: 20, height: 20 }} name="peixgl"></iconpark-icon>,
to: '/humanAffairs/train/trainingManagement/personalTrainRecord',
items: [
isAuthorized('PERSONALTRAININGRECORDS') ? {
itemKey: 'personalTrainRecord', to: '/humanAffairs/train/trainingManagement/personalTrainRecord', text: '个人培训记录'
} : {},
isAuthorized('DEPARTMENTTRAININGRECORDS') ? {
itemKey: 'departmentTrainRecord', to: '/humanAffairs/train/trainingManagement/departmentTrainRecord', text: '部门培训记录'
} : {}]
} : {},
isAuthorized('BASICACTIONMANAGEMENT') ? {
itemKey: 'basicAction',
text: '基本动作',
icon: <iconpark-icon style={{ width: 20, height: 20 }} name="iconcbjiben"></iconpark-icon>,
to: '/humanAffairs/achievements/basicAction/weeklyManagement',
items: [
isAuthorized('WEEKLYREPORTMANAGEMENT') ? {
itemKey: 'weeklyManagement', to: '/humanAffairs/achievements/basicAction/weeklyManagement', text: '周报管理'
} : {},
isAuthorized('SALESLOG') ? {
itemKey: 'saleLog', to: '/humanAffairs/achievements/basicAction/saleLog', text: '销售日志'
} : {},
isAuthorized('ENGINEERINGLOG') ? {
itemKey: 'pmLog', to: '/humanAffairs/achievements/basicAction/pmLog', text: '工程日志'
} : {}]
} : {},
isAuthorized('EMPLOYEEASSESSMENT') ? {
itemKey: 'employeeKPI',
text: '员工考核',
icon: <iconpark-icon style={{ width: 20, height: 20 }} name="iconcbyuangongkaohe"></iconpark-icon>,
to: '/humanAffairs/achievements/employeeKPI/probationer',
items: [
isAuthorized('EMPLOYEEASSESSMENTDURINGPROBATIONARYPERIOD') ? {
itemKey: 'probationer', to: '/humanAffairs/achievements/employeeKPI/probationer', text: '试用期员工考核'
} : {},
isAuthorized('FORMALEMPLOYEEASSESSMENT') ? {
itemKey: 'regular', to: '/humanAffairs/achievements/employeeKPI/regular', text: '正式员工考核'
} : {}]
} : {},
isAuthorized('MIDDLELEVELASSESSMENT') ? {
itemKey: 'middleKPI',
text: '中层考核',
icon: <iconpark-icon style={{ width: 20, height: 20 }} name="iconcbzhongceng"></iconpark-icon>,
to: '/humanAffairs/achievements/middleKPI/monthlyProcess',
items: [
isAuthorized('MIDDLELEVELMONTHLYPROCESSASSESSMENT') ? {
itemKey: 'monthlyProcess', to: '/humanAffairs/achievements/middleKPI/monthlyProcess', text: '月度过程考核'
} : {},
isAuthorized('MIDLEVELQUARTERLYASSESSMENT') ? {
itemKey: 'quarter', to: '/humanAffairs/achievements/middleKPI/quarter', text: '季度考核'
} : {}]
} : {},
isAuthorized('SENIORASSESSMENT') ? {
itemKey: 'highKPI',
text: '高管考核',
icon: <iconpark-icon style={{ width: 20, height: 20 }} name="iconcbgaojiguanli"></iconpark-icon>,
to: '/humanAffairs/achievements/highKPI/highMonthly',
items: [
isAuthorized('MONTHLYPROCESSASSESSMENTFORSENIORMANAGEMENT') ? {
itemKey: 'highMonthly', to: '/humanAffairs/achievements/highKPI/highMonthly', text: '月度过程考核'
} : {},
isAuthorized('QUARTERLYASSESSMENTOFSENIORMANAGEMENT') ? {
itemKey: 'Highquarter', to: '/humanAffairs/achievements/highKPI/Highquarter', text: '季度考核'
} : {}]
} : {},
isAuthorized('REWARDANDPUNISHMENTMANAGEMENT') ? {
itemKey: 'penalties',
text: '奖惩信息',
icon: <iconpark-icon style={{ width: 20, height: 20 }} name="iconcbjiangcheng"></iconpark-icon>,
to: '/humanAffairs/achievements/penalties/penaltiesRecord',
items: [
isAuthorized('REWARDANDPUNISHMENTINFORMATION') ? {
itemKey: 'penaltiesRecord', to: '/humanAffairs/achievements/penalties/penaltiesRecord', text: '奖惩信息'
} : {}]
} : {},
admin ? {
itemKey: 'authCenter',
text: '权限中心',
icon: <iconpark-icon style={{ width: 20, height: 20 }} name="iconcbquanxian"></iconpark-icon>,
to: '/humanAffairs/authCenter/employeeAuth',
items: [{
itemKey: 'employeeAuth', to: '/humanAffairs/authCenter/employeeAuth', text: '员工权限'
}, {
itemKey: 'formMaintenance', to: '/humanAffairs/authCenter/formMaintenance', text: '表单维护'
}]
} : {}
]
},
]
list[0].items.map(e => {
if (e.items != undefined) {
e.items = e.items.filter(element => {
if (Object.keys(element).length !== 0) {
return true;
}
})
}
return e
})
list[0].items = list[0].items.filter(element => {
if (Object.keys(element).length !== 0) {
return true;
}
})
return list
}