feat(admin): 管理端 UI/UX 深度优化——错误/加载/空状态、表单快捷键、移动端适配与无障碍

This commit is contained in:
2026-08-08 15:05:33 +08:00
parent 57639a3869
commit a0829f17ce
54 changed files with 702 additions and 369 deletions

View File

@@ -22,6 +22,7 @@ import {
UploadOutlined,
} from '@ant-design/icons';
import PermissionButton from '../../components/PermissionButton';
import { RefreshButton } from '../../components/RefreshButton';
import { statusMap } from './StudentColumns';
export interface StudentsToolbarProps {
@@ -60,6 +61,8 @@ export interface StudentsToolbarProps {
onExport: () => void;
templateLoading?: boolean;
exportLoading?: boolean;
refreshLoading?: boolean;
onRefresh?: () => void;
}
export const StudentsToolbar: React.FC<StudentsToolbarProps> = ({
@@ -98,6 +101,8 @@ export const StudentsToolbar: React.FC<StudentsToolbarProps> = ({
onExport,
templateLoading,
exportLoading,
refreshLoading,
onRefresh,
}) => {
const { modal } = App.useApp();
return (
@@ -171,6 +176,7 @@ export const StudentsToolbar: React.FC<StudentsToolbarProps> = ({
</Button>
</Space>
<Space wrap className="responsive-toolbar__group">
{onRefresh ? <RefreshButton loading={refreshLoading} onRefresh={onRefresh} /> : null}
{showArchived && canEditStudent ? (
<>
<Popconfirm