valider
This commit is contained in:
parent
6b639c2323
commit
68910f3853
|
|
@ -862,6 +862,20 @@ body.sidebar-collapsed .nav-bar {
|
|||
padding: 1rem !important;
|
||||
font-size: 9pt;
|
||||
}
|
||||
|
||||
.chart-container {
|
||||
height: 60vh;
|
||||
}
|
||||
|
||||
.card-header {
|
||||
flex-direction: column;
|
||||
align-items: flex-start !important;
|
||||
}
|
||||
|
||||
.btn-export {
|
||||
margin-top: 0.5rem;
|
||||
align-self: flex-end;
|
||||
}
|
||||
}
|
||||
|
||||
/* Écrans larges : mêmes insets pour nav-tabs et content-area */
|
||||
|
|
@ -1432,3 +1446,19 @@ li i { margin-right:10px; color:#007bff; }
|
|||
border-radius: 8px;
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
/* Styles communs pour tous les graphiques */
|
||||
.chart-container {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
min-height: 300px;
|
||||
}
|
||||
|
||||
.legend-text {
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.btn-export {
|
||||
padding: 0.25rem 0.5rem;
|
||||
font-size: 0.75rem;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -203,8 +203,34 @@ class ControleurFichebeneficiaire extends Controleur
|
|||
|
||||
$limite_adherent = $this->garantieadherent->getLimitesAdherent($idAdherent);
|
||||
|
||||
$this->genererVue(array('beneficiaire' => $beneficiaire, 'message' => $message, 'nouveau_fichier' => $nouveau_fichier,
|
||||
'garantieadherents' => $garantieadherents, 'limite_beneficiaire' => $limite_beneficiaire, 'limite_adherent' => $limite_adherent));
|
||||
$prestationsParMois = $this->beneficiaire->getPrestationsmensuelles($idBeneficiaire);
|
||||
|
||||
// Extraction directe des colonnes avec array_column
|
||||
$tabConsoParMois = [
|
||||
'mois' => array_column($prestationsParMois, 'mois'),
|
||||
'consos' => array_column($prestationsParMois, 'consommationBeneficiaire')
|
||||
];
|
||||
|
||||
$tabConsoParGaranties = [
|
||||
'garanties' => array_column($garantieadherents, 'codeGarantie'),
|
||||
'depenses' => array_column($garantieadherents, 'consommation'),
|
||||
'plafonds' => array_column($garantieadherents, 'plafond')
|
||||
];
|
||||
|
||||
// Encodage JSON
|
||||
$dataConsoParMois = json_encode($tabConsoParMois, JSON_NUMERIC_CHECK);
|
||||
$dataConsoParGaranties = json_encode($tabConsoParGaranties, JSON_NUMERIC_CHECK);
|
||||
|
||||
$this->genererVue(array(
|
||||
'beneficiaire' => $beneficiaire,
|
||||
'message' => $message,
|
||||
'nouveau_fichier' => $nouveau_fichier,
|
||||
'garantieadherents' => $garantieadherents,
|
||||
'limite_beneficiaire' => $limite_beneficiaire,
|
||||
'limite_adherent' => $limite_adherent,
|
||||
'dataConsoParMois' => $dataConsoParMois,
|
||||
'dataConsoParGaranties' => $dataConsoParGaranties
|
||||
));
|
||||
}
|
||||
|
||||
public function supprimer() {
|
||||
|
|
|
|||
|
|
@ -1645,4 +1645,17 @@ class Beneficiaire extends Modele {
|
|||
return $resultat->fetch(PDO::FETCH_ASSOC);
|
||||
}
|
||||
|
||||
public function getPrestationsmensuelles($idBeneficiaire){
|
||||
|
||||
if (isset($_SESSION['lang']) && $_SESSION['lang']=="en_US"){
|
||||
$sql = 'call prestations_mensuelles_beneficiaire_eng(?)';
|
||||
}else{
|
||||
$sql = 'call prestations_mensuelles_beneficiaire(?)';
|
||||
}
|
||||
|
||||
$resultat = $this->executerRequete($sql, array($idBeneficiaire));
|
||||
|
||||
return $resultat->fetchAll(PDO::FETCH_ASSOC);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -88,7 +88,7 @@
|
|||
</h5>
|
||||
</div>
|
||||
|
||||
<form name="formfichebeneficiaire" id="formfichebeneficiaire" method="POST" class="container-fluid py-3">
|
||||
<form name="formfichebeneficiaire" id="formfichebeneficiaire" method="POST" class="container-fluid py-3">
|
||||
<div class="d-flex justify-content-between align-items-center mb-4 bg-light p-3 rounded shadow-sm border-start border-primary border-4">
|
||||
<div class="card">
|
||||
<h4 class="h4 mb-0 text-secondary">
|
||||
|
|
@ -293,9 +293,9 @@
|
|||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</form>
|
||||
|
||||
<div class="container-fluid mt-1">
|
||||
<div class="container-fluid mt-1">
|
||||
<div class="card border-0 shadow-sm">
|
||||
<div class="card-body">
|
||||
<form enctype="multipart/form-data" action="Fichebeneficiaire/<?= $_SESSION['idBeneficiaire_C'] ?>/" method="post" class="row align-items-center g-3">
|
||||
|
|
@ -325,6 +325,48 @@
|
|||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Responsive Area Chart -->
|
||||
<div class="row mt-4">
|
||||
<div class="col-12 mb-4">
|
||||
<div class="card shadow h-100">
|
||||
<div class="card-header py-3 d-flex flex-column flex-md-row justify-content-between align-items-center">
|
||||
<h6 class="m-0 font-weight-bold text-primary"><?= _("Dépenses mensuelles") ?></h6>
|
||||
<div class="mt-2 mt-md-0">
|
||||
<button type="button" id="exportTrendBtn" class="btn btn-sm btn-danger mr-2">
|
||||
<i class="fas fa-download"></i> PDF
|
||||
</button>
|
||||
<small class="text-muted"><?= _("Évolution sur 12 mois") ?></small>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="chart-container" style="position: relative; height:300px; width:100%">
|
||||
<canvas id="expenseTrendChart"></canvas>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Bar Chart Section -->
|
||||
<div class="row mt-4">
|
||||
<div class="col-12 mb-4">
|
||||
<div class="card shadow h-100">
|
||||
<div class="card-header py-3 d-flex justify-content-between align-items-center">
|
||||
<h6 class="m-0 font-weight-bold text-primary"><?= _("Dépenses par garantie") ?></h6>
|
||||
<button type="button" id="exportBarBtn" class="btn btn-sm btn-danger">
|
||||
<i class="fas fa-download"></i> PDF
|
||||
</button>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="chart-container" style="position: relative; height:400px; width:100%">
|
||||
<canvas id="depensesChart"></canvas>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php include 'faceebene/ebenetraitementimage.php'; ?>
|
||||
|
|
|
|||
|
|
@ -126,7 +126,7 @@ $photoAssureCrypte = $_SESSION['photoAssureCrypte'];
|
|||
<link rel="manifest" href="<?= $racineWeb ?>manifest.json">
|
||||
|
||||
<!-- 4. VOS STYLES PERSONNALISÉS (en dernier pour qu'ils dominent) -->
|
||||
<link href="<?= $racineWeb ?>Bootstrap_new/css/style_office.css?ver=2026.01.12.00" rel="stylesheet">
|
||||
<link href="<?= $racineWeb ?>Bootstrap_new/css/style_office.css?ver=2026.01.12.01" rel="stylesheet">
|
||||
<link href="<?= $racineWeb ?>Bootstrap_new/css/ux_enhancements.css?ver=2025.12.21.02" rel="stylesheet">
|
||||
|
||||
<!-- Charts -->
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user