diff --git a/src/components/DisplayPartnerSession.js b/src/components/DisplayPartnerSession.js index 44ee359..e2dec1c 100644 --- a/src/components/DisplayPartnerSession.js +++ b/src/components/DisplayPartnerSession.js @@ -20044,9 +20044,11 @@ const DisplayPartnerSession = (props) => { {String(submenu) === String("evaluation_session") &&
+ p_formateur_id = {p_formateur_id} + + SessionendDate={new Date(moment(SessionendDate, "DD/MM/YYYY"))} session_formateur_id={p_formateur_id} session_class_id={p_detail_session_class_id}/>
} diff --git a/src/components/Module_Session_Evaluation.js b/src/components/Module_Session_Evaluation.js index aeeb494..8ba8463 100644 --- a/src/components/Module_Session_Evaluation.js +++ b/src/components/Module_Session_Evaluation.js @@ -39,7 +39,7 @@ import DialogActions from '@mui/material/DialogActions'; import DialogContent from '@mui/material/DialogContent'; import DialogContentText from '@mui/material/DialogContentText'; import DialogTitle from '@mui/material/DialogTitle'; -import { RestoreFromTrashRounded } from "@mui/icons-material"; +import { ResetTvRounded, RestoreFromTrashRounded } from "@mui/icons-material"; import img_loading_spin from "./../mysy_img/mysy_spin_loading.gif"; import { Fab } from "@material-ui/core"; import { IoMdAddCircle, IoIosRemoveCircleOutline } from "react-icons/io"; @@ -52,7 +52,7 @@ import { BsSend } from "react-icons/bs"; import Autocomplete from '@mui/material/Autocomplete'; import { FcOpenedFolder } from "react-icons/fc"; import { gridClasses } from '@mui/x-data-grid'; -import Link from '@mui/material/Link'; +import Link from '@mui/material/Link'; import { PiDotsThree } from "react-icons/pi"; import Module_Editique from "./Module_Editique"; import Module_Attestation_Formation from "./Module_Attestation_Formation"; @@ -81,6 +81,7 @@ const Module_Session_Evaluation = (props) => { const [submenu, setsubmenu] = useState(""); const [rowss, setRows] = useState([]); + console.log(" ### props.session_formateur_id = ", props.session_formateur_id); function ExpandableCell_50({ value }) { const [expanded, setExpanded] = React.useState(false); @@ -212,6 +213,51 @@ const Module_Session_Evaluation = (props) => { ] + + const columns_list_evaluation_enseignant = [ + { field: 'id', headerName: 'id', hide: true }, + { field: '_id', headerName: '_id', hide: true }, + { field: 'form_code', headerName: 'Form. Code', hide: true, minwidth: 200, flex: 1, hideable: true, resizable: true, renderCell: (params) => , }, + { field: 'email', headerName: 'email', minwidth: 300, flex: 1, hideable: true, resizable: true, renderCell: (params) => , }, + { field: 'nom', headerName: 'nom', minwidth: 300, flex: 1, hide: false, editable: true, renderCell: (params) => , }, + { field: 'prenom', headerName: 'prenom', minwidth: 300, flex: 1, hide: false, editable: false, renderCell: (params) => , }, + { + field: 'status', headerName: 'Statut', width: 100, editable: false, flex: true, + valueFormatter: (params) => { + if (String(params.value) === "0") + return "Init."; + else if (String(params.value) === "1") + return "Env."; + else if (String(params.value) === "2") + return "Rép."; + else + return " ?"; + }, + }, + + { + field: 'date_envoie', headerName: 'Date Envoi', width: 150, editable: false, + valueFormatter: (params) => { + if (params.value) + return String(params.value).substring(0, 16) + else + return "" + + }, + }, + { + field: 'date_reponse', headerName: 'Date Réponse', width: 150, editable: false, + valueFormatter: (params) => { + if (params.value) + return String(params.value).substring(0, 16) + else + return "" + + }, + }, + + ] + const [selected_code_session, setselected_code_session] = useState(); const [selected_session_id, setselected_session_id] = useState(props.related_collection_recid); const [selected_internal_url, setselected_internal_url] = useState(); @@ -269,6 +315,17 @@ const Module_Session_Evaluation = (props) => { }; new_data2.push(node); }); + + //--- + var node = { + "_id": "", + "id": "", + "label":"", + "nom": "", + "prenom": "", + "ismanager": "" + }; + new_data2.push(node); if (new_data2.length > 0) setNew_Getall_Training_Employee_No_Filter_result(new_data2); @@ -535,6 +592,8 @@ const Module_Session_Evaluation = (props) => { const [selectionModel_evaluation_cold, setSelectionModel_evaluation_cold] = React.useState([]); const [rowss_evaluation_cold, setRows_evaluation_cold] = useState([]); + const [selectionModel_evaluation_formateur, setSelectionModel_evaluation_formateur] = React.useState([]); + const [rowss_evaluation_formateur, setRows_evaluation_formateur] = useState([]); /**** Les évaluations a froid */ const [New_Getall_Partner_Formulaires_cold_evaluation_with_Filter, setNew_Getall_Partner_Formulaires_cold_evaluation_with_Filter] = useState([]); @@ -611,6 +670,82 @@ const Module_Session_Evaluation = (props) => { }) } + + const [New_Getall_Partner_Formulaires_formateur_evaluation_with_Filter, setNew_Getall_Partner_Formulaires_formateur_evaluation_with_Filter] = useState([]); + + const [Getall_Partner_Formulaires_formateur_evaluation_with_Filter_api, setGetall_Partner_Formulaires_formateur_evaluation_with_Filter_api] = useState(); + const [Getall_Partner_Formulaires_formateur_evaluation_with_Filter_message, setGetall_Partner_Formulaires_formateur_evaluation_with_Filter_message] = useState(); + const [Getall_Partner_Formulaires_formateur_evaluation_with_Filter_result, setGetall_Partner_Formulaires_formateur_evaluation_with_Filter_result] = useState([]); + function Getall_Partner_Formulaires_formateur_evaluation_with_Filter(event) { + + var form = new FormData(); + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("type", "human_eval"); + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_List_Formulaire_with_filter/"; + + + + setLoading(true); + axios.post(myurl, form).then(res => { + setLoading(false); + + if (String(res.data.status) === String("true")) { + //console.log(" In Getall_Partner_Formulaires_formateur_evaluation_with_Filter res.data.status = " + res.data.status); + //console.log(" In Getall_Partner_Formulaires_formateur_evaluation_with_Filter res.data.message r_class = " + res.data.message); + setGetall_Partner_Formulaires_formateur_evaluation_with_Filter_api("true"); + setGetall_Partner_Formulaires_formateur_evaluation_with_Filter_result(res.data.message); + + var new_data2 = []; + const new_data = res.data.message.map((x) => { + + //--- + var localid = JSON.parse(x).id; + var local_id = JSON.parse(x)._id; + var local_code = JSON.parse(x).code; + var local_nom = JSON.parse(x).nom; + + + //--- + var node = { + "_id": local_id, + "id": localid, + "label": local_code + " " + local_nom, + "nom": local_nom, + "code": local_code, + }; + new_data2.push(node); + }); + + var node = { + "_id": "", + "id": "", + "label": "", + "nom": "", + "code": "", + + }; + new_data2.push(node); + + if (new_data2.length > 0) + setNew_Getall_Partner_Formulaires_formateur_evaluation_with_Filter(new_data2); + } + else { + setGetall_Partner_Formulaires_formateur_evaluation_with_Filter_api("false"); + setGetall_Partner_Formulaires_formateur_evaluation_with_Filter_message(res.data.message); + } + + }).catch((error) => { + setLoading(false); + console.warn('Not good man :( Getall_Partner_Formulaires_formateur_evaluation_with_Filter = ', error); + setGetall_Partner_Formulaires_formateur_evaluation_with_Filter_api("false"); + //setmyApimyApiMessage("") + }) + } + + const [Getall_Survey_cold_evaluation_By_Session_api, setGetall_Survey_cold_evaluation_By_Session_api] = useState(); const [Getall_Survey_cold_evaluation_By_Session_message, setGetall_Survey_cold_evaluation_By_Session_message] = useState(); const [Getall_Survey_cold_evaluation_By_Session_result, setGetall_Survey_cold_evaluation_By_Session_result] = useState([]); @@ -654,6 +789,49 @@ const Module_Session_Evaluation = (props) => { }) } + const [Getall_Survey_formateur_evaluation_By_Session_api, setGetall_Survey_formateur_evaluation_By_Session_api] = useState(); + const [Getall_Survey_formateur_evaluation_By_Session_message, setGetall_Survey_formateur_evaluation_By_Session_message] = useState(); + const [Getall_Survey_formateur_evaluation_By_Session_result, setGetall_Survey_formateur_evaluation_By_Session_result] = useState([]); + function Getall_Survey_formateur_evaluation_By_Session(event) { + + setSelectionModel_evaluation_formateur([]) + + var form = new FormData(); + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("session_id", selected_session_id); + form.append("formulaire_type", "human_eval"); + + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_List_Survey_with_filter/"; + + setLoading(true); + axios.post(myurl, form).then(res => { + + setLoading(false); + + if (String(res.data.status) === String("true")) { + // console.log(" In Getall_Survey_formateur_evaluation_By_Session res.data.status = " + res.data.status); + console.log(" In Getall_Survey_formateur_evaluation_By_Session res.data.message r_class = " + res.data.message); + setGetall_Survey_formateur_evaluation_By_Session_api("true"); + setGetall_Survey_formateur_evaluation_By_Session_result(res.data.message); + setRows_evaluation_formateur(res.data.message); + + } + else { + setGetall_Survey_formateur_evaluation_By_Session_api("false"); + setGetall_Survey_formateur_evaluation_By_Session_message(res.data.message); + } + + }).catch((error) => { + setLoading(false); + console.warn('Not good man :( Getall_Survey_formateur_evaluation_By_Session = ', error); + setGetall_Survey_formateur_evaluation_By_Session_api("false"); + //setmyApimyApiMessage("") + }) + } + const [Create_List_Survey_cold_eval_For_Session_For_Inscrit_api, setCreate_List_Survey_cold_eval_For_Session_For_Inscrit_api] = useState(); const [Create_List_Survey_cold_eval_For_Session_For_Inscrit_message, setCreate_List_Survey_cold_eval_For_Session_For_Inscrit_message] = useState(); @@ -703,6 +881,63 @@ const Module_Session_Evaluation = (props) => { }) } + + const [Create_List_Survey_eval_formateur_For_Session_For_Inscrit_api, setCreate_List_Survey_eval_formateur_For_Session_For_Inscrit_api] = useState(); + const [Create_List_Survey_eval_formateur_For_Session_For_Inscrit_message, setCreate_List_Survey_eval_formateur_For_Session_For_Inscrit_message] = useState(); + const [Create_List_Survey_eval_formateur_For_Session_For_Inscrit_result, setCreate_List_Survey_eval_formateur_For_Session_For_Inscrit_result] = useState(); + function Create_List_Survey_eval_formateur_For_Session_For_Inscrit() { + + if( String(selected_formateur_id) === "" || String(selected_formateur_id).length < 5 ){ + alert(" Vous devez choisir un formateur "); + return; + } + var form = new FormData(); + //form.append("token","K3cw63eKokKSbV4spjQ48SUNnfy80yrXfA"); + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("session_id", selected_session_id); + form.append("formulaire_id", selected_formulaire_id); + form.append("related_collection", "ressource_humaine"); + form.append("related_collection_id", selected_formateur_id); + //form.append("class_id", props.session_class_id); + form.append("survey_type", "human_eval"); + form.append("sending_date", ""); + + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Init_Survey_Tab_For_All_Session_Inscrit/"; + + + setLoading(true); + axios.post(myurl, form).then(res => { + + setLoading(false); + if (String(res.data.status) === String("true")) { + //console.log(" In UpdateStagiaireData res.data.status = " + res.data.status); + //console.log(" In UpdateStagiaireData res.data.message r_class = " + res.data.message); + setCreate_List_Survey_eval_formateur_For_Session_For_Inscrit_api("true"); + setCreate_List_Survey_eval_formateur_For_Session_For_Inscrit_result(res.data.message); + Getall_Survey_formateur_evaluation_By_Session(); + alert(res.data.message); + + } else if (String(res.data.status) === String("Err_Connexion")) { + alert('Erreur: ' + res.data.message); + history.push("/Connexion"); + } + else { + setCreate_List_Survey_eval_formateur_For_Session_For_Inscrit_api("false"); + setCreate_List_Survey_eval_formateur_For_Session_For_Inscrit_message(res.data.message); + alert(res.data.message); + } + + }).catch((error) => { + setLoading(false); + console.warn('Create_List_Survey_eval_formateur_For_Session_For_Inscrit : Not good man :( mysearchtext = ' + error); + setCreate_List_Survey_eval_formateur_For_Session_For_Inscrit_api("false"); + alert(" Impossible d'initialiser la liste des enquête "); + + }) + } + const [actionmass_eval_froid, setactionmass_eval_froid] = useState(); const [actionmass_eval_val, setactionmass_eval_val] = useState(); @@ -867,6 +1102,12 @@ const Module_Session_Evaluation = (props) => { useEffect(() => { + + if( props.session_formateur_id){ + setselected_formateur_id(props.session_formateur_id); + }else{ + setselected_formateur_id(""); + } Getall_Training_Employee_No_Filter(); Getall_Training_Materiel_No_Filter(); @@ -977,7 +1218,7 @@ const Module_Session_Evaluation = (props) => { const [selected_formulaire_id, setselected_formulaire_id] = useState(); - + const [selected_formateur_id, setselected_formateur_id] = useState(""); const [Dialog_LIST_COLD_EVALUATION_QUESTION_open, setDialog_LIST_COLD_EVALUATION_QUESTION_open] = React.useState(false); const Dialog_LIST_COLD_EVALUATION_QUESTION_handleClose = () => { @@ -994,6 +1235,17 @@ const Module_Session_Evaluation = (props) => { const [date_cold_eval_sending, setdate_cold_eval_sending] = useState(date_today_90j.toLocaleDateString('fr-FR')); + const [Dialog_LIST_EVALUATION_FORMATEUR_open, setDialog_LIST_EVALUATION_FORMATEUR_open] = React.useState(false); + const Dialog_LIST_EVALUATION_FORMATEUR_handleClose = () => { + //alert(" Utiliser le bouton 'fermer' "); + //setOpen(false); + }; + + const Dialog_LIST_EVALUATION_FORMATEUR_handleClose_buton = () => { + setDialog_LIST_EVALUATION_FORMATEUR_open(false); + }; + + return (
@@ -1057,8 +1309,6 @@ const Module_Session_Evaluation = (props) => { tab_ids_inscription.push(line_id); } - - Create_List_Survey_hot_eval_For_Session_For_Inscrit(); Dialog_LIST_HOT_EVALUATION_QUESTION_handleClose_buton(); @@ -1083,8 +1333,6 @@ const Module_Session_Evaluation = (props) => { {/* FIN Dialog pour gerer les LIST_HOT_EVALUATION_QUESTION */} - - {/* Dialog pour gerer les LIST_COLD_EVALUATION_QUESTION */} { {/* FIN Dialog pour gerer les LIST_COLD_EVALUATION_QUESTION */} + {/* Dialog pour gerer les LIST_EVALUATION_FORMATEUR */} + + + MySy Information + + + {Dialog_1_message} + + + +
Choisir un questionnaire d'évaluation pour le formateur + { + if (value && value._id) { + + setselected_formulaire_id(value._id); + + } else { + setselected_formulaire_id(""); + } + }} + + renderInput={(params) => + } + /> + +
+ + + + {New_Getall_Training_Employee_No_Filter_result && New_Getall_Training_Employee_No_Filter_result.length > 0 && +
Choisir un formateur à évaluer + (data)._id === String(selected_formateur_id))[0].label} + onChange={(event, value) => { + if (value && value._id) { + + setselected_formateur_id(value._id); + + } else { + setselected_formateur_id(""); + } + }} + + renderInput={(params) => + } + /> + +
} + + + +
+ + +
+
+ + +
+ + + +
+ +
+
+ +
+ +
+ {/* FIN Dialog pour gerer les LIST_EVALUATION_FORMATEUR */} + + + +
@@ -1367,7 +1730,7 @@ const Module_Session_Evaluation = (props) => { {selectionModel_evaluation && String(selectionModel_evaluation) !== "" && selectionModel_evaluation.length >= 0 &&
- +   {/*