From e02ada8b95e715636f58ccb935ba0830cadad1d5 Mon Sep 17 00:00:00 2001 From: Matthias Hochmeister Date: Wed, 25 Mar 2026 12:55:49 +0100 Subject: [PATCH] rework from modal to page --- frontend/src/pages/BestellungDetail.tsx | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/frontend/src/pages/BestellungDetail.tsx b/frontend/src/pages/BestellungDetail.tsx index c6d802e..eee931b 100644 --- a/frontend/src/pages/BestellungDetail.tsx +++ b/frontend/src/pages/BestellungDetail.tsx @@ -250,12 +250,12 @@ export default function BestellungDetail() { e.target.value = ''; } - // Compute totals - const totalCost = positionen.reduce((sum, p) => sum + (p.einzelpreis ?? 0) * p.menge, 0); + // Compute totals (NUMERIC columns come as strings from PostgreSQL — parse to float) + const totalCost = positionen.reduce((sum, p) => sum + (parseFloat(String(p.einzelpreis)) || 0) * (parseFloat(String(p.menge)) || 0), 0); const totalReceived = positionen.length > 0 - ? positionen.reduce((sum, p) => sum + p.erhalten_menge, 0) + ? positionen.reduce((sum, p) => sum + (parseFloat(String(p.erhalten_menge)) || 0), 0) : 0; - const totalOrdered = positionen.reduce((sum, p) => sum + p.menge, 0); + const totalOrdered = positionen.reduce((sum, p) => sum + (parseFloat(String(p.menge)) || 0), 0); const receivedPercent = totalOrdered > 0 ? Math.round((totalReceived / totalOrdered) * 100) : 0; // ── Loading / Error ── @@ -371,7 +371,12 @@ export default function BestellungDetail() { Lieferfortschritt: {totalReceived} / {totalOrdered} ({receivedPercent}%) - + = 100 ? 'success' : 'primary'} + sx={{ height: 8, borderRadius: 4 }} + /> )}