From 58a201d308865193f9ddfa7d2f53fda240c2d53c Mon Sep 17 00:00:00 2001 From: Administrator Date: Fri, 9 Oct 2026 13:50:08 -0500 Subject: [PATCH] Actualizar frontend/src/lib/api.js --- frontend/src/lib/api.js | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/frontend/src/lib/api.js b/frontend/src/lib/api.js index 1b06eb0..511d8e7 100644 --- a/frontend/src/lib/api.js +++ b/frontend/src/lib/api.js @@ -156,6 +156,22 @@ export const api = { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ codigos, asesores, estados }), }).then((r) => { if (!r.ok) throw new Error("Error al obtener base"); return r.json(); }), + // EXPORTAR BASE + exportarBaseAsesores: () => _fetch("/api/exportar-base/asesores", {}), + exportarBaseDescargar: async (asesor, etiquetas = []) => { + const qEtq = (etiquetas || []).map((e) => `&etiquetas=${encodeURIComponent(e)}`).join(""); + const r = await fetch(`${BASE_URL}/api/exportar-base?asesor=${encodeURIComponent(asesor)}${qEtq}`); + if (!r.ok) throw new Error("Error al exportar base"); + const blob = await r.blob(); + const cd = r.headers.get("Content-Disposition") || ""; + const m = cd.match(/filename=([^;]+)/); + const nombre = m ? m[1].trim() : "base.xlsx"; + const url = URL.createObjectURL(blob); + const a = document.createElement("a"); + a.href = url; a.download = nombre; + document.body.appendChild(a); a.click(); + document.body.removeChild(a); URL.revokeObjectURL(url); + }, // SUBIR BASE subirBaseEtiquetas: () => _fetch("/api/subir-base/etiquetas", {}), subirBaseAsesores: () => _fetch("/api/subir-base/asesores", {}),