recette2
cherif 2024-03-28 21:12:10 +01:00
parent da5e13a043
commit 3b269cd25a
1 changed files with 204 additions and 19 deletions

View File

@ -797,9 +797,9 @@ const DisplayPartnerSession = (props) => {
{ field: 'sequence_end', headerName: 'Fin', width: 70, flex: 1, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'is_present', headerName: 'Présent', width: 90, hide: false, editable: true, type: 'boolean', },
{ field: 'email', headerName: 'email', minWidth: 300, flex: 1 , renderCell: (params) => <ExpandableCell_50 {...params} />,},
{ field: 'nom', headerName: 'nom', minWidth: 150, flex: 1 , hide: false, editable: true , renderCell: (params) => <ExpandableCell_50 {...params} />,},
{ field: 'prenom', headerName: 'prenom', minWidth: 150, flex: 1 ,hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'email', headerName: 'email', minWidth: 300, flex: 1, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'nom', headerName: 'nom', minWidth: 150, flex: 1, hide: false, editable: true, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'prenom', headerName: 'prenom', minWidth: 150, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{
field: 'statut', headerName: 'Statut', width: 100, hide: false, editable: false,
@ -828,16 +828,17 @@ const DisplayPartnerSession = (props) => {
);
},
},
{ field: 'date_emargement', headerName: 'Émargé le', width: 180, hide: true, editable: false,
renderCell: (cellValues) => {
return (
<div style={{ paddingLeft: "5px", paddingRight: "10px", "display": "block", wordBreak: "break-all" }}>
{String(cellValues.row.date_emargement).substring(0, 16)}
</div>
{
field: 'date_emargement', headerName: 'Émargé le', width: 180, hide: true, editable: false,
renderCell: (cellValues) => {
return (
<div style={{ paddingLeft: "5px", paddingRight: "10px", "display": "block", wordBreak: "break-all" }}>
{String(cellValues.row.date_emargement).substring(0, 16)}
</div>
);
},
},
);
},
},
{
field: "valide", headerName: 'Valider',
@ -863,9 +864,9 @@ const DisplayPartnerSession = (props) => {
const columns_list_evaluation = [
{ field: 'id', headerName: 'id', hide: true },
{ field: '_id', headerName: '_id', hide: true },
{ field: 'email', headerName: 'email', miniWidth: 300, flex:1, hideable: true, resizable: true, renderCell: (params) => <ExpandableCell_50 {...params} /> },
{ field: 'nom', headerName: 'nom', miniWidth: 200, hide: false, flex:1, editable: true, renderCell: (params) => <ExpandableCell_50 {...params} /> },
{ field: 'prenom', headerName: 'prenom', miniWidth: 200, hide: false, flex:1,editable: false, renderCell: (params) => <ExpandableCell_50 {...params} /> },
{ field: 'email', headerName: 'email', miniWidth: 300, flex: 1, hideable: true, resizable: true, renderCell: (params) => <ExpandableCell_50 {...params} /> },
{ field: 'nom', headerName: 'nom', miniWidth: 200, hide: false, flex: 1, editable: true, renderCell: (params) => <ExpandableCell_50 {...params} /> },
{ field: 'prenom', headerName: 'prenom', miniWidth: 200, hide: false, flex: 1, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} /> },
{
field: 'eval_status', headerName: 'Statut', width: 100, editable: false, flex: true,
valueFormatter: (params) => {
@ -8852,6 +8853,87 @@ const DisplayPartnerSession = (props) => {
});
}
const [New_Get_List_Modele_Emargement_result, setNew_Get_List_Modele_Emargement_result] = useState([]);
const [Get_List_Modele_Emargement_api, setGet_List_Modele_Emargement_api] = useState();
const [Get_List_Modele_Emargement_message, setGet_List_Modele_Emargement_message] = useState();
const [Get_List_Modele_Emargement_result, setGet_List_Modele_Emargement_result] = useState();
function Get_List_Modele_Emargement(type_doc) {
var form = new FormData();
const stored_cookie = getCookie('tokenmysypart');
form.append("token", stored_cookie);
form.append("type_doc", type_doc);
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_List_Emargement_With_Filter/";
setLoading(true);
axios.post(myurl, form).then(res => {
//console.log(" In Get_List_Modele_Emargement res.data.status = " + res.data.status);
//console.log(" In Get_List_Modele_Emargement res.data.message r_class = " + res.data.message);
setLoading(false);
if (String(res.data.status) === String("true")) {
setGet_List_Modele_Emargement_api("true");
setGet_List_Modele_Emargement_result(res.data.message);
var new_data2 = [];
const new_data = res.data.message.map((x) => {
//---
var localid = JSON.parse(x).id;
var local_id = JSON.parse(x)._id;
var local_ref_interne = JSON.parse(x).ref_interne;
var local_nom = JSON.parse(x).nom;
var local_sujet = JSON.parse(x).sujet;
var local_type_doc = JSON.parse(x).type_doc;
var local_cible = JSON.parse(x).cible;
var local_joint_pdf = JSON.parse(x).joint_pdf;
//---
var node = {
"_id": local_id,
"id": localid,
"label": local_nom,
"ref_interne": local_ref_interne,
"nom": local_nom,
"sujet": local_sujet,
"type_doc": local_type_doc,
"cible": local_cible,
"joint_pdf": local_joint_pdf,
};
new_data2.push(node);
});
if (new_data2.length > 0)
setNew_Get_List_Modele_Emargement_result(new_data2);
}
else {
setGet_List_Modele_Emargement_api("false");
setGet_List_Modele_Emargement_message(res.data.message);
alert(res.data.message);
}
}).catch((error) => {
setLoading(false);
console.warn('Not good man :( Get_List_Modele_Emargement = ', error);
setGet_List_Modele_Emargement_api("false");
alert("Impossible de récupérer les modèles d'emargement");
//setmyApimyApiMessage("")
})
}
const [CreateListEmargement_api, setCreateListEmargement_api] = useState();
const [CreateListEmargement_message, setCreateListEmargement_message] = useState();
const [CreateListEmargement_result, setCreateListEmargement_result] = useState();
@ -8923,13 +9005,14 @@ const DisplayPartnerSession = (props) => {
var nom_liste_emarge = "Liste_Emargement.pdf";
var url = process.env.REACT_APP_API_URL + "myclass/api/GerneratePDFEmargementList/" + stored_cookie + "/" + selected_session_id + "/" + selected_internal_url;
var url = process.env.REACT_APP_API_URL + "myclass/api/GerneratePDFEmargementList/" + stored_cookie + "/" + selected_session_id + "/" + selected_internal_url + "/" + selected_emargement_id;
setLoading(true);
axios.get(url, { responseType: 'blob', },)
.then((res) => {
setLoading(false);
setselected_emargement_id("");
fileDownload(res.data, nom_liste_emarge)
}).catch((error) => {
setLoading(false);
@ -9140,6 +9223,10 @@ const DisplayPartnerSession = (props) => {
};
const [selected_emargement_id, setselected_emargement_id] = useState();
const [selected_emargement_type, setselected_emargement_type] = useState("");
const [selected_convention_id, setselected_convention_id] = useState();
const [selected_convention_type, setselected_convention_type] = useState("");
const [selected_convention_email_destinataire_prod, setselected_convention_email_destinataire_prod] = useState("");
@ -9810,6 +9897,19 @@ const DisplayPartnerSession = (props) => {
const [Dialog_seq_choix_model_emargement, setDialog_seq_choix_model_emargement] = React.useState("0");
const [Dialog_EMARGEMENT_open, setDialog_EMARGEMENT_open] = React.useState(false);
const Dialog_EMARGEMENT_handleClose = () => {
//alert(" Utiliser le bouton 'fermer' ");
//setOpen(false);
};
const Dialog_EMARGEMENT_handleClose_buton = () => {
setDialog_EMARGEMENT_open(false);
};
return (
<div className="displaypartnersession">
@ -9818,8 +9918,91 @@ const DisplayPartnerSession = (props) => {
</div>}
{/* Dialgue pour le choix du modele de sequene (la journée, 1/2 journée, etc*/}
{/* Dialog pour gerer les EMARGEMENT */}
<Dialog
open={Dialog_EMARGEMENT_open}
onClose={Dialog_EMARGEMENT_handleClose}
className="displaypartnersession"
>
<DialogTitle>MySy Information</DialogTitle>
<DialogContent className="DialogContent_width" style={{ "minHeight": "15rem" }}>
<div className="session_caract_Dialog" > Choisir un modèle d'émargement
<Autocomplete
disablePortal
name="event_dialog_version_emargement"
id="event_dialog_version_emargement"
fullWidth
//className="disabled_style enable_style"
options={New_Get_List_Modele_Emargement_result}
onChange={(event, value) => {
if (value && value._id) {
setselected_emargement_id(value._id);
var result2 = Get_List_Modele_Emargement_result.filter((local_mymanager) => JSON.parse(local_mymanager)._id === String(value._id))
} else {
setselected_emargement_id("");
}
}}
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une option" />
}
/>
</div>
{String(selected_convention_type) === "pdf" && <div className="session_caract_Dialog" > Type Document<br />
<TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 } }}
name="event_dialog_type_convention"
id="event_dialog_type_convention"
value="pdf"
fullWidth
/>
</div>}
</DialogContent>
<DialogActions>
<div className="div_row">
<div className="div_row_gauche">
{selected_emargement_id && <Button className="bton_enreg_dialog" onClick={(e) => {
DownloadListEmargement();
Dialog_EMARGEMENT_handleClose_buton();
}}
>Télécharger </Button>}
</div>
<div className="div_row_droite" style={{ "textAlign": 'center' }}>
<Button onClick={Dialog_EMARGEMENT_handleClose_buton} className="bton_annule_dialog" >Fermer</Button>
</div>
</div>
</DialogActions>
</Dialog>
{/* FIN Dialog pour gerer les EMARGEMENT */}
{/* Dialgue pour le choix du modele de sequene (la journée, 1/2 journée, etc*/}
<Dialog
open={Dialog_seq_choix_model_emargement_open}
@ -9884,7 +10067,6 @@ const DisplayPartnerSession = (props) => {
</Dialog>
{/*** fin dialog choix modele sequence */}
<Dialog
open={Dialog_1_open}
@ -16483,7 +16665,10 @@ const DisplayPartnerSession = (props) => {
</Popup>
<Button className="bton_emarge" onClick={DownloadListEmargement}>Imprimer la liste</Button>
<Button className="bton_emarge" onClick={(event) => {
setDialog_EMARGEMENT_open(true);
Get_List_Modele_Emargement("pdf");
}}>Imprimer la liste</Button>
<Button className="bton_emarge" onClick={(event) => {
GetListeEmargement(selected_session_id, selected_internal_url);
}}>Actualiser la liste</Button><br />