Fundamar

Diploma

`; };const generarPDF = async (pivotId) => { try { const url = `${API.inscrito}?id=${encodeURIComponent(pivotId)}`; const res = await fetchJSON(url); const data = res?.data;if (!data) throw new Error("Respuesta sin data");if (String(data.paz_salvo ?? "").toUpperCase() !== "SI") { alert("No está paz y salvo"); return; }const html = buildDiplomaHTML(data); openDiplomaWindowAndPrint(html); } catch (err) { console.error(err); alert("Error generando diploma: " + (err?.message || err)); } };document.addEventListener("DOMContentLoaded", () => { const submitBtn = $(SELECTORS.btn); const tabla = $(SELECTORS.tabla); const tbody = $(SELECTORS.tbody); const input = $(SELECTORS.input);if (!submitBtn || !tabla || !tbody || !input) return;// Cerrar overlay const okBtn = document.getElementById("popupHelpOk"); const retryBtn = document.getElementById("popupHelpRetry");if (okBtn) okBtn.addEventListener("click", hidePopupHelp);// Reintenta impresión (por si ya habilitó popup) if (retryBtn) retryBtn.addEventListener("click", () => { hidePopupHelp(); // No podemos reintentar sin pivotId actual; el usuario vuelve a dar clic al PDF. // Si quieres reintentar automático, se puede guardar el último pivotId. });// Delegación de eventos para PDF tbody.addEventListener("click", (e) => { const btn = e.target.closest("[data-pivot-id]"); if (!btn) return; const pivotId = btn.getAttribute("data-pivot-id"); if (pivotId) generarPDF(pivotId); });submitBtn.addEventListener("click", async (event) => { event.preventDefault();const estudianteId = String(input.value || "").trim(); if (!estudianteId) { alert("Ingresa tu identificación."); input.focus(); return; }setLoading(submitBtn, true);try { const url = `${API.cursos}?estudiante_id=${encodeURIComponent(estudianteId)}`; const res = await fetchJSON(url);tabla.style.display = "block";if (!res?.success || !Array.isArray(res?.cursos) || res.cursos.length === 0) { tbody.innerHTML = `No se encontraron cursos.`; return; }const rows = res.cursos .map((item) => { const nombre = escapeHTML(item?.nombre); const pivotId = escapeHTML(item?.pivot_id); const codigo = escapeHTML(item?.codigo); return `${codigo}${nombre} `; }) .join("");tbody.innerHTML = rows; } catch (err) { console.error(err); alert("Error de conexión: " + (err?.message || err)); } finally { setLoading(submitBtn, false); } }); });// opcional: disponible desde consola window.generarPDF = generarPDF; })();