From 124a04c43d4c318feddb77451d49496c4aeb43aa Mon Sep 17 00:00:00 2001
From: Maple <869445424@qq.com>
Date: Wed, 30 Jul 2025 14:31:18 +0800
Subject: [PATCH] =?UTF-8?q?change:=20=E5=B0=86=E8=8F=9C=E5=8D=95=E6=A0=8F?=
=?UTF-8?q?=E4=BC=98=E5=8C=96=E4=BA=86=E4=B8=80=E4=B8=8B=20delete:=20?=
=?UTF-8?q?=E5=88=A0=E9=99=A4=E4=BA=86=E4=B8=80=E4=BA=9B=E5=A4=9A=E4=BD=99?=
=?UTF-8?q?=E7=9A=84=E8=8F=9C=E5=8D=95=E6=A0=8F=EF=BC=88=E6=B3=A8=E9=87=8A?=
=?UTF-8?q?=E6=8E=89=E4=BA=86=EF=BC=89?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/router/route.ts | 407 +++++++++++++++++---------------
src/stores/modules/route.ts | 145 +++++-------
src/views/system/post/index.vue | 70 +++---
src/views/system/role/index.vue | 1 -
4 files changed, 313 insertions(+), 310 deletions(-)
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 @@
- 这个暂时写不了,角色管理采用菜单权限的设置