feat(Purchase): warn user when try eliminate the last line
This commit is contained in:
parent
f1b8cbdce1
commit
a5ac06704b
@ -105,6 +105,9 @@
|
|||||||
<v-btn @click="removeLine(index)" color="red">Eliminar</v-btn>
|
<v-btn @click="removeLine(index)" color="red">Eliminar</v-btn>
|
||||||
</v-col>
|
</v-col>
|
||||||
</v-row>
|
</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-container>
|
||||||
<v-btn @click="addLine" color="blue">Agregar</v-btn>
|
<v-btn @click="addLine" color="blue">Agregar</v-btn>
|
||||||
</v-container>
|
</v-container>
|
||||||
@ -150,6 +153,7 @@
|
|||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
valid: false,
|
valid: false,
|
||||||
|
show_alert_lines: false,
|
||||||
client_search: '',
|
client_search: '',
|
||||||
product_search: '',
|
product_search: '',
|
||||||
payment_methods: null,
|
payment_methods: null,
|
||||||
@ -266,12 +270,13 @@
|
|||||||
this.purchase.saleline_set.push({ product: '', unit_price: 0, quantity:0, measuring_unit: ''});
|
this.purchase.saleline_set.push({ product: '', unit_price: 0, quantity:0, measuring_unit: ''});
|
||||||
},
|
},
|
||||||
removeLine(index) {
|
removeLine(index) {
|
||||||
// Solo elimina si hay más de una línea
|
|
||||||
if (this.purchase.saleline_set.length > 1) {
|
if (this.purchase.saleline_set.length > 1) {
|
||||||
this.purchase.saleline_set.splice(index, 1);
|
this.purchase.saleline_set.splice(index, 1);
|
||||||
} else {
|
} else {
|
||||||
// Opcional: puedes mostrar un mensaje o alerta si lo deseas
|
this.show_alert_lines = true;
|
||||||
console.log("No se puede eliminar la única línea.");
|
setTimeout(() => {
|
||||||
|
this.show_alert_lines = false;
|
||||||
|
}, 2000);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
calculateSubtotal(line) {
|
calculateSubtotal(line) {
|
||||||
@ -280,16 +285,6 @@
|
|||||||
async submit() {
|
async submit() {
|
||||||
this.$refs.purchase.validate();
|
this.$refs.purchase.validate();
|
||||||
if (this.valid) {
|
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 {
|
try {
|
||||||
const response = await fetch('/don_confiao/api/sales/', {
|
const response = await fetch('/don_confiao/api/sales/', {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
|
Loading…
Reference in New Issue
Block a user