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>
|
<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 id="labdom-hist-chips" class="d-flex flex-wrap gap-1"></div>
|
||||||
</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>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -6904,6 +6915,7 @@ const labDomicilio = (() => {
|
|||||||
data-tel="${escAtr(p.telefono||'')}"
|
data-tel="${escAtr(p.telefono||'')}"
|
||||||
data-email="${escAtr(p.email||'')}"
|
data-email="${escAtr(p.email||'')}"
|
||||||
data-eps="${escAtr(p.eps||'')}"
|
data-eps="${escAtr(p.eps||'')}"
|
||||||
|
data-fnac="${escAtr(p.fecha_nacimiento||'')}"
|
||||||
onclick="labDomicilio._clickPaciente(this)">
|
onclick="labDomicilio._clickPaciente(this)">
|
||||||
<strong class="small">${escLab(p.nombre_completo)}</strong>
|
<strong class="small">${escLab(p.nombre_completo)}</strong>
|
||||||
<span class="text-muted ms-2 small">${escLab(p.tipo_documento||'')} ${escLab(p.numero_documento||'')}</span>
|
<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.info,
|
||||||
btn.dataset.tel || '',
|
btn.dataset.tel || '',
|
||||||
btn.dataset.email || '',
|
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;
|
_pacienteId = id;
|
||||||
_pacNombre = nombre;
|
_pacNombre = nombre;
|
||||||
|
|
||||||
@@ -6959,6 +6972,10 @@ const labDomicilio = (() => {
|
|||||||
if (direccion && !fv('labdom-direccion')) $('labdom-direccion').value = direccion;
|
if (direccion && !fv('labdom-direccion')) $('labdom-direccion').value = direccion;
|
||||||
if (ciudad && !fv('labdom-ciudad')) $('labdom-ciudad').value = ciudad;
|
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
|
// Cargar historial de domicilios previos
|
||||||
cargarHistorial(id);
|
cargarHistorial(id);
|
||||||
},
|
},
|
||||||
@@ -6973,6 +6990,8 @@ const labDomicilio = (() => {
|
|||||||
$('labdom-pac-contacto').classList.add('d-none');
|
$('labdom-pac-contacto').classList.add('d-none');
|
||||||
$('labdom-hist-cont').classList.add('d-none');
|
$('labdom-hist-cont').classList.add('d-none');
|
||||||
$('labdom-header-pac').textContent = '';
|
$('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
|
// 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.tipo_documento||''), (d.paciente.numero_documento||'')].filter(Boolean).join(' '),
|
||||||
d.paciente.telefono || '',
|
d.paciente.telefono || '',
|
||||||
d.paciente.email || '',
|
d.paciente.email || '',
|
||||||
d.paciente.eps || ''
|
d.paciente.eps || '',
|
||||||
|
d.paciente.fecha_nacimiento || ''
|
||||||
);
|
);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -7074,6 +7094,20 @@ const labDomicilio = (() => {
|
|||||||
const d = await r.json();
|
const d = await r.json();
|
||||||
|
|
||||||
if (d.success) {
|
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)
|
// Mostrar panel de éxito DENTRO del modal (no cierra)
|
||||||
$('labdom-form-panel').style.display = 'none';
|
$('labdom-form-panel').style.display = 'none';
|
||||||
$('labdom-footer').style.display = 'none';
|
$('labdom-footer').style.display = 'none';
|
||||||
|
|||||||
Reference in New Issue
Block a user