dangdang 6 дней назад
Родитель
Сommit
81e116170d
1 измененных файлов с 14 добавлено и 6 удалено
  1. 14 6
      src/views/ResultView.vue

+ 14 - 6
src/views/ResultView.vue

@@ -89,15 +89,23 @@ const handleResult = async () => {
   }
 };
 
-// 处理“分”字
+// 处理“分”字和扣分项
 const extractScores = (data) => {
-  return Object.values(data).map((item) => {
-    // 确保 score 是一个字符串,并且去除可能的 "分" 字
+  return Object.entries(data).map(([key, item]) => {
+    if (!item || item.score === undefined) return 0;
+
+    // 确保 score 是字符串并去掉“分”
     let scoreStr = String(item.score).replace("分", "");
+    let score = parseInt(scoreStr, 10);
+
+    if (isNaN(score)) return 0;
+
+    // 如果是 penalty_points 且分数为正,强制转成负数
+    if (key === "penalty_points" && score > 0) {
+      score = -score;
+    }
 
-    // 将 score 转换为整数,如果转换失败则返回 0
-    const score = parseInt(scoreStr, 10);
-    return isNaN(score) ? 0 : score;
+    return score;
   });
 };