xinli/z_Project change/进度汇总/17-管理员快速填充功能说明.md
2025-11-12 15:25:47 +08:00

4.4 KiB
Raw Blame History

管理员快速填充功能说明

📋 功能概述

管理员在进行量表测评时,可以使用"快速填充"功能,自动选择所有题目的特定选项并提交测评。此功能主要用于测试和快速验证量表功能。

🎯 功能特性

1. 管理员专用

  • 只有管理员userId === 1 或 roles 包含 'admin')才能看到和使用此功能
  • 普通用户无法看到快速填充按钮

2. 快速填充策略

系统提供4种填充策略

① 填充第一个选项并提交

  • 为所有题目选择第一个选项选项A或第一个选项
  • 适用于测试最低分或基础功能

② 填充中间选项并提交

  • 为所有题目选择中间选项
  • 例如5个选项中选择第3个4个选项中选择第2个

③ 填充最后一个选项并提交

  • 为所有题目选择最后一个选项
  • 适用于测试最高分或极端情况

④ 随机填充并提交

  • 为每个题目随机选择一个选项
  • 适用于模拟真实答题情况

3. 自动处理

  • 自动处理单选题、多选题、矩阵题
  • 自动计算得分
  • 自动保存所有答案
  • 自动提交测评并生成报告

📝 使用方法

步骤1进入测评页面

  1. 登录系统(管理员账户)
  2. 进入 心理测评管理测评记录
  3. 点击 "开始测评""继续测评"

步骤2使用快速填充

  1. 在测评页面顶部,找到 "快速填充" 按钮
  2. 点击下拉箭头,选择填充策略:
    • 填充第一个选项并提交
    • 填充中间选项并提交
    • 填充最后一个选项并提交
    • 随机填充并提交

步骤3确认并执行

  1. 系统会弹出确认对话框
  2. 点击 "确定" 后,系统会:
    • 自动填充所有题目
    • 保存所有答案
    • 提交测评
    • 生成测评报告
  3. 完成后自动跳转到测评记录页面

⚙️ 技术实现

前端实现

  • 文件位置ruoyi-ui/src/views/psychology/assessment/taking.vue
  • 关键方法
    • handleQuickFill(command): 处理快速填充命令
    • performQuickFill(command): 执行快速填充逻辑
    • saveAnswerToServerPromise(answer): 保存答案到服务器

权限控制

  • 使用 isAdmin 计算属性判断管理员身份
  • 通过 v-if="isAdmin" 控制按钮显示
  • 在方法中再次验证权限

填充逻辑

// 选项选择策略
switch (command) {
  case 'first':    // 第一个选项
  case 'middle':   // 中间选项
  case 'last':     // 最后一个选项
  case 'random':   // 随机选项
}

// 自动保存和提交
Promise.all(fillPromises).then(() => {
  submitAssessment(this.assessmentId)
})

🔒 安全特性

  1. 权限验证:双重验证管理员身份
  2. 确认对话框:防止误操作
  3. 错误处理:完善的错误处理和提示
  4. 日志记录:记录填充操作的日志

⚠️ 注意事项

  1. 不可撤销:快速填充并提交后,测评结果无法修改
  2. 覆盖已有答案:如果题目已有答案,快速填充会覆盖原有答案
  3. 多选题处理:多选题目前只选择第一个选项(可根据需要调整)
  4. 测试用途:此功能主要用于测试,不建议用于真实测评数据

📊 使用场景

适用场景

  • 测试量表功能是否正常
  • 快速生成测试报告
  • 验证报告生成功能
  • 系统功能演示

不适用场景

  • 真实用户测评
  • 正式的数据收集
  • 需要准确答案的测评

🔧 自定义配置

如果需要修改填充策略,可以编辑 performQuickFill 方法中的 optionStrategy 函数。

例如,修改多选题策略为选择所有选项:

else if (item.itemType === 'multiple') {
  // 多选题,选择所有选项
  selectedOptions = options.map(opt => opt.optionId);
  const totalScore = options.reduce((sum, opt) => sum + (opt.optionScore || 0), 0);
  // ...
}

验证清单

使用前请确认:

  • 当前用户是管理员
  • 测评状态为"进行中"
  • 量表包含题目
  • 所有题目都有选项

📚 相关文件

  • ruoyi-ui/src/views/psychology/assessment/taking.vue - 测评页面
  • ruoyi-ui/src/api/psychology/assessment.js - 测评API

🎉 更新日志

  • 2025-01-XX:添加管理员快速填充功能
    • 支持4种填充策略
    • 自动保存和提交
    • 完善的权限控制和错误处理