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
}