pedi2/resources/js/components/PedidosAdminBody.vue

74 lines
2.1 KiB
Vue
Raw Normal View History

<template>
<div class="container is-max-widescreen is-max-desktop animate__animated" :class="animation" v-show="!init">
<pedidos-admin-dropdown-descargar v-show="hayPedidos"
:gdc="gdc">
</pedidos-admin-dropdown-descargar>
<pedidos-admin-tabla-pedidos v-show="hayPedidos"
:pedidos="pedidos">
</pedidos-admin-tabla-pedidos>
<p class="has-text-centered" v-show="!hayPedidos">
Todavía no hay ningún pedido para administrar.
</p>
</div>
</template>
<script>
import PedidosAdminDropdownDescargar from "./PedidosAdminDropdownDescargar.vue";
import PedidosAdminTablaPedidos from "./PedidosAdminTablaPedidos.vue";
export default {
name: "PedidosAdminBody",
components: {
PedidosAdminDropdownDescargar,
PedidosAdminTablaPedidos
},
data() {
return {
2022-10-21 19:17:52 -03:00
gdc: 0,
pedidos: []
}
},
computed: {
hayPedidos: function() {
return this.pedidos.length !== 0
},
hayAprobados: function() {
return this.pedidos.filter(p => p.aprobado).length > 0
}
},
beforeCreate() {
axios.get("/admin/obtener_sesion").then(response => {
this.gdc = response.data.gdc;
this.fetchPedidos();
});
},
methods: {
fetchPedidos() {
axios.get("/api/subpedidos/resources", {
params: {
grupo_de_compra: this.gdc
}})
.then(response => {
this.pedidos = response.data.data
});
2022-06-08 23:33:33 -03:00
},
totalAprobados() {
let suma = 0;
let aprobados = this.pedidos.filter(p => p.aprobado);
2022-06-08 23:33:33 -03:00
for (let i = 0; i < aprobados.length; i++) {
2022-06-09 20:09:18 -03:00
suma += parseFloat(aprobados[i].total.replace(/,/g, ''));
2022-06-08 23:33:33 -03:00
}
return suma;
}
},
mounted() {
Event.$on('sync-aprobacion', (_) => {
this.fetchPedidos();
})
}
}
</script>
2022-10-21 19:17:52 -03:00
<style>
</style>