18/08/2024 - 16h55

recette2
cherif 2024-08-19 16:25:05 +02:00
parent af4b8bf7b7
commit a84d78b3d1
13 changed files with 641 additions and 315 deletions

View File

@ -459,7 +459,7 @@ const AddClassManual = (props) => {
const [Getall_Class_List_UE_api, setGetall_Class_List_UE_api] = useState();
const [Getall_Class_List_UE_message, setGetall_Class_List_UE_message] = useState();
const [Getall_Class_List_UE_result, setGetall_Class_List_UE_result] = useState();
const [Getall_Class_List_UE_result, setGetall_Class_List_UE_result] = useState([]);
function Getall_Class_List_UE(event) {
var form = new FormData();
@ -740,7 +740,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

@ -3313,7 +3313,7 @@ const AddParnerClient = (props) => {
<Button variant="outlined" onClick={submenu_activite} className="detail_submenu client_menu" id='submenu_activite' name='submenu_activite'>Activité</Button>
<Button variant="outlined" onClick={submenu_piece_jointe} className="detail_submenu client_menu" id='submenu_piece_jointe' name='submenu_piece_jointe'>Pièces Jointes</Button>
{/* zzzzz <Button variant="outlined" onClick={submenu_devis} className="detail_submenu" id='submenu_devis' name='submenu_devis'>Devis</Button>
{/* <Button variant="outlined" onClick={submenu_devis} className="detail_submenu" id='submenu_devis' name='submenu_devis'>Devis</Button>
<Button variant="outlined" onClick={submenu_cmd} className="detail_submenu" id='submenu_cmd' name='submenu_cmd'>Commandes</Button>
<Button variant="outlined" onClick={submenu_factures} className="detail_submenu" id='submenu_factures' name='submenu_factures'>Factures</Button>
<Button variant="outlined" onClick={submenu_stagiaires} className="detail_submenu" id='submenu_stagiaires' name='submenu_stagiaires'>Stagiaires</Button>*/}

View File

@ -8,7 +8,7 @@ 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 { FcViewDetails, FcDisapprove } from "react-icons/fc";
import 'react-tooltip/dist/react-tooltip.css'
import { Tooltip } from 'react-tooltip'
@ -451,7 +451,7 @@ const Apprenant = (props) => {
<div className="gest_actions">
<div style={{ "width": "45%", "float": "left" }}>
<button className="gest_bton_popup" onClick={(event) => {
//handleClick_delete_Apprenant(event, cellValues);
handleClick_delete_suivi_pedago(event, cellValues);
close();
}}> Valider </button>
@ -482,6 +482,71 @@ const Apprenant = (props) => {
]
function handleClick_delete_suivi_pedago(event, cellValues) {
setsuivi_pedago_gridline_id('');
setdisplay_given_suivi_ped('');
setgiven_suivi_ped_changed('');
setgiven_suivi_ped_data_edit_mode('');
setadd_one_suivi_ped("");
var local_apprenant_id = cellValues.row._id;
Delete_Suivi_Pedago_Data(local_apprenant_id);
}
const [Delete_Suivi_Pedago_Data_api, setDelete_Suivi_Pedago_Data_api] = useState();
const [Delete_Suivi_Pedago_Data_message, setDelete_Suivi_Pedago_Data_message] = useState();
const [Delete_Suivi_Pedago_Data_result, setDelete_Suivi_Pedago_Data_result] = useState();
function Delete_Suivi_Pedago_Data(suivi_pedago_id) {
var form = new FormData();
const stored_cookie = getCookie('tokenmysypart');
form.append("token", stored_cookie);
form.append("_id", suivi_pedago_id);
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Delete_Suivi_Pedagogique/";
setLoading(true);
axios.post(myurl, form).then(res => {
//console.log(" In Delete_Suivi_Pedago_Data res.data.status = " + res.data.status);
//console.log(" In Delete_Suivi_Pedago_Data res.data.message r_class = " + res.data.message);
setLoading(false);
if (String(res.data.status) === String("true")) {
setDelete_Suivi_Pedago_Data_api("true");
setDelete_Suivi_Pedago_Data_result(res.data.message);
setselectionModel_suivi_pedagogique([]);
setsuivi_pedago_gridline_id('');
setdisplay_given_suivi_ped('');
setgiven_suivi_ped_changed('');
setgiven_suivi_ped_data_edit_mode('');
setadd_one_suivi_ped("");
Get_Appenant_List_Suivi_Pedagogique(selected_apprenant_id);
alert(res.data.message);
}
else {
setDelete_Suivi_Pedago_Data_api("false");
setDelete_Suivi_Pedago_Data_message(res.data.message);
alert(res.data.message);
}
}).catch((error) => {
setLoading(false);
console.log('Delete_Suivi_Pedago_Data : Not good man :( Delete_Suivi_Pedago_Data = ' + error);
setDelete_Suivi_Pedago_Data_api("false");
alert(" Impossible de supprimer le suivi pédagogique ");
})
}
function handleClick_delete_Apprenant(event, cellValues) {
setgridline_id('');
@ -1999,6 +2064,9 @@ const Apprenant = (props) => {
const [gridline_id, setgridline_id] = useState("");
const [suivi_pedago_gridline_id, setsuivi_pedago_gridline_id] = useState("");
const [Get_Partner_Object_Specific_Fields_apprenant_api, setGet_Partner_Object_Specific_Fields_apprenant_api] = useState();
const [Get_Partner_Object_Specific_Fields_apprenant_message, setGet_Partner_Object_Specific_Fields_apprenant_message] = useState();
const [Get_Partner_Object_Specific_Fields_apprenant_result, setGet_Partner_Object_Specific_Fields_apprenant_result] = useState();
@ -2464,9 +2532,19 @@ const Apprenant = (props) => {
form.append("session_id", p_detail_suivi_ped_session_id);
form.append("date_heure_debut", p_detail_suivi_ped_eval_date_heure_debut);
form.append("date_heure_fin", p_detail_suivi_ped_eval_date_heure_fin);
form.append("observation", p_detail_suivi_ped_observation);
form.append("commentaire", p_detail_suivi_ped_comment);
var observation = "";
if (editorRef_observation.current) {
observation = editorRef_observation.current.getContent();
}
form.append("observation", observation);
var commentaire = "";
if (editorRef_comment.current) {
commentaire = editorRef_comment.current.getContent();
}
form.append("commentaire", commentaire);
var myurl = "";
@ -2479,6 +2557,8 @@ const Apprenant = (props) => {
}
//console.log(" ### form = ", form);
setLoading(true);
axios.post(myurl, form).then(res => {
@ -2495,6 +2575,13 @@ const Apprenant = (props) => {
Get_Appenant_List_Suivi_Pedagogique(selected_apprenant_id);
setgiven_suivi_ped_changed("");
setgiven_suivi_ped_data_edit_mode("");
setadd_one_suivi_ped("");
if (!selected_suivi_pedagogique_id || String(selected_suivi_pedagogique_id).length < 5) {
setsuivi_pedago_gridline_id("");
}
alert(res.data.message);
if (document.getElementById('myRef')) {
@ -3347,6 +3434,7 @@ const Apprenant = (props) => {
const myRef = useRef(null)
const myRef_detail_suivi_ped = useRef(null)
/*
*** ALGORITHME
@ -4484,12 +4572,6 @@ const Apprenant = (props) => {
};
const [display_given_suivi_ped, setdisplay_given_suivi_ped] = useState("");
const [given_suivi_ped_changed, setgiven_suivi_ped_changed] = useState("");
const [given_suivi_ped_data_edit_mode, setgiven_suivi_ped_data_edit_mode] = useState("");
const [add_one_suivi_ped, setadd_one_suivi_ped] = useState("");
function add_suivi_ped_funct() {
Clear_Suivi_Pedago_Field();
@ -4580,16 +4662,16 @@ const Apprenant = (props) => {
}
if (mylocaltraining.observation) {
setp_detail_suivi_ped_observation(mylocaltraining.observation);
setfield_contenu_observation(mylocaltraining.observation);
} else {
setp_detail_suivi_ped_observation("");
setfield_contenu_observation("");
}
if (mylocaltraining.commentaire) {
setp_detail_suivi_ped_comment(mylocaltraining.commentaire);
setfield_contenu_comment(mylocaltraining.commentaire);
} else {
setp_detail_suivi_ped_comment("");
setfield_contenu_comment("");
}
@ -4624,14 +4706,17 @@ const Apprenant = (props) => {
if (document.getElementById('detail_apprenant')) {
if (document.getElementById('myRef_detail_suivi_ped')) {
// myRef.current.scrollIntoView({ behavior: "smooth" });
var divh = document.getElementById('detail_apprenant').offsetTop;
var divh = document.getElementById('myRef_detail_suivi_ped').offsetTop;
window.scrollTo({
top: divh,
behavior: "smooth",
});
}
Disable_Suivi_Pedago_Fields();
}
} else if (String(res.data.status) === String("Err_Connexion")) {
@ -4657,6 +4742,70 @@ const Apprenant = (props) => {
}
const [display_given_suivi_ped, setdisplay_given_suivi_ped] = useState("");
const [given_suivi_ped_changed, setgiven_suivi_ped_changed] = useState("");
const [given_suivi_ped_data_edit_mode, setgiven_suivi_ped_data_edit_mode] = useState("");
const [add_one_suivi_ped, setadd_one_suivi_ped] = useState("");
function Disable_Suivi_Pedago_Fields() {
setgiven_suivi_ped_data_edit_mode("");
const list_fields = ['suivi_pedago_detail_ftion', 'suivi_pedago_detail_classe', 'suivi_pedago_detail_ue',
'suivi_pedago_detail_debut', 'suivi_pedago_detail_fin', 'suivi_pedago_responsable',
'suivi_pedago_observation', 'suivi_pedago_comment']
for (let i = 0; i < list_fields.length; i++) {
if (document.getElementsByName(String(list_fields[i])) && document.getElementsByName(String(list_fields[i]))[0]) {
document.getElementsByName(String(list_fields[i]))[0].disabled = true;
document.getElementsByName(String(list_fields[i]))[0].style.backgroundColor = "#ECEFF1";
}
}
}
function Enable_Suivi_Pedago_Fields() {
setgiven_suivi_ped_data_edit_mode("1");
const list_fields = ['suivi_pedago_detail_ftion', 'suivi_pedago_detail_classe', 'suivi_pedago_detail_ue',
'suivi_pedago_detail_debut', 'suivi_pedago_detail_fin', 'suivi_pedago_responsable',
'suivi_pedago_observation', 'suivi_pedago_comment']
for (let i = 0; i < list_fields.length; i++) {
if (document.getElementsByName(String(list_fields[i])) && document.getElementsByName(String(list_fields[i]))[0]) {
document.getElementsByName(String(list_fields[i]))[0].disabled = false;
document.getElementsByName(String(list_fields[i]))[0].style.backgroundColor = "#FFFFFF";
}
}
}
const [field_contenu_observation, setfield_contenu_observation] = useState("");
const editorRef_observation = useRef(null);
const [editorRef_observation_limite, seteditorRef_observation_limite] = useState(800);
function field_contenu_observation_keyup() {
setgiven_suivi_ped_changed("1");
}
const [field_contenu_comment, setfield_contenu_comment] = useState("");
const editorRef_comment = useRef(null);
const [editorRef_comment_limite, seteditorRef_comment_limite] = useState(800);
function field_contenu_comment_keyup() {
setgiven_suivi_ped_changed("1");
}
function cancel_edit_suivi_ped() {
setgiven_suivi_ped_data_edit_mode("");
setgiven_suivi_ped_changed("");
Get_Geven_Suivi_Ped_Data(selected_suivi_pedagogique_id);
}
return (
<div className="apprenant">
@ -7351,8 +7500,10 @@ const Apprenant = (props) => {
</div>}
{String(display_menu_suivi_pedagogique) === "1" && String(add_One_Apprenant) !== "1" && selected_apprenant_id && <div className="div_row" style={{ "border": "None", "background": '#F8F9F9', "padding": '5px' }}>
<nav style={{ "border": "None", "fontSize": "22px", "fontWeight": "600" }}> Suivi pédagoqigue</nav>
<div className="session_data" ref={myRef_head} id="myRef_head">
@ -7365,17 +7516,6 @@ const Apprenant = (props) => {
height: 500,
width: '100%',
paddingRight: '1px',
'& .cell--presentiel': {
backgroundColor: '#a2cf6e',
color: '#1a3e72',
fontWeight: 'bold',
},
'& .cell--distantiel': {
backgroundColor: '#ffac33',
color: '#1a3e72',
fontWeight: 'light',
},
@ -7429,11 +7569,14 @@ const Apprenant = (props) => {
onRowDoubleClick={(newSelectionModel) => {
setselected_suivi_pedagogique_id(newSelectionModel.row._id);
setsuivi_pedago_gridline_id(newSelectionModel.row.id);
Get_Geven_Suivi_Ped_Data(newSelectionModel.row._id);
setdisplay_given_suivi_ped("1");
setadd_one_suivi_ped("");
setgiven_suivi_ped_data_edit_mode("");
setselected_suivi_pedagogique_id(newSelectionModel.row._id);
//console.log(" setselected_suivi_pedagogique_id = ", newSelectionModel.row._id);
}}
@ -7457,7 +7600,7 @@ const Apprenant = (props) => {
getRowClassName={(params) => {
// Pour la gestion de la couleur de zone double cliquée
if (String(params.row.id) === String(gridline_id)) {
if (String(params.row.id) === String(suivi_pedago_gridline_id)) {
return 'line--statut--selected';
}
else if (parseInt(String(params.row.id)) % 2 === 0) {
@ -7510,7 +7653,8 @@ const Apprenant = (props) => {
</div>
<div>
<div className="div_row" ref={myRef_detail_suivi_ped} id="myRef_detail_suivi_ped">
{String(add_one_suivi_ped) === "1" && String(display_given_suivi_ped) !== "1" && <div>
@ -7745,17 +7889,442 @@ const Apprenant = (props) => {
{String(add_one_suivi_ped) !== "1" && String(display_given_suivi_ped) === "1" && <div>
<nav style={{ "border": "None", "fontSize": "22px", "fontWeight": "600" }}> Détail suivi pédagogique</nav>
affichage suivi Pedagogique
{String(apprenant_data_edit_mode) !== "1" && <div>
en mode lecture
{String(given_suivi_ped_data_edit_mode) !== "1" && <div className="div_row" style={{ "border": "None" }}>
en mode lecture <br />
<div className="session_caract"> <b>Formation </b> <br />
{New_Getall_Partner_Class_Reduice_Fields_result && New_Getall_Partner_Class_Reduice_Fields_result.length > 0 && <TextField
name="suivi_pedago_detail_ftion"
id="suivi_pedago_detail_ftion"
text
InputLabelProps={{
shrink: true,
}}
inputProps={{ min: "0", max: "1", step: "1" }}
disabled={false}
className="disabled_style"
value={New_Getall_Partner_Class_Reduice_Fields_result.filter((data) => (data)._id === String(p_detail_suivi_ped_class_id))[0].label}
/>}
</div>
<div className="session_caract"> <b> Classe </b> <br />
{New_Getall_Partner_Session_Reduice_Fields_result && New_Getall_Partner_Session_Reduice_Fields_result.length > 0 && <TextField
name="suivi_pedago_detail_classe"
id="suivi_pedago_detail_classe"
text
InputLabelProps={{
shrink: true,
}}
inputProps={{ min: "0", max: "1", step: "1" }}
disabled={false}
className="disabled_style"
value={New_Getall_Partner_Session_Reduice_Fields_result.filter((data) => (data)._id === String(p_detail_suivi_ped_session_id))[0].label}
/>}
</div>
<div className="session_caract"> <b>Unite D'enseignement </b> <br />
{New_Getall_Partner_List_UE_result && New_Getall_Partner_List_UE_result.length > 0 && <TextField
name="suivi_pedago_detail_ue"
id="suivi_pedago_detail_ue"
text
InputLabelProps={{
shrink: true,
}}
inputProps={{ min: "0", max: "1", step: "1" }}
disabled={false}
className="disabled_style"
value={New_Getall_Partner_List_UE_result.filter((data) => (data)._id === String(p_detail_suivi_ped_class_eu_id))[0].label}
/>}
</div>
<div className="session_caract" > <b> Début </b><br />
<TextField
name="suivi_pedago_detail_debut"
id="suivi_pedago_detail_debut"
text
InputLabelProps={{
shrink: true,
}}
inputProps={{ min: "0", max: "1", step: "1" }}
disabled={false}
className="disabled_style"
value={p_detail_suivi_ped_eval_date_heure_debut}
/>
</div>
<div className="session_caract"> <b>Fin </b> <br />
<TextField
name="suivi_pedago_detail_fin"
id="suivi_pedago_detail_fin"
text
InputLabelProps={{
shrink: true,
}}
inputProps={{ min: "0", max: "1", step: "1" }}
disabled={false}
className="disabled_style"
value={p_detail_suivi_ped_eval_date_heure_fin}
/>
</div>
<div className="session_caract"> Responsable <br />
{New_Getall_Training_Employee_No_Filter_result && New_Getall_Training_Employee_No_Filter_result.length > 0 && <TextField
name="suivi_pedago_responsable"
id="suivi_pedago_responsable"
text
InputLabelProps={{
shrink: true,
}}
inputProps={{ min: "0", max: "1", step: "1" }}
disabled={false}
className="disabled_style"
value={New_Getall_Training_Employee_No_Filter_result.filter((data) => (data)._id === String(p_detail_suivi_ped_responsable_id))[0].label}
/>}
</div>
<div className="div_row" >
Observation <br />
<div style={{ marginLeft: '1%', 'marginRight': '1%' }}>
<Editor
onInit={(evt, editor) => editorRef_observation.current = editor}
initialValue={field_contenu_observation}
onKeyUp={field_contenu_observation_keyup}
//disabled={false}
init={{
resize: false,
height: 300,
menubar: false,
editable_root: false,
plugins: [
'advlist autolink lists link image charmap print preview anchor',
'searchreplace visualblocks code fullscreen',
'insertdatetime media table paste code help wordcount'
],
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px; }'
}}
/>
</div>
</div>
<div className="div_row" >
Commentaire <br />
<div style={{ marginLeft: '1%', 'marginRight': '1%' }}>
<Editor
onInit={(evt, editor) => editorRef_comment.current = editor}
initialValue={field_contenu_comment}
onKeyUp={field_contenu_comment_keyup}
//disabled={false}
init={{
resize: false,
height: 300,
menubar: false,
editable_root: false,
plugins: [
'advlist autolink lists link image charmap print preview anchor',
'searchreplace visualblocks code fullscreen',
'insertdatetime media table paste code help wordcount'
],
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px; }'
}}
/>
</div>
</div>
</div>
}
{String(apprenant_data_edit_mode) === "1" && <div>
en mode edit
{String(given_suivi_ped_data_edit_mode) === "1" && <div>
en mode edit<br />
<div className="session_caract"> <b>Formation </b> <br />
{New_Getall_Partner_Class_Reduice_Fields_result && New_Getall_Partner_Class_Reduice_Fields_result.length > 0 &&
<Autocomplete
disablePortal
name="suivi_pedago_detail_ftion"
id="suivi_pedago_detail_ftion"
className="disabled_style"
//className="disabled_style enable_style"
options={New_Getall_Partner_Class_Reduice_Fields_result}
value={New_Getall_Partner_Class_Reduice_Fields_result.filter((data) => (data)._id === String(p_detail_suivi_ped_class_id))[0].label}
//value={New_Getall_Partner_Session_Reduice_Fields_result.filter((data) => (data)._id === String(p_detail_class_id))[0].label}
onChange={(event, value) => {
if (value && value._id) {
Get_List_UE_From_Class_Id(value._id);
setp_detail_suivi_ped_class_id(value._id);
setp_detail_suivi_ped_class_internal_url(value.internal_url);
} else {
Get_List_UE_From_Class_Id("");
setp_detail_suivi_ped_class_id("");
setp_detail_suivi_ped_class_internal_url("");
}
setgiven_suivi_ped_changed("1");
// Quand on modifie la formation, la session et l'UE sont reinitialitées
setp_detail_suivi_ped_session_id("");
setp_detail_suivi_ped_class_eu_id("");
}}
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une option"
inputProps={{ ...params.inputProps, style: { fontSize: 12, height: "1.4rem" } }}
/>
}
/>
}
</div>
<div className="session_caract"> <b> Classe </b> <br />
{New_Getall_Partner_Session_Reduice_Fields_result && New_Getall_Partner_Session_Reduice_Fields_result.length > 0 &&
<Autocomplete
disablePortal
name="suivi_pedago_detail_classe"
id="suivi_pedago_detail_classe"
className="disabled_style"
//className="disabled_style enable_style"
options={New_Getall_Partner_Session_Reduice_Fields_result.filter((data) => (data).class_internal_url === String(p_detail_suivi_ped_class_internal_url))}
value={New_Getall_Partner_Session_Reduice_Fields_result.filter((data) => (data)._id === String(p_detail_suivi_ped_session_id))[0].label}
onChange={(event, value) => {
if (value && value._id) {
setp_detail_suivi_ped_session_id(value._id);
} else {
setp_detail_suivi_ped_session_id("");
}
setgiven_suivi_ped_changed("1");
}}
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une option"
inputProps={{ ...params.inputProps, style: { fontSize: 12, height: "1.4rem" } }}
/>
}
/>
}
</div>
<div className="session_caract"> <b>Unite D'enseignement </b> <br />
{New_Get_List_UE_From_Class_Id_result &&
<Autocomplete
disablePortal
name="suivi_pedago_detail_ue"
id="suivi_pedago_detail_ue"
className="disabled_style"
//className="disabled_style enable_style"
options={New_Get_List_UE_From_Class_Id_result.filter((data) => (data).class_id === String(p_detail_suivi_ped_class_id))}
value={New_Getall_Partner_List_UE_result.filter((data) => (data)._id === String(p_detail_suivi_ped_class_eu_id))[0].label}
// value={New_Get_List_UE_From_Class_Id_result.filter((data) => (data)._id === String(p_detail_class_eu_id))[0].label}
onChange={(event, value) => {
if (value && value._id) {
//console.log("### value = ", value);
setp_detail_suivi_ped_class_eu_id(value._id);
} else {
setp_detail_suivi_ped_class_eu_id("");
}
setgiven_suivi_ped_changed("1");
}}
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une option"
inputProps={{ ...params.inputProps, style: { fontSize: 12, height: "1.4rem" } }}
/>
}
/>
}
</div>
<div className="session_caract" > <b> Début </b><br />
<DatePicker
name="suivi_pedago_detail_debut"
id="suivi_pedago_detail_debut"
selected={new Date(moment(p_detail_suivi_ped_eval_date_heure_debut, "DD/MM/YYYY hh:mm"))}
onChange={(date) => {
setp_detail_suivi_ped_eval_date_heure_debut(format(date, 'dd/MM/yyyy HH:mm'));
setgiven_suivi_ped_changed("1");
}
}
className="disabled_style enable_style"
locale='fr-FR'
showTimeSelect
timeFormat="HH:mm"
timeIntervals={15}
dateFormat="dd/MM/yyyy HH:mm"
is24Hour
/>
</div>
<div className="session_caract"> <b>Fin </b> <br />
<DatePicker
name="suivi_pedago_detail_fin"
id="suivi_pedago_detail_fin"
selected={new Date(moment(p_detail_suivi_ped_eval_date_heure_fin, "DD/MM/YYYY hh:mm"))}
onChange={(date) => {
setp_detail_suivi_ped_eval_date_heure_fin(format(date, 'dd/MM/yyyy HH:mm'));
setgiven_suivi_ped_changed("1");
}
}
className="disabled_style enable_style"
locale='fr-FR'
showTimeSelect
timeFormat="HH:mm"
timeIntervals={15}
dateFormat="dd/MM/yyyy HH:mm"
is24Hour
/>
</div>
<div className="session_caract"> Responsable <br />
{New_Getall_Training_Employee_No_Filter_result && New_Getall_Training_Employee_No_Filter_result.length > 0 &&
<Autocomplete
disablePortal
name="suivi_pedago_responsable"
id="suivi_pedago_responsable"
className="disabled_style"
//className="disabled_style enable_style"
options={New_Getall_Training_Employee_No_Filter_result}
value={New_Getall_Training_Employee_No_Filter_result.filter((data) => (data)._id === String(p_detail_suivi_ped_responsable_id))[0].label}
onChange={(event, value) => {
if (value && value._id) {
setp_detail_suivi_ped_responsable_id(value._id);
} else {
setp_detail_suivi_ped_responsable_id("");
}
setgiven_suivi_ped_changed("1");
}}
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une option"
inputProps={{ ...params.inputProps, style: { fontSize: 12, height: "1.4rem" } }}
/>
}
/>
}
</div>
<div className="div_row" >
Observation <br />
<div style={{ marginLeft: '1%', 'marginRight': '1%' }}>
<Editor
onInit={(evt, editor) => editorRef_observation.current = editor}
initialValue={field_contenu_observation}
onKeyUp={field_contenu_observation_keyup}
//disabled={false}
init={{
resize: false,
height: 300,
menubar: false,
editable_root: true,
plugins: [
'advlist autolink lists link image charmap print preview anchor',
'searchreplace visualblocks code fullscreen',
'insertdatetime media table paste code help wordcount'
],
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px; }'
}}
/>
</div>
</div>
<div className="div_row" >
Commentaire <br />
<div style={{ marginLeft: '1%', 'marginRight': '1%' }}>
<Editor
onInit={(evt, editor) => editorRef_comment.current = editor}
initialValue={field_contenu_comment}
onKeyUp={field_contenu_comment_keyup}
//disabled={false}
init={{
resize: false,
height: 300,
menubar: false,
editable_root: true,
plugins: [
'advlist autolink lists link image charmap print preview anchor',
'searchreplace visualblocks code fullscreen',
'insertdatetime media table paste code help wordcount'
],
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px; }'
}}
/>
</div>
</div>
</div>
}
@ -7768,15 +8337,15 @@ const Apprenant = (props) => {
<div className="div_row" style={{ "border": "None", "color": "orange", "textAlign": "center" }}>
{String(given_suivi_ped_changed) === "1" && String(given_suivi_ped_data_edit_mode) === "1" && <div className="div_row_gauche" style={{ "textAlign": 'left', 'marginLeft': '15px' }}>
{String(given_suivi_ped_changed) === "1" && <div className="div_row_gauche" style={{ "textAlign": 'left', 'marginLeft': '15px' }}>
<Button variant="contained" className="bton_enreg" onClick={"Add_Update_Evaluation_Data"}>Enregistrer les modifications
<Button variant="contained" className="bton_enreg" onClick={Add_Update_Suiv_Pedagogique}>Enregistrer les modifications
</Button>
</div>}
{String(given_suivi_ped_data_edit_mode) === "1" && <div className="div_row_droite" style={{ "textAlign": 'right', 'marginRight': '15px' }} >
<Button variant="contained" className="bton_annule" onClick={"Annule_Evaluaton_DetailFields"}>Annuler
<Button variant="contained" className="bton_annule" onClick={cancel_edit_suivi_ped}>Annuler
</Button>
</div>}
</div>
@ -7784,7 +8353,7 @@ const Apprenant = (props) => {
{String(given_suivi_ped_data_edit_mode) !== "1" && <div className="div_row_droite" style={{ "textAlign": 'right', 'marginRight': '15px' }}>
<Button variant="contained" className="bton_edit" onClick={"Enable_Evaluation_DetailFields"}>Editer
<Button variant="contained" className="bton_edit" onClick={Enable_Suivi_Pedago_Fields}>Editer
</Button>
@ -7801,6 +8370,7 @@ const Apprenant = (props) => {
</div>
</div>}

View File

@ -7726,7 +7726,7 @@ const DisplayPartnerSession = (props) => {
async function actionmass_ftion_Traitemet() {
// zzzzz
//
var liste_session = ""
if (display_session_with_alert && display_session_with_alert === true)
liste_session = GetSelectedRowsSession_filtered_on_alert();
@ -13634,24 +13634,7 @@ const DisplayPartnerSession = (props) => {
/>}
{/* <TextField
name="filtre1"
label="Choisir un champ"
select
sx={{ m: 1, width: '100%' }}
value={p_filtre1}
onChange={(e) => {
setp_filtre1(e.target.value)
}}
>
<MenuItem value="code_session" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }}>Code Session &nbsp;&nbsp;</MenuItem>
<MenuItem value="class_external_code" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Code Formation (code externe) &nbsp;</MenuItem>
<MenuItem value="class_title" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Titre Formation &nbsp;</MenuItem>
<MenuItem value="session_start_date" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Date début session &nbsp;</MenuItem>
<MenuItem value="session_end_date" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Date fin session &nbsp;</MenuItem>
</TextField>*/}
</div>
@ -13734,26 +13717,7 @@ const DisplayPartnerSession = (props) => {
/>
}
/>}
{/*<TextField
name="filtre2"
label="Choisir un champ"
select
sx={{ m: 1, width: '100%' }}
options={filters}
value={p_filtre2}
onChange={(e) => {
setp_filtre2(e.target.value)
}}
>
<MenuItem value="code_session" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }}>Code Session &nbsp;&nbsp;</MenuItem>
<MenuItem value="class_external_code" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Code Formation (code externe) &nbsp;</MenuItem>
<MenuItem value="class_title" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Titre Formation &nbsp;</MenuItem>
<MenuItem value="session_start_date" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Date début session &nbsp;</MenuItem>
<MenuItem value="session_end_date" style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%" }} >Date fin session &nbsp;</MenuItem>
</TextField>*/}
</div>
<div className="div_row_droite texte_area_filter" >
{String(p_filtre2).length > 3 &&
@ -15004,31 +14968,7 @@ const DisplayPartnerSession = (props) => {
}
/>
{/*<TextField
name="session_etape"
id="session_etape"
select
InputLabelProps={{
shrink: true,
}}
inputProps={{ min: "0", max: "1", step: "1" }}
disabled={false}
className="disabled_style enable_style"
value={p_session_etape}
onChange={(e) => {
setp_session_etape(e.target.value);
IssessionChanged();
}}
>
{Getall_Parter_OR_Default_Session_Steps_result &&
Getall_Parter_OR_Default_Session_Steps_result.map((step) => (
<MenuItem key={JSON.parse(step)._id} value={JSON.parse(step).session_step_name}
style={{ "paddingLeft": "5px", "textAlign": "left", "height": "2rem", "width": '100%' }}>
{JSON.parse(step).session_step_name}&nbsp;
</MenuItem>
))}
</TextField> */}
</div>}
{!edit_session_form && <div className="session_caract">Etape <br />

View File

@ -1302,7 +1302,7 @@ const DisplayPartnerUnite_Enseignement = (props) => {
setLoading(false);
if (String(res.data.status) === String("true")) {
//console.log(" In Getall_UE_Planif_data res.data.status = " + res.data.status);
console.log(" In Getall_UE_Planif_data res.data.message r_class = " + res.data.message);
//console.log(" In Getall_UE_Planif_data res.data.message r_class = " + res.data.message);
setGetall_UE_Planif_data_api("true");
setGetall_UE_Planif_data_result(res.data.message);

View File

@ -2685,7 +2685,7 @@ const Employes = (props) => {
new_data2.push(node);
if (new_data2.length > 0) {
setNew_Get_List_RH_Profils_result(new_data2);
//console.log(" ### zzznew_data2 = ", new_data2);
//console.log(" ### new_data2 = ", new_data2);
}

View File

@ -299,7 +299,7 @@ const Module_Evaluation_Positionnement = (props) => {
form.append("sending_date", "");
//alert(" mysession = "+mysession); zzzz
//alert(" mysession = "+mysession);
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Init_Survey_Tab_For_All_Session_Inscrit/";

View File

@ -378,189 +378,6 @@ const Module_Session_Planification = (props) => {
{ field: 'commentaire', headerName: 'Commentaire', width: 0, flex: 0, hide: true, editable: false, },
{
field: "Detail", headerName: 'Voir detail', minWidth: 200, flex: 1,
renderCell: (cellValues) => {
return (
<Button
onClick={(event) => {
setsequence_gridline_id(cellValues.row.id);
setselected_detail_sequence_title(cellValues.row.sequence_title);
setselected_sequence_startDate(cellValues.row.sequence_start);
setselected_sequence_endDate(cellValues.row.sequence_end);
setp_detail_sequence_agenda(cellValues.row.agenda);
setp_detail_sequence_objectif(cellValues.row.objectif);
setp_detail_sequence_comment(cellValues.row.commentaire);
Getall_List_Sequence_Ressource(cellValues.row._id);
setselected_sequence_id(cellValues.row._id);
setdisplay_detail_sequence("1");
if (document.getElementById('myRef_seq_ressource')) {
var divh = document.getElementById('myRef_seq_ressource').offsetTop;
window.scrollTo({
top: divh,
behavior: "smooth",
});
}
}}
>
<FcViewDetails />
</Button>
);
}
},
{
field: "modifier", headerName: 'Modifier', minWidth: 200, flex: 1,
renderCell: (cellValues) => {
return (
<Button
onClick={(event) => {
setsequence_gridline_id(cellValues.row.id);
setdisplay_detail_sequence("");
setp_detail_sequence_title(cellValues.row.sequence_title);
setselected_sequence_id(cellValues.row._id);
var date_du = new Date(moment(cellValues.row.sequence_start, "DD/MM/YYYY HH:mm"));
var date_au = new Date(moment(cellValues.row.sequence_end, "DD/MM/YYYY HH:mm"));
setsequence_startDate(date_du);
setsequence_endDate(date_au);
setsubmenu_seq_dialog("dialog_detail");
setselectionModel_sequence([]);
Getall_List_Sequence_Ressource(cellValues.row._id);
setp_detail_event_type(cellValues.row.type);
setp_detail_sequence_agenda(cellValues.row.agenda);
setp_detail_sequence_objectif(cellValues.row.objectif);
setp_detail_sequence_comment(cellValues.row.commentaire);
setp_detail_sequence_groupe_apprenant_id(cellValues.row.grp_apprenant_id);
if (cellValues.row.ue_id) {
setp_detail_sequence_ue_id(cellValues.row.ue_id);
Get_List_Given_UE_Planif_lines(cellValues.row.ue_id);
} else {
setp_detail_sequence_ue_id("");
//---
var node = {
"_id": "",
"id": "",
"label": "",
"code": "",
"titre": "",
"volume_horaire": "",
"in_use": "",
};
var new_data2 = [];
new_data2.push(node);
setNew_Get_List_Given_UE_Planif_lines_result(new_data2);
}
if (cellValues.row.unite_enseignement_planif_id) {
setp_detail_sequence_ue_planif_line_id(cellValues.row.unite_enseignement_planif_id);
} else {
setp_detail_sequence_ue_planif_line_id("");
}
// console.log(" New_Get_List_Given_UE_Planif_lines_result", New_Get_List_Given_UE_Planif_lines_result);
setupdate_sequence("1");
submenu_update_sequence();
}}
>
<FcViewDetails />
</Button>
);
}
},
{
field: "delete", headerName: 'Supprimer', minWidth: 200, flex: 1,
renderCell: (cellValues) => {
return (
<Popup
trigger={<Button
onClick={(event) => {
}}
>
<CiTrash />
</Button>}
modal
nested
position="center center"
>
{close => (
<div>
<button className="gest_close" onClick={close}>
&times;
</button>
<div className="gest_header"> MySy Information </div>
<div className="gest_content">
{' '}
En confirmant cette opération, la séquence sera <i><font color="red"> définitivement supprimée</font></i>. <br />
</div>
<div className="gest_actions">
<div style={{ "width": "45%", "float": "left" }}>
<button className="gest_bton_popup" onClick={(event) => {
Delete_Sequence_Session_Data(cellValues.row._id);
//console.log('modal closed ');
close();
}}> Valider </button>
</div>
<div style={{ "width": "45%", "float": "right" }}>
<button
className="gest_bton_popup"
onClick={() => {
//console.log('modal closed ');
close();
}}
>
Annuler
</button>
</div>
</div>
</div>
)}
</Popup>
);
}
}
]
@ -1606,7 +1423,7 @@ const Module_Session_Planification = (props) => {
setLoading(false);
if (String(res.data.status) === String("true")) {
//console.log(" In Getall_Sequence_Of_Session res.data.status = " + res.data.status);
console.log(" In Getall_Sequence_Of_Session res.data.message r_class = " + res.data.message);
// console.log(" In Getall_Sequence_Of_Session res.data.message r_class = " + res.data.message);
setGetall_Sequence_Of_Session_api("true");
setGetall_Sequence_Of_Session_result(res.data.message);
@ -3300,7 +3117,7 @@ const Module_Session_Planification = (props) => {
const [Apply_Planning_To_Session_result, setApply_Planning_To_Session_result] = useState();
const Apply_Planning_To_Session = event => {
var form = new FormData(); //zzzz
var form = new FormData();
const stored_cookie = getCookie('tokenmysypart');
form.append("token", stored_cookie);
@ -6180,7 +5997,8 @@ const Module_Session_Planification = (props) => {
{new_planification_lines && new_planification_lines.length > 0 && <div className='div_row' style={{ backgroundColor: '#FBF2EF' }}>
ici afficher la planification nouvelle <br />
<br />
<div className="titre1"> Proposition de Nouvelle planification </div>
{display_view && String(display_view) === "list" && <div style={{ "border": "None" }}>
<div style={{ height: 550, width: '100%', paddingRight: '1px' }}>
@ -6203,7 +6021,7 @@ const Module_Session_Planification = (props) => {
>
<DataGrid
checkboxSelection={true}
// checkboxSelection={true}
disableRowSelectionOnClick
disableSelectionOnClick
onSelectionModelChange={(newSelectionModel) => {
@ -6381,15 +6199,15 @@ const Module_Session_Planification = (props) => {
<Button variant="outlined" onClick={Apply_Planning_To_Session}
className="detail_class_submenu bton_add_session"
id='menu_import_participant' name='menu_import_participant'> Appliquer nouveau planning zzzz
<IoAddCircleOutline style={{ "fontSize": "x-large", "color": "green" }} />
id='menu_import_participant' name='menu_import_participant'> Appliquer nouveau planning
</Button>
<Button variant="outlined" onClick={Cancel_Apply_Planning_To_Session}
className="detail_class_submenu bton_add_session"
id='menu_import_participant' name='menu_import_participant'> Annuler nouveau planning zzzz
<IoAddCircleOutline style={{ "fontSize": "x-large", "color": "green" }} />
id='menu_import_participant' name='menu_import_participant'> Annuler nouveau planning
</Button>

View File

@ -2746,7 +2746,7 @@ const Notes_Evaluation = (props) => {
//console.log(" In Delete_Sequence_Session_Ressource_Data res.data.status = " + res.data.status);
//console.log(" In Delete_Sequence_Session_Ressource_Data res.data.message r_class = " + res.data.message);
// zzzzz
setLoading(false);
if (String(res.data.status) === String("true")) {

View File

@ -1978,7 +1978,7 @@ const Partner = (props) => {
{String(menu) === "groupe_apprenant" &&
<div className="div_droite">
zzzz
<Groupe_Apprenant ispending={partnerstatus} currentpack={partnerPackService} conntected_employee_id={conntected_employee_id}
class_external_code={orderid} class_internal_url={packs} formation_initiale={formation_initiale} />
</div>

View File

@ -4240,8 +4240,6 @@ const Partner_Commande = (props) => {
var form = new FormData();
//form.append("token","K3cw63eKokKSbV4spjQ48SUNnfy80yrXfA");
// zzzz
const stored_cookie = getCookie('tokenmysypart');
form.append("token", stored_cookie);
form.append("date_debut", format(new_session_date_debut, 'dd/MM/yyyy'));

View File

@ -2471,7 +2471,7 @@ const Partner_Facture = (props) => {
margin="dense"
id="ref_article_taux_tva"
name="ref_article_taux_tva"
//label="Prix Unitaire" zzz
//label="Prix Unitaire"
fullWidth
//variant="standard"

View File

@ -254,7 +254,7 @@ function UpdateAttendeeList() {
// params = la nouvelle lignes
//console.log(" ### zzz params = ", params);
var num_line = params.id; // ==> Id de la ligne changé
var colomn = params.field; // ==> colonne de la ligne changé