feat: pre-llenar cédula del kiosko al crear paciente desde recepción

El kiosko guarda la cédula en paciente_nombre del turno. Al abrir el
modal de nuevo paciente, si el valor es numérico se pone en el campo
documento (no en nombre). El foco cae en nombre para que el recepcionista
complete los datos restantes. Campo editable normalmente.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Lizandro Guarnizo
2026-07-16 20:30:15 -05:00
co-authored by Claude Sonnet 4.6
parent 35cba08004
commit fb8fb9bc7a
+21 -3
View File
@@ -2572,12 +2572,30 @@ async function abrirModalPaciente(id, nombrePrefill) {
document.getElementById('mpac-titulo').textContent = 'Nuevo Paciente';
document.getElementById('mpac-subtitulo').textContent = 'Completa los datos del paciente';
if (nombrePrefill) {
document.getElementById('mpac-nombre').value = nombrePrefill;
mpacAvatar(nombrePrefill);
// Si es solo dígitos, viene del kiosko como cédula → ir al campo documento
if (/^\d+$/.test(nombrePrefill.trim())) {
document.getElementById('mpac-doc').value = nombrePrefill.trim();
} else {
document.getElementById('mpac-nombre').value = nombrePrefill;
mpacAvatar(nombrePrefill);
}
}
// Pre-llenar cédula del kiosko si el turno activo la tiene y no se pasó ya
const docKiosko = turnoActivo?.paciente_nombre;
if (docKiosko && /^\d+$/.test(docKiosko.trim()) && !document.getElementById('mpac-doc').value) {
document.getElementById('mpac-doc').value = docKiosko.trim();
}
_mpacModal().show();
}
setTimeout(() => document.getElementById('mpac-nombre').focus(), 300);
// Foco: si ya tiene doc pero no nombre, ir al nombre; si no, al doc
setTimeout(() => {
const focusEl = document.getElementById('mpac-doc').value && !document.getElementById('mpac-nombre').value
? document.getElementById('mpac-nombre')
: document.getElementById('mpac-doc').value
? document.getElementById('mpac-nombre')
: document.getElementById('mpac-doc');
focusEl.focus();
}, 300);
}
function mpacRellenar(p) {