102 lines
5.7 KiB
PHP
102 lines
5.7 KiB
PHP
<?php
|
||
$currentYear = (int) date('Y');
|
||
?>
|
||
<section class="page-content annual-overview-page">
|
||
<section class="card annual-filter-card no-print">
|
||
<div class="section-heading">
|
||
<div>
|
||
<h2>Prévisionnel annuel de l’agent</h2>
|
||
<p class="section-subtitle">Vue de contrôle de janvier à décembre, inspirée du tableau d’annualisation utilisé par le service.</p>
|
||
</div>
|
||
</div>
|
||
<div class="selection-grid overview-filters annual-filters">
|
||
<label class="field">
|
||
<span>Agent</span>
|
||
<select id="annual-agent">
|
||
<option value="">Choisir un agent</option>
|
||
<?php foreach ($agents as $agent): ?>
|
||
<option value="<?= (int) $agent['id_agent'] ?>">
|
||
<?= htmlspecialchars($agent['prenom'] . ' ' . $agent['nom'] . ' — ' . ($agent['poste_libelle'] ?? 'Poste non renseigné')) ?>
|
||
</option>
|
||
<?php endforeach; ?>
|
||
</select>
|
||
</label>
|
||
<label class="field">
|
||
<span>Année affichée</span>
|
||
<input id="annual-year" type="number" min="2000" max="2100" value="<?= $currentYear ?>">
|
||
</label>
|
||
<div class="overview-filter-actions annual-filter-actions">
|
||
<button id="load-annual" class="button button-primary" type="button">Afficher l’année</button>
|
||
<button id="annual-print" class="button button-secondary" type="button" disabled>Imprimer</button>
|
||
<button id="annual-fullscreen" class="button button-secondary" type="button" disabled>Plein écran</button>
|
||
</div>
|
||
</div>
|
||
<div id="annual-message" class="message" role="status" aria-live="polite"></div>
|
||
</section>
|
||
|
||
<section id="annual-content" class="annual-sheet" hidden>
|
||
<header class="annual-sheet-header">
|
||
<div class="annual-title-row">
|
||
<span class="annual-direction">Direction Enfance</span>
|
||
<h2 id="annual-title">ANNUALISATION</h2>
|
||
<span id="annual-updated" class="annual-updated"></span>
|
||
</div>
|
||
<div class="annual-identity-grid">
|
||
<div><span>Nom de l’agent</span><strong id="annual-agent-name">—</strong></div>
|
||
<div><span>Matricule</span><strong id="annual-agent-number">—</strong></div>
|
||
<div><span>Quotité de travail</span><strong id="annual-rate">—</strong></div>
|
||
<div><span>Nombre d’heures</span><strong id="annual-target">—</strong></div>
|
||
<div><span>Statut</span><strong id="annual-contract">—</strong></div>
|
||
<div><span>Lieu principal</span><strong id="annual-location">—</strong></div>
|
||
<div><span>Poste</span><strong id="annual-post">—</strong></div>
|
||
<div><span>Reste à affecter</span><strong id="annual-remaining">—</strong></div>
|
||
</div>
|
||
<div id="annual-quota-periods" class="annual-quota-periods"></div>
|
||
<div class="annual-toolbar no-print">
|
||
<a id="annual-open-pta" class="button button-secondary" href="pta.php">Ouvrir le PTA détaillé</a>
|
||
<a id="annual-open-month" class="button button-secondary" href="agents.php">Ouvrir la vue mensuelle</a>
|
||
<p>Cliquer sur une journée pour ouvrir sa semaine dans l’écran de planning.</p>
|
||
</div>
|
||
</header>
|
||
|
||
<section class="annual-summary-strip">
|
||
<article><span>Prévisionnel affiché</span><strong id="annual-calendar-total">0 h 00</strong></article>
|
||
<article><span>Heures validées</span><strong id="annual-validated-total">0 h 00</strong></article>
|
||
<article><span>Heures en brouillon</span><strong id="annual-draft-total">0 h 00</strong></article>
|
||
<article><span>Période visualisée</span><strong id="annual-year-label">—</strong></article>
|
||
</section>
|
||
|
||
<div class="annual-grid-scroll" tabindex="0" aria-label="Tableau annuel défilant horizontalement">
|
||
<div id="annual-months" class="annual-months"></div>
|
||
</div>
|
||
|
||
<footer class="annual-sheet-footer">
|
||
<div id="annual-legend" class="annual-legend"></div>
|
||
<div class="annual-abbreviations">
|
||
<strong>Colonnes :</strong>
|
||
<span><b>AP</b> Activité périscolaire</span>
|
||
<span><b>PP</b> Préparation périscolaire</span>
|
||
<span><b>AE</b> Activité extrascolaire</span>
|
||
<span><b>PE</b> Préparation extrascolaire</span>
|
||
</div>
|
||
</footer>
|
||
|
||
<section class="annual-validation-card no-print" aria-labelledby="annual-validation-title">
|
||
<div class="annual-validation-heading">
|
||
<div>
|
||
<p class="eyebrow">Service Enfance</p>
|
||
<h3 id="annual-validation-title">Validation annuelle</h3>
|
||
<p>Contrôler puis valider en une fois tous les plannings en brouillon de l’agent sur l’année affichée.</p>
|
||
</div>
|
||
<button id="annual-validate-year" class="button button-primary" type="button">
|
||
Valider toutes les semaines de l’année
|
||
</button>
|
||
</div>
|
||
<p class="annual-validation-note">
|
||
En cas d’erreur, aucune semaine n’est validée. Les semaines à corriger peuvent être ouvertes dans un nouvel onglet afin de conserver cette vue annuelle ouverte.
|
||
</p>
|
||
<div id="annual-validation-result" class="annual-validation-result" aria-live="polite"></div>
|
||
</section>
|
||
</section>
|
||
</section>
|