05/05/2025 - 20h
parent
1d00664b59
commit
ad041ae4dd
|
@ -187,6 +187,7 @@ const AddClassManual = (props) => {
|
|||
{ field: 'code', headerName: 'Code', minWidth: 150, flex: 1, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{ field: 'titre', headerName: 'Titre', minWidth: 150, flex: 1, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{ field: 'credit', headerName: 'Credit', minWidth: 150, flex: 1, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{ field: 'coefficient', headerName: 'Coef.', minWidth: 150, flex: 1, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{
|
||||
field: 'pres_dist_hyp', headerName: 'Animation', minWidth: 150, flex: 1,
|
||||
renderCell: (cellValues) => {
|
||||
|
@ -201,7 +202,7 @@ const AddClassManual = (props) => {
|
|||
}
|
||||
},
|
||||
{
|
||||
field: 'is_noted', headerName: 'Evalué', minWidth: 150, flex: 1, renderCell: (params) => <ExpandableCell_50 {...params} />,
|
||||
field: 'is_noted', headerName: 'Evalué', minWidth: 100, flex: 1, renderCell: (params) => <ExpandableCell_50 {...params} />,
|
||||
renderCell: (cellValues) => {
|
||||
return (
|
||||
<div style={{ paddingLeft: "5px", paddingRight: "15px", "display": "block", wordBreak: "break-all" }}>
|
||||
|
@ -213,7 +214,10 @@ const AddClassManual = (props) => {
|
|||
);
|
||||
}
|
||||
},
|
||||
{ field: 'duration_concat', headerName: 'Durée', minWidth: 150, flex: 1, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{ field: 'seuil_validation', headerName: 'Seuil val.', minWidth: 100, flex: 1, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
|
||||
|
||||
{ field: 'duration_concat', headerName: 'Durée', minWidth: 100, flex: 1, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{ field: 'duration', headerName: 'Durée', minWidth: 150, hide: true, flex: 1, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{ field: 'duration_unite', headerName: 'Unit.', minWidth: 150, hide: true, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
|
||||
|
@ -558,6 +562,8 @@ const AddClassManual = (props) => {
|
|||
var local_credit = JSON.parse(x).credit;
|
||||
var local_pres_dist_hyp = JSON.parse(x).pres_dist_hyp;
|
||||
var local_is_noted = JSON.parse(x).is_noted;
|
||||
var local_coefficient = JSON.parse(x).coefficient;
|
||||
var local_seuil_validation = JSON.parse(x).seuil_validation;
|
||||
|
||||
|
||||
|
||||
|
@ -571,6 +577,8 @@ const AddClassManual = (props) => {
|
|||
"credit": local_credit,
|
||||
"pres_dist_hyp": local_pres_dist_hyp,
|
||||
"is_noted": local_is_noted,
|
||||
"coefficient": local_coefficient,
|
||||
"seuil_validation": local_seuil_validation,
|
||||
|
||||
};
|
||||
new_data2.push(node);
|
||||
|
@ -586,6 +594,8 @@ const AddClassManual = (props) => {
|
|||
"credit": "",
|
||||
"pres_dist_hyp": "",
|
||||
"is_noted": "",
|
||||
"coefficient": "",
|
||||
"seuil_validation": "",
|
||||
|
||||
};
|
||||
new_data2.push(node);
|
||||
|
@ -636,7 +646,7 @@ const AddClassManual = (props) => {
|
|||
setLoading(false);
|
||||
if (String(res.data.status) === String("true")) {
|
||||
//console.log(" In Getall_Partner_List_UE res.data.status = " + res.data.status);
|
||||
//console.log(" In Getall_Partner_List_UE res.data.message r_class = " + res.data.message);
|
||||
// console.log(" In Getall_Partner_List_UE res.data.message r_class = " + res.data.message);
|
||||
setGetall_Partner_List_UE_api("true");
|
||||
setGetall_Partner_List_UE_result(res.data.message);
|
||||
|
||||
|
@ -649,6 +659,9 @@ const AddClassManual = (props) => {
|
|||
var local_code = JSON.parse(x).code;
|
||||
var local_titre = JSON.parse(x).titre;
|
||||
|
||||
var local_ects = JSON.parse(x).ects;
|
||||
var local_seuil_validation = JSON.parse(x).seuil_validation;
|
||||
|
||||
|
||||
var local_credit = JSON.parse(x).credit;
|
||||
var local_pres_dist_hyp = JSON.parse(x).pres_dist_hyp;
|
||||
|
@ -667,6 +680,9 @@ const AddClassManual = (props) => {
|
|||
"pres_dist_hyp": local_pres_dist_hyp,
|
||||
"is_noted": local_is_noted,
|
||||
|
||||
"ects": local_ects,
|
||||
"seuil_validation": local_seuil_validation,
|
||||
|
||||
};
|
||||
new_data2.push(node);
|
||||
});
|
||||
|
@ -1289,9 +1305,6 @@ const AddClassManual = (props) => {
|
|||
if (mylocaltraining) {
|
||||
setdisplayedinternalurl(mylocaltraining.internal_url);
|
||||
|
||||
|
||||
|
||||
|
||||
if (mylocaltraining._id) {
|
||||
setselected_class_id(mylocaltraining._id);
|
||||
Get_List_Of_All_PJ(mylocaltraining._id);
|
||||
|
@ -1341,6 +1354,14 @@ const AddClassManual = (props) => {
|
|||
}
|
||||
|
||||
|
||||
|
||||
if (mylocaltraining.note_finale_calculation_rule_id) {
|
||||
setselected_class_note_calculation_id(mylocaltraining.note_finale_calculation_rule_id);
|
||||
} else {
|
||||
setselected_class_note_calculation_id("");
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (mylocaltraining.prerequis) {
|
||||
//document.getElementsByName("prerequis")[0].value = mylocaltraining.prerequis;
|
||||
|
@ -2007,6 +2028,9 @@ const AddClassManual = (props) => {
|
|||
formData.append('img_banner_detail_class', banniereImg);
|
||||
formData.append('img_url', banniereImg);
|
||||
|
||||
formData.append('note_finale_calculation_rule_id', selected_class_note_calculation_id);
|
||||
|
||||
|
||||
formData.append('contenu_attestation', contenu_attestation);
|
||||
|
||||
|
||||
|
@ -2121,6 +2145,73 @@ const AddClassManual = (props) => {
|
|||
});
|
||||
};
|
||||
|
||||
|
||||
|
||||
function Record_Training_Calcul_Note(event) {
|
||||
|
||||
const formData = new FormData();
|
||||
|
||||
const stored_cookie = getCookie('tokenmysypart');
|
||||
formData.append("token", stored_cookie);
|
||||
formData.append('note_finale_calculation_rule_id', selected_class_note_calculation_id);
|
||||
formData.append('internal_url', props.mytrainingclass['ref']);
|
||||
if (props.mytrainingclass['class_id'])
|
||||
formData.append("class_id", props.mytrainingclass['class_id']);
|
||||
else
|
||||
formData.append("class_id", selected_class_id);
|
||||
|
||||
var myurl = process.env.REACT_APP_API_URL + "myclass/api/update_class/";
|
||||
|
||||
// console.log(" formData = ", formData);
|
||||
setLoading(true);
|
||||
|
||||
fetch(
|
||||
myurl,
|
||||
{
|
||||
method: 'POST',
|
||||
body: formData,
|
||||
}
|
||||
)
|
||||
.then((response) => response.json())
|
||||
.then((result) => {
|
||||
//console.log('Success:', result['message'], "result['status'] = ", result['status'], "result['class_id'] = ", result['class_id']);
|
||||
setLoading(false);
|
||||
|
||||
setdatamodification("0");
|
||||
|
||||
if (String(result['status']) === "true") {
|
||||
var myclass_id = String(result['class_id']);
|
||||
|
||||
if (String(userimgclassprofilchanged) === "1")
|
||||
sendClassImage(myclass_id);
|
||||
}
|
||||
|
||||
//alert(result['status'] + " -- " + myApiResponse + ' mess = ' + result['message']);
|
||||
|
||||
if (String(result['status']) === "true") {
|
||||
|
||||
|
||||
var txt = "La formation a été correctement ajoutée / mise à jour.";
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(txt);
|
||||
setalert_type("success");
|
||||
|
||||
|
||||
}
|
||||
|
||||
else {
|
||||
setdisplay_alert_mysy("1");
|
||||
setalert_message(result['message']);
|
||||
setalert_type("error");
|
||||
}
|
||||
})
|
||||
.catch((error) => {
|
||||
setLoading(false);
|
||||
console.error('Error:', error);
|
||||
setmyApiResponse("false");
|
||||
});
|
||||
};
|
||||
|
||||
function DataUpdated() {
|
||||
setdatamodification("1");
|
||||
setimportmessage();
|
||||
|
@ -2403,6 +2494,93 @@ const AddClassManual = (props) => {
|
|||
});
|
||||
}
|
||||
|
||||
const [New_Get_List_Regle_Calcul_Note_Formation_result, setNew_Get_List_Regle_Calcul_Note_Formation_result] = useState([]);
|
||||
|
||||
const [Get_List_Regle_Calcul_Note_Formation_api, setGet_List_Regle_Calcul_Note_Formation_api] = useState();
|
||||
const [Get_List_Regle_Calcul_Note_Formation_message, setGet_List_Regle_Calcul_Note_Formation_message] = useState();
|
||||
const [Get_List_Regle_Calcul_Note_Formation_result, setGet_List_Regle_Calcul_Note_Formation_result] = useState();
|
||||
function Get_List_Regle_Calcul_Note_Formation() {
|
||||
var form = new FormData();
|
||||
|
||||
const stored_cookie = getCookie('tokenmysypart');
|
||||
form.append("token", stored_cookie);
|
||||
form.append("tab_related_collection", "myclass");
|
||||
|
||||
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_List_base_calcul_note_class_and_ue_With_Filter";
|
||||
|
||||
fetch(myurl,
|
||||
{
|
||||
method: 'POST',
|
||||
body: form,
|
||||
})
|
||||
.then((data) => data.json())
|
||||
.then((data) => {
|
||||
// console.log(' IN Get_List_Regle_Calcul_Note_Formation Success:', data['message'], "data['status'] = ", data['status']);
|
||||
|
||||
if (String(data['status']) === String("true")) {
|
||||
setGet_List_Regle_Calcul_Note_Formation_api("true");
|
||||
setGet_List_Regle_Calcul_Note_Formation_result(data['message']);
|
||||
|
||||
var new_data2 = [];
|
||||
const new_data = data['message'].map((x) => {
|
||||
|
||||
//---
|
||||
var localid = JSON.parse(x).id;
|
||||
var local_id = JSON.parse(x)._id;
|
||||
var local_related_collection = JSON.parse(x).related_collection;
|
||||
var local_calcul_rule = JSON.parse(x).calcul_rule;
|
||||
var local_nom = JSON.parse(x).nom;
|
||||
var local_fonction_name = JSON.parse(x).fonction_name;
|
||||
|
||||
|
||||
//---
|
||||
var node = {
|
||||
"id": localid,
|
||||
"_id": local_id,
|
||||
"related_collection": local_related_collection,
|
||||
"calcul_rule": local_calcul_rule,
|
||||
"label": local_nom,
|
||||
"nom": local_nom,
|
||||
"fonction_name": local_fonction_name,
|
||||
|
||||
};
|
||||
new_data2.push(node);
|
||||
});
|
||||
|
||||
var node = {
|
||||
|
||||
"id": "",
|
||||
"_id": "",
|
||||
"related_collection": "",
|
||||
"calcul_rule": "",
|
||||
"label": "",
|
||||
"nom": "",
|
||||
"fonction_name": "",
|
||||
|
||||
};
|
||||
new_data2.push(node);
|
||||
|
||||
if (new_data2.length > 0) {
|
||||
setNew_Get_List_Regle_Calcul_Note_Formation_result(new_data2);
|
||||
|
||||
// console.log(" ## new_data2 = ", new_data2);
|
||||
// console.log(" ## New_Get_List_Regle_Calcul_Note_Formation_result = ", New_Get_List_Regle_Calcul_Note_Formation_result);
|
||||
} else {
|
||||
setNew_Get_List_Regle_Calcul_Note_Formation_result([])
|
||||
}
|
||||
}
|
||||
else {
|
||||
setGet_List_Regle_Calcul_Note_Formation_api("false");
|
||||
setGet_List_Regle_Calcul_Note_Formation_message(data['message']);
|
||||
}
|
||||
|
||||
}).catch((error) => {
|
||||
console.error('Error Get_List_Regle_Calcul_Note_Formation :', error);
|
||||
setGet_List_Regle_Calcul_Note_Formation_api("false");
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
const handleChangeDomaineTraining = (event) => {
|
||||
const name = event.target.name;
|
||||
const value = event.target.value;
|
||||
|
@ -3424,6 +3602,8 @@ const AddClassManual = (props) => {
|
|||
setsubmenu("note_evaluation");
|
||||
submenu_color_management("note_evaluation");
|
||||
Getall_Class_List_Evalution();
|
||||
|
||||
Get_List_Regle_Calcul_Note_Formation();
|
||||
}
|
||||
|
||||
|
||||
|
@ -3471,9 +3651,17 @@ const AddClassManual = (props) => {
|
|||
const [p_detail_price, setp_detail_price] = useState("");
|
||||
|
||||
const [selected_ue_id, setselected_ue_id] = useState("");
|
||||
const [selected_ue_credit, setselected_ue_credit] = useState("");
|
||||
const [selected_ue_credit_ects, setselected_ue_credit_ects] = useState("");
|
||||
const [selected_ue_is_noted, setselected_ue_is_noted] = useState("");
|
||||
const [selected_ue_pres_dist_hyp, setselected_ue_pres_dist_hyp] = useState("");
|
||||
const [selected_ue_coefficient, setselected_ue_coefficient] = useState("");
|
||||
|
||||
const [selected_ue_seuil_validation, setselected_ue_seuil_validation] = useState("");
|
||||
|
||||
|
||||
const [selected_class_note_calculation_id, setselected_class_note_calculation_id] = useState("");
|
||||
|
||||
|
||||
|
||||
const New_Option_Is_Noted = [
|
||||
{ "id": "1", "label": "Oui", "value": "1" },
|
||||
|
@ -3493,30 +3681,36 @@ const AddClassManual = (props) => {
|
|||
const Dialog_Unite_Enseignement_handleClose = () => {
|
||||
setDialog_Unite_Enseignement_open(false);
|
||||
setselected_ue_id("");
|
||||
setselected_ue_credit("");
|
||||
setselected_ue_credit_ects("");
|
||||
setselected_ue_is_noted("");
|
||||
setselected_ue_pres_dist_hyp("");
|
||||
setadd_one_eu_to_class("");
|
||||
setselected_ue_coefficient("");
|
||||
setselected_ue_seuil_validation("");
|
||||
|
||||
};
|
||||
|
||||
|
||||
function clean_ue_data() {
|
||||
setselected_ue_id("");
|
||||
setselected_ue_credit("");
|
||||
setselected_ue_credit_ects("");
|
||||
setselected_ue_seuil_validation("");
|
||||
setselected_ue_is_noted("");
|
||||
setselected_ue_pres_dist_hyp("");
|
||||
setadd_one_eu_to_class("");
|
||||
setselected_ue_coefficient("");
|
||||
|
||||
}
|
||||
|
||||
const Dialog_Unite_Enseignement_handleClose_buton = () => {
|
||||
setDialog_Unite_Enseignement_open(false);
|
||||
setselected_ue_id("");
|
||||
setselected_ue_credit("");
|
||||
setselected_ue_credit_ects("");
|
||||
setselected_ue_seuil_validation("");
|
||||
setselected_ue_is_noted("");
|
||||
setselected_ue_pres_dist_hyp("");
|
||||
setadd_one_eu_to_class("");
|
||||
setselected_ue_coefficient("");
|
||||
};
|
||||
|
||||
const [Dialog_1_message, setDialog_1_message] = React.useState(false);
|
||||
|
@ -3539,9 +3733,11 @@ const AddClassManual = (props) => {
|
|||
form.append("class_id", selected_class_id);
|
||||
|
||||
form.append("ue_id", selected_ue_id);
|
||||
form.append("credit", selected_ue_credit);
|
||||
form.append("credit", selected_ue_credit_ects);
|
||||
form.append("coefficient", selected_ue_coefficient);
|
||||
form.append("pres_dist_hyp", selected_ue_pres_dist_hyp);
|
||||
form.append("is_noted", selected_ue_is_noted);
|
||||
form.append("seuil_validation", selected_ue_seuil_validation);
|
||||
|
||||
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Add_Update_UE_To_Class/";
|
||||
|
||||
|
@ -4189,7 +4385,8 @@ const AddClassManual = (props) => {
|
|||
if (value && value._id) {
|
||||
|
||||
setselected_ue_id(value._id);
|
||||
|
||||
setselected_ue_credit_ects(value.ects);
|
||||
setselected_ue_seuil_validation(value.seuil_validation);
|
||||
} else {
|
||||
setselected_ue_id("");
|
||||
}
|
||||
|
@ -4230,10 +4427,49 @@ const AddClassManual = (props) => {
|
|||
name="event_dialog_credit"
|
||||
id="event_dialog_credit"
|
||||
type="number"
|
||||
InputProps={{ inputProps: { min: 1, max: 999 } }}
|
||||
fullWidth
|
||||
value={selected_ue_credit}
|
||||
value={selected_ue_credit_ects}
|
||||
onChange={(e) => {
|
||||
setselected_ue_credit(e.target.value);
|
||||
setselected_ue_credit_ects(e.target.value);
|
||||
}
|
||||
}
|
||||
|
||||
/>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="session_caract_Dialog" > <b> Coefficient </b>
|
||||
<TextField
|
||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||
|
||||
name="event_dialog_coef"
|
||||
id="event_dialog_coef"
|
||||
type="number"
|
||||
InputProps={{ inputProps: { min: 1, max: 999 } }}
|
||||
fullWidth
|
||||
value={selected_ue_coefficient}
|
||||
onChange={(e) => {
|
||||
setselected_ue_coefficient(e.target.value);
|
||||
}
|
||||
}
|
||||
|
||||
/>
|
||||
|
||||
</div>
|
||||
|
||||
<div className="session_caract_Dialog" > <b> Seuil validation </b>
|
||||
<TextField
|
||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||
|
||||
name="event_dialog_seuil_validation"
|
||||
id="event_dialog_seuil_validation"
|
||||
type="number"
|
||||
InputProps={{ inputProps: { min: 1, max: 9999 } }}
|
||||
fullWidth
|
||||
value={selected_ue_seuil_validation}
|
||||
onChange={(e) => {
|
||||
setselected_ue_seuil_validation(e.target.value);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -4269,6 +4505,8 @@ const AddClassManual = (props) => {
|
|||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div className="session_caract_Dialog"> <b> Mode d'animation </b><br />
|
||||
<Autocomplete
|
||||
disablePortal
|
||||
|
@ -4643,6 +4881,9 @@ const AddClassManual = (props) => {
|
|||
credit: JSON.parse(item).credit,
|
||||
pres_dist_hyp: JSON.parse(item).pres_dist_hyp,
|
||||
is_noted: JSON.parse(item).is_noted,
|
||||
coefficient: JSON.parse(item).coefficient,
|
||||
seuil_validation: JSON.parse(item).seuil_validation,
|
||||
|
||||
|
||||
duration: JSON.parse(item).duration,
|
||||
duration_unite: JSON.parse(item).duration_unite,
|
||||
|
@ -4662,9 +4903,12 @@ const AddClassManual = (props) => {
|
|||
|
||||
var current_class_ue_data = New_Getall_Class_List_UE_result.filter((ue_data) => ue_data._id === String((newSelectionModel.row._id)))
|
||||
|
||||
setselected_ue_credit(current_class_ue_data[0]['credit']);
|
||||
// console.log(" ### current_class_ue_data[0] = ", current_class_ue_data[0]);
|
||||
setselected_ue_credit_ects(current_class_ue_data[0]['credit']);
|
||||
setselected_ue_is_noted(current_class_ue_data[0]['is_noted']);
|
||||
setselected_ue_pres_dist_hyp(current_class_ue_data[0]['pres_dist_hyp']);
|
||||
setselected_ue_coefficient(current_class_ue_data[0]['coefficient']);
|
||||
setselected_ue_seuil_validation(current_class_ue_data[0]['seuil_validation']);
|
||||
setadd_one_eu_to_class("0");
|
||||
|
||||
setDialog_Unite_Enseignement_open(true);
|
||||
|
@ -4828,9 +5072,6 @@ const AddClassManual = (props) => {
|
|||
|
||||
setDialog_Evaluation_Unite_Enseignement_open(true);
|
||||
|
||||
|
||||
|
||||
|
||||
}}
|
||||
|
||||
|
||||
|
@ -4894,9 +5135,110 @@ const AddClassManual = (props) => {
|
|||
<br />
|
||||
<div className="div_row" style={{ "border": "None" }}>
|
||||
<h3> Regle de calcul note finale </h3>
|
||||
|
||||
<nav>
|
||||
|
||||
Règle de calcul :
|
||||
{New_Get_List_Regle_Calcul_Note_Formation_result && New_Get_List_Regle_Calcul_Note_Formation_result.length > 0 && <Autocomplete
|
||||
disablePortal
|
||||
name="regle_calcul_note_formation"
|
||||
id="regle_calcul_note_formation"
|
||||
className="disabled_style"
|
||||
options={New_Get_List_Regle_Calcul_Note_Formation_result}
|
||||
|
||||
value={New_Get_List_Regle_Calcul_Note_Formation_result.filter((data) => (data)._id === String(selected_class_note_calculation_id))[0].label}
|
||||
onChange={(event, value) => {
|
||||
if (value && value._id) {
|
||||
setselected_class_note_calculation_id(value._id);
|
||||
DataUpdated();
|
||||
|
||||
} else {
|
||||
setselected_class_note_calculation_id("");
|
||||
DataUpdated();
|
||||
}
|
||||
}}
|
||||
|
||||
renderInput={(params) => <TextField {...params} label="Formateur" />
|
||||
}
|
||||
/>}
|
||||
|
||||
<br />
|
||||
Exemple de calcul : Moyenne finale = [ UE * Coef (UE) ] / nb_coef
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{String(props.ispending) === String("0") && <div className="parter_div_filtrer_row">
|
||||
|
||||
|
||||
{(String(datamodification) === String("1") || String(editor_tochange) === String("1")) && <div className="parter_div_filtrer_row_gauche" >
|
||||
<Button variant="contained" onClick={Record_Training_Calcul_Note} startIcon={<AiTwotoneSave />} className="bton_enreg2">ENREGISTRER LA REGLE </Button>
|
||||
</div>
|
||||
}
|
||||
|
||||
{String(datamodification) !== String("1") && String(editor_tochange) !== String("1") && String(props.mytrainingclass.ref) !== "" &&
|
||||
<div className="parter_div_filtrer_row_droite" >
|
||||
|
||||
<Popup
|
||||
trigger={
|
||||
<Button variant="contained" startIcon={<DeleteIcon />} className="bton_suppr2"> SUPPRIMER LA FORMATION </Button>
|
||||
|
||||
}
|
||||
modal
|
||||
nested
|
||||
position="center center"
|
||||
>
|
||||
{close => (
|
||||
<div>
|
||||
<button className="gest_close" onClick={close}>
|
||||
×
|
||||
</button>
|
||||
<div className="gest_header"> MySy Information </div>
|
||||
<div className="gest_content">
|
||||
{' '}
|
||||
|
||||
En confirmant cette opération, la formation sera <i><font color="red"> définitivement supprimée</font></i>. <br />
|
||||
Avant, assurez-vous de n'avoir aucune session rattachée à la formation.
|
||||
|
||||
</div>
|
||||
<div className="gest_actions">
|
||||
<div style={{ "width": "45%", "float": "left" }}>
|
||||
<button className="gest_bton_popup" onClick={(event) => {
|
||||
DeleteClass(event);
|
||||
//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>
|
||||
|
||||
</div>
|
||||
}
|
||||
|
||||
|
||||
{(String(datamodification) === String("1") || String(editor_tochange) === String("1")) && String(props.mytrainingclass.ref) !== "" && <div className="parter_div_filtrer_row_droite" >
|
||||
<Button variant="contained" onClick={UndoModif} startIcon={<IoArrowUndoCircle />} className="bton_suppr2"> ANNULER LES MODIFICATIONS </Button>
|
||||
|
||||
</div>}
|
||||
|
||||
</div>}
|
||||
|
||||
|
||||
|
||||
</div>}
|
||||
|
||||
{submenu && String(submenu) === "piece_jointe" && <div>
|
||||
|
@ -5883,7 +6225,6 @@ const AddClassManual = (props) => {
|
|||
</div>}
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
@ -5904,13 +6245,6 @@ const AddClassManual = (props) => {
|
|||
</div>
|
||||
}
|
||||
|
||||
{/*String(datamodification) === String("0") && <div className="parter_div_filtrer_row_gauche" >
|
||||
<Button variant="contained" onClick={"ModifTraining"} startIcon={<AiTwotoneEdit />}>MODIFIER </Button>
|
||||
</div>
|
||||
*/ }
|
||||
|
||||
|
||||
|
||||
{String(datamodification) !== String("1") && String(editor_tochange) !== String("1") && String(props.mytrainingclass.ref) !== "" &&
|
||||
<div className="parter_div_filtrer_row_droite" >
|
||||
|
||||
|
|
|
@ -789,6 +789,13 @@ const DisplayPartnerUnite_Enseignement = (props) => {
|
|||
setVal([]);
|
||||
}
|
||||
|
||||
if (local_ue.note_ue_calculation_rule_id) {
|
||||
setp_detail_note_ue_calculation_rule_id(local_ue.note_ue_calculation_rule_id);
|
||||
} else {
|
||||
setp_detail_note_ue_calculation_rule_id("");
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (local_ue.ects) {
|
||||
setp_detail_ects(local_ue.ects);
|
||||
|
@ -866,7 +873,7 @@ const DisplayPartnerUnite_Enseignement = (props) => {
|
|||
setue_data_edit_mode("0");
|
||||
const list_menu_header_names = ['detail_ue_code', 'detail_ue_titre', 'detail_ue_bloc', 'detail_ue_domaine', 'detail_ue_competence',
|
||||
'detail_ue_semestre', 'detail_ue_ects', 'detail_ue_seuil_validation', 'detail_ue_duree', 'detail_ue_unit_duree', 'detail_ue_cm_heure',
|
||||
'detail_ue_td_heure', 'detail_ue_tp_heure', 'detail_ue_tpg_heure', 'detail_ue_cm_heure']
|
||||
'detail_ue_td_heure', 'detail_ue_tp_heure', 'detail_ue_tpg_heure', 'detail_ue_cm_heure', 'detail_ue_note_ue_calculation_rule_id']
|
||||
|
||||
|
||||
for (let i = 0; i < list_menu_header_names.length; i++) {
|
||||
|
@ -883,7 +890,7 @@ const DisplayPartnerUnite_Enseignement = (props) => {
|
|||
setue_data_edit_mode("1");
|
||||
const list_menu_header_names = ['detail_ue_code', 'detail_ue_titre', 'detail_ue_bloc', 'detail_ue_domaine', 'detail_ue_competence',
|
||||
'detail_ue_semestre', 'detail_ue_ects', 'detail_ue_seuil_validation', 'detail_ue_duree', 'detail_ue_unit_duree', 'detail_ue_cm_heure',
|
||||
'detail_ue_td_heure', 'detail_ue_tp_heure', 'detail_ue_tpg_heure', 'detail_ue_cm_heure']
|
||||
'detail_ue_td_heure', 'detail_ue_tp_heure', 'detail_ue_tpg_heure', 'detail_ue_cm_heure', 'detail_ue_note_ue_calculation_rule_id']
|
||||
|
||||
|
||||
for (let i = 0; i < list_menu_header_names.length; i++) {
|
||||
|
@ -974,6 +981,8 @@ const DisplayPartnerUnite_Enseignement = (props) => {
|
|||
|
||||
form.append("semestre", p_detail_semestre);
|
||||
|
||||
form.append("note_ue_calculation_rule_id", p_detail_note_ue_calculation_rule_id);
|
||||
|
||||
|
||||
form.append("niveau_competence", val);
|
||||
|
||||
|
@ -1153,6 +1162,8 @@ const DisplayPartnerUnite_Enseignement = (props) => {
|
|||
const [p_detail_seuil_validation, setp_detail_seuil_validation] = useState("");
|
||||
const [p_detail_tab_competence, setp_detail_tab_competence] = useState([]);
|
||||
|
||||
const [p_detail_note_ue_calculation_rule_id, setp_detail_note_ue_calculation_rule_id] = useState([]);
|
||||
|
||||
|
||||
const editorRef_description = useRef(null);
|
||||
const [editorRef_description_limite, seteditorRef_description_limite] = useState(5000);
|
||||
|
@ -1207,6 +1218,7 @@ const DisplayPartnerUnite_Enseignement = (props) => {
|
|||
}
|
||||
|
||||
async function handleClick_edit_ue_From_Line(selected_row_id) {
|
||||
Get_List_Regle_Calcul_Note_UE();
|
||||
|
||||
submenu_detail();
|
||||
var line = JSON.parse(Getall_Parter_Unite_Enseignement_result[selected_row_id]);
|
||||
|
@ -1333,6 +1345,94 @@ const DisplayPartnerUnite_Enseignement = (props) => {
|
|||
}
|
||||
|
||||
|
||||
const [New_Get_List_Regle_Calcul_Note_UE_result, setNew_Get_List_Regle_Calcul_Note_UE_result] = useState([]);
|
||||
|
||||
const [Get_List_Regle_Calcul_Note_UE_api, setGet_List_Regle_Calcul_Note_UE_api] = useState();
|
||||
const [Get_List_Regle_Calcul_Note_UE_message, setGet_List_Regle_Calcul_Note_UE_message] = useState();
|
||||
const [Get_List_Regle_Calcul_Note_UE_result, setGet_List_Regle_Calcul_Note_UE_result] = useState();
|
||||
function Get_List_Regle_Calcul_Note_UE() {
|
||||
var form = new FormData();
|
||||
|
||||
const stored_cookie = getCookie('tokenmysypart');
|
||||
form.append("token", stored_cookie);
|
||||
form.append("tab_related_collection", "unite_enseignement");
|
||||
|
||||
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_List_base_calcul_note_class_and_ue_With_Filter";
|
||||
|
||||
fetch(myurl,
|
||||
{
|
||||
method: 'POST',
|
||||
body: form,
|
||||
})
|
||||
.then((data) => data.json())
|
||||
.then((data) => {
|
||||
// console.log(' IN Get_List_Regle_Calcul_Note_UE Success:', data['message'], "data['status'] = ", data['status']);
|
||||
|
||||
if (String(data['status']) === String("true")) {
|
||||
setGet_List_Regle_Calcul_Note_UE_api("true");
|
||||
setGet_List_Regle_Calcul_Note_UE_result(data['message']);
|
||||
|
||||
var new_data2 = [];
|
||||
const new_data = data['message'].map((x) => {
|
||||
|
||||
//---
|
||||
var localid = JSON.parse(x).id;
|
||||
var local_id = JSON.parse(x)._id;
|
||||
var local_related_collection = JSON.parse(x).related_collection;
|
||||
var local_calcul_rule = JSON.parse(x).calcul_rule;
|
||||
var local_nom = JSON.parse(x).nom;
|
||||
var local_fonction_name = JSON.parse(x).fonction_name;
|
||||
|
||||
|
||||
//---
|
||||
var node = {
|
||||
"id": localid,
|
||||
"_id": local_id,
|
||||
"related_collection": local_related_collection,
|
||||
"calcul_rule": local_calcul_rule,
|
||||
"label": local_nom,
|
||||
"nom": local_nom,
|
||||
"fonction_name": local_fonction_name,
|
||||
|
||||
};
|
||||
new_data2.push(node);
|
||||
});
|
||||
|
||||
var node = {
|
||||
|
||||
"id": "",
|
||||
"_id": "",
|
||||
"related_collection": "",
|
||||
"calcul_rule": "",
|
||||
"label": "",
|
||||
"nom": "",
|
||||
"fonction_name": "",
|
||||
|
||||
};
|
||||
new_data2.push(node);
|
||||
|
||||
if (new_data2.length > 0) {
|
||||
setNew_Get_List_Regle_Calcul_Note_UE_result(new_data2);
|
||||
|
||||
// console.log(" ## new_data2 = ", new_data2);
|
||||
// console.log(" ## New_Get_List_Regle_Calcul_Note_UE_result = ", New_Get_List_Regle_Calcul_Note_UE_result);
|
||||
} else {
|
||||
setNew_Get_List_Regle_Calcul_Note_UE_result([])
|
||||
}
|
||||
}
|
||||
else {
|
||||
setGet_List_Regle_Calcul_Note_UE_api("false");
|
||||
setGet_List_Regle_Calcul_Note_UE_message(data['message']);
|
||||
}
|
||||
|
||||
}).catch((error) => {
|
||||
console.error('Error Get_List_Regle_Calcul_Note_UE :', error);
|
||||
setGet_List_Regle_Calcul_Note_UE_api("false");
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
const [New_Get_List_Type_Cours_result, setNew_Get_List_Type_Cours_result] = useState([]);
|
||||
|
||||
const [Get_List_Type_Cours_api, setGet_List_Type_Cours_api] = useState();
|
||||
|
@ -1965,7 +2065,7 @@ const DisplayPartnerUnite_Enseignement = (props) => {
|
|||
{/*** Fin Dialog ajout PLANIF_LINE ue */}
|
||||
|
||||
|
||||
<h3 style={{ fontFamily:'DM Sans' }}> Gestion des Unités d'enseignement </h3>
|
||||
<h3 style={{ fontFamily: 'DM Sans' }}> Gestion des Unités d'enseignement </h3>
|
||||
<div className="div_row">
|
||||
<div className="titre1"> Utilisez les filtres !</div>
|
||||
<div className="div_row" style={{ "marginBottom": "5px" }}>
|
||||
|
@ -2531,7 +2631,7 @@ const DisplayPartnerUnite_Enseignement = (props) => {
|
|||
|
||||
|
||||
{ue_data_edit_mode && String(ue_data_edit_mode) === "1" &&
|
||||
New_Get_List_Domaines_result && New_Get_List_Domaines_result.length > 0 && <div className="training_caract">Domaine <br />
|
||||
New_Get_List_Domaines_result && New_Get_List_Domaines_result.length > 0 && <div className="session_caract">Domaine <br />
|
||||
<Autocomplete
|
||||
disablePortal
|
||||
|
||||
|
@ -2558,7 +2658,7 @@ const DisplayPartnerUnite_Enseignement = (props) => {
|
|||
</div>}
|
||||
|
||||
{ue_data_edit_mode && String(ue_data_edit_mode) !== "1" &&
|
||||
New_Get_List_Domaines_result && New_Get_List_Domaines_result.length > 0 && <div className="training_caract">Domaine <br />
|
||||
New_Get_List_Domaines_result && New_Get_List_Domaines_result.length > 0 && <div className="session_caract">Domaine <br />
|
||||
<TextField
|
||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||
required
|
||||
|
@ -2627,6 +2727,56 @@ const DisplayPartnerUnite_Enseignement = (props) => {
|
|||
|
||||
</div>}
|
||||
|
||||
{ue_data_edit_mode && String(ue_data_edit_mode) === "1" && New_Get_List_Regle_Calcul_Note_UE_result && New_Get_List_Regle_Calcul_Note_UE_result.length > 0 &&
|
||||
<div className="session_caract"> Règle de calcul note <br />
|
||||
<Autocomplete
|
||||
disablePortal
|
||||
name="detail_ue_note_ue_calculation_rule_id"
|
||||
id="detail_ue_note_ue_calculation_rule_id"
|
||||
className="disabled_style"
|
||||
options={New_Get_List_Regle_Calcul_Note_UE_result}
|
||||
New_Get_List_Regle_Calcul_Note_UE_result
|
||||
value={New_Get_List_Regle_Calcul_Note_UE_result.filter((data) => (data)._id === String(p_detail_note_ue_calculation_rule_id))[0].label}
|
||||
onChange={(event, value) => {
|
||||
seteu_changed("1");
|
||||
if (value && value._id) {
|
||||
setp_detail_note_ue_calculation_rule_id(value._id);
|
||||
|
||||
} else {
|
||||
setp_detail_note_ue_calculation_rule_id("");
|
||||
}
|
||||
}}
|
||||
|
||||
renderInput={(params) => <TextField {...params} label="Choisir" />
|
||||
}
|
||||
/>
|
||||
</div>}
|
||||
|
||||
|
||||
{ue_data_edit_mode && String(ue_data_edit_mode) !== "1" && New_Get_List_Regle_Calcul_Note_UE_result && New_Get_List_Regle_Calcul_Note_UE_result.length > 0 &&
|
||||
<div className="session_caract"> Règle de calcul note <br />
|
||||
<TextField
|
||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||
required
|
||||
name="detail_ue_note_ue_calculation_rule_id"
|
||||
id="detail_ue_note_ue_calculation_rule_id"
|
||||
className="disabled_style"
|
||||
|
||||
InputLabelProps={{
|
||||
shrink: true,
|
||||
}}
|
||||
//disabled={true}
|
||||
|
||||
value={New_Get_List_Regle_Calcul_Note_UE_result.filter((data) => (data)._id === String(p_detail_note_ue_calculation_rule_id))[0].label}
|
||||
|
||||
|
||||
/>
|
||||
|
||||
|
||||
</div>}
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div className="block_ue_div_50_percent_droite">
|
||||
|
@ -3674,7 +3824,7 @@ const DisplayPartnerUnite_Enseignement = (props) => {
|
|||
|
||||
/>
|
||||
</div>
|
||||
{New_Get_List_Domaines_result && New_Get_List_Domaines_result.length > 0 && <div className="training_caract"> Domaine <br />
|
||||
{New_Get_List_Domaines_result && New_Get_List_Domaines_result.length > 0 && <div className="session_caract"> Domaine <br />
|
||||
<Autocomplete
|
||||
disablePortal
|
||||
|
||||
|
@ -3726,6 +3876,30 @@ const DisplayPartnerUnite_Enseignement = (props) => {
|
|||
|
||||
</div>
|
||||
|
||||
{New_Get_List_Regle_Calcul_Note_UE_result && New_Get_List_Regle_Calcul_Note_UE_result.length > 0 && <Autocomplete
|
||||
disablePortal
|
||||
name="detail_ue_note_ue_calculation_rule_id"
|
||||
id="detail_ue_note_ue_calculation_rule_id"
|
||||
className="disabled_style"
|
||||
options={New_Get_List_Regle_Calcul_Note_UE_result}
|
||||
New_Get_List_Regle_Calcul_Note_UE_result
|
||||
value={New_Get_List_Regle_Calcul_Note_UE_result.filter((data) => (data)._id === String(p_detail_note_ue_calculation_rule_id))[0].label}
|
||||
onChange={(event, value) => {
|
||||
if (value && value._id) {
|
||||
setp_detail_note_ue_calculation_rule_id(value._id);
|
||||
|
||||
|
||||
} else {
|
||||
setp_detail_note_ue_calculation_rule_id("");
|
||||
|
||||
}
|
||||
}}
|
||||
|
||||
renderInput={(params) => <TextField {...params} label="Formateur" />
|
||||
}
|
||||
/>}
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<div className="block_ue_div_50_percent_droite">
|
||||
|
|
|
@ -129,6 +129,31 @@ const Module_Session_Notes_Classement = (props) => {
|
|||
);
|
||||
}
|
||||
|
||||
const columns_list_session_note_classement_final = [
|
||||
{ field: 'id', headerName: 'id', hide: true },
|
||||
{ field: '_id', headerName: '_id', hide: true },
|
||||
{ field: 'inscription_id', headerName: 'inscription_id', hide: true },
|
||||
{ field: 'session_id', headerName: 'session_id', hide: true },
|
||||
{ field: 'ue_id', headerName: 'ue_id', hide: true },
|
||||
{ field: 'class_id', headerName: 'class_id', hide: true },
|
||||
{ field: 'class_id_external_code', headerName: 'Code Formation', hide: true },
|
||||
{ field: 'ue_id_code', headerName: 'UE Code', minwidth: 200, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{ field: 'inscription_id_nom', headerName: 'Nom', minwidth: 200, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{ field: 'inscription_id_prenom', headerName: 'Prenom', minwidth: 200, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
|
||||
{ field: 'type_eval', headerName: 'Type eval', minwidth: 100, flex: 1, hide: false, editable: true, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
|
||||
|
||||
|
||||
{ field: 'moyenne', headerName: 'moyenne', minwidth: 100, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{ field: 'somme', headerName: 'somme', minwidth: 100, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{ field: 'nb_evaluation', headerName: 'nb_evaluation', minwidth: 100, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{ field: 'inscription_id_mail', headerName: 'Email', minwidth: 300, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
|
||||
{ field: 'detail', headerName: 'Detail Note', minwidth: 100, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
|
||||
]
|
||||
|
||||
const columns_list_evaluation_detail_note_classement_final = [
|
||||
{ field: 'id', headerName: 'id', hide: true },
|
||||
{ field: '_id', headerName: '_id', hide: true },
|
||||
|
@ -167,20 +192,35 @@ const Module_Session_Notes_Classement = (props) => {
|
|||
{ field: 'inscription_id_nom', headerName: 'Nom', minwidth: 200, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{ field: 'inscription_id_prenom', headerName: 'Prenom', minwidth: 200, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
|
||||
{ field: 'type_eval', headerName: 'Type eval', minwidth: 100, flex: 1, hide: false, editable: true, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
|
||||
|
||||
|
||||
{ field: 'note_td', headerName: 'note_td', minwidth: 100, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{ field: 'note_tp', headerName: 'note_tp', minwidth: 100, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{ field: 'note_examen', headerName: 'note_examen', minwidth: 100, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{ field: 'note_finale', headerName: 'note_finale', minwidth: 100, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{ field: 'note_finale', headerName: 'Note finale', minwidth: 100, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{ field: 'rang', headerName: 'rang', minwidth: 100, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
|
||||
{ field: 'inscription_id_mail', headerName: 'Email', minwidth: 300, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{ field: 'seuil_validation', headerName: 'Seuil val.', minwidth: 100, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{ field: 'ue_coefficient', headerName: 'Coeff.', minwidth: 100, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
{ field: 'ue_validation', headerName: 'Validé', minwidth: 100, flex: 1, hide: false, editable: false,
|
||||
|
||||
renderCell: (cellValues) => {
|
||||
return (
|
||||
<div style={{ paddingLeft: "5px", paddingRight: "15px", "display": "block", wordBreak: "break-all" }}>
|
||||
{cellValues.row.ue_validation && String(cellValues.row.ue_validation) === "1" && "Oui"}
|
||||
{cellValues.row.ue_validation && String(cellValues.row.ue_validation) === "0" && "Non"}
|
||||
|
||||
</div>
|
||||
|
||||
);
|
||||
}
|
||||
},
|
||||
|
||||
{ field: 'note_td', headerName: 'note_td', hide: true },
|
||||
{ field: 'note_tp', headerName: 'note_tp', hide: true },
|
||||
{ field: 'note_examen', headerName: 'note_examen', hide: true },
|
||||
|
||||
|
||||
{ field: 'detail', headerName: 'Detail Note', minwidth: 100, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
|
||||
|
||||
{ field: 'type_eval', headerName: 'Type eval', hide: true },
|
||||
|
||||
{ field: 'regle_calcul', headerName: 'regle_calcul', hide: true },
|
||||
|
||||
]
|
||||
|
||||
|
||||
|
@ -347,6 +387,12 @@ const Module_Session_Notes_Classement = (props) => {
|
|||
var regle_calcul = JSON.parse(x).regle_calcul;
|
||||
var note_finale = JSON.parse(x).note_finale;
|
||||
|
||||
var regle_calcul = JSON.parse(x).regle_calcul;
|
||||
var seuil_validation = JSON.parse(x).seuil_validation;
|
||||
var ue_coefficient = JSON.parse(x).ue_coefficient;
|
||||
var ue_validation = JSON.parse(x).ue_validation;
|
||||
|
||||
|
||||
var ue_id_code = JSON.parse(x).ue_id_code;
|
||||
var class_id_external_code = JSON.parse(x).class_id_external_code;
|
||||
var inscription_id_mail = JSON.parse(x).inscription_id_mail;
|
||||
|
@ -371,6 +417,12 @@ const Module_Session_Notes_Classement = (props) => {
|
|||
"regle_calcul": regle_calcul,
|
||||
"note_finale": note_finale,
|
||||
|
||||
"regle_calcul": regle_calcul,
|
||||
"seuil_validation": seuil_validation,
|
||||
"ue_coefficient": ue_coefficient,
|
||||
"ue_validation": ue_validation,
|
||||
|
||||
|
||||
"ue_id_code": ue_id_code,
|
||||
"class_id_external_code": class_id_external_code,
|
||||
"inscription_id_mail": inscription_id_mail,
|
||||
|
@ -400,6 +452,10 @@ const Module_Session_Notes_Classement = (props) => {
|
|||
"inscription_id_mail": "",
|
||||
"inscription_id_nom": "",
|
||||
"inscription_id_prenom": "",
|
||||
"regle_calcul": "",
|
||||
"seuil_validation": "",
|
||||
"ue_coefficient": "",
|
||||
"ue_validation": "",
|
||||
|
||||
};
|
||||
new_data2.push(node);
|
||||
|
@ -485,7 +541,7 @@ const Module_Session_Notes_Classement = (props) => {
|
|||
<div style={{ height: 550, width: '100%', paddingRight: '5px' }}>
|
||||
|
||||
|
||||
<nav style={{ textAlign: 'center' }}> Matrice des notes & Rang</nav>
|
||||
<nav style={{ textAlign: 'center' }}> Notes & Rang par UE</nav>
|
||||
<Box
|
||||
sx={{
|
||||
height: 500,
|
||||
|
@ -543,6 +599,12 @@ const Module_Session_Notes_Classement = (props) => {
|
|||
backgroundColor: '#FFFFFF',
|
||||
color: 'black',
|
||||
},
|
||||
'& .line--statut--isvalide': {
|
||||
backgroundColor: '#ABEBC6',
|
||||
color: 'black',
|
||||
fontWeight: '600',
|
||||
},
|
||||
|
||||
[`& .${gridClasses.cell}`]: {
|
||||
py: 1,
|
||||
},
|
||||
|
@ -580,6 +642,12 @@ const Module_Session_Notes_Classement = (props) => {
|
|||
note_finale: JSON.parse(item).note_finale,
|
||||
rang: JSON.parse(item).rang,
|
||||
|
||||
regle_calcul: JSON.parse(item).regle_calcul,
|
||||
seuil_validation: JSON.parse(item).seuil_validation,
|
||||
ue_coefficient: JSON.parse(item).ue_coefficient,
|
||||
ue_validation: JSON.parse(item).ue_validation,
|
||||
|
||||
|
||||
ue_id_code: JSON.parse(item).ue_id_code,
|
||||
class_id_external_code: JSON.parse(item).class_id_external_code,
|
||||
inscription_id_mail: JSON.parse(item).inscription_id_mail,
|
||||
|
@ -614,6 +682,10 @@ const Module_Session_Notes_Classement = (props) => {
|
|||
}}
|
||||
getRowClassName={(params) => {
|
||||
// Pour la gestion de la couleur de zone double cliquée
|
||||
if (String(params.row.ue_validation) === "1") {
|
||||
return 'line--statut--isvalide';
|
||||
}
|
||||
|
||||
if (String(params.row.id) === String(gridline_id)) {
|
||||
return 'line--statut--selected';
|
||||
}
|
||||
|
@ -661,7 +733,7 @@ const Module_Session_Notes_Classement = (props) => {
|
|||
<div style={{ height: 550, width: '100%', paddingRight: '5px' }}>
|
||||
|
||||
|
||||
<nav style={{ textAlign: 'center' }}> Matrice détaillée des notes </nav>
|
||||
<nav style={{ textAlign: 'center' }}> Matrice détaillée des notes Toutes UE </nav>
|
||||
<Box
|
||||
sx={{
|
||||
height: 500,
|
||||
|
|
Loading…
Reference in New Issue