243 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			243 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
<!DOCTYPE html>
 | 
						|
<html lang="fr">
 | 
						|
 | 
						|
<head>
 | 
						|
    <meta charset="UTF-8">
 | 
						|
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
 | 
						|
    <link rel="stylesheet" href="../../css/RH/style.css">
 | 
						|
    <link rel="stylesheet" href="../../css/RH/rh.css">
 | 
						|
    <link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css"> <!-- Include W3.CSS -->
 | 
						|
    <title>Gestion du Personnel</title>
 | 
						|
</head>
 | 
						|
 | 
						|
<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:200px; height:50px;">
 | 
						|
    </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-bar-item">
 | 
						|
        <a href="./rh.html" class="w3-bar-item w3-button">Accueil</a>
 | 
						|
        <a href="./gestion_personnel.html" class="w3-bar-item w3-button">Gestion du personnel</a>
 | 
						|
        <a href="./gestion-heures.html" class="w3-bar-item w3-button">Heures</a>
 | 
						|
        <a href="./candidature.html" class="w3-bar-item w3-button">Candidatures</a>
 | 
						|
        <a href="./mes-informations.html" class="w3-bar-item w3-button">Mes informations et documents</a>
 | 
						|
    </div>
 | 
						|
 | 
						|
    <!-- Section utilisateur avec déconnexion -->
 | 
						|
    <div class="user-section w3-bar-item w3-right">
 | 
						|
        <div class="user-name w3-padding-16">
 | 
						|
            Alice BERGER
 | 
						|
        </div>
 | 
						|
        <div class="logout-container w3-bar-item">
 | 
						|
            <a href="../../index.html" title="Se déconnecter">
 | 
						|
                <img src="../../media/img/LogOutWhite.png" alt="Logo Déconnexion" style="width:25px; height:25px;">
 | 
						|
            </a>
 | 
						|
        </div>
 | 
						|
    </div>
 | 
						|
