Files

117 lines
5.8 KiB
HTML

<!DOCTYPE html>
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:f="http://xmlns.jcp.org/jsf/core"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
xmlns:p="http://primefaces.org/ui"
template="/templates/main-template.xhtml">
<ui:param name="page" value="#{rapportsBean}"/>
<ui:define name="title">Rapports Activités - UnionFlow</ui:define>
<ui:define name="content">
<!-- En-tête -->
<ui:include src="/templates/components/layout/page-header.xhtml">
<ui:param name="icon" value="pi pi-calendar text-orange-500" />
<ui:param name="title" value="Rapports Activités" />
<ui:param name="description" value="Analyse des activités et événements" />
<ui:define name="actions">
<h:form id="formActions">
<div class="flex gap-2">
<ui:include src="/templates/components/buttons/button-success.xhtml">
<ui:param name="value" value="Exporter" />
<ui:param name="icon" value="pi pi-download" />
<ui:param name="onclick" value="PF('dlgExport').show();" />
</ui:include>
<ui:include src="/templates/components/buttons/button-icon.xhtml">
<ui:param name="icon" value="pi pi-refresh" />
<ui:param name="action" value="#{rapportsBean.actualiser}" />
<ui:param name="update" value="@form" />
<ui:param name="title" value="Actualiser" />
<ui:param name="rounded" value="true" />
<ui:param name="text" value="false" />
<ui:param name="styleClass" value="ui-button-outlined ui-button-secondary" />
</ui:include>
</div>
</h:form>
</ui:define>
</ui:include>
<!-- Statistiques activités -->
<div class="grid">
<ui:include src="/templates/components/cards/stat-card.xhtml">
<ui:param name="value" value="#{rapportsBean.indicateurs.totalEvenements}" />
<ui:param name="label" value="Total Événements" />
<ui:param name="icon" value="pi pi-calendar" />
<ui:param name="bgColor" value="orange" />
</ui:include>
<ui:include src="/templates/components/cards/stat-card.xhtml">
<ui:param name="value" value="#{rapportsBean.indicateurs.croissanceEvenements}%" />
<ui:param name="label" value="Croissance Événements" />
<ui:param name="icon" value="pi pi-arrow-up" />
<ui:param name="bgColor" value="green" />
</ui:include>
</div>
<!-- KPIs Activités -->
<div class="card">
<h5>Indicateurs d'Activité</h5>
<div class="formgrid grid">
<ui:repeat value="#{rapportsBean.kpis}" var="kpi">
<ui:include src="/templates/components/cards/kpi-card.xhtml">
<ui:param name="title" value="#{kpi.libelle}" />
<ui:param name="value" value="#{kpi.valeur}" />
<ui:param name="icon" value="#{kpi.icon}" />
<ui:param name="iconColor" value="#{kpi.couleur}" />
<ui:param name="growthValue" value="#{kpi.variation}" />
<ui:param name="growthLabel" value="variation" />
<ui:param name="colSize" value="col-12 md:col-4" />
<ui:param name="showProgress" value="false" />
</ui:include>
</ui:repeat>
</div>
</div>
<!-- Dialog Export -->
<h:form id="formExport">
<p:dialog id="dlgExport"
widgetVar="dlgExport"
header="Exporter le Rapport Activités"
modal="true"
resizable="false"
style="width: 90vw; max-width: 500px;">
<div class="grid">
<div class="col-12">
<div class="field">
<p:outputLabel for="formatExport" value="Format d'Export" />
<p:selectOneRadio id="formatExport"
value="#{rapportsBean.nouveauRapport.format}"
layout="grid"
columns="1">
<f:selectItem itemLabel="PDF" itemValue="PDF" />
<f:selectItem itemLabel="Excel (.xlsx)" itemValue="EXCEL" />
<f:selectItem itemLabel="CSV" itemValue="CSV" />
</p:selectOneRadio>
</div>
</div>
</div>
<f:facet name="footer">
<div class="flex justify-content-end gap-2">
<p:commandButton value="Annuler"
styleClass="p-button-outlined"
onclick="PF('dlgExport').hide();"
type="button" />
<p:commandButton value="Exporter"
icon="pi pi-download"
styleClass="p-button-success"
action="#{rapportsBean.exporterDonnees}" />
</div>
</f:facet>
</p:dialog>
</h:form>
</ui:define>
</ui:composition>