Files
hzdyjs/docs/设计文档/database/code-adjust-record-2025-08-07-wuzhen.md
T
2025-08-10 00:28:48 +08:00

3.0 KiB

代码调整记录 - 2025-08-07 - wuzhen

🎯 本日变更概览

  • 修复班主任批量申请奖学金中班级无名额时显示逻辑错误

📝 详细变更记录

1. 修复班级名额显示逻辑 - 2025-08-07 13:15:00

🔧 修改文件: web/src/views/jcbt/scholarship/application/index.vue

📋 问题描述:

  • 班主任批量申请奖学金时,如果某个奖学金类型在当前班级没有分配名额,系统错误地显示"无名额限制"
  • 这导致班主任可能误以为可以给学生申报该类型奖学金,但实际上该班级没有名额

🎯 修复目标:

  • 当班级对某奖学金类型没有分配名额时,应显示"剩余: 0"而不是"无名额限制"
  • 禁用该奖学金类型的选择,不允许为学生申报

🔧 具体修改:

  1. 修改 getRemainingQuota 方法:

    // 修改前:只检查 hasQuota 属性
    if (scholarshipType.classQuota && scholarshipType.classQuota.hasQuota) {
      return Math.max(0, scholarshipType.classQuota.availableQuota - selectedCount);
    }
    
    // 修改后:优先检查班级名额,区分有名额和无名额情况
    if (scholarshipType.classQuota) {
      if (scholarshipType.classQuota.hasQuota) {
        return Math.max(0, scholarshipType.classQuota.availableQuota - selectedCount);
      } else {
        // 班级没有分配名额,返回0
        return 0;
      }
    }
    
  2. 修改 isScholarshipTypeSelectable 方法:

    // 修改前:只检查 hasQuota 属性
    if (type.classQuota && type.classQuota.hasQuota) {
      return type.classQuota.availableQuota > 0;
    }
    
    // 修改后:班级无名额时直接返回false
    if (type.classQuota) {
      if (type.classQuota.hasQuota) {
        return type.classQuota.availableQuota > 0;
      } else {
        return false; // 班级没有分配名额,不允许选择
      }
    }
    

✅ 修复效果:

  • ✅ 班级无名额的奖学金类型正确显示"剩余: 0"
  • ✅ 班级无名额的奖学金类型被正确禁用,无法选择
  • ✅ 有名额的奖学金类型正常显示和选择
  • ✅ 无限制名额的奖学金类型正常显示"无限制"

🔍 影响范围:

  • 班主任批量申请奖学金功能
  • 奖学金类型选择器显示逻辑
  • 名额统计面板显示逻辑

🧪 测试要点:

  • 班级有名额时正常显示剩余名额
  • 班级无名额时显示"剩余: 0"且不可选择
  • 无限制名额时显示"无限制"且可选择
  • 已选择学生的名额统计正确

📚 相关文档更新

API文档

  • 无需更新(后端接口未变更)

业务文档

  • 无需更新(业务逻辑未变更,仅修复显示bug)

🎯 总结

本次修复解决了班主任批量申请奖学金时,班级无名额的奖学金类型错误显示"无名额限制"的问题。修复后能正确显示"剩余: 0"并禁用选择,避免了误导用户的问题。

修复原则: 在班级名额管理场景下,优先以班级名额为准,只有当班级确实分配了名额时才允许申报。