From f1f5b84af94aff6ad99321b2152f0c8e8fe93209 Mon Sep 17 00:00:00 2001 From: josedario87 Date: Wed, 29 Oct 2025 15:22:35 -0600 Subject: [PATCH] Refactor: controlar peticiones a Metabase en panorama facturador MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cambios realizados: - Mover botón "Actualizar" al footer del card de Filtros - Implementar guard para prevenir peticiones simultáneas - Eliminar watcher automático de fechas - Deshabilitar recarga automática al cambiar "incluir anulados" - Usuario debe hacer clic explícito en "Actualizar" para cargar datos Esto garantiza que solo una petición a Metabase esté activa a la vez y da control total al usuario sobre cuándo recargar los datos. --- nuxt4-app/app/pages/panorama.vue | 45 ++++++++++++++++---------------- 1 file changed, 23 insertions(+), 22 deletions(-) diff --git a/nuxt4-app/app/pages/panorama.vue b/nuxt4-app/app/pages/panorama.vue index 27370a0..8004fb5 100644 --- a/nuxt4-app/app/pages/panorama.vue +++ b/nuxt4-app/app/pages/panorama.vue @@ -13,7 +13,7 @@

Error al cargar datos: {{ error }}

- + Reintentar
@@ -58,23 +58,14 @@ /> - - - - - + + + + +
@@ -172,6 +173,12 @@ const formatCurrency = (value: number) => { // Methods async function loadData() { + // Prevenir múltiples peticiones simultáneas + if (loading.value) { + console.warn('Ya hay una petición en proceso, ignorando nueva solicitud') + return + } + loading.value = true error.value = null @@ -218,8 +225,7 @@ async function onToggleAnulados(newValue: boolean | 'indeterminate') { } } - // Recargar datos con el nuevo valor - await loadData() + // NO recargar automáticamente - el usuario debe hacer clic en "Actualizar" } function onUpdatePreset(value: PresetValue) { @@ -234,11 +240,6 @@ function onUpdateFechaHasta(value: string | null) { fechaHasta.value = value } -// Watchers - reload data when filters change -watch([fechaDesde, fechaHasta], () => { - loadData() -}) - // Load data on mount onMounted(() => { // Default preset: cosecha 25-26