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 @@ <v-col> <v-btn @click="removeLine(index)" color="red">Eliminar</v-btn> </v-col> - </v-row> - </v-container> + </v-row> + <v-alert type="warning" :duration="2000" closable v-model="show_alert_lines"> + No se puede eliminar la única línea. + </v-alert> + </v-container> <v-btn @click="addLine" color="blue">Agregar</v-btn> </v-container> <v-divider></v-divider> @@ -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',