import { lazy } from "react"; // Resource Management routes const resourceRoutes = [ { path: "team", component: lazy(() => import("@/pages/resource/team")), name: "团队管理", icon: "team", roles: ["OWNER"], }, { path: "role", component: lazy(() => import("@/pages/resource/role")), name: "角色管理", icon: "setting", roles: ["OWNER"], }, { path: "bucket", component: lazy(() => import("@/pages/resource/bucket")), name: "对象存储", icon: "shop", roles: ["OWNER"], }, { path: "task/edit/:id?", component: lazy(() => import("@/pages/resource/resourceTask/edit")), hidden: true, name: "新增/编辑任务", roles: ["OWNER"], }, ]; // Company routes const companyRoutes = [ { path: "quotation", component: lazy(() => import("@/pages/company/quotation")), name: "报价单", icon: "file", roles: ["ADMIN", "OWNER"], }, { path: "quotaInfo/:id?", // 添加可选的 id 参数 hidden: true, component: lazy(() => import("@/pages/company/quotation/detail")), name: "报价单详情", icon: "file", roles: ["ADMIN", "OWNER"], }, { path: "project", component: lazy(() => import("@/pages/company/project")), name: "专案管理", icon: "appstore", roles: ["ADMIN", "OWNER"], }, { path: "task", component: lazy(() => import("@/pages/company/task")), name: "任务管理", icon: "appstore", roles: ["OWNER"], }, { path: "taskInfo/:id?", hidden:true, component: lazy(() => import("@/pages/company/task/detail")), name: "任务管理详情", icon: "appstore", roles: ["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?", hidden: true, component: lazy(() => import("@/pages/company/service/detail")), name: "服务模版详情", icon: "container", roles: ["ADMIN", "OWNER"], }, { path: "quotaInfo/preview/:id?", // 添加可选的 id 参数 hidden: true, 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?", hidden: true, 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?", hidden: true, component: lazy(() => import("@/pages/company/supplier/detail")), name: "供应商详情", icon: "branches", roles: ["ADMIN", "OWNER"], }, { path: "projectInfo/:id?", hidden: true, component: lazy(() => import("@/pages/company/project/detail")), name: "专案管理详情", icon: "appstore", roles: ["ADMIN", "OWNER"], }, { path: "projectView/:id?", hidden: true, component: lazy(() => import("@/pages/company/project/info")), name: "专案详情", icon: "appstore", roles: ["ADMIN", "OWNER"], } ]; const marketingRoutes = []; // const roleRoutes = [ // { // 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)); };