From a90fb4d9373c13da5720f9a3a5defe8df72412cc Mon Sep 17 00:00:00 2001 From: sinergia Date: Sat, 2 Nov 2024 11:40:51 -0500 Subject: [PATCH] Fix: Linea de Cero debe ser mayor a cero issue RedEcovida#57 --- .../don-confiao/src/components/Purchase.vue | 44 ++++++++++++------- 1 file changed, 27 insertions(+), 17 deletions(-) diff --git a/tienda_ilusion/don_confiao/frontend/don-confiao/src/components/Purchase.vue b/tienda_ilusion/don_confiao/frontend/don-confiao/src/components/Purchase.vue index 664e0f9..8fe3dfe 100644 --- a/tienda_ilusion/don_confiao/frontend/don-confiao/src/components/Purchase.vue +++ b/tienda_ilusion/don_confiao/frontend/don-confiao/src/components/Purchase.vue @@ -239,24 +239,34 @@ }, async submit() { if (this.$refs.form.validate()) { - try { - const response = await fetch('/don_confiao/api/sales/', { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - }, - body: JSON.stringify(this.purchase), - }); - if (response.ok) { - const data = await response.json(); - console.log('Compra enviada:', data); - this.$router.push("SummaryPurchase"); - } else { - console.error('Error al enviar la compra:', response.statusText); + const hasInvalidQuantity = this.purchase.saleline_set.some(line => line.quantity <= 0); + if (hasInvalidQuantity) { + this.errorMessage = 'La cantidad de cada línea de compra debe ser mayor que cero.'; + + console.log(this.errorMessage); + return; // Detener el submit si hay cantidades inválidas + } + + this.errorMessage = ''; // Limpiar el mensaje de error + + try { + const response = await fetch('/don_confiao/api/sales/', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify(this.purchase), + }); + if (response.ok) { + const data = await response.json(); + console.log('Compra enviada:', data); + this.$router.push("SummaryPurchase"); + } else { + console.error('Error al enviar la compra:', response.statusText); + } + } catch (error) { + console.error('Error de red:', error); } - } catch (error) { - console.error('Error de red:', error); - } } }, navigate(route) {