feat: complete student archive subsystem — 7 entities, PDF report, frontend profile page

This commit is contained in:
2026-07-06 15:58:36 +08:00
parent b6990dd11b
commit 8bd59b8ac6
15 changed files with 1539 additions and 9 deletions

View File

@@ -1,4 +1,5 @@
import React, { useEffect, useState } from 'react';
import { useNavigate } from 'react-router-dom';
import {
Table,
Button,
@@ -68,6 +69,7 @@ interface EnrollmentInfo {
const StudentsPage: React.FC = () => {
const { modal } = App.useApp();
const navigate = useNavigate();
const [data, setData] = useState<any[]>([]);
const [loading, setLoading] = useState(false);
const [modalOpen, setModalOpen] = useState(false);
@@ -296,6 +298,14 @@ const StudentsPage: React.FC = () => {
</Popconfirm>
) : (
<>
<PermissionButton
permission="student:view"
size="small"
type="link"
onClick={() => navigate(`/students/${record.id}/profile`)}
>
</PermissionButton>
<PermissionButton
permission="student:edit"
size="small"