This commit is contained in:
xuqssq
2024-12-28 15:39:48 +08:00
parent b3ac241354
commit 6e8334ecaf
18 changed files with 5017 additions and 420 deletions

View File

@@ -1,6 +1,5 @@
import { lazy } from "react";
// Resource Management routes
const resourceRoutes = [
{
@@ -8,24 +7,28 @@ const resourceRoutes = [
component: lazy(() => import("@/pages/resource/team")),
name: "团队管理",
icon: "team",
roles: ["OWNER"],
},
{
path: "bucket",
component: lazy(() => import("@/pages/resource/bucket")),
name: "对象存储",
icon: "shop",
roles: ["OWNER"],
},
{
path: "task",
component: lazy(() => import("@/pages/resource/resourceTask")),
name: "任务管理",
icon: "appstore",
roles: ["OWNER"],
},
{
path: "task/edit/:id?",
component: lazy(() => import("@/pages/resource/resourceTask/edit")),
hidden: true,
name: "新增/编辑任务",
roles: ["OWNER"],
},
];
@@ -36,6 +39,7 @@ const companyRoutes = [
component: lazy(() => import("@/pages/company/quotation")),
name: "报价单",
icon: "file",
roles: ["ADMIN", "OWNER"],
},
{
path: "quotaInfo/:id?", // 添加可选的 id 参数
@@ -43,18 +47,21 @@ const companyRoutes = [
component: lazy(() => import("@/pages/company/quotation/detail")),
name: "报价单详情",
icon: "file",
roles: ["ADMIN", "OWNER"],
},
{
path: "serviceTemplate",
component: lazy(() => import("@/pages/company/service")),
name: "服务管理",
icon: "container",
roles: ["ADMIN", "OWNER"],
},
{
path: "templateItemManage",
component: lazy(() => import("@/pages/company/service/itemsManange")),
name: "资源类型",
icon: "container",
roles: ["ADMIN", "OWNER"],
},
{
path: "serviceTemplateInfo/:id?",
@@ -62,6 +69,7 @@ const companyRoutes = [
component: lazy(() => import("@/pages/company/service/detail")),
name: "服务模版详情",
icon: "container",
roles: ["ADMIN", "OWNER"],
},
{
path: "quotaInfo/preview/:id?", // 添加可选的 id 参数
@@ -69,12 +77,14 @@ const companyRoutes = [
component: lazy(() => import("@/pages/company/quotation/view")),
name: "报价单预览",
icon: "file",
roles: ["ADMIN", "OWNER"],
},
{
path: "customer",
component: lazy(() => import("@/pages/company/customer")),
name: "客户管理",
icon: "user",
roles: ["ADMIN", "OWNER"],
},
{
path: "customerInfo/:id?",
@@ -82,12 +92,14 @@ const companyRoutes = [
component: lazy(() => import("@/pages/company/customer/detail")),
name: "客户详情",
icon: "user",
roles: ["ADMIN", "OWNER"],
},
{
path: "supplier",
component: lazy(() => import("@/pages/company/supplier")),
name: "供应商管理",
icon: "branches",
roles: ["ADMIN", "OWNER"],
},
{
path: "supplierInfo/:id?",
@@ -95,37 +107,63 @@ const companyRoutes = [
component: lazy(() => import("@/pages/company/supplier/detail")),
name: "供应商详情",
icon: "branches",
roles: ["ADMIN", "OWNER"],
},
];
const marketingRoutes = [];
export const routes = [
// {
// path: "dashboard",
// component: lazy(() => import("@/pages/Dashboard")),
// name: "仪表盘",
// icon: "dashboard",
// },
const roleRoutes = [
{
path: "resource",
component: lazy(() => import("@/pages/resource")),
name: "资源管理",
icon: "appstore",
children: resourceRoutes,
},
{
path: "company",
component: lazy(() => import("@/pages/company")),
name: "公司管理",
icon: "bank",
children: companyRoutes,
},
{
path: "marketing",
component: lazy(() => import("@/pages/marketing")),
name: "行销中心",
icon: "shopping",
children: marketingRoutes,
path: "role",
component: lazy(() => import("@/pages/role")),
name: "角色管理",
icon: "setting",
roles: ["ADMIN", "OWNER"],
},
];
export const generateRoutes = (role) => {
return [
{
path: "dashboard",
component: lazy(() => import("@/pages/Dashboard")),
name: "仪表盘",
icon: "dashboard",
roles: ["ADMIN", "OWNER", "MEMBER"],
},
{
path: "resource",
component: lazy(() => import("@/pages/resource")),
name: "资源管理",
icon: "appstore",
children: resourceRoutes.filter((route) => route.roles.includes(role)),
roles: ["OWNER"],
},
{
path: "company",
component: lazy(() => import("@/pages/company")),
name: "公司管理",
icon: "bank",
children: companyRoutes.filter((route) => route.roles.includes(role)),
roles: ["ADMIN", "OWNER"],
},
{
path: "marketing",
component: lazy(() => import("@/pages/marketing")),
name: "行销中心",
icon: "shopping",
children: marketingRoutes.filter((route) => route.roles.includes(role)),
roles: ["ADMIN", "OWNER"],
},
// {
// path: "role",
// component: lazy(() => import("@/pages/role")),
// name: "权限管理",
// icon: "setting",
// children: roleRoutes.filter((route) => route.roles.includes(role)),
// roles: ["ADMIN", "OWNER"],
// },
].filter((route) => route.roles.includes(role));
};