72 lines
2.9 KiB
JavaScript
72 lines
2.9 KiB
JavaScript
|
|
const $ = (element) => document.getElementById(element);
|
||
|
|
|
||
|
|
const url_liste_conge_attente = $("liste-demande-conges").dataset.url
|
||
|
|
|
||
|
|
const tableau_liste_demande_conge = new Tabulator("#liste-demande-conges", {
|
||
|
|
layout : "fitColumns",
|
||
|
|
columns: [
|
||
|
|
{"title": "Nom et Prénom", "field": "prenom_nom"},
|
||
|
|
{"title": "Date de début", "field": "date_debut", formatter:"datetime", formatterParams:{
|
||
|
|
inputFormat:"yyyy-MM-dd",
|
||
|
|
outputFormat:"dd/MM/yy",
|
||
|
|
}},
|
||
|
|
{"title": "Date de fin", "field": "date_fin", formatter:"datetime", formatterParams:{
|
||
|
|
inputFormat:"yyyy-MM-dd",
|
||
|
|
outputFormat:"dd/MM/yy",
|
||
|
|
}},
|
||
|
|
{"title": "Type de congé", "field": "type"},
|
||
|
|
{"title": "Date de la demande", "field": "date_demande"},
|
||
|
|
{"title": "Validation par supérieur hiérarchique", "field": "validation_hierarchique", formatter:"tickCross", formatterParams :{
|
||
|
|
allowEmpty : true ,
|
||
|
|
}},
|
||
|
|
{"title": "Validation par supérieur hiérarchique", "field": "validation_direction", formatter:"tickCross", formatterParams :{
|
||
|
|
allowEmpty : true ,
|
||
|
|
}},
|
||
|
|
],
|
||
|
|
pagination: true,
|
||
|
|
paginationSize: 5
|
||
|
|
})
|
||
|
|
|
||
|
|
const bouton_demande_conges = $("bouton-demande-conge");
|
||
|
|
|
||
|
|
bouton_demande_conges.addEventListener("click", (e) => {
|
||
|
|
var modalDemandeConge = new bootstrap.Modal(document.getElementById('modalDemandeConge'));
|
||
|
|
modalDemandeConge.show();
|
||
|
|
})
|
||
|
|
|
||
|
|
tableau_liste_demande_conge.on("rowClick", function(row, rowData) {
|
||
|
|
const data = rowData.getData();
|
||
|
|
$("id_conge").value = data.id;
|
||
|
|
$("employe").value = data.prenom_nom;
|
||
|
|
$("type_conge").value = data.type;
|
||
|
|
$("date_debut").value = data.date_debut;
|
||
|
|
$("date_fin").value = data.date_fin;
|
||
|
|
$("date_demande").value = data.date_demande;
|
||
|
|
$("nombre_jours").value = data.nombre_jours;
|
||
|
|
$("solde_restant").value = data.solde_conge;
|
||
|
|
$("motif_refus").value = data.motif_refus;
|
||
|
|
|
||
|
|
if($("validation_hierarchique_valide") & $("validation_hierarchique_refuse")){
|
||
|
|
$("validation_hierarchique_valide").checked = data.validation_hierarchique === true;
|
||
|
|
$("validation_hierarchique_refuse").checked = data.validation_hierarchique === false;
|
||
|
|
}
|
||
|
|
|
||
|
|
if($("validation_direction_valide") & $("validation_direction_refuse")){
|
||
|
|
$("validation_direction_valide").checked = data.validation_direction === true;
|
||
|
|
$("validation_direction_refuse").checked = data.validation_direction === false;
|
||
|
|
}
|
||
|
|
|
||
|
|
const modal = new bootstrap.Modal(document.getElementById('detailsCongeModal'));
|
||
|
|
modal.show();
|
||
|
|
});
|
||
|
|
|
||
|
|
fetch(url_liste_conge_attente)
|
||
|
|
.then(response => response.json())
|
||
|
|
.then(data => {
|
||
|
|
if(data.success === true){
|
||
|
|
tableau_liste_demande_conge.setData(data.data)
|
||
|
|
}else{
|
||
|
|
alert(data.message)
|
||
|
|
}
|
||
|
|
})
|