fix: reconcile mileage attribution totals

This commit is contained in:
kkfluous
2026-08-07 17:42:21 +08:00
parent 67a269651e
commit 2de417e109
5 changed files with 93 additions and 29 deletions
+4 -6
View File
@@ -134,7 +134,7 @@ export default function StatisticsView() {
const loadCurrentTargetVehicles = useCallback((targetId: number) => {
if (targetVehicleRequestsRef.current.has(targetId)) return;
targetVehicleRequestsRef.current.add(targetId);
fetchTargetVehicles(targetId, getDefaultDate()).then(vehicles => {
fetchTargetVehicles(targetId).then(vehicles => {
setTargetVehiclesMap(prev => ({ ...prev, [targetId]: vehicles }));
}).catch(() => {}).finally(() => {
targetVehicleRequestsRef.current.delete(targetId);
@@ -266,11 +266,6 @@ export default function StatisticsView() {
// Re-fetch target vehicles when viewAllDate changes
useEffect(() => {
if (viewAllTargetId === null) return;
if (viewAllDate === getDefaultDate()) {
setViewAllHistoricalVehicles(null);
setViewAllLoading(false);
return;
}
setViewAllLoading(true);
fetchTargetVehicles(viewAllTargetId, viewAllDate).then(data => {
setViewAllHistoricalVehicles(data);
@@ -383,6 +378,9 @@ export default function StatisticsView() {
dimension={attributionDimension}
selectedValue={selectedBreakdownValue}
loading={!targetVehiclesMap[selectedTarget.id]}
targetMileagePerVehicle={selectedTarget.annualMileagePerVehicle * (selectedAssessmentYear || 1)}
expectedShortfallMileage={selectedAssessment?.remaining}
assessmentLabel={selectedAssessment?.label}
onDimensionChange={(dimension) => {
setAttributionDimension(dimension);
if (drillContext.level === 'breakdown') closeVehiclePanel();