<template> <div class="block ml-3 mr-3 is-max-widescreen is-max-desktop"> <comunes-tabs-secciones :tabs="tabs" :tabInicial="tabActiva"></comunes-tabs-secciones> <div class="block" id="pedidos-seccion" :class="seccionActiva === 'pedidos-seccion' ? 'is-active' : 'is-hidden'"> <div class="block pb-6" id="pedidos-tabla-y-dropdown" v-if="hayPedidos"> <admin-dropdown-descargar :gdc_id="gdc.id"> </admin-dropdown-descargar> <admin-tabla-pedidos :gdc="this.gdc" ></admin-tabla-pedidos> </div> <p class="has-text-centered" v-else> TodavĂa no hay ningĂșn pedido para administrar. </p> </div> <div class="block pb-6" id="caracteristicas-seccion" :class="seccionActiva === 'caracteristicas-seccion' ? 'is-active' : 'is-hidden'"> <admin-caracteristicas-opcionales> </admin-caracteristicas-opcionales> </div> </div> </template> <script> import CaracteristicasOpcionales from "./CaracteristicasOpcionales.vue"; import TabsSecciones from "../comunes/TabsSecciones.vue"; import DropdownDescargar from "./DropdownDescargar.vue"; import TablaPedidos from "./TablaPedidos.vue"; import TablaBonos from "./TablaBonos.vue"; import axios from "axios"; export default { components: { CaracteristicasOpcionales, TabsSecciones, DropdownDescargar, TablaPedidos, TablaBonos, }, data() { return { gdc: undefined, tabs: [{ id: "pedidos", nombre: "Pedidos" }, { id: "caracteristicas", nombre: "Caracteristicas opcionales" }], tabActiva: "pedidos", seccionActiva: "pedidos-seccion", } }, computed: { hayPedidos: function() { return this.gdc && this.gdc.pedidos.length !== 0 }, hayAprobados: function() { return this.gdc && this.gdc.pedidos.filter(p => p.aprobado).length > 0 } }, methods: { setSeccionActiva(tabId) { this.tabActiva = tabId; this.seccionActiva = tabId + "-seccion"; }, actualizar() { axios.get('/api/grupos-de-compra/' + this.$root.gdc) .then(response => { this.gdc = response.data.data; console.log(this.gdc); }) } }, async mounted() { Event.$on('sync-aprobacion', (_) => { this.actualizar(); }); await new Promise(r => setTimeout(r, 1000)); this.actualizar(); }, } </script> <style> </style>