diff --git a/frontend/pages/entry-exit/entry/[id].vue b/frontend/pages/entry-exit/entry/[id].vue index 499d8f4..052cab4 100644 --- a/frontend/pages/entry-exit/entry/[id].vue +++ b/frontend/pages/entry-exit/entry/[id].vue @@ -116,7 +116,9 @@ Valider l'entrée @@ -144,6 +146,7 @@ const buildings = ref([]) const savedBovines = ref([]) const isAdding = ref(false) +const isValidating = ref(false) const recapPage = ref(1) const recapPerPage = ref(50) @@ -181,6 +184,25 @@ const confirmDeleteBovine = async (bovine: BovineData) => { await loadSavedBovines() } +const validateEntry = async () => { + if (savedBovines.value.length === 0 || isValidating.value) return + + if (savedBovines.value.length < declaredCount.value) { + const confirmed = window.confirm( + `Vous n'avez saisi que ${savedBovines.value.length}/${declaredCount.value} bovins. Confirmer la fermeture de l'entrée ?` + ) + if (!confirmed) return + } + + isValidating.value = true + try { + await api.patch(`receptions/${receptionId.value}`, { entryCompleted: true }) + router.push('/entry-exit') + } finally { + isValidating.value = false + } +} + interface FormState { nationalNumber: string receivedWeight: number | null