feat: relacionar imagen de WhatsApp con orden médica al agendar domicilio

Al abrir el modal desde una imagen en el chat:
- guardar() crea primero la OrdenMedica via crear_desde_whatsapp.php
  y pasa el orden_id resultante a save_domicilio.php
- Enfermera::agenda() hace LEFT JOIN a lab_ordenes_medicas para traer
  local_file de la orden asociada (as orden_local_file)
- enfermero_portal._cardHTML() muestra la imagen de la orden médica
  con link para ampliar
This commit is contained in:
Lizandro Guarnizo
2026-03-12 22:14:04 -05:00
parent 12e7b411d7
commit d362598a70
3 changed files with 41 additions and 2 deletions
+25
View File
@@ -7085,6 +7085,31 @@ const labDomicilio = (() => {
notas_admin: fv('labdom-notas') || null,
};
// Si la ventana se abrió desde una imagen (orden médica), crear primero
// la OrdenMedica y luego enlazarla al domicilio via orden_id
if (_localFile) {
try {
const convIdNum = (_convId && !String(_convId).startsWith('__user:'))
? parseInt(_convId) : null;
const orRes = await fetch('api/lab/crear_desde_whatsapp.php', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
paciente_id: _pacienteId,
local_file: _localFile,
media_message_id: _msgId || null,
conversation_id: convIdNum,
examenes_solicitados: datos.examenes_solicitados,
estado: 'pendiente',
}),
});
const orData = await orRes.json();
if (orData.success && orData.orden_id) {
datos.orden_id = orData.orden_id;
}
} catch (_) { /* no bloquea si falla la creación de la orden */ }
}
try {
const r = await fetch('api/lab/save_domicilio.php', {
method: 'POST',