diff --git a/Js/fonctions.js b/Js/fonctions.js
index ecb18fa..b41045f 100755
--- a/Js/fonctions.js
+++ b/Js/fonctions.js
@@ -434,7 +434,12 @@ function appliquerDataTable() {
const instance = $table.DataTable(options);
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);
});
}
diff --git a/Vue/Accueil/index.php b/Vue/Accueil/index.php
index 4a3e256..bb38a82 100644
--- a/Vue/Accueil/index.php
+++ b/Vue/Accueil/index.php
@@ -216,45 +216,51 @@
const { jsPDF } = window.jspdf;
const pdf = new jsPDF('p', 'mm', 'a4');
- // --- 1. Titre principal ---
- pdf.setFontSize(18);
- pdf.text("Tableau de bord - Synthèse", 10, 15);
+ // --- Logo ---
+ const logo = new Image();
+ logo.src = '/images/logo.png'; // chemin vers ton logo
+ logo.onload = function() {
+ pdf.addImage(logo, 'PNG', 150, 5, 40, 20);
- // --- 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);
+ // --- Titre principal ---
+ pdf.setFontSize(18);
+ pdf.text("Tableau de bord", 10, 20);
- // --- 3. Graphiques ---
- function addChartToPdf(canvasId, title, yOffset) {
+ // --- KPIs ---
+ 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 imgData = canvas.toDataURL('image/png', 1.0);
pdf.setFontSize(14);
- pdf.text(title, 10, yOffset);
- pdf.addImage(imgData, 'PNG', 10, yOffset + 5, 180, 80);
+ pdf.text(title, 10, startY);
+ 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
const dataClaims = = $dataTabClaims ?>;
new Chart(document.getElementById('claimsPie'), {
diff --git a/Vue/gabarit.php b/Vue/gabarit.php
index 08bcb6d..390bec6 100755
--- a/Vue/gabarit.php
+++ b/Vue/gabarit.php
@@ -609,7 +609,7 @@ console.groupEnd();
-
+