17/01/2025 - 15:30

recette2
cherif 2025-01-17 15:38:40 +01:00
parent d311e57cb2
commit 5de283e4e9
11 changed files with 1055 additions and 314 deletions

View File

@ -478,7 +478,7 @@ function Account() {
<Modules_Mes_Documents
partner_client_id={connected_user_data.partner_client_id}
partner_owner_recid={""}
my_title={"MES DOCUMENTS"}
my_title={"Gestion Documentaire"}
type_user_connected={"user_account"}
type_document={"all"}
/>}

View File

@ -797,7 +797,7 @@ const AddClassManual = (props) => {
setLoading(false);
if (String(res.data.status) === String("true")) {
//console.log(" In Getall_Class_List_Evalution res.data.status = " + res.data.status);
console.log(" In Getall_Class_List_Evalution res.data.message r_class = " + res.data.message);
// console.log(" In Getall_Class_List_Evalution res.data.message r_class = " + res.data.message);
setGetall_Class_List_Evalution_api("true");
setGetall_Class_List_Evalution_result(res.data.message);

View File

@ -33,13 +33,13 @@ import Box from '@mui/material/Box';
import { Typography, LinearProgress } from '@mui/material';
import styled from 'styled-components';
import { CiTrash, CiViewTimeline } from "react-icons/ci";
import { MdAddCircleOutline, MdRemoveCircleOutline } from "react-icons/md";
import { MdAddCircleOutline, MdOutlineBorderLeft, 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 { BorderLeft, 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";
@ -1537,6 +1537,11 @@ const DisplayPartnerSession = (props) => {
var local_session_alert_message = JSON.parse(x).session_alert_message;
var local_session_class_id = JSON.parse(x).class_id;
var local_session_nb_participant = JSON.parse(x).nb_participant;
var local_session_nb_inscrit = JSON.parse(x).nb_inscrit;
var local_session_taux_remplissage = JSON.parse(x).taux_remplissage;
//---
var node = {
@ -1549,21 +1554,35 @@ const DisplayPartnerSession = (props) => {
"date_fin": local_date_fin,
"session_etape": local_session_etape,
"is_session_alert": local_is_session_alert,
"is_session_alert": local_is_session_alert,
"invoiced_statut": local_invoiced_statut,
"session_alert_message": local_session_alert_message,
"class_id": local_session_class_id,
"nb_participant": local_session_nb_participant,
"nb_inscrit": local_session_nb_inscrit,
"taux_remplissage": local_session_taux_remplissage,
};
new_data2.push(node);
setTaskStatus(new_data2);
/** Pour le timeline Groupe */
var node_timeline_grp = {
'id': local_id,
'title': local_code_session
'title': local_code_session,
'is_session_alert': local_is_session_alert
}
timeline_grp.push(node_timeline_grp);
// Determination de la couleur background selon le taux de remplissage
var bg_color = "";
if (parseFloat(local_session_taux_remplissage) < 0.3)
bg_color = "#ffb343";
else if (parseFloat(local_session_taux_remplissage) >= 0.3 && parseFloat(local_session_taux_remplissage) <= 0.6)
bg_color = "#ececa3";
else if (parseFloat(local_session_taux_remplissage) > 0.6)
bg_color = "#a5c90f";
/** Pour le timeline Item */
var node_timeline_item = {
"_id": local_id,
@ -1576,18 +1595,17 @@ const DisplayPartnerSession = (props) => {
"date_fin": local_date_fin,
"session_etape": local_session_etape,
"is_session_alert": local_is_session_alert,
"is_session_alert": local_is_session_alert,
"invoiced_statut": local_invoiced_statut,
"session_alert_message": local_session_alert_message,
"class_id": local_session_class_id,
"title": local_code_session + " - " + local_date_debut + " au " + local_date_fin,
"title": local_code_session + " - " + local_date_debut + " au " + local_date_fin+" -- "+parseFloat(local_session_taux_remplissage)*100+'%',
"start_time": moment(local_date_debut, "DD/MM/YYYY"),
"end_time": moment(local_date_fin, "DD/MM/YYYY").add(1, 'days'),
"canMove": false,
itemProps: {
style: {
color: "black",
background: randomColor({ luminosity: "light", seed: local_code_session })
background: String(bg_color)
}
}
};
@ -1838,6 +1856,9 @@ const DisplayPartnerSession = (props) => {
var local_session_alert_message = JSON.parse(x).session_alert_message;
var local_session_class_id = JSON.parse(x).class_id;
var local_session_nb_participant = JSON.parse(x).nb_participant;
var local_session_nb_inscrit = JSON.parse(x).nb_inscrit;
var local_session_taux_remplissage = JSON.parse(x).taux_remplissage;
//---
var node = {
@ -1854,10 +1875,15 @@ const DisplayPartnerSession = (props) => {
"session_alert_message": local_session_alert_message,
"class_id": local_session_class_id,
"nb_participant": local_session_nb_participant,
"nb_inscrit": local_session_nb_inscrit,
"taux_remplissage": local_session_taux_remplissage,
};
new_data2.push(node);
setTaskStatus(new_data2);
/** Pour le timeline Groupe */
var node_timeline_grp = {
'id': local_id,
@ -1865,6 +1891,17 @@ const DisplayPartnerSession = (props) => {
}
timeline_grp.push(node_timeline_grp);
// Determination de la couleur background selon le taux de remplissage
var bg_color = "";
if (parseFloat(local_session_taux_remplissage) < 0.3)
bg_color = "#ffb343";
else if (parseFloat(local_session_taux_remplissage) >= 0.3 && parseFloat(local_session_taux_remplissage) <= 0.6)
bg_color = "#ececa3";
else if (parseFloat(local_session_taux_remplissage) > 0.6)
bg_color = "#a5c90f";
/** Pour le timeline Item */
var node_timeline_item = {
"_id": local_id,
@ -1880,14 +1917,14 @@ const DisplayPartnerSession = (props) => {
"invoiced_statut": local_invoiced_statut,
"session_alert_message": local_session_alert_message,
"class_id": local_session_class_id,
"title": local_code_session + " - " + local_date_debut + " au " + local_date_fin,
"title": local_code_session + " - " + local_date_debut + " au " + local_date_fin+" -- "+parseFloat(local_session_taux_remplissage)*100+'%',
"start_time": moment(local_date_debut, "DD/MM/YYYY"),
"end_time": moment(local_date_fin, "DD/MM/YYYY").add(1, 'days'),
"canMove": false,
itemProps: {
style: {
color: "black",
background: randomColor({ luminosity: "light", seed: local_code_session })
background: bg_color
}
}
};
@ -2290,6 +2327,8 @@ const DisplayPartnerSession = (props) => {
var local_id = JSON.parse(x)._id;
var local_session_step_name = JSON.parse(x).session_step_name;
var local_session_step_sequence = JSON.parse(x).session_step_sequence;
var local_session_step_color = JSON.parse(x).session_step_color;
//---
var node = {
@ -2298,10 +2337,11 @@ const DisplayPartnerSession = (props) => {
"label": local_session_step_name,
"session_step_name": local_session_step_name,
"session_step_sequence": local_session_step_sequence,
"session_step_color": local_session_step_color,
};
new_data2.push(node);
local_opport_chanel.push(local_session_step_name);
local_opport_chanel.push(node);
var node_for_status = {
"_id": local_id,
@ -2342,6 +2382,7 @@ const DisplayPartnerSession = (props) => {
setkanban_colonne_width(tmp_val);
}
console.log(" 222 local_opport_chanel = ", local_opport_chanel);
} else {
setNew_Getall_Parter_Session_Steps_result([]);
@ -2422,6 +2463,7 @@ const DisplayPartnerSession = (props) => {
var local_id = JSON.parse(x)._id;
var local_session_step_name = JSON.parse(x).session_step_name;
var local_session_step_sequence = JSON.parse(x).session_step_sequence;
var local_session_step_code_color = JSON.parse(x).session_step_color;
//---
var node = {
@ -2430,10 +2472,13 @@ const DisplayPartnerSession = (props) => {
"label": local_session_step_name,
"session_step_name": local_session_step_name,
"session_step_sequence": local_session_step_sequence,
"session_step_color": local_session_step_code_color,
};
new_data2.push(node);
local_opport_chanel.push(local_session_step_name);
local_opport_chanel.push(node);
var node_for_status = {
"_id": local_id,
@ -2474,6 +2519,8 @@ const DisplayPartnerSession = (props) => {
setkanban_colonne_width(tmp_val);
}
console.log(" ### local_opport_chanel = ", local_opport_chanel);
} else {
setNew_Getall_Parter_Session_Steps_result([]);
@ -2643,7 +2690,7 @@ const DisplayPartnerSession = (props) => {
setdata_row_grouped_by(stored_cookie_session_data_row_grouped_by);
setdata_row_grouped_field(stored_cookie_session_data_row_grouped_by);
datagrid_grouped_by(stored_cookie_session_data_row_grouped_by);
console.log(" ### stored_cookie_session_data_row_grouped_by = ", stored_cookie_session_data_row_grouped_by);
// console.log(" ### stored_cookie_session_data_row_grouped_by = ", stored_cookie_session_data_row_grouped_by);
}
@ -12088,7 +12135,7 @@ const DisplayPartnerSession = (props) => {
const [session_display_view, setsession_display_view] = useState("list");
const [cookie_session_display_view, setcookie_session_display_view, , removecookiesession_display_view,] = useCookies(['mysy_session_display_view,']);
const [cookie_session_display_view, setcookie_session_display_view, removecookie_session_display_view] = useCookies(['mysy_session_display_view,']);
function func_sesion_display_kanban_view() {
setsession_display_view("kanban");
@ -12136,23 +12183,28 @@ const DisplayPartnerSession = (props) => {
width: kanban_colonne_width,
height: "80vh",
margin: "0 auto",
backgroundColor: "#212F3D",
border: 'double #32a1ce',
backgroundColor: "#FFFFFF",
border: 'solid 1px',
},
columnHead: {
textAlign: "center",
padding: 10,
fontSize: "1.2em",
backgroundColor: "#C6D8AF",
border: "red",
padding: 5,
fontSize: "14px",
backgroundColor: randomColor(),
border: "1px solid",
marginBottom: "5px",
},
item: {
padding: 10,
margin: 10,
padding: 5,
marginBottom: 10,
fontSize: "0.8em",
cursor: "pointer",
backgroundColor: "white"
backgroundColor: "#f4f6f6",
border: "0px solid",
cursor: "move",
width: "94%",
marginLeft: "3%",
}
};
@ -15445,12 +15497,16 @@ const DisplayPartnerSession = (props) => {
</nav>
<nav style={{ width: '80%', float: 'right', textAlign: "right", marginTop: "10px" }}>
<nav className="mode_affichage" onClick={func_session_display_timeline_view}> <FcTimeline /> TimeLine </nav>
{session_display_view && String(session_display_view) === "timeline" && <nav className="mode_affichage mode_affichage_selected" onClick={func_session_display_timeline_view}> <FcTimeline /> Line </nav>}
{(!session_display_view || String(session_display_view) !== "timeline") && <nav className="mode_affichage" onClick={func_session_display_timeline_view}> <FcTimeline /> Line </nav>}
<nav className="mode_affichage" onClick={func_session_display_list_view}> <CiBoxList /> Liste </nav>
{session_display_view && String(session_display_view) === "list" && <nav className="mode_affichage mode_affichage_selected" onClick={func_session_display_list_view}> <CiBoxList /> Liste </nav>}
{(!session_display_view || String(session_display_view) !== "list") && <nav className="mode_affichage" onClick={func_session_display_list_view}> <CiBoxList /> Liste </nav>}
<nav className="mode_affichage" onClick={func_sesion_display_kanban_view}> <FcPlanner /> Kanban </nav>
Affichage :
{session_display_view && String(session_display_view) === "kanban" && <nav className="mode_affichage mode_affichage_selected" onClick={func_sesion_display_kanban_view}> <FcPlanner /> Kanban </nav>}
{(!session_display_view || String(session_display_view) !== "kanban") && <nav className="mode_affichage" onClick={func_sesion_display_kanban_view}> <FcPlanner /> Kanban </nav>}
Affichage : &nbsp;&nbsp;
</nav>
@ -15752,13 +15808,12 @@ const DisplayPartnerSession = (props) => {
py: 1,
},
}}
/>
</Box>}
{(!data_row_grouped_by || String(data_row_grouped_by) === "") && session_display_view && String(session_display_view) === "kanban" && <Box
{(!data_row_grouped_by || String(data_row_grouped_by) === "") && session_display_view && String(session_display_view) === "kanban" &&
<Box
sx={{
height: 800,
width: '100%',
@ -15866,20 +15921,27 @@ const DisplayPartnerSession = (props) => {
<DndProvider backend={HTML5Backend}>
<section style={classes_session_step.board}>
{Session_step_chanel.map(channel => (
<KanbanColumn
key={channel}
status={channel}
key={channel.label}
status={channel.label}
changeTaskStatus={changeTaskStatus}
>
<div style={classes_session_step.column}>
<div style={classes_session_step.columnHead}>{Session_step_chanel_label[channel]}</div>
<div className="kanban_header_css" style={{ background: `${channel.session_step_color}` }} > {channel.label}
&nbsp; ({tasks.filter(item => item.session_etape === channel.label).length})
</div>
<div style={{ overflowY: 'auto', height: '95%' }}>
{tasks
.filter(item => item.session_etape === channel)
.filter(item => item.session_etape === channel.label)
.map(item => (
<KanbanItem key={item._id} id={item._id} >
<div style={classes_session_step.item} id={item._id}
<div className="kanban_item_css" style={{
borderLeftColor: `${channel.session_step_color}`,
}} id={item._id}
onDoubleClick={(event) => {
setgridline_id(item.id);
@ -15911,9 +15973,17 @@ const DisplayPartnerSession = (props) => {
{String(item.code_session).length > 30 && <nav style={{ 'fontWeight': '700', wordBreak: 'break-all' }} > {String(item.code_session).substring(0, 26)}... </nav>}
{String(item.code_session).length <= 30 && <nav style={{ 'fontWeight': '700', wordBreak: 'break-all' }} > {String(item.code_session).substring(0, 30)} </nav>}
{String(item.date_debut) && <nav style={{ 'fontWeight': '400', wordBreak: 'break-all' }} > <font style={{ fontWeight: '600px' }}> Début </font>: {String(item.date_debut).substring(0, 30)}</nav>}
{String(item.date_fin) && <nav style={{ 'fontWeight': '400', wordBreak: 'break-all' }} > <font style={{ fontWeight: '600px' }}> Fin </font>:{String(item.date_fin).substring(0, 30)}</nav>}
{String(item.nb_participant) && <nav style={{ 'fontWeight': '400', wordBreak: 'break-all' }} > <font style={{ fontWeight: '600px' }}> Place </font>: {String(item.nb_participant).substring(0, 30)}</nav>}
{item.taux_remplissage && parseFloat(item.taux_remplissage) < 0.3 && <nav style={{ width: `${item.taux_remplissage * 100}%`, 'fontWeight': '400', wordBreak: 'break-all', background: "#ffb343" }} > {item.taux_remplissage * 100}%</nav>}
{item.taux_remplissage && parseFloat(item.taux_remplissage) >= 0.3 && parseFloat(item.taux_remplissage) <= 0.6 && <nav style={{ width: `${item.taux_remplissage * 100}%`, 'fontWeight': '400', wordBreak: 'break-all', background: "#ececa3" }} > {item.taux_remplissage * 100}%</nav>}
{item.taux_remplissage && parseFloat(item.taux_remplissage) > 0.6 && <nav style={{ width: `${item.taux_remplissage * 100}%`, 'fontWeight': '400', wordBreak: 'break-all', background: "#a5c90f" }} > {item.taux_remplissage * 100}%</nav>}
{String(item.titre).length > 30 && <nav style={{ 'fontWeight': '700', wordBreak: 'break-all' }} > {String(item.titre).substring(0, 26)}... </nav>}
{String(item.titre).length <= 30 && <nav style={{ 'fontWeight': '700', wordBreak: 'break-all' }} > {String(item.titre).substring(0, 30)} </nav>}
</div>
@ -16057,12 +16127,8 @@ const DisplayPartnerSession = (props) => {
var my_invoice_status = New_Getall_TrainingSession_result_Timeline_Item[ItemId].invoiced_statut;
var my_class_id = New_Getall_TrainingSession_result_Timeline_Item[ItemId].class_id;
var my_title = JSON.parse(rowss[ItemId]).title
var my_taux_remplissage = parseFloat(String(JSON.parse(rowss[ItemId]).taux_remplissage))*100;
console.log(" ## myrowId = ", myrowId);
console.log(" ## myrow_id = ", myrow_id);
console.log(" ## my_invoice_status = ", my_invoice_status);
console.log(" ## my_title = ", my_title);
console.log(" ## my_class_id = ", my_class_id)
setgridline_id(ItemId);
@ -16082,19 +16148,10 @@ const DisplayPartnerSession = (props) => {
setDialog_2_message(String(my_title));
setDialog_2_open(true);
//
/*
//console.log(" ### newSelectionModel.row.invoiced_statut = ", newSelectionModel.row.invoiced_statut);
*/
}}
// onItemClick={func_handleItemClick}
// onItemMove={func_handleItemMove}
// onItemResize={func_handleItemResize}
// onItemDrag={func_handleItemDrag}
>
<TimelineHeaders>
<SidebarHeader>
@ -16444,7 +16501,7 @@ const DisplayPartnerSession = (props) => {
{display_session_with_alert && display_session_with_alert === true &&
<div style={{ height: 850, width: '100%', paddingRight: '5px' }}>
&nbsp;
{(!data_row_grouped_by || String(data_row_grouped_by) === "") && (!session_display_view || String(session_display_view) !== "kanban") &&
{(!data_row_grouped_by || String(data_row_grouped_by) === "") && (!session_display_view || String(session_display_view) === "list") &&
<Box
sx={{
height: 800,
@ -16843,24 +16900,32 @@ const DisplayPartnerSession = (props) => {
}}
>
<div className="div_row" style={{ width: "100%", float: "left", padding: "5px" }}>
<DndProvider backend={HTML5Backend}>
<section style={classes_session_step.board}>
{Session_step_chanel.map(channel => (
<KanbanColumn
key={channel}
status={channel}
key={channel.label}
status={channel.label}
changeTaskStatus={changeTaskStatus}
>
<div style={classes_session_step.column}>
<div style={classes_session_step.columnHead}>{Session_step_chanel_label[channel]}</div>
<div className="kanban_header_css" style={{ background: `${channel.session_step_color}` }} > {channel.label}
&nbsp; ({tasks.filter(item => item.is_session_alert === "1").filter(item => item.session_etape === channel.label).length})
</div>
<div style={{ overflowY: 'auto', height: '95%' }}>
{tasks
.filter(item => item.is_session_alert === "1")
.filter(item => item.session_etape === channel)
.filter(item => item.session_etape === channel.label)
.map(item => (
<KanbanItem key={item._id} id={item._id} >
<div style={classes_session_step.item} id={item._id}
<div className="kanban_item_css" style={{
borderLeftColor: `${channel.session_step_color}`,
}} id={item._id}
onDoubleClick={(event) => {
setgridline_id(item.id);
@ -16892,9 +16957,17 @@ const DisplayPartnerSession = (props) => {
{String(item.code_session).length > 30 && <nav style={{ 'fontWeight': '700', wordBreak: 'break-all' }} > {String(item.code_session).substring(0, 26)}... </nav>}
{String(item.code_session).length <= 30 && <nav style={{ 'fontWeight': '700', wordBreak: 'break-all' }} > {String(item.code_session).substring(0, 30)} </nav>}
{String(item.date_debut) && <nav style={{ 'fontWeight': '400', wordBreak: 'break-all' }} > <font style={{ fontWeight: '600px' }}> Début </font>: {String(item.date_debut).substring(0, 30)}</nav>}
{String(item.date_fin) && <nav style={{ 'fontWeight': '400', wordBreak: 'break-all' }} > <font style={{ fontWeight: '600px' }}> Fin </font>:{String(item.date_fin).substring(0, 30)}</nav>}
{String(item.nb_participant) && <nav style={{ 'fontWeight': '400', wordBreak: 'break-all' }} > <font style={{ fontWeight: '600px' }}> Place </font>: {String(item.nb_participant).substring(0, 30)}</nav>}
{item.taux_remplissage && parseFloat(item.taux_remplissage) < 0.3 && <nav style={{ width: `${item.taux_remplissage * 100}%`, 'fontWeight': '400', wordBreak: 'break-all', background: "#ffb343" }} > {item.taux_remplissage * 100}%</nav>}
{item.taux_remplissage && parseFloat(item.taux_remplissage) >= 0.3 && parseFloat(item.taux_remplissage) <= 0.6 && <nav style={{ width: `${item.taux_remplissage * 100}%`, 'fontWeight': '400', wordBreak: 'break-all', background: "#ececa3" }} > {item.taux_remplissage * 100}%</nav>}
{item.taux_remplissage && parseFloat(item.taux_remplissage) > 0.6 && <nav style={{ width: `${item.taux_remplissage * 100}%`, 'fontWeight': '400', wordBreak: 'break-all', background: "#a5c90f" }} > {item.taux_remplissage * 100}%</nav>}
{String(item.titre).length > 30 && <nav style={{ 'fontWeight': '700', wordBreak: 'break-all' }} > {String(item.titre).substring(0, 26)}... </nav>}
{String(item.titre).length <= 30 && <nav style={{ 'fontWeight': '700', wordBreak: 'break-all' }} > {String(item.titre).substring(0, 30)} </nav>}
</div>
@ -16910,6 +16983,178 @@ const DisplayPartnerSession = (props) => {
</Box>}
{(!data_row_grouped_by || String(data_row_grouped_by) === "") && session_display_view && String(session_display_view) === "timeline" &&
New_Getall_TrainingSession_result_Timeline_Group && New_Getall_TrainingSession_result_Timeline_Group.length > 0 &&
New_Getall_TrainingSession_result_Timeline_Item && New_Getall_TrainingSession_result_Timeline_Item.length > 0 &&
<Box
sx={{
height: 800,
width: '100%',
paddingRight: '1px',
'& .cell--presentiel': {
backgroundColor: '#a2cf6e',
color: '#1a3e72',
fontWeight: 'bold',
},
'& .cell--distantiel': {
backgroundColor: '#ffac33',
color: '#1a3e72',
fontWeight: 'light',
},
'& .cell--etape--projet': {
backgroundColor: '#E6F7C8',
color: '#1a3e72',
fontWeight: 'light',
},
'& .cell--etape--planification': {
backgroundColor: '#E6CEAA',
color: '#1a3e72',
fontWeight: 'light',
},
'& .cell--etape--planifie': {
backgroundColor: '#F4ECF7',
color: '#1a3e72',
fontWeight: 'light',
},
'& .cell--etape--termine': {
backgroundColor: '#D6EAF8',
color: '#1a3e72',
fontWeight: 'light',
},
'& .cell--etape--facture': {
backgroundColor: '#D5F5E3',
color: '#1a3e72',
fontWeight: 'light',
},
'& .cell--etape--annule': {
backgroundColor: '#566573',
color: '#1a3e72',
fontWeight: 'light',
},
'& .line--etape--projet': {
backgroundColor: 'yellow',
color: 'black',
},
'& .line--etape--planification': {
backgroundColor: 'red',
color: 'black',
},
'& .line--etape--planifie': {
backgroundColor: 'blue',
color: 'black',
},
'& .line--etape--termine': {
backgroundColor: 'orange',
color: 'black',
},
'& .line--etape--facture': {
backgroundColor: '#D5F5E3',
color: 'black',
},
'& .line--etape--annule': {
backgroundColor: '#566573',
color: 'white',
},
"& .MuiDataGrid-columnHeaders": {
backgroundColor: "#c8cfd5",
color: "black",
fontSize: 14
},
'& .line--statut--invoiced': {
backgroundColor: '#EAFAF1',
color: '#239B56',
fontWeight: '700'
},
'& .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,
},
}}
>
<div className="div_row" style={{ width: "100%", float: "left", padding: "5px" }}>
<Timeline
groups={New_Getall_TrainingSession_result_Timeline_Group.filter(item => item.is_session_alert === "1")}
items={New_Getall_TrainingSession_result_Timeline_Item.filter(item => item.is_session_alert === "1")}
defaultTimeStart={defaultTimeStart}
defaultTimeEnd={defaultTimeEnd}
fullUpdate
itemTouchSendsClick={false}
stackItems
itemHeightRatio={0.75}
canMove={true}
canResize={"both"}
onItemDoubleClick={(ItemId) => {
var myrowId = ItemId;
var myrow_id = New_Getall_TrainingSession_result_Timeline_Item[ItemId]._id;
var my_invoice_status = New_Getall_TrainingSession_result_Timeline_Item[ItemId].invoiced_statut;
var my_class_id = New_Getall_TrainingSession_result_Timeline_Item[ItemId].class_id;
var my_title = JSON.parse(rowss[ItemId]).title
var my_taux_remplissage = parseFloat(String(JSON.parse(rowss[ItemId]).taux_remplissage))*100;
setgridline_id(ItemId);
setsequence_gridline_id("");
setaddOneSession("0");
setEdite_session("0");
setsessionChanged(false);
//handleClick_edit_session_From_Line(newSelectionModel.row.id);
setselected_session_id(myrow_id);
setsession_selected_row_id(myrowId);
setselected_session_invoiced_statut(my_invoice_status);
setsession_selected_class_id(my_class_id);
setDialog_2_message(String(my_title));
setDialog_2_open(true);
}}
>
<TimelineHeaders>
<SidebarHeader>
{({ getRootProps }) => {
return <div {...getRootProps()}> Date/ <br /> Code Session </div>
}}
</SidebarHeader>
<DateHeader unit="month"
labelFormat="MMMM YYYY"
/>
<DateHeader unit="day"
labelFormat="DD/MM"
style={{ height: 50 }} />
</TimelineHeaders>
</Timeline>
</div>
</Box>}
<br />
</div>}

View File

@ -52,7 +52,7 @@ import {
} from '@mui/x-data-grid';
import * as XLSX from 'xlsx';
import { useCookies } from "react-cookie";
import { makeStyles } from "@material-ui/core/styles";
import Paper from '@material-ui/core/Paper';
import Draggable from 'react-draggable';
@ -103,6 +103,8 @@ const useStyles = makeStyles((theme) => ({
const DistplayPartnerTraningsPage = (props) => {
const stored_cookie_catalog_data_row_grouped_by = getCookie('mysy_catalog_data_row_grouped_by');
const history = useHistory();
const [myApiResponse, setmyApiResponse] = useState("false");
const filters = [
@ -354,7 +356,7 @@ const DistplayPartnerTraningsPage = (props) => {
.then((data) => data.json())
.then((data) => {
// console.log('GetAllClass_new ==> Success:', data['message'], "data['status'] = ", data['status']);
console.log(" String(data['status'] = ", String(data['status']));
// console.log(" String(data['status'] = ", String(data['status']));
setTableData(data['message']);
setRows(data['message']);
if (String(data['status']) === String("false")) {
@ -526,7 +528,7 @@ const DistplayPartnerTraningsPage = (props) => {
{ field: 'metier', headerName: 'Métier', minWidth: 100, flex: 1, maxWidth: 200, hideable: true, hide: true, editable: false, renderCell: (params) => <Display_Colunm_text {...params} />, },
{ field: 'categorie', headerName: 'Catégorie', minWidth: 100, flex: 1, maxWidth: 200, hideable: true, hide: true, editable: false, renderCell: (params) => <Display_Colunm_text {...params} />, },
{ field: 'categorie', headerName: 'Catégorie', minWidth: 100, flex: 1, maxWidth: 200, hideable: true, hide: false, editable: false, renderCell: (params) => <Display_Colunm_text {...params} />, },
{
@ -1772,6 +1774,14 @@ const DistplayPartnerTraningsPage = (props) => {
setdatagrid_columns_size_model2(10);
}
}
// Recuperation de mode de regroupement des données de session
if (stored_cookie_catalog_data_row_grouped_by) {
setdata_row_grouped_by(stored_cookie_catalog_data_row_grouped_by);
setdata_row_grouped_field(stored_cookie_catalog_data_row_grouped_by);
datagrid_grouped_by(stored_cookie_catalog_data_row_grouped_by);
}
}, []);
function Clearselectedfilt1() {
@ -2245,7 +2255,6 @@ const DistplayPartnerTraningsPage = (props) => {
function getTreeDataPath(param) {
var local_tmp = data_row_grouped_field;
var local_tab_array = [];
@ -2271,8 +2280,18 @@ const DistplayPartnerTraningsPage = (props) => {
{ "id": "", "label": "Aucun", "value": "" },
{ "id": "domain", "label": "Domaine", "value": "domain" },
{ "id": "metier", "label": "Métier ", "value": "metier" },
{ "id": "categorie", "label": "Gatégorie ", "value": "categorie" },
]
const [cookie_catalog_display_view, setcookie_catalog_display_view, removecookie_catalog_display_view] = useCookies(['mysy_catalog_data_row_grouped_by,']);
function func_catalog_data_grouped_by(grouped_by) {
setdata_row_grouped_by(grouped_by);
setdata_row_grouped_field(grouped_by);
datagrid_grouped_by(grouped_by);
setcookie_catalog_display_view("mysy_catalog_data_row_grouped_by", String(grouped_by), { path: '/' });
}
return (
<div className='displaypartnertrainingpagination'>
@ -2795,17 +2814,15 @@ const DistplayPartnerTraningsPage = (props) => {
id="filtre11"
className="disabled_style"
options={New_option_group_by}
value={data_row_grouped_field}
onChange={(event, value) => {
if (value && value.value) {
setdata_row_grouped_by(value.value);
setdata_row_grouped_field(value.value);
datagrid_grouped_by(value.value);
func_catalog_data_grouped_by(value.value);
} else {
setdata_row_grouped_by("");
setdata_row_grouped_field("");
datagrid_grouped_by("");
func_catalog_data_grouped_by("");
}
}}
@ -2992,7 +3009,8 @@ const DistplayPartnerTraningsPage = (props) => {
</div>
</div>}
{data_row_grouped_by && (String(data_row_grouped_by) === "domain" || String(data_row_grouped_by) === "metier") &&
{data_row_grouped_by && (String(data_row_grouped_by) === "domain" || String(data_row_grouped_by) === "metier" ||
String(data_row_grouped_by) === "categorie") &&
<div className="div_row">
<Box
sx={{
@ -3175,7 +3193,7 @@ const DistplayPartnerTraningsPage = (props) => {
}
<div className="div_row"> &nbsp; ensss masss</div>
<div className="div_row"> &nbsp; </div>
<div className="div_row">
{selectionModel && selectionModel.length >= 1 && <div className="block_en_mass">
<nav >Traitement en masse </nav>

View File

@ -62,6 +62,7 @@ import SsidChartIcon from '@mui/icons-material/SsidChart';
import { RiFileExcel2Line } from "react-icons/ri";
import AttachFileIcon from '@mui/icons-material/AttachFile';
import Module_Alert_Confirmation from "./Module_Alert_Confirmation";
const Employes = (props) => {
const history = useHistory();
const [submenu, setsubmenu] = useState("");
@ -1788,7 +1789,10 @@ const Employes = (props) => {
else {
setGet_Given_Employee_Affectation_api("false");
setGet_Given_Employee_Affectation_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) => {
@ -1828,7 +1832,10 @@ const Employes = (props) => {
else {
setGetall_Employee_Affectation_api("false");
setGetall_Employee_Affectation_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) => {
@ -1868,7 +1875,10 @@ const Employes = (props) => {
else {
setGet_Employee_Related_Target_Collection_Data_api("false");
setGet_Employee_Related_Target_Collection_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) => {
@ -2341,7 +2351,10 @@ const Employes = (props) => {
else {
setUpdate_One_Employee_Data_api("false");
setUpdate_One_Employee_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) => {
@ -2451,7 +2464,10 @@ const Employes = (props) => {
else {
setget_Employee_Images_api("false");
get_Employee_Images_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) => {
@ -2817,12 +2833,18 @@ const Employes = (props) => {
setDelete_Employee_result(res.data.message);
clean_all_filters();
clearEmployeeFields();
alert(res.data.message);
// alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("success");
}
else {
setDelete_Employee_api("false");
setDelete_Employee_message(res.data.message);
alert(res.data.message);
// alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
}
@ -2870,8 +2892,10 @@ const Employes = (props) => {
else {
setDelete_affection_api("false");
setDelete_affection_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) => {
@ -3122,7 +3146,11 @@ const Employes = (props) => {
setgridline_id('');
setsubmenu('');
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')) {
var divh = document.getElementById('myRef_head').offsetTop;
window.scrollTo({
@ -3135,7 +3163,10 @@ const Employes = (props) => {
else {
setAdd_One_Employee_Data_api("false");
setAdd_One_Employee_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) => {
@ -3706,7 +3737,10 @@ const Employes = (props) => {
else {
setGetall_Partner_Competence_List_api("false");
setGetall_Partner_Competence_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) => {
@ -3791,7 +3825,10 @@ const Employes = (props) => {
else {
setGetall_Employee_Statistic_Question_List_api("false");
setGetall_Employee_Statistic_Question_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) => {
@ -4112,7 +4149,10 @@ const Employes = (props) => {
else {
setUpdate_One_Affectation_Data_api("false");
setUpdate_One_Affectation_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) => {
@ -4244,7 +4284,10 @@ const Employes = (props) => {
setLoading(false);
setAdd_one_affectation_api("false");
setAdd_one_affectation_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) => {
@ -4319,7 +4362,10 @@ const Employes = (props) => {
else {
setUpdate_user_access_right_Data_api("false");
setUpdate_user_access_right_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) => {
@ -4553,7 +4599,10 @@ const Employes = (props) => {
setp_detail_user_login(p_new_login);
setDialog_1_open_create_update_login_pwd_update(false);
alert(res.data.message);
// alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("success");
setp_new_login('');
setp_new_pwd('');
setp_conf_new_login('');
@ -4562,7 +4611,10 @@ const Employes = (props) => {
else {
setAdd_Update_Employee_Login_Pass_Data_api("false");
setAdd_Update_Employee_Login_Pass_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) => {
@ -4968,7 +5020,10 @@ const Employes = (props) => {
else {
setGet_Partner_Object_Specific_Fields_api("false");
setGet_Partner_Object_Specific_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) => {
@ -5123,13 +5178,19 @@ const Employes = (props) => {
});
}
alert(res.data.message);
// alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("success");
}
else {
sethandleClick_delete_employee_contrat_api("false");
sethandleClick_delete_employee_contrat_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) => {
@ -5179,7 +5240,10 @@ const Employes = (props) => {
else {
setGet_Partner_Purchase_Prices_api("false");
setGet_Partner_Purchase_Prices_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) => {
@ -5331,12 +5395,18 @@ const Employes = (props) => {
});
}
alert(res.data.message);
// alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("success");
}
else {
setAdd_Update_Employee_Contrat_api("false");
setAdd_Update_Employee_Contrat_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) => {
@ -5409,12 +5479,19 @@ const Employes = (props) => {
handleClick_edit_employee_From_Line(gridline_id);
alert(res.data.message);
// alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("success");
}
else {
setCreate_Lms_Trainer_Account_api("false");
setCreate_Lms_Trainer_Account_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) => {
@ -5449,12 +5526,18 @@ const Employes = (props) => {
setLocked_MySy_Trainer_Account_api("true");
setLocked_MySy_Trainer_Account_result(res.data.message);
handleClick_edit_employee_From_Line(gridline_id);
alert(res.data.message);
// alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("success");
}
else {
setLocked_MySy_Trainer_Account_api("false");
setLocked_MySy_Trainer_Account_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) => {
@ -5488,12 +5571,18 @@ const Employes = (props) => {
setUnLocked_MySy_Trainer_Account_api("true");
setUnLocked_MySy_Trainer_Account_result(res.data.message);
handleClick_edit_employee_From_Line(gridline_id);
alert(res.data.message);
// alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("success");
}
else {
setUnLocked_MySy_Trainer_Account_api("false");
setUnLocked_MySy_Trainer_Account_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) => {
@ -5534,12 +5623,16 @@ const Employes = (props) => {
handleClick_edit_employee_From_Line(gridline_id);
alert(res.data.message);
// alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("success");
}
else {
setDisable_Lms_Trainer_Account_api("false");
setDisable_Lms_Trainer_Account_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) => {
@ -5631,14 +5724,20 @@ const Employes = (props) => {
Get_Employee_Data(selected_id);
alert(res.data.message);
// alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("success");
setDialog_1_open_competence(false);
}
else {
setAdd_Update_One_Competence_api("false");
setAdd_Update_One_Competence_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) => {
@ -5689,14 +5788,20 @@ const Employes = (props) => {
Get_Employee_Data(selected_id);
alert(res.data.message);
// alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("success");
setDialog_1_open_competence(false);
}
else {
setDelete_One_Competence_api("false");
setDelete_One_Competence_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) => {
@ -5821,7 +5926,10 @@ const Employes = (props) => {
else {
setGetall_Qry_Survey_Data_api("false");
setGetall_Qry_Survey_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) => {
@ -6062,7 +6170,10 @@ const Employes = (props) => {
Get_Employee_List_Suivi_Pedagogique(selected_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_detail_suivi_ped')) {
// myRef.current.scrollIntoView({ behavior: "smooth" });
@ -6077,7 +6188,10 @@ const Employes = (props) => {
else {
setAdd_Update_Suiv_Pedagogique_api("false");
setAdd_Update_Suiv_Pedagogique_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) => {
@ -6214,7 +6328,10 @@ const Employes = (props) => {
setLoading(false);
setGet_Geven_Suivi_Ped_Data_api("false");
setGet_Geven_Suivi_Ped_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) => {
@ -6432,12 +6549,18 @@ const Employes = (props) => {
Get_Employee_List_Suivi_Pedagogique(selected_id);
alert(res.data.message);
// alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("success");
}
else {
setDelete_Suivi_Pedago_Data_api("false");
setDelete_Suivi_Pedago_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");
}
@ -6564,7 +6687,10 @@ const Employes = (props) => {
else {
setGet_Partner_List_EMPLOYEE_CONTRACT_Document_api("false");
setGet_Partner_List_EMPLOYEE_CONTRACT_Document_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) => {
@ -6590,6 +6716,22 @@ const Employes = (props) => {
const [EMPLOYEE_CONTRACT_modele_id, setEMPLOYEE_CONTRACT_modele_id] = 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="employes">
@ -6597,6 +6739,18 @@ const Employes = (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*/}
{/*** GESTION STATISTIQUE */}
<Dialog
open={Dialog_1_open_statistique}

View File

@ -59,6 +59,8 @@ import AttachFileIcon from '@mui/icons-material/AttachFile';
import Module_Selection_Apprenants from "./Module_Selection_Apprenants";
import { FcAlarmClock, FcMultipleSmartphones, FcWorkflow } from "react-icons/fc";
import Module_Alert_Confirmation from "./Module_Alert_Confirmation";
import { makeStyles } from "@material-ui/core/styles";
import CancelPresentationIcon from '@mui/icons-material/CancelPresentation';
@ -122,8 +124,6 @@ const Groupe_Apprenant = (props) => {
date_today_90j.setDate(date_today_90j.getDate() + 90);
const [p_filtre1, setp_filtre1] = useState("");
const [p_filtre1_value, setp_filtre1_value] = useState("");
@ -434,12 +434,18 @@ const Groupe_Apprenant = (props) => {
setselectionModel_grp_membre([]);
Getall_Groupe_Membres(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_Membre_From_Groupe_api("false");
setDelete_List_Membre_From_Groupe_message(res.data.message);
alert(res.data.message);
// alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
}
@ -497,13 +503,19 @@ const Groupe_Apprenant = (props) => {
setgrp_apprenant_data_edit_mode("");
setgridline_id("");
setSelectionModel([]);
alert(res.data.message);
// alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("success");
}
else {
setDelete_Given_Goupe_api("false");
setDelete_Given_Goupe_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) => {
@ -600,7 +612,10 @@ const Groupe_Apprenant = (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) => {
@ -676,7 +691,10 @@ const Groupe_Apprenant = (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) => {
@ -763,7 +781,10 @@ const Groupe_Apprenant = (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) => {
@ -1293,7 +1314,10 @@ const Groupe_Apprenant = (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) => {
@ -1413,7 +1437,10 @@ const Groupe_Apprenant = (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) => {
@ -1551,7 +1578,10 @@ const Groupe_Apprenant = (props) => {
Getall_Partner_Groupe_Inscrit();
alert(res.data.message);
// alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("success");
if (document.getElementById('myRef')) {
// myRef.current.scrollIntoView({ behavior: "smooth" });
@ -1566,7 +1596,10 @@ const Groupe_Apprenant = (props) => {
else {
setAdd_Update_Grp_Apprenant_Data_api("false");
setAdd_Update_Grp_Apprenant_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) => {
@ -1786,7 +1819,10 @@ const Groupe_Apprenant = (props) => {
else {
setGetall_Groupe_Membres_api("false");
setGetall_Groupe_Membres_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) => {
@ -1954,7 +1990,10 @@ const Groupe_Apprenant = (props) => {
Getall_Partner_Groupe_Inscrit();
alert(res.data.message);
// alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("success");
window.scrollTo({
@ -1967,7 +2006,10 @@ const Groupe_Apprenant = (props) => {
else {
setCreate_Automatic_Grp_api("false");
setCreate_Automatic_Grp_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) => {
@ -2024,7 +2066,10 @@ const Groupe_Apprenant = (props) => {
Getall_Partner_Groupe_Inscrit();
alert(res.data.message);
// alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("success");
window.scrollTo({
top: 0,
@ -2036,7 +2081,10 @@ const Groupe_Apprenant = (props) => {
else {
setAutomatic_Split_Membre_No_Grp_Creation_api("false");
setAutomatic_Split_Membre_No_Grp_Creation_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) => {
@ -2119,12 +2167,18 @@ const Groupe_Apprenant = (props) => {
Getall_Partner_Groupe_Inscrit();
alert(res.data.message);
// alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("success");
}
else {
setDelete_LIST_Grp_api("false");
setDelete_LIST_Grp_message(res.data.message);
alert(res.data.message);
// alert(res.data.message);
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
setalert_type("error");
}
@ -2295,13 +2349,38 @@ const Groupe_Apprenant = (props) => {
// FIN EXPORT EXCEL DATAGRID
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="groupe_apprenant">
{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*/}
{/*** Dialog pickup Color */}

View File

@ -496,6 +496,7 @@ const Modules_Mes_Documents = (props) => {
{ "id": "convocation", "label": "Convocation", "value": "convocation" },
{ "id": "attestation", "label": "Attestation", "value": "attestation" },
{ "id": "autre", "label": "Autre", "value": "autre" },
{ "id": "alltypedocument", "label": "Tous les types", "value": "alltypedocument" },
{ "id": "", "label": "", "value": "" },
{ "id": "1", "label": "", "value": "1" }, // Cette ligne pour couvrir l'ajout d'une ligne de filter. C'est fait expres.
]
@ -763,9 +764,6 @@ const Modules_Mes_Documents = (props) => {
const [Get_All_Documents_With_Filter_result, setGet_All_Documents_With_Filter_result] = useState();
function Get_All_Documents_With_Filter() {
console.log(" ### p_date_au = ", p_date_au, " ### p_date_du = ", p_date_du);
setgridline_id("");

View File

@ -1800,8 +1800,8 @@ const Partner = (props) => {
{String(menu) !== "facture" && <MenuItem className="sousmenu" onClick={DisplayFacure} icon={<FcFeedback className="icone_menu" />}> FACTURE MYSY</MenuItem>}
{String(menu) === "facture" && <MenuItem className="sousmenu_selected" onClick={DisplayFacure} icon={<FcFeedback className="icone_menu" />}>FACTURE MYSY</MenuItem>}
{String(menu) !== "tous_mes_document" && <MenuItem className="sousmenu" onClick={Display_Tous_Documents} icon={<FolderZipIcon className="icone_menu" />}> TOUS DOCUMENTS</MenuItem>}
{String(menu) === "tous_mes_document" && <MenuItem className="sousmenu_selected" onClick={Display_Tous_Documents} icon={<FolderZipIcon className="icone_menu" />}> TOUS DOCUMENTS</MenuItem>}
{String(menu) !== "tous_mes_document" && <MenuItem className="sousmenu" onClick={Display_Tous_Documents} icon={<FolderZipIcon className="icone_menu" />}> DOCUMENTS (GED) </MenuItem>}
{String(menu) === "tous_mes_document" && <MenuItem className="sousmenu_selected" onClick={Display_Tous_Documents} icon={<FolderZipIcon className="icone_menu" />}> DOCUMENTS (GED)</MenuItem>}
</SubMenu>
@ -2137,7 +2137,7 @@ const Partner = (props) => {
partner_client_id={""}
partner_owner_recid={conntected_account_partner_owner_recid}
type_user_connected={"partner_account"}
my_title={"MES DOCUMENTS"}
my_title={"Gestion Documentaire"}
/>
</div>
}
@ -2642,7 +2642,7 @@ const Partner = (props) => {
<hr className="my_hr" />
<Tooltip className="tooltip_css" id="tooltip_id_66" />
<a data-tooltip-id="tooltip_id_66" data-tooltip-html="TOUS DOCUMENTS">
<a data-tooltip-id="tooltip_id_66" data-tooltip-html="DOCUMENTS (GED)">
{String(menu) !== "tous_mes_document" && <div className="sousmenu" onClick={Display_Tous_Documents} ><FolderZipIcon className="icone_menu" /> &nbsp;</div>}
{String(menu) === "tous_mes_document" && <div className="sousmenu_selected" onClick={Display_Tous_Documents} > <FolderZipIcon className="icone_menu" />&nbsp;</div>}
</a>

View File

@ -38,12 +38,52 @@ 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 ColorPicker from 'react-pick-color';
import img_loading_spin from "./../mysy_img/mysy_spin_loading.gif";
import { IoAddCircleOutline, IoCloseCircleOutline } from "react-icons/io5";
import { makeStyles } from "@material-ui/core/styles";
import CancelPresentationIcon from '@mui/icons-material/CancelPresentation';
import { IconButton } from '@material-ui/core';
import Paper from '@material-ui/core/Paper';
import Draggable from 'react-draggable';
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: '95%',
top: '-9%',
backgroundColor: 'lightgray',
color: 'gray',
},
}));
const Partner_Configuration_Session_Steps = (props) => {
const classes = useStyles();
const history = useHistory();
const [submenu, setsubmenu] = useState("");
const [rowss, setRows] = useState([]);
@ -66,9 +106,23 @@ const Partner_Configuration_Session_Steps = (props) => {
{ field: 'config_name', headerName: 'Nom étape', flex: 1, hide: false, editable: false },
{ field: 'config_value', headerName: 'Sequence', flex: 1, hide: false, editable: false },
{ field: 'config_comment', headerName: 'Sequence', flex: 1, hide: true, editable: false },
{
field: 'config_couleur', headerName: 'Code couleur', flex: 1, hide: false, editable: false,
renderCell: (cellValues) => {
return (
<div>
<nav style={{
backgroundColor: cellValues.row.config_couleur, borderRadius: '10px', paddingTop: '5px',
minWidth: "5rem"
}}
> &nbsp; </nav>
</div>
)
}
},
{ field: 'config_gagne', headerName: 'Gagne', flex: 1, hide: true, editable: false },
{
field: "delete", headerName: 'Supprimer',
renderCell: (cellValues) => {
@ -164,6 +218,8 @@ const Partner_Configuration_Session_Steps = (props) => {
const [p_detail_config_comment, setp_detail_config_comment] = useState("");
const [p_detail_config_color, setp_detail_config_color] = useState("");
const [Getall_Parter_Session_Steps_api, setGetall_Parter_Session_Steps_api] = useState();
const [Getall_Parter_Session_Steps_message, setGetall_Parter_Session_Steps_message] = useState();
@ -190,7 +246,10 @@ const Partner_Configuration_Session_Steps = (props) => {
else {
setGetall_Parter_Session_Steps_api("false");
setGetall_Parter_Session_Steps_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) => {
@ -238,7 +297,8 @@ const Partner_Configuration_Session_Steps = (props) => {
var local_config_comment = line.session_step_comment;
setp_detail_config_comment(local_config_comment);
var local_config_color = line.session_step_color;
setp_detail_config_color(local_config_color);
Disable_Config_DetailFields();
@ -309,6 +369,7 @@ const Partner_Configuration_Session_Steps = (props) => {
form.append("session_step_name", p_detail_config_point);
form.append("session_step_sequence", p_detail_config_valeur);
form.append("session_step_comment", p_detail_config_comment);
form.append("session_step_color", p_detail_config_color);
//console.log(" form == ", form);
@ -329,14 +390,17 @@ const Partner_Configuration_Session_Steps = (props) => {
setp_detail_config_valeur();
setp_detail_config_point();
setp_detail_config_comment();
setp_detail_config_color('');
setConfig_data_changed();
setconfig_data_edit_mode();
setdisplay_detail_config();
setadd_new_step();
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')) {
var divh = document.getElementById('myRef_head').offsetTop;
window.scrollTo({
@ -349,7 +413,10 @@ const Partner_Configuration_Session_Steps = (props) => {
else {
setUpdate_One_Config_Data_api("false");
setUpdate_One_Config_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) => {
@ -420,7 +487,10 @@ const Partner_Configuration_Session_Steps = (props) => {
else {
setDelete_Personalise_Field_Data_api("false");
setDelete_Personalise_Field_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");
}
@ -480,12 +550,126 @@ const Partner_Configuration_Session_Steps = (props) => {
}
const [Dialog_GRP_COLOR_open, setDialog_GRP_COLOR_open] = React.useState(false);
const Dialog_GRP_COLOR_handleClose_buton = () => {
setDialog_GRP_COLOR_open(false);
};
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="partner_configuration_technique">
{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*/}
{/*** Dialog pickup Color */}
<Dialog
open={Dialog_GRP_COLOR_open}
// onClose={Dialog_GRP_COLOR_handleClose}
static
onClose={() => null}
PaperProps={{
className: classes.paper, // Apply the paper style
style: {
overflowY: 'unset',
position: 'absolute',
//top: '5rem'
},
}}
hideBackdrop={true}
disableScrollLock
classes={{
paper: classes.dialog
}}
className="groupe_apprenant_dialog"
PaperComponent={PaperComponent}
aria-labelledby="draggable-dialog-title"
>
<DialogTitle> Choisir une couleur</DialogTitle>
<DialogContent className="DialogContent_color_pickup_width" >
<DialogContentText>
</DialogContentText>
<div className="session_caract"> Code couleur <br />
<ColorPicker
color="#3573CB"
theme={{
background: 'lightgrey',
inputBackground: 'grey',
borderColor: 'darkgrey',
borderRadius: '8px',
color: 'black',
width: '100px'
}}
name="detail_grp_color"
id="detail_grp_color"
onChange={(color) => {
setp_detail_config_color(color.hex);
setConfig_data_changed("1");
}
}
/>
</div>
</DialogContent>
<DialogActions>
<IconButton
autoFocus
onClick={Dialog_GRP_COLOR_handleClose_buton}
color="primary"
className={classes.customizedButton}
>
<CancelPresentationIcon />
</IconButton>
</DialogActions>
</Dialog>
{/*** Fin ajout pickup Color */}
<Dialog
open={Dialog_1_open}
onClose={Dialog_1_handleClose}
@ -669,6 +853,7 @@ const Partner_Configuration_Session_Steps = (props) => {
config_value: JSON.parse(item).session_step_sequence,
config_comment: JSON.parse(item).session_step_comment,
config_gagne: JSON.parse(item).session_step_gagne,
config_couleur: JSON.parse(item).session_step_color,
}
))}
@ -866,6 +1051,24 @@ const Partner_Configuration_Session_Steps = (props) => {
/>
</div>}
{String(config_data_edit_mode) === "1" && <div className="session_caract"> Code couleur &nbsp; <br />
<nav className="disabled_style" style={{ backgroundColor: p_detail_config_color, cursor: 'pointer', borderRadius: '10px', paddingTop: '15px' }} onClick={(event, value) => {
setDialog_GRP_COLOR_open(true)
}}
> &nbsp; Cliquer pour choisir </nav>
</div>}
{String(config_data_edit_mode) !== "1" && <div className="session_caract"> Code couleur &nbsp;<br />
<nav className="disabled_style" style={{ backgroundColor: p_detail_config_color, borderRadius: '10px', paddingTop: '5px' }}
> &nbsp; </nav>
</div>}
<div>
<div className="div_row" style={{ "border": "None" }}>
&nbsp;
@ -970,6 +1173,14 @@ const Partner_Configuration_Session_Steps = (props) => {
/>
</div>
<div className="session_caract"> Code couleur &nbsp; <br />
<nav className="disabled_style" style={{ backgroundColor: p_detail_config_color, cursor: 'pointer', borderRadius: '10px', paddingTop: '15px' }} onClick={(event, value) => {
setDialog_GRP_COLOR_open(true)
}}
> &nbsp; Cliquer pour choisir </nav>
</div>
<div>
<div className="div_row" style={{ "border": "None" }}>

View File

@ -2768,6 +2768,43 @@
}
// end media
.mode_affichage_selected {
text-underline-offset: 8px;
text-decoration: green wavy underline;
text-decoration-color: #F8C471;
text-decoration-style: solid;
text-decoration-thickness: 5px;
background: #F4F6F6;
box-shadow: 1px 1px 5px 1px rgba(0, 0, 0, 0.1);
border-radius: 5px;
}
.kanban_item_css{
padding: 5px ;
margin-bottom:10px ;
font-size: 0.8em ;
cursor: move ;
background: #f4f6f6 ;
border: 0px solid ;
width: 94% ;
margin-left: 3% ;
min-height: 5rem;
border-left-width: 10px;
}
.kanban_header_css{
text-align: center;
padding: 5px;
font-size: 14px;
border: solid 1px;
margin-bottom: 5px;
}
/* .mode_affichage:hover:active,
.mode_affichage:hover {

View File

@ -27,7 +27,6 @@
}
@media screen and (max-width: 600px) {
.okUpdateData {
font-size: small;