fix: ruta doble en local_file al mostrar imagen de orden médica
La BD guarda local_file con 'uploads/media/...' incluido. El código le añadía otro 'uploads/media/' dando ruta doble. - lab_ordenes.php: helper _resolveImg() detecta si el path ya empieza con 'uploads/' y no añade el prefijo de nuevo - enfermero_portal.php: nueva función resImg() con misma lógica, usada en _cardHTML() al renderizar la imagen de la orden
This commit is contained in:
+10
-2
@@ -415,9 +415,9 @@ const portal = {
|
|||||||
<!-- Orden médica (imagen) -->
|
<!-- Orden médica (imagen) -->
|
||||||
${item.orden_local_file ? `
|
${item.orden_local_file ? `
|
||||||
<div class="mt-2 mb-2">
|
<div class="mt-2 mb-2">
|
||||||
<a href="uploads/media/${esc(item.orden_local_file)}" target="_blank"
|
<a href="${resImg(item.orden_local_file)}" target="_blank"
|
||||||
title="Ver orden médica">
|
title="Ver orden médica">
|
||||||
<img src="uploads/media/${esc(item.orden_local_file)}"
|
<img src="${resImg(item.orden_local_file)}"
|
||||||
style="max-width:100%;max-height:180px;border-radius:8px;border:1px solid #ddd;cursor:zoom-in"
|
style="max-width:100%;max-height:180px;border-radius:8px;border:1px solid #ddd;cursor:zoom-in"
|
||||||
alt="Orden médica #${item.orden_id}">
|
alt="Orden médica #${item.orden_id}">
|
||||||
</a>
|
</a>
|
||||||
@@ -563,6 +563,14 @@ function esc(s) {
|
|||||||
({ '<':'<','>':'>','&':'&','"':'"',"'":''' }[c]));
|
({ '<':'<','>':'>','&':'&','"':'"',"'":''' }[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', () => {
|
document.addEventListener('DOMContentLoaded', () => {
|
||||||
portal.init();
|
portal.init();
|
||||||
agendaNueva.init();
|
agendaNueva.init();
|
||||||
|
|||||||
+9
-3
@@ -268,9 +268,15 @@ async function verOrden(id) {
|
|||||||
}).join('');
|
}).join('');
|
||||||
|
|
||||||
// Imagen de la orden
|
// Imagen de la orden
|
||||||
const imgSrc = o.local_file
|
// local_file puede venir con la ruta ya incluida (ej. "uploads/media/2026/02/x.jpg")
|
||||||
? `uploads/media/${esc(o.local_file)}`
|
// o solo con el nombre de archivo — normalizamos para evitar ruta duplicada
|
||||||
: (o.conv_local_file ? `uploads/media/${esc(o.conv_local_file)}` : null);
|
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
|
// Botones de acción según estado
|
||||||
const botonesAccion = renderBotones(o);
|
const botonesAccion = renderBotones(o);
|
||||||
|
|||||||
Reference in New Issue
Block a user