Trois corrections sur les préconisations : - Une demi-journée en cours (entrée pointée sans sortie, aujourd'hui) était comptée deux fois — temps écoulé dans le travaillé ET nominal complet comme capacité restante — ce qui faisait disparaître le rattrapage pendant la journée et produisait des cibles en manque du temps déjà écoulé. Le temps écoulé est réintégré au besoin planifié. - La cible matin est plafonnée à la reprise de l'après-midi ; un créneau saturé reporte son surplus sur les créneaux encore ouverts (waterfill) au lieu d'afficher une sortie matin absurde. - Une semaine entièrement pointée mais en déficit affiche désormais un bandeau "Semaine terminée avec -X de manque" au lieu de rien.
39 lines
1.8 KiB
HTML
39 lines
1.8 KiB
HTML
<div id="soldes-section" hx-swap-oob="true">
|
|
<div class="soldes">
|
|
<div class="solde-item">
|
|
<div class="solde-eyebrow">Travaillé</div>
|
|
<div class="solde-num neutral">{{ result.total_travaille }}</div>
|
|
</div>
|
|
<div class="solde-item">
|
|
<div class="solde-eyebrow">Dû cette semaine</div>
|
|
<div class="solde-num neutral">{{ result.total_du }}</div>
|
|
</div>
|
|
<div class="solde-item {% if result.solde_min > 0 %}item-pos{% elif result.solde_min < 0 %}item-neg{% endif %}">
|
|
<div class="solde-eyebrow">Solde semaine</div>
|
|
<div class="solde-num {% if result.solde_min > 0 %}pos{% elif result.solde_min < 0 %}neg{% endif %}">
|
|
{% if result.solde_min > 0 %}+{% endif %}{{ result.solde }}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% if result.slots_restants > 0 %}
|
|
<div class="reste-info">
|
|
{% if result.extra_min > 0 %}
|
|
Reste à faire : <strong>{{ result.reste }}</strong>
|
|
sur {{ result.slots_restants }} demi-journée{{ 's' if result.slots_restants > 1 else '' }} restante{{ 's' if result.slots_restants > 1 else '' }}
|
|
— à rattraper : <strong class="reste-extra">+{{ result.extra }}</strong> (~+{{ result.moyenne_extra }} chacune)
|
|
{% elif result.reste_min > 0 %}
|
|
Reste à faire : <strong>{{ result.reste }}</strong>
|
|
sur {{ result.slots_restants }} demi-journée{{ 's' if result.slots_restants > 1 else '' }} restante{{ 's' if result.slots_restants > 1 else '' }}
|
|
— le rythme habituel suffit, rien à rattraper.
|
|
{% else %}
|
|
Vous êtes à jour ou en avance — rien à rattraper cette semaine.
|
|
{% endif %}
|
|
</div>
|
|
{% elif result.solde_min < 0 %}
|
|
<div class="reste-info">
|
|
Semaine terminée avec <strong class="reste-extra">{{ result.solde }}</strong> de manque —
|
|
complétez ou corrigez les saisies, ou rattrapez sur une autre semaine.
|
|
</div>
|
|
{% endif %}
|
|
</div>
|