diff --git a/Bootstrap_new/css/style_moderne.css b/Bootstrap_new/css/style_moderne.css new file mode 100644 index 00000000..13950466 --- /dev/null +++ b/Bootstrap_new/css/style_moderne.css @@ -0,0 +1,29 @@ +:root { + --is-primary: #08C5D1; + --is-sidebar: #2c3e50; + --is-light-bg: #f8f9fa; +} +body { font-family: 'Inter', sans-serif; font-size: 0.88rem; color: #334155; } + +/* Sidebar moderne */ +.sidebar { width: 260px; background: var(--is-sidebar); transition: all 0.3s; z-index: 1000; border-right: 1px solid rgba(255,255,255,0.1); } +.sidebar .nav-link { color: rgba(255,255,255,0.7); font-weight: 500; border-radius: 8px; margin-bottom: 5px; } +.sidebar .nav-link:hover, .sidebar .nav-link.active-main { background: rgba(255,255,255,0.1); color: #fff; } +.sidebar .nav-link i { font-size: 1.1rem; margin-right: 12px; } + +/* Header épuré */ +.header { height: 60px; background: #fff; box-shadow: 0 1px 10px rgba(0,0,0,0.05); } + +/* Utilitaires de cartes */ +.card { border: none; border-radius: 12px; box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.04); } + +/* Transition douce pour AJAX */ +.transition { transition: all 0.3s ease; } + +@media (min-width: 1200px) { + body.toggle-sidebar .sidebar { left: -260px; } + body.toggle-sidebar .main, body.toggle-sidebar #header { margin-left: 0; } +} + +.cursor-pointer { cursor: pointer; } +.shadow-xs { box-shadow: 0 2px 4px rgba(0,0,0,0.02); } \ No newline at end of file diff --git a/Controleur/ControleurConnexion.php b/Controleur/ControleurConnexion.php index 8dd0b705..be85c96d 100755 --- a/Controleur/ControleurConnexion.php +++ b/Controleur/ControleurConnexion.php @@ -405,6 +405,7 @@ require_once 'Modele/Societeusercentral.php'; $this->requete->getSession()->setAttribut("timezone_identifier", $utilisateur['timezone_identifier']); date_default_timezone_set($_SESSION['timezone_identifier']); + // // On va déclarer les variable de session context $this->requete->getSession()->setAttribut("idClient_C", ""); diff --git a/Controleur/ControleurEmission.php b/Controleur/ControleurEmission.php index 5be9dd5a..c7b25567 100755 --- a/Controleur/ControleurEmission.php +++ b/Controleur/ControleurEmission.php @@ -3,7 +3,7 @@ require_once 'Framework/Controleur.php'; require_once 'Modele/Emission.php'; require_once 'Modele/Quittance.php'; require_once 'Modele/Menuvueutilisateur.php'; - +// class ControleurEmission extends Controleur { private $menuvue; diff --git a/Controleur/ControleurFicheadherent.php b/Controleur/ControleurFicheadherent.php index 58c711b2..aef79885 100755 --- a/Controleur/ControleurFicheadherent.php +++ b/Controleur/ControleurFicheadherent.php @@ -58,6 +58,7 @@ class ControleurFicheadherent extends Controleur { $tarifActe = $this->tarif->getTarifActeByType($codeTypeTarifActe); + // $prestationsParMois = $this->adherent->getPrestationsmensuelles($idAdherent); $prestationsParliens = $this->adherent->getPrestationsLiensParente($idAdherent); diff --git a/Controleur/ControleurFichebeneficiaire.php b/Controleur/ControleurFichebeneficiaire.php index 57ee0cba..e766e4b5 100755 --- a/Controleur/ControleurFichebeneficiaire.php +++ b/Controleur/ControleurFichebeneficiaire.php @@ -182,7 +182,7 @@ class ControleurFichebeneficiaire extends Controleur { $message = 'Veuillez sélectionner un fichier SVP !'; } - } // + } $beneficiaire = $this->beneficiaire->getBeneficiaireId($id); @@ -195,7 +195,7 @@ class ControleurFichebeneficiaire extends Controleur $codeTypeTarifActe = "TBEN"; $tarifActe = $this->tarif->getTarifActeByType($codeTypeTarifActe); - + // $prestationsParMois = $this->beneficiaire->getPrestationsmensuelles($idBeneficiaire); $tabConsoParMois = [ diff --git a/Controleur/ControleurFicheusergc.php b/Controleur/ControleurFicheusergc.php index 22e8178d..00bbb980 100755 --- a/Controleur/ControleurFicheusergc.php +++ b/Controleur/ControleurFicheusergc.php @@ -27,7 +27,7 @@ class ControleurFicheusergc extends Controleur { $user_actVisible = $this->oui_non->getListe(); $langue = $this->langue->getListe(); $user_AffectionVisible = $this->oui_non->getListe(); - + // $user_gc = $this->gc->getunusergc($idUtilisateur); $chemin = $this->menuvue->getChemin('Ficheusergc'); diff --git a/Js/fonctions.js b/Js/fonctions.js index b59580a6..19c83460 100755 --- a/Js/fonctions.js +++ b/Js/fonctions.js @@ -40730,7 +40730,7 @@ function enregistrer_new_repos_medical() }); } - +// function charger_detail_stat_police_anomalies() { $('#div_export_b').html(""); @@ -48852,81 +48852,74 @@ function appliquerDataTable(){ } -function dataTableSpeciale(){ - const oTable = $('.tabspeciale'); - var codeLangue = $("#codeLangue").val(); - - // Détruire l'instance existante si elle existe - if ($.fn.DataTable.isDataTable(oTable)) { - table.DataTable().destroy(); - table.empty(); // Optionnel : vider le contenu si nécessaire +function dataTableSpeciale() { + const $table = $('.tabspeciale'); + const codeLangue = $("#codeLangue").val() || "fr_FR"; + + // Détruire l'instance existante si elle existe + if ($.fn.DataTable.isDataTable($table)) { + $table.DataTable().clear().destroy(); + $table.empty(); // Optionnel : vider le contenu si nécessaire + } + + // Définition des traductions + const langOptions = { + en_US: { + lengthMenu: "Display _MENU_ records per page", + zeroRecords: "Nothing found - sorry", + info: "Showing page _PAGE_ of _PAGES_", + infoEmpty: "No records available", + search: "Search:", + paginate: { + next: "►", + previous: "◄", + first: "|◄", + last: "►|" + }, + infoFiltered: "(filtered from _MAX_ total records)" + }, + fr_FR: { + lengthMenu: "Affiche _MENU_ par page", + zeroRecords: "Désolé - Aucune donnée trouvée", + info: "_PAGE_ sur _PAGES_ pages", + infoEmpty: "Pas d'enregistrement", + search: "Recherche:", + paginate: { + next: "►", + previous: "◄", + first: "|◄", + last: "►|" + }, + infoFiltered: "(filtré de _MAX_ total enregistrements)" + } + }; + + // Définition des lengthMenu selon la langue + const lengthMenuOptions = (codeLangue === "en_US") ? [50, 100, 150] : [20, 50, 100]; + + try { + $table.DataTable({ + destroy: true, + responsive: true, + lengthMenu: lengthMenuOptions, + scrollX: true, + scrollY: "75vh", + pagingType: "full_numbers", + autoWidth: false, + searching: false, // équivalent moderne de bFilter:false + ordering: false, + lengthChange: false, // équivalent moderne de bLengthChange:false + orderMulti: true, + language: langOptions[codeLangue] || langOptions.fr_FR + }); + + // Ajuster les colonnes après init + $table.DataTable().columns.adjust().draw(); + + } catch (err) { + console.error("Erreur DataTable:", err); + return false; } - - try{ - if(codeLangue=="en_US") - { - oTable.DataTable({ - destroy: true, - responsive: true, - "lengthMenu": [ 50, 100, 150], - "scrollX": true, - "scrollY": "75vh", - "pagingType": "full_numbers", - "autoWidth": false, - "bFilter": false, - "ordering": false, - "bLengthChange": false, - "orderMulti": true, - "language": { - "lengthMenu":"Display _MENU_ records per page", - "zeroRecords": "Nothing found - sorry", - "info": "Showing page _PAGE_ of _PAGES_", - "infoEmpty": "No records available", - "search": "Search:", - "paginate": { - "next": "►", - "previous": "◄", - "first": "|◄", - "last": "►|" - }, - "infoFiltered": "(filtered from _MAX_ total records)" - } - }); - }else{ - oTable.DataTable({ - destroy: true, - responsive: true, - "lengthMenu": [ 50, 100, 150], - "scrollX": true, - "scrollY": "75vh", - "pagingType": "full_numbers", - "autoWidth": false, - "bFilter": false, - "ordering": false, - "bLengthChange": false, - "orderMulti": true, - "language": { - "lengthMenu":"Affiche _MENU_ par page", - "zeroRecords": "Désolé - Aucune donnée trouvée", - "info": "_PAGE_ sur _PAGES_ pages", - "infoEmpty": "Pas d'enregistrement", - "search": "Recherche:", - "paginate": { - "next": "►", - "previous": "◄", - "first": "|◄", - "last": "►|" - }, - "infoFiltered": "(filtré de _MAX_ total enregistrements)" - } - }); - } - - //$('.tabspeciale').columns.adjust().draw(); - } - catch(err){ - return false; - } } function dataTableSpecialeMini(){ @@ -91895,6 +91888,26 @@ function afficher_ordonnance_beneficiaire() }); } +// Fonction globale pour tes notifications AJAX (Wahoo Effect) +function notification(type, message) { + const Toast = Swal.mixin({ + toast: true, + position: 'top-end', + showConfirmButton: false, + timer: 3000, + timerProgressBar: true, + didOpen: (toast) => { + toast.addEventListener('mouseenter', Swal.stopTimer) + toast.addEventListener('mouseleave', Swal.resumeTimer) + } + }); + + Toast.fire({ + icon: type, // 'success', 'error', 'warning', 'info' + title: message + }); +} + function gerer_garant_defaut() { codeGcAssureurDefaut=$("#codeGcAssureurDefaut").val(); diff --git a/Modele/Adherent.php b/Modele/Adherent.php index 25b9f989..33308bd9 100755 --- a/Modele/Adherent.php +++ b/Modele/Adherent.php @@ -1204,6 +1204,7 @@ class Adherent extends Modele { return $resultat->fetchAll(PDO::FETCH_ASSOC); } + // public function getPrestationsLiensParente($idAdherent){ diff --git a/Modele/Emission.php b/Modele/Emission.php index 9758c5d2..29e1012b 100755 --- a/Modele/Emission.php +++ b/Modele/Emission.php @@ -41,6 +41,7 @@ class Emission extends Modele { $this->executerRequete($sql, array($numeroEmission, $_SESSION['codeSociete'])); } + // public function getEmissionId($idEmission) { $sql = 'CALL sp_get_emission_id(?);'; diff --git a/Modele/Facture.php b/Modele/Facture.php index 8b2daa0d..c9bbc207 100755 --- a/Modele/Facture.php +++ b/Modele/Facture.php @@ -1010,6 +1010,7 @@ class Facture extends Modele { return $resultat->fetchAll(PDO::FETCH_ASSOC); } + // public function getbordereauxrbcl($idPolice, $d1, $d2) { $sql = 'call sp_r_get_bordereaux_rbcl(?, ?, ?)'; diff --git a/Modele/Gestionconfiee.php b/Modele/Gestionconfiee.php index bb21186e..8a477cf3 100755 --- a/Modele/Gestionconfiee.php +++ b/Modele/Gestionconfiee.php @@ -1151,7 +1151,7 @@ class Gestionconfiee extends Modele { { $codeSociete = $_SESSION['codeSociete']; $user = $_SESSION['login']; - + $passAutoGen = ""; switch ($codeModeGenerationPass) diff --git a/Modele/Police.php b/Modele/Police.php index 0215b123..db87bc96 100755 --- a/Modele/Police.php +++ b/Modele/Police.php @@ -1942,6 +1942,7 @@ class Police extends Modele { $sql = 'call sp_init_ajustement_prime(?, ?, ?, ?, ?, ?);'; $this->executerRequete($sql, array($codeSociete, $idPolice, $dateAvenant, $user, $motifAvenant, $idSaisie)); } + // public function fn_primes_non_facturees_police($idPolice) { @@ -1950,7 +1951,7 @@ class Police extends Modele { $ligne = $resultat->fetch(PDO::FETCH_ASSOC); return $ligne['nb_non_facturees']; } - + // public function getNomGarant($codeGcAssureur) { $sql = 'SELECT fn_garant(?) as libelle;'; diff --git a/Vue/Ajaxfichepolice/index.php b/Vue/Ajaxfichepolice/index.php index e3b876fb..818a9ca0 100755 --- a/Vue/Ajaxfichepolice/index.php +++ b/Vue/Ajaxfichepolice/index.php @@ -75,7 +75,6 @@ - diff --git a/Vue/Recherche/index_new.php b/Vue/Recherche/index_new.php new file mode 100755 index 00000000..4a68ba8e --- /dev/null +++ b/Vue/Recherche/index_new.php @@ -0,0 +1,127 @@ +titre = "INTER SANTE - "._("Rechercher assuré") ; +?> + +
| = _("N° Bénéficiaire") ?> | += _("N° Famille") ?> | += _("Nom") ?> | += _("Prénoms") ?> | += _("Lien") ?> | += _("Naissance") ?> | += _("Genre") ?> | += _("Tél") ?> | += _("Souscripteur") ?> | += _("Etat") ?> | +
|---|---|---|---|---|---|---|---|---|---|
| + + | += $this->nettoyer($beneficiaire['numeroAdherent']) ?> | += $this->nettoyer($beneficiaire['nomBeneficiaire']) ?> | += $this->nettoyer($beneficiaire['prenomsBeneficiaire']) ?> | += $this->nettoyer($beneficiaire['codeLienParente']) ?> | += dateLang($this->nettoyer($beneficiaire['dateNaissance'])) ?> | += $this->nettoyer($beneficiaire['sexe']) ?> | += $this->nettoyer($beneficiaire['telephonePortable']) ?> | += $this->nettoyer($beneficiaire['nomClient']) ?> | ++ nettoyer($beneficiaire['codeEtatBeneficiaire']); + $badgeClass = ($etat == 'ACTIF') ? 'bg-success' : 'bg-secondary'; + ?> + + = $etat ?> + + | +