02/05/2025 - 20h

recette2
cherif 2025-05-02 20:47:09 +02:00
parent 5b6321ee35
commit cc205abb96
28 changed files with 997 additions and 564 deletions

View File

@ -1972,9 +1972,9 @@ const AddClassManual = (props) => {
formData.append('description', description);
formData.append('formateur_id', p_formateur_id);
// formData.append('presentiel', presentiel);
// formData.append('presentiel', presentiel);
formData.append('domaine', domaine);
// formData.append('distantiel', distentiel);
// formData.append('distantiel', distentiel);
formData.append('class_level', niveau_ftion);
formData.append('price', price);
formData.append('duration', duree);
@ -4890,6 +4890,11 @@ const AddClassManual = (props) => {
</Button>
</div>
</div>
<br />
<div className="div_row" style={{ "border": "None" }}>
<h3> Regle de calcul note finale </h3>
</div>
</div>
</div>}

View File

@ -7890,7 +7890,7 @@ const Employes = (props) => {
</DialogActions>
</Dialog>
</Dialog>
<h3 style={{ fontFamily: 'DM Sans' }}> Mes employés </h3>
<div className="div_row">

View File

@ -79,6 +79,7 @@ import {
} from '@mui/x-data-grid';
import * as XLSX from 'xlsx';
import { ReactReduxContext } from "react-redux";
import { RestaurantMenu } from "@mui/icons-material";
function PaperComponent(props) {
return (
@ -213,8 +214,6 @@ const Equipe_Team = (props) => {
{ field: 'chef_equipe_nom_prenom', headerName: 'Responsable', flex: 1, hide: false, minWidth: 180, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'nb_membre', headerName: 'Nb membres', flex: 1, hide: false, minWidth: 180, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{
field: "delete", headerName: 'Supprimer', disableExport: true,
renderCell: (cellValues) => {
@ -249,13 +248,14 @@ const Equipe_Team = (props) => {
<div className="gest_content">
{' '}
En confirmant cette opération, le groupe sera <i><font color="red"> définitivement supprimé</font></i>. <br />
En confirmant cette opération, l'équipe sera <i><font color="red"> définitivement supprimé</font></i>. <br />
</div>
<div className="gest_actions">
<div style={{ "width": "45%", "float": "left" }}>
<button className="gest_bton_popup" onClick={(event) => {
// handleClick_delete_groupe(event, cellValues);
Delete_Given_Equipe(cellValues.row._id);
//console.log('modal closed ');
close();
}}> Valider </button>
@ -287,11 +287,32 @@ const Equipe_Team = (props) => {
const columns_equipe_membre = [
{ field: '_id', headerName: '_id', hide: true, Width: 0, disableExport: true, },
{ field: 'id', headerName: 'id', hide: true, Width: 0, disableExport: true, },
{
field: 'leader', headerName: 'Leader', hide: false, Width: 100,
renderCell: (cellValues) => {
return (
<div style={{ paddingLeft: "5px", paddingRight: "15px", "display": "block", wordBreak: "break-all" }}>
{cellValues.row.leader && String(cellValues.row.leader) === "1" && "Oui"}
{cellValues.row.leader && String(cellValues.row.leader) !== "1" && ""}
</div>
{ field: 'civilite', headerName: 'civilite', flex: 1, hide: false, minWidth: 100, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'nom', headerName: 'nom', flex: 1, hide: false, minWidth: 180, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'prenom', headerName: 'prenom', flex: 1, hide: false, minWidth: 180, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'email', headerName: 'email', flex: 1, hide: false, minWidth: 180, renderCell: (params) => <ExpandableCell_50 {...params} />, },
);
}
},
{
field: 'civilite', headerName: 'Civilite', hide: false, Width: 100,
valueFormatter: (params) => {
if (params.value)
return String(params.value)[0].toUpperCase() + String(params.value).slice(1);
else
return ""
},
},
{ field: 'nom', headerName: 'Nom', flex: 1, hide: false, minWidth: 180, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'prenom', headerName: 'Prenom', flex: 1, hide: false, minWidth: 180, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'email', headerName: 'Email', flex: 1, hide: false, minWidth: 180, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'role', headerName: 'Rôle', flex: 1, hide: false, minWidth: 180, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{
field: "delete", headerName: 'Supprimer', disableExport: true,
@ -322,7 +343,9 @@ const Equipe_Team = (props) => {
<div className="gest_content">
{' '}
En confirmant cette opération, la personne sera <i><font color="red"> supprimée du groupe </font></i>. <br />
En confirmant cette opération, la personne sera <i><font color="red"> supprimée de l'équipe </font></i>. <br />
</div>
<div className="gest_actions">
@ -330,7 +353,7 @@ const Equipe_Team = (props) => {
<button className="gest_bton_popup" onClick={(event) => {
var tab = []
tab.push(String(cellValues.row._id));
// Delete_List_Membre_From_Groupe(tab);
Delete_List_Membre_From_Equipe(tab);
close();
}}> Valider </button>
@ -447,32 +470,98 @@ const Equipe_Team = (props) => {
})
}
const [Delete_Given_Equipe_api, setDelete_Given_Equipe_api] = useState();
const [Delete_Given_Equipe_message, setDelete_Given_Equipe_message] = useState();
const [Delete_Given_Equipe_result, setDelete_Given_Equipe_result] = useState();
function Delete_Given_Equipe(local_grp_id) {
var form = new FormData();
const stored_cookie = getCookie('tokenmysypart');
form.append("token", stored_cookie);
form.append("_id", local_grp_id);
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Delete_Equipe_Team/";
axios.post(myurl, form).then(res => {
//console.log(" In Delete_Given_Equipe res.data.status = " + res.data.status);
//console.log(" In Delete_Given_Equipe res.data.message r_class = " + res.data.message);
if (String(res.data.status) === String("true")) {
setDelete_Given_Equipe_api("true");
setDelete_Given_Equipe_result(res.data.message);
Getall_Partner_Equipe_Team();
setdisplay_equipe("");
setequipe_data_changed("");
setequipe_data_edit_mode("");
setadd_one_equipe("");
setselected_id("");
setgridline_id("");
setsubmenu("");
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("success");
}
else {
setDelete_Given_Equipe_api("false");
setDelete_Given_Equipe_message(res.data.message);
// alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
}
}).catch((error) => {
console.warn('Delete_Given_Equipe : Not good man :( mysearchtext = ' + error);
setDelete_Given_Equipe_api("false");
alert(" Impossible de supprimer le groupe ");
})
}
function GetSelectedRows_Equipe_Membres_Ids() {
var tab_tmp = []
for (var i = 0; i < selectionModel_columns_equipe_membre.length; i++) {
//console.log(" ### selectionModel_insc[i] = ", selectionModel_insc[i]);
var myid = parseInt(String(selectionModel_columns_equipe_membre[i]));
//var line = JSON.parse(rowss[myid]);
tab_tmp.push(myid);
}
return tab_tmp;
}
async function actionmass_equipe_membre_Traitemet() {
/* var liste_apprenant_id = GetSelectedRows_Groupe_Membres_Ids();
//console.log(" liste_preinscr_id = ", liste_preinscr_id);
var tab_mongo_preins_ids = [];
for (var i = 0; i < liste_apprenant_id.length; i++) {
var line = Getall_Groupe_Membres_result[liste_apprenant_id[i]]
var line_json = JSON.parse(line)
//console.log(" line_json['prenom'] = ", line_json['prenom']);
//console.log(" line_json['_id'] = ", line_json['_id']);
tab_mongo_preins_ids.push(line_json['_id'])
}
if (String(actionmass_grp_membre_val) === String("delete_grp_membre")) {
Delete_List_Membre_From_Groupe(tab_mongo_preins_ids);
}*/
var liste_membre_id = GetSelectedRows_Equipe_Membres_Ids();
var tab_mongo_members_ids = [];
for (var i = 0; i < liste_membre_id.length; i++) {
var line = New_Getall_Equipe_Members[liste_membre_id[i]]
var line_json = line;
//console.log(" line_json['prenom'] = ", line_json['prenom']);
//console.log(" line_json['_id'] = ", line_json['_id']);
tab_mongo_members_ids.push(line_json['_id'])
}
if (String(actionmass_equipe_membre_val) === String("delete_equipe_membre")) {
Delete_List_Membre_From_Equipe(tab_mongo_members_ids);
}
}
@ -511,6 +600,7 @@ const Equipe_Team = (props) => {
var local_email_equipe = JSON.parse(x).email_equipe;
var local_chef_equipe_id = JSON.parse(x).chef_equipe_id;
var local_chef_equipe_nom_prenom = JSON.parse(x).chef_equipe_nom_prenom;
var local_nb_membre = JSON.parse(x).nb_membre;
//---
@ -523,6 +613,7 @@ const Equipe_Team = (props) => {
"email_equipe": local_email_equipe,
"chef_equipe_id": local_chef_equipe_id,
"chef_equipe_nom_prenom": local_chef_equipe_nom_prenom,
"nb_membre": local_nb_membre,
};
new_data2.push(node);
});
@ -538,6 +629,7 @@ const Equipe_Team = (props) => {
"email_equipe": "",
"chef_equipe_id": "",
"chef_equipe_nom_prenom": "",
"nb_membre": "",
};
new_data2.push(node);
@ -581,7 +673,7 @@ const Equipe_Team = (props) => {
}
const New_Option_equipe_membre = [
{ "id": "delete_grp_membre", "label": "Supprimer les membres", "value": "delete_grp_membre" },
{ "id": "delete_equipe_membre", "label": "Supprimer les membres", "value": "delete_equipe_membre" },
{ "id": "", "label": "", "value": "" },
]
@ -657,8 +749,9 @@ const Equipe_Team = (props) => {
}
const [New_List_Equipe_Members_Id, setNew_List_Equipe_Members_Id] = useState([]);
const [New_Employee_Not_Member, setNew_Employee_Not_Member] = useState([]);
const [New_List_Equipe_Members_Id, setNew_List_Equipe_Members_Id] = useState([]);
const [New_Getall_Equipe_Members, setNew_Getall_Equipe_Members] = useState([]);
const [Get_Given_Equipe_Data_api, setGet_Given_Equipe_Data_api] = useState();
@ -683,7 +776,7 @@ const Equipe_Team = (props) => {
if (String(res.data.status) === "true") {
setLoading(false);
// console.log(" In Get_Given_Equipe_Data res.data.status = " + res.data.status);
//console.log(" In Get_Given_Equipe_Data res.data.status = " + res.data.status);
//console.log(" In Get_Given_Equipe_Data res.data.message r_class = " + res.data.message);
setGet_Given_Equipe_Data_api("true");
setGet_Given_Equipe_Data_result(res.data.message);
@ -719,10 +812,32 @@ const Equipe_Team = (props) => {
const new_data = res.data.message.map((x) => {
//---
var tab_employe_not_member = [];
var local_equipe_membres = JSON.parse(x).list_membre;
setNew_Getall_Equipe_Members(local_equipe_membres);
// for (int i )
var local_all_Training_Employee = New_Getall_Training_Employee_No_Filter_result;
for (var i = 0; i < local_all_Training_Employee.length; i++) {
var is_member = "0";
for (var x = 0; x < local_equipe_membres.length; x++) {
if (local_all_Training_Employee[i]._id === local_equipe_membres[x].rh_id) {
is_member = "1"
}
}
if (is_member === "0") {
// console.log(" NOT MEMBER = ", local_all_Training_Employee[i]);
tab_employe_not_member.push(local_all_Training_Employee[i]);
}
}
setNew_Employee_Not_Member(tab_employe_not_member);
});
@ -765,6 +880,28 @@ const Equipe_Team = (props) => {
}
function clean_all_filters() {
setgridline_id('');
setp_filtre1("");
setp_filtre1_value("");
setp_filtre2("");
setp_filtre2_value("");
setp_filtre3("");
setp_filtre3_value("");
setp_filtre4("");
setp_filtre4_value("");
Annule_Add_One_Equipe_DetailFields();
Getall_Partner_Equipe_Team();
}
const [Add_Update_Equipe_Data_api, setAdd_Update_Equipe_Data_api] = useState();
const [Add_Update_Equipe_Data_message, setAdd_Update_Equipe_Data_message] = useState();
const [Add_Update_Equipe_Data_result, setAdd_Update_Equipe_Data_result] = useState([]);
@ -892,6 +1029,7 @@ const Equipe_Team = (props) => {
form.append("token", stored_cookie);
form.append("_id", selected_id);
form.append("tab_ressource_humaine_ids", tab_rh_ids);
form.append("role", p_detail_member_role);
Dialog_Equipe_Membre_handleClose_buton();
@ -1226,8 +1364,132 @@ const Equipe_Team = (props) => {
}
const [p_detail_member_role, setp_detail_member_role] = React.useState("");
const [gridline_equipe_member_id, setgridline_equipe_member_id] = useState("");
const [Getall_Partner_Equipe_With_Filter_api, setGetall_Partner_Equipe_With_Filter_api] = useState();
const [Getall_Partner_Equipe_With_Filter_message, setGetall_Partner_Equipe_With_Filter_message] = useState();
const [Getall_Partner_Equipe_With_Filter_result, setGetall_Partner_Equipe_With_Filter_result] = useState();
function Getall_Partner_Equipe_With_Filter(event) {
var form = new FormData();
// Recuperation des parametres
var filtre1 = p_filtre1;
var filtre2 = p_filtre2;
var filtre3 = p_filtre3;
var filtre4 = p_filtre4;
var filtre1_value = "";
var filtre2_value = "";
var filtre3_value = "";
var filtre4_value = "";
// Recuperation des valeurs de filtres
if (p_filtre1_value) {
filtre1_value = p_filtre1_value;
form.append(filtre1, filtre1_value);
}
if (p_filtre2_value) {
filtre2_value = p_filtre2_value;
form.append(filtre2, filtre2_value);
}
if (p_filtre3_value) {
filtre3_value = p_filtre3_value;
form.append(filtre3, p_filtre3_value);
}
if (p_filtre4_value) {
filtre4_value = p_filtre4_value;
form.append(filtre4, p_filtre4_value);
}
const stored_cookie = getCookie('tokenmysypart');
form.append("token", stored_cookie);
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_List_Equipe_Team_With_Filter/";
Annule_Add_One_Equipe_DetailFields();
axios.post(myurl, form).then(res => {
if (String(res.data.status) === String("true")) {
//console.log(" In Getall_Partner_Equipe_With_Filter res.data.status = " + res.data.status);
//console.log(" In Getall_Partner_Equipe_With_Filter res.data.message r_class = " + res.data.message);
setGetall_Partner_Equipe_With_Filter_api("true");
setGetall_Partner_Equipe_With_Filter_result(res.data.message);
setGetall_Partner_Equipe_Team_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_description = JSON.parse(x).description;
var local_email_equipe = JSON.parse(x).email_equipe;
var local_chef_equipe_id = JSON.parse(x).chef_equipe_id;
var local_chef_equipe_nom_prenom = JSON.parse(x).chef_equipe_nom_prenom;
var local_nb_membre = JSON.parse(x).nb_membre;
//---
var node = {
"_id": local_id,
"id": localid,
"label": local_code,
"code": local_code,
"description": local_description,
"email_equipe": local_email_equipe,
"chef_equipe_id": local_chef_equipe_id,
"chef_equipe_nom_prenom": local_chef_equipe_nom_prenom,
"nb_membre": local_nb_membre,
};
new_data2.push(node);
});
//---
var node = {
"_id": "",
"_id": "",
"id": "",
"label": "",
"code": "",
"description": "",
"email_equipe": "",
"chef_equipe_id": "",
"chef_equipe_nom_prenom": "",
"nb_membre": "",
};
new_data2.push(node);
if (new_data2.length > 0)
setNew_Getall_Partner_Equipe_Team_result(new_data2);
}
else {
setGetall_Partner_Equipe_With_Filter_api("false");
setGetall_Partner_Equipe_With_Filter_message(res.data.message);
}
}).catch((error) => {
console.warn('Not good man :( Getall_Partner_Equipe_With_Filter = ', error);
setGetall_Partner_Equipe_With_Filter_api("false");
//setmyApimyApiMessage("")
})
}
// -- Gestion pièces jointes
const [Download_one_attached_document_api, setDownload_one_attached_document_api] = useState();
@ -1345,7 +1607,6 @@ const Equipe_Team = (props) => {
}
if (file_1_name && file_1_name.name) {
//console.log(" ### Traitement de : ", file_1_name.name);
const formData = new FormData();
formData.append('File', file_1_name);
@ -1400,9 +1661,7 @@ const Equipe_Team = (props) => {
}
if (file_2_name && file_2_name.name) {
console.log(" ### Traitement de : ", file_2_name.name);
}
}
@ -1537,6 +1796,7 @@ const Equipe_Team = (props) => {
setDialog_Equipe_Membre_open(false);
settab_selected_users([]);
setp_detail_member_role("");
};
@ -1545,6 +1805,61 @@ const Equipe_Team = (props) => {
const [tab_selected_users, settab_selected_users] = useState([...fixedVal]);
const [Delete_List_Membre_From_Equipe_api, setDelete_List_Membre_From_Equipe_api] = useState();
const [Delete_List_Membre_From_Equipe_message, setDelete_List_Membre_From_Equipe_message] = useState();
const [Delete_List_Membre_From_Equipe_result, setDelete_List_Membre_From_Equipe_result] = useState();
function Delete_List_Membre_From_Equipe(local_tab_ids) {
var form = new FormData();
const stored_cookie = getCookie('tokenmysypart');
form.append("token", stored_cookie);
form.append("equipe_id", selected_id);
form.append("tab_ids", local_tab_ids);
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Delete_Groupe_Equipe_Team_Membre/";
setLoading(true);
axios.post(myurl, form).then(res => {
//console.log(" In Delete_List_Membre_From_Equipe res.data.status = " + res.data.status);
//console.log(" In Delete_List_Membre_From_Equipe res.data.message r_class = " + res.data.message);
setLoading(false);
if (String(res.data.status) === String("true")) {
setDelete_List_Membre_From_Equipe_api("true");
setDelete_List_Membre_From_Equipe_result(res.data.message);
var line = New_Getall_Partner_Equipe_Team_result[gridline_id];
Get_Given_Equipe_Data(line._id);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("success");
submenu_membres()
}
else {
setDelete_List_Membre_From_Equipe_api("false");
setDelete_List_Membre_From_Equipe_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('Delete_List_Membre_From_Equipe : Not good man :( mysearchtext = ' + error);
setDelete_List_Membre_From_Equipe_api("false");
alert(" Impossible de supprimer les membres");
})
}
return (
<div className="equipe_team">
{isLoading && <div className="loader-container">
@ -1601,10 +1916,8 @@ const Equipe_Team = (props) => {
<div className="session_caract_Dialog" > <b>Formation </b> <br />
{New_Getall_Training_Employee_No_Filter_result && New_Getall_Training_Employee_No_Filter_result.length > 0 &&
<div className="session_caract_Dialog" > <b>Nouveau membre </b> <br />
{New_Employee_Not_Member && New_Employee_Not_Member.length > 0 &&
<Autocomplete
disablePortal
@ -1613,7 +1926,7 @@ const Equipe_Team = (props) => {
className="disabled_style remove_border_bottom"
//options={New_Getall_Training_Employee_No_Filter_result}
options={New_Getall_Training_Employee_No_Filter_result}
options={New_Employee_Not_Member}
//value={selected_employee_id}
value={tab_selected_users}
multiple
@ -1635,6 +1948,25 @@ const Equipe_Team = (props) => {
}
</div>
<div className="div_row_dialog">
<div className="session_caract_Dialog" > Rôle <br />
<TextField
// autoFocus
margin="dense"
id="secrete_key"
className="disabled_style remove_border_bottom"
value={p_detail_member_role}
onChange={(e) => {
setp_detail_member_role(e.target.value);
}
}
/>
</div>
</div>
</DialogContent>
@ -1929,12 +2261,12 @@ const Equipe_Team = (props) => {
<div className="div_row" ref={myRef_head} id="myRef_head" style={{ "border": "None", "color": "orange", "textAlign": "center" }}>
<div className="div_row_gauche" style={{ "textAlign": 'left', 'marginLeft': '15px' }}>
<Button variant="contained" className="bton_enreg" onClick={"Getall_Partner_Groupe_Inscrit_With_Filter"}>Rechercher
<Button variant="contained" className="bton_enreg" onClick={Getall_Partner_Equipe_With_Filter}>Rechercher
</Button>
</div>
<div className="div_row_droite" style={{ "textAlign": 'right', 'marginRight': '15px' }}>
<Button variant="contained" className="bton_annule" onClick={"clean_all_filters"}>Annuler
<Button variant="contained" className="bton_annule" onClick={clean_all_filters}>Annuler
</Button>
</div>
@ -2053,6 +2385,9 @@ const Equipe_Team = (props) => {
setselected_id(newSelectionModel.row._id);
setgridline_id(newSelectionModel.row.id);
setselectionModel_columns_equipe_membre([]);
setactionmass_equipe_membre_val("");
handleClick_edit_equipe_From_Line(newSelectionModel.row.id);
@ -2624,21 +2959,8 @@ const Equipe_Team = (props) => {
<div className="session_data">
<div style={{ "border": "None" }}>
<nav style={{ "border": "None", "fontSize": "20px", "paddingTop": "5px", "paddingLeft": "5px" }}> Membres du groupe </nav>
<nav style={{ "border": "None", "fontSize": "20px", "paddingTop": "5px", "paddingLeft": "5px" }}> Membres d'équipe </nav>
<div className="div_row" style={{ "textAlign": "right", "marginTop": "0.5rem" }}>
<Button className="bton_emarge" onClick={(event) => {
// Getall_Groupe_Membres(selected_id);
}}>Actualiser la liste</Button>
<Button className="bton_emarge" onClick={(event) => {
// Export_Groupe_Membres_exel();
}}>Exporter (excel)</Button><br />
</div>
<div style={{ height: 650, width: '100%', paddingRight: '5px' }}>
&nbsp;
@ -2715,6 +3037,9 @@ const Equipe_Team = (props) => {
prenom: (item).prenom,
email: (item).email,
comment: (item).comment,
civilite: (item).civilite,
leader: (item).leader,
role: (item).role,
}
))}
@ -2752,8 +3077,6 @@ const Equipe_Team = (props) => {
getRowClassName={(params) => {
// Pour la gestion de la couleur de zone double cliquée
//console.log(" ### params.row = ", params.row);
if (String(params.row.id) === String(gridline_equipe_member_id)) {
return 'line--statut--selected';
@ -2792,7 +3115,7 @@ const Equipe_Team = (props) => {
options={New_Option_equipe_membre}
onChange={(event, value) => {
if (value && value.value) {
if (String(value.value) === "delete_grp_membre") {
if (String(value.value) === "delete_equipe_membre") {
setactionmass_equipe_membre_val(value.value);
}
else {
@ -2833,7 +3156,7 @@ const Equipe_Team = (props) => {
<div className="gest_header"> MySy Information </div>
<div className="gest_content">
{' '}
{String(actionmass_equipe_membre_val) === "delete_grp_membre" &&
{String(actionmass_equipe_membre_val) === "delete_equipe_membre" &&
<font> Confirmer la <b> supprression des membres </b> en masse pour {selectionModel_columns_equipe_membre.length} ligne(s).
</font>}

View File

@ -1,6 +1,5 @@
import React, { useRef, useState, useEffect } from "react";
import TextField from '@mui/material/TextField';
import MenuItem from '@mui/material/MenuItem';
import 'react-confirm-alert/src/react-confirm-alert.css'; // Import css
import Button from '@mui/material/Button';
import axios from "axios";
@ -8,76 +7,24 @@ 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 { Editor } from '@tinymce/tinymce-react';
import parse from 'html-react-parser';
import { FcViewDetails, FcDisapprove, FcInfo } from "react-icons/fc";
import { FcViewDetails, } from "react-icons/fc";
import 'react-tooltip/dist/react-tooltip.css'
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 Popup from 'reactjs-popup';
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 "react-datepicker/dist/react-datepicker.css";
import { format } from 'date-fns'
import moment from "moment";
import 'moment/locale/fr';
import InputAdornment from '@mui/material/InputAdornment';
import { AiFillCloseCircle, AiOutlineConsoleSql } from "react-icons/ai";
import Box from '@mui/material/Box';
import { Typography, LinearProgress } from '@mui/material';
import styled from 'styled-components';
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 { RestoreFromTrashRounded } from "@mui/icons-material";
import img_loading_spin from "./../mysy_img/mysy_spin_loading.gif";
import { Fab } from "@material-ui/core";
import { IoMdAddCircle, IoIosRemoveCircleOutline } from "react-icons/io";
import { AiTwotoneEdit, AiTwotoneSave } from "react-icons/ai";
import { confirmAlert } from 'react-confirm-alert';
import ToggleSwitch from "./ToggleSwitch";
import Module_Historique_Action from "./Module_Historique_Action";
import { HiDocumentCheck } from "react-icons/hi2";
import { BsSend } from "react-icons/bs";
import Autocomplete from '@mui/material/Autocomplete';
import { FcOpenedFolder } from "react-icons/fc";
import { gridClasses } from '@mui/x-data-grid';
import Link from '@mui/material/Link';
import { PiDotsThree } from "react-icons/pi";
import Module_Editique from "./Module_Editique";
import Module_Attestation_Formation from "./Module_Attestation_Formation";
import { IoAddCircleOutline, IoCloseCircleOutline } from "react-icons/io5";
import { FcCancel, FcApproval, FcAcceptDatabase, FcPrint, FcPlanner } from "react-icons/fc";
import { CiBoxList } from "react-icons/ci";
import FullCalendar from "@fullcalendar/react";
import daygridPlugin from "@fullcalendar/daygrid";
import interactionPlugin from "@fullcalendar/interaction";
import timeGridPlugin from "@fullcalendar/timegrid";
import resourceTimeGridPlugin from '@fullcalendar/resource-timegrid';
import Radio from '@mui/material/Radio';
import RadioGroup from '@mui/material/RadioGroup';
import FormControlLabel from '@mui/material/FormControlLabel';
import FormControl from '@mui/material/FormControl';
import FormLabel from '@mui/material/FormLabel';
import allLocales from '@fullcalendar/core/locales-all'
import listPlugin from '@fullcalendar/list';
import multiMonthPlugin from '@fullcalendar/multimonth'
import CheckBoxOutlineBlankIcon from '@mui/icons-material/CheckBoxOutlineBlank';
import CheckBoxIcon from '@mui/icons-material/CheckBox';
import Checkbox from '@mui/material/Checkbox';
import Module_Alert_Confirmation from "./Module_Alert_Confirmation";
const Module_Selection_Evaluation_Apprenants = (props) => {
@ -333,7 +280,9 @@ const Module_Selection_Evaluation_Apprenants = (props) => {
else {
setGetall_Groupe_Membres_api("false");
setGetall_Groupe_Membres_message(res.data.message);
alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
}
}).catch((error) => {
@ -467,7 +416,7 @@ const Module_Selection_Evaluation_Apprenants = (props) => {
var liste_preinscr_id = GetSelectedRows_PreInsc_Ids();
var tab_mongo_preins_ids = [];
for (var i = 0; i < liste_preinscr_id.length; i++) {
@ -516,7 +465,10 @@ const Module_Selection_Evaluation_Apprenants = (props) => {
setselectionModel_participants([]);
setactionmass_preinsc_val("");
alert(res.data.message);
// alert(res.data.message)
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("success");
} else if (String(res.data.status) === String("Err_Connexion")) {
@ -528,7 +480,9 @@ const Module_Selection_Evaluation_Apprenants = (props) => {
setLoading(false);
setRecord_Inscrit_To_Evaluation_api("false");
setRecord_Inscrit_To_Evaluation_message(res.data.message);
alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
}
@ -619,7 +573,10 @@ const Module_Selection_Evaluation_Apprenants = (props) => {
else {
setGet_List_UE_From_Class_Id_api("false");
setGet_List_UE_From_Class_Id_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) => {
@ -715,7 +672,10 @@ const Module_Selection_Evaluation_Apprenants = (props) => {
else {
setGetall_Class_List_Evalution_api("false");
setGetall_Class_List_Evalution_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) => {
@ -916,7 +876,10 @@ const Module_Selection_Evaluation_Apprenants = (props) => {
else {
setGetall_Partner_Session_Reduice_Fields_api("false");
setGetall_Partner_Session_Reduice_Fields_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) => {
@ -992,7 +955,10 @@ const Module_Selection_Evaluation_Apprenants = (props) => {
else {
setGetall_Partner_Class_Reduice_Fields_api("false");
setGetall_Partner_Class_Reduice_Fields_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) => {
@ -1081,7 +1047,10 @@ const Module_Selection_Evaluation_Apprenants = (props) => {
else {
setGetall_Partner_Groupe_Inscrit_api("false");
setGetall_Partner_Groupe_Inscrit_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) => {
@ -1173,7 +1142,10 @@ const Module_Selection_Evaluation_Apprenants = (props) => {
else {
setGetall_Groupe_Apprenant_Type_api("false");
setGetall_Groupe_Apprenant_Type_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) => {
@ -1191,6 +1163,20 @@ const Module_Selection_Evaluation_Apprenants = (props) => {
const [ueChanged, setueChanged] = 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="moduleselectionevaluationapprenants">
@ -1198,6 +1184,18 @@ const Module_Selection_Evaluation_Apprenants = (props) => {
{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*/}
<nav style={{ "border": "None", "fontSize": "20px", "paddingTop": "10px", "paddingLeft": "5px" }}> Selection des Apprenants & Groupe d'apprenants </nav>

View File

@ -57,6 +57,8 @@ import Rating from '@mui/material/Rating';
import Module_Selection_Evaluation_Apprenants from "./Module_Selection_Evaluation_Apprenants";
import AttachFileIcon from '@mui/icons-material/AttachFile';
import Module_Alert_Confirmation from "./Module_Alert_Confirmation";
const Notes_Evaluation = (props) => {
const history = useHistory();
const [submenu, setsubmenu] = useState("");
@ -415,20 +417,31 @@ const Notes_Evaluation = (props) => {
setevaluation_data_changed("");
setevaluation_data_edit_mode("");
setgridline_id("");
alert(res.data.message);
// alert(res.data.message)
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("success");
}
else {
setDelete_Given_Evaluation_api("false");
setDelete_Given_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) => {
console.warn('Delete_Given_Evaluation : Not good man :( mysearchtext = ' + error);
setDelete_Given_Evaluation_api("false");
alert(" Impossible de supprimer l'évaluation ");
setdisplay_alert_mysy("1");
setalert_message(" Impossible de supprimer l'évaluation ");
setalert_type("error");
})
}
@ -546,12 +559,19 @@ const Notes_Evaluation = (props) => {
settab_convention_pieces_jointes_result([]);
Getall_Evaluation_Participant_List(selected_id);
alert(res.data.message)
// alert(res.data.message)
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("success");
}
else {
setDelete_List_Participant_From_Evaluation_api("false");
setDelete_List_Participant_From_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");
}
@ -559,7 +579,11 @@ const Notes_Evaluation = (props) => {
setLoading(false);
console.warn('Delete_List_Participant_From_Evaluation : Not good man :( mysearchtext = ' + error);
setDelete_List_Participant_From_Evaluation_api("false");
alert(" Impossible de supprimer les données");
// alert(res.data.message)
setdisplay_alert_mysy("1");
setalert_message(" Impossible de supprimer les données");
setalert_type("error");
})
}
@ -744,7 +768,11 @@ const Notes_Evaluation = (props) => {
Disable_Evaluation_DetailFields();
} else {
alert(" Aucune donnée recuperée");
// alert(" Aucune donnée recuperée");
// alert(res.data.message)
setdisplay_alert_mysy("1");
setalert_message(" Aucune donnée recuperée");
setalert_type("warning");
}
@ -757,13 +785,20 @@ const Notes_Evaluation = (props) => {
setLoading(false);
setGetAttendee_api("false");
setGetAttendee_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) => {
console.warn('Not good man :( Get_Given_Evaluation_Data = ', error);
setGetAttendee_api("false");
alert(" Impossible de recuperer les données de l'évaluation");
// alert(" Impossible de recuperer les données de l'évaluation");
// alert(res.data.message)
setdisplay_alert_mysy("1");
setalert_message(" Impossible de recuperer les données de l'évaluation");
setalert_type("error");
//setmyApimyApiMessage("")
})
}
@ -845,13 +880,19 @@ const Notes_Evaluation = (props) => {
else {
setGetall_Training_Employee_No_Filter_api("false");
setGetall_Training_Employee_No_Filter_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) => {
console.warn('Not good man :( Getall_Training_Employee_No_Filter = ', error);
setGetall_Training_Employee_No_Filter_api("false");
alert(" Impossible de recuperer la liste des employés");
// alert(" Impossible de recuperer la liste des employés");
setdisplay_alert_mysy("1");
setalert_message(" Impossible de recuperer la liste des employés");
setalert_type("error");
//setmyApimyApiMessage("")
})
}
@ -912,7 +953,10 @@ const Notes_Evaluation = (props) => {
else {
setGetall_Training_Materiel_No_Filter_api("false");
setGetall_Training_Materiel_No_Filter_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) => {
@ -920,7 +964,10 @@ const Notes_Evaluation = (props) => {
setLoading(false);
console.warn('Not good man :( Getall_Training_Materiel_No_Filter = ', error);
setGetall_Training_Materiel_No_Filter_api("false");
alert(" Impossible de recuperer la liste du materiel");
// alert(" Impossible de recuperer la liste du materiel");
setdisplay_alert_mysy("1");
setalert_message(" Impossible de recuperer la liste du materiel");
setalert_type("error");
//setmyApimyApiMessage("")
})
}
@ -1015,13 +1062,19 @@ const Notes_Evaluation = (props) => {
else {
setGetall_Evaluation_Participant_List_api("false");
setGetall_Evaluation_Participant_List_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) => {
console.warn('Not good man :( Getall_Evaluation_Participant_List = ', error);
setGetall_Evaluation_Participant_List_api("false");
alert(" Impossible de recuperer la liste des inscrits à l'évaluation");
// alert(" Impossible de recuperer la liste des inscrits à l'évaluation");
setdisplay_alert_mysy("1");
setalert_message(" Impossible de recuperer la liste des inscrits à l'évaluation");
setalert_type("error");
//setmyApimyApiMessage("")
})
}
@ -1106,13 +1159,19 @@ const Notes_Evaluation = (props) => {
else {
setGetall_Partner_Evaluation_api("false");
setGetall_Partner_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) => {
console.warn('Not good man :( Getall_Partner_Evaluation = ', error);
setGetall_Partner_Evaluation_api("false");
alert(" Impossible de recuperer la liste des évaluations");
// 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("")
})
}
@ -1188,13 +1247,19 @@ const Notes_Evaluation = (props) => {
else {
setGetall_Partner_Class_Reduice_Fields_api("false");
setGetall_Partner_Class_Reduice_Fields_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) => {
console.warn('Not good man :( Getall_Partner_Class_Reduice_Fields = ', error);
setGetall_Partner_Class_Reduice_Fields_api("false");
alert(" Impossible de recuperer la liste des formations");
// alert(" Impossible de recuperer la liste des formations");
setdisplay_alert_mysy("1");
setalert_message(" Impossible de recuperer la liste des formations");
setalert_type("error");
//setmyApimyApiMessage("")
})
}
@ -1275,13 +1340,19 @@ const Notes_Evaluation = (props) => {
else {
setGetall_Partner_Session_Reduice_Fields_api("false");
setGetall_Partner_Session_Reduice_Fields_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) => {
console.warn('Not good man :( Getall_Partner_Session_Reduice_Fields = ', error);
setGetall_Partner_Session_Reduice_Fields_api("false");
alert(" Impossible de recuperer la liste des sessions de formation (classe)");
// alert(" Impossible de recuperer la liste des sessions de formation (classe)");
setdisplay_alert_mysy("1");
setalert_message(" Impossible de recuperer la liste des sessions de formation (classe)");
setalert_type("error");
//setmyApimyApiMessage("")
})
}
@ -1358,7 +1429,10 @@ const Notes_Evaluation = (props) => {
else {
setGetall_Partner_List_UE_api("false");
setGetall_Partner_List_UE_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) => {
@ -1366,7 +1440,10 @@ const Notes_Evaluation = (props) => {
setLoading(false);
console.warn('Not good man :( Getall_Partner_List_UE = ', error);
setGetall_Partner_List_UE_api("false");
alert(" Impossible de recuperer la liste des UE de la formation");
// 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("")
})
}
@ -1449,7 +1526,10 @@ const Notes_Evaluation = (props) => {
else {
setGet_List_UE_From_Class_Id_api("false");
setGet_List_UE_From_Class_Id_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) => {
@ -1457,7 +1537,10 @@ const Notes_Evaluation = (props) => {
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");
// 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("")
})
}
@ -1528,7 +1611,10 @@ const Notes_Evaluation = (props) => {
else {
setGetall_Partner_Type_Evalution_List_api("false");
setGetall_Partner_Type_Evalution_List_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) => {
@ -1536,7 +1622,10 @@ const Notes_Evaluation = (props) => {
setLoading(false);
console.warn('Not good man :( Getall_Partner_Type_Evalution_List = ', error);
setGetall_Partner_Type_Evalution_List_api("false");
alert(" Impossible de recuperer la liste des types d'evaluation");
// alert(" Impossible de recuperer la liste des types d'evaluation");
setdisplay_alert_mysy("1");
setalert_message(" Impossible de recuperer la liste des types d'evaluation");
setalert_type("error");
//setmyApimyApiMessage("")
})
}
@ -1637,7 +1726,15 @@ const Notes_Evaluation = (props) => {
setGetall_Partner_Evaluation_result(res.data.message);
setselectionModel_evalutions_participant([]);
settab_convention_pieces_jointes_result([]);
setselected_id("");
setgridline_id("");
setdisplay_evaluation("");
setadd_one_evaluation("");
setevaluation_data_changed("");
setevaluation_data_edit_mode("");
setsubmenu("")
var new_data2 = [];
const new_data = res.data.message.map((x) => {
@ -1685,6 +1782,8 @@ const Notes_Evaluation = (props) => {
if (new_data2.length > 0)
setNew_Getall_Partner_Evaluation_result(new_data2);
}
else {
setGetall_Training_Employee_With_Filter_api("false");
@ -1780,6 +1879,14 @@ const Notes_Evaluation = (props) => {
setevaluation_data_changed("");
setevaluation_data_edit_mode("");
setdisplay_evaluation('1');
if (document.getElementById('myRef')) {
// myRef.current.scrollIntoView({ behavior: "smooth" });
var divh = document.getElementById('myRef').offsetTop;
window.scrollTo({
top: divh,
behavior: "smooth",
});
}
} else {
Disable_Evaluation_DetailFields();
@ -1788,27 +1895,32 @@ const Notes_Evaluation = (props) => {
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");
alert(res.data.message);
if (document.getElementById('myRef')) {
// myRef.current.scrollIntoView({ behavior: "smooth" });
var divh = document.getElementById('myRef').offsetTop;
window.scrollTo({
top: divh,
behavior: "smooth",
});
}
}
else {
setAdd_Update_Evaluation_Data_api("false");
setAdd_Update_Evaluation_Data_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) => {
@ -1816,7 +1928,10 @@ const Notes_Evaluation = (props) => {
console.log('UpdateStagiaireData : Not good man :( Add_Update_Evaluation_Data = ' + error);
setAdd_Update_Evaluation_Data_api("false");
alert(" Impossible d'ajouter ou mettre à jour l'évaluation");
// 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");
})
}
@ -1978,6 +2093,10 @@ const Notes_Evaluation = (props) => {
setsubmenu("apprenant");
inactive_active_menu_header("apprenant");
if (selected_id && String(selected_id).length > 5) {
Getall_Evaluation_Participant_List(selected_id);
}
}
async function submenu_piece_jointe() {
@ -2106,20 +2225,30 @@ const Notes_Evaluation = (props) => {
Getall_Evaluation_Participant_List(selected_id);
setselectionModel_evalutions_participant([]);
settab_convention_pieces_jointes_result([]);
alert(res.data.message);
// alert(res.data.message)
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("success");
}
else {
setRecord_Evaluation_Participants_Notes_api("false");
setRecord_Evaluation_Participants_Notes_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) => {
setLoading(false);
console.warn('Record_Evaluation_Participants_Notes : Not good man :( Record_Evaluation_Participants_Notes = ' + error);
setRecord_Evaluation_Participants_Notes_api("false");
alert(" Impossible de mettre à jour les données des participants ");
// alert(" Impossible de mettre à jour les données des participants ");
setdisplay_alert_mysy("1");
setalert_message(" Impossible de mettre à jour les données des participants ");
setalert_type("error");
})
}
@ -2242,8 +2371,11 @@ const Notes_Evaluation = (props) => {
console.log("file_size = ", file_size, " file_type = ", file_type);
if (file_size > 10000000) {
alert("Le fichier ne doit pas depasser un 1 Méga octets");
console.log("Le fichier ne doit pas depasser un 1 Méga octets");
// alert("Le fichier ne doit pas depasser un 1 Méga octets");
setdisplay_alert_mysy("1");
setalert_message("Le fichier ne doit pas depasser un 1 Méga octets");
setalert_type("error");
// console.log("Le fichier ne doit pas depasser un 1 Méga octets");
return;
}
@ -2278,8 +2410,11 @@ const Notes_Evaluation = (props) => {
console.log("file_size = ", file_size, " file_type = ", file_type);
if (file_size > 10000000) {
alert("Le fichier ne doit pas depasser un 1 Méga octets");
console.log("Le fichier ne doit pas depasser un 1 Méga octets");
// alert("Le fichier ne doit pas depasser un 1 Méga octets");
setdisplay_alert_mysy("1");
setalert_message("Le fichier ne doit pas depasser un 1 Méga octets");
setalert_type("error");
// console.log("Le fichier ne doit pas depasser un 1 Méga octets");
return;
}
@ -2303,12 +2438,15 @@ const Notes_Evaluation = (props) => {
function Record_All_PJ() {
if (!p_detail_one_file_to_download_type_name) {
alert(" Vous devez donner un nom à la pièce jointe");
// alert(" Vous devez donner un nom à la pièce jointe");
setdisplay_alert_mysy("1");
setalert_message(" Vous devez donner un nom à la pièce jointe");
setalert_type("error");
return;
}
if (file_1_name && file_1_name.name) {
console.log(" ### Traitement de : ", file_1_name.name);
// console.log(" ### Traitement de : ", file_1_name.name);
const formData = new FormData();
formData.append('File', file_1_name);
@ -2347,7 +2485,13 @@ const Notes_Evaluation = (props) => {
setfile_1_name();
setp_detail_one_file_to_download_type_name();
//GetCurrentClass_trainingsession();
alert(" La pièce jointe " + file_1_name.name + " a été bien enregistrée")
//alert(" La pièce jointe " + file_1_name.name + " a été bien enregistrée")
setdisplay_alert_mysy("1");
setalert_message(" La pièce jointe " + file_1_name.name + " a été bien enregistrée");
setalert_type("success");
}
else {
@ -2403,7 +2547,13 @@ const Notes_Evaluation = (props) => {
setDelete_one_attached_document_result(result['message']);
setDelete_one_attached_document_api("true");
Get_List_Of_All_PJ(props.client_id);
alert(result['message'])
// alert(result['message'])
// alert(res.data.message)
setdisplay_alert_mysy("1");
setalert_message(result['message']);
setalert_type("success");
}
else {
@ -2415,7 +2565,10 @@ const Notes_Evaluation = (props) => {
.catch((error) => {
console.error(' Record_All_PJ Error:', error);
setDelete_one_attached_document_api("false");
alert(" Impossible de supprimer le document")
// alert(" Impossible de supprimer le document")
setdisplay_alert_mysy("1");
setalert_message(" Impossible de supprimer le document");
setalert_type("error");
});
@ -2508,7 +2661,10 @@ const Notes_Evaluation = (props) => {
}).catch((error) => {
setLoading(false);
console.error('Error:', error);
alert(" Impossible d'exporter les notes ")
// alert(" Impossible d'exporter les notes ")
setdisplay_alert_mysy("1");
setalert_message(" Impossible d'exporter les notes ");
setalert_type("error");
});
@ -2577,14 +2733,20 @@ const Notes_Evaluation = (props) => {
else {
setGet_Ressource_Avabilities_api("false");
setGet_Ressource_Avabilities_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) => {
setLoading(false);
console.warn('Not good man :( Get_Ressource_Avabilities = ', error);
setGet_Ressource_Avabilities_api("false");
alert("Impossible de récuperer la liste des ressources de la sequence")
// alert("Impossible de récuperer la liste des ressources de la sequence")
setdisplay_alert_mysy("1");
setalert_message("Impossible de récuperer la liste des ressources de la sequence");
setalert_type("error");
//setmyApimyApiMessage("")
})
}
@ -2620,14 +2782,20 @@ const Notes_Evaluation = (props) => {
else {
setGetall_List_note_evaluation_Ressource_api("false");
setGetall_List_note_evaluation_Ressource_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) => {
setLoading(false);
console.warn('Not good man :( Getall_List_note_evaluation_Ressource = ', error);
setGetall_List_note_evaluation_Ressource_api("false");
alert("Impossible de récuperer la liste des ressources de la sequence")
// alert("Impossible de récuperer la liste des ressources de la sequence")
setdisplay_alert_mysy("1");
setalert_message("Impossible de récuperer la liste des ressources de la sequence");
setalert_type("error");
//setmyApimyApiMessage("")
})
}
@ -2716,7 +2884,10 @@ const Notes_Evaluation = (props) => {
form.append("related_target_collection_id", new_ressource_id);
if (String("new_ressource_type") === "ressource_humaine" && String(new_ressource_poste).trim() === "") {
alert(" Vous devez préciser le poste occupé pour cette ressrouce");
// alert(" Vous devez préciser le poste occupé pour cette ressrouce");
setdisplay_alert_mysy("1");
setalert_message(" Vous devez préciser le poste occupé pour cette ressrouce");
setalert_type("error");
return;
}
@ -2741,13 +2912,20 @@ const Notes_Evaluation = (props) => {
setDialog_seq_ressource_1_selected_ressource_id();
setDialog_seq_ressource_1_selected_ressource_poste();
alert(res.data.message);
// alert(res.data.message)
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("success");
Dialog_seq_ressource_1_handleClose_buton();
}
else {
setAdd_One_Sequence_Session_Ressource_api("false");
setAdd_One_Sequence_Session_Ressource_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) => {
@ -2756,7 +2934,10 @@ const Notes_Evaluation = (props) => {
setLoading(false);
console.warn('UpdateStagiaireData : Not good man :( Add_One_Sequence_Session_Ressource = ' + error);
setAdd_One_Sequence_Session_Ressource_api("false");
alert(" Impossible d'ajouter la ressource à la séquence");
// alert(" Impossible d'ajouter la ressource à la séquence");
setdisplay_alert_mysy("1");
setalert_message(" Impossible d'ajouter la ressource à la séquence");
setalert_type("error");
})
}
@ -2790,13 +2971,20 @@ const Notes_Evaluation = (props) => {
Getall_List_note_evaluation_Ressource(selected_id);
alert(res.data.message)
// alert(res.data.message)
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("success");
}
else {
setDelete_Sequence_Session_Ressource_Data_api("false");
setDelete_Sequence_Session_Ressource_Data_message(res.data.message);
alert(res.data.message);
// alert(res.data.message)
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
}
@ -2804,7 +2992,10 @@ 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 ressource");
// alert(" Impossible de supprimer la ressource");
setdisplay_alert_mysy("1");
setalert_message(" Impossible de supprimer la ressource");
setalert_type("error");
})
}
@ -2901,13 +3092,20 @@ const Notes_Evaluation = (props) => {
setAdd_One_Sequence_Session_mass();
//settab_selected_sequence_id([]);
alert(res.data.message);
// alert(res.data.message)
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("success");
Dialog_seq_ressource_1_handleClose_buton();
}
else {
setAdd_One_Sequence_Session_Ressource_Mass_api("false");
setAdd_One_Sequence_Session_Ressource_Mass_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) => {
@ -2916,7 +3114,10 @@ const Notes_Evaluation = (props) => {
setLoading(false);
console.warn('UpdateStagiaireData : Not good man :( Add_One_Sequence_Session_Ressource_Mass = ' + error);
setAdd_One_Sequence_Session_Ressource_Mass_api("false");
alert(" Impossible d'ajouter la ressource à la séquence");
//alert(" Impossible d'ajouter la ressource à la séquence");
setdisplay_alert_mysy("1");
setalert_message(" Impossible d'ajouter la ressource à la séquence");
setalert_type("error");
})
}
@ -2993,14 +3194,20 @@ const Notes_Evaluation = (props) => {
else {
setGet_Partner_List_EVALUATION_CONVOCATION_Model_Doc_api("false");
setGet_Partner_List_EVALUATION_CONVOCATION_Model_Doc_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) => {
setLoading(false);
console.warn('Not good man :( Get_Partner_List_EVALUATION_CONVOCATION_Model_Doc = ', error);
setGet_Partner_List_EVALUATION_CONVOCATION_Model_Doc_api("false");
alert("Impossible de récupérer les modèles de convocations");
// alert("Impossible de récupérer les modèles de convocations");
setdisplay_alert_mysy("1");
setalert_message("Impossible de récupérer les modèles de convocations");
setalert_type("error");
//setmyApimyApiMessage("")
})
}
@ -3051,7 +3258,10 @@ const Notes_Evaluation = (props) => {
setLoading(false);
//console.log(" In Download_Stagiaire_Conventions_PDF res.data = " + res.data);
if (String(res.data) === String("false")) {
alert("Impossible de télécharger le fichier (2) ");
// alert("Impossible de télécharger le fichier (2) ");
setdisplay_alert_mysy("1");
setalert_message("Impossible de télécharger le fichier (2) ");
setalert_type("error");
} else {
fileDownload(res.data, nom_fichier);
setselectionModel_evalutions_participant([]);
@ -3061,7 +3271,10 @@ const Notes_Evaluation = (props) => {
}).catch((error) => {
setLoading(false);
console.error('Error:', error);
alert(" Impossible de télécharger la convention ")
setdisplay_alert_mysy("1");
setalert_message(" Impossible de télécharger la convocation ");
setalert_type("error");
});
@ -3114,20 +3327,30 @@ const Notes_Evaluation = (props) => {
settab_convention_pieces_jointes_result([]);
Dialog_CONVOCATION_EVAL_handleClose_buton();
alert(res.data.message);
// alert(res.data.message)
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("success");
}
else {
setSend_Eval_Convocation_By_Email_api("false");
setSend_Eval_Convocation_By_Email_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) => {
setLoading(false);
console.warn('Not good man :( Send_Eval_Convocation_By_Email = ', error);
setSend_Eval_Convocation_By_Email_api("false");
alert("Impossible d'envoyer la convocation par email");
// alert("Impossible d'envoyer la convocation par email");
setdisplay_alert_mysy("1");
setalert_message("Impossible d'envoyer la convocation par email");
setalert_type("error");
//setmyApimyApiMessage("")
})
}
@ -3162,15 +3385,21 @@ const Notes_Evaluation = (props) => {
if (file_type !== "application/pdf") {
alert("Le fichier n'est pas de type PDF");
// alert("Le fichier n'est pas de type PDF");
setdisplay_alert_mysy("1");
setalert_message("Le fichier n'est pas de type PDF");
setalert_type("error");
return;
}
if (file_size > 10000000) {
alert("Le fichier ne doit pas depasser un 1 Méga octets");
console.log("Le fichier ne doit pas depasser un 1 Méga octets");
// alert("Le fichier ne doit pas depasser un 1 Méga octets");
setalert_message("Le fichier ne doit pas depasser un 1 Méga octets");
setdisplay_alert_mysy("1");
setalert_type("error");
//console.log("Le fichier ne doit pas depasser un 1 Méga octets");
return;
}
@ -3203,6 +3432,20 @@ const Notes_Evaluation = (props) => {
const [tab_convention_pieces_jointes_result, settab_convention_pieces_jointes_result] = 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 (
@ -3211,7 +3454,16 @@ const Notes_Evaluation = (props) => {
<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*/}
{/* Dialog pour gerer les CONVOCATION_EVAL */}
<Dialog
@ -3561,7 +3813,7 @@ const Notes_Evaluation = (props) => {
</Dialog>
{/*** Fin ajout ressource */}
<h3 style={{ fontFamily:'DM Sans' }}> Les Evaluations </h3>
<h3 style={{ fontFamily: 'DM Sans' }}> Les Evaluations </h3>
<div className="div_row">
<div className="titre1"> Utilisez les filtres !</div>
<div className="div_row" style={{ "marginBottom": "5px" }}>
@ -4026,6 +4278,14 @@ const Notes_Evaluation = (props) => {
<Button variant="outlined" onClick={submenu_piece_jointe} className="detail_class_submenu" id='piece_jointe' name='piece_jointe'>Pièces Jointes </Button>
</div>}
{selected_id && String(selected_id).length > 5 && p_detail_type_eval_id && New_Getall_Partner_Type_Evalution_List_result.length > 0 &&
<div className="div_row">
<nav style={{ textAlign: 'center', padding: '10px', fontFamily: 'DM Sans' }}> Evaluation <b>{New_Getall_Partner_Type_Evalution_List_result.filter((data) => (data)._id === String(p_detail_type_eval_id))[0].label} &nbsp; {p_detail_code} </b> du &nbsp;
<b>{p_detail_eval_date_heure_debut}</b> au <b> {p_detail_eval_date_heure_fin}</b>
</nav>
</div>}
{String(submenu) === "detail_evaluation" && <div>
{String(display_evaluation) === "1" && String(add_one_evaluation) !== "1" && <div className="div_row session_data" >
@ -4301,8 +4561,6 @@ const Notes_Evaluation = (props) => {
</div>
</div>
</div>}
@ -5534,7 +5792,7 @@ const Notes_Evaluation = (props) => {
{String(submenu) === "ressources" && <div>
<h3 style={{ fontFamily:'DM Sans' }}> Ressources Humaines & Materielles</h3>
<h3 style={{ fontFamily: 'DM Sans' }}> Ressources Humaines & Materielles</h3>
<div className="session_data">
<div style={{ "border": "None" }}>

View File

@ -2478,7 +2478,7 @@ const Partner = (props) => {
}
{String(menu) === "mes_employes" &&
<div className="div_droite">mes_clients
<div className="div_droite">
<Employes conntected_employee_id={conntected_employee_id} read_access={check_user_acces_right("employe", "read")} write_access={check_user_acces_right("employe", "write")}
check_user_acces_right={check_user_acces_right} />
</div>

View File

@ -317,6 +317,13 @@ const Partner_Config_Ftion_Initiale = (props) => {
}
function submenu_calcul_note_finale() {
Getall_Parter_config_type_evaluation();
setsubmenu("calcul_note_finale");
submenu_color_management("calcul_note_finale");
}
function submenu_type_eval() {
Getall_Parter_config_type_evaluation();
@ -327,7 +334,7 @@ const Partner_Config_Ftion_Initiale = (props) => {
}
function submenu_color_management(current_menu) {
const list_sous_menu = ["type_eval",]
const list_sous_menu = ["type_eval", "calcul_note_finale"]
for (let i = 0; i < list_sous_menu.length; i++) {
@ -657,9 +664,10 @@ const Partner_Config_Ftion_Initiale = (props) => {
</div>}
<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" >
<Button variant="outlined" onClick={submenu_type_eval} className="detail_class_submenu" id='technique' name='technique'>Type Evaluation</Button>
<Button variant="outlined" onClick={submenu_calcul_note_finale} className="detail_class_submenu" id='calcul_note_finale' name='calcul_note_finale'>Calcul Note finale</Button>
{/*
<Button variant="outlined" onClick={submenu_type_client} className="detail_class_submenu" id='type_client' name='type_client'>Type de clients </Button>
<Button variant="outlined" onClick={submenu_site} className="detail_class_submenu" id='site' name='site'>Sites de formation </Button>
@ -1104,6 +1112,36 @@ const Partner_Config_Ftion_Initiale = (props) => {
</div>}
{/*** Implementation des differents modes de calcul de moyenne finale d'une apprenant pour une matière */}
{String(submenu) === "calcul_note_finale" && <div className="div_row" style={{ paddingRight: '10px' }}>
<div className="div_row" style={{ fontFamily: 'DM Sans' }}>
Configuration des modes de calcul de la note finale d'une matière pour un apprenant <br />
</div>
<div className="div_row" style={{ fontFamily: 'DM Sans' }}>
Règle 1 : <br />
Description : <br />
( (Moyenne Art. (TD) + Moyenne Art(TP) * 2)/3 + Exemen Final ) / 2
</div>
<div className="div_row" style={{ fontFamily: 'DM Sans' }}>
Règle 2 : <br />
Description : <br />
( Note Stage + Exemen Final ) / 2
</div>
<div className="div_row" style={{ fontFamily: 'DM Sans' }}>
Règle 3 : <br />
Description : <br />
(Moyenne Art.(TD) + Moyenne Art.(Controle Continue) + Exemen Final*1.5 ) / 3
</div>
</div>}
</div>

View File

@ -1182,17 +1182,17 @@ Cette fonction recuperer les stats des TOP 5 formations sur la periode saisie pa
<div className="carte_visite">
<div className="main_div">
<div className="ch_div_gauche" style={{ "borderRight": "5px solid gray", "borderRadius": "0px", "width": '25%' }}>
<div className="ch_div_gauche" style={{ "borderRight": "5px solid gray", "borderRadius": "0px", "width": '25%', 'borderColor':'#0a2a4d' }}>
<br />
<img classname="img" src="https://img.mysy-training.com/MYSY-LOGO-BLUE.png" alt="Mysy Training Logo"
style={{ "maxWidth": "50%", "marginTop": "2rem" }} />
style={{ "maxWidth": "50%", "marginTop": "0.5rem" }} />
<br />
<div className="div_nom" style={{ "fontSize": '25px' }}>
<div className="div_nom" style={{ "fontSize": '22px', fontFamily:'DM Sans' }}>
Cherif BALDE<br />
</div>
<div className="div_function" style={{ "fontSize": '25px' }}>
Directeur
<div className="div_function" style={{ "fontSize": '20px', fontFamily:'DM Sans' }}>
Directeur Général <br/> MySy Training / HELYOS
</div>
</div>
<div className="ch_div_centre">
@ -1201,7 +1201,7 @@ Cette fonction recuperer les stats des TOP 5 formations sur la periode saisie pa
</div>
<div className="ch_div_droite div_coordonnees" style={{ "paddingRight": "3rem", "lineHeight": '3rem', "fontSize": '20px' }}>
<div className="ch_div_droite div_coordonnees" style={{ "paddingRight": "3rem", "lineHeight": '2.5rem', "fontSize": '18px', fontFamily:'DM Sans' }}>
<div> <ImMobile2 /> &nbsp;+337 69 20 39 45</div>
<div> <ImOffice /> &nbsp;+331 77 00 38 57</div>
<div> <BsMailbox /> &nbsp;cbalde@mysy-training.com</div>
@ -1212,6 +1212,8 @@ Cette fonction recuperer les stats des TOP 5 formations sur la periode saisie pa
</div>
</div>
<br/>
<br/>
<div className="div_row">
@ -1371,306 +1373,9 @@ Cette fonction recuperer les stats des TOP 5 formations sur la periode saisie pa
</div>
{/*
<div>
Description: <br />
<Editor
onInit={(evt, editor) => editorRef.current = editor}
initialValue="<p>Votre description.</p>"
value={grr}
onKeyUp={toto}
onEditorChange={(newValue, editor) => {
//console.log(" newValue = "+newValue);
// alert(" newValue = "+newValue);
//setText(editor.getContent({format: 'text'}));
}}
init={{
resize: false,
height: 300,
width: 800,
menubar: false,
plugins: [
'advlist autolink lists link image charmap print preview anchor',
'searchreplace visualblocks code fullscreen',
'insertdatetime media table paste code help wordcount'
],
toolbar: 'undo redo | casechange blocks | bold italic backcolor | ' +
'alignleft aligncenter alignright alignjustify | ' +
'bullist numlist checklist outdent indent | removeformat | a11ycheck code table help',
content_style: 'body { font-family:DM Sans,sans-serif; font-size:14px;line-height: 0.6rem; }'
}}
/>
<button onClick={log}>Log editor content</button>
</div>
<div>
Description: <br />
<Editor
onInit={(evt, editor) => editorRef.current = editor}
initialValue="<p>Votre description.</p>"
init={{
resize: false,
height: 300,
width: 800,
menubar: false,
plugins: [
'advlist autolink lists link image charmap print preview anchor',
'searchreplace visualblocks code fullscreen',
'insertdatetime media table paste code help wordcount'
],
toolbar: 'undo redo | casechange blocks | bold italic backcolor | ' +
'alignleft aligncenter alignright alignjustify | ' +
'bullist numlist checklist outdent indent | removeformat | a11ycheck code table help',
content_style: 'body { font-family:DM Sans,sans-serif; font-size:14px;line-height: 0.6rem; }'
}}
/>
<button onClick={log}>Log editor content</button>
<h1>react-date-range Example</h1>
<DateRange
onChange={item => setState([item.selection])}
moveRangeOnFirstSelection={false}
ranges={state}
/>
<Button onClick={getStatData}> Recup Stat info</Button>
<Button onClick={Get_Top5_Stat}> Recup Stat top 5</Button>
{global_view_data && global_view_data.length > 3 && <div className="row">
<div className="col-md-12">
<h2>Tout compilé cherif </h2>
</div>
<div className="section col-md-6">
<h3 className="section-title">Line Chart a (global)</h3>
<div className="section-content">
<Chart options={options_global_view} series={series_Gobal} type="line" />
</div>
</div>
<div className="section col-md-6">
<h3 className="section-title">Bar Chart b (global) </h3>
<div className="section-content">
<Chart options={options_global_view} series={series_Gobal} type="bar" />
</div>
</div>
</div>
}
detail_view_categorie = {detail_view_categorie &&
detail_view_categorie.map((val) => (
<li style={{ "textAlign": "left", "marginLeft": "5rem" }}>
{val}
</li>
))}
{topX_formation && topX_formation.length > 3 && <div>
<h3 style={{ fontFamily:'DM Sans' }}>Le top 5 de vos formationes de la semaine est : </h3>
{topX_formation &&
topX_formation.map((val) => (
<li style={{ "textAlign": "left", "marginLeft": "5rem" }}>
{val}
</li>
))}
</div>}
<div className="row">
<div className="col-md-12">
<h2>Top 5 cherif </h2>
</div>
<div className="section col-md-6">
<h3 style={{ fontFamily:'DM Sans' }}>Le top 5 de vos formationes de la semaine est : </h3>
{topX_formation &&
topX_formation.map((val) => (
<li style={{ "textAlign": "left", "marginLeft": "5rem" }}>
{val}
</li>
))}
</div>
<div className="section col-md-6">
<h3 className="section-title">Line Chart a - la </h3>
<div className="section-content">
<Chart options={options_detail} series={series_detail} type="line" />
</div>
</div>
</div>
<h2>payement strip</h2>
<div style={{ "width": "100%", "height": "15rem", "margin": "2rem" }}>
<InterpolationSelect
currentValue={interpolation}
values={polar ? polarInterpolations : cartesianInterpolations}
onChange={(event) => setinterpolation(event.target.value)}
/>
<br /> <input
type="checkbox"
id="polar"
value={polar}
onChange={
(event) => setpolar(event.target.checked)
}
style={{ marginLeft: 25, marginRight: 5 }}
/>
<label htmlFor="polar">polar</label>
<VictoryChart polar={polar} height={590} width={600} backgroundColor={"pink"}>
<VictoryLine
interpolation={interpolation} data={data}
style={{ data: { stroke: "#c43a31" } }}
/>
<VictoryScatter data={data}
size={5}
style={{ data: { fill: "#c43a31" } }}
/>
</VictoryChart>
<br />
</div>
{<div className="container" style={{ "textAlign": "left" }}>
test 2
<input className="col-md-12" type={"text"} onChange={changech}
value={texte} onBlur={OnblurHandle} />
{suggestion2 && suggestion2.slice(0, 5).map((suggestion, id) =>
<div key={id} style={{ "cursor": "pointer", "color": "gray", }}
onClick={() => OnSuggestionHandler(JSON.parse(suggestion).name)}> {JSON.parse(suggestion).name}</div>
)}
</div>}
<br />
<div style={{ width: 1200, "top": "30rem", "position": "fixed" }}>
<ReactSearchAutocomplete
items={suggestedwords}
onSearch={handleOnSearch}
onHover={handleOnHover}
onSelect={handleOnSelect}
onFocus={handleOnFocus}
autoFocus
formatResult={formatResult}
/>
</div>
</div>
</div>
<div className="carte_visite">
<div className="main_div">
<div className="ch_div_gauche">
<br />
<img classname="img" src="http://88.170.110.220/img/MYSY-LOGO-BLUE.png" alt="Mysy Training Logo" style={{ "maxWidth": "30%" }} />
<br />
<div className="div_nom">
Cherif BALDE<br />
</div>
<div className="div_function">
Directeur
</div>
</div>
<div className="ch_div_centre">
<hr className="myhr" />
</div>
<div className="ch_div_droite div_coordonnees">
<div> <ImMobile2 /> &nbsp;+337 69 20 39 45</div>
<div> <ImMobile2 /> &nbsp;+337 69 20 39 45</div>
<div> <BsMailbox /> &nbsp;cbalde@mysy-training.com</div>
<div> <ImHome /> &nbsp;https://www.mysy-training.com/</div>
<div> <ImWhatsapp /> &nbsp;+337 69 20 39 45</div>
</div>
</div>
</div>
<div className="carte_visite">
<div className="main_div">
<div className="ch_div_gauche">
<br />
<img classname="img" src="http://88.170.110.220/img/MYSY-LOGO-BLUE.png" alt="Mysy Training Logo" style={{ "maxWidth": "30%" }} />
<br />
<div className="div_nom">
Gnanki DOKOTO<br />
</div>
<div className="div_function">
Managing Partner | Directrice Associée
</div>
</div>
<div className="ch_div_centre">
<hr className="myhr" />
</div>
<div className="ch_div_droite div_coordonnees">
<div> <ImMobile2 /> &nbsp;+336 68 54 36 66</div>
<div> <BsMailbox /> &nbsp;gdokoto@mysy-training.com</div>
<div> <ImHome /> &nbsp;https://www.mysy-training.com/</div>
<div> <ImWhatsapp /> &nbsp;+337 69 20 39 45</div>
</div>
</div>
</div>
<div
style={{
marginLeft: "40%",
@ -1679,7 +1384,7 @@ Cette fonction recuperer les stats des TOP 5 formations sur la periode saisie pa
</div>
*/}
</div>
</div >

View File

@ -92,7 +92,7 @@
font-family: "DM Sans", "sans-serif";
margin: 0.4rem !important;
}
/* input {
font-size: small !important;
padding-top: 0.2rem;

View File

@ -21,7 +21,7 @@
}
.Mui-disabled {
font-family:'DM Sans','Sans-serif';
font-family: 'DM Sans', 'Sans-serif';
font-size: small !important;
padding: 0px !important;
padding-left: 5px !important;
@ -164,7 +164,7 @@
}
.css-1t8l2tu-MuiInputBase-input-MuiOutlinedInput-input .Mui-disabled {
font-family:'DM Sans','Sans-serif';
font-family: 'DM Sans', 'Sans-serif';
font: inherit;
letter-spacing: inherit;
color: currentColor;
@ -210,7 +210,7 @@
}
.session_caract {
font-family: DM Sans;
font-family: DM Sans;
width: 100%;
padding: 5px;
float: left;
@ -553,7 +553,7 @@
}
.css-1t8l2tu-MuiInputBase-input-MuiOutlinedInput-input .Mui-disabled {
font-family:'DM Sans','Sans-serif';
font-family: 'DM Sans', 'Sans-serif';
font: inherit;
letter-spacing: inherit;
color: currentColor;
@ -745,7 +745,7 @@
}
.css-1t8l2tu-MuiInputBase-input-MuiOutlinedInput-input .Mui-disabled {
font-family:'DM Sans','Sans-serif';
font-family: 'DM Sans', 'Sans-serif';
font: inherit;
letter-spacing: inherit;
color: currentColor;
@ -791,7 +791,7 @@
}
.session_caract {
font-family: DM Sans;
font-family: DM Sans;
width: 50%;
padding: 5px;
float: left;
@ -1167,7 +1167,7 @@
}
.css-1t8l2tu-MuiInputBase-input-MuiOutlinedInput-input .Mui-disabled {
font-family:'DM Sans','Sans-serif';
font-family: 'DM Sans', 'Sans-serif';
font: inherit;
letter-spacing: inherit;
color: currentColor;
@ -1387,7 +1387,7 @@
}
.css-1t8l2tu-MuiInputBase-input-MuiOutlinedInput-input .Mui-disabled {
font-family:'DM Sans','Sans-serif';
font-family: 'DM Sans', 'Sans-serif';
font: inherit;
letter-spacing: inherit;
color: currentColor;
@ -1433,7 +1433,7 @@
}
.session_caract {
font-family: DM Sans;
font-family: DM Sans;
width: 33%;
padding: 5px;
float: left;
@ -1919,7 +1919,7 @@
}
.css-1t8l2tu-MuiInputBase-input-MuiOutlinedInput-input .Mui-disabled {
font-family:'DM Sans','Sans-serif';
font-family: 'DM Sans', 'Sans-serif';
font: inherit;
letter-spacing: inherit;
color: currentColor;
@ -1963,7 +1963,7 @@
}
.session_caract {
font-family: DM Sans;
font-family: DM Sans;
width: 33%;
padding: 5px;
float: left;
@ -2388,6 +2388,12 @@
}
.datagridclass {
font-size: small !important;
padding: 5px !important;
font-family: 'DM Sans';
}
// end media
@ -2475,7 +2481,7 @@
}
.session_caract_Dialog {
font-family: 'DM Sans';
font-family: 'DM Sans';
width: 100%;
padding: 5px;
float: left;
@ -2577,7 +2583,7 @@
}
.css-9ddj71-MuiInputBase-root-MuiOutlinedInput-root {
font-family: DM Sans !important;
font-family: DM Sans !important;
height: 3.5rem !important;
}

View File

@ -21,13 +21,13 @@
}
.Mui-disabled {
font-family:'DM Sans','Sans-serif';
font-family: 'DM Sans', 'Sans-serif';
font-size: small !important;
padding: 0px !important;
padding-left: 5px !important;
}
@media screen and (max-width: 600px) {
.okUpdateData {
@ -178,7 +178,7 @@
}
.css-1t8l2tu-MuiInputBase-input-MuiOutlinedInput-input .Mui-disabled {
font-family:'DM Sans','Sans-serif';
font-family: 'DM Sans', 'Sans-serif';
font: inherit;
letter-spacing: inherit;
color: currentColor;
@ -224,7 +224,7 @@
}
.session_caract {
font-family: DM Sans;
font-family: DM Sans;
width: 100%;
padding: 5px;
float: left;
@ -567,7 +567,7 @@
}
.css-1t8l2tu-MuiInputBase-input-MuiOutlinedInput-input .Mui-disabled {
font-family:'DM Sans','Sans-serif';
font-family: 'DM Sans', 'Sans-serif';
font: inherit;
letter-spacing: inherit;
color: currentColor;
@ -751,7 +751,7 @@
}
.css-1t8l2tu-MuiInputBase-input-MuiOutlinedInput-input .Mui-disabled {
font-family:'DM Sans','Sans-serif';
font-family: 'DM Sans', 'Sans-serif';
font: inherit;
letter-spacing: inherit;
color: currentColor;
@ -797,7 +797,7 @@
}
.session_caract {
font-family: DM Sans;
font-family: DM Sans;
width: 50%;
padding: 5px;
float: left;
@ -1173,7 +1173,7 @@
}
.css-1t8l2tu-MuiInputBase-input-MuiOutlinedInput-input .Mui-disabled {
font-family:'DM Sans','Sans-serif';
font-family: 'DM Sans', 'Sans-serif';
font: inherit;
letter-spacing: inherit;
color: currentColor;
@ -1383,7 +1383,7 @@
}
.css-1t8l2tu-MuiInputBase-input-MuiOutlinedInput-input .Mui-disabled {
font-family:'DM Sans','Sans-serif';
font-family: 'DM Sans', 'Sans-serif';
font: inherit;
letter-spacing: inherit;
color: currentColor;
@ -1429,7 +1429,7 @@
}
.session_caract {
font-family: DM Sans;
font-family: DM Sans;
width: 33%;
padding: 5px;
float: left;
@ -1909,7 +1909,7 @@
}
.css-1t8l2tu-MuiInputBase-input-MuiOutlinedInput-input .Mui-disabled {
font-family:'DM Sans','Sans-serif';
font-family: 'DM Sans', 'Sans-serif';
font: inherit;
letter-spacing: inherit;
color: currentColor;
@ -1953,7 +1953,7 @@
}
.session_caract {
font-family: DM Sans;
font-family: DM Sans;
width: 33%;
padding: 5px;
float: left;
@ -2382,7 +2382,7 @@
}
.css-zw3mfo-MuiModal-root-MuiDialog-root {
position: absolute;
z-index: 3300;
@ -2390,11 +2390,11 @@
bottom: 0;
top: 0;
left: 0;
}
}
}
.session_caract_Dialog_comment_2_lines {
width: 100%;
@ -2408,6 +2408,12 @@
// end media
.datagridclass {
font-size: small !important;
padding: 5px !important;
font-family: 'DM Sans';
}
.MuiDataGrid-cellContent {
padding-top: 0.5rem !important;
}
@ -2424,7 +2430,7 @@
}
.session_caract_Dialog {
font-family: 'DM Sans';
font-family: 'DM Sans';
width: 100%;
padding: 5px;
float: left;
@ -2528,7 +2534,7 @@
}
.css-9ddj71-MuiInputBase-root-MuiOutlinedInput-root {
font-family: DM Sans !important;
font-family: DM Sans !important;
height: 3.5rem !important;
}

View File

@ -2408,6 +2408,12 @@
// end media
.datagridclass {
font-size: small !important;
padding: 5px !important;
font-family: 'DM Sans';
}
.MuiDataGrid-cellContent {
padding-top: 0.5rem !important;
}

View File

@ -2329,6 +2329,12 @@
// end media
.datagridclass {
font-size: small !important;
padding: 5px !important;
font-family: 'DM Sans';
}
.disabled_style_with_visualiser_icone {
float: left;
text-align: center;

View File

@ -2368,6 +2368,12 @@
// end media
.datagridclass {
font-size: small !important;
padding: 5px !important;
font-family: 'DM Sans';
}
.disabled_style_with_visualiser {
width: 80% !important;
}

View File

@ -2215,6 +2215,12 @@
float: left;
}
.datagridclass {
font-size: small !important;
padding: 5px !important;
font-family: 'DM Sans';
}
// end media
.css-1v4ccyo {

View File

@ -2180,6 +2180,12 @@
// end media
.datagridclass {
font-size: small !important;
padding: 5px !important;
font-family: 'DM Sans';
}
.css-1v4ccyo {
height: 3.5rem !important;
font-size: small;

View File

@ -2490,7 +2490,12 @@
// end media
.datagridclass {
font-size: small !important;
padding: 5px !important;
font-family: 'DM Sans';
}
.css-md26zr-MuiInputBase-root-MuiOutlinedInput-root{
height: 3.5rem !important;
}

View File

@ -2492,6 +2492,12 @@
// end media
.datagridclass {
font-size: small !important;
padding: 5px !important;
font-family: 'DM Sans';
}
.timeline_datepicker {
width: 10rem;
}

View File

@ -2545,6 +2545,12 @@
// end media
.datagridclass {
font-size: small !important;
padding: 5px !important;
font-family: 'DM Sans';
}
.DialogContent_width {
width: 1500px !important;
max-width: 1500px !important;

View File

@ -2329,6 +2329,12 @@
// end media
.datagridclass {
font-size: small !important;
padding: 5px !important;
font-family: 'DM Sans';
}
.autocomplete_float_right {
float: right !important;
border: none;

View File

@ -2697,6 +2697,11 @@
// end media
.datagridclass {
font-size: small !important;
padding: 5px !important;
font-family: 'DM Sans';
}
.DialogContent_width_for_week_model {
width: 900px !important;

View File

@ -2706,6 +2706,11 @@
// end media
.datagridclass {
font-size: small !important;
padding: 5px !important;
font-family: 'DM Sans';
}
.DialogContent_width_for_week_model {
width: 900px !important;

View File

@ -2064,6 +2064,12 @@
// end media
.datagridclass {
font-size: small !important;
padding: 5px !important;
font-family: 'DM Sans';
}
.bck_menu_seul_selected {
padding-left: 20px;
padding-top: 5px;

View File

@ -2409,6 +2409,12 @@
// end media
.datagridclass {
font-size: small !important;
padding: 5px !important;
font-family: 'DM Sans';
}
.disabled_style_with_visualiser_icone {
float: left;
text-align: center;

View File

@ -2329,6 +2329,12 @@
// end media
.datagridclass {
font-size: small !important;
padding: 5px !important;
font-family: 'DM Sans';
}
.disabled_style_with_visualiser_icone {
float: left;
text-align: center;

View File

@ -2168,6 +2168,13 @@
// end media
.datagridclass {
font-size: small !important;
padding: 5px !important;
font-family: 'DM Sans';
}
.css-1v4ccyo {
height: 3.5rem !important;
font-size: small;

View File

@ -959,6 +959,12 @@
}
.datagridclass {
font-size: small !important;
padding: 5px !important;
font-family: 'DM Sans';
}
.img_payment {
max-width: 30%;
}

View File

@ -301,7 +301,7 @@
}
.carte_visite {
font-family: "Verdana", "Quicksand", "Signika", "sans-serif";
font-family: "DM Sans", "Verdana", "Quicksand", "Signika", "sans-serif";
.main_div {
width: 100%;
@ -315,7 +315,7 @@
padding: 0px;
border-radius: 1rem;
text-align: left;
color: rgb(10, 42, 77);
color: #0a2a4d;
background-color: white;
}
@ -332,7 +332,7 @@
color: rgb(10, 42, 77);
background-color: white;
padding-top: 1rem !important;
line-height: 3rem;
line-height: 2.5rem;
}
.myhr {
@ -359,7 +359,7 @@
img {
display: block;
border-radius: 10rem;
border: 1px solid black;
border: 1px solid #0a2a4d;
width: 40%;
height: 10%;
margin-left: auto;
@ -382,10 +382,10 @@
}
.div_function {
font-family: "Verdana", "Quicksand", "Signika", "sans-serif";
font-family: "DM San", "Verdana", "Quicksand", "Signika", "sans-serif";
font-size: 1.1rem;
color: #000080;
font-weight: lighter;
//font-weight: lighter;
text-align: center;
}