03/05/2025 - 20h
parent
cc205abb96
commit
d6f3869c16
|
@ -45,6 +45,7 @@ import { IoMdAddCircle, IoIosRemoveCircleOutline } from "react-icons/io";
|
||||||
import { AiTwotoneSave } from "react-icons/ai";
|
import { AiTwotoneSave } from "react-icons/ai";
|
||||||
import ToggleSwitch from "./ToggleSwitch";
|
import ToggleSwitch from "./ToggleSwitch";
|
||||||
import Module_Historique_Action from "./Module_Historique_Action";
|
import Module_Historique_Action from "./Module_Historique_Action";
|
||||||
|
import Module_Session_Notes_Classement from "./Module_Session_Notes_Classement";
|
||||||
|
|
||||||
import Autocomplete from '@mui/material/Autocomplete';
|
import Autocomplete from '@mui/material/Autocomplete';
|
||||||
import { FcOpenedFolder } from "react-icons/fc";
|
import { FcOpenedFolder } from "react-icons/fc";
|
||||||
|
@ -3564,11 +3565,21 @@ const DisplayPartnerSession = (props) => {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function submenu_notes_classement() {
|
||||||
|
setsubmenu("notes_classement");
|
||||||
|
submenu_color_management("notes_classement");
|
||||||
|
// await sleep(5);
|
||||||
|
if (!edit_session_form) {
|
||||||
|
desableSessionFields();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
function submenu_color_management(current_menu) {
|
function submenu_color_management(current_menu) {
|
||||||
const list_sous_menu = ["historique", "attestation", "evaluation", "editique", "emargement", "sequence_session", "detail_session", "inscrit",
|
const list_sous_menu = ["historique", "attestation", "evaluation", "editique", "emargement", "sequence_session", "detail_session", "inscrit",
|
||||||
"preinscrit", "emargement", "piece_jointe", "q_positionnement", "planification_session", "evaluation_session"]
|
"preinscrit", "emargement", "piece_jointe", "q_positionnement", "planification_session", "evaluation_session", "notes_classement"]
|
||||||
|
|
||||||
for (let i = 0; i < list_sous_menu.length; i++) {
|
for (let i = 0; i < list_sous_menu.length; i++) {
|
||||||
|
|
||||||
|
@ -20221,6 +20232,9 @@ const DisplayPartnerSession = (props) => {
|
||||||
<Button variant="outlined" ref={myRef} onClick={submenu_evaluation_session} className="detail_class_submenu" id='evaluation_session' name='evaluation_session'> Evaluation</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_piece_jointe} className="detail_class_submenu" id='piece_jointe' name='piece_jointe'>Pièces Jointes </Button>
|
||||||
|
|
||||||
|
{String(props.formation_initiale) === "1" && <Button variant="outlined" onClick={submenu_notes_classement} className="detail_class_submenu" id='notes_classement' name='notes_classement'>Notes & Classem.</Button>}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
{String(history_securite_read) === "1" && <Button variant="outlined" onClick={submenu_historique} className="detail_class_submenu" id='historique' name='historique'>Historique </Button>}
|
{String(history_securite_read) === "1" && <Button variant="outlined" onClick={submenu_historique} className="detail_class_submenu" id='historique' name='historique'>Historique </Button>}
|
||||||
|
|
||||||
|
@ -26060,6 +26074,16 @@ const DisplayPartnerSession = (props) => {
|
||||||
|
|
||||||
</div>}
|
</div>}
|
||||||
|
|
||||||
|
{String(submenu) === String("notes_classement") && <div style={{ "border": "None" }}>
|
||||||
|
|
||||||
|
<Module_Session_Notes_Classement conntected_employee_id={props.conntected_employee_id} related_collection={"session_formation"}
|
||||||
|
related_collection_recid={selected_session_id} SessionstartDate={new Date(moment(SessionstartDate, "DD/MM/YYYY"))}
|
||||||
|
SessionendDate={new Date(moment(SessionendDate, "DD/MM/YYYY"))} session_formateur_id={p_formateur_id}
|
||||||
|
session_class_id={session_selected_class_id}
|
||||||
|
selected_session_invoiced_statut={selected_session_invoiced_statut} />
|
||||||
|
|
||||||
|
</div>}
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -11448,6 +11448,11 @@ const DisplayPartnerStagiaires = (props) => {
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div className="div_row">
|
||||||
|
Afficher ici les notes finales par UE xxx <br/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
</div>}
|
</div>}
|
||||||
|
|
||||||
{String(props.formation_initiale) === "1" && String(submenu) === "notes" && String(display_notes) === "1" && String(addOneParticipant) !== "1" && <div className="div_row" style={{ "border": "None", "background": '#F8F9F9', "padding": '5px' }}>
|
{String(props.formation_initiale) === "1" && String(submenu) === "notes" && String(display_notes) === "1" && String(addOneParticipant) !== "1" && <div className="div_row" style={{ "border": "None", "background": '#F8F9F9', "padding": '5px' }}>
|
||||||
|
|
|
@ -10,13 +10,12 @@ import { DataGrid, GridToolbar, frFR } from '@mui/x-data-grid';
|
||||||
import "react-draft-wysiwyg/dist/react-draft-wysiwyg.css";
|
import "react-draft-wysiwyg/dist/react-draft-wysiwyg.css";
|
||||||
|
|
||||||
import 'react-tooltip/dist/react-tooltip.css'
|
import 'react-tooltip/dist/react-tooltip.css'
|
||||||
import { Tooltip } from 'react-tooltip'
|
|
||||||
|
|
||||||
import fileDownload from 'js-file-download'
|
import fileDownload from 'js-file-download'
|
||||||
import Popup from 'reactjs-popup';
|
import Popup from 'reactjs-popup';
|
||||||
import 'reactjs-popup/dist/index.css';
|
import 'reactjs-popup/dist/index.css';
|
||||||
import { FcSearch } from "react-icons/fc";
|
|
||||||
import { FcAlarmClock, FcMultipleSmartphones, FcWorkflow } from "react-icons/fc";
|
|
||||||
import DatePicker from "react-datepicker";
|
import DatePicker from "react-datepicker";
|
||||||
import "react-datepicker/dist/react-datepicker.css";
|
import "react-datepicker/dist/react-datepicker.css";
|
||||||
import { format } from 'date-fns'
|
import { format } from 'date-fns'
|
||||||
|
|
|
@ -0,0 +1,838 @@
|
||||||
|
import React, { useRef, useState, useEffect } from "react";
|
||||||
|
import TextField from '@mui/material/TextField';
|
||||||
|
|
||||||
|
import 'react-confirm-alert/src/react-confirm-alert.css'; // Import css
|
||||||
|
import Button from '@mui/material/Button';
|
||||||
|
import axios from "axios";
|
||||||
|
import { getCookie, setCookie } from 'react-use-cookie';
|
||||||
|
import { useHistory } from "react-router-dom";
|
||||||
|
import { DataGrid, GridToolbar, frFR } from '@mui/x-data-grid';
|
||||||
|
import "react-draft-wysiwyg/dist/react-draft-wysiwyg.css";
|
||||||
|
|
||||||
|
import 'react-tooltip/dist/react-tooltip.css'
|
||||||
|
|
||||||
|
|
||||||
|
import fileDownload from 'js-file-download'
|
||||||
|
import Popup from 'reactjs-popup';
|
||||||
|
import 'reactjs-popup/dist/index.css';
|
||||||
|
|
||||||
|
import DatePicker from "react-datepicker";
|
||||||
|
import "react-datepicker/dist/react-datepicker.css";
|
||||||
|
import { format } from 'date-fns'
|
||||||
|
import moment from "moment";
|
||||||
|
import 'moment/locale/fr';
|
||||||
|
|
||||||
|
import Box from '@mui/material/Box';
|
||||||
|
|
||||||
|
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 { ResetTvRounded, RestoreFromTrashRounded } from "@mui/icons-material";
|
||||||
|
import img_loading_spin from "./../mysy_img/mysy_spin_loading.gif";
|
||||||
|
|
||||||
|
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 { PiDotsThree } from "react-icons/pi";
|
||||||
|
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 CancelPresentationIcon from '@mui/icons-material/CancelPresentation';
|
||||||
|
|
||||||
|
import { FcCancel, FcApproval, FcAcceptDatabase, FcPrint, FcPlanner } from "react-icons/fc";
|
||||||
|
|
||||||
|
|
||||||
|
import Module_Alert_Confirmation from "./Module_Alert_Confirmation";
|
||||||
|
|
||||||
|
function PaperComponent(props) {
|
||||||
|
return (
|
||||||
|
<Draggable
|
||||||
|
handle="#draggable-dialog-title"
|
||||||
|
cancel={'[class*="MuiDialogContent-root"]'}
|
||||||
|
>
|
||||||
|
<Paper {...props} />
|
||||||
|
</Draggable>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
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 Module_Session_Notes_Classement = (props) => {
|
||||||
|
const classes = useStyles();
|
||||||
|
const history = useHistory();
|
||||||
|
const [submenu, setsubmenu] = useState("");
|
||||||
|
const [rowss, setRows] = useState([]);
|
||||||
|
|
||||||
|
const [isLoading, setLoading] = useState();
|
||||||
|
|
||||||
|
function ExpandableCell_50({ value }) {
|
||||||
|
const [expanded, setExpanded] = React.useState(false);
|
||||||
|
|
||||||
|
return (
|
||||||
|
<nav>
|
||||||
|
{value && <div style={{ paddingLeft: "5px", paddingRight: "15px", "display": "block", wordBreak: "break-all" }}>
|
||||||
|
|
||||||
|
{expanded ? value : String(value).slice(0, 50)}
|
||||||
|
{value.length > 50 && (
|
||||||
|
// eslint-disable-next-line jsx-a11y/anchor-is-valid
|
||||||
|
<Link
|
||||||
|
type="button"
|
||||||
|
component="button"
|
||||||
|
sx={{ fontSize: 'inherit' }}
|
||||||
|
onClick={() => setExpanded(!expanded)}
|
||||||
|
>
|
||||||
|
{expanded ? <nav> <PiDotsThree />Réduire</nav> : <nav> <PiDotsThree />Voir</nav>}
|
||||||
|
</Link>
|
||||||
|
)}
|
||||||
|
</div>}
|
||||||
|
|
||||||
|
{!value && <div style={{ paddingLeft: "5px", paddingRight: "15px", "display": "block", wordBreak: "break-all" }}>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
}
|
||||||
|
</nav>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function Display_Colunm_text({ value }) {
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div style={{ paddingLeft: "5px", paddingRight: "10px", "display": "block", wordBreak: "break-all" }}>
|
||||||
|
{value}
|
||||||
|
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
const columns_list_evaluation_detail_note_classement_final = [
|
||||||
|
{ field: 'id', headerName: 'id', hide: true },
|
||||||
|
{ field: '_id', headerName: '_id', hide: true },
|
||||||
|
{ field: 'inscription_id', headerName: 'inscription_id', hide: true },
|
||||||
|
{ field: 'session_id', headerName: 'session_id', hide: true },
|
||||||
|
{ field: 'ue_id', headerName: 'ue_id', hide: true },
|
||||||
|
{ field: 'class_id', headerName: 'class_id', hide: true },
|
||||||
|
{ field: 'class_id_external_code', headerName: 'Code Formation', hide: true },
|
||||||
|
{ field: 'ue_id_code', headerName: 'UE Code', minwidth: 200, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||||
|
{ field: 'inscription_id_nom', headerName: 'Nom', minwidth: 200, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||||
|
{ field: 'inscription_id_prenom', headerName: 'Prenom', minwidth: 200, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||||
|
|
||||||
|
{ field: 'type_eval', headerName: 'Type eval', minwidth: 100, flex: 1, hide: false, editable: true, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{ field: 'moyenne', headerName: 'moyenne', minwidth: 100, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||||
|
{ field: 'somme', headerName: 'somme', minwidth: 100, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||||
|
{ field: 'nb_evaluation', headerName: 'nb_evaluation', minwidth: 100, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||||
|
{ field: 'inscription_id_mail', headerName: 'Email', minwidth: 300, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||||
|
|
||||||
|
{ field: 'detail', headerName: 'Detail Note', minwidth: 100, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||||
|
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
const columns_list_evaluation_note_classement_final = [
|
||||||
|
{ field: 'id', headerName: 'id', hide: true },
|
||||||
|
{ field: '_id', headerName: '_id', hide: true },
|
||||||
|
{ field: 'inscription_id', headerName: 'inscription_id', hide: true },
|
||||||
|
{ field: 'session_id', headerName: 'session_id', hide: true },
|
||||||
|
{ field: 'ue_id', headerName: 'ue_id', hide: true },
|
||||||
|
{ field: 'class_id', headerName: 'class_id', hide: true },
|
||||||
|
{ field: 'class_id_external_code', headerName: 'Code Formation', hide: true },
|
||||||
|
{ field: 'ue_id_code', headerName: 'UE Code', minwidth: 200, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||||
|
{ field: 'inscription_id_nom', headerName: 'Nom', minwidth: 200, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||||
|
{ field: 'inscription_id_prenom', headerName: 'Prenom', minwidth: 200, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||||
|
|
||||||
|
{ field: 'type_eval', headerName: 'Type eval', minwidth: 100, flex: 1, hide: false, editable: true, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{ field: 'note_td', headerName: 'note_td', minwidth: 100, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||||
|
{ field: 'note_tp', headerName: 'note_tp', minwidth: 100, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||||
|
{ field: 'note_examen', headerName: 'note_examen', minwidth: 100, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||||
|
{ field: 'note_finale', headerName: 'note_finale', minwidth: 100, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||||
|
{ field: 'rang', headerName: 'rang', minwidth: 100, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||||
|
|
||||||
|
{ field: 'inscription_id_mail', headerName: 'Email', minwidth: 300, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||||
|
|
||||||
|
{ field: 'detail', headerName: 'Detail Note', minwidth: 100, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||||
|
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
const [New_Getall_Session_Detail_Final_Note_Classement_result, setNew_Getall_Session_Detail_Final_Note_Classement_result] = useState([]);
|
||||||
|
|
||||||
|
const [Getall_Session_Detail_Final_Note_Classement_api, setGetall_Session_Detail_Final_Note_Classement_api] = useState();
|
||||||
|
const [Getall_Session_Detail_Final_Note_Classement_message, setGetall_Session_Detail_Final_Note_Classement_message] = useState();
|
||||||
|
const [Getall_Session_Detail_Final_Note_Classement_result, setGetall_Session_Detail_Final_Note_Classement_result] = useState([]);
|
||||||
|
function Getall_Session_Detail_Final_Note_Classement(event) {
|
||||||
|
|
||||||
|
var form = new FormData();
|
||||||
|
|
||||||
|
|
||||||
|
const stored_cookie = getCookie('tokenmysypart');
|
||||||
|
form.append("token", stored_cookie);
|
||||||
|
form.append("tab_session_id", props.related_collection_recid);
|
||||||
|
|
||||||
|
|
||||||
|
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_List_Evaluation_Final_Note_Classement_Detail_With_Filter";
|
||||||
|
|
||||||
|
axios.post(myurl, form).then(res => {
|
||||||
|
|
||||||
|
if (String(res.data.status) === String("true")) {
|
||||||
|
// console.log(" In Getall_Session_Detail_Final_Note_Classement res.data.status = " + res.data.status);
|
||||||
|
// console.log(" In Getall_Session_Detail_Final_Note_Classement res.data.message r_class = " + res.data.message);
|
||||||
|
setGetall_Session_Detail_Final_Note_Classement_api("true");
|
||||||
|
setGetall_Session_Detail_Final_Note_Classement_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 inscription_id = JSON.parse(x).inscription_id;
|
||||||
|
var session_id = JSON.parse(x).session_id;
|
||||||
|
var type_eval = JSON.parse(x).type_eval;
|
||||||
|
var ue_id = JSON.parse(x).ue_id;
|
||||||
|
var class_id = JSON.parse(x).class_id;
|
||||||
|
var moyenne = JSON.parse(x).moyenne;
|
||||||
|
var somme = JSON.parse(x).somme;
|
||||||
|
var nb_evaluation = JSON.parse(x).nb_evaluation;
|
||||||
|
|
||||||
|
var ue_id_code = JSON.parse(x).ue_id_code;
|
||||||
|
var class_id_external_code = JSON.parse(x).class_id_external_code;
|
||||||
|
var inscription_id_mail = JSON.parse(x).inscription_id_mail;
|
||||||
|
var inscription_id_nom = JSON.parse(x).inscription_id_nom;
|
||||||
|
var inscription_id_prenom = JSON.parse(x).inscription_id_prenom;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//---
|
||||||
|
var node = {
|
||||||
|
"_id": local_id,
|
||||||
|
"id": localid,
|
||||||
|
"label": local_id,
|
||||||
|
"inscription_id": inscription_id,
|
||||||
|
"session_id": session_id,
|
||||||
|
"type_eval": type_eval,
|
||||||
|
"ue_id": ue_id,
|
||||||
|
"class_id": class_id,
|
||||||
|
"moyenne": moyenne,
|
||||||
|
"somme": somme,
|
||||||
|
"nb_evaluation": nb_evaluation,
|
||||||
|
|
||||||
|
"ue_id_code": ue_id_code,
|
||||||
|
"class_id_external_code": class_id_external_code,
|
||||||
|
"inscription_id_mail": inscription_id_mail,
|
||||||
|
"inscription_id_nom": inscription_id_nom,
|
||||||
|
"inscription_id_prenom": inscription_id_prenom,
|
||||||
|
|
||||||
|
};
|
||||||
|
new_data2.push(node);
|
||||||
|
});
|
||||||
|
|
||||||
|
//---
|
||||||
|
var node = {
|
||||||
|
"_id": "",
|
||||||
|
"id": "",
|
||||||
|
"label": "",
|
||||||
|
"inscription_id": "",
|
||||||
|
"session_id": "",
|
||||||
|
"type_eval": "",
|
||||||
|
"ue_id": "",
|
||||||
|
"class_id": "",
|
||||||
|
"moyenne": "",
|
||||||
|
"somme": "",
|
||||||
|
"nb_evaluation": "",
|
||||||
|
"ue_id_code": "",
|
||||||
|
"class_id_external_code": "",
|
||||||
|
"inscription_id_mail": "",
|
||||||
|
"inscription_id_nom": "",
|
||||||
|
"inscription_id_prenom": "",
|
||||||
|
|
||||||
|
};
|
||||||
|
new_data2.push(node);
|
||||||
|
|
||||||
|
if (new_data2.length > 0)
|
||||||
|
setNew_Getall_Session_Detail_Final_Note_Classement_result(new_data2);
|
||||||
|
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
setGetall_Session_Detail_Final_Note_Classement_api("false");
|
||||||
|
setGetall_Session_Detail_Final_Note_Classement_message(res.data.message);
|
||||||
|
// alert(res.data.message)
|
||||||
|
setdisplay_alert_mysy("1");
|
||||||
|
setalert_message(res.data.message);
|
||||||
|
setalert_type("error");
|
||||||
|
}
|
||||||
|
|
||||||
|
}).catch((error) => {
|
||||||
|
console.warn('Not good man :( Getall_Session_Detail_Final_Note_Classement = ', error);
|
||||||
|
setGetall_Session_Detail_Final_Note_Classement_api("false");
|
||||||
|
// alert(" Impossible de recuperer la liste des évaluations");
|
||||||
|
setdisplay_alert_mysy("1");
|
||||||
|
setalert_message(" Impossible de recuperer la liste des évaluations");
|
||||||
|
setalert_type("error");
|
||||||
|
//setmyApimyApiMessage("")
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
const [New_Getall_Session_Final_Note_Classement_result, setNew_Getall_Session_Final_Note_Classement_result] = useState([]);
|
||||||
|
|
||||||
|
const [Getall_Session_Final_Note_Classement_api, setGetall_Session_Final_Note_Classement_api] = useState();
|
||||||
|
const [Getall_Session_Final_Note_Classement_message, setGetall_Session_Final_Note_Classement_message] = useState();
|
||||||
|
const [Getall_Session_Final_Note_Classement_result, setGetall_Session_Final_Note_Classement_result] = useState([]);
|
||||||
|
function Getall_Session_Final_Note_Classement(event) {
|
||||||
|
|
||||||
|
var form = new FormData();
|
||||||
|
|
||||||
|
|
||||||
|
const stored_cookie = getCookie('tokenmysypart');
|
||||||
|
form.append("token", stored_cookie);
|
||||||
|
form.append("tab_session_id", props.related_collection_recid);
|
||||||
|
|
||||||
|
|
||||||
|
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_List_Evaluation_Final_Note_Classement_With_Filter";
|
||||||
|
|
||||||
|
axios.post(myurl, form).then(res => {
|
||||||
|
|
||||||
|
if (String(res.data.status) === String("true")) {
|
||||||
|
// console.log(" In Getall_Session_Final_Note_Classement res.data.status = " + res.data.status);
|
||||||
|
//console.log(" In Getall_Session_Final_Note_Classement res.data.message r_class = " + res.data.message);
|
||||||
|
setGetall_Session_Final_Note_Classement_api("true");
|
||||||
|
setGetall_Session_Final_Note_Classement_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 inscription_id = JSON.parse(x).inscription_id;
|
||||||
|
var session_id = JSON.parse(x).session_id;
|
||||||
|
var type_eval = JSON.parse(x).type_eval;
|
||||||
|
var ue_id = JSON.parse(x).ue_id;
|
||||||
|
var class_id = JSON.parse(x).class_id;
|
||||||
|
var note_td = JSON.parse(x).note_td;
|
||||||
|
var note_tp = JSON.parse(x).note_tp;
|
||||||
|
var note_examen = JSON.parse(x).note_examen;
|
||||||
|
var regle_calcul = JSON.parse(x).regle_calcul;
|
||||||
|
var note_finale = JSON.parse(x).note_finale;
|
||||||
|
|
||||||
|
var ue_id_code = JSON.parse(x).ue_id_code;
|
||||||
|
var class_id_external_code = JSON.parse(x).class_id_external_code;
|
||||||
|
var inscription_id_mail = JSON.parse(x).inscription_id_mail;
|
||||||
|
var inscription_id_nom = JSON.parse(x).inscription_id_nom;
|
||||||
|
var inscription_id_prenom = JSON.parse(x).inscription_id_prenom;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//---
|
||||||
|
var node = {
|
||||||
|
"_id": local_id,
|
||||||
|
"id": localid,
|
||||||
|
"label": local_id,
|
||||||
|
"inscription_id": inscription_id,
|
||||||
|
"session_id": session_id,
|
||||||
|
"type_eval": type_eval,
|
||||||
|
"ue_id": ue_id,
|
||||||
|
"class_id": class_id,
|
||||||
|
"note_td": note_td,
|
||||||
|
"note_tp": note_tp,
|
||||||
|
"note_examen": note_examen,
|
||||||
|
"regle_calcul": regle_calcul,
|
||||||
|
"note_finale": note_finale,
|
||||||
|
|
||||||
|
"ue_id_code": ue_id_code,
|
||||||
|
"class_id_external_code": class_id_external_code,
|
||||||
|
"inscription_id_mail": inscription_id_mail,
|
||||||
|
"inscription_id_nom": inscription_id_nom,
|
||||||
|
"inscription_id_prenom": inscription_id_prenom,
|
||||||
|
|
||||||
|
};
|
||||||
|
new_data2.push(node);
|
||||||
|
});
|
||||||
|
|
||||||
|
//---
|
||||||
|
var node = {
|
||||||
|
"_id": "",
|
||||||
|
"id": "",
|
||||||
|
"label": "",
|
||||||
|
"inscription_id": "",
|
||||||
|
"session_id": "",
|
||||||
|
"type_eval": "",
|
||||||
|
"ue_id": "",
|
||||||
|
"note_td": "",
|
||||||
|
"note_tp": "",
|
||||||
|
"note_examen": "",
|
||||||
|
"regle_calcul": "",
|
||||||
|
"note_finale": "",
|
||||||
|
"ue_id_code": "",
|
||||||
|
"class_id_external_code": "",
|
||||||
|
"inscription_id_mail": "",
|
||||||
|
"inscription_id_nom": "",
|
||||||
|
"inscription_id_prenom": "",
|
||||||
|
|
||||||
|
};
|
||||||
|
new_data2.push(node);
|
||||||
|
|
||||||
|
if (new_data2.length > 0)
|
||||||
|
setNew_Getall_Session_Final_Note_Classement_result(new_data2);
|
||||||
|
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
setGetall_Session_Final_Note_Classement_api("false");
|
||||||
|
setGetall_Session_Final_Note_Classement_message(res.data.message);
|
||||||
|
// alert(res.data.message)
|
||||||
|
setdisplay_alert_mysy("1");
|
||||||
|
setalert_message(res.data.message);
|
||||||
|
setalert_type("error");
|
||||||
|
}
|
||||||
|
|
||||||
|
}).catch((error) => {
|
||||||
|
console.warn('Not good man :( Getall_Session_Final_Note_Classement = ', error);
|
||||||
|
setGetall_Session_Final_Note_Classement_api("false");
|
||||||
|
// alert(" Impossible de recuperer la liste des évaluations");
|
||||||
|
setdisplay_alert_mysy("1");
|
||||||
|
setalert_message(" Impossible de recuperer la liste des évaluations");
|
||||||
|
setalert_type("error");
|
||||||
|
//setmyApimyApiMessage("")
|
||||||
|
})
|
||||||
|
}
|
||||||
|
useEffect(() => {
|
||||||
|
|
||||||
|
Getall_Session_Detail_Final_Note_Classement();
|
||||||
|
Getall_Session_Final_Note_Classement();
|
||||||
|
|
||||||
|
|
||||||
|
}, [])
|
||||||
|
|
||||||
|
|
||||||
|
const [gridline_id, setgridline_id] = useState("");
|
||||||
|
const [selectionModel_note_finale_classement, setselectionModel_note_finale_classement] = React.useState([]);
|
||||||
|
|
||||||
|
|
||||||
|
const [gridline_detail_id, setgridline_detail_id] = useState("");
|
||||||
|
const [selectionModel_detail_note_finale_classement, setselectionModel_detail_note_finale_classement] = React.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("");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div className="module_session_note_classement">
|
||||||
|
|
||||||
|
{isLoading && <div className="loader-container">
|
||||||
|
<div className="mysy_spinner"> <img src={img_loading_spin} /> </div>
|
||||||
|
</div>}
|
||||||
|
|
||||||
|
{/*** Affichage des messages d'alerte*/}
|
||||||
|
{display_alert_mysy && String(display_alert_mysy) === "1" &&
|
||||||
|
<Module_Alert_Confirmation alert_message={alert_message}
|
||||||
|
alert_type={alert_type}
|
||||||
|
clear_alert_message={clear_alert_message}
|
||||||
|
clear_alert_type={clear_alert_type}
|
||||||
|
clear_display_alert_mysy={clear_display_alert_mysy}
|
||||||
|
/>
|
||||||
|
}
|
||||||
|
{/*** FIN Affichage des messages d'alerte*/}
|
||||||
|
<div style={{ "border": "None" }}>
|
||||||
|
|
||||||
|
<div className="div_row" style={{ paddingRight: '10px' }}>
|
||||||
|
|
||||||
|
<div className="session_data">
|
||||||
|
<div style={{ "border": "None" }}>
|
||||||
|
|
||||||
|
<div style={{ height: 550, width: '100%', paddingRight: '5px' }}>
|
||||||
|
|
||||||
|
|
||||||
|
<nav style={{ textAlign: 'center' }}> Matrice des notes & Rand</nav>
|
||||||
|
<Box
|
||||||
|
sx={{
|
||||||
|
height: 500,
|
||||||
|
width: '100%',
|
||||||
|
paddingRight: '1px',
|
||||||
|
|
||||||
|
// Gestion des cellule a distance ou presentiel
|
||||||
|
'& .cell--distantiel': {
|
||||||
|
backgroundColor: '#AFE1AF',
|
||||||
|
color: 'black',
|
||||||
|
},
|
||||||
|
|
||||||
|
'& .cell--presentiel': {
|
||||||
|
backgroundColor: '#AFE1AF',
|
||||||
|
color: 'black',
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
// gestion couleur des lignes avec le statut d'inscription
|
||||||
|
'& .line--statut--annule': {
|
||||||
|
backgroundColor: '#D8D8D8',
|
||||||
|
color: 'white',
|
||||||
|
},
|
||||||
|
|
||||||
|
'& .line--statut--inscrit': {
|
||||||
|
backgroundColor: '#CEF6D8',
|
||||||
|
color: 'black',
|
||||||
|
},
|
||||||
|
'& .line--statut--preinscrit': {
|
||||||
|
backgroundColor: '#F7F2E0',
|
||||||
|
color: 'black',
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
/*"& .MuiDataGrid-virtualScrollerRenderZone": {
|
||||||
|
"& .MuiDataGrid-row": {
|
||||||
|
"&:nth-child(2n)": { backgroundColor: "rgba(235, 235, 235, .7)" }
|
||||||
|
}
|
||||||
|
},*/
|
||||||
|
"& .MuiDataGrid-columnHeaders": {
|
||||||
|
backgroundColor: "#c8cfd5",
|
||||||
|
color: "black",
|
||||||
|
fontSize: 14
|
||||||
|
},
|
||||||
|
|
||||||
|
'& .line--statut--selected': {
|
||||||
|
backgroundColor: '#FBF2EF',
|
||||||
|
color: 'black',
|
||||||
|
},
|
||||||
|
'& .line--statut--pair': {
|
||||||
|
backgroundColor: 'rgba(235, 235, 235, .7)',
|
||||||
|
color: 'black',
|
||||||
|
},
|
||||||
|
'& .line--statut--impair': {
|
||||||
|
backgroundColor: '#FFFFFF',
|
||||||
|
color: 'black',
|
||||||
|
},
|
||||||
|
[`& .${gridClasses.cell}`]: {
|
||||||
|
py: 1,
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<DataGrid
|
||||||
|
checkboxSelection
|
||||||
|
onSelectionModelChange={(newSelectionModel) => {
|
||||||
|
setselectionModel_note_finale_classement(newSelectionModel);
|
||||||
|
/*if (newSelectionModel.length === 1)
|
||||||
|
handleClick_edit_employee_From_Line(newSelectionModel);*/
|
||||||
|
if (newSelectionModel.length !== 1) {
|
||||||
|
/* setsubmenu();
|
||||||
|
setdisplay_detail_employe();
|
||||||
|
setadd_One_Employee();*/
|
||||||
|
}
|
||||||
|
}}
|
||||||
|
selectionModel={selectionModel_note_finale_classement}
|
||||||
|
|
||||||
|
localeText={frFR.components.MuiDataGrid.defaultProps.localeText}
|
||||||
|
rows={Getall_Session_Final_Note_Classement_result.map((item, index) => (
|
||||||
|
{
|
||||||
|
id: index,
|
||||||
|
_id: JSON.parse(item)._id,
|
||||||
|
inscription_id: JSON.parse(item).inscription_id,
|
||||||
|
session_id: JSON.parse(item).session_id,
|
||||||
|
type_eval: JSON.parse(item).type_eval,
|
||||||
|
ue_id: JSON.parse(item).ue_id,
|
||||||
|
class_id: JSON.parse(item).class_id,
|
||||||
|
note_td: JSON.parse(item).note_td,
|
||||||
|
note_tp: JSON.parse(item).note_tp,
|
||||||
|
note_examen: JSON.parse(item).note_examen,
|
||||||
|
note_finale: JSON.parse(item).note_finale,
|
||||||
|
rang: JSON.parse(item).rang,
|
||||||
|
|
||||||
|
ue_id_code: JSON.parse(item).ue_id_code,
|
||||||
|
class_id_external_code: JSON.parse(item).class_id_external_code,
|
||||||
|
inscription_id_mail: JSON.parse(item).inscription_id_mail,
|
||||||
|
inscription_id_nom: JSON.parse(item).inscription_id_nom,
|
||||||
|
inscription_id_prenom: JSON.parse(item).inscription_id_prenom,
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
))}
|
||||||
|
|
||||||
|
columns={columns_list_evaluation_note_classement_final}
|
||||||
|
pageSize={10}
|
||||||
|
className="datagridclass"
|
||||||
|
|
||||||
|
onRowDoubleClick={(newSelectionModel) => {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}}
|
||||||
|
|
||||||
|
rowsPerPageOptions={[10]}
|
||||||
|
disableSelectionOnClick
|
||||||
|
components={{
|
||||||
|
Toolbar: GridToolbar,
|
||||||
|
}}
|
||||||
|
//sx={datagridSx}
|
||||||
|
getCellClassName={(params) => {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}}
|
||||||
|
getRowClassName={(params) => {
|
||||||
|
// Pour la gestion de la couleur de zone double cliquée
|
||||||
|
if (String(params.row.id) === String(gridline_id)) {
|
||||||
|
return 'line--statut--selected';
|
||||||
|
}
|
||||||
|
else 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,
|
||||||
|
|
||||||
|
}
|
||||||
|
}}
|
||||||
|
|
||||||
|
/>
|
||||||
|
</Box>
|
||||||
|
<br />
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div style={{ "border": "None" }}>
|
||||||
|
|
||||||
|
<div className="div_row" style={{ paddingRight: '10px' }}>
|
||||||
|
|
||||||
|
<div className="session_data">
|
||||||
|
<div style={{ "border": "None" }}>
|
||||||
|
|
||||||
|
<div style={{ height: 550, width: '100%', paddingRight: '5px' }}>
|
||||||
|
|
||||||
|
|
||||||
|
<nav style={{ textAlign: 'center' }}> Matrice détaillée des notes </nav>
|
||||||
|
<Box
|
||||||
|
sx={{
|
||||||
|
height: 500,
|
||||||
|
width: '100%',
|
||||||
|
paddingRight: '1px',
|
||||||
|
|
||||||
|
// Gestion des cellule a distance ou presentiel
|
||||||
|
'& .cell--distantiel': {
|
||||||
|
backgroundColor: '#AFE1AF',
|
||||||
|
color: 'black',
|
||||||
|
},
|
||||||
|
|
||||||
|
'& .cell--presentiel': {
|
||||||
|
backgroundColor: '#AFE1AF',
|
||||||
|
color: 'black',
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
// gestion couleur des lignes avec le statut d'inscription
|
||||||
|
'& .line--statut--annule': {
|
||||||
|
backgroundColor: '#D8D8D8',
|
||||||
|
color: 'white',
|
||||||
|
},
|
||||||
|
|
||||||
|
'& .line--statut--inscrit': {
|
||||||
|
backgroundColor: '#CEF6D8',
|
||||||
|
color: 'black',
|
||||||
|
},
|
||||||
|
'& .line--statut--preinscrit': {
|
||||||
|
backgroundColor: '#F7F2E0',
|
||||||
|
color: 'black',
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
/*"& .MuiDataGrid-virtualScrollerRenderZone": {
|
||||||
|
"& .MuiDataGrid-row": {
|
||||||
|
"&:nth-child(2n)": { backgroundColor: "rgba(235, 235, 235, .7)" }
|
||||||
|
}
|
||||||
|
},*/
|
||||||
|
"& .MuiDataGrid-columnHeaders": {
|
||||||
|
backgroundColor: "#c8cfd5",
|
||||||
|
color: "black",
|
||||||
|
fontSize: 14
|
||||||
|
},
|
||||||
|
|
||||||
|
'& .line--statut--selected': {
|
||||||
|
backgroundColor: '#FBF2EF',
|
||||||
|
color: 'black',
|
||||||
|
},
|
||||||
|
'& .line--statut--pair': {
|
||||||
|
backgroundColor: 'rgba(235, 235, 235, .7)',
|
||||||
|
color: 'black',
|
||||||
|
},
|
||||||
|
'& .line--statut--impair': {
|
||||||
|
backgroundColor: '#FFFFFF',
|
||||||
|
color: 'black',
|
||||||
|
},
|
||||||
|
[`& .${gridClasses.cell}`]: {
|
||||||
|
py: 1,
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<DataGrid
|
||||||
|
checkboxSelection
|
||||||
|
onSelectionModelChange={(newSelectionModel) => {
|
||||||
|
setselectionModel_detail_note_finale_classement(newSelectionModel);
|
||||||
|
/*if (newSelectionModel.length === 1)
|
||||||
|
handleClick_edit_employee_From_Line(newSelectionModel);*/
|
||||||
|
if (newSelectionModel.length !== 1) {
|
||||||
|
/* setsubmenu();
|
||||||
|
setdisplay_detail_employe();
|
||||||
|
setadd_One_Employee();*/
|
||||||
|
}
|
||||||
|
}}
|
||||||
|
selectionModel={selectionModel_detail_note_finale_classement}
|
||||||
|
|
||||||
|
localeText={frFR.components.MuiDataGrid.defaultProps.localeText}
|
||||||
|
rows={Getall_Session_Detail_Final_Note_Classement_result.map((item, index) => (
|
||||||
|
{
|
||||||
|
id: index,
|
||||||
|
_id: JSON.parse(item)._id,
|
||||||
|
inscription_id: JSON.parse(item).inscription_id,
|
||||||
|
session_id: JSON.parse(item).session_id,
|
||||||
|
type_eval: JSON.parse(item).type_eval,
|
||||||
|
ue_id: JSON.parse(item).ue_id,
|
||||||
|
class_id: JSON.parse(item).class_id,
|
||||||
|
moyenne: JSON.parse(item).moyenne,
|
||||||
|
somme: JSON.parse(item).somme,
|
||||||
|
nb_evaluation: JSON.parse(item).nb_evaluation,
|
||||||
|
|
||||||
|
ue_id_code: JSON.parse(item).ue_id_code,
|
||||||
|
class_id_external_code: JSON.parse(item).class_id_external_code,
|
||||||
|
inscription_id_mail: JSON.parse(item).inscription_id_mail,
|
||||||
|
inscription_id_nom: JSON.parse(item).inscription_id_nom,
|
||||||
|
inscription_id_prenom: JSON.parse(item).inscription_id_prenom,
|
||||||
|
|
||||||
|
}
|
||||||
|
))}
|
||||||
|
|
||||||
|
columns={columns_list_evaluation_detail_note_classement_final}
|
||||||
|
pageSize={10}
|
||||||
|
className="datagridclass"
|
||||||
|
|
||||||
|
onRowDoubleClick={(newSelectionModel) => {
|
||||||
|
|
||||||
|
/* Getall_Evaluation_Participant_List(newSelectionModel.row._id);
|
||||||
|
|
||||||
|
setselected_id(newSelectionModel.row._id);
|
||||||
|
|
||||||
|
setgridline_id(newSelectionModel.row.id);
|
||||||
|
|
||||||
|
handleClick_edit_evaluation_From_Line(newSelectionModel.row.id);
|
||||||
|
setselectionModel_evalutions_participant([]);
|
||||||
|
settab_convention_pieces_jointes_result([]);*/
|
||||||
|
|
||||||
|
|
||||||
|
}}
|
||||||
|
|
||||||
|
rowsPerPageOptions={[10]}
|
||||||
|
disableSelectionOnClick
|
||||||
|
components={{
|
||||||
|
Toolbar: GridToolbar,
|
||||||
|
}}
|
||||||
|
//sx={datagridSx}
|
||||||
|
getCellClassName={(params) => {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}}
|
||||||
|
getRowClassName={(params) => {
|
||||||
|
// Pour la gestion de la couleur de zone double cliquée
|
||||||
|
if (String(params.row.id) === String(gridline_id)) {
|
||||||
|
return 'line--statut--selected';
|
||||||
|
}
|
||||||
|
else 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,
|
||||||
|
|
||||||
|
}
|
||||||
|
}}
|
||||||
|
|
||||||
|
/>
|
||||||
|
</Box>
|
||||||
|
<br />
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div >
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
export default Module_Session_Notes_Classement;
|
||||||
|
|
|
@ -1,25 +1,23 @@
|
||||||
import React, { useRef, useState, useEffect } from "react";
|
import React, { useRef, useState, useEffect } from "react";
|
||||||
import TextField from '@mui/material/TextField';
|
import TextField from '@mui/material/TextField';
|
||||||
import MenuItem from '@mui/material/MenuItem';
|
|
||||||
import 'react-confirm-alert/src/react-confirm-alert.css'; // Import css
|
import 'react-confirm-alert/src/react-confirm-alert.css'; // Import css
|
||||||
import Button from '@mui/material/Button';
|
import Button from '@mui/material/Button';
|
||||||
import axios from "axios";
|
import axios from "axios";
|
||||||
import { getCookie, setCookie } from 'react-use-cookie';
|
import { getCookie, setCookie } from 'react-use-cookie';
|
||||||
import { useHistory } from "react-router-dom";
|
import { useHistory } from "react-router-dom";
|
||||||
import CheckOut from "./CheckOut";
|
|
||||||
import { DataGrid, GridToolbar, frFR } from '@mui/x-data-grid';
|
import { DataGrid, GridToolbar, frFR } from '@mui/x-data-grid';
|
||||||
import "react-draft-wysiwyg/dist/react-draft-wysiwyg.css";
|
import "react-draft-wysiwyg/dist/react-draft-wysiwyg.css";
|
||||||
import { Editor } from '@tinymce/tinymce-react';
|
import { Editor } from '@tinymce/tinymce-react';
|
||||||
import parse from 'html-react-parser';
|
import parse from 'html-react-parser';
|
||||||
import { FcViewDetails, FcDisapprove } from "react-icons/fc";
|
import { FcViewDetails, FcDisapprove } from "react-icons/fc";
|
||||||
import { FcPodiumWithAudience } from "react-icons/fc";
|
|
||||||
import { FcInfo } from "react-icons/fc";
|
import { FcInfo } from "react-icons/fc";
|
||||||
import { LiaDharmachakraSolid } from "react-icons/lia";
|
|
||||||
import 'react-tooltip/dist/react-tooltip.css'
|
import 'react-tooltip/dist/react-tooltip.css'
|
||||||
import { Tooltip } from 'react-tooltip'
|
import { Tooltip } from 'react-tooltip'
|
||||||
import add_plus from "../mysy_img/plus.png";
|
|
||||||
import excel_icone from "../mysy_img/excel_icone.png";
|
|
||||||
import participants from "../mysy_img/participants.png";
|
|
||||||
import fileDownload from 'js-file-download';
|
import fileDownload from 'js-file-download';
|
||||||
import Popup from 'reactjs-popup';
|
import Popup from 'reactjs-popup';
|
||||||
import 'reactjs-popup/dist/index.css';
|
import 'reactjs-popup/dist/index.css';
|
||||||
|
@ -31,8 +29,7 @@ import moment from "moment";
|
||||||
import InputAdornment from '@mui/material/InputAdornment';
|
import InputAdornment from '@mui/material/InputAdornment';
|
||||||
import { AiFillCloseCircle } from "react-icons/ai";
|
import { AiFillCloseCircle } from "react-icons/ai";
|
||||||
import Box from '@mui/material/Box';
|
import Box from '@mui/material/Box';
|
||||||
import { Typography, LinearProgress } from '@mui/material';
|
|
||||||
import styled from 'styled-components';
|
|
||||||
import { CiTrash } from "react-icons/ci";
|
import { CiTrash } from "react-icons/ci";
|
||||||
import { MdAddCircleOutline, MdRemoveCircleOutline } from "react-icons/md";
|
import { MdAddCircleOutline, MdRemoveCircleOutline } from "react-icons/md";
|
||||||
import Dialog from '@mui/material/Dialog';
|
import Dialog from '@mui/material/Dialog';
|
||||||
|
@ -41,8 +38,7 @@ import DialogContent from '@mui/material/DialogContent';
|
||||||
import DialogContentText from '@mui/material/DialogContentText';
|
import DialogContentText from '@mui/material/DialogContentText';
|
||||||
import DialogTitle from '@mui/material/DialogTitle';
|
import DialogTitle from '@mui/material/DialogTitle';
|
||||||
|
|
||||||
import Visibility from '@mui/icons-material/Visibility';
|
|
||||||
import VisibilityOff from '@mui/icons-material/VisibilityOff';
|
|
||||||
import { Fab } from "@material-ui/core";
|
import { Fab } from "@material-ui/core";
|
||||||
import { IoMdAddCircle, IoIosRemoveCircleOutline } from "react-icons/io";
|
import { IoMdAddCircle, IoIosRemoveCircleOutline } from "react-icons/io";
|
||||||
import { AiTwotoneEdit, AiTwotoneSave } from "react-icons/ai";
|
import { AiTwotoneEdit, AiTwotoneSave } from "react-icons/ai";
|
||||||
|
@ -56,7 +52,7 @@ import { IoAddCircleOutline, IoCloseCircleOutline } from "react-icons/io5";
|
||||||
import Rating from '@mui/material/Rating';
|
import Rating from '@mui/material/Rating';
|
||||||
import Module_Selection_Evaluation_Apprenants from "./Module_Selection_Evaluation_Apprenants";
|
import Module_Selection_Evaluation_Apprenants from "./Module_Selection_Evaluation_Apprenants";
|
||||||
import AttachFileIcon from '@mui/icons-material/AttachFile';
|
import AttachFileIcon from '@mui/icons-material/AttachFile';
|
||||||
|
import { GoDuplicate } from "react-icons/go";
|
||||||
import Module_Alert_Confirmation from "./Module_Alert_Confirmation";
|
import Module_Alert_Confirmation from "./Module_Alert_Confirmation";
|
||||||
|
|
||||||
const Notes_Evaluation = (props) => {
|
const Notes_Evaluation = (props) => {
|
||||||
|
@ -227,6 +223,62 @@ const Notes_Evaluation = (props) => {
|
||||||
{ field: 'eval_date_heure_debut', headerName: 'Début', flex: 1, hide: false, minWidth: 180, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
{ field: 'eval_date_heure_debut', headerName: 'Début', flex: 1, hide: false, minWidth: 180, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||||
{ field: 'eval_date_heure_fin', headerName: 'Fin', flex: 1, hide: false, minWidth: 180, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
{ field: 'eval_date_heure_fin', headerName: 'Fin', flex: 1, hide: false, minWidth: 180, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||||
|
|
||||||
|
{
|
||||||
|
field: "dupliquer", headerName: 'Dupliquer',
|
||||||
|
renderCell: (cellValues) => {
|
||||||
|
return (
|
||||||
|
|
||||||
|
<Popup
|
||||||
|
trigger={<Button
|
||||||
|
>
|
||||||
|
<GoDuplicate />
|
||||||
|
|
||||||
|
</Button>}
|
||||||
|
modal
|
||||||
|
nested
|
||||||
|
position="center center"
|
||||||
|
>
|
||||||
|
{close => (
|
||||||
|
<div>
|
||||||
|
<button className="gest_close" onClick={close}>
|
||||||
|
×
|
||||||
|
</button>
|
||||||
|
<div className="gest_header"> MySy Information </div>
|
||||||
|
<div className="gest_content">
|
||||||
|
{' '}
|
||||||
|
|
||||||
|
En confirmant cette opération, l'évaluation sera <i> duppliquée </i>. <br />
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div className="gest_actions">
|
||||||
|
<div style={{ "width": "45%", "float": "left" }}>
|
||||||
|
<button className="gest_bton_popup" onClick={(event) => {
|
||||||
|
Duplicate_Evaluation_Data(cellValues.row._id);
|
||||||
|
//console.log('modal closed ');
|
||||||
|
close();
|
||||||
|
}}> 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>
|
||||||
|
)}
|
||||||
|
</Popup>
|
||||||
|
|
||||||
|
|
||||||
|
);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
field: "Detail", headerName: 'Voir detail',
|
field: "Detail", headerName: 'Voir detail',
|
||||||
|
@ -1936,6 +1988,83 @@ const Notes_Evaluation = (props) => {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
const [Duplicate_Evaluation_Data_api, setDuplicate_Evaluation_Data_api] = useState();
|
||||||
|
const [Duplicate_Evaluation_Data_message, setDuplicate_Evaluation_Data_message] = useState();
|
||||||
|
const [Duplicate_Evaluation_Data_result, setDuplicate_Evaluation_Data_result] = useState();
|
||||||
|
function Duplicate_Evaluation_Data(local_evaluation_id) {
|
||||||
|
var form = new FormData();
|
||||||
|
//form.append("token","K3cw63eKokKSbV4spjQ48SUNnfy80yrXfA");
|
||||||
|
|
||||||
|
|
||||||
|
const stored_cookie = getCookie('tokenmysypart');
|
||||||
|
form.append("token", stored_cookie);
|
||||||
|
form.append("evaluation_id", local_evaluation_id);
|
||||||
|
|
||||||
|
|
||||||
|
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Duplicate_Evaluation_Planification/";
|
||||||
|
|
||||||
|
|
||||||
|
setLoading(true);
|
||||||
|
axios.post(myurl, form).then(res => {
|
||||||
|
//console.log(" In Duplicate_Evaluation_Data res.data.status = " + res.data.status);
|
||||||
|
//console.log(" In Duplicate_Evaluation_Data res.data.message r_class = " + res.data.message);
|
||||||
|
|
||||||
|
setLoading(false);
|
||||||
|
|
||||||
|
if (String(res.data.status) === String("true")) {
|
||||||
|
setDuplicate_Evaluation_Data_api("true");
|
||||||
|
setDuplicate_Evaluation_Data_result(res.data.message);
|
||||||
|
|
||||||
|
Disable_Evaluation_DetailFields();
|
||||||
|
setevaluation_data_changed("");
|
||||||
|
setevaluation_data_edit_mode("");
|
||||||
|
|
||||||
|
Disable_Evaluation_DetailFields();
|
||||||
|
setevaluation_data_changed("");
|
||||||
|
setevaluation_data_edit_mode("");
|
||||||
|
setdisplay_evaluation("");
|
||||||
|
setadd_one_evaluation("");
|
||||||
|
setsubmenu("");
|
||||||
|
|
||||||
|
var divh = document.getElementById('myRef').offsetTop;
|
||||||
|
window.scrollTo({
|
||||||
|
top: 0,
|
||||||
|
behavior: "smooth",
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
Getall_Partner_Evaluation();
|
||||||
|
// alert(res.data.message)
|
||||||
|
setdisplay_alert_mysy("1");
|
||||||
|
setalert_message(res.data.message);
|
||||||
|
setalert_type("success");
|
||||||
|
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
setDuplicate_Evaluation_Data_api("false");
|
||||||
|
setDuplicate_Evaluation_Data_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.log('UpdateStagiaireData : Not good man :( Duplicate_Evaluation_Data = ' + error);
|
||||||
|
setDuplicate_Evaluation_Data_api("false");
|
||||||
|
// alert(" Impossible d'ajouter ou mettre à jour l'évaluation");
|
||||||
|
setdisplay_alert_mysy("1");
|
||||||
|
setalert_message(" Impossible d'ajouter ou mettre à jour l'évaluation");
|
||||||
|
setalert_type("error");
|
||||||
|
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
function Annule_Evaluaton_DetailFields() {
|
function Annule_Evaluaton_DetailFields() {
|
||||||
Get_Given_Evaluation_Data(selected_id);
|
Get_Given_Evaluation_Data(selected_id);
|
||||||
|
|
||||||
|
|
|
@ -75,6 +75,8 @@ import { AiOutlineUserAdd } from "react-icons/ai";
|
||||||
import PartnerClientActivite from "./PartnerClient_Activite";
|
import PartnerClientActivite from "./PartnerClient_Activite";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
import Mon_Tableau_De_Bord from "./Mon_Tableau_De_Bord";
|
import Mon_Tableau_De_Bord from "./Mon_Tableau_De_Bord";
|
||||||
import Dashbord_Formation from "./Dashbord_Formation";
|
import Dashbord_Formation from "./Dashbord_Formation";
|
||||||
import Partner_Prix_Achat from "./Partner_Prix_Achat";
|
import Partner_Prix_Achat from "./Partner_Prix_Achat";
|
||||||
|
@ -129,10 +131,11 @@ import Partner_Product_Service from "./Partner_Product_Service";
|
||||||
import Module_Email_Management from "./Module_Email_Management";
|
import Module_Email_Management from "./Module_Email_Management";
|
||||||
import ForwardToInboxIcon from '@mui/icons-material/ForwardToInbox';
|
import ForwardToInboxIcon from '@mui/icons-material/ForwardToInbox';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
import Badge from '@mui/material/Badge';
|
import Badge from '@mui/material/Badge';
|
||||||
import { styled } from '@mui/material/styles';
|
import { styled } from '@mui/material/styles';
|
||||||
import IconButton from '@mui/material/IconButton';
|
|
||||||
import ShoppingCartIcon from '@mui/icons-material/ShoppingCart';
|
|
||||||
|
|
||||||
import Modules_Mes_Documents from "./Modules_Mes_Documents";
|
import Modules_Mes_Documents from "./Modules_Mes_Documents";
|
||||||
|
|
||||||
|
@ -2469,6 +2472,7 @@ const Partner = (props) => {
|
||||||
<DisplayPartnerSession
|
<DisplayPartnerSession
|
||||||
conntected_account_id={conntected_account_id}
|
conntected_account_id={conntected_account_id}
|
||||||
conntected_employee_id={conntected_employee_id}
|
conntected_employee_id={conntected_employee_id}
|
||||||
|
formation_initiale={formation_initiale}
|
||||||
object_key={orderid}
|
object_key={orderid}
|
||||||
class_internal_url={packs}
|
class_internal_url={packs}
|
||||||
read_access={check_user_acces_right("session", "read")}
|
read_access={check_user_acces_right("session", "read")}
|
||||||
|
@ -3234,6 +3238,7 @@ const Partner = (props) => {
|
||||||
|
|
||||||
<DisplayPartnerSession
|
<DisplayPartnerSession
|
||||||
conntected_account_id={conntected_account_id}
|
conntected_account_id={conntected_account_id}
|
||||||
|
formation_initiale={formation_initiale}
|
||||||
conntected_employee_id={conntected_employee_id} object_key={orderid} class_internal_url={packs}
|
conntected_employee_id={conntected_employee_id} object_key={orderid} class_internal_url={packs}
|
||||||
read_access={check_user_acces_right("session", "read")} write_access={check_user_acces_right("session", "write")}
|
read_access={check_user_acces_right("session", "read")} write_access={check_user_acces_right("session", "write")}
|
||||||
check_user_acces_right={check_user_acces_right} reduce={"1"} />
|
check_user_acces_right={check_user_acces_right} reduce={"1"} />
|
||||||
|
|
|
@ -1,47 +1,23 @@
|
||||||
import React, { useRef, useState, useEffect } from "react";
|
import React, { useRef, useState, useEffect } from "react";
|
||||||
import TextField from '@mui/material/TextField';
|
import TextField from '@mui/material/TextField';
|
||||||
import MenuItem from '@mui/material/MenuItem';
|
|
||||||
import 'react-confirm-alert/src/react-confirm-alert.css'; // Import css
|
import 'react-confirm-alert/src/react-confirm-alert.css'; // Import css
|
||||||
import Button from '@mui/material/Button';
|
import Button from '@mui/material/Button';
|
||||||
import axios from "axios";
|
import axios from "axios";
|
||||||
import { getCookie, setCookie } from 'react-use-cookie';
|
import { getCookie, setCookie } from 'react-use-cookie';
|
||||||
import { useHistory } from "react-router-dom";
|
import { useHistory } from "react-router-dom";
|
||||||
import CheckOut from "./CheckOut";
|
|
||||||
import { DataGrid, GridToolbar, frFR } from '@mui/x-data-grid';
|
import { DataGrid, GridToolbar, frFR } from '@mui/x-data-grid';
|
||||||
import "react-draft-wysiwyg/dist/react-draft-wysiwyg.css";
|
import "react-draft-wysiwyg/dist/react-draft-wysiwyg.css";
|
||||||
import { Editor } from '@tinymce/tinymce-react';
|
|
||||||
import parse from 'html-react-parser';
|
|
||||||
import { FcViewDetails, FcDisapprove } from "react-icons/fc";
|
|
||||||
import 'react-tooltip/dist/react-tooltip.css'
|
import 'react-tooltip/dist/react-tooltip.css'
|
||||||
import { Tooltip } from 'react-tooltip'
|
|
||||||
|
|
||||||
import Autocomplete from '@mui/material/Autocomplete';
|
|
||||||
import Popup from 'reactjs-popup';
|
import Popup from 'reactjs-popup';
|
||||||
import 'reactjs-popup/dist/index.css';
|
import 'reactjs-popup/dist/index.css';
|
||||||
import { FcCancel, FcApproval, FcAcceptDatabase, FcPrint } from "react-icons/fc";
|
|
||||||
import DatePicker from "react-datepicker";
|
|
||||||
import "react-datepicker/dist/react-datepicker.css";
|
import "react-datepicker/dist/react-datepicker.css";
|
||||||
import { format } from 'date-fns'
|
|
||||||
import moment from "moment";
|
|
||||||
import InputAdornment from '@mui/material/InputAdornment';
|
|
||||||
import { AiFillCloseCircle } from "react-icons/ai";
|
|
||||||
import Box from '@mui/material/Box';
|
import Box from '@mui/material/Box';
|
||||||
import { Typography, LinearProgress, sliderClasses } from '@mui/material';
|
|
||||||
import styled from 'styled-components';
|
|
||||||
import { CiTrash } from "react-icons/ci";
|
import { CiTrash } from "react-icons/ci";
|
||||||
import { MdAddCircleOutline, MdRemoveCircleOutline } from "react-icons/md";
|
|
||||||
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 { TransitionProps } from '@mui/material/transitions';
|
|
||||||
import img_loading_spin from "./../mysy_img/mysy_spin_loading.gif";
|
import img_loading_spin from "./../mysy_img/mysy_spin_loading.gif";
|
||||||
import { IoAddCircleOutline, IoCloseCircleOutline } from "react-icons/io5";
|
import { IoAddCircleOutline, IoCloseCircleOutline } from "react-icons/io5";
|
||||||
import ToggleSwitch from "./ToggleSwitch";
|
|
||||||
import { FcInfo } from "react-icons/fc";
|
|
||||||
import Link from '@mui/material/Link';
|
import Link from '@mui/material/Link';
|
||||||
import { PiDotsThree } from "react-icons/pi";
|
import { PiDotsThree } from "react-icons/pi";
|
||||||
|
import Module_Alert_Confirmation from "./Module_Alert_Confirmation";
|
||||||
|
|
||||||
const Partner_Config_Ftion_Initiale = (props) => {
|
const Partner_Config_Ftion_Initiale = (props) => {
|
||||||
|
|
||||||
|
@ -192,7 +168,10 @@ const Partner_Config_Ftion_Initiale = (props) => {
|
||||||
setgridline_type_eval_id("");
|
setgridline_type_eval_id("");
|
||||||
|
|
||||||
|
|
||||||
alert(res.data.message);
|
// alert(res.data.message)
|
||||||
|
setdisplay_alert_mysy("1");
|
||||||
|
setalert_message(res.data.message);
|
||||||
|
setalert_type("success");
|
||||||
if (document.getElementById('myRef_head')) {
|
if (document.getElementById('myRef_head')) {
|
||||||
var divh = document.getElementById('myRef_head').offsetTop;
|
var divh = document.getElementById('myRef_head').offsetTop;
|
||||||
window.scrollTo({
|
window.scrollTo({
|
||||||
|
@ -206,7 +185,10 @@ const Partner_Config_Ftion_Initiale = (props) => {
|
||||||
else {
|
else {
|
||||||
sethandleClick_delete_Type_Evaluation_api("false");
|
sethandleClick_delete_Type_Evaluation_api("false");
|
||||||
sethandleClick_delete_Type_Evaluation_message(res.data.message);
|
sethandleClick_delete_Type_Evaluation_message(res.data.message);
|
||||||
alert(res.data.message);
|
// alert(res.data.message)
|
||||||
|
setdisplay_alert_mysy("1");
|
||||||
|
setalert_message(res.data.message);
|
||||||
|
setalert_type("error");
|
||||||
}
|
}
|
||||||
|
|
||||||
}).catch((error) => {
|
}).catch((error) => {
|
||||||
|
@ -304,7 +286,10 @@ const Partner_Config_Ftion_Initiale = (props) => {
|
||||||
else {
|
else {
|
||||||
setGetall_Parter_config_type_evaluation_api("false");
|
setGetall_Parter_config_type_evaluation_api("false");
|
||||||
setGetall_Parter_config_type_evaluation_message(res.data.message);
|
setGetall_Parter_config_type_evaluation_message(res.data.message);
|
||||||
alert(res.data.message);
|
// alert(res.data.message)
|
||||||
|
setdisplay_alert_mysy("1");
|
||||||
|
setalert_message(res.data.message);
|
||||||
|
setalert_type("error");
|
||||||
}
|
}
|
||||||
|
|
||||||
}).catch((error) => {
|
}).catch((error) => {
|
||||||
|
@ -553,7 +538,11 @@ const Partner_Config_Ftion_Initiale = (props) => {
|
||||||
setgridline_type_eval_id("");
|
setgridline_type_eval_id("");
|
||||||
|
|
||||||
|
|
||||||
alert(res.data.message);
|
// alert(res.data.message)
|
||||||
|
setdisplay_alert_mysy("1");
|
||||||
|
setalert_message(res.data.message);
|
||||||
|
setalert_type("success");
|
||||||
|
|
||||||
if (document.getElementById('myRef_head')) {
|
if (document.getElementById('myRef_head')) {
|
||||||
var divh = document.getElementById('myRef_head').offsetTop;
|
var divh = document.getElementById('myRef_head').offsetTop;
|
||||||
window.scrollTo({
|
window.scrollTo({
|
||||||
|
@ -566,7 +555,10 @@ const Partner_Config_Ftion_Initiale = (props) => {
|
||||||
else {
|
else {
|
||||||
setAdd_Config_Type_Eval_api("false");
|
setAdd_Config_Type_Eval_api("false");
|
||||||
setAdd_Config_Type_Eval_message(res.data.message);
|
setAdd_Config_Type_Eval_message(res.data.message);
|
||||||
alert(res.data.message);
|
// alert(res.data.message)
|
||||||
|
setdisplay_alert_mysy("1");
|
||||||
|
setalert_message(res.data.message);
|
||||||
|
setalert_type("error");
|
||||||
}
|
}
|
||||||
|
|
||||||
}).catch((error) => {
|
}).catch((error) => {
|
||||||
|
@ -620,8 +612,10 @@ const Partner_Config_Ftion_Initiale = (props) => {
|
||||||
setadd_config_type_eval("");
|
setadd_config_type_eval("");
|
||||||
setgridline_type_eval_id("");
|
setgridline_type_eval_id("");
|
||||||
|
|
||||||
|
// alert(res.data.message)
|
||||||
alert(res.data.message);
|
setdisplay_alert_mysy("1");
|
||||||
|
setalert_message(res.data.message);
|
||||||
|
setalert_type("success");
|
||||||
if (document.getElementById('myRef_head')) {
|
if (document.getElementById('myRef_head')) {
|
||||||
var divh = document.getElementById('myRef_head').offsetTop;
|
var divh = document.getElementById('myRef_head').offsetTop;
|
||||||
window.scrollTo({
|
window.scrollTo({
|
||||||
|
@ -634,7 +628,10 @@ const Partner_Config_Ftion_Initiale = (props) => {
|
||||||
else {
|
else {
|
||||||
setUpdate_Config_Type_Eval_api("false");
|
setUpdate_Config_Type_Eval_api("false");
|
||||||
setUpdate_Config_Type_Eval_message(res.data.message);
|
setUpdate_Config_Type_Eval_message(res.data.message);
|
||||||
alert(res.data.message);
|
// alert(res.data.message)
|
||||||
|
setdisplay_alert_mysy("1");
|
||||||
|
setalert_message(res.data.message);
|
||||||
|
setalert_type("error");
|
||||||
}
|
}
|
||||||
|
|
||||||
}).catch((error) => {
|
}).catch((error) => {
|
||||||
|
@ -657,12 +654,38 @@ const Partner_Config_Ftion_Initiale = (props) => {
|
||||||
setdisplay_detail_type_eval("");
|
setdisplay_detail_type_eval("");
|
||||||
setadd_config_type_eval("1");
|
setadd_config_type_eval("1");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
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("");
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="partner_ftion_initiale_configuration">
|
<div className="partner_ftion_initiale_configuration">
|
||||||
{isLoading && <div className="loader-container">
|
{isLoading && <div className="loader-container">
|
||||||
<div className="mysy_spinner"> <img src={img_loading_spin} /> </div>
|
<div className="mysy_spinner"> <img src={img_loading_spin} /> </div>
|
||||||
</div>}
|
</div>}
|
||||||
|
{/*** Affichage des messages d'alerte*/}
|
||||||
|
{display_alert_mysy && String(display_alert_mysy) === "1" &&
|
||||||
|
<Module_Alert_Confirmation alert_message={alert_message}
|
||||||
|
alert_type={alert_type}
|
||||||
|
clear_alert_message={clear_alert_message}
|
||||||
|
clear_alert_type={clear_alert_type}
|
||||||
|
clear_display_alert_mysy={clear_display_alert_mysy}
|
||||||
|
/>
|
||||||
|
}
|
||||||
|
{/*** FIN Affichage des messages d'alerte*/}
|
||||||
|
|
||||||
<h3 style={{ fontFamily: 'DM Sans' }}> Formation Initale configuration </h3>
|
<h3 style={{ fontFamily: 'DM Sans' }}> Formation Initale configuration </h3>
|
||||||
<div className="div_row" ref={myRef_head} id="myRef_head" >
|
<div className="div_row" ref={myRef_head} id="myRef_head" >
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -2809,7 +2809,7 @@
|
||||||
|
|
||||||
.MuiPaper-root{
|
.MuiPaper-root{
|
||||||
border-radius: 10px !important;
|
border-radius: 10px !important;
|
||||||
background: #F8F9F9 !important;
|
// background: #F8F9F9 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -2804,7 +2804,7 @@
|
||||||
|
|
||||||
.MuiPaper-root{
|
.MuiPaper-root{
|
||||||
border-radius: 10px !important;
|
border-radius: 10px !important;
|
||||||
background: #F8F9F9 !important;
|
// background: #F8F9F9 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -2820,7 +2820,7 @@
|
||||||
|
|
||||||
.MuiPaper-root{
|
.MuiPaper-root{
|
||||||
border-radius: 10px !important;
|
border-radius: 10px !important;
|
||||||
background: #FFFFFF !important;
|
// background: #FFFFFF !important;
|
||||||
max-width: none !important;
|
max-width: none !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2804,7 +2804,7 @@
|
||||||
|
|
||||||
.MuiPaper-root{
|
.MuiPaper-root{
|
||||||
border-radius: 10px !important;
|
border-radius: 10px !important;
|
||||||
background: #F8F9F9 !important;
|
// background: #F8F9F9 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -196,6 +196,7 @@
|
||||||
@import "./components/module_connexion_intranet_client";
|
@import "./components/module_connexion_intranet_client";
|
||||||
@import "./components/module_alert_confirmation";
|
@import "./components/module_alert_confirmation";
|
||||||
@import "./components/equipe_team";
|
@import "./components/equipe_team";
|
||||||
|
@import "./components/module_session_note_classement";
|
||||||
|
|
||||||
|
|
||||||
// New Design 2025
|
// New Design 2025
|
||||||
|
|
Loading…
Reference in New Issue