From 7d9d9e2bf3881e6334ea7fcbf8964240eb1892ec Mon Sep 17 00:00:00 2001 From: woody Date: Thu, 8 May 2025 17:57:38 +0800 Subject: [PATCH] =?UTF-8?q?fix(mine):=20=E5=AD=97=E6=AE=B5=E5=B1=95?= =?UTF-8?q?=E7=A4=BA=E9=80=BB=E8=BE=91=E5=8F=98=E6=9B=B4=EF=BC=8C=20?= =?UTF-8?q?=E5=B0=8F=E5=8C=BA=E4=BB=85=E9=9C=80=E5=AD=97=E6=AE=B5=E5=90=AB?= =?UTF-8?q?=E4=B9=89=E5=8F=98=E4=B8=BA=E9=9C=80=E8=A6=81=E8=AE=A1=E7=AE=97?= =?UTF-8?q?=E8=8E=B7=E5=BE=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/mine/index.vue | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/pages/mine/index.vue b/pages/mine/index.vue index 8a2f1a2..bc525c4 100644 --- a/pages/mine/index.vue +++ b/pages/mine/index.vue @@ -67,7 +67,8 @@ 奖衔,小区仅需 {{ - awards.sumRealPv + + sprintProgress.achieved }} @@ -124,7 +125,7 @@ :style="{ width: sprintProgress.percentageString }" > - 已完成 {{ sprintProgress.achieved }} / 目标 {{ sprintProgress.target }} + 已完成 {{ awards.sumRealPv }} / 目标 {{ sprintProgress.target }} @@ -481,17 +482,15 @@ export default { let achievedPv = 0; let percentage = 0; - let displayTargetPv = (isNaN(targetPv) ? 0 : targetPv).toFixed(2); + const numericTargetPv = Math.floor((isNaN(targetPv) ? 0 : targetPv) * 100) / 100; if (!isNaN(targetPv) && targetPv > 0) { // sumRealPv 是差距,所以已完成的是 targetPv - sumRealPv achievedPv = targetPv - (isNaN(sumRealPv) ? 0 : sumRealPv); - // 确保 achievedPv 不会小于0(如果 sumRealPv > targetPv,理论上不应发生) - // 且不会大于 targetPv (如果 sumRealPv 是负数,表示已超额) achievedPv = Math.max(0, Math.min(achievedPv, targetPv)); - percentage = (achievedPv / targetPv) * 100; + percentage = (sumRealPvStr / targetPv) * 100; } else if (!isNaN(targetPv) && targetPv === 0 && !isNaN(sumRealPv) && sumRealPv <=0) { // 如果目标是0,且差距也是0或负数(表示已满足或超越0目标),则认为是100% achievedPv = 0; @@ -502,9 +501,9 @@ export default { const clampedPercentage = Math.min(100, Math.max(0, percentage)); return { - percentageString: `${clampedPercentage.toFixed(0)}%`, - achieved: achievedPv.toFixed(2), - target: displayTargetPv, + percentageString: `${Math.floor(clampedPercentage)}%`, + achieved: (Math.floor(achievedPv * 100) / 100).toFixed(2), + target: numericTargetPv.toFixed(2), rawPercentage: clampedPercentage }; }