From a5ac06704b79340efd3c0f3c903c5f083986e512 Mon Sep 17 00:00:00 2001 From: Mono Mono Date: Mon, 11 Nov 2024 21:42:13 -0500 Subject: [PATCH] feat(Purchase): warn user when try eliminate the last line --- .../don-confiao/src/components/Purchase.vue | 25 ++++++++----------- 1 file changed, 10 insertions(+), 15 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 238f9d5..e7f977c 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 @@ -104,8 +104,11 @@ Eliminar - - + + + No se puede eliminar la única línea. + + Agregar @@ -150,6 +153,7 @@ data() { return { valid: false, + show_alert_lines: false, client_search: '', product_search: '', payment_methods: null, @@ -266,12 +270,13 @@ this.purchase.saleline_set.push({ product: '', unit_price: 0, quantity:0, measuring_unit: ''}); }, removeLine(index) { - // Solo elimina si hay más de una línea if (this.purchase.saleline_set.length > 1) { this.purchase.saleline_set.splice(index, 1); } else { - // Opcional: puedes mostrar un mensaje o alerta si lo deseas - console.log("No se puede eliminar la única línea."); + this.show_alert_lines = true; + setTimeout(() => { + this.show_alert_lines = false; + }, 2000); } }, calculateSubtotal(line) { @@ -280,16 +285,6 @@ async submit() { this.$refs.purchase.validate(); if (this.valid) { - 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',