27/02/26 - 19h30

branche_01062025
Cherif 2026-02-27 19:23:51 +01:00
parent aa9c3c25d3
commit c3bdb9c8e1
12 changed files with 7190 additions and 1840 deletions

View File

@ -17,6 +17,7 @@ import parse from 'html-react-parser';
import fileDownload from 'js-file-download';
import 'react-tooltip/dist/react-tooltip.css';
import { Tooltip } from 'react-tooltip';
import { FcOpenedFolder } from "react-icons/fc";
import Popup from 'reactjs-popup';
import 'reactjs-popup/dist/index.css';
import img_loading_spin from "./../mysy_img/mysy_spin_loading.gif";
@ -1605,7 +1606,7 @@ const AddClassManual = (props) => {
Getall_Partner_Type_Evalution_List();
Getall_Class_List_Evalution();
setfield_contenu_attestation("");
Getall_Parter_referentiel_padagogique();
Getall_Parter_bloc_competence();
fillfield();
@ -1636,12 +1637,12 @@ const AddClassManual = (props) => {
const [mytraining_ref_peda_id, setmytraining_ref_peda_id] = useState("");
const [New_Getall_Parter_referentiel_padagogique_result, setNew_Getall_Parter_referentiel_padagogique_result] = useState([]);
const [New_Getall_Parter_bloc_competence_result, setNew_Getall_Parter_bloc_competence_result] = useState([]);
const [Getall_Parter_referentiel_padagogique_api, setGetall_Parter_referentiel_padagogique_api] = useState();
const [Getall_Parter_referentiel_padagogique_message, setGetall_Parter_referentiel_padagogique_message] = useState();
const [Getall_Parter_referentiel_padagogique_result, setGetall_Parter_referentiel_padagogique_result] = useState([]);
function Getall_Parter_referentiel_padagogique(event) {
const [Getall_Parter_bloc_competence_api, setGetall_Parter_bloc_competence_api] = useState();
const [Getall_Parter_bloc_competence_message, setGetall_Parter_bloc_competence_message] = useState();
const [Getall_Parter_bloc_competence_result, setGetall_Parter_bloc_competence_result] = useState([]);
function Getall_Parter_bloc_competence(event) {
var form = new FormData();
@ -1649,17 +1650,17 @@ const AddClassManual = (props) => {
const stored_cookie = getCookie('tokenmysypart');
form.append("token", stored_cookie);
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_Ref_Pedagogique_no_filter/";
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_bloc_competence_no_filter/";
setLoading(true);
axios.post(myurl, form).then(res => {
setLoading(false);
if (String(res.data.status) === String("true")) {
//console.log(" In Getall_Parter_referentiel_padagogique res.data.status = " + res.data.status);
//console.log(" In Getall_Parter_referentiel_padagogique res.data.message r_class = " + res.data.message);
setGetall_Parter_referentiel_padagogique_api("true");
setGetall_Parter_referentiel_padagogique_result(res.data.message);
//console.log(" In Getall_Parter_bloc_competence res.data.status = " + res.data.status);
//console.log(" In Getall_Parter_bloc_competence res.data.message r_class = " + res.data.message);
setGetall_Parter_bloc_competence_api("true");
setGetall_Parter_bloc_competence_result(res.data.message);
//setRows(res.data.message);
var new_data2 = [];
@ -1699,12 +1700,12 @@ const AddClassManual = (props) => {
new_data2.push(node);
if (new_data2.length > 0)
setNew_Getall_Parter_referentiel_padagogique_result(new_data2);
setNew_Getall_Parter_bloc_competence_result(new_data2);
}
else {
setGetall_Parter_referentiel_padagogique_api("false");
setGetall_Parter_referentiel_padagogique_message(res.data.message);
setGetall_Parter_bloc_competence_api("false");
setGetall_Parter_bloc_competence_message(res.data.message);
// alert(res.data.message)
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
@ -1713,8 +1714,8 @@ const AddClassManual = (props) => {
}).catch((error) => {
setLoading(false);
console.warn('Not good man :( Getall_Parter_referentiel_padagogique = ', error);
setGetall_Parter_referentiel_padagogique_api("false");
console.warn('Not good man :( Getall_Parter_bloc_competence = ', error);
setGetall_Parter_bloc_competence_api("false");
alert(" Impossible de recuperer la liste des référentiels pédagogiques");
//setmyApimyApiMessage("")
})
@ -3432,7 +3433,7 @@ const AddClassManual = (props) => {
value: 'alpha', label: 'Alphanumérique',
},
{
{
value: '', label: '',
},
@ -3592,6 +3593,17 @@ const AddClassManual = (props) => {
new_data2.push(node);
});
var node2 = {
"_id": "",
"id": "",
"label": "",
"description": "",
"code": "",
};
new_data2.push(node2);
if (new_data2.length > 0)
setNew_Get_List_Niveau_Formation_result(new_data2);
@ -8055,8 +8067,6 @@ const AddClassManual = (props) => {
setmycertif_label(value.label);
setdatamodification("1");
console.log(" ### setmycertif = ", value.value)
} else {
setmycertif("");
setmycertif_label("");
@ -8354,32 +8364,50 @@ const AddClassManual = (props) => {
</div>}
{New_Getall_Parter_referentiel_padagogique_result && New_Getall_Parter_referentiel_padagogique_result.length > 0 && <div className="training_caract">
<Autocomplete
disablePortal
disabled={!Boolean(props.check_user_acces_right("formation", "write"))}
name="ref_peda"
id="ref_peda"
className="disabled_style"
options={New_Getall_Parter_referentiel_padagogique_result}
{New_Getall_Parter_bloc_competence_result && New_Getall_Parter_bloc_competence_result.length > 0 &&
<div className="training_caract">
<Autocomplete
disablePortal
disabled={!Boolean(props.check_user_acces_right("formation", "write"))}
name="ref_peda"
id="ref_peda"
className="disabled_style enable_style disabled_style_left_text_with_visualiser_icone"
options={New_Getall_Parter_bloc_competence_result}
value={New_Getall_Parter_referentiel_padagogique_result.filter((data) => (data)._id === String(mytraining_ref_peda_id))[0].label}
value={New_Getall_Parter_bloc_competence_result.filter((data) => (data)._id === String(mytraining_ref_peda_id))[0].label}
onChange={(event, value) => {
setdatamodification("1");
onChange={(event, value) => {
setdatamodification("1");
if (value && value._id) {
setmytraining_ref_peda_id(value._id);
} else {
setmytraining_ref_peda_id("");
if (value && value._id) {
setmytraining_ref_peda_id(value._id);
} else {
setmytraining_ref_peda_id("");
}
}}
renderInput={(params) => <TextField {...params} label="Référentiel" />
}
}}
/>
renderInput={(params) => <TextField {...params} label="Référentiel" />
<div className="disabled_style disabled_style_right_bton_visualiser" onClick={(event) => {
if (mytraining_ref_peda_id && mytraining_ref_peda_id.length > 5) {
window.open(
process.env.REACT_APP_FRONT_URL + "Partner/competence_pedagogique/" + String(mytraining_ref_peda_id) + "/bloc_competence",
'_blank'
);
}
}
/>
}
>
<div className="disabled_style_with_visualiser_icone" >
<FcOpenedFolder />
</div>}
</div>
</div>
</div>}
</div>
</div>

View File

@ -194,7 +194,7 @@ const Apprenant = (props) => {
},
},
{ field: 'matricule', headerName: 'Matricule', hide: false, maxWidth: 250, flex: 1, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'nom', headerName: 'Nom', hide: false, minWidth: 200, flex: 1, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'prenom', headerName: 'Prénom', hide: false, minWidth: 200, flex: 1, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'email', headerName: 'Email', hide: false, minWidth: 200, flex: 1, renderCell: (params) => <ExpandableCell_50 {...params} />, },
@ -208,7 +208,7 @@ const Apprenant = (props) => {
{ field: 'client_nom', headerName: 'Client', hide: true, disableExport: true, editable: false },
{
field: 'is_ent_compte', headerName: 'ENT compte', minWidth: 100, flex: 1, hide: false, editable: false, renderCell: (cellValues) => {
field: 'is_ent_compte', headerName: 'ENT compte', maxWidth: 100, flex: 1, hide: false, editable: false, renderCell: (cellValues) => {
return (
<div style={{ paddingLeft: "5px", paddingRight: "10px", "display": "block", wordBreak: "break-all" }}>
{String(cellValues.row.is_ent_compte) === "1" && "Oui"}&nbsp;
@ -720,6 +720,8 @@ const Apprenant = (props) => {
const [p_detail_type_mobilite, setp_detail_type_mobilite] = useState("");
const [p_detail_telephone_bis, setp_detail_telephone_bis] = useState("");
const [p_detail_matricule, setp_detail_matricule] = useState("");
// fin 04/06/2025
const [p_detail_nom, setp_detail_nom] = useState("");
@ -1208,6 +1210,12 @@ const Apprenant = (props) => {
setp_detail_piece_identite_num("");
}
if (mylocaltraining.matricule) {
setp_detail_matricule(mylocaltraining.matricule);
} else {
setp_detail_matricule("");
}
if (mylocaltraining.type_mobilite) {
setp_detail_type_mobilite(mylocaltraining.type_mobilite);
} else {
@ -1661,6 +1669,9 @@ const Apprenant = (props) => {
setp_detail_piece_identite_type('');
setp_detail_piece_identite_num('');
setp_detail_matricule('');
setp_detail_type_mobilite('');
setp_detail_telephone_bis('');
@ -1960,7 +1971,7 @@ const Apprenant = (props) => {
}
const list_champs = ["field_detail_lieu_naissance", "field_detail_departement_naissance", "field_detail_pays_naissance", "field_type_pi", "field_num_pi",
"field_type_mobilite", "field_nationalite", "field_droit_image", "field_rgpd", "field_sitation_famille", "field_num_ss"]
"field_type_mobilite", "field_nationalite", "field_droit_image", "field_rgpd", "field_sitation_famille", "field_num_ss", "field_matricule"]
for (let i = 0; i < list_champs.length; i++) {
if (document.getElementsByName(String(list_champs[i])) && document.getElementsByName(String(list_champs[i]))[0]) {
@ -2047,7 +2058,7 @@ const Apprenant = (props) => {
}
const list_champs = ["field_detail_lieu_naissance", "field_detail_departement_naissance", "field_detail_pays_naissance", "field_type_pi", "field_num_pi",
"field_type_mobilite", "field_nationalite", "field_droit_image", "field_rgpd", "field_sitation_famille", "field_num_ss"]
"field_type_mobilite", "field_nationalite", "field_droit_image", "field_rgpd", "field_sitation_famille", "field_num_ss", "field_matricule"]
for (let i = 0; i < list_champs.length; i++) {
if (document.getElementsByName(String(list_champs[i])) && document.getElementsByName(String(list_champs[i]))[0]) {
@ -2440,6 +2451,11 @@ const Apprenant = (props) => {
else
form.append("telephone_bis", "");
if (p_detail_matricule)
form.append("matricule", p_detail_matricule);
else
form.append("matricule", "");
/*
@ -2540,6 +2556,8 @@ const Apprenant = (props) => {
const [selected_apprenant_email, setselected_apprenant_email] = useState("");
const [selected_apprenant_matricule, setselected_apprenant_matricule] = useState("");
function handleClick_edit_apprenant_From_Line(selected_row_id) {
@ -4919,6 +4937,7 @@ const Apprenant = (props) => {
form.append("telephone_bis", "");
/*
Gestion des champs spécifiques ajoutés pour l'apprenant
*/
@ -6716,6 +6735,7 @@ const Apprenant = (props) => {
{ "id": "email", "label": "Email ", "value": "email" },
{ "id": "nom", "label": "Nom ", "value": "nom" },
{ "id": "prenom", "label": "Prénom ", "value": "prenom" },
{ "id": "matricule", "label": "Matricule ", "value": "matricule" },
{ "id": "archive", "label": "Archive", "value": "archive" },
{ "id": "", "label": "", "value": "" },
{ "id": "1", "label": "", "value": "1" }, // Cette ligne pour couvrir l'ajout d'une ligne de filter. C'est fait expres.
@ -7075,7 +7095,7 @@ const Apprenant = (props) => {
aria-labelledby="draggable-dialog-title"
>
<DialogTitle style={{ cursor: 'move', fontFamily: "DM Sans" }} id="draggable-dialog-title" >Apprenant</DialogTitle>
<DialogTitle style={{ cursor: 'move', fontFamily: "DM Sans" }} id="draggable-dialog-title" >Apprenant - {selected_apprenant_matricule} </DialogTitle>
<DialogContent className="DialogContent_width">
<div>
@ -8253,6 +8273,7 @@ const Apprenant = (props) => {
client_nom: JSON.parse(item).client_rattachement_nom,
is_ent_compte: JSON.parse(item).is_ent_compte,
matricule: JSON.parse(item).matricule,
}
@ -8269,6 +8290,7 @@ const Apprenant = (props) => {
setselected_apprenant_id(newSelectionModel.row._id);
setselected_apprenant_row_id(newSelectionModel.row.id);
setselected_apprenant_email(newSelectionModel.row.email);
setselected_apprenant_matricule(newSelectionModel.row.matricule);
Clear_Apprenant_Invoice_Fields();
@ -8712,6 +8734,9 @@ const Apprenant = (props) => {
/>
</div>
<div className="session_caract">Situation Maritale <br />
{New_Option_Famille_Situation && New_Option_Famille_Situation.length > 0 &&
<Autocomplete
@ -9059,89 +9084,79 @@ const Apprenant = (props) => {
</div>
</div>
<div className="Grid_2_col_sub_colone" style={{ minHeight: '10rem', padding: "0px" }}>
<div style={{ width: '100%', float: 'left' }}>
<div className="Grid_2_col_sub_colone_header">
Champs spécifiques
</div>
<div style={{
display: 'flex', flexDirection: 'row', justifyContent: 'flex-start', width: '100%',
paddingLeft: '10px', flexWrap: 'wrap'
}}>
{rows_champs_specifics &&
rows_champs_specifics.map((champ_spec) => (
<div className="session_caract"> {String(JSON.parse(champ_spec).is_mandatory) === "1" && <font> <b> {JSON.parse(champ_spec).field_label} </b> </font>}
{String(JSON.parse(champ_spec).is_mandatory) !== "1" && <font> {JSON.parse(champ_spec).field_label} </font>} <br />
{String(JSON.parse(champ_spec).field_type) === "float" && <TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
required
name={JSON.parse(champ_spec).field_name}
id={JSON.parse(champ_spec).field_name}
type="number"
inputProps={{ min: "1", max: "999999", step: "1" }}
InputLabelProps={{
shrink: true,
}}
className="disabled_style"
onChange={(e) => {
change_champs_spec_handle(e.target.value);
}}
//onChange={change_champs_spec_handle}
/>}
{String(JSON.parse(champ_spec).field_type) === "string" && <TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
required
name={JSON.parse(champ_spec).field_name}
id={JSON.parse(champ_spec).field_name}
InputLabelProps={{
shrink: true,
}}
className="disabled_style"
onChange={(e) => {
change_champs_spec_handle(e.target.value);
}}
//onChange={change_champs_spec_handle}
/>}
</div>
))}
</div>
</div>
</div>
</div>
</div>
{/* -- début champs specifiques **/}
{rows_champs_specifics && rows_champs_specifics.length > 0 &&
<div> <div style={{ width: '100%', float: 'left', }}>
<div class="separator">
<nav className="separator_label">
Champs spécifiques</nav>
</div>
</div>
<div style={{ width: '100%', float: 'left', }}>
<div style={{
display: 'flex', flexDirection: 'row', justifyContent: 'flex-start', width: '95%', paddingLeft: '10px',
flexWrap: 'wrap', paddingLeft: '10px', border: 'none',
}}>
{rows_champs_specifics &&
rows_champs_specifics.map((champ_spec) => (
<div className="session_caract"> {String(JSON.parse(champ_spec).is_mandatory) === "1" && <font> <b> {JSON.parse(champ_spec).field_label} </b> </font>}
{String(JSON.parse(champ_spec).is_mandatory) !== "1" && <font> {JSON.parse(champ_spec).field_label} </font>} <br />
{String(JSON.parse(champ_spec).field_type) === "float" && <TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
required
name={JSON.parse(champ_spec).field_name}
id={JSON.parse(champ_spec).field_name}
type="number"
inputProps={{ min: "1", max: "999999", step: "1" }}
InputLabelProps={{
shrink: true,
}}
className="disabled_style"
onChange={(e) => {
change_champs_spec_handle(e.target.value);
}}
//onChange={change_champs_spec_handle}
/>}
{String(JSON.parse(champ_spec).field_type) === "string" && <TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
required
name={JSON.parse(champ_spec).field_name}
id={JSON.parse(champ_spec).field_name}
InputLabelProps={{
shrink: true,
}}
className="disabled_style"
onChange={(e) => {
change_champs_spec_handle(e.target.value);
}}
//onChange={change_champs_spec_handle}
/>}
</div>
))}
</div>
<br />
<div className="div_row" style={{ "border": "None" }}>
&nbsp;
</div>
{/* -- end champs specifiques **/}
</div>
</div>}
<br />
<div className="div_row" style={{ "border": "None", "color": "orange", "textAlign": "center" }}>
@ -9588,6 +9603,29 @@ const Apprenant = (props) => {
}
/>
</div>
<div className="session_caract"> Matricule zzz1 <br />
<TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
required
name="field_matricule"
id="field_matricule"
InputLabelProps={{
shrink: true,
}}
disabled={false}
className="disabled_style enable_style"
value={p_detail_matricule}
onChange={(e) => {
setp_detail_matricule(e.target.value);
setapprenant_data_changed("1");
}
}
/>
</div>
</div>
<div className="div_row" style={{ "border": "None" }}>
&nbsp;
@ -9876,89 +9914,81 @@ const Apprenant = (props) => {
</div>
{rows_champs_specifics && rows_champs_specifics.length > 0 && <div className="div_row" >
<div className="Grid_1_col" >
<div className="Grid_2_col_sub_colone" style={{ minHeight: '10rem', padding: "0px" }}>
<div style={{ width: '100%', float: 'left' }}>
<div className="Grid_2_col_sub_colone_header">
Champs spécifiques
</div>
<div style={{
display: 'flex', flexDirection: 'row', justifyContent: 'flex-start', width: '100%',
paddingLeft: '10px', flexWrap: 'wrap'
}}>
{rows_champs_specifics &&
rows_champs_specifics.map((champ_spec) => (
<div className="session_caract"> {JSON.parse(champ_spec).field_label} <br />
<br />
{String(JSON.parse(champ_spec).field_type) === "float" && <TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
required
name={JSON.parse(champ_spec).field_name}
id={JSON.parse(champ_spec).field_name}
type="number"
inputProps={{ min: "1", max: "999999", step: "1" }}
InputLabelProps={{
shrink: true,
}}
{/* -- début champs specifiques **/}
className="disabled_style"
onChange={(e) => {
change_champs_spec_handle(e.target.value);
setapprenant_data_changed("1");
}}
//onChange={change_champs_spec_handle}
{rows_champs_specifics && rows_champs_specifics.length > 0 && <div>
<div style={{ width: '100%', float: 'left', }}>
<div class="separator">
<nav className="separator_label">
Champs spécifiques</nav>
/>}
{String(JSON.parse(champ_spec).field_type) === "string" && <TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
required
name={JSON.parse(champ_spec).field_name}
id={JSON.parse(champ_spec).field_name}
InputLabelProps={{
shrink: true,
}}
className="disabled_style"
onChange={(e) => {
change_champs_spec_handle(e.target.value);
setapprenant_data_changed("1");
}}
//onChange={change_champs_spec_handle}
/>}
</div>
))}
</div>
</div>
</div>
</div>
<div style={{ width: '100%', float: 'left', }}>
<div style={{
display: 'flex', flexDirection: 'row', justifyContent: 'flex-start', width: '95%', paddingLeft: '10px',
flexWrap: 'wrap', paddingLeft: '10px', border: 'none',
}}>
{rows_champs_specifics &&
rows_champs_specifics.map((champ_spec) => (
<div className="session_caract"> {JSON.parse(champ_spec).field_label} <br />
<br />
{String(JSON.parse(champ_spec).field_type) === "float" && <TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
required
name={JSON.parse(champ_spec).field_name}
id={JSON.parse(champ_spec).field_name}
type="number"
inputProps={{ min: "1", max: "999999", step: "1" }}
InputLabelProps={{
shrink: true,
}}
className="disabled_style"
onChange={(e) => {
change_champs_spec_handle(e.target.value);
setapprenant_data_changed("1");
}}
//onChange={change_champs_spec_handle}
/>}
{String(JSON.parse(champ_spec).field_type) === "string" && <TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
required
name={JSON.parse(champ_spec).field_name}
id={JSON.parse(champ_spec).field_name}
InputLabelProps={{
shrink: true,
}}
className="disabled_style"
onChange={(e) => {
change_champs_spec_handle(e.target.value);
setapprenant_data_changed("1");
}}
//onChange={change_champs_spec_handle}
/>}
</div>
))}
</div>
<br />
<div className="div_row" style={{ "border": "None" }}>
&nbsp;
</div>
{/* -- end champs specifiques **/}
</div>
</div>}

View File

@ -2114,7 +2114,7 @@ const DistplayPartnerTraningsPage = (props) => {
Get_List_Domaines();
Get_List_Metiers();
Get_List_Categorie();
Getall_Parter_referentiel_padagogique();
Getall_Parter_bloc_competence();
Get_Partner_Object_Specific_Fields("myclass");
@ -2159,12 +2159,12 @@ const DistplayPartnerTraningsPage = (props) => {
const [New_Getall_Parter_referentiel_padagogique_result, setNew_Getall_Parter_referentiel_padagogique_result] = useState([]);
const [New_Getall_Parter_bloc_competence_result, setNew_Getall_Parter_bloc_competence_result] = useState([]);
const [Getall_Parter_referentiel_padagogique_api, setGetall_Parter_referentiel_padagogique_api] = useState();
const [Getall_Parter_referentiel_padagogique_message, setGetall_Parter_referentiel_padagogique_message] = useState();
const [Getall_Parter_referentiel_padagogique_result, setGetall_Parter_referentiel_padagogique_result] = useState([]);
function Getall_Parter_referentiel_padagogique(event) {
const [Getall_Parter_bloc_competence_api, setGetall_Parter_bloc_competence_api] = useState();
const [Getall_Parter_bloc_competence_message, setGetall_Parter_bloc_competence_message] = useState();
const [Getall_Parter_bloc_competence_result, setGetall_Parter_bloc_competence_result] = useState([]);
function Getall_Parter_bloc_competence(event) {
var form = new FormData();
@ -2172,17 +2172,17 @@ const DistplayPartnerTraningsPage = (props) => {
const stored_cookie = getCookie('tokenmysypart');
form.append("token", stored_cookie);
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_Ref_Pedagogique_no_filter/";
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_bloc_competence_no_filter/";
setLoading(true);
axios.post(myurl, form).then(res => {
setLoading(false);
// console.log(" In Getall_Parter_referentiel_padagogique res.data.status = " + res.data.status);
// console.log(" In Getall_Parter_referentiel_padagogique res.data.message r_class = " + res.data.message);
// console.log(" In Getall_Parter_bloc_competence res.data.status = " + res.data.status);
// console.log(" In Getall_Parter_bloc_competence res.data.message r_class = " + res.data.message);
if (String(res.data.status) === String("true")) {
setGetall_Parter_referentiel_padagogique_api("true");
setGetall_Parter_referentiel_padagogique_result(res.data.message);
setGetall_Parter_bloc_competence_api("true");
setGetall_Parter_bloc_competence_result(res.data.message);
//setRows(res.data.message);
var new_data2 = [];
@ -2222,12 +2222,12 @@ const DistplayPartnerTraningsPage = (props) => {
new_data2.push(node);
if (new_data2.length > 0)
setNew_Getall_Parter_referentiel_padagogique_result(new_data2);
setNew_Getall_Parter_bloc_competence_result(new_data2);
}
else {
setGetall_Parter_referentiel_padagogique_api("false");
setGetall_Parter_referentiel_padagogique_message(res.data.message);
setGetall_Parter_bloc_competence_api("false");
setGetall_Parter_bloc_competence_message(res.data.message);
// alert(res.data.message)
setdisplay_alert_mysy("1");
setalert_message(res.data.message);
@ -2236,8 +2236,8 @@ const DistplayPartnerTraningsPage = (props) => {
}).catch((error) => {
setLoading(false);
console.warn('Not good man :( Getall_Parter_referentiel_padagogique = ', error);
setGetall_Parter_referentiel_padagogique_api("false");
console.warn('Not good man :( Getall_Parter_bloc_competence = ', error);
setGetall_Parter_bloc_competence_api("false");
alert(" Impossible de recuperer la liste des référentiels pédagogiques");
//setmyApimyApiMessage("")
})
@ -3513,7 +3513,7 @@ const DistplayPartnerTraningsPage = (props) => {
categorie: New_Get_List_Categorie_result.filter((data) => (data)._id === String(JSON.parse(item).categorie))[0].label,
referentiel_padagogique: New_Getall_Parter_referentiel_padagogique_result.filter((data) => (data)._id === String(JSON.parse(item).referentiel_padagogique_id))[0].label,
referentiel_padagogique: New_Getall_Parter_bloc_competence_result.filter((data) => (data)._id === String(JSON.parse(item).referentiel_padagogique_id))[0].label,
url: JSON.parse(item).url,

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -11,6 +11,9 @@ import "react-draft-wysiwyg/dist/react-draft-wysiwyg.css";
import 'react-tooltip/dist/react-tooltip.css'
import Popup from 'reactjs-popup';
import 'reactjs-popup/dist/index.css';
import { Tooltip } from 'react-tooltip'
import WebAssetOffIcon from '@mui/icons-material/WebAssetOff';
import LaunchIcon from '@mui/icons-material/Launch';
import "react-datepicker/dist/react-datepicker.css";
import 'moment/locale/fr';
@ -278,9 +281,9 @@ const Module_Bloc_bloc_competence_pedagogique = (props) => {
const column_pole_domaine_competence = [
{ field: '_id', headerName: '_id', hide: true, Width: 0, disableExport: true, },
{ field: 'id', headerName: 'id', hide: true, Width: 0, disableExport: true, },
{ field: 'code', headerName: 'Code', flex: 1, hide: false, maxWidth: 250, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'code', headerName: 'Code', flex: 1, hide: false, flex: 1, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'rang', headerName: 'Rang', hide: false, maxWidth: 100, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'description', headerName: 'Description', flex: 1, hide: false, minWidth: 300, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'description', headerName: 'Description', flex: 1, hide: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{
field: "delete", headerName: 'Supprimer',
@ -773,11 +776,20 @@ const Module_Bloc_bloc_competence_pedagogique = (props) => {
Getall_Partner_Bloc_Competence();
window.scrollTo({
top: 0,
behavior: "smooth",
});
if (props.props_object_id && props.props_object_id.length > 3 && props.props_menu === "bloc_competence") {
setselected_id(props.props_object_id);
Get_Given_bloc_competence_pedago_data(props.props_object_id);
setcompetence_pedago_data_changed("");
setadd_one_bloc_competence_pedago("");
submenu_detail_activite_padagogique();
} else {
window.scrollTo({
top: 0,
behavior: "smooth",
});
}
}, [])
@ -2053,6 +2065,10 @@ const Module_Bloc_bloc_competence_pedagogique = (props) => {
const [hide_detail_bloc, sethide_detail_bloc] = useState("");
const [hide_pole_activite, sethide_pole_activite] = useState("");
const [hide_domaine_competence, sethide_domaine_competence] = useState("");
return (
<div className="module_bloc_competence_pedagogique">
@ -2980,16 +2996,22 @@ const Module_Bloc_bloc_competence_pedagogique = (props) => {
{hide_detail_bloc !== "1" && <div className="session_data">
<div style={{ "border": "None" }}>
{p_detail_bloc_competence_pedago_code && p_detail_bloc_competence_pedago_code.length > 1 && <div className="div_row">
<nav style={{ textAlign: 'center', padding: '10px', fontFamily: 'DM Sans' }}> Détail Bloc de compétences <b>{p_detail_bloc_competence_pedago_code} </b>
<nav style={{ textAlign: 'center', padding: '10px', fontFamily: 'DM Sans', width: '80%', float: 'left' }}> Détail Bloc de compétences <b>{p_detail_bloc_competence_pedago_code} </b>
<Button onClick={(e) => {
sethide_detail_bloc("1")
}}>
Masquer Bloc
</Button>
</nav>
<nav style={{ float: 'right', maxWidth: '18%', textAlign: 'right', paddingRight: '10px', paddingTop: '5px' }}>
<Tooltip className="tooltip_css" id="tooltip_masquer" />
<a data-tooltip-id="tooltip_masquer" data-tooltip-html=" Masquer la fenetre">
<Button onClick={(e) => {
sethide_detail_bloc("1")
}}>
<WebAssetOffIcon />
</Button>
</a>
</nav>
</div>}
@ -3168,13 +3190,19 @@ const Module_Bloc_bloc_competence_pedagogique = (props) => {
{hide_detail_bloc === "1" && <div className="session_data">
<div style={{ "border": "None" }}>
{p_detail_bloc_competence_pedago_code && p_detail_bloc_competence_pedago_code.length > 1 && <div className="div_row">
<nav style={{ textAlign: 'center', padding: '10px', fontFamily: 'DM Sans' }}> Détail Bloc de compétences <b>{p_detail_bloc_competence_pedago_code} </b>
<nav style={{ textAlign: 'center', padding: '10px', fontFamily: 'DM Sans', width: '80%', float: 'left' }}> Détail Bloc de compétences <b>{p_detail_bloc_competence_pedago_code} </b>
<Button onClick={(e) => {
sethide_detail_bloc("0")
}}>
Afficher Bloc
</Button>
</nav>
<nav style={{ float: 'right', maxWidth: '18%', textAlign: 'right', paddingRight: '10px', paddingTop: '5px' }}>
<Tooltip className="tooltip_css" id="tooltip_afficher" />
<a data-tooltip-id="tooltip_afficher" data-tooltip-html=" Afficher la fenetre">
<Button onClick={(e) => {
sethide_detail_bloc("0")
}}>
<LaunchIcon />
</Button>
</a>
</nav>
</div>}
@ -3192,7 +3220,41 @@ const Module_Bloc_bloc_competence_pedagogique = (props) => {
<div className="session_data">
<div style={{ "border": "None" }}>
{hide_pole_activite !== "1" && <nav style={{ float: 'right', maxWidth: '18%', textAlign: 'right', paddingRight: '10px', paddingTop: '5px' }}>
<Tooltip className="tooltip_css" id="tooltip_masquer" />
<a data-tooltip-id="tooltip_masquer" data-tooltip-html=" Masquer la fenetre">
<Button onClick={(e) => {
sethide_pole_activite("1")
}}>
<WebAssetOffIcon />
</Button>
</a>
</nav>}
{hide_pole_activite === "1" &&
<div style={{ width: '100%', float: 'left' }}>
<div className="Grid_2_col_sub_colone_header" style={{
textAlign: 'center', padding: '10px', fontFamily: 'DM Sans', width: '80%', float: 'left',
cursor: 'pointer', background: "#FFF"
}} onClick={(e) => {
sethide_pole_activite("0")
}}>
Afficher Liste Pôles Activités
</div>
<nav style={{ float: 'right', maxWidth: '18%', textAlign: 'right', paddingRight: '10px', paddingTop: '5px' }}>
<Tooltip className="tooltip_css" id="tooltip_afficher" />
<a data-tooltip-id="tooltip_afficher" data-tooltip-html=" Afficher la fenetre">
<Button onClick={(e) => {
sethide_pole_activite("0")
}}>
<LaunchIcon />
</Button>
</a>
</nav>
</div>}
{hide_pole_activite !== "1" && <div style={{ "border": "None" }}>
<div className="div_row" >
<div className="Grid_1_col" >
@ -3376,14 +3438,49 @@ const Module_Bloc_bloc_competence_pedagogique = (props) => {
</div>
</div>
</div>
</div>}
</div>
<div className="div_row"> &nbsp; </div>
<div className="session_data">
<div style={{ "border": "None" }}>
{hide_domaine_competence !== "1" && <nav style={{ float: 'right', maxWidth: '18%', textAlign: 'right', paddingRight: '10px', paddingTop: '5px' }}>
<Tooltip className="tooltip_css" id="tooltip_masquer" />
<a data-tooltip-id="tooltip_masquer" data-tooltip-html=" Masquer la fenetre">
<Button onClick={(e) => {
sethide_domaine_competence("1")
}}>
<WebAssetOffIcon />
</Button>
</a>
</nav>}
{hide_domaine_competence === "1" &&
<div style={{ width: '100%', float: 'left' }}>
<div className="Grid_2_col_sub_colone_header" style={{
textAlign: 'center', padding: '10px', fontFamily: 'DM Sans', width: '80%', float: 'left',
cursor: 'pointer', background: "#FFF"
}} onClick={(e) => {
sethide_domaine_competence("0")
}}>
Afficher Liste Domaines Compétence
</div>
<nav style={{ float: 'right', maxWidth: '18%', textAlign: 'right', paddingRight: '10px', paddingTop: '5px' }}>
<Tooltip className="tooltip_css" id="tooltip_afficher" />
<a data-tooltip-id="tooltip_afficher" data-tooltip-html=" Afficher la fenetre">
<Button onClick={(e) => {
sethide_domaine_competence("0")
}}>
<LaunchIcon />
</Button>
</a>
</nav>
</div>}
{hide_domaine_competence !== "1" && <div style={{ "border": "None" }}>
<div className="div_row" >
<div className="Grid_1_col" >
@ -3567,7 +3664,7 @@ const Module_Bloc_bloc_competence_pedagogique = (props) => {
</div>
</div>
</div>
</div>}
</div>
@ -3788,100 +3885,100 @@ const Module_Bloc_bloc_competence_pedagogique = (props) => {
export default Module_Bloc_bloc_competence_pedagogique;
const local_css = `
:root {
--bg: #f6f8fb;
--card: #ffffff;
--text: #0f172a;
--muted: #64748b;
--border: #e5e7eb;
--shadow: 0 10px 25px rgba(2, 6, 23, .06);
--green-700: #0f6b53;
--green-600: #167a5e;
--green-100: #e9f7f1;
--blue-600: #2563eb;
--radius: 14px;
--radius-sm: 10px;
:root {
--bg: #f6f8fb;
--card: #ffffff;
--text: #0f172a;
--muted: #64748b;
--border: #e5e7eb;
--shadow: 0 10px 25px rgba(2, 6, 23, .06);
--green-700: #0f6b53;
--green-600: #167a5e;
--green-100: #e9f7f1;
--blue-600: #2563eb;
--radius: 14px;
--radius-sm: 10px;
}
.Grid_2_col{
margin-top: 12px;
display:grid;
grid-template-columns: 1.2fr 1fr;
gap: 14px;
.Grid_2_col{
margin - top: 12px;
display:grid;
grid-template-columns: 1.2fr 1fr;
gap: 14px;
}
.Grid_2_col_sub_colone {
background: #fff;
border: 1px solid #e5e7eb;
border-radius: 14px;
box-shadow: 0 6px 18px rgba(2,6,23,.04);
padding: 0px;
display: flex;
flex-direction: column;
gap: 14px;
.Grid_2_col_sub_colone {
background: #fff;
border: 1px solid #e5e7eb;
border-radius: 14px;
box-shadow: 0 6px 18px rgba(2,6,23,.04);
padding: 0px;
display: flex;
flex-direction: column;
gap: 14px;
}
.Grid_2_col_sub_colone_header {
background: #dbeafe;
border-top-right-radius: 10px;
border-top-left-radius: 10px;
text-align: center;
font-family: DM Sans;
font-weight: 700;
height: 2rem;
padding-top: 5px;
font-size: 15px;
.Grid_2_col_sub_colone_header {
background: #dbeafe;
border-top-right-radius: 10px;
border-top-left-radius: 10px;
text-align: center;
font-family: DM Sans;
font-weight: 700;
height: 2rem;
padding-top: 5px;
font-size: 15px;
}
.Grid_2_col_sub_colone_bottom_menu{
.Grid_2_col_sub_colone_bottom_menu{
}
.card__header{
background: #e2e8f0;
font-size: small;
text-align: center;
}
.card__header{
background: #e2e8f0;
font-size: small;
text-align: center;
}
.card__title{
display:flex;
align-items:center;
gap: 10px;
.card__title{
display:flex;
align-items:center;
gap: 10px;
}
.Grid_1_col{
margin-top: 12px;
display:grid;
grid-template-columns: 1fr;
gap: 14px;
padding:5px;
.Grid_1_col{
margin - top: 12px;
display:grid;
grid-template-columns: 1fr;
gap: 14px;
padding:5px;
}
.card__icon{
width: 34px;
height: 34px;
display:grid;
place-items:center;
border-radius: 12px;
background:#eff6ff;
border:1px solid #dbeafe;
.card__icon{
width: 34px;
height: 34px;
display:grid;
place-items:center;
border-radius: 12px;
background:#eff6ff;
border:1px solid #dbeafe;
}
.card__header h2{
margin:0;
font-size: 15px;
letter-spacing: -0.01em;
.card__header h2{
margin:0;
font-size: 15px;
letter-spacing: -0.01em;
}
.card__actions{ display:flex; align-items:center; gap:8px; }
.card__actions{display:flex; align-items:center; gap:8px; }
.block_detail_action{
width: 100%;
float: left;
background: #fafafa;
padding: 10px;
border: unset;
border-radius: 10px;
.block_detail_action{
width: 100%;
float: left;
background: #fafafa;
padding: 10px;
border: unset;
border-radius: 10px;
}
`;
`;

View File

@ -481,7 +481,7 @@ const Module_Competence_Pedagogique = (props) => {
useEffect(() => {
Getall_Partner_Competence_Pedago();
Getall_Partner_Competence_Pedago();
if (props.props_object_id && props.props_object_id.length > 3 && props.props_menu === "activite_padagogique") {

View File

@ -138,7 +138,7 @@ const Module_Domaine_Competence_Pedagogique = (props) => {
const columns = [
{ field: '_id', headerName: '_id', hide: true, Width: 0, disableExport: true, },
{ field: 'id', headerName: 'id', hide: true, Width: 0, disableExport: true, },
{ field: 'code', headerName: 'Code', flex: 1, hide: false, maxWidth: 180, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'code', headerName: 'Code', flex: 1, hide: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'description', headerName: 'Description', flex: 1, hide: false, minWidth: 200, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{
@ -2593,12 +2593,13 @@ const Module_Domaine_Competence_Pedagogique = (props) => {
paddingLeft: '10px', flexWrap: 'wrap'
}}>
<div className="session_caract"> Code <br />
<div style={{ width: '100%', paddingRight: "5px", fontFamily: 'DM Sans', fontSize: '14px', paddingLeft: '10px' }}> Code <br />
<TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
required
name="detail_code"
id="detail_code"
InputLabelProps={{
shrink: true,

View File

@ -548,7 +548,7 @@ const Module_Jury_Admission_Detail_Examen = (props) => {
form.append("token", stored_cookie);
form.append("session_id", props.related_collection_recid);
setLoading(false);
setLoading(true);
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Calcul_Note_Classement_Session";

View File

@ -714,7 +714,7 @@ const Module_Session_Notes_Classement = (props) => {
form.append("token", stored_cookie);
form.append("session_id", props.related_collection_recid);
setLoading(false);
setLoading(true);
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Calcul_Note_Classement_Session";

View File

@ -951,7 +951,7 @@
float: right;
cursor: pointer;
text-align: center;
font-family: 'DM Sans';
font-family: 'DM Sans';
font-size: '12px';
}
@ -980,7 +980,7 @@
.stat_bloc_indicateur {
display: flex;
flex-direction:column;
flex-direction: column;
justify-content: flex-start;
width: 100%;
padding: 10px;
@ -1462,7 +1462,7 @@
float: right;
cursor: pointer;
text-align: center;
font-family: 'DM Sans';
font-family: 'DM Sans';
font-size: '14px';
}
@ -2011,6 +2011,28 @@
// - end media
.disabled_style_with_visualiser {
width: 80% !important;
}
.disabled_style_with_visualiser_icone {
float: left;
text-align: center;
width: 100%;
font-size: large;
padding-top: 10px;
}
.disabled_style_left_text_with_visualiser_icone {
width: 80% !important;
float: left;
}
.disabled_style_right_bton_visualiser {
width: 9% !important;
float: left;
cursor: pointer;
}
.separator {

View File

@ -2705,7 +2705,7 @@
.mysy_gris {
background: #ECEFF1 !important;
}
.disabled_style_with_visualiser {
width: 80% !important;
}