diff --git a/src/components/AddClassManual.js b/src/components/AddClassManual.js index 070fa89..65c442a 100644 --- a/src/components/AddClassManual.js +++ b/src/components/AddClassManual.js @@ -99,6 +99,9 @@ const AddClassManual = (props) => { const url = process.env.REACT_APP_API_URL + "/myclass/api/add_partner_account/"; const [inputs, setInputs] = useState({}); + + const [is_ftion_initiale, setis_ftion_initiale] = useState("0"); + const [mypublished, setmypublished] = useState("0"); const [mypublished_label, setmypublished_label] = useState("-"); @@ -193,10 +196,10 @@ const AddClassManual = (props) => { { field: '_id', headerName: '_id', hide: true }, { field: 'code', headerName: 'Code', maxWidth: 250, flex: 1, renderCell: (params) => , }, { field: 'titre', headerName: 'Titre', minWidth: 150, flex: 1, renderCell: (params) => , }, - { field: 'credit', headerName: 'Credit', maxWidth: 100, renderCell: (params) => , }, + { field: 'credit', headerName: 'Credit', maxWidth: 100, renderCell: (params) => , }, { field: 'coefficient', headerName: 'Coef.', maxWidth: 100, flex: 1, renderCell: (params) => , }, { - field: 'pres_dist_hyp', headerName: 'Animation', maxWidth: 180, + field: 'pres_dist_hyp', headerName: 'Animation', maxWidth: 180, renderCell: (cellValues) => { return (
@@ -209,7 +212,7 @@ const AddClassManual = (props) => { } }, { - field: 'is_noted', headerName: 'Evalué', maxWidth: 100, renderCell: (params) => , + field: 'is_noted', headerName: 'Evalué', maxWidth: 100, renderCell: (params) => , renderCell: (cellValues) => { return (
@@ -221,11 +224,11 @@ const AddClassManual = (props) => { ); } }, - { field: 'seuil_validation', headerName: 'Seuil val.', maxWidth: 100, renderCell: (params) => , }, + { field: 'seuil_validation', headerName: 'Seuil val.', maxWidth: 100, renderCell: (params) => , }, - { field: 'duration_concat', headerName: 'Durée', maxidth: 100, renderCell: (params) => , }, - { field: 'duration', headerName: 'Durée', maxWidth: 150, hide: true, renderCell: (params) => , }, + { field: 'duration_concat', headerName: 'Durée', maxidth: 100, renderCell: (params) => , }, + { field: 'duration', headerName: 'Durée', maxWidth: 150, hide: true, renderCell: (params) => , }, { field: 'duration_unite', headerName: 'Unit.', maxWidth: 150, hide: true, editable: false, renderCell: (params) => , }, { @@ -2008,6 +2011,14 @@ const AddClassManual = (props) => { setmytraining_ref_peda_id(""); + if (mylocaltraining.is_ftion_initiale) { + setis_ftion_initiale(mylocaltraining.is_ftion_initiale); + } + else + setis_ftion_initiale(""); + + + if (mylocaltraining.domaine) { setmytrainingdomaine(mylocaltraining.domaine); //console.log(" ### mylocaltraining.domaine = ", mylocaltraining.domaine); @@ -2530,7 +2541,7 @@ const AddClassManual = (props) => { formData.append('categorie', mycategorie); formData.append('version', version); formData.append('referentiel_padagogique_id', mytraining_ref_peda_id); - + formData.append('is_ftion_initiale', is_ftion_initiale); formData.append('recyclage_delai', p_detail_recyclage_delai); @@ -3467,6 +3478,12 @@ const AddClassManual = (props) => { ]; + const New_Option_is_Ftion_Initiale = [ + { "id": "1", "label": "Oui", "value": "1" }, + { "id": "0", "label": "Non", "value": "0" }, + { "id": "", "label": "", "value": "" }, + ] + function retourList() { props.GetAllClass_new(); props.closeTrainingForm(); @@ -7992,7 +8009,7 @@ const AddClassManual = (props) => { disablePortal name="formateur_id" id="formateur_id" - + className="disabled_style" options={New_Getall_Training_Employee_No_Filter_result} value={p_formateur_label} @@ -8410,6 +8427,34 @@ const AddClassManual = (props) => {
} + + {New_Option_is_Ftion_Initiale && New_Option_is_Ftion_Initiale.length > 0 && +
(data).value === String(is_ftion_initiale))[0].label} + disabled={!Boolean(props.check_user_acces_right("formation", "write"))} + onChange={(event, value) => { + if (value && value.value) { + setis_ftion_initiale(value.value); + setdatamodification("1"); + + } else { + setis_ftion_initiale(""); + setdatamodification("1"); + } + }} + + renderInput={(params) => + } + /> + +
} + +
diff --git a/src/components/DisplayPartnerStagiaires.js b/src/components/DisplayPartnerStagiaires.js index d39f3bd..4dc4cba 100644 --- a/src/components/DisplayPartnerStagiaires.js +++ b/src/components/DisplayPartnerStagiaires.js @@ -194,7 +194,7 @@ const DisplayPartnerStagiaires = (props) => { { field: 'telephone', headerName: 'Téléphone', hide: true, editable: false, Width: 0 }, { field: 'date_naissance', headerName: 'date_naissance', hide: true, editable: false, Width: 0 }, - + { field: 'warning_recyclage_alert', headerName: 'Alert', hide: false, Width: 150, @@ -302,7 +302,7 @@ const DisplayPartnerStagiaires = (props) => { }, }, - { field: 'date_debut', headerName: 'Du', minWidth: 90, maxWidth: 100, flex: 1, hideable: true, editable: false, hide: true }, + { field: 'date_debut', headerName: 'Du', minWidth: 90, maxWidth: 100, flex: 1, hideable: true, editable: false, hide: true }, { field: 'date_fin', headerName: 'Au', minWidth: 90, maxWidth: 100, flex: 1, hideable: true, editable: false, hide: true }, { field: 'class_internal_url', headerName: 'class_internal_url', hide: true, editable: false }, @@ -6236,6 +6236,13 @@ const DisplayPartnerStagiaires = (props) => { } else if (String(actionmass_ftion_val) === String("pushdocument")) { + + var myid = parseInt(String(selectionModel[0])); + var first_line_selected = JSON.parse(rowss[myid]); + + console.log(" first_line_selected == ", first_line_selected); + + Get_List_UE_From_Session_Id(first_line_selected.session_id); // console.log(" #### selectedtraining_emails_liste = ", selectedtraining_emails_liste); settab_email_pieces_jointes_result([]); setDialog_PUSH_DOCUMENT_TO_ENT_open(true); @@ -7774,6 +7781,11 @@ const DisplayPartnerStagiaires = (props) => { setDialog_PUSH_DOCUMENT_TO_ENT_open(false); settab_email_pieces_jointes_result([]); setent_push_doc_message_notif(""); + settab_selected_list_ue([]); + + setNew_Get_List_UE_From_Session_Id_result([]); + setGet_List_UE_From_Session_Id_result([]) + } const [tab_email_pieces_jointes_result, settab_email_pieces_jointes_result] = useState([]); @@ -7906,6 +7918,21 @@ const DisplayPartnerStagiaires = (props) => { form.append("related_collection", "inscription"); form.append("list_email_dest", selectedtraining_emails_liste); + var tab_eu_ids = []; + + + for (var i = 0; i < tab_selected_list_ue.length; i++) { + var local_eu_id = tab_selected_list_ue[i]._id; + tab_eu_ids.push(local_eu_id); + } + + + + if (tab_eu_ids.length > 0) + form.append("tab_ue_ids", tab_eu_ids); + else + form.append("tab_ue_ids", ""); + if (ent_push_doc_message_notif) form.append("ent_push_doc_message_notif", ent_push_doc_message_notif); @@ -7921,7 +7948,7 @@ const DisplayPartnerStagiaires = (props) => { // Important, on ne peut pousser des documents que pour une et unique session, pas de melance de session_id - console.log(" ### selected_list_session_id = ", selected_list_session_id); + // console.log(" ### selected_list_session_id = ", selected_list_session_id); var local_session_id = ""; var nb_different_session = 0; const tab_session_id = selected_list_session_id.split(','); @@ -7931,7 +7958,11 @@ const DisplayPartnerStagiaires = (props) => { local_session_id = tab_session_id[i] } - console.log(" ### nb_different_session = ", nb_different_session); + + + + + // console.log(" ### nb_different_session = ", nb_different_session); if (nb_different_session > 1) { setdisplay_alert_mysy("1"); @@ -7972,7 +8003,12 @@ const DisplayPartnerStagiaires = (props) => { setShare_Document_To_Ent_result(res.data.message); Dialog_PUSH_DOCUMENT_TO_ENT_handleClose(); - //alert(res.data.message); + setSelectionModel([]); + setactionmass_ftion_val(""); + setselected_id(""); + setaddOneParticipant(""); + setdisplay_detail_stagiaire(""); + setdisplay_alert_mysy("1"); setalert_message(res.data.message); @@ -8475,6 +8511,105 @@ const DisplayPartnerStagiaires = (props) => { }) } + + const fixedVal_list_ue = []; + const [tab_selected_list_ue, settab_selected_list_ue] = useState([...fixedVal_list_ue]); + + const [New_Get_List_UE_From_Session_Id_result, setNew_Get_List_UE_From_Session_Id_result] = useState([]); + + const [Get_List_UE_From_Session_Id_api, setGet_List_UE_From_Session_Id_api] = useState(); + const [Get_List_UE_From_Session_Id_message, setGet_List_UE_From_Session_Id_message] = useState(); + const [Get_List_UE_From_Session_Id_result, setGet_List_UE_From_Session_Id_result] = useState([]); + function Get_List_UE_From_Session_Id(local_session_id) { + + var form = new FormData(); + + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("session_id", local_session_id); + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_List_Unite_Enseignement_Of_Given_Class_From_Session_Id/"; + + setLoading(true); + + axios.post(myurl, form).then(res => { + + + setLoading(false); + if (String(res.data.status) === String("true")) { + //console.log(" In Get_List_UE_From_Session_Id res.data.status = " + res.data.status); + //console.log(" In Get_List_UE_From_Session_Id res.data.message r_class = " + res.data.message); + setGet_List_UE_From_Session_Id_api("true"); + setGet_List_UE_From_Session_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 + " - " + String(local_titre).substring(0, 20), + "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_Session_Id_result(new_data2); + } + else { + setGet_List_UE_From_Session_Id_api("false"); + setGet_List_UE_From_Session_Id_message(res.data.message); + // alert(res.data.message) + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + } + + }).catch((error) => { + + setLoading(false); + console.warn('Not good man :( Get_List_UE_From_Session_Id = ', error); + setGet_List_UE_From_Session_Id_api("false"); + // alert(" Impossible de recuperer la liste des UE de la formation"); + setdisplay_alert_mysy("1"); + setalert_message(" Impossible de recuperer la liste des UE de la formation"); + setalert_type("error"); + //setmyApimyApiMessage("") + }) + } + return (
{isLoading &&
@@ -8876,7 +9011,37 @@ const DisplayPartnerStagiaires = (props) => {
+
+ Matière / UE + {New_Get_List_UE_From_Session_Id_result.length > 0 && + (data)._id === String(p_filtre1_value))[0].label} + options={New_Get_List_UE_From_Session_Id_result} + value={tab_selected_list_ue} + multiple + onChange={(event, value) => { + settab_selected_list_ue([ + ...fixedVal_list_ue, + ...value.filter((i) => fixedVal_list_ue.indexOf(i) === -1), + ]); + + console.log("tab_selected_list_ue = ", tab_selected_list_ue) + + }} + + renderInput={(params) => + } + /> + } +
@@ -9028,7 +9193,7 @@ const DisplayPartnerStagiaires = (props) => { setalert_message("Aucun fichier à publier"); setalert_type("error"); return; - } else if (tab_email_pieces_jointes_result.length > 5) { + } else if (tab_email_pieces_jointes_result.length > 50) { setdisplay_alert_mysy("1"); setalert_message(" Vous ne pouvez pas envoyer plus de 50 emails (destinataires) à la fois."); setalert_type("error"); @@ -10711,7 +10876,7 @@ const DisplayPartnerStagiaires = (props) => { title: JSON.parse(item).title, distantiel: JSON.parse(item).distantiel, presentiel: JSON.parse(item).presentiel, - + date_debut: JSON.parse(item).date_du, date_fin: JSON.parse(item).date_au, class_internal_url: JSON.parse(item).class_internal_url, @@ -10719,7 +10884,7 @@ const DisplayPartnerStagiaires = (props) => { telephone: JSON.parse(item).telephone, date_naissance: JSON.parse(item).date_naissance, - + invoiced: JSON.parse(item).invoiced, invoiced_ref: JSON.parse(item).invoiced_ref, invoiced_date: JSON.parse(item).invoiced_date, @@ -11186,6 +11351,9 @@ const DisplayPartnerStagiaires = (props) => { + {/* diff --git a/src/components/DisplayPartnerTrainingsPagination.js b/src/components/DisplayPartnerTrainingsPagination.js index 6394336..5f5bbcb 100644 --- a/src/components/DisplayPartnerTrainingsPagination.js +++ b/src/components/DisplayPartnerTrainingsPagination.js @@ -720,13 +720,15 @@ const DistplayPartnerTraningsPage = (props) => { return ( ); @@ -752,6 +775,19 @@ const DistplayPartnerTraningsPage = (props) => { }, + { + field: 'is_ftion_initiale', headerName: 'Ftion. Init.', hide: false, Width: 50, editable: false, renderCell: (cellValues) => { + return ( +
+ {String(cellValues.row.is_ftion_initiale) === "1" && "Oui"}  + {String(cellValues.row.is_ftion_initiale) !== "1" && "Non"}  + +
+ + ); + }, + }, + { field: 'url', headerName: 'lien', minWidth: 20, hideable: true, hide: true, editable: false, }, @@ -3420,29 +3456,29 @@ const DistplayPartnerTraningsPage = (props) => { height: "700px", width: '100%', paddingRight: '2px', - fontFamily:'DM Sans', + fontFamily: 'DM Sans', '& .cell--published': { backgroundColor: '#a2cf6e', color: '#1a3e72', fontWeight: 'bold', - fontFamily:'DM Sans', + fontFamily: 'DM Sans', }, '& .cell--unpublished': { backgroundColor: '#ffac33', color: '#1a3e72', fontWeight: 'light', - fontFamily:'DM Sans', + fontFamily: 'DM Sans', }, '& .line--published': { backgroundColor: '#E6F7C8', - color: '#0a2a4d', - fontFamily:'DM Sans', + color: '#0a2a4d', + fontFamily: 'DM Sans', }, '& .line--unpublished': { backgroundColor: '#FAD7A0', color: '#0a2a4d', - fontFamily:'DM Sans', + fontFamily: 'DM Sans', }, "& .MuiDataGrid-columnHeaders": { @@ -3532,6 +3568,8 @@ const DistplayPartnerTraningsPage = (props) => { version: JSON.parse(item).version, + is_ftion_initiale: JSON.parse(item).is_ftion_initiale, + nb_session_formation: JSON.parse(item).nb_session_formation, } @@ -3576,7 +3614,7 @@ const DistplayPartnerTraningsPage = (props) => { }} getRowClassName={(params) => { - + if (String(params.row.published) === "1") { return 'line--published'; diff --git a/src/components/Document_Affichage_Grid.js b/src/components/Document_Affichage_Grid.js index 8f5ff83..37281f6 100644 --- a/src/components/Document_Affichage_Grid.js +++ b/src/components/Document_Affichage_Grid.js @@ -57,7 +57,7 @@ const useStyles = makeStyles((theme) => ({ color: 'gray', }, })); - + const Document_Affichage_Grid = (props) => { diff --git a/src/components/Document_ENT_Affichage_Grid.js b/src/components/Document_ENT_Affichage_Grid.js new file mode 100644 index 0000000..f5fabc8 --- /dev/null +++ b/src/components/Document_ENT_Affichage_Grid.js @@ -0,0 +1,282 @@ +import React, { useRef, useState, useEffect } from "react"; +import Module_Alert_Confirmation from "./Module_Alert_Confirmation"; +import img_loading_spin from "./../mysy_img/mysy_spin_loading.gif"; +import axios from "axios"; +import { useParams } from 'react-router-dom'; +import { getCookie, setCookie } from 'react-use-cookie'; +import { useHistory } from "react-router-dom"; +import fileDownload from 'js-file-download' +import TextField from '@mui/material/TextField'; +import MenuItem from '@mui/material/MenuItem'; +import Dialog from '@mui/material/Dialog'; +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 Button from '@mui/material/Button'; +import VisibilityIcon from '@mui/icons-material/Visibility'; +import ArrowCircleDownIcon from '@mui/icons-material/ArrowCircleDown'; + +import CancelPresentationIcon from '@mui/icons-material/CancelPresentation'; +import { makeStyles } from "@material-ui/core/styles"; +import Paper from '@material-ui/core/Paper'; +import Draggable from 'react-draggable'; +import { IconButton } from '@material-ui/core'; +import FilePresentIcon from '@mui/icons-material/FilePresent'; +import PictureAsPdfIcon from '@mui/icons-material/PictureAsPdf'; +import { BsFiletypePdf } from "react-icons/bs"; +import { GoFile } from "react-icons/go"; + +function PaperComponent(props) { + return ( + + + + ); +} + +const useStyles = makeStyles((theme) => ({ + + dialog: { + position: 'absolute', + // left: 10, + top: 400 + }, + + paper: { + overflowY: 'unset', + }, + customizedButton: { + position: 'absolute', + left: '98%', + top: '-3%', + backgroundColor: 'lightgray', + color: 'gray', + }, +})); + + + +const Document_ENT_Affichage_Grid = (props) => { + + const classes = useStyles(); + + const [isLoading, setLoading] = useState(); + + const [display_alert_mysy, setdisplay_alert_mysy] = useState(""); + const [alert_message, setalert_message] = useState(""); + const [alert_type, setalert_type] = useState(""); + + function clear_alert_message() { + setalert_message(""); + } + function clear_alert_type() { + setalert_type(""); + } + + function clear_display_alert_mysy() { + setdisplay_alert_mysy(""); + } + + useEffect(() => { + + }, [props.apprenant_id]) + + function print_document_pdf(doc_id, file_extention, file_business_object) { + + var part_cookie = getCookie('tokenmysypart'); + + + var nom_fichier_cmd = String(file_business_object) + "." + String(file_extention); + // console.log(" nom_fichier_cmd = ", nom_fichier_cmd, " --- doc_id = ", doc_id); + + var url = process.env.REACT_APP_API_URL + "myclass/api/Get_Stored_Downloaded_File_From_Id/" + part_cookie + "/" + doc_id; + + //console.log(" nom_fichier_cmd = ", nom_fichier_cmd, " --- selected_id = ", selected_id, " --- url =", url); + + axios.get(url, { responseType: 'blob', },) + .then((res) => { + fileDownload(res.data, nom_fichier_cmd) + }).catch((error) => { + console.error('Error:', error); + + }); + } + + + function preview_document_pdf(doc_id, file_extention, file_business_object) { + + var part_cookie = getCookie('tokenmysypart'); + + + var nom_fichier_cmd = String(file_business_object) + "." + String(file_extention); + // console.log(" nom_fichier_cmd = ", nom_fichier_cmd, " --- doc_id = ", doc_id); + + var url = process.env.REACT_APP_API_URL + "myclass/api/Get_Stored_Downloaded_File_From_Id/" + part_cookie + "/" + doc_id; + + //console.log(" nom_fichier_cmd = ", nom_fichier_cmd, " --- selected_id = ", selected_id, " --- url =", url); + + axios.get(url, { responseType: 'blob', },) + .then((res) => { + + const blob = new Blob([res.data], { type: 'application/pdf' }); + const url = URL.createObjectURL(blob); + setselected_doc_img(url); + + // fileDownload(res.data, nom_fichier_cmd) + }).catch((error) => { + console.error('Error:', error); + + }); + } + + + + const [Dialog_Preview_Doc_message, setDialog_Preview_Doc_message] = React.useState(false); + const [Dialog_Preview_Doc_open, setDialog_Preview_Doc_open] = React.useState(false); + function Dialog_Preview_Doc_handle_change_participant_session(message) { + setDialog_Preview_Doc_message(message); + setDialog_Preview_Doc_open(true); + } + + const Dialog_Preview_Doc_handleClose = () => { + + }; + + const Dialog_Preview_Doc_handleClose_buton = () => { + setDialog_Preview_Doc_open(false); + }; + + + const [selected_doc_img, setselected_doc_img] = React.useState(""); + const [selected_doc_name, setselected_doc_name] = React.useState(""); + + + return ( + +
+ {isLoading &&
+
+
} + + {/*** Affichage des messages d'alerte*/} + {display_alert_mysy && String(display_alert_mysy) === "1" && + + } + {/*** FIN Affichage des messages d'alerte*/} + + + + + {/***** Dialog Preview Image */} + null} + + PaperProps={{ + + + className: classes.paper, // Apply the paper style + style: { + overflowY: 'unset', + position: 'absolute', + top: '7rem', + margin: "2px", + width: '50rem', + maxWidth:'unset', + background:'#efefef', + borderRadius:'20px!important' + }, + }} + hideBackdrop={true} + disableScrollLock + classes={{ + paper: classes.dialog + }} + + PaperComponent={PaperComponent} + aria-labelledby="draggable-dialog-title" + > + + {selected_doc_name} + + + {Dialog_Preview_Doc_message} + + +

+ + {selected_doc_img && + } + +
+ +
+ + + + + + + +
+ + {/***** FIN Dialog Preview Image */} + + + +
+
+ + {props.list_document && + props.list_document.map((document) => ( + + +
+
+
{JSON.parse(document).file_business_object}
+
Créé le {String(JSON.parse(document).creation_date).substring(0, 16)}
+
{ + preview_document_pdf(JSON.parse(document)._id, JSON.parse(document).file_extention, JSON.parse(document).file_business_object); + setselected_doc_name(JSON.parse(document).file_business_object); + setDialog_Preview_Doc_open(true); + }}> + +
+
{ + print_document_pdf(JSON.parse(document)._id, JSON.parse(document).file_extention, JSON.parse(document).file_business_object); + setselected_doc_name(JSON.parse(document).file_business_object); + + }}> + +
+
+ + + ))} + + +
+
+
+ ) + +} + +export default Document_ENT_Affichage_Grid; diff --git a/src/components/Ent_Student_Affichage_Ftion_Grid.js b/src/components/Ent_Student_Affichage_Ftion_Grid.js index 263cca6..cfc9cea 100644 --- a/src/components/Ent_Student_Affichage_Ftion_Grid.js +++ b/src/components/Ent_Student_Affichage_Ftion_Grid.js @@ -327,6 +327,9 @@ const Ent_Student_Affichage_Ftion_Grid = (props) => { }, }; + + + return (
@@ -445,7 +448,13 @@ const Ent_Student_Affichage_Ftion_Grid = (props) => { ({props.formation.business_prices[0].discount} %)

} -

{String(parse(String(props.formation.description).replace(/(<([^>]+)>)/ig, ''))).substring(0, 80)}...

+ {props.session_code_session &&

+

+ {props.session_date_debut && props.session_date_fin && } + +

} + + {/*

{String(parse(String(props.formation.description).replace(/(<([^>]+)>)/ig, ''))).substring(0, 80)}...

*/}
@@ -453,6 +462,10 @@ const Ent_Student_Affichage_Ftion_Grid = (props) => { - +
} {selected_id && String(selected_id).length > 0 &&
- +
} { String(submenu) === "detail" && Get_Given_Class_Data_result && Get_Given_Class_Data_result.length > 0 &&
-
+

-
-
Description +
+
Description
- {JSON.parse(Get_Given_Class_Data_result).description &&
+ {JSON.parse(Get_Given_Class_Data_result).description &&
{parse(String(JSON.parse(Get_Given_Class_Data_result).description))}
@@ -2124,10 +2160,10 @@ const Module_Ent_Mes_Formations = (props) => {

-
-
Objectif +
+
Objectif
- {JSON.parse(Get_Given_Class_Data_result).objectif &&
+ {JSON.parse(Get_Given_Class_Data_result).objectif &&
{parse(String(JSON.parse(Get_Given_Class_Data_result).objectif))}
} @@ -2135,10 +2171,10 @@ const Module_Ent_Mes_Formations = (props) => {

-
-
Programme +
+
Programme
- {JSON.parse(Get_Given_Class_Data_result).objectif &&
+ {JSON.parse(Get_Given_Class_Data_result).objectif &&
{parse(String(JSON.parse(Get_Given_Class_Data_result).programme))}
} @@ -2225,10 +2261,10 @@ const Module_Ent_Mes_Formations = (props) => { "& .MuiDataGrid-columnHeaders": { - backgroundColor: "#dfe8f2", - color: "#0a2a4d", - fontSize: '14px', - fontFamily:'DM Sans', + backgroundColor: "#dfe8f2", + color: "#0a2a4d", + fontSize: '14px', + fontFamily: 'DM Sans', }, @@ -2354,42 +2390,127 @@ const Module_Ent_Mes_Formations = (props) => {
} - {String(submenu) === "piece_jointe" && Get_Given_Class_Data_result && Get_Given_Class_Data_result.length > 0 &&
+ {String(submenu) === "piece_jointe" && Get_Given_Class_Data_result && Get_Given_Class_Data_result.length > 0 && +
-
-
-
-
- -
- Pièces jointes - -
- - - - {Get_List_Of_All_PJ_result &&
-
- Liste des pièces jointes
-
- {Get_List_Of_All_PJ_result && Get_List_Of_All_PJ_result.map((val) => ( -
-
- - -
- ))} -
-
-
} - - -
-
} + +
} +
); } -export default Module_Ent_Mes_Formations; \ No newline at end of file +export default Module_Ent_Mes_Formations; + +const local_css = ` +:root { + --bg: #f6f8fb; + --card: #ffffff; + --text: #0f172a; + --muted: #64748b; + --border: #e5e7eb; + --shadow: 0 10px 25px rgba(2, 6, 23, .06); + --green-700: #0f6b53; + --green-600: #167a5e; + --green-100: #e9f7f1; + --blue-600: #2563eb; + --radius: 14px; + --radius-sm: 10px; +} + +.grid_selected{ +box-shadow: #9cf 0px 0px 0px 2px, rgba(6, 24, 44, 0.65) 0px 4px 6px -1px, #c14413 0px 1px 0px inset ! important; +} + +.block_info_page_pave_title_desc{ +color: #16274F ! important +} + + .Grid_2_col{ + margin-top: 12px; + display:grid; + grid-template-columns: 1.2fr 1fr; + gap: 14px; + padding:5px; +} + + .Grid_1_col{ + margin-top: 12px; + display:grid; + grid-template-columns: 1fr; + gap: 14px; + padding:5px; +} + +.Grid_2_col_sub_colone { + background: #fff; + border: 1px solid #e5e7eb; + border-radius: 14px; + box-shadow: 0 6px 18px rgba(2,6,23,.04); + padding: 0px; + display: flex; + flex-direction: column; + gap: 14px; +} + + +.Grid_2_col_sub_colone_header { + background: #dbeafe; + border-top-right-radius: 10px; + border-top-left-radius: 10px; + text-align: center; + font-family: DM Sans; + font-weight: 700; + height: 2rem; + padding-top: 5px; + font-size: 15px; +} + +.Grid_2_col_sub_colone_bottom_menu{ + +} + +.card__header{ +background: #e2e8f0; + font-size: small; + text-align: center; +} + +.card__title{ + display:flex; + align-items:center; + gap: 10px; +} + +.card__icon{ + width: 34px; + height: 34px; + display:grid; + place-items:center; + border-radius: 12px; + background:#eff6ff; + border:1px solid #dbeafe; +} + +.card__header h2{ + margin:0; + font-size: 15px; + letter-spacing: -0.01em; +} + +.card__actions{ display:flex; align-items:center; gap:8px; } + +.block_detail_action{ +width: 100%; + float: left; + background: #fafafa; + padding: 10px; + border: unset; + border-radius: 10px; + } +`; diff --git a/src/components/Module_Ent_Mes_Notes.js b/src/components/Module_Ent_Mes_Notes.js index a25eeb5..954f253 100644 --- a/src/components/Module_Ent_Mes_Notes.js +++ b/src/components/Module_Ent_Mes_Notes.js @@ -94,7 +94,7 @@ const Module_Ent_Mes_Notes = (props) => { return (