feat: 重构各业务模块管理页面与服务

This commit is contained in:
2026-08-05 17:12:00 +08:00
parent 80e6fccf05
commit fd39e1686a
163 changed files with 18409 additions and 13449 deletions

View File

@@ -1,8 +1,6 @@
import React from 'react';
import { DatePicker, Form, Input, Modal, Select } from 'antd';
import type { FormInstance } from 'antd';
import type { ClassOption, ExamFormValues } from './types';
import { EXAM_TYPE_OPTIONS } from './types';
import { DatePicker, Form, Input, Modal, Select, type FormInstance } from 'antd';
import { EXAM_TYPE_OPTIONS, type ClassOption, type ExamFormValues } from './types';
interface Props {
open: boolean;
@@ -32,24 +30,42 @@ const ExamFormModal: React.FC<Props> = ({
width={560}
>
<Form form={form} layout="vertical">
<Form.Item name="examType" label="考试类型" rules={[{ required: true, message: '请选择考试类型' }]}>
<Form.Item
name="examType"
label="考试类型"
rules={[{ required: true, message: '请选择考试类型' }]}
>
<Select options={EXAM_TYPE_OPTIONS} placeholder="请选择" />
</Form.Item>
<Form.Item name="examName" label="考试名称" rules={[{ required: true, message: '请输入考试名称' }]}>
<Form.Item
name="examName"
label="考试名称"
rules={[{ required: true, message: '请输入考试名称' }]}
>
<Input placeholder="如2026 年 7 月月考" />
</Form.Item>
<Form.Item name="subject" label="科目" rules={[{ required: true, message: '请输入科目' }]}>
<Input placeholder="如:数学" />
</Form.Item>
<Form.Item name="examDate" label="考试日期" rules={[{ required: true, message: '请选择考试日期' }]}>
<Form.Item
name="examDate"
label="考试日期"
rules={[{ required: true, message: '请选择考试日期' }]}
>
<DatePicker style={{ width: '100%' }} />
</Form.Item>
<Form.Item name="classId" label="考试班级" rules={[{ required: true, message: '请选择考试班级' }]}>
<Form.Item
name="classId"
label="考试班级"
rules={[{ required: true, message: '请选择考试班级' }]}
>
<Select
showSearch
optionFilterProp="label"
placeholder="选择在读班级"
options={classes.filter((item) => !item.isArchived).map((item) => ({ value: item.id, label: item.name }))}
options={classes
.filter((item) => !item.isArchived)
.map((item) => ({ value: item.id, label: item.name }))}
/>
</Form.Item>
</Form>