recette2
cherif 2023-12-02 07:06:51 +01:00
parent c6fd46bf36
commit a6b3cfe584
6 changed files with 195 additions and 148 deletions

View File

@ -365,7 +365,7 @@ const Dashbord_Session = (props) => {
const [tdb_title, settdb_title] = useState();
return (
<div className="">
<div className="dashbord_session">
{isLoading && <div className="loader-container">
<div className="mysy_spinner"> <img src={img_loading_spin} /> </div>
</div>}
@ -477,19 +477,14 @@ const Dashbord_Session = (props) => {
</nav>}
</a>
</nav>
<nav style={{ "width": "20rem", "float": "left" }}>
<Tooltip id="my-tooltip02" style={{ "fontSize": "12px" }} />
<a data-tooltip-id="my-tooltip02" data-tooltip-content="Supprimer de ma liste de TBD ==> A ne pas faire ici, mais depuis les TBD du user">
<MdDeleteForever style={{ "cursor": "pointer" }} />
</a>
</nav>
</div>
<Box height="75vh" style={{ "color": "black" }}>
<Box height="50vh" style={{ "color": "black" }}>
&nbsp;
<ResponsiveBar
data={Getall_Qry_Session_Data_result_JSON}
@ -632,6 +627,7 @@ const Dashbord_Session = (props) => {
<br />
<br />
<Box m="20px">
&nbsp;
<div className="titre1"> TBD Session : Nb Session par formateur </div>
<div className="div_row" style={{ "textAlign": "right", "float": "left" }}>
<nav style={{ "width": "20rem", "float": "left" }}>
@ -661,19 +657,14 @@ const Dashbord_Session = (props) => {
</nav>}
</a>
</nav>
<nav style={{ "width": "20rem", "float": "left" }}>
<Tooltip id="my-tooltip02" style={{ "fontSize": "12px" }} />
<a data-tooltip-id="my-tooltip02" data-tooltip-content="Supprimer de ma liste de TBD ==> A ne pas faire ici, mais depuis les TBD du user">
<MdDeleteForever style={{ "cursor": "pointer" }} />
</a>
</nav>
</div>
<br /> <br /> <br />
<Box height="75vh" style={{ "color": "black" }}>
<Box height="50vh" style={{ "color": "black" }}>
&nbsp;
<ResponsiveBar
data={Getall_Qry_Session_Data_By_Trainer_result_JSON}
@ -818,6 +809,7 @@ const Dashbord_Session = (props) => {
<br />
<br />
<Box m="20px">
&nbsp;
<div className="titre1"> TBD Session : Repartition par Formateur </div>
<div className="div_row" style={{ "textAlign": "right", "float": "left" }}>
<nav style={{ "width": "20rem", "float": "left" }}>
@ -847,20 +839,14 @@ const Dashbord_Session = (props) => {
</nav>}
</a>
</nav>
<nav style={{ "width": "20rem", "float": "left" }}>
<Tooltip id="my-tooltip02" style={{ "fontSize": "12px" }} />
<a data-tooltip-id="my-tooltip02" data-tooltip-content="Supprimer de ma liste de TBD ==> A ne pas faire ici, mais depuis les TBD du user">
<MdDeleteForever style={{ "cursor": "pointer" }} />
</a>
</nav>
</div>
<br /> <br /> <br />
<Box height="75vh" style={{ "color": "black" }}>
<Box height="50vh" style={{ "color": "black" }}>
&nbsp;
<ResponsivePie
data={Getall_Qry_Session_Data_Pourcent_Trainer_result_JSON}

View File

@ -69,9 +69,8 @@ import { ResponsiveBar } from "@nivo/bar";
const Dashbord_Session_Par_Fteur = (props) => {
const myconntected_employee_id = props.conntected_employee_id;
const [user_dashbord_id, setuser_dashbord_id] = useState(props.user_dashbord_id);
const [selected_employee_id, setselected_employee_id] = useState(props.conntected_employee_id);
const history = useHistory();
const [isLoading, setLoading] = useState();
@ -161,6 +160,52 @@ const Dashbord_Session_Par_Fteur = (props) => {
})
}
const [Remove_From_User_TBD_api, setRemove_From_User_TBD_api] = useState();
const [Remove_From_User_TBD_message, setRemove_From_User_TBD_message] = useState();
const [Remove_From_User_TBD_result, setRemove_From_User_TBD_result] = useState();
function Remove_From_User_TBD() {
var form = new FormData();
const stored_cookie = getCookie('tokenmysypart');
form.append("token", stored_cookie);
form.append("user_dashbord_id", user_dashbord_id);
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Delete_To_User_Dashbord/";
//console.log(" ## myurl = ", myurl);
setLoading(true);
axios.post(myurl, form).then(res => {
setLoading(false);
if (String(res.data.status) === String("true")) {
//console.log(" In Remove_From_User_TBD res.data.status = " + res.data.status);
//console.log(" In Remove_From_User_TBD res.data.message r_class = " + res.data.message);
setRemove_From_User_TBD_api("true");
setRemove_From_User_TBD_result(res.data.message);
Getall_Qry_Session_Data_By_Trainer();
alert(res.data.message);
window.location.reload();
}
else {
setRemove_From_User_TBD_api("false");
setRemove_From_User_TBD_message(res.data.message);
alert(res.data.message)
}
}).catch((error) => {
setLoading(false);
console.warn('Not good man :( Remove_From_User_TBD = ', error);
setRemove_From_User_TBD_api("false");
alert("Impossible de supprimer le tableau de bord de votre liste");
//setmyApimyApiMessage("")
})
}
const [Getall_Qry_Session_Data_result_JSON, setGetall_Qry_Session_Data_result_JSON] = useState([]);
const [Getall_Qry_Session_Data_api, setGetall_Qry_Session_Data_api] = useState();
@ -356,19 +401,18 @@ const Dashbord_Session_Par_Fteur = (props) => {
behavior: "smooth",
});
}, [myconntected_employee_id])
}, [])
const [filter_value, setfilter_value] = useState("m0");
const [tdb_title, settdb_title] = useState();
return (
<div className="">
<div className="dashbord_session">
{isLoading && <div className="loader-container">
<div className="mysy_spinner"> <img src={img_loading_spin} /> </div>
</div>}
<h3> Tableaux de bord des sessions</h3>
<div className="div_row">
<div className="" style={{ "width": "30%" }}>
Filtre <br />
@ -447,39 +491,16 @@ const Dashbord_Session_Par_Fteur = (props) => {
</div>
<Box m="20px">
&nbsp;
<div className="titre1"> TBD Session : Nb Session par formateur </div>
<div className="div_row" style={{ "textAlign": "right", "float": "left" }}>
<nav style={{ "width": "20rem", "float": "left" }}>
<Tooltip id="my-tooltip01" style={{ "fontSize": "12px" }} />
<a data-tooltip-id="my-tooltip01" data-tooltip-content="Ajouter à ma liste de TBD">
<MdOutlineAddchart onClick={(e) => settdb_title("1")} style={{ "cursor": "pointer" }} /> &nbsp;
{tdb_title && String(tdb_title) === "1" && <nav> <TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
required
name="tdb_title"
id="tdb_title"
text
label="Titre TDB"
InputLabelProps={{
shrink: true,
}}
disabled={false}
className="disabled_style"
/>
<button onClick={(e) => {
setdashbord_internal_code("CODE_SESSION_02")
Add_To_User_TBD("tbd_code_session_02");
}}> Ajouter </button> &nbsp; <button onClick={(e) => settdb_title("0")}> Fermer </button>
</nav>}
</a>
</nav>
<nav style={{ "width": "20rem", "float": "left" }}>
<Tooltip id="my-tooltip02" style={{ "fontSize": "12px" }} />
<a data-tooltip-id="my-tooltip02" data-tooltip-content="Supprimer de ma liste de TBD ==> A ne pas faire ici, mais depuis les TBD du user">
<MdDeleteForever style={{ "cursor": "pointer" }} />
<a data-tooltip-id="my-tooltip02" data-tooltip-content="Supprimer de ma liste de TBD">
<MdDeleteForever style={{ "cursor": "pointer" }} onClick={(e) => {
Remove_From_User_TBD();
}}/>
</a>
</nav>
@ -487,7 +508,7 @@ const Dashbord_Session_Par_Fteur = (props) => {
<br /> <br /> <br />
<Box height="75vh" style={{ "color": "black" }}>
<Box height="50vh" style={{ "color": "black" }}>
<ResponsiveBar
data={Getall_Qry_Session_Data_By_Trainer_result_JSON}

View File

@ -69,9 +69,8 @@ import { ResponsiveBar } from "@nivo/bar";
const Dashbord_Session_Repartition_Fteur = (props) => {
const myconntected_employee_id = props.conntected_employee_id;
const [user_dashbord_id, setuser_dashbord_id] = useState(props.user_dashbord_id);
const [selected_employee_id, setselected_employee_id] = useState(props.conntected_employee_id);
const history = useHistory();
const [isLoading, setLoading] = useState();
@ -161,6 +160,53 @@ const Dashbord_Session_Repartition_Fteur = (props) => {
})
}
const [Remove_From_User_TBD_api, setRemove_From_User_TBD_api] = useState();
const [Remove_From_User_TBD_message, setRemove_From_User_TBD_message] = useState();
const [Remove_From_User_TBD_result, setRemove_From_User_TBD_result] = useState();
function Remove_From_User_TBD() {
var form = new FormData();
const stored_cookie = getCookie('tokenmysypart');
form.append("token", stored_cookie);
form.append("user_dashbord_id", user_dashbord_id);
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Delete_To_User_Dashbord/";
//console.log(" ## myurl = ", myurl);
setLoading(true);
axios.post(myurl, form).then(res => {
setLoading(false);
if (String(res.data.status) === String("true")) {
//console.log(" In Remove_From_User_TBD res.data.status = " + res.data.status);
//console.log(" In Remove_From_User_TBD res.data.message r_class = " + res.data.message);
setRemove_From_User_TBD_api("true");
setRemove_From_User_TBD_result(res.data.message);
Getall_Qry_Session_Data_Pourcent_Trainer();
alert(res.data.message);
window.location.reload();
}
else {
setRemove_From_User_TBD_api("false");
setRemove_From_User_TBD_message(res.data.message);
alert(res.data.message)
}
}).catch((error) => {
setLoading(false);
console.warn('Not good man :( Remove_From_User_TBD = ', error);
setRemove_From_User_TBD_api("false");
alert("Impossible de supprimer le tableau de bord de votre liste");
//setmyApimyApiMessage("")
})
}
const [Getall_Qry_Session_Data_result_JSON, setGetall_Qry_Session_Data_result_JSON] = useState([]);
const [Getall_Qry_Session_Data_api, setGetall_Qry_Session_Data_api] = useState();
@ -357,19 +403,18 @@ const Dashbord_Session_Repartition_Fteur = (props) => {
behavior: "smooth",
});
}, [myconntected_employee_id])
}, [])
const [filter_value, setfilter_value] = useState("m0");
const [tdb_title, settdb_title] = useState();
return (
<div className="">
<div className="dashbord_session">
{isLoading && <div className="loader-container">
<div className="mysy_spinner"> <img src={img_loading_spin} /> </div>
</div>}
<h3> Tableaux de bord des sessions</h3>
<div className="div_row">
<div className="" style={{ "width": "30%" }}>
Filtre <br />
@ -449,39 +494,16 @@ const Dashbord_Session_Repartition_Fteur = (props) => {
<br />
<Box m="20px">
&nbsp;
<div className="titre1"> TBD Session : Repartition par Formateur </div>
<div className="div_row" style={{ "textAlign": "right", "float": "left" }}>
<nav style={{ "width": "20rem", "float": "left" }}>
<Tooltip id="my-tooltip01" style={{ "fontSize": "12px" }} />
<a data-tooltip-id="my-tooltip01" data-tooltip-content="Ajouter à ma liste de TBD">
<MdOutlineAddchart onClick={(e) => settdb_title("1")} style={{ "cursor": "pointer" }} /> &nbsp;
{tdb_title && String(tdb_title) === "1" && <nav> <TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
required
name="tdb_title"
id="tdb_title"
text
label="Titre TDB"
InputLabelProps={{
shrink: true,
}}
disabled={false}
className="disabled_style"
/>
<button onClick={(e) => {
setdashbord_internal_code("CODE_SESSION_03")
Add_To_User_TBD("tbd_code_session_03");
}}> Ajouter </button> &nbsp; <button onClick={(e) => settdb_title("0")}> Fermer </button>
</nav>}
</a>
</nav>
<nav style={{ "width": "20rem", "float": "left" }}>
<Tooltip id="my-tooltip02" style={{ "fontSize": "12px" }} />
<a data-tooltip-id="my-tooltip02" data-tooltip-content="Supprimer de ma liste de TBD ==> A ne pas faire ici, mais depuis les TBD du user">
<MdDeleteForever style={{ "cursor": "pointer" }} />
<a data-tooltip-id="my-tooltip02" data-tooltip-content="Supprimer de ma liste de TBD ">
<MdDeleteForever style={{ "cursor": "pointer" }} onClick={(e) => {
Remove_From_User_TBD();
}} />
</a>
</nav>
@ -489,7 +511,7 @@ const Dashbord_Session_Repartition_Fteur = (props) => {
<br /> <br /> <br />
<Box height="75vh" style={{ "color": "black" }}>
<Box height="50vh" style={{ "color": "black" }}>

View File

@ -69,9 +69,8 @@ import { ResponsiveBar } from "@nivo/bar";
const Dashbord_Session_Taux_Remplissage = (props) => {
const myconntected_employee_id = props.conntected_employee_id;
const [selected_employee_id, setselected_employee_id] = useState(props.conntected_employee_id);
const [user_dashbord_id, setuser_dashbord_id] = useState(props.user_dashbord_id);
const history = useHistory();
const [isLoading, setLoading] = useState();
@ -161,6 +160,52 @@ const Dashbord_Session_Taux_Remplissage = (props) => {
})
}
const [Remove_From_User_TBD_api, setRemove_From_User_TBD_api] = useState();
const [Remove_From_User_TBD_message, setRemove_From_User_TBD_message] = useState();
const [Remove_From_User_TBD_result, setRemove_From_User_TBD_result] = useState();
function Remove_From_User_TBD() {
var form = new FormData();
const stored_cookie = getCookie('tokenmysypart');
form.append("token", stored_cookie);
form.append("user_dashbord_id", user_dashbord_id);
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Delete_To_User_Dashbord/";
console.log(" ## myurl = ", myurl);
setLoading(true);
axios.post(myurl, form).then(res => {
setLoading(false);
if (String(res.data.status) === String("true")) {
//console.log(" In Remove_From_User_TBD res.data.status = " + res.data.status);
//console.log(" In Remove_From_User_TBD res.data.message r_class = " + res.data.message);
setRemove_From_User_TBD_api("true");
setRemove_From_User_TBD_result(res.data.message);
Getall_Qry_Session_Data();
alert(res.data.message);
window.location.reload();
}
else {
setRemove_From_User_TBD_api("false");
setRemove_From_User_TBD_message(res.data.message);
alert(res.data.message)
}
}).catch((error) => {
setLoading(false);
console.warn('Not good man :( Remove_From_User_TBD = ', error);
setRemove_From_User_TBD_api("false");
alert("Impossible de supprimer le tableau de bord de votre liste");
//setmyApimyApiMessage("")
})
}
const [Getall_Qry_Session_Data_result_JSON, setGetall_Qry_Session_Data_result_JSON] = useState([]);
const [Getall_Qry_Session_Data_api, setGetall_Qry_Session_Data_api] = useState();
@ -356,19 +401,17 @@ const Dashbord_Session_Taux_Remplissage = (props) => {
behavior: "smooth",
});
}, [myconntected_employee_id])
}, [])
const [filter_value, setfilter_value] = useState("m0");
const [tdb_title, settdb_title] = useState();
return (
<div className="">
<div className="dashbord_session">
{isLoading && <div className="loader-container">
<div className="mysy_spinner"> <img src={img_loading_spin} /> </div>
</div>}
<h3> Tableaux de bord des sessions</h3>
<div className="div_row">
<div className="" style={{ "width": "30%" }}>
Filtre <br />
@ -446,39 +489,16 @@ const Dashbord_Session_Taux_Remplissage = (props) => {
</div>
<Box m="20px">
&nbsp;
<div className="titre1"> TBD Session : Taux de remplissage </div>
<div className="div_row" style={{ "textAlign": "right", "float": "left" }}>
<nav style={{ "width": "20rem", "float": "left" }}>
<Tooltip id="my-tooltip01" style={{ "fontSize": "12px" }} />
<a data-tooltip-id="my-tooltip01" data-tooltip-content="Ajouter à ma liste de TBD">
<MdOutlineAddchart onClick={(e) => settdb_title("1")} style={{ "cursor": "pointer" }} /> &nbsp;
{tdb_title && String(tdb_title) === "1" && <nav> <TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
required
name="tdb_title"
id="tdb_title"
text
label="Titre TDB"
InputLabelProps={{
shrink: true,
}}
disabled={false}
className="disabled_style"
/>
<button onClick={(e) => {
setdashbord_internal_code("CODE_SESSION_01")
Add_To_User_TBD("tbd_code_session_01");
}}> Ajouter </button> &nbsp; <button onClick={(e) => settdb_title("0")}> Fermer </button>
</nav>}
</a>
</nav>
<nav style={{ "width": "20rem", "float": "left" }}>
<Tooltip id="my-tooltip02" style={{ "fontSize": "12px" }} />
<a data-tooltip-id="my-tooltip02" data-tooltip-content="Supprimer de ma liste de TBD ==> A ne pas faire ici, mais depuis les TBD du user">
<MdDeleteForever style={{ "cursor": "pointer" }} />
<a data-tooltip-id="my-tooltip02" data-tooltip-content="Supprimer de ma liste de TBD">
<MdDeleteForever style={{ "cursor": "pointer" }} onClick={(e) => {
Remove_From_User_TBD();
}}/>
</a>
</nav>
@ -486,7 +506,7 @@ const Dashbord_Session_Taux_Remplissage = (props) => {
<Box height="75vh" style={{ "color": "black" }}>
<Box height="50vh" style={{ "color": "black" }}>
<ResponsiveBar
data={Getall_Qry_Session_Data_result_JSON}

View File

@ -125,32 +125,29 @@ const Mon_Tableau_De_Bord = (props) => {
<h3> Mon tableau de bord </h3>
La liste de mes tableaux de bord <br />
<div className="div_row"> &nbsp;</div>
{Get_Connected_User_Dashbord_result &&
Get_Connected_User_Dashbord_result.map((step) => (
<div className="div_row">
{JSON.parse(step).dashbord_internal_code}&nbsp; Filtre : {JSON.parse(step).default_filter}
<div className="div_row" style={{ "width": "50%", "float": "left" }}>
{String(JSON.parse(step).dashbord_internal_code) === "tbd_code_session_01" &&
<div>
<Dashbord_Session_Taux_Remplissage />
</div>}
<Dashbord_Session_Taux_Remplissage user_dashbord_id={String(JSON.parse(step)._id)} />
}
{String(JSON.parse(step).dashbord_internal_code) === "tbd_code_session_02" &&
<div>
<Dashbord_Session_Par_Fteur />
<Dashbord_Session_Par_Fteur user_dashbord_id={String(JSON.parse(step)._id)} />
</div>}
}
{String(JSON.parse(step).dashbord_internal_code) === "tbd_code_session_03" &&
<div>
<Dashbord_Session_Repartition_Fteur />
</div>}
<Dashbord_Session_Repartition_Fteur user_dashbord_id={String(JSON.parse(step)._id)} />
}
</div>

View File

@ -68,6 +68,7 @@ import { ImWarning } from "react-icons/im";
import Dropdown from 'rsuite/Dropdown';
//import 'rsuite/dist/rsuite.min.css';
import { AiOutlineDashboard } from "react-icons/ai";
const Partner = (props) => {
const { commingmenu, commingpack } = useParams();
@ -1101,8 +1102,8 @@ const Partner = (props) => {
<div class="separator"> Mon Compte </div>
{String(menu) !== "mon_tableau_de_bord" && <div className="sousmenu" onClick={mon_tableau_de_bord_func}> <FcHome className="icone_menu" /> MON TABLEAU DE BORD</div>}
{String(menu) === "mon_tableau_de_bord" && <div className="sousmenu_selected" onClick={mon_tableau_de_bord_func} > <FcHome className="icone_menu" /> MON TABLEAU DE BORD</div>}
{String(menu) !== "mon_tableau_de_bord" && <div className="sousmenu" onClick={mon_tableau_de_bord_func}> <AiOutlineDashboard className="icone_menu" /> MON TABLEAU DE BORD</div>}
{String(menu) === "mon_tableau_de_bord" && <div className="sousmenu_selected" onClick={mon_tableau_de_bord_func} > <AiOutlineDashboard className="icone_menu" /> MON TABLEAU DE BORD</div>}
<hr className="my_hr" />
{String(menu) !== "infopartner" && <div className="sousmenu" onClick={PersonnalData}> <FcHome className="icone_menu" /> MES INFORMATIONS</div>}