2024-10-23 20:08:31 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								<!DOCTYPE html> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< html  lang = "fr" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< head > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    < meta  charset = "UTF-8" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    < meta  name = "viewport"  content = "width=device-width, initial-scale=1.0" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    < title > Suivi des Paiements des Professeurs< / title > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    < link  rel = "stylesheet"  href = "https://www.w3schools.com/w3css/4/w3.css" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    < link  rel = "stylesheet"  href = "../../css/CHEF/chef_departement.css" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    < script  src = "https://cdn.jsdelivr.net/npm/chart.js" > < / script > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    < style > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        .container {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            margin: 20px;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        .filter-input {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            width: 300px;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            margin-bottom: 20px;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        .pagination {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            margin-top: 20px;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            display: flex;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            justify-content: center;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        .pagination button {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            margin: 0 5px;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        .filter-container {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            display: flex; /* Utilise flexbox pour aligner les filtres */
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            gap: 10px; /* Espace entre les filtres */
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        .w3-select {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            width: 250px; /* Largeur fixe pour les sélecteurs */
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            padding: 8px; /* Espacement intérieur pour rendre le texte lisible */
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        /* Optionnel : ajuster le style des bordures et fonds */
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        .w3-border {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            border-color: #ccc; /* Couleur de la bordure */
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    < / style > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< / head > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< body  class = "w3-light-grey" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    < div  class = "header w3-bar w3-card-4 w3-dark-blue" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        <!--  Logo pour retourner à l'accueil  --> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        < div  class = "logo-container w3-bar-item" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            < img  src = "../../media/img/logoWhite.png"  alt = "Logo Accueil"  class = "w3-image"  style = "width:150px; height:40px;" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        < / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        <!--  Bouton burger pour petit écran  --> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        < a  href = "javascript:void(0)"  class = "w3-bar-item w3-button w3-hide-large w3-right w3-padding-16"  onclick = "toggleMenu()" > ☰< / a > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        <!--  Catégories dans le header  --> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        < div  id = "menu"  class = "categories w3-hide-small w3-hide-medium w3-bar-item" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            < a  href = "./chef_departement.html"  class = "w3-bar-item w3-button" > Accueil< / a > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            < a  href = "./gestion-heures-professeur.html"  class = "w3-bar-item w3-button" > Professeurs< / a > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            < a  href = "./vacataire.html"  class = "w3-bar-item w3-button" > Vacation< / a > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            < a  href = "./gestion-heures-formation.html"  class = "w3-bar-item w3-button" > Formations< / a > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            < a  href = "./paiement.html"  class = "w3-bar-item w3-button" > Paiements< / a > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            < a  href = "./budget.html"  class = "w3-bar-item w3-button" > Budget< / a > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            < a  href = "./mes-informations.html"  class = "w3-bar-item w3-button" > Mes informations< / a > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        < / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        <!--  Section utilisateur avec déconnexion  --> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        < div  class = "user-section w3-right w3-hide-small w3-hide-medium" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            < div  class = "user-name" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                Florent MADELAINE
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            < / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            < div  class = "logout-container w3-bar-item" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                < a  href = "./notifications.html"  title = "Notifications" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    < img  src = "../../media/img/notifs.png"  alt = "Logo notification"  style = "width:24px; height:24px;" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                < / a > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                < a  href = "./settings.html"  title = "Paramètres" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    < img  src = "../../media/img/settings.png"  alt = "Logo paramètres"  style = "width:24px; height:24px;" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                < / a > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                < a  href = "../../index.html"  title = "Se déconnecter" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    < img  src = "../../media/img/LogOutWhite.png"  alt = "Logo Déconnexion"  style = "width:24px; height:24px;" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                < / a > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            < / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        < / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        <!--  Menu mobile caché au départ  --> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        < div  id = "mobileMenu"  class = "w3-bar-block w3-hide w3-hide-large w3-dark-blue" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            < a  href = "./chef_departement.html"  class = "w3-bar-item w3-button" > Accueil< / a > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            < a  href = "./gestion-heures-professeur.html"  class = "w3-bar-item w3-button" > Professeurs< / a > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            < a  href = "./vacataire.html"  class = "w3-bar-item w3-button" > Vacation< / a > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            < a  href = "./gestion-heures-formation.html"  class = "w3-bar-item w3-button" > Formations< / a > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            < a  href = "./paiement.html"  class = "w3-bar-item w3-button" > Paiements< / a > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            < a  href = "./budget.html"  class = "w3-bar-item w3-button" > Budget< / a > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            < a  href = "./mes-informations.html"  class = "w3-bar-item w3-button" > Mes informations< / a > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            <!--  Section utilisateur pour mobile  --> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            < div  class = "w3-bar-item w3-border-top w3-margin-top" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                < div  class = "user-name" > Florent MADELAINE< / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                < a  href = "./notifications.html"  title = "Notifications" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    < img  src = "../../media/img/notifs.png"  alt = "Logo notification"  style = "width:24px; height:24px;" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                < / a > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                < a  href = "./settings.html"  title = "Paramètres" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    < img  src = "../../media/img/settings.png"  alt = "Logo paramètres"  style = "width:24px; height:24px;" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                < / a > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                < a  href = "../../index.html"  title = "Se déconnecter" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    < img  src = "../../media/img/LogOutWhite.png"  alt = "Logo Déconnexion"  style = "width:24px; height:24px;" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                < / a > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            < / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        < / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    < / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    < div  class = "container w3-card w3-white w3-padding" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        < h2 > Suivi des Paiements des Professeurs< / h2 > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        < select  id = "contractTypeFilter"  class = "w3-select w3-border"  onchange = "filterTable()" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            < option  value = "" > Tous les contrats< / option > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            < option  value = "Permanent" > Permanents< / option > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            < option  value = "Vacataire" > Vacataires< / option > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        < / select > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        < select  id = "paymentStatusFilter"  class = "w3-select w3-border"  onchange = "filterTable()" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            < option  value = "" > Tous les statuts de paiement< / option > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            < option  value = "En attente" > En attente< / option > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            < option  value = "Validé" > Validé< / option > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            < option  value = "Refusé" > Refusé< / option > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        < / select > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        < input  type = "text"  id = "searchInput"  style = "margin-top: 10px;"  class = "filter-input w3-input w3-border"  placeholder = "Rechercher par nom de professeur..."  oninput = "filterTable()" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        
							 
						 
					
						
							
								
									
										
										
										
											2024-10-26 15:17:51 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        < div  class = "w3-responsive" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            < table  class = "w3-table w3-bordered w3-striped w3-white" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                < thead > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    < tr  class = "w3-light-grey" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        < th > Nom Professeur< / th > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        < th > Statut< / th > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        < th > Période< / th > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        < th > Heures Payées< / th > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        < th > Type Heure< / th > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        < th > Montant Brut (€)< / th > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        < th > Montant Net (€)< / th > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        < th > Date de Paiement< / th > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        < th > Statut de Paiement< / th > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    < / tr > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                < / thead > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                < tbody  id = "paymentTableBody" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    <!--  Les paiements seront ajoutés ici dynamiquement  --> 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                < / tbody > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            < / table > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        < / div > 
							 
						 
					
						
							
								
									
										
										
										
											2024-10-23 20:08:31 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        < div  class = "pagination" > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            < button  class = "w3-button w3-green w3-round"  id = "prevBtn"  onclick = "changePage(-1)" > Précédent< / button > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            < span  id = "pageInfo" > < / span > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            < button  class = "w3-button w3-green w3-round"  id = "nextBtn"  onclick = "changePage(1)" > Suivant< / button > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        < / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        < h3 > Graphique des Paiements< / h3 > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        < canvas  id = "paymentsChart"  width = "300"  height = "150" > < / canvas > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    < / div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    < script > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        const rowsPerPage = 7;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        let currentPage = 1;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        const payments = [
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            { name: 'Denis MONNERAT', status: 'Permanent', period: 'Janvier 2024', hoursPaid: 40, hourType: 'TD/TP', grossAmount: 3000, netAmount: 2400, paymentDate: '2024-01-31', paymentStatus: 'Validé' },
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            { name: 'Denis MONNERAT', status: 'Permanent', period: 'Février 2024', hoursPaid: 35, hourType: 'CM/TD', grossAmount: 2750, netAmount: 2200, paymentDate: '2024-02-29', paymentStatus: 'En attente' },
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            { name: 'Denis MONNERAT', status: 'Permanent', period: 'Mars 2024', hoursPaid: 38, hourType: 'CM/TD/TP', grossAmount: 2900, netAmount: 2320, paymentDate: '2024-03-31', paymentStatus: 'Validé' },
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            { name: 'Maxime MENAULT', status: 'Vacataire', period: 'Janvier 2024', hoursPaid: 20, hourType: 'TP', grossAmount: 1000, netAmount: 800, paymentDate: '2024-01-31', paymentStatus: 'Validé' },
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            { name: 'Maxime MENAULT', status: 'Vacataire', period: 'Février 2024', hoursPaid: 18, hourType: 'TP', grossAmount: 900, netAmount: 720, paymentDate: '2024-02-29', paymentStatus: 'Refusé' },
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            { name: 'Maxime MENAULT', status: 'Vacataire', period: 'Mars 2024', hoursPaid: 22, hourType: 'TP', grossAmount: 1100, netAmount: 880, paymentDate: '2024-03-31', paymentStatus: 'Validé' },
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            { name: 'Luc Hernandez', status: 'Permanent', period: 'Janvier 2024', hoursPaid: 45, hourType: 'CM/TD/Suivi', grossAmount: 3250, netAmount: 2600, paymentDate: '2024-01-31', paymentStatus: 'En attente' },
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            { name: 'Luc Hernandez', status: 'Permanent', period: 'Février 2024', hoursPaid: 40, hourType: 'CM/TP', grossAmount: 3000, netAmount: 2400, paymentDate: '2024-02-29', paymentStatus: 'Validé' },
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            { name: 'Luc Hernandez', status: 'Permanent', period: 'Mars 2024', hoursPaid: 42, hourType: 'TD/TP/Suivi', grossAmount: 3100, netAmount: 2480, paymentDate: '2024-03-31', paymentStatus: 'Refusé' },
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            { name: 'Chloé Lefebvre', status: 'Vacataire', period: 'Janvier 2024', hoursPaid: 25, hourType: 'CM', grossAmount: 1200, netAmount: 960, paymentDate: '2024-01-31', paymentStatus: 'Validé' },
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            { name: 'Chloé Lefebvre', status: 'Vacataire', period: 'Février 2024', hoursPaid: 20, hourType: 'CM', grossAmount: 1000, netAmount: 800, paymentDate: '2024-02-29', paymentStatus: 'En attente' },
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            { name: 'Chloé Lefebvre', status: 'Vacataire', period: 'Mars 2024', hoursPaid: 30, hourType: 'CM', grossAmount: 1500, netAmount: 1200, paymentDate: '2024-03-31', paymentStatus: 'Validé' },
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        ];
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        function renderTable() {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            const tableBody = document.getElementById('paymentTableBody');
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            tableBody.innerHTML = '';
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            const filteredPayments = filterPayments();
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            const startIndex = (currentPage - 1) * rowsPerPage;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            const endIndex = startIndex + rowsPerPage;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            const currentPayments = filteredPayments.slice(startIndex, endIndex);
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            currentPayments.forEach(payment => {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                const row = document.createElement('tr');
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                row.innerHTML = `
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    < td > ${payment.name}< / td > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    < td > ${payment.status}< / td > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    < td > ${payment.period}< / td > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    < td > ${payment.hoursPaid}< / td > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    < td > ${payment.hourType}< / td > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    < td > ${payment.grossAmount}< / td > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    < td > ${payment.netAmount}< / td > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    < td > ${payment.paymentDate}< / td > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    < td > ${payment.paymentStatus}< / td > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                `;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                tableBody.appendChild(row);
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            });
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            updatePagination(filteredPayments.length);
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            updateChart(filteredPayments);
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        function filterPayments() {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            const contractType = document.getElementById('contractTypeFilter').value;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            const paymentStatus = document.getElementById('paymentStatusFilter').value;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            const searchValue = document.getElementById('searchInput').value.toLowerCase();
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            return payments.filter(payment => {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                const matchesContract = !contractType || payment.status === contractType;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                const matchesStatus = !paymentStatus || payment.paymentStatus === paymentStatus;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                const matchesSearch = payment.name.toLowerCase().includes(searchValue);
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                return matchesContract & &  matchesStatus & &  matchesSearch;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            });
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        function updatePagination(totalFiltered) {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            const pageInfo = document.getElementById('pageInfo');
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            const totalPages = Math.ceil(totalFiltered / rowsPerPage);
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            pageInfo.innerText = `Page ${currentPage} sur ${totalPages}`;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            document.getElementById('prevBtn').disabled = currentPage === 1;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            document.getElementById('nextBtn').disabled = currentPage === totalPages;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        function changePage(direction) {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            currentPage += direction;
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            renderTable();
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        function updateChart(filteredPayments) {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            const permanentPayments = filteredPayments.filter(p => p.status === 'Permanent');
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            const temporaryPayments = filteredPayments.filter(p => p.status === 'Vacataire');
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            const permanentTotal = permanentPayments.reduce((sum, p) => sum + p.netAmount, 0);
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            const temporaryTotal = temporaryPayments.reduce((sum, p) => sum + p.netAmount, 0);
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            const ctx = document.getElementById('paymentsChart').getContext('2d');
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            const chart = new Chart(ctx, {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                type: 'bar',
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                data: {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    labels: ['Permanents', 'Vacataires'],
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    datasets: [{
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        label: 'Montant Net (€)',
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        data: [permanentTotal, temporaryTotal],
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        backgroundColor: ['rgba(54, 162, 235, 0.6)', 'rgba(255, 99, 132, 0.6)']
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    }]
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                },
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                options: {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    responsive: true,
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    scales: {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        y: {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                            beginAtZero: true,
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                            title: {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                                display: true,
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                                text: 'Montant Net (€)'
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                            }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                        }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                    }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            });
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        function filterTable() {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            currentPage = 1; // Reset to the first page on filter change
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            renderTable();
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        // Initial render
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        renderTable();
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    < / script > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    < script > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        function toggleMenu() {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            var x = document.getElementById("mobileMenu");
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            if (x.className.indexOf("w3-show") == -1) {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                x.className += " w3-show";
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            } else {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                x.className = x.className.replace(" w3-show", "");
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        }
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    < / script > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< / body > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								< / html >