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,
}),