Historial: la columna de exámenes muestra el conteo, no la lista

La celda estaba limitada a 140px y llevaba una etiqueta por examen. Con 9,5
exámenes de promedio por turno —y 981 de 1.722 turnos por encima de seis, uno
con 94— cada fila ocupaba cinco renglones o más y la tabla quedaba ilegible.

Ahora la celda dice «9 exámenes» y la lista completa aparece al pasar el
cursor. Los nombres ya estaban en el detalle desplegable, así que no se pierde
información: se deja de repetir en un espacio donde no cabe.

Las exportaciones a Excel y CSV arman su propia lista y no cambian.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Lizandro Guarnizo
2026-08-19 17:30:37 -05:00
co-authored by Claude Opus 5
parent 51b22c4dfc
commit 83b3f900e8
+10 -3
View File
@@ -480,8 +480,15 @@ function renderTabla(turnos) {
const bacterio = esc(t.atendido_lugar_nombre || '—');
// Exámenes: badges con código
const examsHtml = (t.examenes && t.examenes.length)
? t.examenes.map(e => `<span class="badge bg-success-subtle text-success me-1 mb-1" style="font-size:.65rem">${esc(e.codigo)}</span>`).join('')
// Solo el conteo: con 9,5 exámenes de promedio por turno, las etiquetas de
// código llenaban cinco renglones y la tabla quedaba ilegible. Los nombres
// completos ya están en el detalle desplegable, así que no se pierde nada.
const nExam = (t.examenes && t.examenes.length) ? t.examenes.length : 0;
const examsHtml = nExam
? `<span class="badge bg-success-subtle text-success" style="font-size:.68rem"
title="${esc(t.examenes.map(e => e.nombre || e.codigo).join(' · '))}">
${nExam} examen${nExam === 1 ? '' : 'es'}
</span>`
: '<span class="text-muted small">—</span>';
return `<tr data-id="${t.id}">
@@ -504,7 +511,7 @@ function renderTabla(turnos) {
<div class="fw-semibold">${lugar}</div>
<div class="text-muted" style="font-size:.72rem"><i class="fas fa-microscope me-1 opacity-50"></i>${bacterio}</div>
</td>
<td style="max-width:140px">${examsHtml}</td>
<td class="text-nowrap">${examsHtml}</td>
<td><span class="eb ${cls}">${lbl}</span></td>
<td class="text-nowrap">${espMin}</td>
<td class="text-nowrap">${srvMin}</td>