</div>
 | 
						|
 | 
						|
    <main class="w3-container">
 | 
						|
        <section>
 | 
						|
            <h2>Gestion du personnel</h2>
 | 
						|
            <!-- Barre de recherche -->
 | 
						|
            <div class="w3-margin-bottom">
 | 
						|
                <input type="text" id="search-input" placeholder="Rechercher par nom" oninput="filterTable()" class="w3-input w3-border">
 | 
						|
            </div>
 | 
						|
 | 
						|
            <!-- Conteneur de tri -->
 | 
						|
            <div class="w3-margin-bottom">
 | 
						|
                <button class="w3-button w3-green" onclick="sortTable(0)">Trier par Nom</button>
 | 
						|
                <button class="w3-button w3-green" onclick="sortTable(1)">Trier par Prénom</button>
 | 
						|
                <button class="w3-button w3-green" onclick="sortTable(2)">Trier par Statut</button>
 | 
						|
                <button class="w3-button w3-green" onclick="sortTable(3)">Trier par Dernière Intervention</button>
 | 
						|
            </div>
 | 
						|
 | 
						|
            <table class="w3-table w3-bordered w3-white">
 | 
						|
                <thead>
 | 
						|
                    <tr class="w3-green">
 | 
						|
                        <th>Nom</th>
 | 
						|
                        <th>Prénom</th>
 | 
						|
                        <th>Statut</th>
 | 
						|
                        <th>Statut du paiement</th>
 | 
						|
                        <th>Dernière Intervention</th>
 | 
						|
                        <th>Actions</th>
 | 
						|
                    </tr>
 | 
						|
                </thead>
 | 
						|
                <tbody id="personnel-table">
 | 
						|
                    <tr>
 | 
						|
                        <td>Dupont</td>
 | 
						|
                        <td>Jean</td>
 | 
						|
                        <td>Professeur Vacataire</td>
 | 
						|
                        <td>En attente</td>
 | 
						|
                        <td>01/10/2024</td>
 | 
						|
                        <td>
 | 
						|
                            <button class="w3-button w3-green" onclick="openModal2('Dupont', 'Jean', 'Professeur Vacataire', '01/10/2024')">Modifier</button>
 | 
						|
                            <button class="w3-button w3-red" onclick="supprimerPersonnel('Dupont', 'Jean')">Supprimer</button>
 | 
						|
                            <button class="w3-button w3-orange" onclick="voirDetails('Dupont', 'Jean', 'Professeur Vacataire', '01/10/2024')">Voir Détails</button>
 | 
						|
                        </td>
 | 
						|
                    </tr>
 | 
						|
                    <tr>
 | 
						|
                        <td>Martin</td>
 | 
						|
                        <td>Sophie</td>
 | 
						|
                        <td>Professeur Vacataire</td>
 | 
						|
                        <td>En attente</td>
 | 
						|
                        <td>15/09/2024</td>
 | 
						|
                        <td>
 | 
						|
                            <button class="w3-button w3-green" onclick="openModal2('Martin', 'Sophie', 'Professeur Vacataire', '15/09/2024')">Modifier</button>
 | 
						|
                            <button class="w3-button w3-red" onclick="supprimerPersonnel('Martin', 'Sophie')">Supprimer</button>
 | 
						|
                            <button class="w3-button w3-orange" onclick="voirDetails('Martin', 'Sophie', 'Professeur Vacataire', '15/09/2024')">Voir Détails</button>
 | 
						|
                        </td>
 | 
						|
                    </tr>
 | 
						|
                </tbody>
 | 
						|
            </table>
 | 
						|
            <button class="w3-button w3-green" style="margin-bottom: 10px;" onclick="ajouterPersonnel()">Ajouter un Personnel</button>
 | 
						|
        </section>
 | 
						|
    </main>
 | 
						|
 | 
						|
    <!-- Modal pour modifier le personnel -->
 | 
						|
    <div id="myModal" class="modal w3-modal">
 | 
						|
        <div class="w3-modal-content w3-card-4">
 | 
						|
            <span class="w3-button w3-display-topright" onclick="closeModal()">×</span>
 | 
						|
            <h2 class="w3-green">Modifier le Personnel</h2>
 | 
						|
            <form id="edit-form" class="w3-container">
 | 
						|
                <label for="nom">Nom:</label>
 | 
						|
                <input type="text" id="nom" required class="w3-input w3-border"><br>
 | 
						|
                <label for="prenom">Prénom:</label>
 | 
						|
                <input type="text" id="prenom" required class="w3-input w3-border"><br>
 | 
						|
                <label for="statut">Statut:</label>
 | 
						|
                <input type="text" id="statut" required class="w3-input w3-border"><br>
 | 
						|
                <label for="intervention">Dernière Intervention:</label>
 | 
						|
                <input type="date" id="intervention" required class="w3-input w3-border"><br>
 | 
						|
                <button type="submit" class="w3-button w3-green">Enregistrer</button>
 | 
						|
            </form>
 | 
						|
        </div>
 | 
						|
    </div>
 | 
						|
 | 
						|
    <!-- Modal pour voir les détails du personnel -->
 | 
						|
    <div id="detailModal" class="modal w3-modal">
 | 
						|
        <div class="w3-modal-content w3-card-4">
 | 
						|
            <span class="w3-button w3-display-topright" onclick="closeDetailModal()">×</span>
 | 
						|
            <h2 class="w3-green">Détails de Personnel</h2>
 | 
						|
            <p id="detail-info"></p>
 | 
						|
            <p id="coordonnees"></p>
 | 
						|
            <h3>Heures à Payer</h3>
 | 
						|
            <p id="heures-a-payer"></p>
 | 
						|
            <h3>Demandes de Corrections d'Heures</h3>
 | 
						|
            <ul id="corrections-list"></ul>
 | 
						|
            <h3>Documents</h3>
 | 
						|
            <ul id="documents-list"></ul>
 | 
						|
            <h3>Statut</h3>
 | 
						|
            <p id="statut-detail"></p>
 | 
						|
            <button class="w3-button w3-green" onclick="lancerProcedurePaiement()">Lancer la Procédure de Paiement</button>
 | 
						|
        </div>
 | 
						|
    </div>
 | 
						|
 | 
						|
 | 
						|
    <div class="w3-container w3-center w3-padding-16 w3-text-white" style="background-color: #0f431f;">
 | 
						|
        <p>© 2024 IUT de Fontainebleau. Tous droits réservés | 
 | 
						|
            <a href="../mentions_legales.html" class="w3-text-white">Mentions légales</a>
 | 
						|
        </p>
 | 
						|
    </div>
 | 
						|
 | 
						|
    <script>
 | 
						|
        let sortOrder = [true, true, true, true]; // Array to keep track of sort order for each column
 | 
						|
 | 
						|
        function sortTable(columnIndex) {
 | 
						|
            const table = document.getElementById("personnel-table");
 | 
						|
            const rows = Array.from(table.rows);
 | 
						|
            const direction = sortOrder[columnIndex] ? 1 : -1; // Determine sorting direction
 | 
						|
            sortOrder[columnIndex] = !sortOrder[columnIndex]; // Toggle sort order for the next click
 | 
						|
 | 
						|
            rows.sort((a, b) => {
 | 
						|
                const aText = a.cells[columnIndex].textContent.trim();
 | 
						|
                const bText = b.cells[columnIndex].textContent.trim();
 | 
						|
 | 
						|
                if (columnIndex === 3) { // Date column (Dernière Intervention)
 | 
						|
                    return direction * (new Date(aText) - new Date(bText));
 | 
						|
                }
 | 
						|
                return direction * aText.localeCompare(bText);
 | 
						|
            });
 | 
						|
 | 
						|
            rows.forEach(row => table.appendChild(row)); // Re-append sorted rows
 | 
						|
        }
 | 
						|
 | 
						|
        function filterTable() {
 | 
						|
            const input = document.getElementById("search-input");
 | 
						|
            const filter = input.value.toLowerCase();
 | 
						|
            const table = document.getElementById("personnel-table");
 | 
						|
            const rows = table.getElementsByTagName("tr");
 | 
						|
 | 
						|
            for (let i = 0; i < rows.length; i++) {
 | 
						|
                const cells = rows[i].getElementsByTagName("td");
 | 
						|
                let rowVisible = false;
 | 
						|
 | 
						|
                for (let j = 0; j < cells.length; j++) {
 | 
						|
                    if (cells[j].textContent.toLowerCase().includes(filter)) {
 | 
						|
                        rowVisible = true;
 | 
						|
                        break;
 | 
						|
                    }
 | 
						|
                }
 | 
						|
                rows[i].style.display = rowVisible ? "" : "none"; // Show or hide row
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        function openModal2(nom, prenom, statut, intervention) {
 | 
						|
            // Populate the modal with the data
 | 
						|
            document.getElementById("nom").value = nom;
 | 
						|
            document.getElementById("prenom").value = prenom;
 | 
						|
            document.getElementById("statut").value = statut;
 | 
						|
            document.getElementById("intervention").value = intervention;
 | 
						|
            document.getElementById("myModal").style.display = "block"; // Show modal
 | 
						|
        }
 | 
						|
 | 
						|
        function closeModal() {
 | 
						|
            document.getElementById("myModal").style.display = "none"; // Hide modal
 | 
						|
        }
 | 
						|
 | 
						|
        function closeDetailModal() {
 | 
						|
            document.getElementById("detailModal").style.display = "none"; // Hide detail modal
 | 
						|
        }
 | 
						|
 | 
						|
        function ajouterPersonnel() {
 | 
						|
            // Logic to add personnel
 | 
						|
            alert("Ajouter personnel n'est pas encore implémentée.");
 | 
						|
        }
 | 
						|
 | 
						|
        function supprimerPersonnel(nom, prenom) {
 | 
						|
            // Logic to delete personnel
 | 
						|
            alert(`Suppression de ${prenom} ${nom} n'est pas encore implémentée.`);
 | 
						|
        }
 | 
						|
 | 
						|
        function voirDetails(nom, prenom, statut, intervention) {
 | 
						|
            // Populate the detail modal with personnel details
 | 
						|
            const detailInfo = `Nom: ${nom}, Prénom: ${prenom}, Statut: ${statut}, Dernière Intervention: ${intervention}`;
 | 
						|
            document.getElementById("detail-info").textContent = detailInfo;
 | 
						|
            document.getElementById("heures-a-payer").textContent = "Heures à payer : 10h"; // Example data
 | 
						|
            document.getElementById("statut-detail").textContent = "Statut: En attente"; // Example data
 | 
						|
            document.getElementById("detailModal").style.display = "block"; // Show detail modal
 | 
						|
        }
 | 
						|
 | 
						|
        function lancerProcedurePaiement() {
 | 
						|
            alert("Procédure de paiement lancée."); // Example action
 | 
						|
        }
 | 
						|
 | 
						|
        function toggleMenu() {
 | 
						|
            var menu = document.getElementById('menu');
 | 
						|
            var nom = document.getElementById('user-section');
 | 
						|
            if (menu.classList.contains('w3-hide-small')) {
 | 
						|
                menu.classList.remove('w3-hide-small');
 | 
						|
                menu.classList.remove('user-section');
 | 
						|
            } else {
 | 
						|
                menu.classList.add('w3-hide-small');
 | 
						|
            }
 | 
						|
        }
 | 
						|
    </script>
 | 
						|
</body>
 | 
						|
 | 
						|
</html>
 |