feat(web): migrate student, public, and teacher workflows

Add React workflows for experiments, campus registration, student approvals, account activation, document verification, classroom repair, venue displays, and teacher rosters. Wire role-aware navigation while preserving existing API authorization boundaries.
This commit is contained in:
biss authored and biss committed 2026-10-03 21:38:14 +08:00
1 parent adeffce03b
commit b19c40f09a
17 files changed
+342

No files matched your search

+12
View File
@@ -29,6 +29,11 @@ import {
HeartOutlined,
SafetyCertificateOutlined as DegreeOutlined,
CheckCircleOutlined,
ExperimentOutlined,
FundProjectionScreenOutlined,
BankOutlined,
ApartmentOutlined,
TeamOutlined,
} from '@ant-design/icons'
import { Avatar, Badge, Button, Layout, Menu, Tag } from 'antd'
import { useQuery } from '@tanstack/react-query'
@@ -88,8 +93,15 @@ export default function AppShell() {
{ key: '/physical-fitness', icon: <HeartOutlined />, label: '体质健康' },
{ key: '/degree-awards', icon: <DegreeOutlined />, label: '学位授予' },
{ key: '/graduation-clearance', icon: <CheckCircleOutlined />, label: '毕业离校' },
{ key: '/experiments', icon: <ExperimentOutlined />, label: '我的实验' },
{ key: '/experiment-grades', icon: <FundProjectionScreenOutlined />, label: '实验成绩' },
{ key: '/campus-registrations', icon: <BankOutlined />, label: '校园报名' },
{ key: '/approvals', icon: <ApartmentOutlined />, label: '审批申请' },
{ key: '/warnings', icon: <WarningOutlined />, label: '学业预警' },
] : []),
...(roles.includes('Teacher') ? [
{ key: '/teacher-roster', icon: <TeamOutlined />, label: '选课名单' },
] : []),
...(user?.roles.includes('SuperAdmin')
? [{ key: '/users', icon: <SafetyCertificateOutlined />, label: '用户与权限' }]
: []),