Export tableau de bord
This commit is contained in:
parent
c6e37f1d5f
commit
66309f6e58
|
|
@ -174,7 +174,7 @@
|
||||||
<!-- Bouton Export PDF -->
|
<!-- Bouton Export PDF -->
|
||||||
<div class="text-end my-3">
|
<div class="text-end my-3">
|
||||||
<button id="exportPdfBtn" class="btn btn-danger">
|
<button id="exportPdfBtn" class="btn btn-danger">
|
||||||
<i class="fas fa-file-pdf"></i> <?= _('Exporter tous les graphiques en PDF') ?>
|
<i class="fas fa-file-pdf"></i> <?= _('Exporter le tableau de bord en PDF') ?>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
@ -216,6 +216,25 @@
|
||||||
const { jsPDF } = window.jspdf;
|
const { jsPDF } = window.jspdf;
|
||||||
const pdf = new jsPDF('p', 'mm', 'a4');
|
const pdf = new jsPDF('p', 'mm', 'a4');
|
||||||
|
|
||||||
|
// --- 1. Titre principal ---
|
||||||
|
pdf.setFontSize(18);
|
||||||
|
pdf.text("Tableau de bord - Synthèse", 10, 15);
|
||||||
|
|
||||||
|
// --- 2. KPIs ---
|
||||||
|
pdf.setFontSize(12);
|
||||||
|
pdf.text("Total Contrats : <?= format_N($kpis['nbPolice']) ?>", 10, 30);
|
||||||
|
pdf.text("Total Assurés :", 10, 40);
|
||||||
|
pdf.text(" Salariés : <?= format_N($kpis['nbAdherent']) ?>", 10, 47);
|
||||||
|
pdf.text(" Ayants droits : <?= format_N($kpis['nbDependant']) ?>", 10, 54);
|
||||||
|
pdf.text("Primes :", 10, 64);
|
||||||
|
pdf.text(" TTC : <?= format_N($kpis['primeTtc']).' '.$_SESSION['devise_C'] ?>", 10, 71);
|
||||||
|
pdf.text(" Nette Stat : <?= format_N($kpis['primeNetteStat']).' '.$_SESSION['devise_C'] ?>", 10, 78);
|
||||||
|
pdf.text("Sinistres :", 10, 88);
|
||||||
|
pdf.text(" Nombre : <?= format_N($kpis['nbSinistres']) ?>", 10, 95);
|
||||||
|
pdf.text(" Montant : <?= format_N($kpis['montantApayer']).' '.$_SESSION['devise_C'] ?>", 10, 102);
|
||||||
|
pdf.text(" Rapport S/P : <?= $kpis['rapportSp'].'%' ?>", 10, 109);
|
||||||
|
|
||||||
|
// --- 3. Graphiques ---
|
||||||
function addChartToPdf(canvasId, title, yOffset) {
|
function addChartToPdf(canvasId, title, yOffset) {
|
||||||
const canvas = document.getElementById(canvasId);
|
const canvas = document.getElementById(canvasId);
|
||||||
const imgData = canvas.toDataURL('image/png', 1.0);
|
const imgData = canvas.toDataURL('image/png', 1.0);
|
||||||
|
|
@ -224,13 +243,18 @@
|
||||||
pdf.addImage(imgData, 'PNG', 10, yOffset + 5, 180, 80);
|
pdf.addImage(imgData, 'PNG', 10, yOffset + 5, 180, 80);
|
||||||
}
|
}
|
||||||
|
|
||||||
addChartToPdf('claimsPie', 'Sinistres par garantie', 20);
|
addChartToPdf('claimsPie', 'Sinistres par garantie', 120);
|
||||||
addChartToPdf('claimsLine', 'Évolution des sinistres par mois', 120);
|
addChartToPdf('claimsLine', 'Évolution des sinistres par mois', 220);
|
||||||
addChartToPdf('lossRatioBar', 'Sinistralité (%)', 220);
|
|
||||||
|
|
||||||
|
// --- 4. Nouvelle page pour le dernier graphique ---
|
||||||
|
pdf.addPage();
|
||||||
|
addChartToPdf('lossRatioBar', 'Sinistralité (%)', 20);
|
||||||
|
|
||||||
|
// --- 5. Sauvegarde ---
|
||||||
pdf.save('Tableau_de_bord.pdf');
|
pdf.save('Tableau_de_bord.pdf');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
// Sinistres par garantie
|
// Sinistres par garantie
|
||||||
const dataClaims = <?= $dataTabClaims ?>;
|
const dataClaims = <?= $dataTabClaims ?>;
|
||||||
new Chart(document.getElementById('claimsPie'), {
|
new Chart(document.getElementById('claimsPie'), {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user