feat(heures) : codes d'absence, total en gras et légende sur l'export PDF jour

- Colonne Statut affiche le code du type d'absence (ex. AT) au lieu du libellé
- Colonne Total en gras
- Légende sous le tableau (carré coloré + code + libellé), 6 par ligne
- Bouton Exporter masqué en vue Semaine

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-09 16:03:18 +02:00
parent 9dff25d61a
commit 73b34c2ea4
8 changed files with 63 additions and 10 deletions
+24 -1
View File
@@ -16,6 +16,13 @@
td.name { text-align: left; }
tr.site-title td { font-weight: bold; font-size: 11px; text-transform: uppercase; text-align: left; padding: 2px 6px; white-space: nowrap; }
tr.weekend td { background: #c0c0c0; }
td.total { font-weight: bold; }
table.legend { width: auto; table-layout: auto; margin-top: 4mm; font-size: 10px; border: 0; border-collapse: collapse; }
table.legend td { border: 0; padding: 2px 0; vertical-align: middle; overflow: visible; white-space: nowrap; }
table.legend .legend-title { font-weight: bold; padding-right: 8px; }
table.legend .legend-box-cell { padding-left: 12px; }
table.legend .legend-box { display: inline-block; box-sizing: content-box; width: 14px; height: 14px; padding: 3px; line-height: 14px; text-align: center; font-weight: bold; font-size: 9px; }
table.legend .legend-label { padding-left: 4px; }
</style>
</head>
<body>
@@ -57,11 +64,27 @@
<td>{{ row.eveningTo }}</td>
<td>{{ row.dayHours }}</td>
<td>{{ row.nightHours }}</td>
<td>{{ row.total }}</td>
<td class="total">{{ row.total }}</td>
</tr>
{% endfor %}
{% endfor %}
</tbody>
</table>
{% if legend is not empty %}
<table class="legend">
{% for chunk in legend|batch(6) %}
<tr>
<td class="legend-title">{% if loop.first %}Légende :{% endif %}</td>
{% for item in chunk %}
<td class="legend-box-cell">
<span class="legend-box" style="background: {{ item.color ?: '#e8e8e8' }};">{{ item.code }}</span>
</td>
<td class="legend-label">{{ item.label }}</td>
{% endfor %}
</tr>
{% endfor %}
</table>
{% endif %}
</body>
</html>