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:
@@ -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',
|
||||
|
||||
Reference in New Issue
Block a user