{% extends 'layouts/authenticated.html.twig' %} {% block page_title %}{{ page_title }}{% endblock %} {% block content %}
{# ============================================================ 1. HEADER GRADIENT ============================================================ #}

Gestion du Matériel

Vue d'ensemble - {{ "now"|date('d/m/Y à H:i') }}

Nouvel Équipement
{# ============================================================ 2. OVERVIEW STATS (6 cards) ============================================================ #}
{# Total #}
{{ equipmentStats.total }}
Total
{# Disponibles #}
{{ equipmentStats.available }}
Disponibles
{# Assignés #}
{{ equipmentStats.assigned }}
Assignés
{# En réparation #}
{{ equipmentStats.in_repair }}
En réparation
{# Perdus #}
{{ equipmentStats.lost }}
Perdus
{# En maintenance #}
{{ equipmentStats.in_maintenance }}
En maintenance
{# ============================================================ 3. VALUE SUMMARY (2 cards) ============================================================ #}

Valeur totale d'achat

{{ valueSummary.total_purchase_value|number_format(0, ',', ' ') }} XOF

Valeur actuelle estimée

{{ valueSummary.total_current_value|number_format(0, ',', ' ') }} XOF

{# ============================================================ 4. MODULE STATS GRID (4 cards) ============================================================ #}
{# Pertes en cours #}

Pertes en cours

Voir tout
{{ lossStats.total }}
Déclarées: {{ lossStats.declared }} En enquête: {{ lossStats.under_investigation }}
{# Réparations actives #}

Réparations actives

Voir tout
{{ repairStats.total }}
Demandées: {{ repairStats.requested }} En cours: {{ repairStats.in_repair }}
{# Maintenances planifiées #}

Maintenances planifiées

Voir tout
{{ maintenanceStats.total }}
Planifiées: {{ maintenanceStats.scheduled }} En cours: {{ maintenanceStats.in_progress }}
{# Incidents ouverts #}

Incidents ouverts

Voir tout
{{ incidentStats.total }}
Critiques: {{ incidentStats.critical }} Haute: {{ incidentStats.high }}
{# ============================================================ 5. ALERTS SECTION ============================================================ #} {% if overdueRepairs|length > 0 or openCriticalIncidents|length > 0 or pendingLossDeclarations|length > 0 %}

Alertes

{# Overdue repairs #} {% if overdueRepairs|length > 0 %}

Réparations en retard ({{ overdueRepairs|length }})

{% for repair in overdueRepairs %}
En retard {{ repair.equipment.name|default('N/A') }} {{ repair.description|default('')|slice(0, 60) }}{% if repair.description|default('')|length > 60 %}...{% endif %}
{% endfor %}
{% endif %} {# Critical incidents #} {% if openCriticalIncidents|length > 0 %}

Incidents critiques ({{ openCriticalIncidents|length }})

{% for incident in openCriticalIncidents %}
Critique {{ incident.title|default(incident.equipment.name|default('N/A')) }} {{ incident.reportedAt|date('d/m/Y') }}
{% endfor %}
{% endif %} {# Pending losses #} {% if pendingLossDeclarations|length > 0 %}

Pertes en attente ({{ pendingLossDeclarations|length }})

{% for loss in pendingLossDeclarations %}
En attente {{ loss.equipment.name|default('N/A') }} Déclarée le {{ loss.declaredAt|date('d/m/Y') }}
{% endfor %}
{% endif %}
{% endif %} {# ============================================================ 6. UPCOMING MAINTENANCES TABLE ============================================================ #} {% if upcomingMaintenances|length > 0 %}

Maintenances à venir

{% for maintenance in upcomingMaintenances %} {% endfor %}
Équipement Type Date prévue Statut Action
{{ maintenance.equipment.name|default('N/A') }} {{ maintenance.type|default('N/A') }} {{ maintenance.scheduledAt|date('d/m/Y') }} Planifiée Détails
{% endif %} {# ============================================================ 7. QUICK ACTION BUTTONS ============================================================ #}

Actions rapides

{% endblock %}