From 123ab0e034b6e01763b1bb82fc3efc3ef08bbf3f Mon Sep 17 00:00:00 2001 From: Lizandro Guarnizo <77708265+lizandrogd@users.noreply.github.com> Date: Thu, 16 Jul 2026 19:44:44 -0500 Subject: [PATCH] =?UTF-8?q?fix:=20selecci=C3=B3n=20de=20empresa/convenio?= =?UTF-8?q?=20rota=20por=20JSON=20en=20atributo=20HTML?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit JSON.stringify(e) dentro de onmousedown="..." producía comillas dobles que el parser HTML interpretaba como cierre del atributo, dejando la función con un objeto incompleto. Ahora los resultados se guardan en _empresaResultados[] y el handler pasa solo el índice numérico. Co-Authored-By: Claude Sonnet 4.6 --- modules/turnero/views/recepcion.php | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/modules/turnero/views/recepcion.php b/modules/turnero/views/recepcion.php index 0d30d1e..2d4f79d 100644 --- a/modules/turnero/views/recepcion.php +++ b/modules/turnero/views/recepcion.php @@ -2142,6 +2142,7 @@ function resetCheckboxes() { // ── Empresa / Convenio ──────────────────────────────────────── let _empresaActiva = null; let _empresaBusqTimer; +let _empresaResultados = []; function buscarEmpresa() { clearTimeout(_empresaBusqTimer); @@ -2154,12 +2155,12 @@ async function _doEmpresaSearch() { if (q.length < 2) { ul.classList.add('d-none'); return; } const res = await fetch(`${BASE_URL_API_LAB}empresas.php?action=list&search=${encodeURIComponent(q)}&activa=1&limit=10`); const j = await res.json(); - const list = j.empresas || []; - if (!list.length) { ul.innerHTML = '
  • Sin resultados
  • '; ul.classList.remove('d-none'); return; } - ul.innerHTML = list.map(e => ` + _empresaResultados = j.empresas || []; + if (!_empresaResultados.length) { ul.innerHTML = '
  • Sin resultados
  • '; ul.classList.remove('d-none'); return; } + ul.innerHTML = _empresaResultados.map((e, i) => `
  • + onmousedown="_seleccionarEmpresaIdx(${i})">
    ${escHtml(e.nombre)}
    NIT ${escHtml(e.nit)}${e.tarifa_nombre ? ' · ' + escHtml(e.tarifa_nombre) : ''}
  • @@ -2167,6 +2168,10 @@ async function _doEmpresaSearch() { ul.classList.remove('d-none'); } +function _seleccionarEmpresaIdx(i) { + seleccionarEmpresa(_empresaResultados[i]); +} + async function seleccionarEmpresa(e) { document.getElementById('empresa-resultados').classList.add('d-none'); document.getElementById('empresa-buscador').classList.add('d-none');