22/09/2023 - 18h53
parent
a3d9886bc0
commit
3e02c431c0
|
@ -372,7 +372,7 @@ const AddParnerClient = (props) => {
|
||||||
const [addcontact, setaddcontact] = useState("0");
|
const [addcontact, setaddcontact] = useState("0");
|
||||||
function Add_Contact() {
|
function Add_Contact() {
|
||||||
setdatamodification_contact("0");
|
setdatamodification_contact("0");
|
||||||
setformedit_mode_contact("0");
|
setformedit_mode_contact("1");
|
||||||
clean_contact_set_values();
|
clean_contact_set_values();
|
||||||
setaddcontact("1");
|
setaddcontact("1");
|
||||||
setcurrent_contact_recid("");
|
setcurrent_contact_recid("");
|
||||||
|
@ -1701,13 +1701,13 @@ const AddParnerClient = (props) => {
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
// Il s'agit d'un ajout d'une nouvelle activité. on a rien dans le current_activite_recid
|
// Il s'agit d'un ajout d'une nouvelle activité. on a rien dans le current_activite_recid
|
||||||
myurl = process.env.REACT_APP_API_URL + "myclass/api/Add_activite/";
|
myurl = process.env.REACT_APP_API_URL + "myclass/api/Add_Contact/";
|
||||||
form.append("related_collection", "partner_client");
|
form.append("related_collection", "partner_client");
|
||||||
form.append("related_collection_owner_email", p_client_email);
|
form.append("related_collection_owner_email", p_client_email);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
console.log(" ### current_contact_recid = ", current_contact_recid, " myurl = ", myurl)
|
//console.log(" ### current_contact_recid = ", current_contact_recid, " myurl = ", myurl)
|
||||||
|
|
||||||
// Données de contact du client du partner
|
// Données de contact du client du partner
|
||||||
var contact_email = ""
|
var contact_email = ""
|
||||||
|
@ -1952,6 +1952,7 @@ const AddParnerClient = (props) => {
|
||||||
|
|
||||||
|
|
||||||
Disable_contact_fields();
|
Disable_contact_fields();
|
||||||
|
setformedit_mode_contact("0");
|
||||||
|
|
||||||
}
|
}
|
||||||
else if (String(res.data.status) === String("Err_Connexion")) {
|
else if (String(res.data.status) === String("Err_Connexion")) {
|
||||||
|
@ -2531,8 +2532,8 @@ const AddParnerClient = (props) => {
|
||||||
{String(submenu).trim() === "submenu_contact" && <div className="training_data">
|
{String(submenu).trim() === "submenu_contact" && <div className="training_data">
|
||||||
|
|
||||||
{String(addcontact) !== "1" && <div className="div_row" style={{ "marginLeft": "5px", "marginRight": "5px", "paddingRight": "10px" }}>
|
{String(addcontact) !== "1" && <div className="div_row" style={{ "marginLeft": "5px", "marginRight": "5px", "paddingRight": "10px" }}>
|
||||||
<div className="div_row" onClick={Add_Contact} > <AiOutlineUserAdd /> Ajouter un contact </div>
|
<div className="div_row" onClick={Add_Contact} style={{ "cursor": "pointer" }}> <AiOutlineUserAdd /> Ajouter un contact </div>
|
||||||
<div className="div_row scroll_mysy">
|
<div className="div_row scroll_mysy" style={{ "height": "30rem", }}>
|
||||||
<div className="contact_grid">
|
<div className="contact_grid">
|
||||||
|
|
||||||
{Get_List_Contact_Of_client_Part_result && String(Get_List_Contact_Of_client_Part_api) === "true" &&
|
{Get_List_Contact_Of_client_Part_result && String(Get_List_Contact_Of_client_Part_api) === "true" &&
|
||||||
|
@ -2569,7 +2570,7 @@ const AddParnerClient = (props) => {
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="training_caract">
|
{ String(formedit_mode_contact) === "1" && <div className="training_caract">
|
||||||
<TextField
|
<TextField
|
||||||
required
|
required
|
||||||
name="contact_civilite"
|
name="contact_civilite"
|
||||||
|
@ -2577,13 +2578,38 @@ const AddParnerClient = (props) => {
|
||||||
InputLabelProps={{
|
InputLabelProps={{
|
||||||
shrink: true,
|
shrink: true,
|
||||||
}}
|
}}
|
||||||
|
select
|
||||||
|
disabled={false}
|
||||||
|
className="disabled_style"
|
||||||
|
value={p_contact_civilite}
|
||||||
|
onChange={(e) => setp_contact_civilite(e.target.value)}
|
||||||
|
|
||||||
|
>
|
||||||
|
<MenuItem value="Mme" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Mme. </MenuItem>
|
||||||
|
<MenuItem value="M." style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >M. </MenuItem>
|
||||||
|
<MenuItem value="Neutre" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }}>Neutre </MenuItem>
|
||||||
|
|
||||||
|
|
||||||
|
</TextField>
|
||||||
|
</div>}
|
||||||
|
|
||||||
|
{ String(formedit_mode_contact) !== "1" && <div className="training_caract">
|
||||||
|
<TextField
|
||||||
|
required
|
||||||
|
name="contact_civilite"
|
||||||
|
label="Civilité"
|
||||||
|
InputLabelProps={{
|
||||||
|
shrink: true,
|
||||||
|
}}
|
||||||
|
|
||||||
disabled={false}
|
disabled={false}
|
||||||
className="disabled_style"
|
className="disabled_style"
|
||||||
value={p_contact_civilite}
|
value={p_contact_civilite}
|
||||||
onChange={(e) => setp_contact_civilite(e.target.value)}
|
onChange={(e) => setp_contact_civilite(e.target.value)}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
</div>
|
|
||||||
|
</div>}
|
||||||
|
|
||||||
|
|
||||||
<div className="training_caract">
|
<div className="training_caract">
|
||||||
|
|
|
@ -1930,7 +1930,7 @@ const Config_Documents = (props) => {
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div className="div_row_droite" style={{ "textAlign": "left" }}>
|
<div className="div_row_droite" style={{ "textAlign": "left" }}>
|
||||||
<div className="div_row"> Choisir un champ fff <br />
|
<div className="div_row"> Choisir un champ <br />
|
||||||
<TextField
|
<TextField
|
||||||
name="one_champ_table"
|
name="one_champ_table"
|
||||||
id="one_champ_table"
|
id="one_champ_table"
|
||||||
|
|
|
@ -3680,7 +3680,7 @@ const DisplayPartnerSession = (props) => {
|
||||||
if (String(result['status']) === String("true")) {
|
if (String(result['status']) === String("true")) {
|
||||||
setrecord_Stagiaire_Image_api("true");
|
setrecord_Stagiaire_Image_api("true");
|
||||||
setuserimgclassprofilchanged("");
|
setuserimgclassprofilchanged("");
|
||||||
alert(" L'image à jour a été mise enregistrée ");
|
alert(" L'image a été enregistrée ");
|
||||||
|
|
||||||
} else if (String(result['status']) === String("Err_Connexion")) {
|
} else if (String(result['status']) === String("Err_Connexion")) {
|
||||||
alert('Erreur: ' + result['message']);
|
alert('Erreur: ' + result['message']);
|
||||||
|
|
|
@ -1352,7 +1352,7 @@ const DisplayPartnerStagiaires = (props) => {
|
||||||
if (String(result['status']) === String("true")) {
|
if (String(result['status']) === String("true")) {
|
||||||
setrecord_Stagiaire_Image_api("true");
|
setrecord_Stagiaire_Image_api("true");
|
||||||
setuserimgclassprofilchanged("");
|
setuserimgclassprofilchanged("");
|
||||||
alert(" L'image à jour a été mise enregistrée ");
|
alert(" L'image a été enregistrée ");
|
||||||
|
|
||||||
} else if (String(result['status']) === String("Err_Connexion")) {
|
} else if (String(result['status']) === String("Err_Connexion")) {
|
||||||
alert('Erreur: ' + result['message']);
|
alert('Erreur: ' + result['message']);
|
||||||
|
@ -2063,10 +2063,11 @@ const DisplayPartnerStagiaires = (props) => {
|
||||||
if (String(res.data.status) === String("true")) {
|
if (String(res.data.status) === String("true")) {
|
||||||
setOne_Create_Participant_api("true");
|
setOne_Create_Participant_api("true");
|
||||||
setOne_Create_Participant_result(res.data.message);
|
setOne_Create_Participant_result(res.data.message);
|
||||||
alert(" Le participant a été correctement ajouté");
|
|
||||||
setaddOneParticipant();
|
setaddOneParticipant();
|
||||||
Getall_TrainingParticipant();
|
Getall_TrainingParticipant();
|
||||||
clear_one_Attende_Fields();
|
clear_one_Attende_Fields();
|
||||||
|
alert(" Le participant a été correctement ajouté");
|
||||||
|
myRef_head.current.scrollIntoView({ behavior: "smooth" });
|
||||||
|
|
||||||
} else if (String(res.data.status) === String("Err_Connexion")) {
|
} else if (String(res.data.status) === String("Err_Connexion")) {
|
||||||
alert('Erreur: ' + res.data.message);
|
alert('Erreur: ' + res.data.message);
|
||||||
|
@ -2082,7 +2083,7 @@ const DisplayPartnerStagiaires = (props) => {
|
||||||
|
|
||||||
console.warn('One_Create_Participant : Not good man :( = ' + error);
|
console.warn('One_Create_Participant : Not good man :( = ' + error);
|
||||||
setOne_Create_Participant_api("false");
|
setOne_Create_Participant_api("false");
|
||||||
alert(" Impossible d'ajouter le participants")
|
alert(" Impossible d'ajouter le participant")
|
||||||
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ -3293,7 +3294,7 @@ const DisplayPartnerStagiaires = (props) => {
|
||||||
>
|
>
|
||||||
{GetCurrentPartnerClass_result &&
|
{GetCurrentPartnerClass_result &&
|
||||||
GetCurrentPartnerClass_result.map((myclass) => (
|
GetCurrentPartnerClass_result.map((myclass) => (
|
||||||
<MenuItem key={JSON.parse(myclass).title} value={JSON.parse(myclass).internal_url} style={{ "paddingLeft": "5px", "textAlign": "left", }}>
|
<MenuItem key={JSON.parse(myclass).title} value={JSON.parse(myclass).internal_url} style={{ "paddingLeft": "5px", "textAlign": "left", "width":"100%" }}>
|
||||||
{JSON.parse(myclass).title}
|
{JSON.parse(myclass).title}
|
||||||
|
|
||||||
</MenuItem>
|
</MenuItem>
|
||||||
|
|
|
@ -67,11 +67,11 @@ const Employes = (props) => {
|
||||||
const columns = [
|
const columns = [
|
||||||
{ field: '_id', headerName: '_id', hide: true },
|
{ field: '_id', headerName: '_id', hide: true },
|
||||||
{ field: 'id', headerName: 'id', hide: true },
|
{ field: 'id', headerName: 'id', hide: true },
|
||||||
{ field: 'email', headerName: 'email', width: 150, hideable: false, },
|
{ field: 'email', headerName: 'email', flex: 1, hideable: false, },
|
||||||
{ field: 'nom', headerName: 'nom', width: 150, hide: false, editable: true },
|
{ field: 'nom', headerName: 'nom', flex: 1, hide: false, },
|
||||||
{ field: 'prenom', headerName: 'prenom', width: 150, hide: false, editable: true },
|
{ field: 'prenom', headerName: 'prenom', flex: 1, hide: false, },
|
||||||
{
|
{
|
||||||
field: 'ismanager', headerName: 'Manager', width: 150, hide: false, editable: true,
|
field: 'ismanager', headerName: 'Manager', width: 150, hide: false,
|
||||||
valueFormatter: (params) => {
|
valueFormatter: (params) => {
|
||||||
if (String(params.value) === "0")
|
if (String(params.value) === "0")
|
||||||
return "Non";
|
return "Non";
|
||||||
|
@ -82,9 +82,9 @@ const Employes = (props) => {
|
||||||
return String(params.value);
|
return String(params.value);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{ field: 'telephone_mobile', headerName: 'Mobile', width: 150, hide: false, editable: true },
|
{ field: 'telephone_mobile', headerName: 'Mobile', width: 150, hide: false, },
|
||||||
{
|
{
|
||||||
field: 'civilite', headerName: 'Civilité', width: 150, hide: false, editable: true,
|
field: 'civilite', headerName: 'Civilité', width: 150, hide: false,
|
||||||
valueFormatter: (params) => {
|
valueFormatter: (params) => {
|
||||||
if (String(params.value) === "0")
|
if (String(params.value) === "0")
|
||||||
return "Mme";
|
return "Mme";
|
||||||
|
@ -96,8 +96,8 @@ const Employes = (props) => {
|
||||||
return String(params.value);
|
return String(params.value);
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{ field: 'profil', headerName: 'profil', width: 150, hide: false, editable: true },
|
{ field: 'profil', headerName: 'profil', width: 150, hide: false, },
|
||||||
{ field: 'fonction', headerName: 'Fonction', width: 150, hide: false, editable: true },
|
{ field: 'fonction', headerName: 'Fonction', width: 150, hide: false, },
|
||||||
|
|
||||||
/* {
|
/* {
|
||||||
field: "Detail", headerName: 'Voir detail',
|
field: "Detail", headerName: 'Voir detail',
|
||||||
|
@ -183,11 +183,11 @@ const Employes = (props) => {
|
||||||
const columns_employee_affectation = [
|
const columns_employee_affectation = [
|
||||||
{ field: '_id', headerName: '_id', hide: true },
|
{ field: '_id', headerName: '_id', hide: true },
|
||||||
{ field: 'id', headerName: 'id', hide: true },
|
{ field: 'id', headerName: 'id', hide: true },
|
||||||
{ field: 'poste', headerName: 'Poste', width: 150, hideable: false, },
|
{ field: 'poste', headerName: 'Poste', flex: 1, hideable: false, },
|
||||||
{ field: 'date_du', headerName: 'Du', width: 150, hide: false, editable: true },
|
{ field: 'date_du', headerName: 'Du', width: 150, hide: false, },
|
||||||
{ field: 'date_au', headerName: 'Au', width: 150, hide: false, editable: true },
|
{ field: 'date_au', headerName: 'Au', width: 150, hide: false, },
|
||||||
{ field: 'related_target_collection_object', headerName: 'Cible', width: 150, hide: false, editable: true },
|
{ field: 'related_target_collection_object', headerName: 'Cible', flex: 1, hide: false, },
|
||||||
{ field: 'related_target_collection_id_nom', headerName: 'Cible Nom', width: 150, hide: false, editable: true },
|
{ field: 'related_target_collection_id_nom', headerName: 'Cible Nom', flex: 1, hide: false, },
|
||||||
{ field: 'target_related_collection', headerName: 'Type', hide: true },
|
{ field: 'target_related_collection', headerName: 'Type', hide: true },
|
||||||
{ field: 'target_related_collection_id', headerName: 'Type ID', hide: true },
|
{ field: 'target_related_collection_id', headerName: 'Type ID', hide: true },
|
||||||
{
|
{
|
||||||
|
@ -341,7 +341,7 @@ const Employes = (props) => {
|
||||||
setAdd_new_affectation("");
|
setAdd_new_affectation("");
|
||||||
clean_affectation_fields();
|
clean_affectation_fields();
|
||||||
clean_nouvelle_affectation_fields();
|
clean_nouvelle_affectation_fields();
|
||||||
setsubmenu("");
|
|
||||||
|
|
||||||
var line = JSON.parse(rows_affectations[selected_row_id]);
|
var line = JSON.parse(rows_affectations[selected_row_id]);
|
||||||
|
|
||||||
|
@ -1289,7 +1289,7 @@ const Employes = (props) => {
|
||||||
if (String(result['status']) === String("true")) {
|
if (String(result['status']) === String("true")) {
|
||||||
setrecord_employee_Image_api("true");
|
setrecord_employee_Image_api("true");
|
||||||
setuserimgclassprofilchanged("");
|
setuserimgclassprofilchanged("");
|
||||||
alert(" L'image à jour a été mise enregistrée ");
|
alert(" L'image a été enregistrée ");
|
||||||
|
|
||||||
} else if (String(result['status']) === String("Err_Connexion")) {
|
} else if (String(result['status']) === String("Err_Connexion")) {
|
||||||
alert('Erreur: ' + result['message']);
|
alert('Erreur: ' + result['message']);
|
||||||
|
@ -1839,6 +1839,12 @@ const Employes = (props) => {
|
||||||
if (String(employee_data_edit_mode) !== "1")
|
if (String(employee_data_edit_mode) !== "1")
|
||||||
disable_Employee_DetailFields();
|
disable_Employee_DetailFields();
|
||||||
|
|
||||||
|
setSelectionModel_affectations([]);
|
||||||
|
setdisplay_affectation("0");
|
||||||
|
setAdd_new_affectation("");
|
||||||
|
clean_affectation_fields();
|
||||||
|
clean_nouvelle_affectation_fields();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1892,7 +1898,11 @@ const Employes = (props) => {
|
||||||
document.getElementById("affectation").style.backgroundColor = "#d8edfc";
|
document.getElementById("affectation").style.backgroundColor = "#d8edfc";
|
||||||
document.getElementById("affectation").style.color = "black";
|
document.getElementById("affectation").style.color = "black";
|
||||||
}
|
}
|
||||||
|
setSelectionModel_affectations([]);
|
||||||
|
setdisplay_affectation("0");
|
||||||
|
setAdd_new_affectation("");
|
||||||
|
clean_affectation_fields();
|
||||||
|
clean_nouvelle_affectation_fields();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2819,19 +2829,23 @@ const Employes = (props) => {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="div_row"> </div>
|
<div className="div_row"> </div>
|
||||||
<div className="div_row">
|
{/*<div className="div_row">
|
||||||
<Button variant="outlined" ref={myRef} onClick={submenu_detail_employe} className="detail_class_submenu" id='detail_employe' name='detail_employe'>Détail employé</Button>
|
<Button variant="outlined" ref={myRef} 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_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_affectation} className="detail_class_submenu" id='affectation' name='affectation'>Affectation </Button>
|
||||||
|
</div>*/}
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
{String(submenu) === "detail_employe" && String(add_One_Employee) !== "1" && <div className="div_row">
|
{String(submenu) === "detail_employe" && String(add_One_Employee) !== "1" && <div className="div_row">
|
||||||
|
<div className="div_row">
|
||||||
|
<Button variant="outlined" ref={myRef} 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>
|
||||||
|
</div>
|
||||||
|
|
||||||
<nav style={{ "border": "None", "fontSize": "22px", "fontWeight": "600" }}> Détail Employé </nav>
|
<nav style={{ "border": "None", "fontSize": "22px", "fontWeight": "600" }}> Détail Employé </nav>
|
||||||
<div className="div_row" style={{ "border": "None" }}>
|
<div className="div_row" style={{ "border": "None" }}>
|
||||||
<div className="div_row_gauche">
|
<div className="div_row_gauche">
|
||||||
|
@ -3368,6 +3382,11 @@ const Employes = (props) => {
|
||||||
|
|
||||||
|
|
||||||
{String(submenu) === "detail_employe" && String(add_One_Employee) === "1" && <div className="div_row">
|
{String(submenu) === "detail_employe" && String(add_One_Employee) === "1" && <div className="div_row">
|
||||||
|
<div className="div_row">
|
||||||
|
<Button variant="outlined" ref={myRef} 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>
|
||||||
|
</div>
|
||||||
<nav style={{ "border": "None", "fontSize": "22px", "fontWeight": "600" }}> Ajouter un Employé </nav>
|
<nav style={{ "border": "None", "fontSize": "22px", "fontWeight": "600" }}> Ajouter un Employé </nav>
|
||||||
|
|
||||||
<div className="session_data" >
|
<div className="session_data" >
|
||||||
|
@ -3775,7 +3794,12 @@ const Employes = (props) => {
|
||||||
|
|
||||||
|
|
||||||
{String(submenu) === "affectation" && <div className="div_row">
|
{String(submenu) === "affectation" && <div className="div_row">
|
||||||
<nav style={{ "border": "None", "fontSize": "22px", "fontWeight": "600" }}> Affectation </nav>
|
<div className="div_row">
|
||||||
|
<Button variant="outlined" ref={myRef} 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>
|
||||||
|
</div>
|
||||||
|
<nav style={{ "border": "None", "fontSize": "22px", "fontWeight": "600" }}> Liste Affectations </nav>
|
||||||
<div className="session_data">
|
<div className="session_data">
|
||||||
<div style={{ "border": "None" }}>
|
<div style={{ "border": "None" }}>
|
||||||
|
|
||||||
|
@ -4090,12 +4114,12 @@ const Employes = (props) => {
|
||||||
<TextField
|
<TextField
|
||||||
name="affect_comment"
|
name="affect_comment"
|
||||||
id="affect_comment"
|
id="affect_comment"
|
||||||
text
|
multiline
|
||||||
InputLabelProps={{
|
InputLabelProps={{
|
||||||
shrink: true,
|
shrink: true,
|
||||||
}}
|
}}
|
||||||
minRows={3}
|
rows={1}
|
||||||
maxRows={3}
|
maxRows={1}
|
||||||
disabled={false}
|
disabled={false}
|
||||||
className="disabled_style enable_style"
|
className="disabled_style enable_style"
|
||||||
value={p_affect_comment}
|
value={p_affect_comment}
|
||||||
|
@ -4277,12 +4301,12 @@ const Employes = (props) => {
|
||||||
<TextField
|
<TextField
|
||||||
name="one_affect_comment"
|
name="one_affect_comment"
|
||||||
id="one_affect_comment"
|
id="one_affect_comment"
|
||||||
text
|
multiline
|
||||||
InputLabelProps={{
|
InputLabelProps={{
|
||||||
shrink: true,
|
shrink: true,
|
||||||
}}
|
}}
|
||||||
minRows={3}
|
rows={1}
|
||||||
maxRows={3}
|
maxRows={1}
|
||||||
disabled={false}
|
disabled={false}
|
||||||
className="disabled_style enable_style"
|
className="disabled_style enable_style"
|
||||||
value={p_one_affect_comment}
|
value={p_one_affect_comment}
|
||||||
|
@ -4326,6 +4350,11 @@ const Employes = (props) => {
|
||||||
|
|
||||||
{String(submenu) === "droit_acces" && <div className="div_row">
|
{String(submenu) === "droit_acces" && <div className="div_row">
|
||||||
<nav style={{ "border": "None", "fontSize": "22px", "fontWeight": "600" }}> Droit Acces </nav>
|
<nav style={{ "border": "None", "fontSize": "22px", "fontWeight": "600" }}> Droit Acces </nav>
|
||||||
|
<div className="div_row">
|
||||||
|
<Button variant="outlined" ref={myRef} 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>
|
||||||
|
</div>
|
||||||
</div>}
|
</div>}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -4373,7 +4373,6 @@ function GestionAdministrative(props) {
|
||||||
if (String(res.data.status) === String("true")) {
|
if (String(res.data.status) === String("true")) {
|
||||||
setOne_Create_Participant_api("true");
|
setOne_Create_Participant_api("true");
|
||||||
setOne_Create_Participant_result(res.data.message);
|
setOne_Create_Participant_result(res.data.message);
|
||||||
alert(" Le participant a été correctement ajouté");
|
|
||||||
setaddOneParticipant("0");
|
setaddOneParticipant("0");
|
||||||
setreduction_session("1");
|
setreduction_session("1");
|
||||||
GetListePreinscrit(mysession);
|
GetListePreinscrit(mysession);
|
||||||
|
@ -4381,6 +4380,8 @@ function GestionAdministrative(props) {
|
||||||
GetListeEmargement(mysession);
|
GetListeEmargement(mysession);
|
||||||
GetListeEvaluation(mysession);
|
GetListeEvaluation(mysession);
|
||||||
submenu_inscrit();
|
submenu_inscrit();
|
||||||
|
alert(" Le participant a été correctement ajouté");
|
||||||
|
myRef_detail_inscrit.current.scrollIntoView({ behavior: "smooth" });
|
||||||
|
|
||||||
} else if (String(res.data.status) === String("Err_Connexion")) {
|
} else if (String(res.data.status) === String("Err_Connexion")) {
|
||||||
alert('Erreur: ' + res.data.message);
|
alert('Erreur: ' + res.data.message);
|
||||||
|
@ -4477,6 +4478,9 @@ function GestionAdministrative(props) {
|
||||||
const [isimgclassSelectedfile, setisimgclassSelectedfile] = useState(false);
|
const [isimgclassSelectedfile, setisimgclassSelectedfile] = useState(false);
|
||||||
|
|
||||||
|
|
||||||
|
const myRef_detail_inscrit = useRef(null)
|
||||||
|
|
||||||
|
|
||||||
const [userimgclassprofil, setuserimgclassprofil] = useState();
|
const [userimgclassprofil, setuserimgclassprofil] = useState();
|
||||||
const [userimgclassprofilchanged, setuserimgclassprofilchanged] = useState("");
|
const [userimgclassprofilchanged, setuserimgclassprofilchanged] = useState("");
|
||||||
|
|
||||||
|
@ -4650,7 +4654,7 @@ function GestionAdministrative(props) {
|
||||||
if (String(result['status']) === String("true")) {
|
if (String(result['status']) === String("true")) {
|
||||||
setrecord_Stagiaire_Image_api("true");
|
setrecord_Stagiaire_Image_api("true");
|
||||||
setuserimgclassprofilchanged("");
|
setuserimgclassprofilchanged("");
|
||||||
alert(" L'image à jour a été mise enregistrée ");
|
alert(" L'image a été enregistrée ");
|
||||||
|
|
||||||
} else if (String(result['status']) === String("Err_Connexion")) {
|
} else if (String(result['status']) === String("Err_Connexion")) {
|
||||||
alert('Erreur: ' + result['message']);
|
alert('Erreur: ' + result['message']);
|
||||||
|
@ -5987,7 +5991,7 @@ function GestionAdministrative(props) {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div style={{ "textAlign": "left", "float": "left", "width": "100%" }} id="participant_menu_tab">
|
<div style={{ "textAlign": "left", "float": "left", "width": "100%" }} id="participant_menu_tab" ref={myRef_detail_inscrit}>
|
||||||
<Button variant="outlined" onClick={submenu_preinscrit} className="detail_class_submenu" id='menu_preinscrit' name='menu_preinscrit'>Preinscription ({String(nb_stagiaire_Preinscrit)})</Button>
|
<Button variant="outlined" onClick={submenu_preinscrit} className="detail_class_submenu" id='menu_preinscrit' name='menu_preinscrit'>Preinscription ({String(nb_stagiaire_Preinscrit)})</Button>
|
||||||
<Button variant="outlined" onClick={submenu_inscrit} className="detail_class_submenu" id='menu_inscrit' name='menu_inscrit'>Inscription ({String(nb_stagiaire_Inscrit)})</Button>
|
<Button variant="outlined" onClick={submenu_inscrit} className="detail_class_submenu" id='menu_inscrit' name='menu_inscrit'>Inscription ({String(nb_stagiaire_Inscrit)})</Button>
|
||||||
<Button variant="outlined" onClick={submenu_emargement} className="detail_class_submenu" id='menu_emarge' name='menu_emarge'>Liste émargement</Button>
|
<Button variant="outlined" onClick={submenu_emargement} className="detail_class_submenu" id='menu_emarge' name='menu_emarge'>Liste émargement</Button>
|
||||||
|
@ -6614,7 +6618,7 @@ function GestionAdministrative(props) {
|
||||||
className="disabled_style enable_style"
|
className="disabled_style enable_style"
|
||||||
>
|
>
|
||||||
{status_inscription.map((option) => (
|
{status_inscription.map((option) => (
|
||||||
<MenuItem key={option.value} value={option.value}>
|
<MenuItem key={option.value} value={option.value} style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }}>
|
||||||
{option.label} <br />
|
{option.label} <br />
|
||||||
</MenuItem>
|
</MenuItem>
|
||||||
))}
|
))}
|
||||||
|
|
|
@ -67,12 +67,12 @@ const Materiels = (props) => {
|
||||||
const columns = [
|
const columns = [
|
||||||
{ field: '_id', headerName: '_id', hide: true },
|
{ field: '_id', headerName: '_id', hide: true },
|
||||||
{ field: 'id', headerName: 'id', hide: true },
|
{ field: 'id', headerName: 'id', hide: true },
|
||||||
{ field: 'ref_interne', headerName: 'Ref. Interne', width: 150, hideable: false, },
|
{ field: 'ref_interne', headerName: 'Ref. Interne', flex: 1, hideable: false, },
|
||||||
{ field: 'nom', headerName: 'Nom', width: 150, hide: false, editable: true },
|
{ field: 'nom', headerName: 'Nom', flex: 1, hide: false, },
|
||||||
{ field: 'famille', headerName: 'Famille', width: 150, hide: false, editable: true },
|
{ field: 'famille', headerName: 'Famille', flex: 1, hide: false, },
|
||||||
{ field: 'marque', headerName: 'Marque', width: 150, hide: false, editable: true },
|
{ field: 'marque', headerName: 'Marque', flex: 1, hide: false, },
|
||||||
{ field: 'type', headerName: 'Type', width: 150, hide: false, editable: true },
|
{ field: 'type', headerName: 'Type', width: 150, hide: false, },
|
||||||
{ field: 'fournisseur', headerName: 'Fournisseur', width: 150, hide: false, editable: true },
|
{ field: 'fournisseur', headerName: 'Fournisseur', flex: 1, hide: false, },
|
||||||
{
|
{
|
||||||
field: "delete", headerName: 'Supprimer',
|
field: "delete", headerName: 'Supprimer',
|
||||||
renderCell: (cellValues) => {
|
renderCell: (cellValues) => {
|
||||||
|
@ -139,11 +139,11 @@ const Materiels = (props) => {
|
||||||
const columns_materielle_affectation = [
|
const columns_materielle_affectation = [
|
||||||
{ field: '_id', headerName: '_id', hide: true },
|
{ field: '_id', headerName: '_id', hide: true },
|
||||||
{ field: 'id', headerName: 'id', hide: true },
|
{ field: 'id', headerName: 'id', hide: true },
|
||||||
{ field: 'poste', headerName: 'Poste', width: 150, hideable: false, },
|
{ field: 'poste', headerName: 'Poste', flex: 1, hideable: false, },
|
||||||
{ field: 'date_du', headerName: 'Du', width: 150, hide: false, editable: true },
|
{ field: 'date_du', headerName: 'Du', width: 150, hide: false, },
|
||||||
{ field: 'date_au', headerName: 'Au', width: 150, hide: false, editable: true },
|
{ field: 'date_au', headerName: 'Au', width: 150, hide: false, },
|
||||||
{ field: 'related_target_collection_object', headerName: 'Cible', width: 150, hide: false, editable: true },
|
{ field: 'related_target_collection_object', headerName: 'Cible', flex: 1, hide: false, },
|
||||||
{ field: 'related_target_collection_id_nom', headerName: 'Cible Nom', width: 150, hide: false, editable: true },
|
{ field: 'related_target_collection_id_nom', headerName: 'Cible Nom', flex: 1, hide: false, },
|
||||||
{ field: 'target_related_collection', headerName: 'Type', hide: true },
|
{ field: 'target_related_collection', headerName: 'Type', hide: true },
|
||||||
{ field: 'target_related_collection_id', headerName: 'Type ID', hide: true },
|
{ field: 'target_related_collection_id', headerName: 'Type ID', hide: true },
|
||||||
{
|
{
|
||||||
|
@ -652,6 +652,13 @@ const Materiels = (props) => {
|
||||||
if (String(materiel_data_edit_mode) !== "1")
|
if (String(materiel_data_edit_mode) !== "1")
|
||||||
disable_Materiel_DetailFields();
|
disable_Materiel_DetailFields();
|
||||||
|
|
||||||
|
|
||||||
|
setSelectionModel_affectations([]);
|
||||||
|
setdisplay_affectation("0");
|
||||||
|
setAdd_new_affectation("");
|
||||||
|
clean_affectation_fields();
|
||||||
|
clean_nouvelle_affectation_fields();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1146,14 +1153,14 @@ const Materiels = (props) => {
|
||||||
if (String(result['status']) === String("true")) {
|
if (String(result['status']) === String("true")) {
|
||||||
setrecord_materiel_Image_api("true");
|
setrecord_materiel_Image_api("true");
|
||||||
setuserimgclassprofilchanged("");
|
setuserimgclassprofilchanged("");
|
||||||
alert(" L'image à jour a été mise enregistrée ");
|
alert(" L'image a été enregistrée ");
|
||||||
|
|
||||||
} else if (String(result['status']) === String("Err_Connexion")) {
|
} else if (String(result['status']) === String("Err_Connexion")) {
|
||||||
alert('Erreur: ' + result['message']);
|
alert('Erreur: ' + result['message']);
|
||||||
history.push("/Connexion");
|
history.push("/Connexion");
|
||||||
} else {
|
} else {
|
||||||
setrecord_materiel_Image_api("false");
|
setrecord_materiel_Image_api("false");
|
||||||
alert(" Erreur : " + result['message']);
|
alert(result['message']);
|
||||||
}
|
}
|
||||||
|
|
||||||
})
|
})
|
||||||
|
@ -1253,7 +1260,9 @@ const Materiels = (props) => {
|
||||||
|
|
||||||
setsubmenu("detail_materiel");
|
setsubmenu("detail_materiel");
|
||||||
setadd_One_Materiel("");
|
setadd_One_Materiel("");
|
||||||
Get_Materiel_Data(selected_id);
|
//Get_Materiel_Data(selected_id);
|
||||||
|
Display_Detail_Material_Data(selected_id);
|
||||||
|
|
||||||
if (myRef_head)
|
if (myRef_head)
|
||||||
myRef_head.current.scrollIntoView({ behavior: "smooth" });
|
myRef_head.current.scrollIntoView({ behavior: "smooth" });
|
||||||
|
|
||||||
|
@ -2438,16 +2447,15 @@ const Materiels = (props) => {
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="div_row"> </div>
|
<div className="div_row"> </div>
|
||||||
<div className="div_row">
|
|
||||||
<Button variant="outlined" ref={myRef} onClick={submenu_detail_materiel} className="detail_class_submenu" id='detail_materiel' name='detail_materiel'>Détail Materiel</Button>
|
|
||||||
<Button variant="outlined" onClick={submenu_affectation} className="detail_class_submenu" id='affectation' name='affectation'>Affectation </Button>
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{String(submenu) === "detail_materiel" && String(add_One_Materiel) !== "1" && <div className="div_row">
|
{String(submenu) === "detail_materiel" && String(add_One_Materiel) !== "1" && <div className="div_row">
|
||||||
|
<div className="div_row">
|
||||||
|
<Button variant="outlined" ref={myRef} onClick={submenu_detail_materiel} className="detail_class_submenu" id='detail_materiel' name='detail_materiel'>Détail Materiel</Button>
|
||||||
|
<Button variant="outlined" onClick={submenu_affectation} className="detail_class_submenu" id='affectation' name='affectation'>Affectation </Button>
|
||||||
|
</div>
|
||||||
<nav style={{ "border": "None", "fontSize": "22px", "fontWeight": "600" }}> Détail Materiel </nav>
|
<nav style={{ "border": "None", "fontSize": "22px", "fontWeight": "600" }}> Détail Materiel </nav>
|
||||||
<div className="div_row" style={{ "border": "None" }}>
|
<div className="div_row" style={{ "border": "None" }}>
|
||||||
<div className="div_row_gauche">
|
<div className="div_row_gauche">
|
||||||
|
@ -2764,6 +2772,10 @@ const Materiels = (props) => {
|
||||||
|
|
||||||
|
|
||||||
{String(submenu) === "detail_materiel" && String(add_One_Materiel) === "1" && <div className="div_row">
|
{String(submenu) === "detail_materiel" && String(add_One_Materiel) === "1" && <div className="div_row">
|
||||||
|
<div className="div_row">
|
||||||
|
<Button variant="outlined" ref={myRef} onClick={submenu_detail_materiel} className="detail_class_submenu" id='detail_materiel' name='detail_materiel'>Détail Materiel</Button>
|
||||||
|
<Button variant="outlined" onClick={submenu_affectation} className="detail_class_submenu" id='affectation' name='affectation'>Affectation </Button>
|
||||||
|
</div>
|
||||||
<nav style={{ "border": "None", "fontSize": "22px", "fontWeight": "600" }}> Ajouter un nouveau materiel </nav>
|
<nav style={{ "border": "None", "fontSize": "22px", "fontWeight": "600" }}> Ajouter un nouveau materiel </nav>
|
||||||
<div className="session_data" >
|
<div className="session_data" >
|
||||||
<div className="session_caract"> Ref. Interne<br />
|
<div className="session_caract"> Ref. Interne<br />
|
||||||
|
@ -3014,6 +3026,10 @@ const Materiels = (props) => {
|
||||||
</div>}
|
</div>}
|
||||||
|
|
||||||
{String(submenu) === "affectation" && <div className="div_row">
|
{String(submenu) === "affectation" && <div className="div_row">
|
||||||
|
<div className="div_row">
|
||||||
|
<Button variant="outlined" ref={myRef} onClick={submenu_detail_materiel} className="detail_class_submenu" id='detail_materiel' name='detail_materiel'>Détail Materiel</Button>
|
||||||
|
<Button variant="outlined" onClick={submenu_affectation} className="detail_class_submenu" id='affectation' name='affectation'>Affectation </Button>
|
||||||
|
</div>
|
||||||
<nav style={{ "border": "None", "fontSize": "22px", "fontWeight": "600" }}> Affectation </nav>
|
<nav style={{ "border": "None", "fontSize": "22px", "fontWeight": "600" }}> Affectation </nav>
|
||||||
<div className="session_data">
|
<div className="session_data">
|
||||||
<div style={{ "border": "None" }}>
|
<div style={{ "border": "None" }}>
|
||||||
|
|
|
@ -293,12 +293,16 @@ const PartnerClientActivite = (props) => {
|
||||||
setrecordPartnerClient_Activite_Data_api("true");
|
setrecordPartnerClient_Activite_Data_api("true");
|
||||||
setrecordPartnerClient_Activite_Data_result(res.data.message);
|
setrecordPartnerClient_Activite_Data_result(res.data.message);
|
||||||
|
|
||||||
setshowactivite_detail("0");
|
|
||||||
Get_List_Activite_Of_client_Part();
|
Get_List_Activite_Of_client_Part();
|
||||||
alert(res.data.message);
|
|
||||||
setdatamodification_activite("0");
|
setdatamodification_activite("0");
|
||||||
setformedit_mode_activite("0");
|
setformedit_mode_activite("0");
|
||||||
setcurrent_activite_recid("");
|
setcurrent_activite_recid("");
|
||||||
|
|
||||||
|
|
||||||
|
setshow_all_activite_list("1");
|
||||||
|
setshowactivite_detail('0');
|
||||||
|
setadd_one_activite('0');
|
||||||
|
alert(res.data.message);
|
||||||
}
|
}
|
||||||
|
|
||||||
else if (String(res.data.status) === String("Err_Connexion")) {
|
else if (String(res.data.status) === String("Err_Connexion")) {
|
||||||
|
@ -728,6 +732,7 @@ const PartnerClientActivite = (props) => {
|
||||||
</div>}
|
</div>}
|
||||||
{String(showactivite_detail) === "1" && <div className="div_row" style={{ "marginLeft": "5px", "marginRight": "5px" }} onChange={DataUpdated_Activite_Data}>
|
{String(showactivite_detail) === "1" && <div className="div_row" style={{ "marginLeft": "5px", "marginRight": "5px" }} onChange={DataUpdated_Activite_Data}>
|
||||||
<div className="training_caract">
|
<div className="training_caract">
|
||||||
|
<nav style={{ "fontSize": "11px" }}> </nav>
|
||||||
<TextField
|
<TextField
|
||||||
required
|
required
|
||||||
name="activite_description"
|
name="activite_description"
|
||||||
|
@ -766,6 +771,8 @@ const PartnerClientActivite = (props) => {
|
||||||
</div>}
|
</div>}
|
||||||
|
|
||||||
{String(formedit_mode_activite) === "0" && <div className="training_caract">
|
{String(formedit_mode_activite) === "0" && <div className="training_caract">
|
||||||
|
|
||||||
|
<nav style={{ "fontSize": "11px" }}> </nav>
|
||||||
<TextField
|
<TextField
|
||||||
required
|
required
|
||||||
name="activite_deadline"
|
name="activite_deadline"
|
||||||
|
@ -775,7 +782,7 @@ const PartnerClientActivite = (props) => {
|
||||||
}}
|
}}
|
||||||
disabled={false}
|
disabled={false}
|
||||||
className="disabled_style"
|
className="disabled_style"
|
||||||
value={setp_activite_deadline_label}
|
value={p_activite_deadline_label}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
</div>}
|
</div>}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
import React, { useState, useEffect } from "react";
|
import React, { useRef, useState, useEffect } from "react";
|
||||||
import axios from "axios";
|
import axios from "axios";
|
||||||
import partnerbannerimg from "../mysy_img/MYSY_banner_compte.png";
|
import partnerbannerimg from "../mysy_img/MYSY_banner_compte.png";
|
||||||
import profileimg from "../mysy_img/MYSY-profil-2.png";
|
import profileimg from "../mysy_img/MYSY-profil-2.png";
|
||||||
|
@ -41,15 +41,20 @@ import {
|
||||||
import { DataGrid, GridToolbar, frFR, GridCellParams } from '@mui/x-data-grid';
|
import { DataGrid, GridToolbar, frFR, GridCellParams } from '@mui/x-data-grid';
|
||||||
import { FcCancel, FcApproval, FcAcceptDatabase, FcPrint, FcDeleteDatabase } from "react-icons/fc";
|
import { FcCancel, FcApproval, FcAcceptDatabase, FcPrint, FcDeleteDatabase } from "react-icons/fc";
|
||||||
import { darken, lighten, styled } from '@mui/material/styles';
|
import { darken, lighten, styled } from '@mui/material/styles';
|
||||||
|
import 'react-tooltip/dist/react-tooltip.css'
|
||||||
|
import { Tooltip } from 'react-tooltip'
|
||||||
|
|
||||||
import AddParnerClient from "./AddPartnerClient";
|
import AddParnerClient from "./AddPartnerClient";
|
||||||
//import { FcHome} from "react-icons/fc";
|
//import { FcHome} from "react-icons/fc";
|
||||||
import { alpha } from '@mui/material/styles';
|
import { alpha } from '@mui/material/styles';
|
||||||
import { gridClasses } from '@mui/x-data-grid';
|
import { gridClasses } from '@mui/x-data-grid';
|
||||||
import { AiOutlineUserAdd } from "react-icons/ai";
|
import { AiOutlineUserAdd } from "react-icons/ai";
|
||||||
|
import TextField from '@mui/material/TextField';
|
||||||
|
import MenuItem from '@mui/material/MenuItem';
|
||||||
|
import InputAdornment from '@mui/material/InputAdornment';
|
||||||
|
import { AiFillCloseCircle } from "react-icons/ai";
|
||||||
|
import { CiTrash } from "react-icons/ci";
|
||||||
|
import { MdAddCircleOutline, MdRemoveCircleOutline } from "react-icons/md";
|
||||||
|
|
||||||
const Partner_Client = (props) => {
|
const Partner_Client = (props) => {
|
||||||
|
|
||||||
|
@ -280,72 +285,203 @@ const Partner_Client = (props) => {
|
||||||
var clientmail = String(line.email);
|
var clientmail = String(line.email);
|
||||||
setClient_email(clientmail);
|
setClient_email(clientmail);
|
||||||
setEdite_Client("1");
|
setEdite_Client("1");
|
||||||
|
if (myRef_detail_client.current) {
|
||||||
|
myRef_detail_client.current.scrollIntoView({ behavior: "smooth" });
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
const [p_filtre1, setp_filtre1] = useState();
|
||||||
|
const [p_filtre1_value, setp_filtre1_value] = useState();
|
||||||
|
|
||||||
|
const [p_filtre2, setp_filtre2] = useState();
|
||||||
|
const [p_filtre2_value, setp_filtre2_value] = useState();
|
||||||
|
|
||||||
|
|
||||||
|
function clean_all_filters() {
|
||||||
|
setp_filtre1();
|
||||||
|
setp_filtre1_value();
|
||||||
|
setp_filtre2();
|
||||||
|
setp_filtre2_value();
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
const myRef_detail_client = useRef(null)
|
||||||
return (
|
return (
|
||||||
|
|
||||||
<div className="partner_client">
|
<div className="partner_client">
|
||||||
|
|
||||||
<div className="div_row">
|
<div className="div_row">
|
||||||
|
|
||||||
{String(Edite_Client) === "1" && <div className="div_row">
|
|
||||||
|
|
||||||
<div className="titre1"> Detail client : {Client_email}</div>
|
<h3> Vos clients</h3>
|
||||||
|
|
||||||
<AddParnerClient client_mail={Client_email} close_detail_client={close_detail_client} />
|
<div className="titre1"> Utilisez les filtres !</div>
|
||||||
|
<div>
|
||||||
</div>}
|
<div className="div_row" style={{ "marginBottom": "5px" }}>
|
||||||
|
<div className="div_row_gauche texte_area_filter" >
|
||||||
{String(Edite_Client) === "2" && <div className="div_row">
|
<TextField
|
||||||
|
name="filtre1"
|
||||||
<div className="titre1"> Detail client : {Client_email}</div>
|
label="Choisir un champ"
|
||||||
|
select
|
||||||
<AddParnerClient client_mail={Client_email} close_detail_client={close_detail_client} new_customer="1"
|
sx={{ m: 1, width: '100%' }}
|
||||||
Get_List_Partner_Clients={Get_List_Partner_Clients} />
|
value={p_filtre1}
|
||||||
|
onChange={(e) => {
|
||||||
</div>}
|
setp_filtre1(e.target.value)
|
||||||
|
|
||||||
|
|
||||||
<div className="titre1"> Liste des clients</div>
|
|
||||||
|
|
||||||
<div className="div_row">
|
|
||||||
<div style={{ height: "500px", width: '100%' }}>
|
|
||||||
<div className="div_row">
|
|
||||||
|
|
||||||
<Button variant="outlined" onClick={submenu_import_part_client_mass} className="detail_class_submenu bton_add_menuclient" style={{
|
|
||||||
"background": "#c8cfd5",
|
|
||||||
"color": "black", "width": "auto"
|
|
||||||
}}
|
}}
|
||||||
id='menu_import_participant' name='menu_import_participant'>Choisir un fichier et Importer
|
>
|
||||||
<img src={excel_icone} alt="ajout csv" className="icon_excel" />
|
|
||||||
</Button>
|
|
||||||
|
|
||||||
<Button variant="outlined" onClick={handleClick_add_new_client}
|
<MenuItem value="nom_client" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }}>Nom </MenuItem>
|
||||||
className="detail_class_submenu bton_add_menuclient"
|
<MenuItem value="email_client" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Email </MenuItem>
|
||||||
id='menu_one_participant' name='menu_one_participant'><img src={participants} alt="ajout un client" className="icon_plus" />
|
|
||||||
Ajouter 1 Client
|
|
||||||
|
|
||||||
</Button>
|
</TextField>
|
||||||
|
</div>
|
||||||
|
|
||||||
<br />
|
|
||||||
<a href='/sample/template_import_client.csv' download>Télécharger un fichier modèle</a>
|
|
||||||
<br />
|
|
||||||
|
|
||||||
<i>{part_client_file_name}</i><br />
|
|
||||||
{String(liste_part_client_file_change_api) === String("true") && <nav className="okUpdateData"> Les client ont été correctement importés</nav>}
|
|
||||||
{String(liste_part_client_file_change_api) === String("false") && <nav className="koUpdateData"> {liste_part_client_file_change_message} </nav>}
|
|
||||||
|
|
||||||
<input type="file"
|
<div className="div_row_droite texte_area_filter_value" >
|
||||||
accept=".csv"
|
{p_filtre1 &&
|
||||||
ref={hiddenFileInput}
|
<TextField
|
||||||
style={{ display: 'none' }}
|
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||||
name="liste_participants_file"
|
required
|
||||||
onChange={liste_part_client_file_change}
|
name="filtre1_value"
|
||||||
|
id="filtre1_value"
|
||||||
|
|
||||||
|
InputLabelProps={{
|
||||||
|
shrink: true,
|
||||||
|
}}
|
||||||
|
disabled={false}
|
||||||
|
className="disabled_style"
|
||||||
|
value={p_filtre1_value}
|
||||||
|
onChange={(e) => { setp_filtre1_value(e.target.value); }}
|
||||||
|
InputProps={{
|
||||||
|
endAdornment: (
|
||||||
|
<InputAdornment position="end">
|
||||||
|
<AiFillCloseCircle
|
||||||
|
style={{ 'cursor': "pointer", "color": "orangered" }}
|
||||||
|
onClick={(e) => {
|
||||||
|
setp_filtre1_value("");
|
||||||
|
}} />
|
||||||
|
</InputAdornment>
|
||||||
|
),
|
||||||
|
}}
|
||||||
|
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
}
|
||||||
</div>
|
</div>
|
||||||
|
{p_filtre1 && <div className='filter_bton_add'>
|
||||||
|
<Tooltip id="my-tooltip01" style={{ "fontSize": "12px" }} />
|
||||||
|
<a data-tooltip-id="my-tooltip01" data-tooltip-content="Ajouter une nouvelle ligne de filtre">
|
||||||
|
<MdAddCircleOutline onClick={(e) => {
|
||||||
|
setp_filtre2("1");
|
||||||
|
}} />
|
||||||
|
</a>
|
||||||
|
</div>}
|
||||||
|
{p_filtre1 && <div className='filter_bton_add'>
|
||||||
|
<Tooltip id="my-tooltip02" style={{ "fontSize": "12px" }} />
|
||||||
|
<a data-tooltip-id="my-tooltip02" data-tooltip-content="Supprimer cette ligne de filtre">
|
||||||
|
<MdRemoveCircleOutline onClick={(e) => {
|
||||||
|
setp_filtre1();
|
||||||
|
setp_filtre1_value();
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
</a>
|
||||||
|
</div>}
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{p_filtre2 &&
|
||||||
|
<div className="div_row" style={{ "marginBottom": "5px" }}>
|
||||||
|
<div className="div_row_gauche texte_area_filter">
|
||||||
|
<TextField
|
||||||
|
name="filtre2"
|
||||||
|
label="Choisir un champ"
|
||||||
|
select
|
||||||
|
sx={{ m: 1, width: '100%' }}
|
||||||
|
value={p_filtre2}
|
||||||
|
onChange={(e) => {
|
||||||
|
setp_filtre2(e.target.value)
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
|
||||||
|
<MenuItem value="nom_client" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }}>Nom </MenuItem>
|
||||||
|
<MenuItem value="email_client" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Email </MenuItem>
|
||||||
|
|
||||||
|
</TextField>
|
||||||
|
</div>
|
||||||
|
<div className="div_row_droite texte_area_filter" >
|
||||||
|
{String(p_filtre2).length > 3 &&
|
||||||
|
<TextField
|
||||||
|
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||||
|
required
|
||||||
|
name="filtre2_value"
|
||||||
|
id="filtre2_value"
|
||||||
|
|
||||||
|
InputLabelProps={{
|
||||||
|
shrink: true,
|
||||||
|
}}
|
||||||
|
disabled={false}
|
||||||
|
className="disabled_style"
|
||||||
|
value={p_filtre2_value}
|
||||||
|
onChange={(e) => setp_filtre2_value(e.target.value)}
|
||||||
|
InputProps={{
|
||||||
|
endAdornment: (
|
||||||
|
<InputAdornment position="end">
|
||||||
|
<AiFillCloseCircle
|
||||||
|
style={{ 'cursor': "pointer", "color": "orangered" }}
|
||||||
|
onClick={(e) => {
|
||||||
|
setp_filtre2_value("");
|
||||||
|
}} />
|
||||||
|
</InputAdornment>
|
||||||
|
),
|
||||||
|
}}
|
||||||
|
|
||||||
|
/>}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
{String(p_filtre2).length > 3 && <div className='filter_bton_add'>
|
||||||
|
<Tooltip id="my-tooltip04" style={{ "fontSize": "12px" }} />
|
||||||
|
<a data-tooltip-id="my-tooltip04" data-tooltip-content="Supprimer cette ligne de filtre">
|
||||||
|
<MdRemoveCircleOutline
|
||||||
|
onClick={(e) => {
|
||||||
|
setp_filtre2();
|
||||||
|
setp_filtre2_value();
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
</a>
|
||||||
|
</div>}
|
||||||
|
</div>
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
{<div className="div_row" style={{ "border": "None", "color": "orange", "textAlign": "center" }}>
|
||||||
|
|
||||||
|
<div className="div_row_gauche" style={{ "textAlign": 'left', 'marginLeft': '15px' }}>
|
||||||
|
<Button variant="contained" className="bton_enreg" onClick={Get_List_Partner_Clients}>Rechercher
|
||||||
|
</Button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="div_row_droite" style={{ "textAlign": 'right', 'marginRight': '15px' }}>
|
||||||
|
<Button variant="contained" className="bton_annule" onClick={clean_all_filters}>Annuler
|
||||||
|
</Button>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="div_row">
|
||||||
|
<div style={{ height: 550, width: '100%', paddingRight: '1px' }}>
|
||||||
|
|
||||||
|
|
||||||
<Box
|
<Box
|
||||||
sx={{
|
sx={{
|
||||||
|
@ -403,28 +539,57 @@ const Partner_Client = (props) => {
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
{/*<div className="titre1"> Grid des clients</div>
|
|
||||||
<div className="div_row" style={{ "marginLeft": "5px", "marginRight": "5px" }}>
|
|
||||||
<div className="client_grid">
|
|
||||||
|
|
||||||
{Get_List_Partner_Clients_result && String(Get_List_Partner_Clients_api) === "true" &&
|
<div className="div_row" ref={myRef_detail_client}>
|
||||||
Get_List_Partner_Clients_result.map((client) => (
|
|
||||||
|
|
||||||
<div>
|
<Button variant="outlined" onClick={submenu_import_part_client_mass} className="detail_class_submenu bton_import_excel"
|
||||||
mail = {String(JSON.parse(client).email)} <br />
|
id='menu_import_participant' name='menu_import_participant'>Choisir un fichier et Importer
|
||||||
nom = {String(JSON.parse(client).nom)} <br />
|
<img src={excel_icone} alt="ajout csv" className="icon_excel" />
|
||||||
Tel = {String(JSON.parse(client).telephone)} <br />
|
</Button>
|
||||||
Adresse = {String(JSON.parse(client).adr_adresse)} - {String(JSON.parse(client).adr_ville)} <br />
|
|
||||||
|
<Button variant="outlined" onClick={handleClick_add_new_client}
|
||||||
|
className="detail_class_submenu bton_add_session"
|
||||||
|
id='menu_one_participant' name='menu_one_participant'><img src={participants} alt="ajout un client" className="icon_plus" />
|
||||||
|
Ajouter 1 Client
|
||||||
|
|
||||||
|
</Button>
|
||||||
|
|
||||||
|
<br />
|
||||||
|
<a href='/sample/template_import_client.csv' download>Télécharger un fichier modèle</a>
|
||||||
|
<br />
|
||||||
|
|
||||||
|
<i>{part_client_file_name}</i><br />
|
||||||
|
{String(liste_part_client_file_change_api) === String("true") && <nav className="okUpdateData"> Les client ont été correctement importés</nav>}
|
||||||
|
{String(liste_part_client_file_change_api) === String("false") && <nav className="koUpdateData"> {liste_part_client_file_change_message} </nav>}
|
||||||
|
|
||||||
|
<input type="file"
|
||||||
|
accept=".csv"
|
||||||
|
ref={hiddenFileInput}
|
||||||
|
style={{ display: 'none' }}
|
||||||
|
name="liste_participants_file"
|
||||||
|
onChange={liste_part_client_file_change}
|
||||||
|
/>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
))}
|
{String(Edite_Client) === "1" && <div className="div_row">
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
*/}
|
|
||||||
|
|
||||||
</div>
|
<div className="titre1"> Detail client : {Client_email}</div>
|
||||||
|
|
||||||
|
<AddParnerClient client_mail={Client_email} close_detail_client={close_detail_client} />
|
||||||
|
|
||||||
|
</div>}
|
||||||
|
|
||||||
|
{String(Edite_Client) === "2" && <div className="div_row">
|
||||||
|
|
||||||
|
<div className="titre1"> Detail client : {Client_email}</div>
|
||||||
|
|
||||||
|
<AddParnerClient client_mail={Client_email} close_detail_client={close_detail_client} new_customer="1"
|
||||||
|
Get_List_Partner_Clients={Get_List_Partner_Clients} />
|
||||||
|
|
||||||
|
</div>}
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -1053,7 +1053,7 @@
|
||||||
|
|
||||||
.scroll_mysy {
|
.scroll_mysy {
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
max-height: 20rem;
|
height: 30rem;
|
||||||
overflow-y: visible;
|
overflow-y: visible;
|
||||||
overflow-y: scroll;
|
overflow-y: scroll;
|
||||||
padding-right: 1rem !important;
|
padding-right: 1rem !important;
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue