feat: multi-archivo órdenes visible en enfermero, domicilios y órdenes médicas

- OrdenMedica::filtrarCampos(): agrega domicilio_id al whitelist
- Domicilio::obtener(): consulta secundaria archivos_ordenes[] con fallback
- Enfermera::agenda(): bulk-query archivos_ordenes[] por domicilio_id
- api/lab/link_ordenes_domicilio.php: API POST vincula orden_ids a domicilio_id
- conversations.php guardar(): trackea allOrdenIds[], llama link API post-save
- lab_domicilios.php: renderOrdenesDetail() multi-archivo en detalle
- enfermero_portal.php: renderOrdenesEnfermero() multi-archivo en cards
- lab_ordenes.php: botón 'Ver domicilio' cuando domicilio_id está vinculado
- migrations/: ALTER TABLE lab_ordenes_medicas ADD domicilio_id + índice
This commit is contained in:
Lizandro Guarnizo
2026-03-24 21:51:29 -05:00
parent aa17dc299b
commit 2abce6d4c2
10 changed files with 262 additions and 51 deletions
+15 -2
View File
@@ -7439,6 +7439,7 @@ const labDomicilio = (() => {
try {
const convIdNum = (_convId && !String(_convId).startsWith('__user:'))
? parseInt(_convId) : null;
const allOrdenIds = [];
for (let _fi = 0; _fi < _localFiles.length; _fi++) {
const orRes = await fetch('api/lab/crear_desde_whatsapp.php', {
method: 'POST',
@@ -7453,10 +7454,12 @@ const labDomicilio = (() => {
}),
});
const orData = await orRes.json();
if (orData.success && orData.orden_id && _fi === 0) {
datos.orden_id = orData.orden_id;
if (orData.success && orData.orden_id) {
allOrdenIds.push(orData.orden_id);
if (_fi === 0) datos.orden_id = orData.orden_id;
}
}
datos._allOrdenIds = allOrdenIds;
} catch (_) { /* no bloquea */ }
}
@@ -7469,6 +7472,16 @@ const labDomicilio = (() => {
const d = await r.json();
if (d.success) {
// Vincular todas las órdenes al domicilio recién creado
const _oids = datos._allOrdenIds;
if (Array.isArray(_oids) && _oids.length > 0 && d.id) {
fetch('api/lab/link_ordenes_domicilio.php', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ domicilio_id: d.id, orden_ids: _oids }),
}).catch(() => {});
}
// Actualizar _pacNombre si el usuario editó el nombre en el input
const _editedNombre = fv('labdom-pac-nombre');
if (_editedNombre) _pacNombre = _editedNombre;