Aller au contenu

RH

Congés et présences

Disponible

Suivi des congés et présences : KPI de solde et taux de présence, graphiques de répartition et tendance, table des demandes à valider avec badges de statut et sélecteur de période. Pour piloter absences et approbations.

Congés et présences

Solde moyen (jours)

14.3

Taux de présence

94%

Absences (jours)

62

Demandes en attente

3

  • Jan: 94
  • Fév: 91
  • Mar: 95
  • Avr: 89
  • Mai: 93
  • Juin: 96
  • Congés payés: 48 (48%)
  • Maladie: 21 (21%)
  • RTT: 18 (18%)
  • Exceptionnel: 13 (13%)

Demandes récentes

3 en attente
EmployéTypePériodeJoursStatut
Sophie MartinCongés payés23–27 juin 20265pending
Lucas BernardMaladie18–19 juin 20262approved
Amina DialloRTT30 juin 20261pending
Thomas LeclercCongés payés7–18 juil. 202610approved
Chloé NguyenExceptionnel20 juin 20261rejected
Voir le code (Svelte)
<div class="la-layout">
  <div class="la-filters">
    <DatePicker label="Période" value="2026-01-01/2026-06-30" />
    <Button variant="primary" size="sm">Appliquer</Button>
  </div>
  <Alert tone="warning">3 demandes en attente de validation.</Alert>
  <div class="la-kpi-row">
    <KpiCard
      label="Solde moyen (jours)"
      value={14.3}
      delta={1.2}
      deltaFormat="absolute"
      tone="category1"
      sparkline={[11,12,13,13.5,14,14.3]}
    />
    <KpiCard
      label="Taux de présence"
      value={0.94}
      format="percent"
      delta={0.02}
      deltaFormat="percent"
      tone="category2"
      sparkline={[0.91,0.93,0.92,0.95,0.93,0.94]}
    />
    <KpiCard
      label="Absences (jours)"
      value={62}
      delta={-8}
      deltaFormat="absolute"
      tone="category4"
      sparkline={[80,74,70,68,65,62]}
    />
    <KpiCard label="Demandes en attente" value={3} tone="category3" />
  </div>
  <div class="la-charts-row">
    <div class="la-chart-main">
      <AreaChart
        label="Taux de présence mensuel (%)"
        data={[{"x":"Jan","y":94},{"x":"Fév","y":91},{"x":"Mar","y":95},{"x":"Avr","y":89},{"x":"Mai","y":93},{"x":"Juin","y":96}]}
        tone="category2"
        height={220}
      />
    </div>
    <div class="la-chart-side">
      <DonutChart
        centerLabel="Répartition des absences"
        data={[{"label":"Congés payés","value":48,"tone":"category1"},{"label":"Maladie","value":21,"tone":"category2"},{"label":"RTT","value":18,"tone":"category3"},{"label":"Exceptionnel","value":13,"tone":"category4"}]}
      />
    </div>
  </div>
  <div class="la-table-section">
    <div class="la-table-header">
      <h3 class="la-section-title">Demandes récentes</h3>
      <Badge tone="warning">3 en attente</Badge>
    </div>
    <Table
      columns={[{"key":"employee","label":"Employé"},{"key":"type","label":"Type"},{"key":"period","label":"Période"},{"key":"days","label":"Jours","align":"end"},{"key":"status","label":"Statut","align":"center"}]}
      rows={[{"id":"1","employee":"Sophie Martin","type":"Congés payés","period":"23–27 juin 2026","days":"5","status":"pending"},{"id":"2","employee":"Lucas Bernard","type":"Maladie","period":"18–19 juin 2026","days":"2","status":"approved"},{"id":"3","employee":"Amina Diallo","type":"RTT","period":"30 juin 2026","days":"1","status":"pending"},{"id":"4","employee":"Thomas Leclerc","type":"Congés payés","period":"7–18 juil. 2026","days":"10","status":"approved"},{"id":"5","employee":"Chloé Nguyen","type":"Exceptionnel","period":"20 juin 2026","days":"1","status":"rejected"}]}
      size="sm"
    />
  </div>
</div>

Composants DS utilisés

API

ComposantProp cléTypeDescription
KpiCardsparklinenumber[]Points du mini-graphe tendance
KpiCardformatstring"percent" pour afficher en %
AreaChartdata{ x, y }[]Série temporelle mensuelle
DonutChartdata{ label, value, tone }[]Tranches d'absence par type
TablecolumnsColumn[]Colonnes (key, label, align)
AlerttonestringNiveau d'alerte (warning, info…)
BadgetonestringStatut visuel de la demande