This commit is contained in:
linfeng 2025-03-25 08:42:40 +08:00
parent 960366282f
commit 0545151beb
6 changed files with 69 additions and 26 deletions

View File

@ -0,0 +1,3 @@
export default function AssessmentStandardPage() {
return <div>AssessmentStandardPage</div>;
}

View File

@ -128,7 +128,7 @@ export default function BaseSettingPage() {
<Input></Input> <Input></Input>
</Form.Item> </Form.Item>
</div> </div>
<div className="p-2 grid grid-cols-8 gap-2 border-b"> {/* <div className="p-2 grid grid-cols-8 gap-2 border-b">
<Form.Item <Form.Item
label="首页轮播图" label="首页轮播图"
name={["appConfig", "slides"]}> name={["appConfig", "slides"]}>
@ -141,7 +141,7 @@ export default function BaseSettingPage() {
name={["appConfig", "slideLinks"]}> name={["appConfig", "slideLinks"]}>
<CarouselUrlInput ></CarouselUrlInput> <CarouselUrlInput ></CarouselUrlInput>
</Form.Item> </Form.Item>
</div> </div> */}
{/* <div {/* <div
className="p-2 border-b flex items-center justify-between" className="p-2 border-b flex items-center justify-between"
style={{ style={{

View File

@ -64,7 +64,20 @@ const items = [
getItem("体育", "/assessment/sportsassessment", null, null, null), getItem("体育", "/assessment/sportsassessment", null, null, null),
], ],
null, null,
) ),
getItem(
"系统设置",
"/admin",
<i className="iconfont icon-icon-user" />,
[
getItem("基本设置", "/admin/base-setting", null, null, null),
getItem("用户管理", "/admin/user", null, null, null),
getItem("组织架构", "/admin/department", null, null, null),
getItem("角色管理", "/admin/role", null, null, null),
getItem("考核标准管理", "/admin/assessment-standard", null, null, null),
],
null,
),
]; ];
const NavigationMenu: React.FC = () => { const NavigationMenu: React.FC = () => {
@ -76,7 +89,12 @@ const NavigationMenu: React.FC = () => {
// 添加考核成绩子路径的匹配规则 // 添加考核成绩子路径的匹配规则
"^/assessment/positionassessment": ["/assessment"], "^/assessment/positionassessment": ["/assessment"],
"^/assessment/commonassessment": ["/assessment"], "^/assessment/commonassessment": ["/assessment"],
"^/assessment/sportsassessment": ["/assessment"] "^/assessment/sportsassessment": ["/assessment"],
"^/admin/base-setting": ["/admin"],
"^/admin/department": ["/admin"],
"^/admin/role": ["/admin"],
"^/admin/assessment-standard": ["/admin"],
"^/admin/user": ["/admin"],
}; };
// 同时在 useEffect 中更新路径判断逻辑 // 同时在 useEffect 中更新路径判断逻辑
@ -89,6 +107,12 @@ const NavigationMenu: React.FC = () => {
location.pathname.startsWith("/assessment/") || location.pathname.startsWith("/assessment/") ||
location.pathname === "/plan/weekplan" || location.pathname === "/plan/weekplan" ||
location.pathname === "/plan/monthplan" location.pathname === "/plan/monthplan"
)
{
setSelectedKeys([location.pathname]);
setOpenKeys([location.pathname.split('/').slice(0, 2).join('/')]);
} else if (
location.pathname.startsWith("/admin/")
) { ) {
setSelectedKeys([location.pathname]); setSelectedKeys([location.pathname]);
setOpenKeys([location.pathname.split('/').slice(0, 2).join('/')]); setOpenKeys([location.pathname.split('/').slice(0, 2).join('/')]);

View File

@ -2,14 +2,14 @@ import { Outlet } from "react-router-dom";
import { Layout } from "antd"; import { Layout } from "antd";
import { adminRoute } from "@web/src/routes/admin-route"; import { adminRoute } from "@web/src/routes/admin-route";
import AdminSidebar from "./AdminSidebar"; // import AdminSidebar from "./AdminSidebar";
const { Content } = Layout; const { Content } = Layout;
export default function AdminLayout() { export default function AdminLayout() {
return ( return (
<Layout className="min-h-screen"> <Layout className="min-h-screen">
<AdminSidebar routes={adminRoute.children || []} /> {/* <AdminSidebar routes={adminRoute.children || []} /> */}
<Layout> <Layout>
<Content> <Content>
<Outlet /> <Outlet />

View File

@ -15,6 +15,7 @@ import WithAuth from "../components/utils/with-auth";
import { CustomRouteObject } from "./types"; import { CustomRouteObject } from "./types";
import StaffPage from "../app/admin/staff/page"; import StaffPage from "../app/admin/staff/page";
import AdminLayout from "../components/layout/admin/AdminLayout"; import AdminLayout from "../components/layout/admin/AdminLayout";
import AssessmentStandardPage from "../app/admin/assessmentstandard/assessment-standardpage";
export const adminRoute: CustomRouteObject = { export const adminRoute: CustomRouteObject = {
path: "admin", path: "admin",
@ -58,7 +59,7 @@ export const adminRoute: CustomRouteObject = {
}, },
}, },
{ {
path: "staff", path: "user",
name: "用户管理", name: "用户管理",
icon: <UserOutlined />, icon: <UserOutlined />,
element: ( element: (
@ -74,31 +75,37 @@ export const adminRoute: CustomRouteObject = {
), ),
handle: { handle: {
crumb() { crumb() {
return <Link to={"/admin/staff"}></Link>; return <Link to={"/admin/user"}></Link>;
}, },
}, },
}, },
{ {
path: "term", path: "assessment-standard",
name: "分类配置", name: "考核标准管理",
icon: <TagsOutlined />, icon: <TagsOutlined />,
element: ( element: <AssessmentStandardPage></AssessmentStandardPage>
<WithAuth
options={{
orPermissions: [
RolePerms.MANAGE_ANY_TERM,
// RolePerms.MANAGE_DOM_TERM
],
}}>
<TermAdminPage></TermAdminPage>
</WithAuth>
),
handle: {
crumb() {
return <Link to={"/admin/term"}></Link>;
},
},
}, },
// {
// path: "term",
// name: "分类配置",
// icon: <TagsOutlined />,
// element: (
// <WithAuth
// options={{
// orPermissions: [
// RolePerms.MANAGE_ANY_TERM,
// // RolePerms.MANAGE_DOM_TERM
// ],
// }}>
// <TermAdminPage></TermAdminPage>
// </WithAuth>
// ),
// handle: {
// crumb() {
// return <Link to={"/admin/term"}>分类配置</Link>;
// },
// },
// },
{ {
path: "role", path: "role",
name: "角色管理", name: "角色管理",

View File

@ -13,6 +13,8 @@ import MainLayout from "../app/main/layout/MainLayout";
import DailyPage from "../app/main/daily/page"; import DailyPage from "../app/main/daily/page";
import Dashboard from "../app/main/home/page"; import Dashboard from "../app/main/home/page";
import WeekPlanPage from "../app/main/plan/weekplan/page"; import WeekPlanPage from "../app/main/plan/weekplan/page";
import AdminLayout from "../components/layout/admin/AdminLayout";
import { adminRoute } from "./admin-route";
interface CustomIndexRouteObject extends IndexRouteObject { interface CustomIndexRouteObject extends IndexRouteObject {
name?: string; name?: string;
breadcrumb?: string; breadcrumb?: string;
@ -42,6 +44,7 @@ export const routes: CustomRouteObject[] = [
return <Link to={"/"}></Link>; return <Link to={"/"}></Link>;
}, },
}, },
children: [ children: [
{ {
element: <MainLayout></MainLayout>, element: <MainLayout></MainLayout>,
@ -88,12 +91,18 @@ export const routes: CustomRouteObject[] = [
} }
] ]
}, },
{
path: "/admin",
element: <AdminLayout></AdminLayout>,
children: adminRoute.children,
}
], ],
}, },
], ],
}, },
{ {
path: "/login", path: "/login",
breadcrumb: "登录", breadcrumb: "登录",