|
|
@ -1,138 +1,186 @@ |
|
|
|
import React from 'react'; |
|
|
|
import { IconCode } from '@douyinfe/semi-icons'; |
|
|
|
import { isAuthorized } from '$utils' |
|
|
|
|
|
|
|
export function getNavItem(user, dispatch) { |
|
|
|
return ( |
|
|
|
[ |
|
|
|
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: [{ |
|
|
|
items: [ |
|
|
|
isAuthorized('PERSONNELFILEMANAGEMENT') ? { |
|
|
|
itemKey: 'personnelArchives', |
|
|
|
text: '人员档案', |
|
|
|
icon: <iconpark-icon style={{ width: 20, height: 20 }} name="iconcbrengongdangan"></iconpark-icon>, |
|
|
|
to: '/humanAffairs/archivesCenter/personnelArchives/personnelFiles', |
|
|
|
items: [{ |
|
|
|
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: [{ |
|
|
|
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: [{ |
|
|
|
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: [{ |
|
|
|
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: [{ |
|
|
|
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: [{ |
|
|
|
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: [{ |
|
|
|
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: [{ |
|
|
|
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: [{ |
|
|
|
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: [{ |
|
|
|
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: [{ |
|
|
|
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: [{ |
|
|
|
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: [{ |
|
|
|
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>, |
|
|
@ -142,8 +190,24 @@ export function getNavItem(user, dispatch) { |
|
|
|
}, { |
|
|
|
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 |
|
|
|
} |