From 3efa88d108e6c352970b754acd750896480e4034 Mon Sep 17 00:00:00 2001 From: KONE SOREL Date: Wed, 18 Mar 2026 09:00:31 +0000 Subject: [PATCH] dfr --- .../ControleurAjaxprestatairesreseau.php | 10 ++ Controleur/ControleurPrestatairesreseau.php | 4 +- Js/fonctions.js | 5 +- Modele/Reseausoins.php | 15 +++ Vue/Prestatairesreseau/index.php | 114 +++++++++++++----- 5 files changed, 116 insertions(+), 32 deletions(-) diff --git a/Controleur/ControleurAjaxprestatairesreseau.php b/Controleur/ControleurAjaxprestatairesreseau.php index 01c9b18f..65976b5f 100755 --- a/Controleur/ControleurAjaxprestatairesreseau.php +++ b/Controleur/ControleurAjaxprestatairesreseau.php @@ -69,4 +69,14 @@ class ControleurAjaxprestatairesreseau extends Controleurrequete $this->executerAction("index"); } + + public function rechercher() { + $query = $this->requete->getParametreFormulaire("query"); + $codeReseau = $_SESSION['codeReseau']; + + $resultats = $this->reseau->rechercherPrestatairesDispo($codeReseau, $query); + + // On génère une vue partielle qui ne contient que les + $this->genererVueAjax(array('resultats' => $resultats)); + } } \ No newline at end of file diff --git a/Controleur/ControleurPrestatairesreseau.php b/Controleur/ControleurPrestatairesreseau.php index c2156fdf..619bfeca 100755 --- a/Controleur/ControleurPrestatairesreseau.php +++ b/Controleur/ControleurPrestatairesreseau.php @@ -23,13 +23,11 @@ class ControleurPrestatairesreseau extends Controleur { $prestatairesdispo = $this->reseau->getPrestatairesReseauNonAffectes($codeReseau); $prestatairesreseau = $this->reseau->getPrestatairesReseauAffectes($codeReseau); - $chemin = $this->menuvue->getChemin('Prestatairesreseau'); $this->genererVue(array( 'reseau' => $reseau, 'prestatairesdispo' => $prestatairesdispo, - 'prestatairesreseau' => $prestatairesreseau, - 'chemin' => $chemin + 'prestatairesreseau' => $prestatairesreseau ) ); } diff --git a/Js/fonctions.js b/Js/fonctions.js index 1977e5af..7cfc08a2 100755 --- a/Js/fonctions.js +++ b/Js/fonctions.js @@ -46866,7 +46866,7 @@ function afficher_prestataires_reseau() data: donnees, success: function(data) { $('#div_prestataires_reseau').html(data); - appliquerDataTable(); + //appliquerDataTable(); }, error: function(data) { }, @@ -92357,4 +92357,5 @@ function actualiser_garantie_produit() { `); } }); -} \ No newline at end of file +} + diff --git a/Modele/Reseausoins.php b/Modele/Reseausoins.php index 8f7e9cdc..54ee681c 100755 --- a/Modele/Reseausoins.php +++ b/Modele/Reseausoins.php @@ -373,4 +373,19 @@ class Reseausoins extends Modele return $resultat->fetchAll(PDO::FETCH_ASSOC); } + /** + * Recherche les prestataires non affectés avec un filtre textuel (Serveur-side) + */ + public function rechercherPrestatairesDispo($codeReseau, $query) { + + $query = contruireParamLike($query); + $codeSociete = $_SESSION['codeSociete']; + + $sql = "CALL sp_rechercher_prestataires_dispo(?, ?, ?)"; // Sécurité pour ne pas saturer le DOM + + $resultat = $this->executerRequete($sql, array($codeSociete, $codeReseau, $query)); + + return $resultat->fetchAll(PDO::FETCH_ASSOC); + } + } \ No newline at end of file diff --git a/Vue/Prestatairesreseau/index.php b/Vue/Prestatairesreseau/index.php index dcb7823a..67433e21 100755 --- a/Vue/Prestatairesreseau/index.php +++ b/Vue/Prestatairesreseau/index.php @@ -1,7 +1,14 @@ titre = "INTER SANTE - Affectation Prestataires"; $codeReseau = $this->nettoyer($reseau['codeReseau']); $idReseau = $this->nettoyer($reseau['id']); $nomReseau = $this->nettoyer($reseau['libelle']); + + // Extraction unique des types pour les selects (Optionnel) + $typesDispo = array_unique(array_column($prestatairesdispo, 'typeprestataire')); + sort($typesDispo); + $typesAffect = array_unique(array_column($prestatairesreseau, 'typeprestataire')); + sort($typesAffect); ?>
@@ -30,8 +37,8 @@ -
- +
+
@@ -43,14 +50,29 @@
-
- - " onkeyup="filterTable('tab_dispo', this.value, 'count_dispo')"> + +
+
+
+ " onkeyup="multiFilter('tab_dispo', 'count_dispo')"> +
+
+ " onkeyup="multiFilter('tab_dispo', 'count_dispo')"> +
+
+ +
+
-
+
@@ -65,8 +87,9 @@
nettoyer($v['libelle']) ?>
-
- nettoyer($v['localite']) ?> | nettoyer($v['typeprestataire']) ?> +
+ nettoyer($v['localite']) ?> | + nettoyer($v['typeprestataire']) ?>
@@ -94,14 +117,29 @@ -
- - " onkeyup="filterTable('tab_affect', this.value, 'count_affect')"> + +
+
+
+ " onkeyup="multiFilter('tab_affect', 'count_affect')"> +
+
+ " onkeyup="multiFilter('tab_affect', 'count_affect')"> +
+
+ +
+
-
+
@@ -109,7 +147,7 @@ - + @@ -120,8 +158,11 @@ - - + + @@ -135,19 +176,27 @@ \ No newline at end of file
nettoyer($v['libelle']) ?>nettoyer($v['localite']) ?>nettoyer($v['libelle']) ?> + nettoyer($v['localite']) ?> + nettoyer($v['typeprestataire']) ?> +