This commit is contained in:
Lizandro Guarnizo
2026-04-18 13:13:34 -05:00
parent 1b441461ad
commit 8f0b28fc7c
2 changed files with 22 additions and 5 deletions
+2
View File
@@ -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;
}
}
+20 -5
View File
@@ -1236,8 +1236,14 @@ const formVer = {
<div class="row g-2 mb-2">
<div class="col-6">
<label class="form-label small mb-1">Teléfono</label>
<input type="tel" id="na-np-telefono" class="form-control form-control-sm"
placeholder="3001234567">
<div class="input-group input-group-sm">
<select id="na-np-prefijo" class="form-select form-select-sm" style="max-width:72px">
<option value="57" selected>+57</option>
<option value="58">+58</option>
</select>
<input type="tel" id="na-np-telefono" class="form-control form-control-sm"
placeholder="3001234567">
</div>
</div>
<div class="col-6">
<label class="form-label small mb-1">Fecha nacimiento</label>
@@ -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,
}),