diff --git a/src/router/route.ts b/src/router/route.ts index fd39ac5..4cccbc8 100644 --- a/src/router/route.ts +++ b/src/router/route.ts @@ -51,201 +51,234 @@ export const systemRoutes: RouteRecordRaw[] = [ path: '/organization', name: 'Organization', component: Layout, - redirect: '/organization/hr/member', + redirect: '/organization/dept', meta: { title: '组织架构', icon: 'user-group', hidden: false, sort: 2 }, children: [ { - path: '/organization/hr', - name: 'HRManagement', - component: () => import('@/components/ParentView/index.vue'), - redirect: '/organization/hr/member', - meta: { title: '人员管理', icon: 'user', hidden: false }, - children: [ - { - path: '/organization/hr/member', - name: 'HRMember', - component: () => import('@/views/system/user/index.vue'), - meta: { title: '成员', icon: 'user', hidden: false }, - }, - { - path: '/organization/hr/dept', - name: 'HRDept', - component: () => import('@/views/system/dept/index.vue'), - meta: { title: '部门', icon: 'dept', hidden: false }, - }, - { - path: '/organization/hr/workload', - name: 'HRWorkload', - component: () => import('@/views/hr/workload/index.vue'), - meta: { title: '任务管理', icon: 'workload', hidden: false }, - }, - { - path: '/organization/hr/attendance', - name: 'HRAttendance', - component: () => import('@/views/hr/attendance/index.vue'), - meta: { title: '考勤', icon: 'attendance', hidden: false }, - }, - { - path: '/organization/hr/performance', - name: 'HRPerformance', - component: () => import('@/components/ParentView/index.vue'), - meta: { title: '绩效', icon: 'performance', hidden: false }, - children: [ - { - path: '/organization/hr/performance/dimention', - name: 'Dimention', - component: () => import('@/views/performance/setting/index.vue'), - meta: { title: '绩效维度', icon: 'performance', hidden: false }, - - }, - { - path: '/organization/hr/performance/rule', - name: 'Rule', - component: () => import('@/views/performance/rule.vue'), - meta: { title: '绩效细则', icon: 'performance', hidden: false }, - - }, - { - path: '/organization/hr/performance/my', - name: 'MyPerformance', - component: () => import('@/views/performance/my.vue'), - meta: { title: '我的绩效', icon: 'performance', hidden: false }, - - }, - ], - }, - { - path: '/organization/hr/salary', - name: 'HRSalary', - component: () => import('@/components/ParentView/index.vue'), - redirect: '/organization/hr/salary/overview', - meta: { title: '工资', icon: 'salary', hidden: false }, - children: [ - { - path: '/organization/hr/salary/overview', - name: 'HRSalaryOverview', - component: () => import('@/components/ParentView/index.vue'), - meta: { title: '工资概览', icon: 'salary', hidden: false }, - children: [ - { - path: '/organization/hr/salary/payroll', - name: 'Payroll', - component: () => import('@/views/salary-management/index.vue'), - meta: { title: '工资单', icon: 'salary', hidden: false }, - - }, - ], - }, - ], - }, - // - // { - // path: '/organization/hr/salary/insurance', - // name: 'HRInsurance', - // component: () => import('@/components/ParentView/index.vue'), - // redirect: '/organization/hr/salary/insurance/overview', - // meta: { title: '保险', icon: 'safety', hidden: false }, - // children: [ - // { - // path: '/organization/hr/salary/insurance/overview', - // name: 'HRInsuranceOverview', - // component: () => import('@/views/hr/salary/insurance/overview/index.vue'), - // meta: { title: '工作台概览', icon: 'dashboard', hidden: false }, - // }, - // { - // path: '/organization/hr/salary/insurance/my-insurance', - // name: 'HRMyInsurance', - // component: () => import('@/views/hr/salary/insurance/my-insurance/index.vue'), - // meta: { title: '我的保险', icon: 'shield', hidden: false }, - // }, - // { - // path: '/organization/hr/salary/insurance/health-records', - // name: 'HRHealthRecords', - // component: () => import('@/views/hr/salary/insurance/health-records/index.vue'), - // meta: { title: '健康档案', icon: 'heart', hidden: false }, - // }, - // { - // path: '/organization/hr/salary/insurance/policy-files', - // name: 'HRPolicyFiles', - // component: () => import('@/views/hr/salary/insurance/policy-files/index.vue'), - // meta: { title: '保单文件', icon: 'file', hidden: false }, - // }, - // { - // path: '/organization/hr/salary/insurance/personal-info', - // name: 'HRPersonalInfo', - // component: () => import('@/views/hr/salary/insurance/personal-info/index.vue'), - // meta: { title: '个人信息', icon: 'user', hidden: false }, - // }, - // ], - // }, - // - { - path: '/organization/hr/salary/system-insurance/health-management', - name: 'HRSystemHealthManagement', - component: () => import('@/views/hr/salary/system-insurance/health-management/index.vue'), - meta: { title: '健康档案管理', icon: 'heart', hidden: false }, - }, - { - path: '/organization/hr/salary/system-insurance', - name: 'HRSystemInsurance', - component: () => import('@/components/ParentView/index.vue'), - redirect: '/organization/hr/salary/system-insurance/overview', - meta: { title: '人员保险', icon: 'settings', hidden: false }, - children: [ - { - path: '/organization/hr/salary/system-insurance/overview', - name: 'HRSystemInsuranceOverview', - component: () => import('@/views/hr/salary/system-insurance/overview/index.vue'), - meta: { title: '工作台概览', icon: 'dashboard', hidden: false }, - }, - { - path: '/organization/hr/salary/system-insurance/management', - name: 'HRSystemInsuranceManagement', - component: () => import('@/views/hr/salary/system-insurance/management/index.vue'), - meta: { title: '保险管理', icon: 'shield', hidden: false }, - }, - { - path: '/organization/hr/salary/system-insurance/file-management', - name: 'HRSystemFileManagement', - component: () => import('@/views/hr/salary/system-insurance/file-management/index.vue'), - meta: { title: '保单文件管理', icon: 'file', hidden: false }, - }, - { - path: '/organization/hr/salary/system-insurance/company-management', - name: 'HRSystemCompanyManagement', - component: () => import('@/views/hr/salary/system-insurance/company-management/index.vue'), - meta: { title: '保险公司管理', icon: 'building', hidden: false }, - }, - { - path: '/organization/hr/salary/system-insurance/type-management', - name: 'HRSystemTypeManagement', - component: () => import('@/views/hr/salary/system-insurance/type-management/index.vue'), - meta: { title: '保险类型管理', icon: 'category', hidden: false }, - }, - ], - }, - { - path: '/organization/hr/salary/certification', - name: 'HRCertification', - component: () => import('@/views/hr/salary/certification/index.vue'), - meta: { title: '人员资质管理', icon: 'idcard', hidden: false }, - }, - { - path: '/organization/hr/contribution', - name: 'HRContribution', - component: () => import('@/views/hr/contribution/index.vue'), - meta: { title: '责献积分制度', icon: 'contribution', hidden: false }, - }, - ], + path: '/organization/user', + name: 'OrganizationUser', + component: () => import('@/views/system/user/index.vue'), + meta: { title: '用户管理', icon: 'user', hidden: false, sort: 2.25 }, }, { - path: '/organization/role', - name: 'OrganizationRole', - component: () => import('@/views/system/role/index.vue'), - meta: { title: '角色管理', icon: 'role', hidden: false }, + path: '/organization/dept', + name: 'OrganizationDept', + component: () => import('@/views/system/dept/index.vue'), + meta: { title: '部门管理', icon: 'mind-mapping', hidden: false, sort: 2.5 }, + }, + { + path: '/organization/post', + name: 'OrganizationPost', + component: () => import('@/views/system/post/index.vue'), + meta: { title: '岗位管理', icon: 'nav', hidden: false, sort: 2.75 }, + }, + { + path: '/organization/hr/workload', + name: 'HRWorkload', + component: () => import('@/views/hr/workload/index.vue'), + meta: { title: '任务管理', icon: 'bookmark', hidden: false }, }, ], }, + // { + // path: '/organization', + // name: 'Organization', + // component: Layout, + // redirect: '/organization/hr/member', + // meta: { title: '组织架构', icon: 'user-group', hidden: false, sort: 2 }, + // children: [ + // { + // path: '/organization/hr', + // name: 'HRManagement', + // component: () => import('@/components/ParentView/index.vue'), + // redirect: '/organization/hr/member', + // meta: { title: '人员管理', icon: 'user', hidden: false }, + // children: [ + // { + // path: '/organization/hr/member', + // name: 'HRMember', + // component: () => import('@/views/system/user/index.vue'), + // meta: { title: '成员', icon: 'user', hidden: false }, + // }, + // { + // path: '/organization/hr/dept', + // name: 'HRDept', + // component: () => import('@/views/system/dept/index.vue'), + // meta: { title: '部门', icon: 'dept', hidden: false }, + // }, + // { + // path: '/organization/hr/workload', + // name: 'HRWorkload', + // component: () => import('@/views/hr/workload/index.vue'), + // meta: { title: '任务管理', icon: 'workload', hidden: false }, + // }, + // { + // path: '/organization/hr/attendance', + // name: 'HRAttendance', + // component: () => import('@/views/hr/attendance/index.vue'), + // meta: { title: '考勤', icon: 'attendance', hidden: false }, + // }, + // { + // path: '/organization/hr/performance', + // name: 'HRPerformance', + // component: () => import('@/components/ParentView/index.vue'), + // meta: { title: '绩效', icon: 'performance', hidden: false }, + // children: [ + // { + // path: '/organization/hr/performance/dimention', + // name: 'Dimention', + // component: () => import('@/views/performance/setting/index.vue'), + // meta: { title: '绩效维度', icon: 'performance', hidden: false }, + // + // }, + // { + // path: '/organization/hr/performance/rule', + // name: 'Rule', + // component: () => import('@/views/performance/rule.vue'), + // meta: { title: '绩效细则', icon: 'performance', hidden: false }, + // + // }, + // { + // path: '/organization/hr/performance/my', + // name: 'MyPerformance', + // component: () => import('@/views/performance/my.vue'), + // meta: { title: '我的绩效', icon: 'performance', hidden: false }, + // + // }, + // ], + // }, + // { + // path: '/organization/hr/salary', + // name: 'HRSalary', + // component: () => import('@/components/ParentView/index.vue'), + // redirect: '/organization/hr/salary/overview', + // meta: { title: '工资', icon: 'salary', hidden: false }, + // children: [ + // { + // path: '/organization/hr/salary/overview', + // name: 'HRSalaryOverview', + // component: () => import('@/components/ParentView/index.vue'), + // meta: { title: '工资概览', icon: 'salary', hidden: false }, + // children: [ + // { + // path: '/organization/hr/salary/payroll', + // name: 'Payroll', + // component: () => import('@/views/salary-management/index.vue'), + // meta: { title: '工资单', icon: 'salary', hidden: false }, + // + // }, + // ], + // }, + // ], + // }, + // + // { + // path: '/organization/hr/salary/insurance', + // name: 'HRInsurance', + // component: () => import('@/components/ParentView/index.vue'), + // redirect: '/organization/hr/salary/insurance/overview', + // meta: { title: '保险', icon: 'safety', hidden: false }, + // children: [ + // { + // path: '/organization/hr/salary/insurance/overview', + // name: 'HRInsuranceOverview', + // component: () => import('@/views/hr/salary/insurance/overview/index.vue'), + // meta: { title: '工作台概览', icon: 'dashboard', hidden: false }, + // }, + // { + // path: '/organization/hr/salary/insurance/my-insurance', + // name: 'HRMyInsurance', + // component: () => import('@/views/hr/salary/insurance/my-insurance/index.vue'), + // meta: { title: '我的保险', icon: 'shield', hidden: false }, + // }, + // { + // path: '/organization/hr/salary/insurance/health-records', + // name: 'HRHealthRecords', + // component: () => import('@/views/hr/salary/insurance/health-records/index.vue'), + // meta: { title: '健康档案', icon: 'heart', hidden: false }, + // }, + // { + // path: '/organization/hr/salary/insurance/policy-files', + // name: 'HRPolicyFiles', + // component: () => import('@/views/hr/salary/insurance/policy-files/index.vue'), + // meta: { title: '保单文件', icon: 'file', hidden: false }, + // }, + // { + // path: '/organization/hr/salary/insurance/personal-info', + // name: 'HRPersonalInfo', + // component: () => import('@/views/hr/salary/insurance/personal-info/index.vue'), + // meta: { title: '个人信息', icon: 'user', hidden: false }, + // }, + // ], + // }, + // + // { + // path: '/organization/hr/salary/system-insurance/health-management', + // name: 'HRSystemHealthManagement', + // component: () => import('@/views/hr/salary/system-insurance/health-management/index.vue'), + // meta: { title: '健康档案管理', icon: 'heart', hidden: false }, + // }, + // { + // path: '/organization/hr/salary/system-insurance', + // name: 'HRSystemInsurance', + // component: () => import('@/components/ParentView/index.vue'), + // redirect: '/organization/hr/salary/system-insurance/overview', + // meta: { title: '人员保险', icon: 'settings', hidden: false }, + // children: [ + // { + // path: '/organization/hr/salary/system-insurance/overview', + // name: 'HRSystemInsuranceOverview', + // component: () => import('@/views/hr/salary/system-insurance/overview/index.vue'), + // meta: { title: '工作台概览', icon: 'dashboard', hidden: false }, + // }, + // { + // path: '/organization/hr/salary/system-insurance/management', + // name: 'HRSystemInsuranceManagement', + // component: () => import('@/views/hr/salary/system-insurance/management/index.vue'), + // meta: { title: '保险管理', icon: 'shield', hidden: false }, + // }, + // { + // path: '/organization/hr/salary/system-insurance/file-management', + // name: 'HRSystemFileManagement', + // component: () => import('@/views/hr/salary/system-insurance/file-management/index.vue'), + // meta: { title: '保单文件管理', icon: 'file', hidden: false }, + // }, + // { + // path: '/organization/hr/salary/system-insurance/company-management', + // name: 'HRSystemCompanyManagement', + // component: () => import('@/views/hr/salary/system-insurance/company-management/index.vue'), + // meta: { title: '保险公司管理', icon: 'building', hidden: false }, + // }, + // { + // path: '/organization/hr/salary/system-insurance/type-management', + // name: 'HRSystemTypeManagement', + // component: () => import('@/views/hr/salary/system-insurance/type-management/index.vue'), + // meta: { title: '保险类型管理', icon: 'category', hidden: false }, + // }, + // ], + // }, + // { + // path: '/organization/hr/salary/certification', + // name: 'HRCertification', + // component: () => import('@/views/hr/salary/certification/index.vue'), + // meta: { title: '人员资质管理', icon: 'idcard', hidden: false }, + // }, + // { + // path: '/organization/hr/contribution', + // name: 'HRContribution', + // component: () => import('@/views/hr/contribution/index.vue'), + // meta: { title: '责献积分制度', icon: 'contribution', hidden: false }, + // }, + // ], + // }, + // { + // path: '/organization/role', + // name: 'OrganizationRole', + // component: () => import('@/views/system/role/index.vue'), + // meta: { title: '角色管理', icon: 'role', hidden: false }, + // }, + // ], + // }, { path: '/asset-management', name: 'AssetManagement', diff --git a/src/stores/modules/route.ts b/src/stores/modules/route.ts index 06dcf89..7b7ca42 100644 --- a/src/stores/modules/route.ts +++ b/src/stores/modules/route.ts @@ -4,10 +4,9 @@ import type { RouteRecordRaw } from 'vue-router' import { mapTree, toTreeArray } from 'xe-utils' import { cloneDeep, omit } from 'lodash-es' import { constantRoutes, systemRoutes } from '@/router/route' -import { type RouteItem, getUserRouteWithAdapter } from '@/apis' +import type { RouteItem } from '@/apis' import { transformPathToName } from '@/utils' import { asyncRouteModules } from '@/router/asyncModules' -import { convertMenuData, type ApiMenuItem } from '@/utils/menuConverter' const layoutComponentMap = { Layout: () => import('@/layout/index.vue'), @@ -94,91 +93,63 @@ const storeSetup = () => { // 获取路由数据并已通过适配器转换 // const { data } = await getUserRouteWithAdapter() const data = [{ - "id": 1000, - "parentId": 0, - "title": "系统管理", - "type": 1, - "path": "/system", - "name": "System", - "component": "Layout", - "redirect": "/system/user", - "icon": "settings", - "isExternal": false, - "isCache": false, - "isHidden": false, - "sort": 1, - "children": [ - { - "id": 1010, - "parentId": 1000, - "title": "用户管理", - "type": 2, - "path": "/system/user", - "name": "SystemUser", - "component": "system/user/index", - "icon": "user", - "isExternal": false, - "isCache": false, - "isHidden": false, - "sort": 1 - }, - { - "id": 1030, - "parentId": 1000, - "title": "角色管理", - "type": 2, - "path": "/system/role", - "name": "SystemRole", - "component": "system/role/index", - "icon": "user-group", - "isExternal": false, - "isCache": false, - "isHidden": false, - "sort": 2 - }, - { - "id": 1050, - "parentId": 1000, - "title": "菜单管理", - "type": 2, - "path": "/system/menu", - "name": "SystemMenu", - "component": "system/menu/index", - "icon": "menu", - "isExternal": false, - "isCache": false, - "isHidden": false, - "sort": 3 - }, - { - "id": 1070, - "parentId": 1000, - "title": "部门管理", - "type": 2, - "path": "/system/dept", - "name": "SystemDept", - "component": "system/dept/index", - "icon": "mind-mapping", - "isExternal": false, - "isCache": false, - "isHidden": false, - "sort": 4 - }, - { - "id": 1090, - "parentId": 1000, - "title": "岗位管理", - "type": 2, - "path": "/system/post", - "name": "SystemPost", - "component": "system/post/index", - "icon": "settings", - "isExternal": false, - "isCache": false, - "isHidden": false, - "sort": 5 - } - ] + id: 1000, + parentId: 0, + title: '系统管理', + type: 1, + path: '/system', + name: 'System', + component: 'Layout', + redirect: '/system/user', + icon: 'settings', + isExternal: false, + isCache: false, + isHidden: false, + sort: 1, + children: [ + { + id: 1010, + parentId: 1000, + title: '用户管理', + type: 2, + path: '/system/user', + name: 'SystemUser', + component: 'system/user/index', + icon: 'user', + isExternal: false, + isCache: false, + isHidden: false, + sort: 1, + }, + { + id: 1030, + parentId: 1000, + title: '角色管理', + type: 2, + path: '/system/role', + name: 'SystemRole', + component: 'system/role/index', + icon: 'user-group', + isExternal: false, + isCache: false, + isHidden: false, + sort: 2, + }, + { + id: 1050, + parentId: 1000, + title: '菜单管理', + type: 2, + path: '/system/menu', + name: 'SystemMenu', + component: 'system/menu/index', + icon: 'menu', + isExternal: false, + isCache: false, + isHidden: false, + sort: 3, + }, + ], }] // 使用已转换的数据生成路由 const asyncRoutes = formatAsyncRoutes(data as unknown as RouteItem[]) diff --git a/src/views/system/post/index.vue b/src/views/system/post/index.vue index 05ba6a2..64cff0a 100644 --- a/src/views/system/post/index.vue +++ b/src/views/system/post/index.vue @@ -46,11 +46,11 @@ - \ No newline at end of file + diff --git a/src/views/system/role/index.vue b/src/views/system/role/index.vue index 4bab905..2ba0da6 100644 --- a/src/views/system/role/index.vue +++ b/src/views/system/role/index.vue @@ -1,5 +1,4 @@