code-adjust-record-2025-08-07-wuzhen.md 3.0 KB

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

🎯 本日变更概览

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

📝 详细变更记录

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

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

📋 问题描述:

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

🎯 修复目标:

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

🔧 具体修改:

  1. 修改 getRemainingQuota 方法: ```javascript // 修改前:只检查 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` 方法**:
   ```javascript
   // 修改前:只检查 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"并禁用选择,避免了误导用户的问题。

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