rework from modal to page

This commit is contained in:
Matthias Hochmeister
2026-03-25 12:55:49 +01:00
parent feb39d234f
commit e02ada8b95

View File

@@ -250,12 +250,12 @@ export default function BestellungDetail() {
e.target.value = ''; e.target.value = '';
} }
// Compute totals // Compute totals (NUMERIC columns come as strings from PostgreSQL — parse to float)
const totalCost = positionen.reduce((sum, p) => sum + (p.einzelpreis ?? 0) * p.menge, 0); const totalCost = positionen.reduce((sum, p) => sum + (parseFloat(String(p.einzelpreis)) || 0) * (parseFloat(String(p.menge)) || 0), 0);
const totalReceived = positionen.length > 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; : 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; const receivedPercent = totalOrdered > 0 ? Math.round((totalReceived / totalOrdered) * 100) : 0;
// ── Loading / Error ── // ── Loading / Error ──
@@ -371,7 +371,12 @@ export default function BestellungDetail() {
<Typography variant="body2" color="text.secondary" sx={{ mb: 0.5 }}> <Typography variant="body2" color="text.secondary" sx={{ mb: 0.5 }}>
Lieferfortschritt: {totalReceived} / {totalOrdered} ({receivedPercent}%) Lieferfortschritt: {totalReceived} / {totalOrdered} ({receivedPercent}%)
</Typography> </Typography>
<LinearProgress variant="determinate" value={receivedPercent} sx={{ height: 8, borderRadius: 4 }} /> <LinearProgress
variant="determinate"
value={receivedPercent}
color={receivedPercent >= 100 ? 'success' : 'primary'}
sx={{ height: 8, borderRadius: 4 }}
/>
</Box> </Box>
)} )}