turnero: kiosko — niños placeholder+edad, muestras desc, numpad +5%

- Prioridad A (Niños): placeholder cedula → 'Tarjeta de Identidad del menor (si tiene)'
- Prioridad A: age check via check_paciente.php → toast aviso si paciente ≥ 10 años
- Prioridad F: descripción → 'Muestras de días anteriores' (BD + fallback PHP)
- Numpad: padding .6rem → .63rem .6rem (+5% alto)
- Nuevo: check_paciente.php (endpoint público, solo devuelve fecha_nacimiento)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Lizandro Guarnizo
2026-07-27 22:18:38 -05:00
co-authored by Claude Sonnet 4.6
parent 80b61f88be
commit b1d1c0896f
2 changed files with 46 additions and 2 deletions
+22 -2
View File
@@ -41,7 +41,7 @@ try {
['codigo'=>'C','nombre'=>'Adulto mayor', 'color'=>'#eab308','icono'=>'fas fa-person-cane', 'descripcion'=>'Mayores de 60 años'],
['codigo'=>'D','nombre'=>'Discapacidad', 'color'=>'#8b5cf6','icono'=>'fas fa-wheelchair', 'descripcion'=>'Personas con discapacidad'],
['codigo'=>'E','nombre'=>'Paciente general', 'color'=>'#3b82f6','icono'=>'fas fa-user', 'descripcion'=>'Atención general'],
['codigo'=>'F','nombre'=>'Muestra pendiente','color'=>'#6b7280','icono'=>'fas fa-vial', 'descripcion'=>'Entrega de muestra tomada'],
['codigo'=>'F','nombre'=>'Muestra pendiente','color'=>'#6b7280','icono'=>'fas fa-vial', 'descripcion'=>'Muestras de días anteriores'],
];
}
@@ -392,7 +392,7 @@ unset($p);
margin: .6rem 0 1rem;
}
.np-btn {
padding: .6rem;
padding: .63rem .6rem;
font-size: 1.2rem;
font-weight: 700;
border: 1.5px solid #e2e8f0;
@@ -697,6 +697,9 @@ unset($p);
mostrar('screen-datos');
const inpCedula = document.getElementById('inp-cedula');
inpCedula.placeholder = prioCodigo === 'A'
? 'Tarjeta de Identidad del menor (si tiene)'
: 'Ej: 1234567890';
inpCedula.focus();
inpCedula.value = '';
_scannerLocked = false;
@@ -721,6 +724,23 @@ unset($p);
_enviando = true;
setSpinner(true);
// Verificar edad solo para prioridad Niños
if (prioCodigo === 'A') {
try {
const ar = await fetch(`<?= BASE_URL ?>modules/turnero/api/check_paciente.php?doc=${encodeURIComponent(cedula)}`);
const aj = await ar.json();
if (aj.ok && aj.fecha_nacimiento) {
const dob = new Date(aj.fecha_nacimiento);
const today = new Date();
let age = today.getFullYear() - dob.getFullYear();
if (today.getMonth() < dob.getMonth() ||
(today.getMonth() === dob.getMonth() && today.getDate() < dob.getDate())) age--;
if (age >= 10) mostrarError('Este turno es para menores de 10 años, verifique la prioridad.');
}
} catch {}
}
try {
const res = await fetch(API_URL, {
method: 'POST',