This commit is contained in:
Lizandro Guarnizo
2026-05-27 20:40:17 -05:00
parent b8de9ee666
commit 2f72d87c3b
9 changed files with 208 additions and 9 deletions
+14 -1
View File
@@ -682,7 +682,10 @@ async function cargarLista(pag = 1) {
<div class="fw-semibold">${esc(dom.paciente_nombre)}</div>
<small class="text-muted">${esc(dom.barrio||'')}</small>
</td>
<td>${dom.enfermera_nombre ? `<small>${esc(dom.enfermera_nombre)}</small>` : '<span class="text-danger small"><i class="fas fa-exclamation-triangle me-1"></i>Sin asignar</span>'}</td>
<td>
${dom.enfermera_nombre ? `<small>${esc(dom.enfermera_nombre)}</small>` : '<span class="text-danger small"><i class="fas fa-exclamation-triangle me-1"></i>Sin asignar</span>'}
${dom.tiempo_recorrido_min != null ? `<div><span class="badge rounded-pill mt-1" style="background:#e0f2fe;color:#075985;border:1px solid #7dd3fc">Recorrido: ${formatearMinutos(dom.tiempo_recorrido_min)}</span></div>` : ''}
</td>
<td>
<span class="badge bg-${COLOR_DOM[dom.estado]||'secondary'} estado-badge">${esc(dom.estado)}</span>
${(dom.pago_estado === 'pagado')
@@ -782,6 +785,7 @@ async function verDomicilio(id) {
<dt class="col-5 text-muted">Hora llegada</dt><dd class="col-7 text-success fw-semibold">${dom.hora_llegada ? dom.hora_llegada.slice(0,5) : '—'}</dd>
<dt class="col-5 text-muted">Hora salida</dt><dd class="col-7 text-danger fw-semibold">${dom.hora_salida ? dom.hora_salida.slice(0,5) : '—'}</dd>
${dom.hora_llegada && dom.hora_salida ? `<dt class="col-5 text-muted">Duración</dt><dd class="col-7 fw-semibold text-info">${calcDuracion(dom.hora_llegada, dom.hora_salida)}</dd>` : ''}` : ''}
${dom.tiempo_recorrido_min != null ? `<dt class="col-5 text-muted">Tiempo recorrido</dt><dd class="col-7 fw-semibold" style="color:#0369a1">${formatearMinutos(dom.tiempo_recorrido_min)} <span class="text-muted">(desde fin turno anterior)</span></dd>` : ''}
${dom.temperatura_inicio != null ? `<dt class="col-5 text-muted"><i class="fas fa-thermometer-half me-1 text-primary"></i>Temp. inicio</dt><dd class="col-7 fw-semibold text-primary">${dom.temperatura_inicio}°C</dd>` : ''}
${dom.temperatura_salida != null ? `<dt class="col-5 text-muted"><i class="fas fa-thermometer-full me-1 text-warning"></i>Temp. salida</dt><dd class="col-7 fw-semibold text-warning">${dom.temperatura_salida}°C</dd>` : ''}
<dt class="col-5 text-muted">Servicio</dt><dd class="col-7">${esc(dom.tipo_servicio||'—')}</dd>
@@ -1383,6 +1387,15 @@ function calcDuracion(hl, hs) {
return mins >= 60 ? `${Math.floor(mins/60)}h ${mins%60}min` : `${mins} min`;
}
function formatearMinutos(mins) {
const n = Number(mins);
if (!Number.isFinite(n) || n < 0) return '—';
if (n < 60) return `${n} min`;
const h = Math.floor(n / 60);
const m = n % 60;
return m ? `${h}h ${m}min` : `${h}h`;
}
/**
* Renderiza el bloque de órdenes médicas (multi-archivo) en el detalle de domicilio.
*/