feat: modalAgendarDomicilio - campos fecha nacimiento y correo con auto-relleno
This commit is contained in:
+37
-3
@@ -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';
|
||||
|
||||
Reference in New Issue
Block a user