Alerta de notas sale sólo después de intentar de confirmar

This commit is contained in:
Rodrigo 2024-10-16 22:32:16 -03:00
parent 538cc84e10
commit 3ad9500f23
1 changed files with 11 additions and 6 deletions

View File

@ -25,15 +25,15 @@
</span> </span>
</button> </button>
</div> </div>
<div v-if="producto.requiere_notas" v-bind:class="{'has-icons-right': warningNotas()}" class="control is-full-width has-icons-left"> <div v-if="producto.requiere_notas" v-bind:class="{'has-icons-right': notas_warning_visible}" class="control is-full-width has-icons-left">
<span class="icon is-small is-left"> <span class="icon is-small is-left">
<i class="fas fa-sticky-note"></i> <i class="fas fa-sticky-note"></i>
</span> </span>
<input v-model="notas" v-bind:class="{'is-danger': warningNotas()}" id="notas" class="input" type="text" placeholder="Talle o color" /> <input v-model="notas" v-bind:class="{'is-danger': notas_warning_visible}" id="notas" class="input" type="text" placeholder="Talle o color" />
<span v-if="warningNotas()" class="icon is-small is-right"> <span v-if="notas_warning_visible" class="icon is-small is-right">
<i class="fas fa-exclamation-triangle"></i> <i class="fas fa-exclamation-triangle"></i>
</span> </span>
<article v-if="warningNotas()" class="message is-danger is-small"> <article v-if="notas_warning_visible" class="message is-danger is-small">
<div class="message-body"> <div class="message-body">
No se puede dejar este campo vac&iacute;o No se puede dejar este campo vac&iacute;o
</div> </div>
@ -51,6 +51,7 @@
return { return {
cantidad: this.cantidadEnChismosa(), cantidad: this.cantidadEnChismosa(),
notas: this.notasEnChismosa(), notas: this.notasEnChismosa(),
notas_warning_visible: false,
} }
}, },
mounted() { mounted() {
@ -73,6 +74,10 @@
this.cantidad += 1; this.cantidad += 1;
}, },
confirmar() { confirmar() {
if (this.warningNotas()) {
this.notas_warning_visible = true;
return;
}
console.log("Emit sync " + this.cantidad + " " + this.notas); console.log("Emit sync " + this.cantidad + " " + this.notas);
Event.$emit('sync-subpedido', this.cantidad, this.producto.id, this.notas); Event.$emit('sync-subpedido', this.cantidad, this.producto.id, this.notas);
}, },
@ -81,6 +86,7 @@
this.confirmar(); this.confirmar();
}, },
sincronizar(cantidad, notas) { sincronizar(cantidad, notas) {
this.notas_warning_visible = false;
this.notas = notas; this.notas = notas;
this.cantidad = cantidad; this.cantidad = cantidad;
if (this.producto.pivot !== undefined) { if (this.producto.pivot !== undefined) {
@ -100,8 +106,7 @@
return this.producto.requiere_notas && this.cantidad > 0 && !this.notas; return this.producto.requiere_notas && this.cantidad > 0 && !this.notas;
}, },
disableConfirm() { disableConfirm() {
if (!this.hayCambios() || this.warningNotas()) return true; return !this.hayCambios();
return false;
}, },
} }
} }