1.7 KiB
1.7 KiB
代码调整记录 2025-07-17
基本信息
- 日期:2025-07-17 15:10:45
- 开发者:Cursor AI
- 类型:功能增强
调整内容
1. 增加保存题目选项时自动计算并更新题目分值功能
功能描述
在保存题目选项时,自动计算题目分值并更新到题目表中,计算规则如下:
- 单选题的分值是题目选项中最大的分值
- 多选题的分值是所有题目选项的分值之和
修改内容
-
在前端类型定义文件中添加题目分值字段:
SatQuestionVO和SatQuestionForm中增加score字段
-
在
saveOptions函数中添加计算和更新题目分值的逻辑:- 根据题目类型判断计算方式
- 单选题:取所有选项中最大分值
- 多选题:取所有选项分值之和
- 调用
updateSatQuestion接口更新题目分值
涉及文件
web/src/api/hq/satQuestion/types.tsweb/src/views/hq/satQuestion/index.vue
实现方式
- 过滤有效选项(排除空内容选项)
- 根据题目类型计算分值:
- 单选题:
Math.max(...validOptions.map(opt => Number(opt.optionScore) || 0)) - 多选题:
validOptions.reduce((sum, opt) => sum + (Number(opt.optionScore) || 0), 0)
- 单选题:
- 调用更新接口,仅更新题目ID和分值字段
测试信息
- 测试方式:创建/修改选项后检查题目分值是否正确更新
- 测试内容:
- 单选题:确认分值为最大选项分值
- 多选题:确认分值为所有选项分值之和
备注
- 此功能使题目分值能够实时反映选项的变化,方便后续在问卷中计算总分
- 数据库表
hq_sat_question中已有score字段,无需额外更改数据库结构