refactor(exam): 优化考试单词生成逻辑并新增期中期末类型

- 调整考试类型选择,增加“期中”和“期末”选项
- 删除旧的gradeId和level参数,简化接口参数为studentId和type
- 新增考试类型常量:期中(2)、期末(3)
- 实现期中考试和期末考试生成逻辑,分别根据年级及单元名称筛选词汇
- 调整服务层方法签名及调用,支持新考试类型生成流程
- 扩展Mapper接口,支持按单元名称和单元ID查询词汇
- 优化导出逻辑,导出文件名和压缩包名称根据考试标题动态生成
- 调整测试代码,适配新的方法参数和实现细节
This commit is contained in:
lbw
2025-12-25 18:05:43 +08:00
parent 7b68184787
commit 0b0311d2d9
12 changed files with 92 additions and 31 deletions

View File

@@ -5,7 +5,8 @@
<el-form-item label="类型">
<el-select v-model="type" placeholder="请选择类型" style="width: 240px">
<el-option :label="'摸底'" :value="1" />
<el-option :label="'期中|期末'" :value="2" />
<el-option :label="'期中'" :value="2" />
<el-option :label="'期末'" :value="3" />
</el-select>
</el-form-item>
</el-form>
@@ -61,8 +62,6 @@ async function fetchGrades() {
async function handleGenerate() {
if (!type.value) return
await generateExamWords({
gradeId: Number(gradeId.value),
level: Number(level.value),
type: Number(type.value),
studentId: props.studentIds[0]
})