From ad17803ed1851db2e5db7c077c56094799b49dda Mon Sep 17 00:00:00 2001 From: kkfluous Date: Wed, 1 Apr 2026 21:47:35 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E9=87=8C=E7=A8=8B=E6=95=B0=E8=B6=85?= =?UTF-8?q?=E8=BF=8710000=E6=98=BE=E7=A4=BA=E4=B8=BAxx.xx=E4=B8=87KM?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 添加 fmtKm() 格式化函数,统计报表中所有里程数值 超过10000时自动转为万单位显示。 Co-Authored-By: Claude Opus 4.6 (1M context) --- src/modules/mileage/StatisticsView.tsx | 41 +++++++++++++++----------- 1 file changed, 23 insertions(+), 18 deletions(-) diff --git a/src/modules/mileage/StatisticsView.tsx b/src/modules/mileage/StatisticsView.tsx index 8078c06..07c9d7d 100644 --- a/src/modules/mileage/StatisticsView.tsx +++ b/src/modules/mileage/StatisticsView.tsx @@ -12,6 +12,11 @@ import { import type { TargetSummary, TargetVehicle, TrendPoint } from './types'; import { fetchTargets, fetchTargetVehicles, fetchTrend } from './api'; +function fmtKm(value: number): string { + if (value >= 10000) return (value / 10000).toFixed(2) + '万'; + return value.toLocaleString(); +} + function shortTargetName(name: string): string { // Extract the number and a short description const match = name.match(/(\d+)[辆台](.+)/); @@ -83,14 +88,14 @@ export default function StatisticsView() {
今日总里程
- {targets.reduce((sum, t) => sum + t.todayTotal, 0).toLocaleString()} + {fmtKm(targets.reduce((sum, t) => sum + t.todayTotal, 0))} KM
累计总里程
- {targets.reduce((sum, t) => sum + t.cumulativeTotal, 0).toLocaleString()} + {fmtKm(targets.reduce((sum, t) => sum + t.cumulativeTotal, 0))} KM
@@ -234,10 +239,10 @@ export default function StatisticsView() {
- {target.todayTotal.toLocaleString()} KM + {fmtKm(target.todayTotal)} KM
- 累计: {target.cumulativeTotal.toLocaleString()} KM + 累计: {fmtKm(target.cumulativeTotal)} KM

总考核里程

-

{(target.totalMileagePerVehicle * target.vehicleCount).toLocaleString()} KM

+

{fmtKm(target.totalMileagePerVehicle * target.vehicleCount)} KM

年考核任务/辆

-

{target.annualMileagePerVehicle.toLocaleString()} KM

+

{fmtKm(target.annualMileagePerVehicle)} KM

50%达标数

@@ -278,15 +283,15 @@ export default function StatisticsView() {

本年需完成

-

{target.currentYearTarget.toLocaleString()} KM

+

{fmtKm(target.currentYearTarget)} KM

已完成(截止3.31)

-

{target.currentYearCompleted.toLocaleString()} KM

+

{fmtKm(target.currentYearCompleted)} KM

未完成总数

-

{target.remaining.toLocaleString()} KM

+

{fmtKm(target.remaining)} KM

日均需完成

@@ -372,14 +377,14 @@ export default function StatisticsView() {
今日总里程
- {targets.reduce((sum, t) => sum + t.todayTotal, 0).toLocaleString()} + {fmtKm(targets.reduce((sum, t) => sum + t.todayTotal, 0))} KM
累计总里程
- {targets.reduce((sum, t) => sum + t.cumulativeTotal, 0).toLocaleString()} + {fmtKm(targets.reduce((sum, t) => sum + t.cumulativeTotal, 0))} KM
@@ -432,8 +437,8 @@ export default function StatisticsView() { {target.targetName} {target.vehicleCount} - {(target.totalMileagePerVehicle * target.vehicleCount).toLocaleString()} - {target.cumulativeTotal.toLocaleString()} + {fmtKm(target.totalMileagePerVehicle * target.vehicleCount)} + {fmtKm(target.cumulativeTotal)}
@@ -449,10 +454,10 @@ export default function StatisticsView() { {target.annualMileagePerVehicle} {target.yearQualifiedCount} {target.halfQualifiedCount} - {target.todayTotal.toLocaleString()} - {target.currentYearTarget.toLocaleString()} - {target.currentYearCompleted.toLocaleString()} - {target.remaining.toLocaleString()} + {fmtKm(target.todayTotal)} + {fmtKm(target.currentYearTarget)} + {fmtKm(target.currentYearCompleted)} + {fmtKm(target.remaining)} {target.daysLeft} {target.dailyTarget} @@ -547,7 +552,7 @@ export default function StatisticsView() {
{tv.todayMileage} KM
-
累计: {tv.totalMileage?.toLocaleString()}
+
累计: {fmtKm(tv.totalMileage || 0)}
))}