diff --git a/enfermero_portal.php b/enfermero_portal.php index ab294b2..a2318ef 100644 --- a/enfermero_portal.php +++ b/enfermero_portal.php @@ -415,9 +415,9 @@ const portal = { ${item.orden_local_file ? `
- - Orden médica #${item.orden_id} @@ -563,6 +563,14 @@ function esc(s) { ({ '<':'<','>':'>','&':'&','"':'"',"'":''' }[c])); } +// Resolver ruta de imagen: evita duplicar "uploads/media/" +function resImg(f) { + if (!f) return ''; + if (/^https?:\/\//i.test(f)) return esc(f); + if (String(f).startsWith('uploads/')) return esc(f); + return `uploads/media/${esc(f)}`; +} + document.addEventListener('DOMContentLoaded', () => { portal.init(); agendaNueva.init(); diff --git a/lab_ordenes.php b/lab_ordenes.php index fc3361d..72e9ddb 100644 --- a/lab_ordenes.php +++ b/lab_ordenes.php @@ -268,9 +268,15 @@ async function verOrden(id) { }).join(''); // Imagen de la orden - const imgSrc = o.local_file - ? `uploads/media/${esc(o.local_file)}` - : (o.conv_local_file ? `uploads/media/${esc(o.conv_local_file)}` : null); + // local_file puede venir con la ruta ya incluida (ej. "uploads/media/2026/02/x.jpg") + // o solo con el nombre de archivo — normalizamos para evitar ruta duplicada + function _resolveImg(f) { + if (!f) return null; + if (/^https?:\/\//i.test(f)) return f; + if (f.startsWith('uploads/')) return f; + return `uploads/media/${f}`; + } + const imgSrc = _resolveImg(o.local_file) || _resolveImg(o.conv_local_file) || null; // Botones de acción según estado const botonesAccion = renderBotones(o);