09/02/23 - 17h

recette2
cherif 2023-02-09 17:00:49 +01:00
parent 7a9096b4bd
commit fbbf8d4614
5 changed files with 189 additions and 77 deletions

View File

@ -277,6 +277,7 @@ const DisplayDetailClass_new_v2 = (props) => {
const [isdatadock, setisdatadock] = useState();
const [isqualiopi, setisqualiopi] = useState();
const [iscertitrace, setiscertitrace] = useState();
const [isbureaucertitrace, setisbureaucertitrace] = useState();
const [partnair_name, setpartnair_name] = useState();
const [website_partenaire, setwebsite_partenaire] = useState();
@ -386,13 +387,17 @@ const DisplayDetailClass_new_v2 = (props) => {
setiscertitrace(JSON.parse(res.data.message).iscertitrace);
}
if (JSON.parse(res.data.message).isbureaucertitrace) {
setisbureaucertitrace(JSON.parse(res.data.message).isbureaucertitrace);
}
if (JSON.parse(res.data.message).nom_partenaire) {
setpartnair_name(JSON.parse(res.data.message).nom_partenaire);
}
if (JSON.parse(res.data.message).nb_pave_a_afficher) {
setnb_pave_a_afficher(JSON.parse(res.data.message).nb_pave_a_afficher);
console.log(" ### NB setnb_pave_a_afficher = ", JSON.parse(res.data.message).nb_pave_a_afficher);
//console.log(" ### NB setnb_pave_a_afficher = ", JSON.parse(res.data.message).nb_pave_a_afficher);
}
@ -425,32 +430,47 @@ const DisplayDetailClass_new_v2 = (props) => {
var main_h_px;
console.log("GetCurrentClass_result.length = ", GetCurrentClass_result);
console.log("nb_partner_certificat = ", JSON.parse(res.data.message).nb_partner_certificat);
if (window.screen.width < 601) {
var decalage_pr_certificat = parseInt(String(JSON.parse(res.data.message).nb_partner_certificat)) * 150;
console.log("decalage_pr_certificat = ", decalage_pr_certificat);
var local_val = parseInt(String(JSON.parse(res.data.message).nb_pave_a_afficher));
console.log("### local_val = ", local_val)
if (local_val >= 5) {
console.log(" ON PASSE AU MAX")
local_tmp = "2300px";
main_h_px = "4000px";
var local_tmp_val = 2300 + decalage_pr_certificat;
var local_main_h_px = 4000 + decalage_pr_certificat;
//console.log("### local_tmp_val = ", local_tmp_val, " local_main_h_px = ",local_main_h_px);
local_tmp = local_tmp_val + "px";
main_h_px = local_main_h_px + "px";
if (String(action).toLowerCase() === "information" || String(action).toLowerCase() === "inscription") {
local_tmp = "2800px";
main_h_px = "4500px";
var local_tmp_val = 2800 + decalage_pr_certificat;
var local_main_h_px = 4500 + decalage_pr_certificat;
local_tmp = local_tmp_val + "px";
main_h_px = local_main_h_px + "px";
}
} else {
console.log(" ON PASSE AU MIN");
local_tmp = "2100px";
main_h_px = "4800px";
var local_tmp_val = 2100 + decalage_pr_certificat;
var local_main_h_px = 4800 + decalage_pr_certificat;
local_tmp = local_tmp_val + "px";
main_h_px = local_main_h_px + "px";
if (String(action).toLowerCase() === "information" || String(action).toLowerCase() === "inscription") {
local_tmp = "2600px";
main_h_px = "5300px";
var local_tmp_val = 2600 + decalage_pr_certificat;
var local_main_h_px = 5300 + decalage_pr_certificat;
local_tmp = local_tmp_val + "px";
main_h_px = local_main_h_px + "px";
}
}
document.getElementById('mob_block_cross_sell_cat').style.top = local_tmp;
document.getElementById('mobile').style.height = main_h_px;
@ -700,10 +720,16 @@ const DisplayDetailClass_new_v2 = (props) => {
if (window.screen.width < 601) {
var meme_orga_top = document.getElementById('mob_block_cross_sell_cat').style.top;
var displaydetailclass_new_v2_hei = document.getElementById('mobile').style.height;
var sticky_div_hilight_top = "1300";
var new_meme_orga_top = parseInt(meme_orga_top) + 900;
var new_displaydetailclass_new_v2_hei = parseInt(displaydetailclass_new_v2_hei) + 900;
var new_sticky_div_hilight_top = parseInt(sticky_div_hilight_top) + 900;
document.getElementById('mob_block_cross_sell_cat').style.top = new_meme_orga_top + "px";
document.getElementById('mobile').style.height = new_displaydetailclass_new_v2_hei + "px";
document.getElementById('sticky_div_hilight_pave').style.top = new_sticky_div_hilight_top + "px";
window.scrollTo(0, 500);
}
@ -748,10 +774,17 @@ const DisplayDetailClass_new_v2 = (props) => {
var meme_orga_top = document.getElementById('mob_block_cross_sell_cat').style.top;
var displaydetailclass_new_v2_hei = document.getElementById('mobile').style.height;
var sticky_div_hilight_top = "1300";
var new_meme_orga_top = parseInt(meme_orga_top) + 900;
var new_displaydetailclass_new_v2_hei = parseInt(displaydetailclass_new_v2_hei) + 900;
var new_sticky_div_hilight_top = parseInt(sticky_div_hilight_top) + 900;
document.getElementById('mob_block_cross_sell_cat').style.top = new_meme_orga_top + "px";
document.getElementById('mobile').style.height = new_displaydetailclass_new_v2_hei + "px";
document.getElementById('sticky_div_hilight_pave').style.top = new_sticky_div_hilight_top + "px";
window.scrollTo(0, 500);
}
@ -900,11 +933,17 @@ const DisplayDetailClass_new_v2 = (props) => {
if (window.screen.width < 601) {
var meme_orga_top = document.getElementById('mob_block_cross_sell_cat').style.top;
var displaydetailclass_new_v2_hei = document.getElementById('mobile').style.height;
var sticky_div_hilight_top = document.getElementById('sticky_div_hilight_pave').style.top;
var new_meme_orga_top = parseInt(meme_orga_top) - 900;
var new_displaydetailclass_new_v2_hei = parseInt(displaydetailclass_new_v2_hei) - 900;
var new_sticky_div_hilight_top = parseInt(sticky_div_hilight_top) - 900;
document.getElementById('mob_block_cross_sell_cat').style.top = new_meme_orga_top + "px";
document.getElementById('mobile').style.height = new_displaydetailclass_new_v2_hei + "px";
document.getElementById('sticky_div_hilight_pave').style.top = new_sticky_div_hilight_top + "px";
}
@ -950,11 +989,15 @@ const DisplayDetailClass_new_v2 = (props) => {
if (window.screen.width < 601) {
var meme_orga_top = document.getElementById('mob_block_cross_sell_cat').style.top;
var displaydetailclass_new_v2_hei = document.getElementById('mobile').style.height;
var sticky_div_hilight_top = document.getElementById('sticky_div_hilight_pave').style.top;
var new_meme_orga_top = parseInt(meme_orga_top) - 900;
var new_displaydetailclass_new_v2_hei = parseInt(displaydetailclass_new_v2_hei) - 900;
var new_sticky_div_hilight_top = parseInt(sticky_div_hilight_top) - 900;
document.getElementById('mob_block_cross_sell_cat').style.top = new_meme_orga_top + "px";
document.getElementById('mobile').style.height = new_displaydetailclass_new_v2_hei + "px";
document.getElementById('sticky_div_hilight_pave').style.top = new_sticky_div_hilight_top + "px";
}
else if (window.screen.width >= 601 && window.screen.width <= 991) {
var meme_orga_top = document.getElementById('block_crossell_meme_orga').style.top;
@ -1412,7 +1455,7 @@ const DisplayDetailClass_new_v2 = (props) => {
</div>
{DetailTraining["programme"] && <div className="mob_info_page_title_desc_desc programme_block">
{parse(String(DetailTraining["programme"]))}
{parse(String(DetailTraining["programme"]))}sticky_div_hilight
</div>
}
@ -1436,24 +1479,29 @@ const DisplayDetailClass_new_v2 = (props) => {
{/* <div className="sticky_div_hilight">
{<div className="sticky_div_hilight" id="sticky_div_hilight_pave">
{String(isqualiopi) === "1" && <div className="sticky_img_hilight1">
<img src="https://img.mysy-training.com/hifmi/IMG_Qualiopi.jpg" alt="Qualiopi" className="img_hili" />
<img src="https://img.mysy-training.com/certificat_img/IMG_Qualiopi.jpg" alt="Qualiopi" className="img_hili" />
</div>}
{String(isdatadock) === "1" && <div className="sticky_img_hilight1">
<img src="https://img.mysy-training.com/hifmi/IMG_Datadock.jpg" alt="DataDock" className="img_hili" />
<img src="https://img.mysy-training.com/certificat_img/IMG_Datadock.jpg" alt="DataDock" className="img_hili" />
</div>}
{String(iscertitrace) === "1" && <div className="sticky_img_hilight1">
<img src="https://img.mysy-training.com/hifmi/IMG_Certitrace.jpg" alt="Certitrace" className="img_hili" />
<img src="https://img.mysy-training.com/certificat_img/IMG_Certitrace.jpg" alt="Certitrace" className="img_hili" />
</div>}
{String(isbureaucertitrace) === "1" && <div className="sticky_img_hilight1">
<img src="https://img.mysy-training.com/certificat_img/IMG_Bureau_Certitrace.jpg" alt="Certitrace" className="img_hili" />
</div>}
</div>*/}
</div>}
</div>
@ -2139,6 +2187,11 @@ const DisplayDetailClass_new_v2 = (props) => {
</div>}
{String(isbureaucertitrace) === "1" && <div className="sticky_img_hilight1">
<img src="https://img.mysy-training.com/certificat_img/IMG_Bureau_Certitrace.jpg" alt="Bureau Certitrace" className="img_hili" />
</div>}
</div>

View File

@ -354,11 +354,12 @@ function GestionAdministrative(props) {
const columns_list_evaluation = [
{ field: 'id', headerName: 'id', hide: true },
{ field: 'email', headerName: 'email', width: 150, hideable: false, flex: 1 },
{ field: 'nom', headerName: 'nom', width: 150, hide: false, editable: true },
{ field: 'prenom', headerName: 'prenom', width: 150, hide: false, editable: false },
{ field: 'eval_eval', headerName: 'Evaluation', width: 100, editable: false, },
{ field: 'email', headerName: 'email', width: 200, hideable: true, resizable: true },
{ field: 'nom', headerName: 'nom', width: 200, hide: false, editable: true },
{ field: 'prenom', headerName: 'prenom', width: 200, hide: false, editable: false },
{ field: 'eval_eval', headerName: 'Evaluation', width: 100, editable: false, flex:true},
{ field: 'eval_note', headerName: 'Note', width: 100, editable: false, },
{ field: 'eval_pedagogie', headerName: 'Pédagogie', width: 100, editable: false, },
{ field: 'eval_date', headerName: 'Date evalution', width: 100, editable: false, },
{/*
field: "valide", headerName: 'Valider',
@ -2898,27 +2899,12 @@ function GestionAdministrative(props) {
<div className="div_row" style={{ "textAlign": "right", "marginTop": "0.5rem" }}>
<Button className="bton_emarge" onClick={"ConfirmInitListEmargement"}>Initaliser les evaluation</Button>
<Button className="bton_emarge" onClick={"DownloadListEmargement"}>Imprimer les evaluation</Button>
<Button className="bton_emarge" onClick={"ConfirmEnvoiListEmargement"}>Envoyer les demandes d'evaluation</Button><br />
<Button className="bton_emarge" onClick={"ConfirmInitListEmargement"}>Exporter (excel)</Button>
</div>
{String(CreateListEmargement_api) === "true" && <div className="okUpdateData">
La liste d'emargement a été créée
</div>}
{String(CreateListEmargement_api) === "false" && <div className="koUpdateData">
{CreateListEmargement_message}
</div>}
{String(ActionMassListEmargement_api) === "true" && <div className="okUpdateData">
Les demandes d'emargement ont bien été envoyées
</div>}
{String(ActionMassListEmargement_api) === "false" && <div className="koUpdateData">
{CreateListEmargement_message}
</div>}
@ -2942,6 +2928,7 @@ function GestionAdministrative(props) {
eval_date: String(JSON.parse(item).eval_date).substring(0, 10),
eval_eval: String(JSON.parse(item).eval_eval).replace(/(<([^>]+)>)/ig, ''),
eval_note: JSON.parse(item).eval_note,
eval_pedagogie: JSON.parse(item).eval_pedagogie,
}
))}
@ -2961,7 +2948,7 @@ function GestionAdministrative(props) {
<br />
<Button className="bton_emarge" onClick={ActionMassListEmargement}>Envoyer les demandes d'emargement</Button><br />

View File

@ -523,6 +523,7 @@ function Inscription_Information(props) {
/*
var pedagogie = "";
var ele = document.getElementsByName('pedagogie');
@ -539,19 +540,26 @@ function Inscription_Information(props) {
logistique = ele[i].value;
}
*/
if (!RatingValue) {
alert(" Vous n'avez pas donné une appreciation globle. Le point N° 1. Merci d'avance")
alert(" Aidez-nous à nous améliorer, donnez une appréciation globale svp. Le point N° 1. Merci d'avance")
return;
}
if (!RatinpedagogiegValue) {
alert(" Aidez-nous à nous améliorer, donnez une appréciation sur notre pédagigie svp. Le point N° 2. Merci d'avance")
return;
}
formData.append('inscription_id', props.eval_token);
formData.append('eval_note', RatingValue);
formData.append('eval_pedagogie', RatinpedagogiegValue);
formData.append('eval_eval', message);
formData.append('eval_pedagogie', pedagogie);
fetch(
url,
@ -583,6 +591,7 @@ function Inscription_Information(props) {
};
const [RatingValue, setRatingValue] = useState(0);
const [RatinpedagogiegValue, setRatinpedagogiegValue] = useState(0);
let datafromchild = "yaaaaa child";
const [valnom_info, setvalnom_info] = useState();
@ -885,37 +894,21 @@ function Inscription_Information(props) {
<div className="div_row22 survey_block">
<fieldset>
<nav className="survey_title"> 2 .pedagogie </nav>
<nav className="survey_title"> 2 .dagogie </nav>
<nav className="survey_desc"> Comment la formation a été dispensée</nav>
<div class="some-class">
<input type="radio" class="radio" name="pedagogie" value="un_peu" id="pedagogie" />
<label for="pedagogie">Un peu</label> &nbsp;&nbsp;
<input type="radio" class="radio" name="pedagogie" value="bonne" id="pedagogie" />
<label for="pedagogie">Bonne</label>&nbsp;&nbsp;
<input type="radio" class="radio" name="pedagogie" value="excellent" id="pedagogie" />
<label for="pedagogie">Excellent</label>&nbsp;&nbsp;
</div>
</fieldset>
</div>
<div className="div_row22 survey_block">
<fieldset>
<nav className="survey_title"> 3 .La logistique </nav>
<nav className="survey_desc"> Comment vous avez trouvé l'organisation </nav>
<div class="some-class">
<input type="radio" class="radio" name="log" value="log_un_peu" id="log" />
<label for="log">Un peu</label> &nbsp;&nbsp;
<input type="radio" class="radio" name="log" value="log_bonne" id="log" />
<label for="log">Bcp</label>&nbsp;&nbsp;
<input type="radio" class="radio" name="log" value="log_excellente" id="log" />
<label for="log">Tres</label>&nbsp;&nbsp;
</div>
<Rating name="half-rating-read"
defaultValue={0}
precision={0.5}
onChange={(event, newValue) => {
setRatinpedagogiegValue(newValue);
}} /> <br />
</fieldset>
</div>
<div className="div_row22 survey_block">
<fieldset style={{ "maxHeight": '200px' }}>
<nav className="survey_title"> 4 .Votre avis general</nav>
<nav className="survey_title"> 4 .Un commentaire ?</nav>
<Editor
onInit={(evt, editor) => editorRef_evaluation.current = editor}

View File

@ -378,6 +378,13 @@ function UpdateParnterInfo() {
setmycertitrace("0");
}
if (mylocaltraining.isbureaucertitrace) {
setmybureaucertitrace(mylocaltraining.isbureaucertitrace);
}
else {
setmybureaucertitrace("0");
}
if (mylocaltraining.isdatadock) {
setmydatadock(mylocaltraining.isdatadock);
}
@ -468,10 +475,16 @@ function UpdateParnterInfo() {
})
}
function annuler_change_user_data() {
desablefield1();
getCurrentUserData();
}
function desablefield1() {
setdatamodification();
document.getElementsByName("adr_city")[0].disabled = true;
document.getElementsByName("adr_city")[0].style.backgroundColor = "#ECEFF1";
@ -704,6 +717,7 @@ function UpdateParnterInfo() {
var contact_mail = document.getElementsByName("contact_mail")[0].value;
var mycertitrace = document.getElementsByName("iscertitrace")[0].value;
var mybureaucertitrace = document.getElementsByName("isbureaucertitrace")[0].value;
var mydatadock = document.getElementsByName("isdatadock")[0].value;
var myqualiopi = document.getElementsByName("isqualiopi")[0].value;
@ -715,6 +729,7 @@ function UpdateParnterInfo() {
formData.append('iscertitrace', mycertitrace);
formData.append('isdatadock', mydatadock);
formData.append('isqualiopi', myqualiopi);
formData.append('isbureaucertitrace', mybureaucertitrace);
formData.append('website', website);
formData.append('adr_city', adr_city);
@ -749,6 +764,7 @@ function UpdateParnterInfo() {
if (String(result['status']) == String("true")) {
settestval(true);
desablefield1();
setdatamodification();
}
@ -1004,6 +1020,18 @@ function UpdateParnterInfo() {
];
const bureaucertitrace = [
{
value: '1',
label: 'Oui',
},
{
value: '0',
label: 'Non',
},
];
const [myqualiopi, setmyqualiopi] = useState("");
const handleChangequaliopi = (event) => {
@ -1014,7 +1042,7 @@ function UpdateParnterInfo() {
const name = event.target.name;
const value = event.target.value;
setdatamodification("1");
setmyqualiopi(value);
}
@ -1027,7 +1055,7 @@ function UpdateParnterInfo() {
const name = event.target.name;
const value = event.target.value;
setdatamodification("1");
setmydatadock(value);
}
@ -1042,9 +1070,29 @@ function UpdateParnterInfo() {
const name = event.target.name;
const value = event.target.value;
setdatamodification("1");
setmycertitrace(value);
}
const [mybureaucertitrace, setmybureaucertitrace] = useState("");
const handleChangebureaucertitrace = (event) => {
if (fields1desabled) {
alert(" Vous devez cliquer sur 'Editer' pour activer les modifications");
return;
}
const name = event.target.name;
const value = event.target.value;
setdatamodification("1");
setmybureaucertitrace(value);
}
const [datamodification, setdatamodification] = useState("0");
function DataUpdated() {
setdatamodification("1");
}
return (
<div className='updateparnterinfo'>
@ -1062,7 +1110,7 @@ function UpdateParnterInfo() {
}
<Box alignItems="left" sx={{ '& > :not(style)': { m: 1 }, width: '100%', }}>
<Box alignItems="left" sx={{ '& > :not(style)': { m: 1 }, width: '100%', }} onChange={DataUpdated}>
<TextField
required
@ -1327,6 +1375,26 @@ function UpdateParnterInfo() {
))}
</TextField>
<TextField
name="isbureaucertitrace"
label="Bureau Certitrace"
select
className="texte_area"
sx={{ m: 1, width: '48%' }}
value={mybureaucertitrace}
onChange={handleChangebureaucertitrace}
variant="standard"
>{bureaucertitrace.map((option) => (
<MenuItem key={option.value} value={option.value} >
{option.label} &nbsp; <br />
</MenuItem>
))}
</TextField>
<br />
@ -1394,13 +1462,18 @@ function UpdateParnterInfo() {
variant="standard"
/>
{fields1desabled == false && String(datamodification) === String("1") && <div className="div_row">
<div className="koUpdateData" style={{ "color": "orange", "textAlign": "center" }}> /!\ Pensez à enregistrer les modifications</div>
</div>}
<div className="div_row22">
{fields1desabled == false && <div className="div_row">
<div className="div_row_gauche">
<Button variant="contained" color="success" className="div_row22 btn_enreg " onClick={RecordData}>Enregister</Button>
</div>
<div className="div_row_droite">
<Button variant="contained" color="success" className="div_row22 btn_modif" onClick={desablefield1}>Annuler</Button>
<Button variant="contained" color="success" className="div_row22 btn_modif" onClick={annuler_change_user_data}>Annuler</Button>
</div>
</div>
@ -1646,7 +1719,7 @@ function UpdateParnterInfo() {
}
<Box alignItems="left" sx={{ '& > :not(style)': { m: 1 } }}>
<Box alignItems="left" sx={{ '& > :not(style)': { m: 1 } }} >
<FormControl sx={{ m: 1, width: '90%' }} variant="standard" size="small" className="texte_area_passwd">
<Label>Clé de rattachement actuelle</Label>
@ -1740,10 +1813,13 @@ function UpdateParnterInfo() {
<div className="div_row22">
{insert_keyfieldsdesabled == false && <div className="div_row">
<div className="div_row_gauche">
<Button variant="contained" color="success" className="div_row22 btn_enreg " onClick={UpdatePartnerInsertKey}>Enregister</Button>
</div>
<div className="div_row_droite">
<Button variant="contained" color="success" className="div_row22 btn_modif " onClick={desablesecurtyInsertKeyfields}>Annuler</Button>
</div>

View File

@ -1476,15 +1476,18 @@
.sticky_img_hilight1 {
/* Auto layout */
width: 100%;
height: 170px;
width: 90%;
margin-left: auto;
margin-right: auto;
height: 150px;
max-height: 150px;
}
.img_hili {
width: 100%;
max-height: 170px;
max-height: 100px;
height: 100px;
border-radius: 15px;
}
}