112 lines
3.9 KiB
Vue
112 lines
3.9 KiB
Vue
<template>
|
|
<div>
|
|
<table class="table is-fullwidth is-striped is-bordered">
|
|
<thead>
|
|
<tr>
|
|
<th>Núcleo</th>
|
|
<th><abbr title="Total sin tomar en cuenta las devoluciones">Total parcial $</abbr></th>
|
|
<th><abbr title="Devoluciones correspondientes al núcleo">Devoluciones $</abbr></th>
|
|
<th><abbr title="Total a Pagar por el núleo">Total real $</abbr></th>
|
|
<th class="is-1"><abbr title="Aprobacion">Aprobación</abbr></th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<pedidos-admin-fila-pedido v-for="pedido in this.pedidos"
|
|
:pedido="pedido" :key="pedido.id">
|
|
</pedidos-admin-fila-pedido>
|
|
</tbody>
|
|
</table>
|
|
<table class="table is-striped is-bordered">
|
|
<tr>
|
|
<th colspan="2" class="has-background-black has-text-white has-text-centered">TOTALES</th>
|
|
</tr>
|
|
<tr>
|
|
<th>Total a recaudar:</th>
|
|
<td class="has-text-right">$ {{ totalAprobadosMenosDevoluciones() }}</td>
|
|
</tr>
|
|
<tr v-if="totalBonosBarriales > 0">
|
|
<th>Total bonos barriales:</th>
|
|
<td class="has-text-right">$ {{ totalBonosBarriales }}</td>
|
|
</tr>
|
|
<tr v-if="totalDevoluciones() > 0">
|
|
<th>Total devoluciones:</th>
|
|
<td class="has-text-right">- $ {{ totalDevoluciones() }}</td>
|
|
</tr>
|
|
<tr>
|
|
<th>Total a depositar:</th>
|
|
<td class="has-text-right">$ {{ totalAprobados() - totalBonosBarriales }}</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import PedidosAdminFilaPedidoVue from './PedidosAdminFilaPedido.vue';
|
|
export default {
|
|
name: "PedidosAdminTablaPedidos",
|
|
components: {
|
|
PedidosAdminFilaPedidoVue
|
|
},
|
|
props: {
|
|
pedidos: {
|
|
type: Array,
|
|
required: true
|
|
},
|
|
bonosDeTransporte: {
|
|
type: Number,
|
|
required: true
|
|
},
|
|
totalBonosBarriales: {
|
|
type: Number,
|
|
required: true
|
|
},
|
|
},
|
|
methods: {
|
|
totalBonosBarriales() {
|
|
let suma = 0;
|
|
let aprobados = this.pedidos.filter(p => p.aprobado);
|
|
for (let i = 0; i < aprobados.length; i++) {
|
|
let bonoBarrial = aprobados[i].productos.find(p => p.nombre.includes("barrial"))
|
|
if (bonoBarrial) {
|
|
suma += this.$limpiarInt(bonoBarrial.pivot.total)
|
|
}
|
|
}
|
|
return suma;
|
|
},
|
|
totalDevoluciones() {
|
|
let suma = 0
|
|
let aprobados = this.pedidos.filter(p => p.aprobado);
|
|
for (let i = 0; i < aprobados.length; i++) {
|
|
suma = aprobados[i].devoluciones_total
|
|
}
|
|
suma += parseInt(this.bonosDeTransporte)*15
|
|
return suma;
|
|
},
|
|
totalAprobadosMenosDevoluciones() {
|
|
let suma = 0
|
|
let aprobados = this.pedidos.filter(p => p.aprobado);
|
|
for (let i = 0; i < aprobados.length; i++) {
|
|
suma += this.$limpiarFloat(aprobados[i].subtotal_bonos)
|
|
suma += this.$limpiarFloat(aprobados[i].subtotal_productos)
|
|
suma -= aprobados[i].devoluciones_total
|
|
}
|
|
suma += parseInt(this.bonosDeTransporte)*15
|
|
return suma;
|
|
},
|
|
totalAprobados() {
|
|
let suma = 0
|
|
let aprobados = this.pedidos.filter(p => p.aprobado);
|
|
for (let i = 0; i < aprobados.length; i++) {
|
|
suma += this.$limpiarFloat(aprobados[i].subtotal_bonos)
|
|
suma += this.$limpiarFloat(aprobados[i].subtotal_productos)
|
|
}
|
|
suma += parseInt(this.bonosDeTransporte)*15
|
|
return suma;
|
|
}
|
|
},
|
|
}
|
|
</script>
|
|
|
|
<style>
|
|
|
|
</style> |