Inline-Nachfüll-Dialog nach Abweichung in der Kontrolle (Karte 07)
CI / backend-tests (push) Successful in 54s
CI / frontend-build (push) Successful in 7m17s

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01L85hmKbvX7Cqkq47KnQhFt
This commit is contained in:
2026-09-04 09:04:20 +02:00
co-authored by Claude Sonnet 5
parent db245c5e43
commit d70558f124
6 changed files with 173 additions and 11 deletions
+22 -7
View File
@@ -1,5 +1,6 @@
import { useNavigate, useParams } from "react-router-dom";
import { NachfuellDialog } from "./kontrolle/NachfuellDialog";
import { PositionCard } from "./kontrolle/PositionCard";
import { useKontrolle } from "./kontrolle/useKontrolle";
@@ -15,12 +16,15 @@ export function KontrollPage() {
wirdAbgeschlossen,
abschlussFehler,
alleUebertragen,
nachfuellDialog,
starteKontrolle,
eingabeAendern,
positionSenden,
fehlerErneutVersuchen,
abschliessen,
abbrechen,
jetztNachfuellen,
nachfuellDialogSchliessen,
} = useKontrolle(objektId);
async function handleAbschliessen() {
@@ -91,13 +95,24 @@ export function KontrollPage() {
)}
<ul className="card-list" style={{ marginBottom: "1.25rem" }}>
{positionen.map((zustand) => (
<PositionCard
key={zustand.position.id}
zustand={zustand}
onEingabeAendern={eingabeAendern}
onSenden={positionSenden}
onErneutVersuchen={fehlerErneutVersuchen}
/>
<li key={zustand.position.id} style={{ listStyle: "none" }}>
<PositionCard
zustand={zustand}
onEingabeAendern={eingabeAendern}
onSenden={positionSenden}
onErneutVersuchen={fehlerErneutVersuchen}
/>
{nachfuellDialog?.materialId === zustand.position.material_id && (
<NachfuellDialog
materialName={zustand.material?.name ?? "Material"}
vorschlagMenge={String(
Number(zustand.position.sollmenge_effektiv) - Number(zustand.eingabe)
)}
onNachfuellen={(menge) => jetztNachfuellen(nachfuellDialog.fehlbestandId, menge)}
onSchliessen={nachfuellDialogSchliessen}
/>
)}
</li>
))}
</ul>