Mostrar notas en pedido

This commit is contained in:
Rodrigo 2024-09-17 21:28:08 -03:00
parent 7eeeae6a1e
commit 82f5862063
3 changed files with 20 additions and 8 deletions

9
resources/js/app.js vendored
View File

@ -72,6 +72,10 @@ const app = new Vue({
cantidad(producto) {
let pedido = this.productos.some(p => p.id == producto.id)
return pedido ? this.productos.find(p => p.id == producto.id).pivot.cantidad : 0
},
notas(producto) {
let pedido = this.productos.some(p => p.id == producto.id);
return pedido ? this.productos.find(p => p.id == producto.id).pivot.notas : "";
},
settearDevoluciones() {
axios.get(`/api/grupos-de-compra/${this.gdc}/devoluciones`)
@ -100,14 +104,15 @@ const app = new Vue({
}
})
})
Event.$on('sync-subpedido', (cantidad, id) => {
Event.$on('sync-subpedido', (cantidad, id, notas) => {
if (this.pedido.aprobado) {
this.$toast('No se puede modificar un pedido ya aprobado', 2000);
return;
}
axios.post("/api/subpedidos/" + this.pedido.id + "/sync", {
cantidad: cantidad,
producto_id: id
producto_id: id,
notas: notas,
}).then((response) => {
this.pedido = response.data.data
this.$toast('Pedido actualizado exitosamente')

View File

@ -8,12 +8,13 @@ export default {
return {
cantidad: this.producto.cantidad,
enChismosa: this.producto.cantidad,
notas: this.producto.notas,
}
},
mounted() {
Event.$on('sync-subpedido', (cantidad,productoId) => {
Event.$on('sync-subpedido', (cantidad, productoId, notas) => {
if (this.producto.id === productoId)
this.sincronizar(cantidad);
this.sincronizar(cantidad, notas);
});
},
methods: {
@ -24,19 +25,21 @@ export default {
this.cantidad += 1;
},
confirmar() {
Event.$emit('sync-subpedido', this.cantidad, this.producto.id);
Event.$emit('sync-subpedido', this.cantidad, this.producto.id, this.notas);
},
borrar() {
this.cantidad = 0;
this.confirmar();
},
sincronizar(cantidad) {
sincronizar(cantidad, notas) {
this.cantidad = cantidad;
this.producto.cantidad = cantidad;
this.enChismosa = cantidad;
this.notas = notas;
this.producto.notas = notas;
},
hayCambios() {
return this.cantidad != this.enChismosa;
return this.cantidad != this.enChismosa || this.notas != this.producto.notas;
},
puedeBorrar() {
return this.enChismosa > 0;
@ -93,6 +96,7 @@ export default {
</span>
</button>
</div>
Notas: <input v-model="notas" />
</div>
<div class="column">
<p class="subtitle is-7 is-hidden-mobile" v-if="enChismosa !== 0">{{ enChismosa }} en chismosa</p>

View File

@ -37,7 +37,10 @@ export default {
params: this.params(filtro,valor)
}).then(response => {
this.productos = response.data.data;
this.productos.forEach(p => p.cantidad = this.$root.cantidad(p))
this.productos.forEach(p => {
p.cantidad = this.$root.cantidad(p);
p.notas = this.$root.notas(p);
});
});
this.visible = true;
Event.$emit("migas-agregar",this.miga);