20/03/2024 - 22h30d

recette2
cherif 2024-03-22 18:54:57 +01:00
parent 3ccb50267d
commit 5024c8136b
3 changed files with 207 additions and 85 deletions

View File

@ -98,7 +98,7 @@ function ESign() {
seterreur_recup_e_doc();
setselected_e_doc_secret("");
setselected_e_doc_email("");
}
@ -236,7 +236,7 @@ function ESign() {
};
const [Dialog_SIGN_VALIDATION_open, setDialog_SIGN_VALIDATION_open] = React.useState(false);
const Dialog_SIGN_VALIDATION_handleClose = () => {
//alert(" Utiliser le bouton 'fermer' ");
@ -442,43 +442,56 @@ function ESign() {
<h3> Signature Electronique </h3>
{is_valide_e_document && <div>
<div style={{ width: "80%", "marginLeft": "auto", "marginRight": "auto" }}>
<embed src={get_E_Document_PDF} width='100%' height='700px' type="application/pdf" />
</div>
<div className="div_row">
&nbsp;
<div className="div_row">
<div style={{ width: "20%", "float": "left", minHeight: "40vh" }}>
Guide d'utilisation :
<ul>
<li>Etape 1 </li>
<li>Etape 2 </li>
</ul>
</div>
<div style={{ width: "78%", "float": "right", width:'300px', marginLeft:'auto' }}>
text d'explication
{is_valide_e_document &&
<div className="div_row">
<div style={{ width: "80%", "marginLeft": "auto", "marginRight": "auto" }}>
<embed src={get_E_Document_PDF} width='100%' height='700px' type="application/pdf" />
<div style={{ width: "80%", "marginLeft": "auto", "marginRight": "auto" }}>
<div className="div_row" style={{ "border": "None", "color": "orange", "textAlign": "center" }}>
</div>
<div className="div_row">
&nbsp;
</div>
<div className="div_row_gauche" style={{ "textAlign": 'left', 'marginLeft': '15px' }}>
<Button variant="contained" className="bton_enreg" onClick={(e) => {
setDialog_SIGN_VALIDATION_open(true);
}}>Signer
</Button>
</div>
<div style={{ width: "80%", "marginLeft": "auto", "marginRight": "auto" }}>
<div className="div_row" style={{ "border": "None", "color": "orange", "textAlign": "center" }}>
<div className="div_row_droite" style={{ "textAlign": 'right', 'marginRight': '15px' }} >
<Button variant="contained" className="bton_annule" onClick={Dialog_Message_handleClose_buton}>Annuler
</Button>
</div>
</div>
<div className="div_row_gauche" style={{ "textAlign": 'left', 'marginLeft': '15px' }}>
<Button variant="contained" className="bton_enreg" onClick={(e) => {
setDialog_SIGN_VALIDATION_open(true);
}}>Signer
</Button>
</div>
<div className="div_row_droite" style={{ "textAlign": 'right', 'marginRight': '15px' }} >
<Button variant="contained" className="bton_annule" onClick={Dialog_Message_handleClose_buton}>Annuler
</Button>
</div>
</div>
</div>
</div>}
{!is_valide_e_document && <div style={{ height: "40vh" }}>
&nbsp;
</div>}
</div>
</div>}
{!is_valide_e_document && <div style={{ height: "40vh" }}>
&nbsp;
</div>}
</div>
<div className="div_row">
&nbsp;
</div>

View File

@ -109,10 +109,26 @@ const Module_Editique = (props) => {
};
const [expanded_nom_traite, setExpanded_nom_traite] = React.useState([]);
const [selected_nom_traite, setSelected_nom_traite] = React.useState([]);
const handleToggle_nom_traite = (event, nodeIds) => {
setExpanded_nom_traite(nodeIds);
};
const handleSelect_nom_traite = (event, nodeIds) => {
setSelected_nom_traite(nodeIds);
};
const [tab_handleExpandClick_id, settab_handleExpandClick_id] = React.useState([]);
//settab_handleExpandClick_id(['0', '1', '2', '3', '4', '20'])
const handleExpandClick = () => {
setdisplay_audit_data("0");
setExpanded((oldExpanded) =>
oldExpanded.length === 0 ? ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10'] : [],
);
@ -221,10 +237,10 @@ const Module_Editique = (props) => {
form.append("related_collection", props.related_collection);
form.append("related_collection_recid", props.related_collection_recid);
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Action_Server_" + String(api_name) + "/";
return;
setLoading(true);
@ -259,10 +275,53 @@ const Module_Editique = (props) => {
const [is_session_invoiced, setis_session_invoiced] = useState("0");
const [session_date_debut, setsession_date_debut] = useState(date_today_90j.toLocaleDateString('fr-FR'));
const [Getall_Audit_Document_By_Partner_By_Collection_api, setGetall_Audit_Document_By_Partner_By_Collection_api] = useState();
const [Getall_Audit_Document_By_Partner_By_Collection_message, setGetall_Audit_Document_By_Partner_By_Collection_message] = useState();
const [Getall_Audit_Document_By_Partner_By_Collection_result, setGetall_Audit_Document_By_Partner_By_Collection_result] = useState([]);
function Getall_Audit_Document_By_Partner_By_Collection(event) {
var form = new FormData();
const stored_cookie = getCookie('tokenmysypart');
form.append("token", stored_cookie);
form.append("session_id", props.related_collection_recid);
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Audit_Session_Action_Inscrit/";
setLoading(true);
axios.post(myurl, form).then(res => {
setLoading(false);
if (String(res.data.status) === String("true")) {
//console.log(" In Getall_Editable_Document_By_Partner_By_Collection res.data.status = " + res.data.status);
//console.log(" In Getall_Editable_Document_By_Partner_By_Collection res.data.message r_class = " + res.data.message);
setGetall_Audit_Document_By_Partner_By_Collection_api("true");
setGetall_Audit_Document_By_Partner_By_Collection_result(JSON.parse(res.data.message));
}
else {
setGetall_Audit_Document_By_Partner_By_Collection_api("false");
setGetall_Audit_Document_By_Partner_By_Collection_message(res.data.message);
}
}).catch((error) => {
setLoading(false);
console.warn('Not good man :( Getall_Editable_Document_By_Partner_By_Collection = ', error);
setGetall_Audit_Document_By_Partner_By_Collection_api("false");
//setmyApimyApiMessage("")
})
}
useEffect(() => {
setselected_session_id(props.related_collection_recid);
Getall_Editable_Document_By_Partner_By_Collection();
Getall_Audit_Document_By_Partner_By_Collection();
Get_related_collection_Data();
@ -802,6 +861,11 @@ const Module_Editique = (props) => {
}
const [display_audit_data, setdisplay_audit_data] = useState("0");
const [Send_Stagiaire_Conventions_By_Email_api, setSend_Stagiaire_Conventions_By_Email_api] = useState();
const [Send_Stagiaire_Conventions_By_Email_message, setSend_Stagiaire_Conventions_By_Email_message] = useState();
const [Send_Stagiaire_Conventions_By_Email_result, setSend_Stagiaire_Conventions_By_Email_result] = useState();
@ -1031,6 +1095,15 @@ const Module_Editique = (props) => {
setDialog_MSG_INFO_open(false);
};
function handleExpandClick_audit() {
setdisplay_audit_data("1");
setExpanded_nom_traite((oldExpanded_nom_traite) =>
oldExpanded_nom_traite.length === 0 ? ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10'] : [],
);
}
return (
<div className="module_editique">
@ -1359,7 +1432,7 @@ const Module_Editique = (props) => {
</div>
{(String(selected_convention_type) === "email" || String(selected_convention_type) === "pdf") && <div className="session_caract_Dialog" > Choisir une convention 1
{(String(selected_convention_type) === "email" || String(selected_convention_type) === "pdf") && <div className="session_caract_Dialog" > Choisir une convention
<Autocomplete
disablePortal
name="event_dialog_version_convention"
@ -1461,7 +1534,7 @@ const Module_Editique = (props) => {
</div>
}
{String(selected_convention_type) === "pdf" && <div className="session_caract_Dialog" > Recevoir un pré-envoie
{String(selected_convention_type) === "email" && <div className="session_caract_Dialog" > Recevoir un pré-envoie
<TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
@ -1496,23 +1569,7 @@ const Module_Editique = (props) => {
}
{String(selected_convention_type) === "pdf" &&
String(actionmass_ftion_val) !== String("convention") && <div className="session_caract_Dialog" > Email destinaitaire
<TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
name="event_dialog_email_production_convention"
id="event_dialog_email_production_convention"
fullWidth
value=""
/>
</div>
}
{String(selected_convention_type) === "email" && <div>
<div>
@ -1661,7 +1718,7 @@ const Module_Editique = (props) => {
}
/>
</div>
@ -1771,7 +1828,7 @@ const Module_Editique = (props) => {
</div>
}
{String(selected_convention_type) === "pdf" && <div className="session_caract_Dialog" > Recevoir un pré-envoie
{String(selected_convention_type) === "email" && <div className="session_caract_Dialog" > Recevoir un pré-envoie
<TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
@ -1805,22 +1862,7 @@ const Module_Editique = (props) => {
</div>
}
{String(selected_convention_type) === "pdf" &&
String(actionmass_ftion_val) !== String("convention") && <div className="session_caract_Dialog" > Email destinaitaire
<TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
name="event_dialog_email_production_convention"
id="event_dialog_email_production_convention"
fullWidth
value=""
/>
</div>
}
{String(selected_convention_type) === "email" && <div>
@ -2058,17 +2100,17 @@ const Module_Editique = (props) => {
else if (String(JSON.parse(document).courrier_template_ref_interne) === "CONVOCATION_STAGIAIRE") {
// Verifier que la date de la session n'est pas passée
var date_eval = new Date(moment(session_date_debut, "DD/MM/YYYY"));
var diff = date_eval.getTime() - Date.now();
if (diff <= 0) {
setMSG_INFO_TEXT("Cette session a déjà commencé. Il n'est plus possible d'éditer une convocation")
setDialog_MSG_INFO_open(true);
return;
}
// Verifier que la date de la session n'est pas passée
var date_eval = new Date(moment(session_date_debut, "DD/MM/YYYY"));
var diff = date_eval.getTime() - Date.now();
if (diff <= 0) {
setMSG_INFO_TEXT("Cette session a déjà commencé. Il n'est plus possible d'éditer une convocation")
setDialog_MSG_INFO_open(true);
return;
}
if (String(is_session_invoiced) === "1") {
setMSG_INFO_TEXT("Cette session est en cours de facturation. Il n'est plus possible d'éditer une convocation")
setDialog_MSG_INFO_open(true);
@ -2135,10 +2177,21 @@ const Module_Editique = (props) => {
<div style={{ "width": "40%", "float": "right", "padding": "10px", "borderLeft": "3mm ridge rgba(211, 220, 50, .6)" }}>
Détail <Button onClick={handleExpandClick}>
{expanded.length === 0 ? 'Voir tout' : 'Réduire'}
</Button>
<Box sx={{
<nav style={{"width":"100%", "float":'left'}}>
<nav style={{ float: "left", "width": '45%' }}> Traité <Button onClick={handleExpandClick}>
{expanded.length === 0 ? 'Voir tout' : 'Réduire'}
</Button>
</nav>
<nav style={{ float: "right", "width": '45%' }}> Non Traité
<Button onClick={handleExpandClick_audit}>
{expanded_nom_traite.length === 0 ? 'Voir tout' : 'Réduire'}
</Button>
</nav>
</nav>
{String(display_audit_data) == "0" && <Box sx={{
minHeight: 270, flexGrow: 1,
boxShadow: 1,
borderRadius: 2,
@ -2196,12 +2249,62 @@ const Module_Editique = (props) => {
</TreeView>
))}
</Box>
</Box>}
{String(display_audit_data) == "1" && <Box sx={{
minHeight: 270, flexGrow: 1,
boxShadow: 1,
borderRadius: 2,
bgcolor: "#fee347",
textAlign:"right"
}}>
{Getall_Audit_Document_By_Partner_By_Collection_result &&
Getall_Audit_Document_By_Partner_By_Collection_result.map((document) => (
<TreeView
aria-label="controlled"
defaultCollapseIcon={<ExpandMoreIcon />}
defaultExpandIcon={<ChevronRightIcon />}
expanded_nom_traite={expanded_nom_traite}
selected={selected_nom_traite}
onNodeToggle={handleToggle_nom_traite}
onNodeSelect={handleSelect_nom_traite}
multiSelect
className="test04"
>
<TreeItem nodeId={((document).id)} label={((document).courrier_template_ref_interne)} className="test01"
>
{(document).tab_user_statut &&
(document).tab_user_statut.map((history_doc) => (
<nav>
{String(history_doc.statut).trim() === "0" &&
<TreeItem className="test02" nodeId={history_doc._id}
label={(String(history_doc.email_inscrit))}
sx={{ color: '#fc5d5d ', fontWeight: 'light', fontStyle: 'italic', mt: '10px' }}
icon={<FcInfo />} />
}
</nav>
))}
</TreeItem>
</TreeView>
))}
</Box>}
</div>
</div>
</div>
</div >
)
}

View File

@ -18,6 +18,12 @@
//background-color: #464b5e !important;
}
.test04 {
text-align: right !important;
font-size: x-small;
//background-color: #464b5e !important;
}
.css-hytcpw{
max-width: 100% !important;
}