14/05/2024 - 21h30

recette2
cherif 2024-05-14 21:27:20 +02:00
parent 94968efc6d
commit 12105500c1
11 changed files with 670 additions and 335 deletions

View File

@ -1034,7 +1034,7 @@ const AddClassManual = (props) => {
if (mylocaltraining.duration) {
// document.getElementsByName("duree")[0].value = mylocaltraining.duration;
setp_detail_duree(mylocaltraining.note);
setp_detail_duree(mylocaltraining.duration);
}
else
setp_detail_duree("");
@ -3949,7 +3949,7 @@ const AddClassManual = (props) => {
<TextField
name="duree"
label="Duree"
label="Durée"
type="number"
InputLabelProps={{
shrink: true,

View File

@ -182,8 +182,6 @@ const AddParnerClient = (props) => {
document.getElementById("submenu_activite").style.background = "#d8edfc";
document.getElementById("submenu_activite").style.color = "#3b3e40";
document.getElementById("submenu_donnee_client").style.background = "#d8edfc";
document.getElementById("submenu_donnee_client").style.color = "#3b3e40";
document.getElementById("submenu_donnee_facturation").style.background = "#d8edfc";
document.getElementById("submenu_donnee_facturation").style.color = "#3b3e40";
@ -192,7 +190,6 @@ const AddParnerClient = (props) => {
document.getElementById("submenu_piece_jointe").style.color = "#3b3e40";
document.getElementById("submenu_donnee_client").style.background = "#104277";
document.getElementById("submenu_donnee_client").style.color = "white";
@ -647,11 +644,9 @@ const AddParnerClient = (props) => {
Get_List_Contact_Of_client_Part();
} else {
setformedit_mode("1");
setformedit_mode_invoice("1");
}
@ -1195,12 +1190,12 @@ const AddParnerClient = (props) => {
document.getElementsByName("client_pays")[0].style.backgroundColor = "#ECEFF1";
}
if (document.getElementsByName("client_email")) {
if (document.getElementsByName("client_email") && document.getElementsByName("client_pays")[0]) {
document.getElementsByName("client_email")[0].disabled = true;
document.getElementsByName("client_email")[0].style.backgroundColor = "#ECEFF1";
}
if (document.getElementsByName("client_siret")) {
if (document.getElementsByName("client_siret") && document.getElementsByName("client_pays")[0]) {
document.getElementsByName("client_siret")[0].disabled = true;
document.getElementsByName("client_siret")[0].style.backgroundColor = "#ECEFF1";
}
@ -1210,30 +1205,26 @@ const AddParnerClient = (props) => {
document.getElementsByName("client_type_id")[0].style.backgroundColor = "#ECEFF1";
}
if (document.getElementsByName("client_tva")) {
if (document.getElementsByName("client_tva") && document.getElementsByName("client_tva")[0]) {
document.getElementsByName("client_tva")[0].disabled = true;
document.getElementsByName("client_tva")[0].style.backgroundColor = "#ECEFF1";
}
if (document.getElementsByName("client_website")) {
if (document.getElementsByName("client_website") && document.getElementsByName("client_website")[0]) {
document.getElementsByName("client_website")[0].disabled = true;
document.getElementsByName("client_website")[0].style.backgroundColor = "#ECEFF1";
}
if (document.getElementsByName("client_code_postal")) {
if (document.getElementsByName("client_code_postal") && document.getElementsByName("client_code_postal")[0] ) {
document.getElementsByName("client_code_postal")[0].disabled = true;
document.getElementsByName("client_code_postal")[0].style.backgroundColor = "#ECEFF1";
}
if (document.getElementsByName("client_telephone")) {
if (document.getElementsByName("client_telephone")&& document.getElementsByName("client_telephone")[0]) {
document.getElementsByName("client_telephone")[0].disabled = true;
document.getElementsByName("client_telephone")[0].style.backgroundColor = "#ECEFF1";
}
if (document.getElementsByName("facturation_automatique")) {
document.getElementsByName("facturation_automatique")[0].disabled = true;
document.getElementsByName("facturation_automatique")[0].style.backgroundColor = "#ECEFF1";
}
}
@ -1304,11 +1295,6 @@ const AddParnerClient = (props) => {
document.getElementsByName("client_telephone")[0].style.backgroundColor = "#FFFFFF";
}
if (document.getElementsByName("facturation_automatique")) {
document.getElementsByName("facturation_automatique")[0].disabled = false;
document.getElementsByName("facturation_automatique")[0].style.backgroundColor = "#FFFFFF";
}
}
@ -1989,7 +1975,7 @@ const AddParnerClient = (props) => {
if (document.getElementsByName("client_invoice_pays")) {
document.getElementsByName("client_invoice_pays")[0].disabled = true;
document.getElementsByName("client_invoice_pays")[0].style.backgroundColor = "#ECEFF1";
console.log("iiiiii");
//console.log("iiiiii");
}
if (document.getElementsByName("facturation_automatique")) {
@ -3292,6 +3278,7 @@ const AddParnerClient = (props) => {
<Button variant="outlined" onClick={submenu_stagiaires} className="detail_submenu" id='submenu_stagiaires' name='submenu_stagiaires'>Stagiaires</Button>*/}
</div>
{String(submenu).trim() === "submenu_donnee_client" && <div className="training_data" onChange={DataUpdated}>
<div className="session_caract" >

View File

@ -1204,7 +1204,7 @@ const Apprenant = (props) => {
if (document.getElementsByName("field_detail_tuteur1_civilite") && document.getElementsByName("field_detail_tuteur1_civilite")[0]) {
console.log(" iiiiiiiiiiiiiii");
//console.log(" iiiiiiiiiiiiiii");
document.getElementsByName("field_detail_tuteur1_civilite")[0].disabled = true;
document.getElementsByName("field_detail_tuteur1_civilite")[0].style.backgroundColor = "#ECEFF1";
}

View File

@ -13209,14 +13209,14 @@ const DisplayPartnerSession = (props) => {
<Button variant="outlined" onClick={submenu_preinscrit} className="detail_class_submenu" id='preinscrit' name='preinscrit'>Preinscript. ({String(nb_stagiaire_Preinscrit)}) </Button>
<Button variant="outlined" onClick={submenu_inscrit} className="detail_class_submenu" id='inscrit' name='inscrit'>Inscription ({String(nb_stagiaire_Inscrit)}) </Button>
<Button variant="outlined" onClick={submenu_editique} className="detail_class_submenu" id='editique' name='editique' style={{background:'#6C3483', color:"#FFFFFF", "fontWeight":'700'}}>Gestion </Button>
<Button variant="outlined" onClick={submenu_editique} className="detail_class_submenu" id='editique' name='editique' style={{ background: '#6C3483', color: "#FFFFFF", "fontWeight": '700' }}>Gestion </Button>
<Button variant="outlined" onClick={submenu_emargement} className="detail_class_submenu" id='emargement' name='emargement'>Emargement </Button>
<Button variant="outlined" onClick={submenu_evaluation} className="detail_class_submenu" id='menu_eval' name='menu_eval'>Les avis (old)</Button>
{/*<Button variant="outlined" onClick={submenu_evaluation} className="detail_class_submenu" id='menu_eval' name='menu_eval'>Les avis (old)</Button>*/}
<Button variant="outlined" onClick={submenu_attestation} className="detail_class_submenu" id='menu_eval' name='menu_eval'>Attestation</Button>
<Button variant="outlined" onClick={submenu_q_positionnement} className="detail_class_submenu" id='q_positionnement' name='q_positionnement'>Q. Position </Button>
<Button variant="outlined" onClick={submenu_piece_jointe} className="detail_class_submenu" id='piece_jointe' name='piece_jointe'>Pièces Jointes </Button>
<Button variant="outlined" ref={myRef} onClick={submenu_evaluation_session} className="detail_class_submenu" id='evaluation_session' name='evaluation_session'> Evaluation</Button>
<Button variant="outlined" onClick={submenu_piece_jointe} className="detail_class_submenu" id='piece_jointe' name='piece_jointe'>Pièces Jointes </Button>
{/*<Button variant="outlined" onClick={submenu_historique} className="detail_class_submenu" id='historique' name='historique'>Historique </Button>*/}
@ -13325,7 +13325,7 @@ const DisplayPartnerSession = (props) => {
setp_detail_location_type(value.value);
setp_detail_location_type_label(value.label);
IssessionChanged();
}else{
} else {
setp_detail_location_type("");
setp_detail_location_type_label("");
IssessionChanged();
@ -13378,7 +13378,7 @@ const DisplayPartnerSession = (props) => {
setp_detail_is_bpf_label(value.label);
IssessionChanged();
}else{
} else {
setp_detail_is_bpf("");
setp_detail_is_bpf_label("");
IssessionChanged();
@ -13450,7 +13450,7 @@ const DisplayPartnerSession = (props) => {
IssessionChanged();
}else{
} else {
setp_session_ondemande("");
setp_session_ondemande_label("");
@ -13517,7 +13517,7 @@ const DisplayPartnerSession = (props) => {
setp_session_status_label(value.label);
IssessionChanged();
}else{
} else {
setp_session_status("");
setp_session_status_label("");
IssessionChanged();
@ -13653,7 +13653,7 @@ const DisplayPartnerSession = (props) => {
setp_session_etape_label(value.session_step_name);
IssessionChanged();
}else{
} else {
setp_session_etape("");
setp_session_etape_label("");
IssessionChanged();
@ -13829,7 +13829,7 @@ const DisplayPartnerSession = (props) => {
setp_session_presentiel_label(value.label);
IssessionChanged();
}else{
} else {
setp_session_presentiel("");
setp_session_presentiel_label("");
IssessionChanged();
@ -13898,7 +13898,7 @@ const DisplayPartnerSession = (props) => {
setp_session_distance_label(value.label);
IssessionChanged();
}else{
} else {
setp_session_distance("");
setp_session_distance_label("");
IssessionChanged();
@ -14127,7 +14127,7 @@ const DisplayPartnerSession = (props) => {
setp_formateur_label(value.label);
IssessionChanged();
}else{
} else {
setp_formateur_id("");
setp_formateur_label("");
IssessionChanged();
@ -14509,7 +14509,7 @@ const DisplayPartnerSession = (props) => {
setp_one_location_type(value.value);
setp_one_location_type_label(value.label);
}else{
} else {
setp_one_location_type("");
setp_one_location_type_label("");
}
@ -14557,7 +14557,7 @@ const DisplayPartnerSession = (props) => {
setp_one_is_bpf(value.value);
setp_one_is_bpf_label(value.label);
}else{
} else {
setp_one_is_bpf("");
setp_one_is_bpf_label("");
}
@ -14605,7 +14605,7 @@ const DisplayPartnerSession = (props) => {
setp_one_session_ondemande(value.value);
setp_one_session_ondemande_label(value.label);
}else{
} else {
setp_one_session_ondemande("");
setp_one_session_ondemande_label("");
}
@ -14655,7 +14655,7 @@ const DisplayPartnerSession = (props) => {
setp_one_session_status_label(value.label);
IssessionChanged();
}else{
} else {
setp_one_session_status("");
setp_one_session_status_label("");
IssessionChanged();
@ -14704,7 +14704,7 @@ const DisplayPartnerSession = (props) => {
setp_one_session_etape(value.session_step_name);
setp_one_session_etape_label(value.session_step_name);
}else{
} else {
setp_one_session_etape("");
setp_one_session_etape_label("");
}
@ -15115,7 +15115,7 @@ const DisplayPartnerSession = (props) => {
setp_formateur_id(value._id);
IssessionChanged();
}else{
} else {
setp_formateur_id("");
IssessionChanged();
}
@ -15962,7 +15962,7 @@ const DisplayPartnerSession = (props) => {
setp_one_detail_client_rattachement_id(value._id);
setp_one_detail_client_rattachement_nom(value.nom);
}else{
} else {
setp_one_detail_client_rattachement_id("");
setp_one_detail_client_rattachement_nom("");
}
@ -15991,7 +15991,7 @@ const DisplayPartnerSession = (props) => {
setp_one_detail_financeur_rattachement_id(value._id);
setp_one_detail_financeur_rattachement_nom(value.nom);
}else{
} else {
setp_one_detail_financeur_rattachement_id("");
setp_one_detail_financeur_rattachement_nom("");
}
@ -16017,7 +16017,7 @@ const DisplayPartnerSession = (props) => {
if (value && value._id) {
setp_one_detail_type_apprenant(value._id);
}else{
} else {
setp_one_detail_type_apprenant("");
}
}}
@ -16675,7 +16675,7 @@ const DisplayPartnerSession = (props) => {
if (value && value.value) {
setmyinscript_status(value.value);
}else{
} else {
setmyinscript_status("");
}
}}
@ -16721,7 +16721,7 @@ const DisplayPartnerSession = (props) => {
setp_one_detail_client_rattachement_id(value._id);
setp_one_detail_client_rattachement_nom(value.nom);
}else{
} else {
setp_one_detail_client_rattachement_id("");
setp_one_detail_client_rattachement_nom("");
}
@ -16750,7 +16750,7 @@ const DisplayPartnerSession = (props) => {
setp_one_detail_financeur_rattachement_id(value._id);
setp_one_detail_financeur_rattachement_nom(value.nom);
}else{
} else {
setp_one_detail_financeur_rattachement_id("");
setp_one_detail_financeur_rattachement_nom("");
}
@ -16778,7 +16778,7 @@ const DisplayPartnerSession = (props) => {
setp_one_detail_type_apprenant(value._id);
}else{
} else {
setp_one_detail_type_apprenant("");
}
@ -17244,7 +17244,7 @@ const DisplayPartnerSession = (props) => {
setp_detail_client_rattachement_nom(value.nom);
setparticipant_data_changed("1");
Dialog_1_handle_change_participant_session(" Attention, vous allez modifier le client de rattachement du participant");
}else{
} else {
setp_detail_client_rattachement_id("");
setp_detail_client_rattachement_nom("");
setparticipant_data_changed("1");
@ -17297,7 +17297,7 @@ const DisplayPartnerSession = (props) => {
Dialog_1_handle_change_participant_session(" Attention, vous allez modifier l'organisme financeur du participant");
}else{
} else {
setp_detail_financeur_rattachement_id("");
setp_detail_financeur_rattachement_nom("");
setparticipant_data_changed("1");
@ -17387,7 +17387,7 @@ const DisplayPartnerSession = (props) => {
if (value && value.value) {
setp_detail_status_inscrit(value.value);
setparticipant_data_changed("1");
}else{
} else {
setp_detail_status_inscrit("");
setparticipant_data_changed("1");
}
@ -18505,190 +18505,190 @@ const DisplayPartnerSession = (props) => {
</div>}
{String(submenu) === String("evaluation") &&
<div style={{ "border": "None" }}>
<div style={{ "border": "None" }}>
<div className="div_row" style={{ "textAlign": "right", "marginTop": "0.5rem" }}>
<div className="div_row" style={{ "textAlign": "right", "marginTop": "0.5rem" }}>
<Popup
trigger={
<Button className="bton_emarge">Initialiser la demande</Button>
}
modal
nested
position="center center"
<Popup
trigger={
<Button className="bton_emarge">Initialiser la demande</Button>
}
modal
nested
position="center center"
>
>
{close => (
<div>
<button className="gest_close" onClick={close}>
&times;
</button>
<div className="gest_header"> MySy Information </div>
<div className="gest_content">
{' '}
{close => (
<div>
<button className="gest_close" onClick={close}>
&times;
</button>
<div className="gest_header"> MySy Information </div>
<div className="gest_content">
{' '}
<font> Confirmez la ()initialisation de la demande. <br />
<font color="red"> /!\ Si une demande d'évaluation existe pour cette session, elle sera supprimée et récréée </font>
</font>
<font> Confirmez la ()initialisation de la demande. <br />
<font color="red"> /!\ Si une demande d'évaluation existe pour cette session, elle sera supprimée et récréée </font>
</font>
</div>
<div className="gest_actions">
<div style={{ "width": "45%", "float": "left" }}>
<button className="gest_bton_popup" onClick={(event) => {
Getall_Partner_Formulaires_hot_evaluation_with_Filter();
setDialog_LIST_HOT_EVALUATION_QUESTION_open(true);
close();
}}> Valider </button>
</div>
<div style={{ "width": "45%", "float": "right" }}>
<button
className="gest_bton_popup"
onClick={() => {
//console.log('modal closed ');
<div className="gest_actions">
<div style={{ "width": "45%", "float": "left" }}>
<button className="gest_bton_popup" onClick={(event) => {
Getall_Partner_Formulaires_hot_evaluation_with_Filter();
setDialog_LIST_HOT_EVALUATION_QUESTION_open(true);
close();
}}
>
Annuler
</button>
}}> Valider </button>
</div>
<div style={{ "width": "45%", "float": "right" }}>
<button
className="gest_bton_popup"
onClick={() => {
//console.log('modal closed ');
close();
}}
>
Annuler
</button>
</div>
</div>
</div>
</div>
)}
</Popup>
)}
</Popup>
<Button className="bton_emarge" onClick={(event) => {
Getall_Survey_hot_evaluation_By_Session();
}}>Actualiser la liste</Button>
<Button className="bton_emarge" onClick={(event) => {
Getall_Survey_hot_evaluation_By_Session();
}}>Actualiser la liste</Button>
<Button className="bton_emarge" onClick={(event) => {
Export_survey_hot_eval_datatab_class();
}}>Exporter (excel)</Button>
<Button className="bton_emarge" onClick={(event) => {
Export_survey_hot_eval_datatab_class();
}}>Exporter (excel)</Button>
</div>
<div style={{ height: "750px", width: '100%', padding: "10px" }} className="session_data">
<Box
sx={{
height: 500,
width: '100%',
paddingRight: '1px',
"& .MuiDataGrid-columnHeaders": {
backgroundColor: "#c8cfd5",
color: "black",
fontSize: 14
},
'& .line--statut--pair': {
backgroundColor: 'rgba(235, 235, 235, .7)',
color: 'black',
},
[`& .${gridClasses.cell}`]: {
py: 1,
},
'& .line--positionnement_envoye': {
backgroundColor: '#F9E79F',
color: 'black',
},
'& .line--positionnement_repondu': {
backgroundColor: '#ABEBC6',
color: 'black',
fontWeight: '600',
},
}}
>
<DataGrid
checkboxSelection
onSelectionModelChange={(newSelectionModel_evaluation) => {
setSelectionModel_evaluation(newSelectionModel_evaluation);
//console.log("ch selected--" + newSelectionModel_evaluation);
}}
selectionModel={selectionModel_evaluation}
localeText={frFR.components.MuiDataGrid.defaultProps.localeText}
rows={rowss_evaluation.map((item, index) => (
{
id: index,
_id: JSON.parse(item)._id,
email: JSON.parse(item).email,
nom: JSON.parse(item).nom,
prenom: JSON.parse(item).prenom,
status: JSON.parse(item).statut,
form_code: JSON.parse(item).formulaire.code,
date_envoie: JSON.parse(item).date_envoi,
date_reponse: JSON.parse(item).date_reponse,
}
))}
columns={columns_list_evaluation}
pageSize={10}
className="datagridclass"
rowsPerPageOptions={[10]}
disableSelectionOnClick
components={{
Toolbar: GridToolbar,
}}
getRowClassName={(params) => {
if (String(params.row.status) === "1") {
return 'line--positionnement_envoye';
}
if (String(params.row.status) === "2") {
return 'line--positionnement_repondu';
}
// Pour la gestion de la couleur de zone double cliquée
if (parseInt(String(params.row.id)) % 2 === 0) {
return 'line--statut--pair';
}
else if (parseInt(String(params.row.id)) % 2 !== 0) {
return 'line--statut--impair';
}
}}
getEstimatedRowHeight={() => 200}
getRowHeight={() => "auto"}
</div>
<div style={{ height: "750px", width: '100%', padding: "10px" }} className="session_data">
<Box
sx={{
"& .MuiDataGrid-cellContent": {
minHeight: 50,
height: 500,
width: '100%',
paddingRight: '1px',
"& .MuiDataGrid-columnHeaders": {
backgroundColor: "#c8cfd5",
color: "black",
fontSize: 14
},
'& .line--statut--pair': {
backgroundColor: 'rgba(235, 235, 235, .7)',
color: 'black',
},
[`& .${gridClasses.cell}`]: {
py: 1,
},
'& .line--positionnement_envoye': {
backgroundColor: '#F9E79F',
color: 'black',
},
'& .line--positionnement_repondu': {
backgroundColor: '#ABEBC6',
color: 'black',
fontWeight: '600',
},
}}
>
/>
</Box>
<DataGrid
checkboxSelection
onSelectionModelChange={(newSelectionModel_evaluation) => {
setSelectionModel_evaluation(newSelectionModel_evaluation);
//console.log("ch selected--" + newSelectionModel_evaluation);
{selectionModel_evaluation && selectionModel_evaluation.length >= 1 &&
<div className="block_en_mass">
<br />
<nav >Traitement en masse / Evaluation</nav><br />
&nbsp;
{/* &nbsp;<select
}}
selectionModel={selectionModel_evaluation}
localeText={frFR.components.MuiDataGrid.defaultProps.localeText}
rows={rowss_evaluation.map((item, index) => (
{
id: index,
_id: JSON.parse(item)._id,
email: JSON.parse(item).email,
nom: JSON.parse(item).nom,
prenom: JSON.parse(item).prenom,
status: JSON.parse(item).statut,
form_code: JSON.parse(item).formulaire.code,
date_envoie: JSON.parse(item).date_envoi,
date_reponse: JSON.parse(item).date_reponse,
}
))}
columns={columns_list_evaluation}
pageSize={10}
className="datagridclass"
rowsPerPageOptions={[10]}
disableSelectionOnClick
components={{
Toolbar: GridToolbar,
}}
getRowClassName={(params) => {
if (String(params.row.status) === "1") {
return 'line--positionnement_envoye';
}
if (String(params.row.status) === "2") {
return 'line--positionnement_repondu';
}
// Pour la gestion de la couleur de zone double cliquée
if (parseInt(String(params.row.id)) % 2 === 0) {
return 'line--statut--pair';
}
else if (parseInt(String(params.row.id)) % 2 !== 0) {
return 'line--statut--impair';
}
}}
getEstimatedRowHeight={() => 200}
getRowHeight={() => "auto"}
sx={{
"& .MuiDataGrid-cellContent": {
minHeight: 50,
},
[`& .${gridClasses.cell}`]: {
py: 1,
},
}}
/>
</Box>
{selectionModel_evaluation && selectionModel_evaluation.length >= 1 &&
<div className="block_en_mass">
<br />
<nav >Traitement en masse / Evaluation</nav><br />
&nbsp;
{/* &nbsp;<select
id={"actionmassemarg"} name={"actionmassemarg"}
onChange={actionmass_evaluation}
className="action_mass">
@ -18697,98 +18697,98 @@ const DisplayPartnerSession = (props) => {
</select> &nbsp;*/}
<Autocomplete
disablePortal
id="combo-box-demo"
className="block_en_mass_select"
fullWidth
options={New_Option_Evaluation_Masse}
onChange={(event, value) => {
if (value && value.value) {
if (String(value.value) === "demande evaluation") {
<Autocomplete
disablePortal
id="combo-box-demo"
className="block_en_mass_select"
fullWidth
options={New_Option_Evaluation_Masse}
onChange={(event, value) => {
if (value && value.value) {
if (String(value.value) === "demande evaluation") {
setactionmass_eval_val(value.value);
setactionmass_eval_val(value.value);
}
else {
setactionmass_eval_val("");
}
}
else {
setactionmass_eval_val("");
}
}}
renderInput={(params) => <TextField {...params} placeholder="Choisir une option" />
}
else {
setactionmass_eval_val("");
}
}}
renderInput={(params) => <TextField {...params} placeholder="Choisir une option" />
}
/>
/>
{actionmass_eval_val && String(actionmass_eval_val).length > 1 &&
<Popup
trigger={<Button className="bton_enreg" >
<FcAcceptDatabase /> Traiter
{actionmass_eval_val && String(actionmass_eval_val).length > 1 &&
<Popup
trigger={<Button className="bton_enreg" >
<FcAcceptDatabase /> Traiter
</Button>}
modal
nested
position="center center"
>
</Button>}
modal
nested
position="center center"
>
{close => (
<div>
<button className="gest_close" onClick={close}>
&times;
</button>
<div className="gest_header"> MySy Information </div>
<div className="gest_content">
{' '}
Confirmer l'action <b> {actionmass_eval_val} </b> en masse.
</div>
<div className="gest_actions">
<div style={{ "width": "45%", "float": "left" }}>
<button className="gest_bton_popup" onClick={(event) => {
actionmass_Evaluation_Traitemet();
close();
}}> Valider </button>
{close => (
<div>
<button className="gest_close" onClick={close}>
&times;
</button>
<div className="gest_header"> MySy Information </div>
<div className="gest_content">
{' '}
Confirmer l'action <b> {actionmass_eval_val} </b> en masse.
</div>
<div style={{ "width": "45%", "float": "right" }}>
<button
className="gest_bton_popup"
onClick={() => {
//console.log('modal closed ');
<div className="gest_actions">
<div style={{ "width": "45%", "float": "left" }}>
<button className="gest_bton_popup" onClick={(event) => {
actionmass_Evaluation_Traitemet();
close();
}}
>
Annuler
</button>
}}> Valider </button>
</div>
<div style={{ "width": "45%", "float": "right" }}>
<button
className="gest_bton_popup"
onClick={() => {
//console.log('modal closed ');
close();
}}
>
Annuler
</button>
</div>
</div>
</div>
</div>
)}
</Popup>
}
<br />
)}
</Popup>
}
<br />
</div>
}
</div>
}
<br />
<br />
</div>
</div>
</div>
}
{String(submenu) === String("attestation") && <div style={{ "border": "None" }}>

View File

@ -1795,7 +1795,7 @@ const DistplayPartnerTraningsPage = (props) => {
Domaine
</div>
<div className="div_row_droite_dialog_session" style={{ "textAlign": 'right' }}>
{<nav> {selected_row_data_json.domaine} </nav>}
{selected_row_data_json.domaine && New_Get_List_Domaines_result && New_Get_List_Domaines_result.length > 0 && <nav> {New_Get_List_Domaines_result.filter((data) => (data)._id === String(selected_row_data_json.domaine))[0].label} </nav>}
</div>
</div>

View File

@ -8,6 +8,8 @@ import FormControl from '@mui/material/FormControl';
import TextField from '@mui/material/TextField';
import AccountCircle from '@mui/icons-material/AccountCircle';
import PhoneIcon from '@mui/icons-material/Phone'
import AddReactionIcon from '@mui/icons-material/AddReaction';
import HomeWorkIcon from '@mui/icons-material/HomeWork';
import AssignmentSharpIcon from '@mui/icons-material/AssignmentSharp';
import EmailIcon from '@mui/icons-material/Email'
@ -462,53 +464,54 @@ function Inscription_Information(props) {
function SendInformationRequest() {
const formData = new FormData();
const url = process.env.REACT_APP_API_URL + "myclass/api/RenseignementClass/";
const url = process.env.REACT_APP_API_URL + "myclass/api/RenseignementClass/";
var nom = valnom_info;
if (is_company === "0") {
var nom = valnom_info;
//console.log(" nom = ", nom, );
if (String(nom).trim().length <= 0) {
document.getElementsByName("nom_info")[0].style.borderColor = "red";
alert(" Le nom d'utilisateur est obligatoire 1 ");
return;
}
var prenom = valprenom_info;
if (String(prenom).trim().length <= 0) {
document.getElementsByName("telephone_info")[0].style.borderColor = "red";
alert(" Le prenom d'utilisateur est obligatoire ");
return;
}
var telephone = valtelephone_info;
if (String(telephone).trim().length < 10) {
document.getElementsByName("telephone_info")[0].style.borderColor = "red";
alert(" Le numero de telephone doit comporter 10 chiffres ");
return;
}
var email = valemail_info;
var re2 = /\S+@\S+\.\S+/;
if (re2.test(email) === false) {
alert("L'email est incorrect ");
document.getElementsByName("email_info")[0].style.borderColor = "red";
return;
}
var employeur = ""
if (valemployeur_info) {
employeur = valemployeur_info;
}
//console.log(" nom = ", nom, );
if (String(nom).trim().length <= 0) {
document.getElementsByName("nom_info")[0].style.borderColor = "red";
alert(" Le nom d'utilisateur est obligatoire 1 ");
return;
}
var prenom = valprenom_info;
if (String(prenom).trim().length <= 0) {
document.getElementsByName("telephone_info")[0].style.borderColor = "red";
alert(" Le prenom d'utilisateur est obligatoire ");
return;
}
var telephone = valtelephone_info;
if (String(telephone).trim().length < 10) {
document.getElementsByName("telephone_info")[0].style.borderColor = "red";
alert(" Le numero de telephone doit comporter 10 chiffres ");
return;
}
var email = valemail_info;
var re2 = /\S+@\S+\.\S+/;
if (re2.test(email) === false) {
alert("L'email est incorrect ");
document.getElementsByName("email_info")[0].style.borderColor = "red";
return;
}
var employeur = ""
if (valemployeur_info) {
employeur = valemployeur_info;
}
var message = "";
if (editorRef_description.current) {
message = editorRef_description.current.getContent();
}
formData.append('nom', nom);
formData.append('employeur', employeur);
formData.append('prenom', prenom);
@ -517,6 +520,19 @@ function Inscription_Information(props) {
formData.append('message', message);
formData.append('class_internal_url', props.internal_url);
formData.append('raison_sociale', raison_sociale);
formData.append('siret', siret);
formData.append('email_requester', email_requester);
formData.append('telephone_requester', telephone_requester);
formData.append('nom_requester', nom_requester);
formData.append('prenom_requester', prenom_requester);
formData.append('nb_person_info', nb_person_info);
formData.append('is_company', is_company);
fetch(
url,
{
@ -633,8 +649,66 @@ function Inscription_Information(props) {
const [valnom_info, setvalnom_info] = useState();
const [valprenom_info, setvalprenom_info] = useState();
const [valemail_info, setvalemail_info] = useState();
const [valtelephone_info, setvaltelephone_info] = useState();
const [valemployeur_info, setvalemployeur_info] = useState();
const [valtelephone_info, setvaltelephone_info] = useState("");
const [valemployeur_info, setvalemployeur_info] = useState("");
const [nb_person_info, setnb_person_info] = useState("1");
const [cpany_siret, setcpany_siret] = useState("");
const [is_company, setis_company] = useState("0");
const New_Option_is_cpany = [
{ "id": "1", "label": "Entreprise ", "value": "1" },
{ "id": "0", "label": "Particulier ", "value": "0" },
]
const [raison_sociale, setraison_sociale] = useState("");
const handle_raison_sociale = event => {
var val = event.target.value;
setraison_sociale(val);
};
const [siret, setsiret] = useState("");
const handle_siret = event => {
var val = event.target.value;
setsiret(val);
};
const [email_requester, setemail_requester] = useState("");
const handle_email_requester = event => {
var val = event.target.value;
setemail_requester(val);
};
const [telephone_requester, settelephone_requester] = useState("");
const handle_telephone_requester = event => {
var val = event.target.value;
settelephone_requester(val);
};
const [nom_requester, setnom_requester] = useState("");
const handle_nom_requester = event => {
var val = event.target.value;
setnom_requester(val);
};
const [prenom_requester, setprenom_requester] = useState("");
const handle_prenom_requester = event => {
var val = event.target.value;
setprenom_requester(val);
};
const handlervalnom_info = event => {
var val = event.target.value;
@ -659,6 +733,12 @@ function Inscription_Information(props) {
setvaltelephone_info(val);
};
const handlerval_nb_person_info = event => {
var val = event.target.value;
setnb_person_info(val);
};
const handlervalemployeur_info = event => {
var val = event.target.value;
setvalemployeur_info(val);
@ -1242,8 +1322,31 @@ function Inscription_Information(props) {
{/* Gestion des demandes d'information */}
<div>
{New_Option_is_cpany && New_Option_is_cpany.length > 0 && <Autocomplete
disablePortal
name="filtre1"
id="filtre1"
className="disabled_style"
value={New_Option_is_cpany.filter((data) => (data).value === String(is_company))[0].label}
options={New_Option_is_cpany}
onChange={(event, value) => {
if (value && value.value) {
setis_company(value.value);
}
{(String(SendInformationRequest_status) === "false" ||
}}
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une option"
inputProps={{ ...params.inputProps, style: { fontSize: 12, height: "1.4rem" } }}
/>
}
/>}
</div>
{is_company && String(is_company) === "0" && (String(SendInformationRequest_status) === "false" ||
String(SendInformationRequest_status).length === 0) &&
String(action).toLocaleLowerCase() === "information" &&
String(AnnulerFction_info_status) !== "false" && <div>
@ -1253,6 +1356,8 @@ function Inscription_Information(props) {
{RecordData_message}
</div>}
<div className="select-container">
<div className="titre1_aide_finance"> Je m'informe</div>
@ -1388,6 +1493,8 @@ function Inscription_Information(props) {
<div className="div_info_droite">
<div className="titre1_aide_finance"> Dites nous en plus sur votre besoin :)</div>
Votre message <br />
<Editor
@ -1444,6 +1551,252 @@ function Inscription_Information(props) {
</div>}
{is_company && String(is_company) === "1" && (String(SendInformationRequest_status) === "false" ||
String(SendInformationRequest_status).length === 0) &&
String(action).toLocaleLowerCase() === "information" &&
String(AnnulerFction_info_status) !== "false" && <div>
<div className="div_info_gauche">
{String(RecordData_status) === "false" && <div className="koUpdateData">
{RecordData_message}
</div>}
<div className="select-container">
<div className="titre1_aide_finance"> Je m'informe</div>
</div>
<TextField
required
label="Raison Sociale"
name="raison_sociale"
id="nom_info"
className="texte_area"
sx={{ m: 1, width: '90%' }}
InputProps={{
startAdornment: (
<InputAdornment position="start">
<AccountCircle />
</InputAdornment>
),
}}
onChange={handle_raison_sociale}
variant="standard"
/>
<TextField
name="siret"
id="siret"
label="Num Siret"
className="texte_area"
sx={{ m: 1, width: '90%' }}
InputProps={{
startAdornment: (
<InputAdornment position="start">
<HomeWorkIcon />
</InputAdornment>
),
}}
onChange={handle_siret}
variant="standard"
/>
<TextField
required
name="email_requester"
label="Votre Email"
className="texte_area"
sx={{ m: 1, width: '90%' }}
InputProps={{
startAdornment: (
<InputAdornment position="start">
<EmailIcon />
</InputAdornment>
),
}}
onChange={handle_email_requester}
variant="standard"
/>
<TextField
required
name="telephone_requester"
label="Votre Téléphone"
className="texte_area"
sx={{ m: 1, width: '90%' }}
InputProps={{
startAdornment: (
<InputAdornment position="start">
<PhoneIcon />
</InputAdornment>
),
}}
onChange={handle_telephone_requester}
variant="standard"
/>
<TextField
name="nom_requester"
id="nom_requester"
label="Votre Nom"
className="texte_area"
sx={{ m: 1, width: '90%' }}
InputProps={{
startAdornment: (
<InputAdornment position="start">
<HomeWorkIcon />
</InputAdornment>
),
}}
onChange={handle_nom_requester}
variant="standard"
/>
<TextField
name="prenom_requester"
id="prenom_requester"
label="Votre Prénom"
className="texte_area"
sx={{ m: 1, width: '90%' }}
InputProps={{
startAdornment: (
<InputAdornment position="start">
<HomeWorkIcon />
</InputAdornment>
),
}}
onChange={handle_prenom_requester}
variant="standard"
/>
<TextField
required
name="nb_person_info"
label="Nombre de personnes"
className="texte_area"
type="number"
sx={{ m: 1, width: '90%' }}
InputProps={{
startAdornment: (
<InputAdornment position="start">
<AddReactionIcon />
</InputAdornment>
),
}}
value={nb_person_info}
onChange={handlerval_nb_person_info}
variant="standard"
/>
</div>
{/* -- début champs specifiques ** /}
<div className="div_row">
<hr />
</div>
<div className="div_row" style={{ "padding": "5px" }}> Vos champs spécifiques 2<br />
{rows_champs_specifics &&
rows_champs_specifics.map((champ_spec) => (
<div className="session_caract"> {JSON.parse(champ_spec).field_label} <br />
<br />
<TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
required
name={JSON.parse(champ_spec).field_name}
id={JSON.parse(champ_spec).field_name}
InputLabelProps={{
shrink: true,
}}
className="disabled_style"
onChange={(e) => {
change_champs_spec_handle(e.target.value);
//setEmployee_data_changed("1");
}}
//onChange={change_champs_spec_handle}
/>
</div>
))}
<br />
</div>
{/* -- end champs specifiques **/}
<div className="div_info_droite">
<div className="titre1_aide_finance"> Dites nous en plus sur votre besoin :)</div>
Votre message <br />
<Editor
onInit={(evt, editor) => editorRef_description.current = editor}
initialValue={field_description}
onKeyUp={editor_keyup}
onEditorChange={(newValue, editor) => {
if (String(editor_tochange) === "1") {
//alert(" change");
DataUpdated()
seteditor_tochange("");
}
}}
init={{
resize: false,
height: 400,
menubar: false,
plugins: [
'advlist autolink lists link image charmap print preview anchor',
'searchreplace visualblocks code fullscreen',
'insertdatetime media table paste code help wordcount'
],
toolbar: false,
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px; }'
}}
/>
</div>
<div> &nbsp;</div>
<div className="div_row22">
{<div className="div_row" style={{ "width": "100%" }}>
<div className="div_row_droite" style={{ "textAlign": "left", "marginTop": "0.5rem" }}>
<Button variant="contained" className="bton_envoyer"
onClick={SendInformationRequest}
startIcon={<SendIcon />}>Envoyer &nbsp; &nbsp; {<SendIcon />}</Button>
</div>
{<div className="div_row_gauche" style={{ "textAlign": "right", "marginTop": "0.5rem" }}>
<Button variant="contained" color="success" className="bton_fermer"
onClick={AnnulerFction_info}>Fermer &nbsp; &nbsp;{<IoCloseCircleOutline />}</Button>
</div>}
</div>
}
</div>
</div>}
</div>
);
}

View File

@ -54,9 +54,7 @@ import FullCalendar, { formatDate } from "@fullcalendar/react";
import dayGridPlugin from "@fullcalendar/daygrid";
import timeGridPlugin from "@fullcalendar/timegrid";
import interactionPlugin from "@fullcalendar/interaction";
import resourceTimeGridPlugin from '@fullcalendar/resource-timegrid';
import resourceTimelinePlugin from '@fullcalendar/resource-timeline'
import {
ListItem,
@ -1522,7 +1520,7 @@ const Module_Agenda = (props) => {
}}
//eventContent={(info) => <EventItem info={info} />}
//plugins={[timeGridPlugin]}
plugins={[timeGridPlugin, daygridPlugin, interactionPlugin, resourceTimeGridPlugin]}
plugins={[timeGridPlugin, daygridPlugin, interactionPlugin, ]}
views={["dayGridMonth", "dayGridWeek", "dayGridDay"]}
slotMinTime={Partner_Debut_Journee}
slotMaxTime={Partner_Fin_Journee}

View File

@ -1217,7 +1217,7 @@ const Module_Session_Evaluation = (props) => {
</div>
<div style={{ height: "600px", width: '100%', padding: "10px" }} className="session_data">
<div style={{ height: "650px", width: '100%', padding: "10px" }} className="session_data">
<Box
sx={{
height: 500,
@ -1329,8 +1329,8 @@ const Module_Session_Evaluation = (props) => {
{selectionModel_evaluation && selectionModel_evaluation.length >= 1 &&
<div className="block_en_mass">
<br />
<nav >Traitement en masse / Evaluation</nav><br />
<nav >Traitement en masse / Evaluation</nav>
&nbsp;
{/* &nbsp;<select
id={"actionmassemarg"} name={"actionmassemarg"}
@ -1510,7 +1510,7 @@ const Module_Session_Evaluation = (props) => {
</div>
</div>
<div style={{ height: "600px", width: '100%', padding: "10px" }} className="session_data">
<div style={{ height: "650px", width: '100%', padding: "10px" }} className="session_data">
<Box
sx={{
height: 500,
@ -1622,8 +1622,7 @@ const Module_Session_Evaluation = (props) => {
{selectionModel_evaluation_cold && selectionModel_evaluation_cold.length >= 1 &&
<div className="block_en_mass">
<br />
<nav >Traitement en masse / Evaluation froid</nav><br />
<nav >Traitement en masse / Evaluation froid</nav>
&nbsp;

View File

@ -2982,7 +2982,7 @@ const Module_Session_Planification = (props) => {
<DialogTitle>MySy Information</DialogTitle>
<DialogContent className="DialogContent_width">
<DialogContentText>
{Dialog_DIALOG_AGENDA_message} xxxx
{Dialog_DIALOG_AGENDA_message}
</DialogContentText>
<div className="session_caract_Dialog" >
@ -3258,10 +3258,6 @@ const Module_Session_Planification = (props) => {
{/*** fin dialogue pr agenda */}
<h3> Planninfication session de formation </h3>
<div style={{ "border": "None" }}>
<div className="div_row" style={{ "border": "None", paddingRight: '10px' }}>

View File

@ -1513,8 +1513,8 @@ const Partner = (props) => {
<div>
<Sidebar className="my_sidebar">
{String(menu) !== "mes_sessions" && <Menu className="my_menu bck_menu_seul" id="my_session" name="my_session" onClick={DiplaySessionList} > <CoPresentIcon className="icone_menu" color={"secondary"} /> &nbsp; SESSIONS </Menu>}
{String(menu) === "mes_sessions" && <Menu className="my_menu bck_menu_seul_selected" id="my_session" name="my_session" onClick={DiplaySessionList} > <CoPresentIcon className="icone_menu" color={"secondary"} /> &nbsp;SESSIONS </Menu>}
{String(menu) !== "mes_sessions" && <Menu className="my_menu bck_menu_seul" id="my_session" name="my_session" onClick={DiplaySessionList} > <CoPresentIcon className="icone_menu" color={"secondary"} /> &nbsp; &nbsp;SESSIONS </Menu>}
{String(menu) === "mes_sessions" && <Menu className="my_menu bck_menu_seul_selected" id="my_session" name="my_session" onClick={DiplaySessionList} > <CoPresentIcon className="icone_menu" color={"secondary"} /> &nbsp;&nbsp;SESSIONS </Menu>}

View File

@ -617,6 +617,9 @@ const Partner_Client = (props) => {
{ "id": "1", "label": "", "value": "1" }, // Cette ligne pour couvrir l'ajout d'une ligne de filter. C'est fait expres.
]
return (
<div className="partner_client">
@ -829,7 +832,6 @@ const Partner_Client = (props) => {
onChange={(event, value) => {
if (value && value.value) {
setp_filtre2(value.value);
}
}}