WIP: funcion/faltantes-y-sobrantes #52

Draft
atasistro wants to merge 39 commits from funcion/faltantes-y-sobrantes into master
Showing only changes of commit ca4dd862d0 - Show all commits

View file

@ -2,7 +2,7 @@
<div class="is-justify-content-center"> <div class="is-justify-content-center">
<div class="field has-addons is-justify-content-center contador"> <div class="field has-addons is-justify-content-center contador">
<div class="control"> <div class="control">
<button class="button is-small" :disabled="cantidadControl < 1" v-if="!aprobado" @click.capture="decrementar();"> <button class="button is-small" :disabled="!puedeDecrementar" v-if="!aprobado" @click.capture="decrementar();">
<i class="fa fa-solid fa-minus"></i> <i class="fa fa-solid fa-minus"></i>
</button> </button>
</div> </div>
@ -19,7 +19,7 @@
<i class="fa fa-solid fa-plus"></i> <i class="fa fa-solid fa-plus"></i>
</button> </button>
</div> </div>
<button :disabled="!hayCambios || cantidadControl < 0" v-if="!aprobado" class="button is-small is-success ml-1" @click="confirmar()"> <button :disabled="!puedeConfirmar" v-if="!aprobado" class="button is-small is-success ml-1" @click="confirmar()">
<span class="icon"> <span class="icon">
<i class="fas fa-check"></i> <i class="fas fa-check"></i>
</span> </span>
@ -82,8 +82,13 @@ export default {
this.actualizar(); this.actualizar();
}, },
computed: { computed: {
...mapState('login', ["rol"]),
...mapState('pedido', ["aprobado"]), ...mapState('pedido', ["aprobado"]),
...mapGetters('pedido', ["enChismosa", "cantidad", "notas"]), ...mapGetters('pedido', ["enChismosa", "cantidad", "notas"]),
...mapGetters('admin', ["cantidadBarrial"]),
cantidadTotal() {
return this.cantidadBarrial(this.producto_id);
},
cantidadEnChismosa() { cantidadEnChismosa() {
return this.cantidad(this.producto_id); return this.cantidad(this.producto_id);
}, },
@ -99,6 +104,14 @@ export default {
faltaNotas() { faltaNotas() {
return this.requiere_notas && this.cantidadControl > 0 && !this.notasControl; return this.requiere_notas && this.cantidadControl > 0 && !this.notasControl;
}, },
puedeDecrementar() {
const min = this.rol === "admin_barrio" ? -1*this.cantidadTotal : 0;
return this.cantidadControl > min;
},
puedeConfirmar() {
const min = this.rol === "admin_barrio" ? -1*this.cantidadTotal : 0;
return this.hayCambios && this.cantidadControl >= min;
}
}, },
methods: { methods: {
...mapActions('pedido', ["modificarChismosa"]), ...mapActions('pedido', ["modificarChismosa"]),