diff --git a/frontend/src/tools/bestellungen.jsx b/frontend/src/tools/bestellungen.jsx index 951eb3d..8d4edaf 100644 --- a/frontend/src/tools/bestellungen.jsx +++ b/frontend/src/tools/bestellungen.jsx @@ -109,54 +109,33 @@ function BestellungDetail({ id, toast, onBack }) { if (loading) return
Lädt…
; + // Status aus Stück-Zählern ableiten + const itemDisplayStatus = (item) => { + const f = item.qty_fertig||0, a = item.qty_in_arbeit||0; + if (f >= item.stueckzahl && item.stueckzahl > 0) return 'fertig'; + if (f > 0 || a > 0) return 'in_arbeit'; + return 'warteliste'; + }; + + const toggleBezahlt = () => + api(`/tools/bestellungen/${id}`,{method:'PUT',body:{bezahlt:!order.bezahlt}}) + .then(u=>{setOrder(u);toast(u.bezahlt?'Als bezahlt markiert':'Bezahlung aufgehoben');}); + return (
- {/* Header */} -
+ + {/* Header – nur Zurück, Titel, Status, Edit */} +
-

+

{id ? (editMode?'Bearbeiten':order?.name) : 'Neue Bestellung'}

- {order && !editMode && } - {order && !editMode && ( -
- - {order.bezahlt && ( -
- 🔒 Bezahlte Bestellungen können nicht bearbeitet werden. -
- )} -
- )} - {order && !editMode && ( - + {order && !editMode && !order.bezahlt && ( + )} {order && !editMode && !order.bezahlt && (
+ {/* Bezahlt-Zeile – immer eigene Card unter dem Header */} + {order && !editMode && ( +
+ + {order.bezahlt && ( +
+ 🔒 Bezahlte Bestellungen können nicht mehr bearbeitet werden. +
+ )} +
+ )} + {/* Formular */} {(editMode || !id) && !order?.bezahlt && (
@@ -238,7 +240,7 @@ function BestellungDetail({ id, toast, onBack }) {
{item.calc_name}
- cycleItemStatus(item)} small/> + cycleItemStatus(item)} small/> {!order.bezahlt && (
{/* Status pro Stück */} -
+
STATUS PRO STÜCK
{[