rework from modal to page
This commit is contained in:
@@ -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() {
|
||||
<Typography variant="body2" color="text.secondary" sx={{ mb: 0.5 }}>
|
||||
Lieferfortschritt: {totalReceived} / {totalOrdered} ({receivedPercent}%)
|
||||
</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>
|
||||
)}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user