feat(admin): 补全 admin 模块核心功能与产品体验优化
修复 v4 报告中的 13 个产品体验问题:新增用户管理列表页和系统设置页,重组导航菜单并补充缺失入口,增加角色切换机制,Dashboard 增加快捷操作和 recharts 趋势图表,考勤增加统计概览,排课增加课表网格视图,统一 Toast 操作反馈,同步更新架构文档
This commit is contained in:
48
src/app/(dashboard)/admin/users/page.tsx
Normal file
48
src/app/(dashboard)/admin/users/page.tsx
Normal file
@@ -0,0 +1,48 @@
|
||||
import type { Metadata } from "next"
|
||||
import type { JSX } from "react"
|
||||
|
||||
import { requirePermission } from "@/shared/lib/auth-guard"
|
||||
import { Permissions } from "@/shared/types/permissions"
|
||||
import { getSearchParam, type SearchParams } from "@/shared/lib/utils"
|
||||
import { getAdminUsers, getAdminUserRoles } from "@/modules/users/data-access"
|
||||
import { AdminUsersView } from "@/modules/users/components/admin-users-view"
|
||||
|
||||
export const metadata: Metadata = {
|
||||
title: "用户管理 - Next_Edu",
|
||||
description: "管理系统所有用户",
|
||||
}
|
||||
|
||||
export const dynamic = "force-dynamic"
|
||||
|
||||
export default async function AdminUsersPage({
|
||||
searchParams,
|
||||
}: {
|
||||
searchParams: Promise<SearchParams>
|
||||
}): Promise<JSX.Element> {
|
||||
await requirePermission(Permissions.USER_MANAGE)
|
||||
|
||||
const sp = await searchParams
|
||||
const page = Number(getSearchParam(sp, "page") ?? "1") || 1
|
||||
const search = getSearchParam(sp, "search") ?? ""
|
||||
const role = getSearchParam(sp, "role") ?? ""
|
||||
|
||||
const [result, roleOptions] = await Promise.all([
|
||||
getAdminUsers({ page, search: search || undefined, role: role || undefined }),
|
||||
getAdminUserRoles(),
|
||||
])
|
||||
|
||||
return (
|
||||
<div className="flex h-full flex-col space-y-6 p-8">
|
||||
<AdminUsersView
|
||||
users={result.items}
|
||||
roleOptions={roleOptions}
|
||||
page={result.page}
|
||||
pageSize={result.pageSize}
|
||||
total={result.total}
|
||||
totalPages={result.totalPages}
|
||||
search={search}
|
||||
roleFilter={role}
|
||||
/>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user