14/12/2023 - 08h30

recette2
cherif 2023-12-14 08:47:21 +01:00
parent 1fc4fe31cb
commit 3801817487
2 changed files with 188 additions and 18 deletions

View File

@ -316,8 +316,8 @@ const Employes = (props) => {
{ field: 'rh_id', headerName: 'rh_id', flex: 1, hideable: false, hide: true, },
{ field: 'date_debut', headerName: 'Du', width: 150, hide: false, },
{ field: 'date_fin', headerName: 'Au', width: 150, hide: false, },
{ field: 'type_contrat', headerName: 'Type Contrat', flex: 1, hide: false, width: 150,},
{ field: 'type_employe', headerName: 'Type Employé', flex: 1, hide: false, width: 150,},
{ field: 'type_contrat', headerName: 'Type Contrat', flex: 1, hide: false, width: 150, },
{ field: 'type_employe', headerName: 'Type Employé', flex: 1, hide: false, width: 150, },
{
field: "delete", headerName: 'Supprimer',
@ -327,9 +327,6 @@ const Employes = (props) => {
<Popup
trigger={<Button
onClick={(event) => {
//handleClick_delete(event, cellValues);
}}
>
<CiTrash />
@ -353,7 +350,7 @@ const Employes = (props) => {
<div className="gest_actions">
<div style={{ "width": "45%", "float": "left" }}>
<button className="gest_bton_popup" onClick={(event) => {
//handleClick_delete_affection(event, cellValues);
handleClick_delete_employee_contrat(event, cellValues);
//console.log('modal closed ');
close();
}}> Valider </button>
@ -3798,6 +3795,13 @@ const Employes = (props) => {
const Dialog_employe_contrat_handleClose_buton = () => {
setp_employe_contrat_type_contrat();
setp_employe_contrat_type_employe();
setp_employe_contrat_cout();
setp_employe_contrat_groupe_prix_achat_id();
setp_employe_contrat_date_debut(new Date().toLocaleDateString('fr-FR'));
setp_employe_contrat_date_fin(date_today_90j.toLocaleDateString('fr-FR'));
setselected_contrat_id("");
setDialog_employe_contrat_open(false);
};
@ -3806,13 +3810,70 @@ const Employes = (props) => {
setDialog_employe_contrat_open(false);
};
const [handleClick_delete_employee_contrat_api, sethandleClick_delete_employee_contrat_api] = useState();
const [handleClick_delete_employee_contrat_message, sethandleClick_delete_employee_contrat_message] = useState();
const [handleClick_delete_employee_contrat_result, sethandleClick_delete_employee_contrat_result] = useState();
function handleClick_delete_employee_contrat(event, cellValues) {
var local_employe_id = cellValues.row._id;
var form = new FormData();
const stored_cookie = getCookie('tokenmysypart');
form.append("token", stored_cookie);
form.append("_id", local_employe_id);
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Delete_Employee_Contrat/";
setLoading(true);
axios.post(myurl, form).then(res => {
setLoading(false);
if (String(res.data.status) === String("true")) {
//console.log(" In handleClick_delete_employee_contrat res.data.status = " + res.data.status);
//console.log(" In handleClick_delete_employee_contrat res.data.message r_class = " + res.data.message);
sethandleClick_delete_employee_contrat_api("true");
sethandleClick_delete_employee_contrat_result(res.data.message);
Dialog_employe_contrat_handleClose_buton();
Dialog_employe_contrat_handleClose_buton();
Getall_Employee_Contrat(selected_id);
Get_Partner_Purchase_Prices();
setselectionModel_contrat([]);
if (document.getElementById('myRef_contrat')) {
var divh = document.getElementById('myRef_contrat').offsetTop;
window.scrollTo({
top: divh,
behavior: "smooth",
});
}
alert(res.data.message);
}
else {
sethandleClick_delete_employee_contrat_api("false");
sethandleClick_delete_employee_contrat_message(res.data.message);
alert(res.data.message);
}
}).catch((error) => {
setLoading(false);
console.warn('Not good man :( handleClick_delete_employee_contrat = ', error);
sethandleClick_delete_employee_contrat_api("false");
alert(" Impossible de supprimer le contrat");
//setmyApimyApiMessage("")
})
}
const [selected_contrat_id, setselected_contrat_id] = useState();
const [p_employe_contrat_type_contrat, setp_employe_contrat_type_contrat] = useState("");
const [p_employe_contrat_type_employe, setp_employe_contrat_type_employe] = useState("");
const [p_employe_contrat_cout, setp_employe_contrat_cout] = useState("");
const [p_employe_contrat_groupe_prix_achat_id, setp_employe_contrat_groupe_prix_achat_id] = useState("");
const [p_employe_contrat_date_debut, setp_employe_contrat_date_debut] = useState(new Date().toLocaleDateString('fr-FR'));
const [p_employe_contrat_date_fin, setp_employe_contrat_date_fin] = useState(date_today_90j.toLocaleDateString('fr-FR'));
@ -3863,8 +3924,8 @@ const Employes = (props) => {
var line = JSON.parse(Getall_Employee_Contrat_result[row_id]);
//console.log("### line = ", line);
var employe_id = line._id;
setselected_id(employe_id);
var contrat_id = line._id;
setselected_contrat_id(contrat_id);
setp_employe_contrat_type_contrat(line.type_contrat);
setp_employe_contrat_type_employe(line.type_employe);
@ -3877,6 +3938,88 @@ const Employes = (props) => {
}
const [Add_Update_Employee_Contrat_api, setAdd_Update_Employee_Contrat_api] = useState();
const [Add_Update_Employee_Contrat_message, setAdd_Update_Employee_Contrat_message] = useState();
const [Add_Update_Employee_Contrat_result, setAdd_Update_Employee_Contrat_result] = useState();
function Add_Update_Employee_Contrat(event) {
var form = new FormData();
const stored_cookie = getCookie('tokenmysypart');
form.append("token", stored_cookie);
var myurl = "";
if (String(selected_contrat_id).trim().length > 2) {
// Il s'agit d'une mise à jour
myurl = process.env.REACT_APP_API_URL + "myclass/api/Update_Employee_Contrat/";
form.append("_id", selected_contrat_id);
form.append("rh_id", selected_id);
form.append("date_debut", p_employe_contrat_date_debut);
form.append("date_fin", p_employe_contrat_date_fin);
form.append("type_contrat", p_employe_contrat_type_contrat);
form.append("type_employe", p_employe_contrat_type_employe);
form.append("cout", p_employe_contrat_cout);
form.append("groupe_prix_achat_id", p_employe_contrat_groupe_prix_achat_id);
} else {
// Il s'agit d'une creation
myurl = process.env.REACT_APP_API_URL + "myclass/api/Add_Employee_Contrat/";
form.append("rh_id", selected_id);
form.append("date_debut", p_employe_contrat_date_debut);
form.append("date_fin", p_employe_contrat_date_fin);
form.append("type_contrat", p_employe_contrat_type_contrat);
form.append("type_employe", p_employe_contrat_type_employe);
form.append("cout", p_employe_contrat_cout);
form.append("groupe_prix_achat_id", p_employe_contrat_groupe_prix_achat_id);
}
setLoading(true);
axios.post(myurl, form).then(res => {
setLoading(false);
if (String(res.data.status) === String("true")) {
//console.log(" In Add_Update_Employee_Contrat res.data.status = " + res.data.status);
//console.log(" In Add_Update_Employee_Contrat res.data.message r_class = " + res.data.message);
setAdd_Update_Employee_Contrat_api("true");
setAdd_Update_Employee_Contrat_result(res.data.message);
Dialog_employe_contrat_handleClose_buton();
Getall_Employee_Contrat(selected_id);
Get_Partner_Purchase_Prices();
setselectionModel_contrat([]);
if (document.getElementById('myRef_contrat')) {
var divh = document.getElementById('myRef_contrat').offsetTop;
window.scrollTo({
top: divh,
behavior: "smooth",
});
}
alert(res.data.message);
}
else {
setAdd_Update_Employee_Contrat_api("false");
setAdd_Update_Employee_Contrat_message(res.data.message);
alert(res.data.message);
}
}).catch((error) => {
setLoading(false);
console.warn('Not good man :( Add_Update_Employee_Contrat = ', error);
setAdd_Update_Employee_Contrat_api("false");
alert(" Impossible d'ajouter / mettre à jour le contrat");
//setmyApimyApiMessage("")
})
}
const myRef_contrat = useRef(null)
return (
<div className="employes">
@ -4117,8 +4260,11 @@ const Employes = (props) => {
}
}
>
<MenuItem value="cdi" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >CDI &nbsp;</MenuItem>
<MenuItem value="cdd" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >CDD &nbsp;</MenuItem>
<MenuItem value="cadre" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Cadre &nbsp;</MenuItem>
<MenuItem value="employe" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Employé &nbsp;</MenuItem>
<MenuItem value="stagiaire" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Stagiaire &nbsp;</MenuItem>
<MenuItem value="independant" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Independant &nbsp;</MenuItem>
<MenuItem value="contractuel" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Contractuel &nbsp;</MenuItem>
<MenuItem value="autre" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Autre &nbsp;</MenuItem>
@ -4238,8 +4384,8 @@ const Employes = (props) => {
<div className="div_row">
<div className="div_row_gauche">
{String(selected_contrat_id).trim().length > 2 && <Button onClick={"Add_Update_Grp_Purchase_Price"} className="bton_enreg_dialog">Mettre à jour</Button>}
{String(selected_contrat_id).trim() === "" && <Button onClick={"Add_Update_Grp_Purchase_Price"} className="bton_enreg_dialog">Ajouter</Button>}
{String(selected_contrat_id).trim().length > 2 && <Button onClick={Add_Update_Employee_Contrat} className="bton_enreg_dialog">Mettre à jour</Button>}
{String(selected_contrat_id).trim() === "" && <Button onClick={Add_Update_Employee_Contrat} className="bton_enreg_dialog">Ajouter</Button>}
</div>
<div className="div_row_droite" style={{ "textAlign": 'center' }}>
@ -6834,17 +6980,15 @@ const Employes = (props) => {
</div>
</div>}
{String(submenu) === "contrat" && <div className="div_row" style={{"paddingRight":"10px"}}>
<nav style={{ "border": "None", "fontSize": "22px", "fontWeight": "600" }}> Droit Acces </nav>
{String(submenu) === "contrat" && <div className="div_row" style={{ "paddingRight": "10px" }} ref={myRef_contrat}>
<nav style={{ "border": "None", "fontSize": "22px", "fontWeight": "600" }}> Detail contrat(s) </nav>
<div className="div_row">
<Button variant="outlined" onClick={submenu_detail_employe} className="detail_class_submenu" id='detail_employe' name='detail_employe'>Détail employé</Button>
<Button variant="outlined" onClick={submenu_droit_acces} className="detail_class_submenu" id='droit_acces' name='droit_acces'>Droits d'acces </Button>
<Button variant="outlined" onClick={submenu_affectation} className="detail_class_submenu" id='affectation' name='affectation'>Affectation </Button>
<Button variant="outlined" onClick={submenu_contrat} className="detail_class_submenu" id='affectation' name='contrat'>Contrat </Button>
</div>
<nav style={{ "border": "None", "fontSize": "22px", "fontWeight": "600" }}>Detail contrat(s) </nav>
&nbsp;
<div style={{ height: 550, width: '100%', paddingRight: '1px', "marginLeft": "10px", "marginRight": "10px", }}>
&nbsp;
<Box
@ -6908,6 +7052,30 @@ const Employes = (props) => {
<br />
</div>
<div className="div_row" style={{ "border": "None" }}>
<div className="div_row_gauche div_row_gauche_etendu" style={{ "textAlign": "left", "paddingLeft": "5px" }}>
<Button variant="outlined" onClick={() => {
setp_employe_contrat_type_contrat();
setp_employe_contrat_type_employe();
setp_employe_contrat_cout();
setp_employe_contrat_groupe_prix_achat_id();
setp_employe_contrat_date_debut(new Date().toLocaleDateString('fr-FR'));
setp_employe_contrat_date_fin(date_today_90j.toLocaleDateString('fr-FR'));
setselected_contrat_id("");
setDialog_employe_contrat_open(true);
}}
className="detail_class_submenu bton_add_session"
id='menu_import_participant' name='menu_import_participant'>Ajout 1 Contrat &nbsp;
<img src={add_plus} alt="ajout commande" className="icon_plus" />
</Button>
</div>
</div>
</div>
}

View File

@ -371,6 +371,8 @@ const Partner_Prix_Achat = (props) => {
//setmyApimyApiMessage("")
})
}
const [dialog_data_changed, setdialog_data_changed] = useState();
return (