recette2
cherif 2024-05-26 16:12:34 +02:00
parent 820874c5ec
commit c08e280e4c
4 changed files with 191 additions and 11 deletions

View File

@ -8630,6 +8630,7 @@ const DisplayPartnerSession = (props) => {
}
const [Add_One_Sequence_Session_Ressource_Mass_api, setAdd_One_Sequence_Session_Ressource_Mass_api] = useState();
const [Add_One_Sequence_Session_Ressource_Mass_message, setAdd_One_Sequence_Session_Ressource_Mass_message] = useState();
const [Add_One_Sequence_Session_Ressource_Mass_result, setAdd_One_Sequence_Session_Ressource_Mass_result] = useState();

View File

@ -53,6 +53,9 @@ import { FcSearch, FcViewDetails, FcOpenedFolder } from "react-icons/fc";
import Link from '@mui/material/Link';
import { PiDotsThree } from "react-icons/pi";
import { IoAddCircleOutline, IoCloseCircleOutline } from "react-icons/io5";
import CheckBoxOutlineBlankIcon from '@mui/icons-material/CheckBoxOutlineBlank';
import CheckBoxIcon from '@mui/icons-material/CheckBox';
import Checkbox from '@mui/material/Checkbox';
const DisplayPartnerStagiaires = (props) => {
const history = useHistory();
@ -88,6 +91,7 @@ const DisplayPartnerStagiaires = (props) => {
{ field: '_id', headerName: '_id', hide: true, editable: false, Width: 0 },
{ field: 'session_id', headerName: 'session_id', hide: true, editable: false, Width: 0 },
{ field: 'id', headerName: 'id', hide: true, Width: 0 },
{ field: 'class_id', headerName: 'class_id', hide: true, Width: 0 },
{ field: 'class_internal_url', headerName: 'class_internal_url', hide: true, editable: false, Width: 0 },
{ field: 'telephone', headerName: 'Téléphone', hide: true, editable: false, Width: 0 },
@ -939,6 +943,8 @@ const DisplayPartnerStagiaires = (props) => {
const [display_detail_historique, setdisplay_detail_historique] = useState("");
const [display_detail_ue, setdisplay_detail_ue] = useState("");
const [selected_id, setselected_id] = useState("");
@ -1974,6 +1980,7 @@ const DisplayPartnerStagiaires = (props) => {
setsubmenu("sessions");
setdisplay_detail_stagiaire();
setdisplay_detail_absence();
setdisplay_detail_ue();
setdisplay_detail_historique();
desableSessionFields();
}
@ -1982,6 +1989,7 @@ const DisplayPartnerStagiaires = (props) => {
setsubmenu("absence");
setdisplay_detail_stagiaire();
setdisplay_detail_historique();
setdisplay_detail_ue();
setdisplay_detail_absence("1");
desableSessionFields();
}
@ -1990,10 +1998,20 @@ const DisplayPartnerStagiaires = (props) => {
setsubmenu("historique");
setdisplay_detail_stagiaire();
setdisplay_detail_absence();
setdisplay_detail_ue();
setdisplay_detail_historique("1");
desableSessionFields();
}
function submenu_unite_enseignement() {
setsubmenu("ue");
setdisplay_detail_stagiaire();
setdisplay_detail_absence();
setdisplay_detail_historique("");
setdisplay_detail_ue("1");
desableSessionFields();
}
const [SendEvaluationEmail_api, setSendEvaluationEmail_api] = useState();
const [SendEvaluationEmail_message, setSendEvaluationEmail_message] = useState();
@ -2399,6 +2417,94 @@ const DisplayPartnerStagiaires = (props) => {
const [rowss_preinsc, setRows_preinsc] = useState([]);
const [New_Get_List_UE_From_Class_Id_result, setNew_Get_List_UE_From_Class_Id_result] = useState([]);
const [Get_List_UE_From_Class_Id_api, setGet_List_UE_From_Class_Id_api] = useState();
const [Get_List_UE_From_Class_Id_message, setGet_List_UE_From_Class_Id_message] = useState();
const [Get_List_UE_From_Class_Id_result, setGet_List_UE_From_Class_Id_result] = useState();
function Get_List_UE_From_Class_Id(local_class_id) {
var form = new FormData();
const stored_cookie = getCookie('tokenmysypart');
form.append("token", stored_cookie);
form.append("class_id", local_class_id);
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_List_Unite_Enseignement_Of_Given_Class/";
setLoading(true);
axios.post(myurl, form).then(res => {
setLoading(false);
if (String(res.data.status) === String("true")) {
//console.log(" In Get_List_UE_From_Class_Id res.data.status = " + res.data.status);
//console.log(" In Get_List_UE_From_Class_Id res.data.message r_class = " + res.data.message);
setGet_List_UE_From_Class_Id_api("true");
setGet_List_UE_From_Class_Id_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_titre = JSON.parse(x).titre;
var local_class_id = JSON.parse(x).class_id;
var local_internal_url = JSON.parse(x).internal_url;
//---
var node = {
"_id": local_id,
"id": localid,
"label": local_code,
"code": local_code,
"titre": local_titre,
"class_id": local_class_id,
"internal_url": local_internal_url,
};
new_data2.push(node);
});
//---
var node = {
"_id": "",
"id": "",
"label": "",
"code": "",
"titre": "",
"class_id": "",
"internal_url": "",
};
new_data2.push(node);
if (new_data2.length > 0)
setNew_Get_List_UE_From_Class_Id_result(new_data2);
}
else {
setGet_List_UE_From_Class_Id_api("false");
setGet_List_UE_From_Class_Id_message(res.data.message);
alert(res.data.message);
}
}).catch((error) => {
setLoading(false);
console.warn('Not good man :( Get_List_UE_From_Class_Id = ', error);
setGet_List_UE_From_Class_Id_api("false");
alert(" Impossible de recuperer la liste des UE de la formation");
//setmyApimyApiMessage("")
})
}
useEffect(() => {
@ -2407,6 +2513,8 @@ const DisplayPartnerStagiaires = (props) => {
Get_List_Partner_Clients();
GetCurrentPartnerClass();
Get_List_Partner_Financeurs();
let windowWidth = window.innerWidth;
if (windowWidth < 1001) {
setdatagrid_columns_size_model2(10);
@ -5641,6 +5749,9 @@ const DisplayPartnerStagiaires = (props) => {
{ "id": "1", "label": "", "value": "1" }, // Cette ligne pour couvrir l'ajout d'une ligne de filter. C'est fait expres.
]
const [p_detail_class_eu_id, setp_detail_class_eu_id] = React.useState("");
const icon = <CheckBoxOutlineBlankIcon fontSize="small" />;
const checkedIcon = <CheckBoxIcon fontSize="small" />;
return (
<div className="displaypartnerstagiaire">
@ -5648,6 +5759,7 @@ const DisplayPartnerStagiaires = (props) => {
<div className="mysy_spinner"> <img src={img_loading_spin} /> </div>
</div>}
{ /**** Dialog info stagiaire */}
<Dialog
open={Dialog_stagiaire_open}
onClose={Dialog_stagiaire_handleClose}
@ -5805,7 +5917,7 @@ const DisplayPartnerStagiaires = (props) => {
</Dialog>
{ /**** FIN Dialog info stagiaire */}
<Dialog
open={Dialog_1_open}
@ -5827,6 +5939,7 @@ const DisplayPartnerStagiaires = (props) => {
</DialogActions>
</Dialog>
{ /**** Dialog Tuteur */}
<Dialog
open={Dialog_tuteur_1_open}
onClose={Dialog_tuteur_1_handleClose}
@ -6234,6 +6347,9 @@ const DisplayPartnerStagiaires = (props) => {
</Dialog>
{ /**** FIN Dialog Tuteur */}
{ /**** Dialog Convention */}
<Dialog
open={Dialog_convention_open}
onClose={Dialog_convention_handleClose}
@ -6584,6 +6700,7 @@ const DisplayPartnerStagiaires = (props) => {
</Dialog>
{ /**** FIN Dialog Convention */}
<h3> Vos stagiaires </h3>
<div className="div_row">
<div className="titre1"> Utilisez les filtres !</div>
@ -7092,6 +7209,7 @@ const DisplayPartnerStagiaires = (props) => {
{
id: index,
_id: JSON.parse(item)._id,
class_id: JSON.parse(item).class_id,
class_internal_url: JSON.parse(item).class_internal_url,
code_session: JSON.parse(item).code_session,
session_id: JSON.parse(item).session_id,
@ -7133,6 +7251,8 @@ const DisplayPartnerStagiaires = (props) => {
onRowDoubleClick={(newSelectionModel) => {
///setuserimgclassprofil("");
Get_List_UE_From_Class_Id(newSelectionModel.row.class_id); // zzzzz
setselected_row_data_json_age('');
setgridline_id(newSelectionModel.row.id);
setselected_id_status(newSelectionModel.row.status);
@ -7384,6 +7504,9 @@ const DisplayPartnerStagiaires = (props) => {
{/* <Button variant="outlined" onClick={submenu_sessions} className="detail_class_submenu" id='preinscrit' name='preinscrit'>Détail Session </Button>
<Button variant="outlined" onClick={submenu_absence} className="detail_class_submenu" id='absence' name='absence'>Absence </Button> */}
{String(props.formation_initiale) === "1" && String(addOneParticipant) !== "1" && <Button variant="outlined" onClick={submenu_unite_enseignement} className="detail_class_submenu" id='ue' name='ue'>Unit. Enseignement </Button>}
{String(addOneParticipant) !== "1" && <Button variant="outlined" onClick={submenu_historique} className="detail_class_submenu" id='historique' name='historique'>Historique </Button>}
</div>}
@ -9676,6 +9799,59 @@ const DisplayPartnerStagiaires = (props) => {
write_access={props.write_access} />
</div>}
{String(props.formation_initiale) === "1" && String(submenu) === "ue" && String(addOneParticipant) !== "1" && <div className="div_row" style={{ "border": "None", "background": '#F8F9F9', "padding": '5px' }}>
<h3> Gestion des UE d'un inscrit </h3>
<div className="session_caract"> <b>Unite D'enseignement </b> <br />
{New_Get_List_UE_From_Class_Id_result && New_Get_List_UE_From_Class_Id_result.length > 0 &&
<Autocomplete
multiple
name="detail_ue"
id="detail_ue"
//className="disabled_style"
disablePortal
disableCloseOnSelect
getOptionLabel={(option) => option.label}
//className="disabled_style enable_style"
//options={New_Getall_Partner_List_UE_result}
options={New_Get_List_UE_From_Class_Id_result}
// value={New_Getall_Partner_List_UE_result.filter((data) => (data)._id === String(p_detail_class_eu_id))[0].label}
defaultValue={[New_Get_List_UE_From_Class_Id_result[0], New_Get_List_UE_From_Class_Id_result[2], ]}
renderOption={(props, option, { selected }) => (
<li {...props}>
<Checkbox
icon={icon}
checkedIcon={checkedIcon}
style={{ marginRight: 8 }}
checked={selected}
/>
{option.label}
</li>
)}
// style={{ width: 500 }}
onChange={(event, value) => {
console.log(" ### value = ", value)
}}
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une UE "
inputProps={{ ...params.inputProps, style: { fontSize: 12, height: "1.4rem" } }}
/>
}
/>
}
</div>
</div>}
</div>

View File

@ -355,7 +355,7 @@ const Notes_Evaluation = (props) => {
<div style={{ "width": "45%", "float": "left" }}>
<button className="gest_bton_popup" onClick={(event) => {
// Delete_Sequence_Session_Ressource_Data(cellValues.row._id);
Delete_Sequence_Session_Ressource_Data(cellValues.row._id);
console.log('cellValues.row = ', cellValues.row);
close();
}}> Valider </button>
@ -2738,13 +2738,14 @@ const Notes_Evaluation = (props) => {
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Delete_Sequence_Affectation_Ressource_Poste/";
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Delete_Note_Evaluation_Ressource_Poste/";
setLoading(true);
axios.post(myurl, form).then(res => {
//console.log(" In Delete_Sequence_Session_Ressource_Data res.data.status = " + res.data.status);
//console.log(" In Delete_Sequence_Session_Ressource_Data res.data.message r_class = " + res.data.message);
// zzzzz
setLoading(false);
if (String(res.data.status) === String("true")) {
@ -2767,7 +2768,7 @@ const Notes_Evaluation = (props) => {
setLoading(false);
console.warn('Delete_Sequence_Session_Ressource_Data : Not good man :( mysearchtext = ' + error);
setDelete_Sequence_Session_Ressource_Data_api("false");
alert(" Impossible de supprimer la sequence");
alert(" Impossible de supprimer la ressource");
})
}

View File

@ -1526,7 +1526,7 @@ const Partner = (props) => {
<div>
<Sidebar className="my_sidebar">
<Menu className="my_menu">
<SubMenu label="Formations " className="my_chart" id="my_class" name="my_class" icon={<ListAltIcon color={"secondary"} />} style={{ overflow: 'hidden' }}>
<SubMenu label="Formations" className="my_chart" id="my_class" name="my_class" icon={<ListAltIcon color={"secondary"} />} style={{ overflow: 'hidden' }}>
{String(menu) !== "affichage" && <MenuItem onClick={DiplaytrainingList} className="sousmenu" icon={<FcList className="icone_menu" />}> CATALOGUE </MenuItem>}
{String(menu) === "affichage" && <MenuItem onClick={DiplaytrainingList} className="sousmenu_selected" icon={<FcList className="icone_menu" />}> CATALOGUE </MenuItem>}
@ -1549,16 +1549,16 @@ 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; &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>}
{String(menu) !== "mes_sessions" && <Menu className="my_menu bck_menu_seul" id="my_session" name="my_session" onClick={DiplaySessionList} >&nbsp;<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} >&nbsp;<CoPresentIcon className="icone_menu" color={"secondary"} /> &nbsp;SESSIONS </Menu>}
</Sidebar>
</div>
{String(formation_initiale) === "1" &&
<div>
<Sidebar className="my_sidebar">
{String(menu) !== "note_evaluation" && <Menu className="my_menu bck_menu_seul" id="note_evaluation" name="note_evaluation" onClick={Display_note_evaluation_func} > <ScoreboardIcon className="icone_menu" color={"secondary"} /> &nbsp; &nbsp;NOTES & EVALUATIONS </Menu>}
{String(menu) === "note_evaluation" && <Menu className="my_menu bck_menu_seul_selected" id="note_evaluation" name="note_evaluation" onClick={Display_note_evaluation_func} > <ScoreboardIcon className="icone_menu" color={"secondary"} /> &nbsp;&nbsp;NOTES & EVALUATIONS </Menu>}
{String(menu) !== "note_evaluation" && <Menu className="my_menu bck_menu_seul" id="note_evaluation" name="note_evaluation" onClick={Display_note_evaluation_func} > &nbsp;<ScoreboardIcon className="icone_menu" color={"secondary"} /> &nbsp;NOTES & EVALUATIONS </Menu>}
{String(menu) === "note_evaluation" && <Menu className="my_menu bck_menu_seul_selected" id="note_evaluation" name="note_evaluation" onClick={Display_note_evaluation_func} > &nbsp;<ScoreboardIcon className="icone_menu" color={"secondary"} /> &nbsp;NOTES & EVALUATIONS </Menu>}
</Sidebar>
</div>}
@ -2080,7 +2080,8 @@ const Partner = (props) => {
{String(menu) === "mes_apprenants" && <div className="div_droite">
<DisplayPartnerStagiaires conntected_employee_id={conntected_employee_id} object_key={orderid} subdata={packs}
read_access={check_user_acces_right("stagiaire", "read")} write_access={check_user_acces_right("stagiaire", "write")} />
read_access={check_user_acces_right("stagiaire", "read")} write_access={check_user_acces_right("stagiaire", "write")}
formation_initiale={formation_initiale} />
</div>
}
@ -2721,7 +2722,8 @@ const Partner = (props) => {
{String(menu) === "mes_apprenants" && <div className="div_droite div_droite_ralonge">
<DisplayPartnerStagiaires conntected_employee_id={conntected_employee_id} object_key={orderid} subdata={packs}
read_access={check_user_acces_right("stagiaire", "read")} write_access={check_user_acces_right("stagiaire", "write")} />
read_access={check_user_acces_right("stagiaire", "read")} write_access={check_user_acces_right("stagiaire", "write")}
formation_initiale={formation_initiale} />
</div>
}