Maj dataTable

This commit is contained in:
KONE SOREL 2025-12-25 18:23:48 +00:00
parent 66309f6e58
commit 1b70a008ef
3 changed files with 44 additions and 33 deletions

View File

@ -434,7 +434,12 @@ function appliquerDataTable() {
const instance = $table.DataTable(options); const instance = $table.DataTable(options);
setTimeout(() => { setTimeout(() => {
instance.columns.adjust().responsive.recalc(); if (instance) {
instance.columns.adjust(); // recalcul des colonnes
if (instance.responsive) {
instance.responsive.recalc(); // recalcul responsive si dispo
}
}
}, 100); }, 100);
}); });
} }

View File

@ -216,45 +216,51 @@
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 --- // --- Logo ---
pdf.setFontSize(18); const logo = new Image();
pdf.text("Tableau de bord - Synthèse", 10, 15); logo.src = '/images/logo.png'; // chemin vers ton logo
logo.onload = function() {
pdf.addImage(logo, 'PNG', 150, 5, 40, 20);
// --- 2. KPIs --- // --- Titre principal ---
pdf.setFontSize(12); pdf.setFontSize(18);
pdf.text("Total Contrats : <?= format_N($kpis['nbPolice']) ?>", 10, 30); pdf.text("Tableau de bord", 10, 20);
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 --- // --- KPIs ---
function addChartToPdf(canvasId, title, yOffset) { pdf.setFontSize(12);
pdf.text("Total Contrats : <?= format_N($kpis['nbPolice']) ?>", 10, 35);
pdf.text("Total Assurés :", 10, 42);
pdf.text(" Salariés : <?= format_N($kpis['nbAdherent']) ?>", 10, 49);
pdf.text(" Ayants droits : <?= format_N($kpis['nbDependant']) ?>", 10, 56);
pdf.text("Primes :", 10, 66);
pdf.text(" TTC : <?= format_N($kpis['primeTtc']).' '.$_SESSION['devise_C'] ?>", 10, 73);
pdf.text(" Nette Stat : <?= format_N($kpis['primeNetteStat']).' '.$_SESSION['devise_C'] ?>", 10, 80);
pdf.text("Sinistres :", 10, 90);
pdf.text(" Nombre : <?= format_N($kpis['nbSinistres']) ?>", 10, 97);
pdf.text(" Montant : <?= format_N($kpis['montantApayer']).' '.$_SESSION['devise_C'] ?>", 10, 104);
pdf.text(" Rapport S/P : <?= $kpis['rapportSp'].'%' ?>", 10, 111);
// --- Graphiques ---
addChartToPdf(pdf, 'claimsPie', 'Sinistres par garantie', 125);
addChartToPdf(pdf, 'claimsLine', 'Évolution des sinistres par mois', 200);
// Nouvelle page pour le dernier graphique
pdf.addPage();
addChartToPdf(pdf, 'lossRatioBar', 'Sinistralité (%)', 20);
// --- Sauvegarde ---
pdf.save('Tableau_de_bord.pdf');
};
function addChartToPdf(pdf, canvasId, title, startY) {
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);
pdf.setFontSize(14); pdf.setFontSize(14);
pdf.text(title, 10, yOffset); pdf.text(title, 10, startY);
pdf.addImage(imgData, 'PNG', 10, yOffset + 5, 180, 80); pdf.addImage(imgData, 'PNG', 10, startY + 5, 180, 60);
} }
addChartToPdf('claimsPie', 'Sinistres par garantie', 120);
addChartToPdf('claimsLine', 'Évolution des sinistres par mois', 220);
// --- 4. Nouvelle page pour le dernier graphique ---
pdf.addPage();
addChartToPdf('lossRatioBar', 'Sinistralité (%)', 20);
// --- 5. Sauvegarde ---
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'), {

View File

@ -609,7 +609,7 @@ console.groupEnd();
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script> <script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
<!-- Application Scripts --> <!-- Application Scripts -->
<script src="/Js/fonctions.js?ver=2025.12.25.05"></script> <script src="/Js/fonctions.js?ver=2025.12.25.06"></script>
<?php if (est_anglophone()): ?> <?php if (est_anglophone()): ?>
<script src="/Js/datepicker-eng.js"></script> <script src="/Js/datepicker-eng.js"></script>