Cambios para usar nuevo resource de gdc + arreglo plancha con timeout para sincornizar datos

This commit is contained in:
Alejandro Tasistro 2025-03-18 19:58:19 -03:00
parent 2587c759fb
commit fd2c1b2970

View file

@ -3,27 +3,18 @@
<comunes-tabs-secciones :tabs="tabs" :tabInicial="tabActiva"></comunes-tabs-secciones> <comunes-tabs-secciones :tabs="tabs" :tabInicial="tabActiva"></comunes-tabs-secciones>
<div class="block" id="pedidos-seccion" <div class="block" id="pedidos-seccion"
:class="seccionActiva === 'pedidos-seccion' ? 'is-active' : 'is-hidden'"> :class="seccionActiva === 'pedidos-seccion' ? 'is-active' : 'is-hidden'">
<div class="block pb-6" id="pedidos-tabla-y-dropdown" v-show="hayPedidos"> <div class="block pb-6" id="pedidos-tabla-y-dropdown" v-if="hayPedidos">
<admin-dropdown-descargar <admin-dropdown-descargar
:gdc="gdc"> :gdc_id="gdc.id">
</admin-dropdown-descargar> </admin-dropdown-descargar>
<admin-tabla-pedidos <admin-tabla-pedidos
:pedidos="pedidos" :bonosDeTransporte="bonosDeTransporte" :totalBonosBarriales="totalBonosBarriales"> :gdc="this.gdc"
</admin-tabla-pedidos> ></admin-tabla-pedidos>
</div> </div>
<p class="has-text-centered" v-show="!hayPedidos"> <p class="has-text-centered" v-else>
Todavía no hay ningún pedido para administrar. Todavía no hay ningún pedido para administrar.
</p> </p>
</div> </div>
<div class="block pb-6" id="bonos-seccion"
:class="seccionActiva === 'bonos-seccion' ? 'is-active' : 'is-hidden'">
<admin-tabla-bonos v-show="hayAprobados"
:pedidos="pedidos">
</admin-tabla-bonos>
<p class="has-text-centered" v-show="!hayAprobados">
Todavía no hay pedidos aprobados.
</p>
</div>
<div class="block pb-6" id="caracteristicas-seccion" <div class="block pb-6" id="caracteristicas-seccion"
:class="seccionActiva === 'caracteristicas-seccion' ? 'is-active' : 'is-hidden'"> :class="seccionActiva === 'caracteristicas-seccion' ? 'is-active' : 'is-hidden'">
<admin-caracteristicas-opcionales> <admin-caracteristicas-opcionales>
@ -38,6 +29,7 @@ import TabsSecciones from "../comunes/TabsSecciones.vue";
import DropdownDescargar from "./DropdownDescargar.vue"; import DropdownDescargar from "./DropdownDescargar.vue";
import TablaPedidos from "./TablaPedidos.vue"; import TablaPedidos from "./TablaPedidos.vue";
import TablaBonos from "./TablaBonos.vue"; import TablaBonos from "./TablaBonos.vue";
import axios from "axios";
export default { export default {
components: { components: {
CaracteristicasOpcionales, CaracteristicasOpcionales,
@ -48,12 +40,8 @@ export default {
}, },
data() { data() {
return { return {
gdc: 0, gdc: undefined,
pedidos: [],
bonosDeTransporte: 0,
totalBonosBarriales: 0,
tabs: [{ id: "pedidos", nombre: "Pedidos" }, tabs: [{ id: "pedidos", nombre: "Pedidos" },
{ id: "bonos", nombre: "Bonos" },
{ id: "caracteristicas", nombre: "Caracteristicas opcionales" }], { id: "caracteristicas", nombre: "Caracteristicas opcionales" }],
tabActiva: "pedidos", tabActiva: "pedidos",
seccionActiva: "pedidos-seccion", seccionActiva: "pedidos-seccion",
@ -61,46 +49,32 @@ export default {
}, },
computed: { computed: {
hayPedidos: function() { hayPedidos: function() {
return this.pedidos.length !== 0 return this.gdc && this.gdc.pedidos.length !== 0
}, },
hayAprobados: function() { hayAprobados: function() {
return this.pedidos.filter(p => p.aprobado).length > 0 return this.gdc && this.gdc.pedidos.filter(p => p.aprobado).length > 0
} }
}, },
methods: { methods: {
fetchPedidos() {
axios.get("/api/grupos-de-compra/"+this.gdc+"/bonos-de-transporte", {})
.then(response => this.bonosDeTransporte = response.data.bdt);
axios.get("/api/subpedidos/resources", {
params: {
grupo_de_compra: this.gdc
}})
.then(response => {
this.pedidos = response.data.data
}).get;
axios.get("/api/grupos-de-compra/"+this.gdc+"/bonos-barriales", {})
.then(response => this.totalBonosBarriales = response.data.bonos_barriales)
},
setSeccionActiva(tabId) { setSeccionActiva(tabId) {
this.tabActiva = tabId; this.tabActiva = tabId;
this.seccionActiva = tabId + "-seccion"; this.seccionActiva = tabId + "-seccion";
}, },
getBonosBarriales() { actualizar() {
axios.get("/api/grupos-de-compra/"+this.gdc+"/bonos-barriales", {}) axios.get('/api/grupos-de-compra/' + this.$root.gdc)
.then(response => this.totalBonosBarriales = response.data.bonos_barriales) .then(response => {
this.gdc = response.data.data;
console.log(this.gdc);
})
} }
}, },
mounted() { async mounted() {
Event.$on('sync-aprobacion', (_) => { Event.$on('sync-aprobacion', (_) => {
this.fetchPedidos(); this.actualizar();
}); });
await new Promise(r => setTimeout(r, 1000));
axios.get("/admin/obtener_sesion").then(response => { this.actualizar();
this.gdc = response.data.gdc; },
this.fetchPedidos();
this.bonosBarriales = this.getBonosBarriales()
});
}
} }
</script> </script>