From 8f0b28fc7c5f74f3c351205d9f685ed958d64909 Mon Sep 17 00:00:00 2001 From: Lizandro Guarnizo <77708265+lizandrogd@users.noreply.github.com> Date: Sat, 18 Apr 2026 13:13:34 -0500 Subject: [PATCH] 8 --- classes/lab/Paciente.php | 2 ++ enfermero_portal.php | 25 ++++++++++++++++++++----- 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/classes/lab/Paciente.php b/classes/lab/Paciente.php index a3b54ea..6352843 100644 --- a/classes/lab/Paciente.php +++ b/classes/lab/Paciente.php @@ -259,9 +259,11 @@ class Paciente { if (str_starts_with($tel, '+')) { $tel = ltrim($tel, '+'); } + // Sin prefijo (10 dígitos empezando por 3) → asume Colombia 57 if (strlen($tel) === 10 && str_starts_with($tel, '3')) { $tel = '57' . $tel; } + // Si ya trae prefijo de 2 dígitos (57xx... o 58xx...) lo respetamos return $tel; } } diff --git a/enfermero_portal.php b/enfermero_portal.php index 313be38..a2632b2 100644 --- a/enfermero_portal.php +++ b/enfermero_portal.php @@ -1236,8 +1236,14 @@ const formVer = {
- +
+ + +
@@ -1426,10 +1432,18 @@ const formVer = { * - +57XXXXXXXXXX → quita el + * - Cualquier otro valor → solo dígitos */ -function normalizarTelefono(val) { +function normalizarTelefono(val, prefijo) { let t = (val || '').replace(/[^0-9+]/g, ''); if (t.startsWith('+')) t = t.slice(1); - if (t.length === 10 && t.startsWith('3')) t = '57' + t; + // Si ya trae el prefijo completo (ej: 573001234567) lo dejamos + const pre = prefijo || '57'; + if (!t.startsWith(pre)) { + // quitar cualquier otro prefijo de 2 dígitos que no sea el seleccionado + if (t.length >= 12 && !t.startsWith('3')) { + t = t.slice(2); + } + if (t.length === 10) t = pre + t; + } return t || null; } @@ -1480,6 +1494,7 @@ const agendaNueva = { document.getElementById('na-nuevo-pac-panel').classList.add('d-none'); document.getElementById('na-np-nombre').value = ''; document.getElementById('na-np-telefono').value = ''; + document.getElementById('na-np-prefijo').value = '57'; document.getElementById('na-np-fnac').value = ''; document.getElementById('na-np-email').value = ''; document.getElementById('na-crear-toggle-txt').textContent = 'Crear nuevo paciente'; @@ -1681,7 +1696,7 @@ const agendaNueva = { tipo_documento: document.getElementById('na-np-tipo-doc').value, numero_documento: documento, eps: document.getElementById('na-np-eps').value.trim() || null, - telefono: normalizarTelefono(document.getElementById('na-np-telefono').value), + telefono: normalizarTelefono(document.getElementById('na-np-telefono').value, document.getElementById('na-np-prefijo').value), fecha_nacimiento: document.getElementById('na-np-fnac').value || null, email: document.getElementById('na-np-email').value.trim() || null, }),