This commit is contained in:
2025-12-30 18:04:22 +00:00
parent 427bf4bb40
commit 029d2c0bc8
3 changed files with 135 additions and 46 deletions

View File

@@ -808,8 +808,8 @@ function afficher_adherents_police()
});
}
function graphique_sinistre()
{
function graphique_sinistre() {
// Spinner pendant le chargement
$("#div_graphique").html(`
<div class="text-center my-5 py-5">
<div class="spinner-border text-primary" role="status" style="width: 3rem; height: 3rem;">
@@ -818,16 +818,109 @@ function graphique_sinistre()
<p class="mt-3 text-muted fw-bold">Affichage des graphiques en cours...</p>
</div>
`);
$.ajax({
url: $("#racineWeb").val()+"Ajaxgraphiquesinistres/",
type : 'post',
// data: donnees,
error: function(errorData) {
},
success: function(data) {
$("#div_graphique").html(data);
}
});
}
$.ajax({
url: $("#racineWeb").val() + "Ajaxgraphiquesinistres/",
type: 'post',
success: function(data, textStatus, jqXHR) {
let contentType = jqXHR.getResponseHeader("Content-Type");
if (contentType && contentType.indexOf("application/json") !== -1) {
// --- Mode JSON ---
$("#div_graphique").empty();
// Layout responsive Bootstrap
$("#div_graphique").append(`
<div class="row">
<div class="col-md-6 mb-4">
<div class="card shadow-sm">
<div class="card-body">
<h5 class="card-title text-primary">Répartition des sinistres</h5>
<canvas id="claimsChart"></canvas>
</div>
</div>
</div>
<div class="col-md-6 mb-4">
<div class="card shadow-sm">
<div class="card-body">
<h5 class="card-title text-success">Évolution mensuelle</h5>
<canvas id="claimsMonthChart"></canvas>
</div>
</div>
</div>
<div class="col-md-12 mb-4">
<div class="card shadow-sm">
<div class="card-body">
<h5 class="card-title text-danger">Ratio de sinistralité</h5>
<canvas id="lossRatioChart"></canvas>
</div>
</div>
</div>
</div>
`);
// Graphique 1 : répartition
new Chart(document.getElementById('claimsChart'), {
type: 'bar',
data: {
labels: data.claims.claimsLabels,
datasets: [{
label: 'Nombre de sinistres',
data: data.claims.claimsValues,
backgroundColor: 'rgba(54, 162, 235, 0.6)'
}]
}
});
// Graphique 2 : évolution mensuelle
new Chart(document.getElementById('claimsMonthChart'), {
type: 'line',
data: {
labels: data.claimsMonth.months,
datasets: [
{
label: 'Sinistres mensuels',
data: data.claimsMonth.monthlyClaims,
borderColor: 'rgba(255, 99, 132, 0.8)',
fill: false
},
{
label: 'Sinistres uniques',
data: data.claimsMonth.singleClaims,
borderColor: 'rgba(75, 192, 192, 0.8)',
fill: false
}
]
}
});
// Graphique 3 : ratio
new Chart(document.getElementById('lossRatioChart'), {
type: 'line',
data: {
labels: data.lossRatio.lossRatioLabels,
datasets: [{
label: 'Ratio de sinistralité',
data: data.lossRatio.lossRatioValues,
borderColor: 'rgba(255, 206, 86, 0.8)',
fill: false
}]
}
});
} else {
// --- Mode Vue HTML ---
$("#div_graphique").html(data);
}
},
error: function(err) {
console.error("Erreur AJAX:", err);
$("#div_graphique").html(`
<div class="alert alert-danger">
Impossible de charger les graphiques.
</div>
`);
}
});
}