feat: modalAgendarDomicilio - campos fecha nacimiento y correo con auto-relleno

This commit is contained in:
Lizandro Guarnizo
2026-03-12 19:58:47 -05:00
parent 4bbb31dc30
commit bce9a8c6b5
+37 -3
View File
@@ -6580,6 +6580,17 @@ if (!isset($_SESSION['user_id'])) {
<p class="mb-1 small text-muted"><i class="fas fa-history me-1"></i>Direcciones usadas anteriormente toca para reusar:</p>
<div id="labdom-hist-chips" class="d-flex flex-wrap gap-1"></div>
</div>
<!-- Fecha de nacimiento y correo editables, se pre-llenan si el paciente ya los tiene -->
<div class="mt-2 row g-2" id="labdom-pac-extra">
<div class="col-6">
<label class="form-label small mb-1"><i class="fas fa-birthday-cake me-1 text-muted"></i>Fecha de nacimiento</label>
<input type="date" class="form-control form-control-sm" id="labdom-pac-fnac">
</div>
<div class="col-6">
<label class="form-label small mb-1"><i class="fas fa-envelope me-1 text-muted"></i>Correo electrónico</label>
<input type="email" class="form-control form-control-sm" id="labdom-pac-correo" placeholder="correo@dominio.com">
</div>
</div>
</div>
</div>
@@ -6904,6 +6915,7 @@ const labDomicilio = (() => {
data-tel="${escAtr(p.telefono||'')}"
data-email="${escAtr(p.email||'')}"
data-eps="${escAtr(p.eps||'')}"
data-fnac="${escAtr(p.fecha_nacimiento||'')}"
onclick="labDomicilio._clickPaciente(this)">
<strong class="small">${escLab(p.nombre_completo)}</strong>
<span class="text-muted ms-2 small">${escLab(p.tipo_documento||'')} ${escLab(p.numero_documento||'')}</span>
@@ -6923,11 +6935,12 @@ const labDomicilio = (() => {
btn.dataset.info,
btn.dataset.tel || '',
btn.dataset.email || '',
btn.dataset.eps || ''
btn.dataset.eps || '',
btn.dataset.fnac || ''
);
},
selPaciente(id, nombre, direccion, ciudad, info, tel = '', email = '', eps = '') {
selPaciente(id, nombre, direccion, ciudad, info, tel = '', email = '', eps = '', fechaNac = '') {
_pacienteId = id;
_pacNombre = nombre;
@@ -6959,6 +6972,10 @@ const labDomicilio = (() => {
if (direccion && !fv('labdom-direccion')) $('labdom-direccion').value = direccion;
if (ciudad && !fv('labdom-ciudad')) $('labdom-ciudad').value = ciudad;
// Pre-llenar fecha de nacimiento y correo desde el paciente
if ($('labdom-pac-fnac')) $('labdom-pac-fnac').value = fechaNac || '';
if ($('labdom-pac-correo')) $('labdom-pac-correo').value = email || '';
// Cargar historial de domicilios previos
cargarHistorial(id);
},
@@ -6973,6 +6990,8 @@ const labDomicilio = (() => {
$('labdom-pac-contacto').classList.add('d-none');
$('labdom-hist-cont').classList.add('d-none');
$('labdom-header-pac').textContent = '';
if ($('labdom-pac-fnac')) $('labdom-pac-fnac').value = '';
if ($('labdom-pac-correo')) $('labdom-pac-correo').value = '';
// Mantener dirección/notas para no perder lo escrito
},
@@ -7022,7 +7041,8 @@ const labDomicilio = (() => {
[(d.paciente.tipo_documento||''), (d.paciente.numero_documento||'')].filter(Boolean).join(' '),
d.paciente.telefono || '',
d.paciente.email || '',
d.paciente.eps || ''
d.paciente.eps || '',
d.paciente.fecha_nacimiento || ''
);
return;
}
@@ -7074,6 +7094,20 @@ const labDomicilio = (() => {
const d = await r.json();
if (d.success) {
// Actualizar datos del paciente (fecha nacimiento / correo) si se completaron
const updFnac = fv('labdom-pac-fnac');
const updCorreo = fv('labdom-pac-correo');
if (_pacienteId && (updFnac || updCorreo)) {
const patch = { id: _pacienteId };
if (updFnac) patch.fecha_nacimiento = updFnac;
if (updCorreo) patch.email = updCorreo;
fetch('api/lab/save_paciente.php', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(patch),
}).catch(() => {}); // silencioso — no bloquea el flujo
}
// Mostrar panel de éxito DENTRO del modal (no cierra)
$('labdom-form-panel').style.display = 'none';
$('labdom-footer').style.display = 'none';