Browse Source

fix(gameScore): 优化完赛人数计算逻辑

- 修改完赛人数统计方式,确保成绩大于0才计入
- 添加成绩数值有效性检查,过滤无效数据
- 保留调试日志以便后续验证计算结果
- 提高统计数据准确性,避免空值或零值干扰
zhou 1 month ago
parent
commit
634fbcaea4
1 changed files with 9 additions and 3 deletions
  1. 9 3
      src/views/system/gameScore/index.vue

+ 9 - 3
src/views/system/gameScore/index.vue

@@ -837,9 +837,15 @@ const calculateParticipantCounts = async () => {
       (project as any).totalParticipants = uniqueParticipants.size;
       
       // 计算完赛人数(有成绩记录的)
-      const completedScores = scores.filter(score => 
-        score.individualPerformance || score.teamPerformance
-      );
+      const completedScores = scores.filter(score => {
+        const individualScore = parseFloat(score.individualPerformance);
+        const teamScore = parseFloat(score.teamPerformance);
+        
+        // 成绩必须存在且大于0
+        return (!isNaN(individualScore) && individualScore > 0) || 
+              (!isNaN(teamScore) && teamScore > 0);
+      });
+      console.log('completedScores: ', completedScores);
       (project as any).completedParticipants = completedScores.length;
       
       // 计算未完赛人数