|
@@ -60,17 +60,28 @@ const handleResult = async () => {
|
|
|
// }
|
|
|
return acc;
|
|
|
}, {});
|
|
|
-
|
|
|
const obj = extractScores(scoresList.value);
|
|
|
randarlist.value = Object.values(obj);
|
|
|
}
|
|
|
};
|
|
|
|
|
|
-// 处理“分”字
|
|
|
+// 处理“分”字和扣分项
|
|
|
const extractScores = (data) => {
|
|
|
- return Object.values(data).map((item) => {
|
|
|
- // 去除可能的"分"字,然后转换为整数
|
|
|
- return parseInt(item.score.replace("分", ""), 10);
|
|
|
+ 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;
|
|
|
+ }
|
|
|
+
|
|
|
+ return score;
|
|
|
});
|
|
|
};
|
|
|
|