88 lines
2.6 KiB
Vue
88 lines
2.6 KiB
Vue
<template>
|
|
<div class="container is-max-widescreen is-max-desktop animate__animated" :class="animation" v-show="!init">
|
|
<pedidos-admin-dropdown-descargar :gdc="gdc"></pedidos-admin-dropdown-descargar>
|
|
<table v-show="this.subpedidos.length !== 0" class="table is-fullwidth is-striped is-bordered">
|
|
<thead>
|
|
<tr>
|
|
<th>Núcleo</th>
|
|
<th><abbr title="Total a Pagar">Total $</abbr></th>
|
|
<th class="is-1"><abbr title="Aprobacion">Aprobación</abbr></th>
|
|
</tr>
|
|
</thead>
|
|
<tfoot>
|
|
<tr>
|
|
<th></th>
|
|
<th>Total de los aprobados</th>
|
|
<th>$ {{ totalAprobados() }}</th>
|
|
</tr>
|
|
</tfoot>
|
|
<tbody>
|
|
<subpedido-row v-for="subpedido in this.subpedidos"
|
|
:subpedido="subpedido" :key="subpedido.id">
|
|
</subpedido-row>
|
|
</tbody>
|
|
</table>
|
|
<p class="has-text-centered" v-show="this.subpedidos.length === 0">
|
|
Todavía no hay ningún pedido para administrar.
|
|
</p>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import SubpedidoRow from "./SubpedidoRow";
|
|
import PedidosAdminDropdownDescargar from "./PedidosAdminDropdownDescargar.vue";
|
|
export default {
|
|
name: "PedidosAdminBody",
|
|
components: {
|
|
SubpedidoRow,
|
|
PedidosAdminDropdownDescargar
|
|
},
|
|
data() {
|
|
return {
|
|
gdc: 0,
|
|
subpedidos: [],
|
|
dropdownActivo: false
|
|
}
|
|
},
|
|
computed: {
|
|
hayAprobados: function() {
|
|
return this.subpedidos.filter(sp => sp.aprobado).length > 0
|
|
}
|
|
},
|
|
beforeCreate() {
|
|
axios.get("/admin/obtener_sesion").then(response => {
|
|
this.gdc = response.data.gdc;
|
|
this.fetchSubpedidos();
|
|
});
|
|
},
|
|
methods: {
|
|
fetchSubpedidos() {
|
|
axios.get("/api/subpedidos/resources", {
|
|
params: {
|
|
grupo_de_compra: this.gdc
|
|
}
|
|
}).then(response => {
|
|
this.subpedidos = response.data.data
|
|
});
|
|
},
|
|
totalAprobados() {
|
|
let suma = 0;
|
|
let aprobados = this.subpedidos.filter(sp => sp.aprobado);
|
|
for (let i = 0; i < aprobados.length; i++) {
|
|
suma += parseFloat(aprobados[i].total.replace(/,/g, ''));
|
|
}
|
|
return suma;
|
|
}
|
|
},
|
|
mounted() {
|
|
Event.$on('sync-aprobacion', (_) => {
|
|
this.fetchSubpedidos();
|
|
})
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style>
|
|
|
|
</style>
|