recette2
cherif 2024-05-16 20:27:05 +02:00
parent 0aabb0b99f
commit 9846cb1113
8 changed files with 644 additions and 135 deletions

View File

@ -129,7 +129,7 @@ function App() {
<Route path="/Survey/:survey_id/" exact component={SurveyDocument} /> <Route path="/Survey/:survey_id/" exact component={SurveyDocument} />
<Route path="/UpadateAttendeeList/:client_id/:session_id/:partner_owner_recid/" exact component={UpdateAttendeeList} /> <Route path="/UpadateAttendeeList/:client_id/:session_id/:partner_owner_recid/" exact component={UpdateAttendeeList} />
<Route path="/automatic-auotation/:partner_owner_recid/:objid/" exact component={AutomaticQuotation} /> <Route path="/automatic-quotation/:partner_owner_recid/:objid/" exact component={AutomaticQuotation} />
<Route component={NotFound} /> <Route component={NotFound} />
</Switch> </Switch>

View File

@ -398,6 +398,22 @@ const DisplayPartnerSession = (props) => {
{ field: 'email', headerName: 'email', minWidth: 150, flex: 1, flex: 1, renderCell: (params) => <ExpandableCell_50 {...params} />, }, { field: 'email', headerName: 'email', minWidth: 150, flex: 1, flex: 1, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'client_rattachement_nom', headerName: 'Client', minWidth: 150, flex: 1, maxWidth: 200, hide: false, editable: true, renderCell: (params) => <ExpandableCell_50 {...params} />, }, { field: 'client_rattachement_nom', headerName: 'Client', minWidth: 150, flex: 1, maxWidth: 200, hide: false, editable: true, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'client_rattachement_id', headerName: 'Client_id', Width: 0, hide: true, editable: true, }, { field: 'client_rattachement_id', headerName: 'Client_id', Width: 0, hide: true, editable: true, },
{
field: 'client_facture', headerName: 'Client Fact.', minWidth: 200, flex: 1, hide: true, editable: false,
renderCell: (cellValues) => {
return (
<div style={{ paddingLeft: "5px", paddingRight: "15px", "display": "block", wordBreak: "break-all" }}>
{New_Get_List_Partner_Clients_result && New_Get_List_Partner_Clients_result.length > 0 && <nav>
{New_Get_List_Partner_Clients_result.filter((data) => (data)._id === String(cellValues.row.client_facture))[0].label}
</nav>}
</div>
);
}
},
{ field: 'employeur', headerName: 'Employeur', minWidth: 150, flex: 1, maxWidth: 200, hide: false, editable: true, renderCell: (params) => <ExpandableCell_50 {...params} />, }, { field: 'employeur', headerName: 'Employeur', minWidth: 150, flex: 1, maxWidth: 200, hide: false, editable: true, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'opco', headerName: 'Centre Opco', minWidth: 100, flex: 1, maxWidth: 150, hide: false, editable: true }, { field: 'opco', headerName: 'Centre Opco', minWidth: 100, flex: 1, maxWidth: 150, hide: false, editable: true },
{ field: 'modefinancement', headerName: 'Financement', minWidth: 100, flex: 1, maxWidth: 150, hide: false, editable: true }, { field: 'modefinancement', headerName: 'Financement', minWidth: 100, flex: 1, maxWidth: 150, hide: false, editable: true },
@ -661,6 +677,23 @@ const DisplayPartnerSession = (props) => {
{ field: 'email', headerName: 'email', minWidth: 150, flex: 1, flex: 1, renderCell: (params) => <ExpandableCell_50 {...params} />, }, { field: 'email', headerName: 'email', minWidth: 150, flex: 1, flex: 1, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'client_rattachement_nom', headerName: 'Client', minWidth: 150, flex: 1, maxWidth: 200, hide: false, editable: true, renderCell: (params) => <ExpandableCell_50 {...params} />, }, { field: 'client_rattachement_nom', headerName: 'Client', minWidth: 150, flex: 1, maxWidth: 200, hide: false, editable: true, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'client_rattachement_id', headerName: 'Client_id', Width: 0, hide: true, editable: false, }, { field: 'client_rattachement_id', headerName: 'Client_id', Width: 0, hide: true, editable: false, },
{
field: 'client_facture', headerName: 'Client Fact.', minWidth: 200, flex: 1, hide: true, editable: false,
renderCell: (cellValues) => {
return (
<div style={{ paddingLeft: "5px", paddingRight: "15px", "display": "block", wordBreak: "break-all" }}>
{New_Get_List_Partner_Clients_result && New_Get_List_Partner_Clients_result.length > 0 && <nav>
{New_Get_List_Partner_Clients_result.filter((data) => (data)._id === String(cellValues.row.client_facture))[0].label}
</nav>}
</div>
);
}
},
{ field: 'employeur', headerName: 'Employeur', minWidth: 150, flex: 1, maxWidth: 200, hide: false, editable: false }, { field: 'employeur', headerName: 'Employeur', minWidth: 150, flex: 1, maxWidth: 200, hide: false, editable: false },
{ field: 'opco', headerName: 'Centre Opco', minWidth: 100, flex: 1, maxWidth: 150, hide: false, editable: false }, { field: 'opco', headerName: 'Centre Opco', minWidth: 100, flex: 1, maxWidth: 150, hide: false, editable: false },
{ field: 'modefinancement', headerName: 'Financement', minWidth: 100, flex: 1, maxWidth: 150, hide: false, editable: false }, { field: 'modefinancement', headerName: 'Financement', minWidth: 100, flex: 1, maxWidth: 150, hide: false, editable: false },
@ -1419,6 +1452,16 @@ const DisplayPartnerSession = (props) => {
new_data2.push(node); new_data2.push(node);
}); });
var node = {
"_id": "",
"id": "",
"label": "",
"nom": "",
"raison_sociale": "",
};
new_data2.push(node);
if (new_data2.length > 0) if (new_data2.length > 0)
setNew_Get_List_Partner_Clients_result(new_data2); setNew_Get_List_Partner_Clients_result(new_data2);
@ -2663,6 +2706,9 @@ const DisplayPartnerSession = (props) => {
const [p_one_detail_client_rattachement_nom, setp_one_detail_client_rattachement_nom] = useState(); const [p_one_detail_client_rattachement_nom, setp_one_detail_client_rattachement_nom] = useState();
const [p_one_detail_client_rattachement_id, setp_one_detail_client_rattachement_id] = useState(); const [p_one_detail_client_rattachement_id, setp_one_detail_client_rattachement_id] = useState();
const [p_one_detail_facture_client_rattachement_id, setp_one_detail_facture_client_rattachement_id] = useState("");
const [p_one_detail_financeur_rattachement_id, setp_one_detail_financeur_rattachement_id] = useState(); const [p_one_detail_financeur_rattachement_id, setp_one_detail_financeur_rattachement_id] = useState();
const [p_one_detail_financeur_rattachement_nom, setp_one_detail_financeur_rattachement_nom] = useState(); const [p_one_detail_financeur_rattachement_nom, setp_one_detail_financeur_rattachement_nom] = useState();
@ -2784,6 +2830,12 @@ const DisplayPartnerSession = (props) => {
else else
form.append("financeur_rattachement_id", ""); form.append("financeur_rattachement_id", "");
if (p_one_detail_facture_client_rattachement_id)
form.append("facture_client_rattachement_id", p_one_detail_facture_client_rattachement_id);
else
form.append("facture_client_rattachement_id", "");
if (p_one_detail_type_apprenant) if (p_one_detail_type_apprenant)
form.append("type_apprenant", p_one_detail_type_apprenant); form.append("type_apprenant", p_one_detail_type_apprenant);
@ -6751,6 +6803,10 @@ const DisplayPartnerSession = (props) => {
const [p_detail_client_rattachement_nom, setp_detail_client_rattachement_nom] = useState(); const [p_detail_client_rattachement_nom, setp_detail_client_rattachement_nom] = useState();
const [p_detail_client_rattachement_id, setp_detail_client_rattachement_id] = useState(); const [p_detail_client_rattachement_id, setp_detail_client_rattachement_id] = useState();
const [p_detail_facture_client_rattachement_id, setp_detail_facture_client_rattachement_id] = useState("");
const [p_detail_financeur_rattachement_id, setp_detail_financeur_rattachement_id] = useState(); const [p_detail_financeur_rattachement_id, setp_detail_financeur_rattachement_id] = useState();
const [p_detail_financeur_rattachement_nom, setp_detail_financeur_rattachement_nom] = useState(); const [p_detail_financeur_rattachement_nom, setp_detail_financeur_rattachement_nom] = useState();
@ -10303,8 +10359,9 @@ const DisplayPartnerSession = (props) => {
function Dialog_1_handle_change_participant_session(message) { function Dialog_1_handle_change_participant_session(message) {
setDialog_seq_CREATION_SEMAINE_TYPE_message(message);
setDialog_seq_CREATION_SEMAINE_TYPE_open(true); setDialog_1_message(message);
setDialog_1_open(true);
} }
const Dialog_seq_CREATION_SEMAINE_TYPE_handleClose = () => { const Dialog_seq_CREATION_SEMAINE_TYPE_handleClose = () => {
@ -15961,10 +16018,15 @@ const DisplayPartnerSession = (props) => {
if (value && value._id) { if (value && value._id) {
setp_one_detail_client_rattachement_id(value._id); setp_one_detail_client_rattachement_id(value._id);
setp_one_detail_client_rattachement_nom(value.nom); setp_one_detail_client_rattachement_nom(value.nom);
Dialog_1_handle_change_participant_session(" Attention, vous allez modifier le client de rattachement du participant. Pensez à mettre à jour le client à facturer s'il est différent du client principal");
setp_one_detail_facture_client_rattachement_id(value._id);
} else { } else {
setp_one_detail_client_rattachement_id(""); setp_one_detail_client_rattachement_id("");
setp_one_detail_client_rattachement_nom(""); setp_one_detail_client_rattachement_nom("");
Dialog_1_handle_change_participant_session(" Attention, vous allez modifier le client de rattachement du participant. Pensez à mettre à jour le client à facturer s'il est différent du client principal");
setp_one_detail_facture_client_rattachement_id("");
} }
}} }}
value={p_one_detail_client_rattachement_nom} value={p_one_detail_client_rattachement_nom}
@ -15977,6 +16039,33 @@ const DisplayPartnerSession = (props) => {
/> />
</div> </div>
<div className="session_caract"> A Facturer <br />
<Autocomplete
disablePortal
name="one_detail_facture_client"
id="one_detail_facture_client"
className="disabled_style"
options={New_Get_List_Partner_Clients_result}
value={New_Get_List_Partner_Clients_result.filter((data) => (data)._id === String(p_one_detail_facture_client_rattachement_id))[0].label}
onChange={(event, value) => {
if (value && value._id) {
setp_one_detail_facture_client_rattachement_id(value._id);
} else {
setp_one_detail_facture_client_rattachement_id('');
}
}}
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une option"
inputProps={{ ...params.inputProps, style: { fontSize: 12, height: "1.4rem" } }}
/>
}
/>
</div>
{New_Get_List_Partner_Financeurs_result && New_Get_List_Partner_Financeurs_result.length > 0 && {New_Get_List_Partner_Financeurs_result && New_Get_List_Partner_Financeurs_result.length > 0 &&
<div className="session_caract"> Financeur <br /> <div className="session_caract"> Financeur <br />
@ -16150,6 +16239,9 @@ const DisplayPartnerSession = (props) => {
client_rattachement_nom: JSON.parse(item).client_rattachement_nom, client_rattachement_nom: JSON.parse(item).client_rattachement_nom,
client_rattachement_id: JSON.parse(item).client_rattachement_id, client_rattachement_id: JSON.parse(item).client_rattachement_id,
client_facture: JSON.parse(item).facture_client_rattachement_id,
} }
))} ))}
@ -16686,30 +16778,10 @@ const DisplayPartnerSession = (props) => {
} }
/> />
{/*<TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
required
select
value={myinscript_status}
name="one_status_part"
id="one_status_part"
InputLabelProps={{
shrink: true,
}}
onChange={handleChangeInscription_Status}
disabled={false}
className="disabled_style enable_style"
>
{status_inscription_add.map((option) => (
<MenuItem key={option.value} value={option.value} style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%", "fontSize": "12px" }}>
{option.label} &nbsp; <br />
</MenuItem>
))}
</TextField>*/}
</div> </div>
<div className="session_caract"> Client <br /> <div className="session_caract"> Client <br />
<Autocomplete <Autocomplete
disablePortal disablePortal
name="one_detail_client_rattachement" name="one_detail_client_rattachement"
@ -16736,6 +16808,32 @@ const DisplayPartnerSession = (props) => {
/> />
</div> </div>
<div className="session_caract"> A Facturer <br />
<Autocomplete
disablePortal
name="one_detail_facture_client"
id="one_detail_facture_client"
className="disabled_style"
options={New_Get_List_Partner_Clients_result}
value={New_Get_List_Partner_Clients_result.filter((data) => (data)._id === String(p_one_detail_facture_client_rattachement_id))[0].label}
onChange={(event, value) => {
if (value && value._id) {
setp_one_detail_facture_client_rattachement_id(value._id);
}
}}
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une option"
inputProps={{ ...params.inputProps, style: { fontSize: 12, height: "1.4rem" } }}
/>
}
/>
</div>
{New_Get_List_Partner_Financeurs_result && New_Get_List_Partner_Financeurs_result.length > 0 && {New_Get_List_Partner_Financeurs_result && New_Get_List_Partner_Financeurs_result.length > 0 &&
<div className="session_caract"> Financeur <br /> <div className="session_caract"> Financeur <br />
@ -16944,6 +17042,8 @@ const DisplayPartnerSession = (props) => {
invoiced_ref: JSON.parse(item).invoiced_ref, invoiced_ref: JSON.parse(item).invoiced_ref,
invoiced_date: JSON.parse(item).invoiced_date, invoiced_date: JSON.parse(item).invoiced_date,
client_facture: JSON.parse(item).facture_client_rattachement_id,
} }
))} ))}
@ -17243,12 +17343,21 @@ const DisplayPartnerSession = (props) => {
setp_detail_client_rattachement_id(value._id); setp_detail_client_rattachement_id(value._id);
setp_detail_client_rattachement_nom(value.nom); setp_detail_client_rattachement_nom(value.nom);
setparticipant_data_changed("1"); setparticipant_data_changed("1");
Dialog_1_handle_change_participant_session(" Attention, vous allez modifier le client de rattachement du participant"); Dialog_1_handle_change_participant_session(" Attention, vous allez modifier le client de rattachement du participant. Pensez à mettre à jour le client à facturer s'il est différent du client principal");
if (value._id !== p_detail_client_rattachement_id) {
setp_detail_facture_client_rattachement_id(value._id);
}
} else { } else {
setp_detail_client_rattachement_id(""); setp_detail_client_rattachement_id("");
setp_detail_client_rattachement_nom(""); setp_detail_client_rattachement_nom("");
setparticipant_data_changed("1"); setparticipant_data_changed("1");
Dialog_1_handle_change_participant_session(" Attention, vous allez modifier le client de rattachement du participant"); Dialog_1_handle_change_participant_session(" Attention, vous allez modifier le client de rattachement du participant. Pensez à mettre à jour le client à facturer s'il est différent du client principal");
if (value._id !== p_detail_client_rattachement_id) {
setp_detail_facture_client_rattachement_id(value._id);
}
} }
}} }}
@ -17280,6 +17389,88 @@ const DisplayPartnerSession = (props) => {
</div>} </div>}
{New_Get_List_Partner_Clients_result && New_Get_List_Partner_Clients_result.length > 0 &&
String(participant_data_edit_mode) === "1" && <div className="session_caract"> A Facturer <br />
<Autocomplete
disablePortal
name="detail_facture_client_rattachement"
id="detail_facture_client_rattachement"
className="disabled_style"
options={New_Get_List_Partner_Clients_result}
value={New_Get_List_Partner_Clients_result.filter((data) => (data)._id === String(p_detail_facture_client_rattachement_id))[0].label}
onChange={(event, value) => {
if (value && value._id) {
setp_detail_facture_client_rattachement_id(value._id);
setparticipant_data_changed("1");
Dialog_1_handle_change_participant_session(" Attention, vous allez modifier l'entité à facturer ");
} else {
setp_detail_facture_client_rattachement_id("");
}
}}
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une option"
inputProps={{ ...params.inputProps, style: { fontSize: 12, height: "1.4rem" } }}
/>
}
/>
</div>}
{New_Get_List_Partner_Clients_result && New_Get_List_Partner_Clients_result.length > 0 && String(participant_data_edit_mode) !== "1" &&
<div className="session_caract"> A Facturer <br />
<TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
required
name="detail_facture_client_rattachement"
id="detail_facture_client_rattachement"
InputLabelProps={{
shrink: true,
}}
disabled={false}
className="disabled_style disabled_style_left_text_with_visualiser_icone"
value={New_Get_List_Partner_Clients_result.filter((data) => (data)._id === String(p_detail_facture_client_rattachement_id))[0].label}
/>
<Tooltip className="tooltip_css" id="detail_01" style={{ "fontSize": "12px" }} />
<a data-tooltip-id="detail_01" data-tooltip-html="Voir les détails">
<div className="disabled_style disabled_style_right_bton_visualiser" onClick={(event) => {
if (p_detail_facture_client_rattachement_id && String(p_detail_facture_client_rattachement_id).length > 2) {
window.open(
process.env.REACT_APP_FRONT_URL + "Partner/mes_clients/" + String(p_detail_facture_client_rattachement_id),
'_blank'
);
}
else {
alert(" Aucune entité à facturer selectionné")
}
}
}
>
<div className="disabled_style_with_visualiser_icone" >
<FcOpenedFolder />
</div>
</div>
</a>
</div>}
{New_Get_List_Partner_Financeurs_result && New_Get_List_Partner_Financeurs_result.length > 0 && {New_Get_List_Partner_Financeurs_result && New_Get_List_Partner_Financeurs_result.length > 0 &&
String(participant_data_edit_mode) === "1" && <div className="session_caract"> Financeur <br /> String(participant_data_edit_mode) === "1" && <div className="session_caract"> Financeur <br />

View File

@ -105,6 +105,24 @@ const DisplayPartnerStagiaires = (props) => {
{ field: 'email', headerName: 'Email', minWidth: 250, flex: 1, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, }, { field: 'email', headerName: 'Email', minWidth: 250, flex: 1, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'employeur', headerName: 'Employeur', minWidth: 200, hide: true, editable: false }, { field: 'employeur', headerName: 'Employeur', minWidth: 200, hide: true, editable: false },
{ field: 'client_nom', headerName: 'Client', minWidth: 200, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, }, { field: 'client_nom', headerName: 'Client', minWidth: 200, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{
field: 'client_facture', headerName: 'Client Fact.', minWidth: 200, flex: 1, hide: false, editable: false,
renderCell: (cellValues) => {
return (
<div style={{ paddingLeft: "5px", paddingRight: "15px", "display": "block", wordBreak: "break-all" }}>
{New_Get_List_Partner_Clients_result && New_Get_List_Partner_Clients_result.length > 0 && <nav>
{New_Get_List_Partner_Clients_result.filter((data) => (data)._id === String(cellValues.row.client_facture))[0].label}
</nav>}
</div>
);
}
},
{ {
field: 'status', headerName: 'Statut', hide: false, width: datagrid_columns_size_model2, field: 'status', headerName: 'Statut', hide: false, width: datagrid_columns_size_model2,
valueFormatter: (params) => { valueFormatter: (params) => {
@ -1152,6 +1170,10 @@ const DisplayPartnerStagiaires = (props) => {
if (document.getElementsByName("detail_client_rattachement") && document.getElementsByName("detail_client_rattachement")[0]) if (document.getElementsByName("detail_client_rattachement") && document.getElementsByName("detail_client_rattachement")[0])
document.getElementsByName("detail_client_rattachement")[0].value = ""; document.getElementsByName("detail_client_rattachement")[0].value = "";
if (document.getElementsByName("detail_facture_client_rattachement") && document.getElementsByName("detail_facture_client_rattachement")[0])
document.getElementsByName("detail_facture_client_rattachement")[0].value = "";
if (document.getElementsByName("detail_financeur_rattachement") && document.getElementsByName("detail_financeur_rattachement")[0]) if (document.getElementsByName("detail_financeur_rattachement") && document.getElementsByName("detail_financeur_rattachement")[0])
document.getElementsByName("detail_financeur_rattachement")[0].value = ""; document.getElementsByName("detail_financeur_rattachement")[0].value = "";
@ -1246,6 +1268,7 @@ const DisplayPartnerStagiaires = (props) => {
setfield_evaluation(); setfield_evaluation();
setdetailuser_date_certification(); setdetailuser_date_certification();
setdetailuser_date_evaluation(); setdetailuser_date_evaluation();
setp_detail_facture_client_rattachement_id("");
} }
@ -1322,7 +1345,7 @@ const DisplayPartnerStagiaires = (props) => {
setp_one_detail_financeur_rattachement_nom(""); setp_one_detail_financeur_rattachement_nom("");
setp_one_detail_type_apprenant(""); setp_one_detail_type_apprenant("");
setp_one_detail_client_rattachement_id(""); setp_one_detail_facture_client_rattachement_id("");
setp_one_status_part(""); setp_one_status_part("");
@ -1605,6 +1628,12 @@ const DisplayPartnerStagiaires = (props) => {
document.getElementsByName("detail_client_rattachement")[0].style.backgroundColor = "#ECEFF1"; document.getElementsByName("detail_client_rattachement")[0].style.backgroundColor = "#ECEFF1";
} }
if (document.getElementsByName("detail_facture_client_rattachement")[0]) {
document.getElementsByName("detail_facture_client_rattachement")[0].disabled = true;
document.getElementsByName("detail_facture_client_rattachement")[0].style.backgroundColor = "#ECEFF1";
}
if (document.getElementsByName("detail_financeur_rattachement")[0]) { if (document.getElementsByName("detail_financeur_rattachement")[0]) {
document.getElementsByName("detail_financeur_rattachement")[0].disabled = true; document.getElementsByName("detail_financeur_rattachement")[0].disabled = true;
document.getElementsByName("detail_financeur_rattachement")[0].style.backgroundColor = "#ECEFF1"; document.getElementsByName("detail_financeur_rattachement")[0].style.backgroundColor = "#ECEFF1";
@ -1834,6 +1863,11 @@ const DisplayPartnerStagiaires = (props) => {
document.getElementsByName("detail_client_rattachement")[0].disabled = false; document.getElementsByName("detail_client_rattachement")[0].disabled = false;
document.getElementsByName("detail_client_rattachement")[0].style.backgroundColor = "#FFFFFF"; document.getElementsByName("detail_client_rattachement")[0].style.backgroundColor = "#FFFFFF";
document.getElementsByName("detail_facture_client_rattachement")[0].disabled = false;
document.getElementsByName("detail_facture_client_rattachement")[0].style.backgroundColor = "#FFFFFF";
document.getElementsByName("detail_financeur_rattachement")[0].disabled = false; document.getElementsByName("detail_financeur_rattachement")[0].disabled = false;
document.getElementsByName("detail_financeur_rattachement")[0].style.backgroundColor = "#FFFFFF"; document.getElementsByName("detail_financeur_rattachement")[0].style.backgroundColor = "#FFFFFF";
@ -2449,6 +2483,8 @@ const DisplayPartnerStagiaires = (props) => {
const [p_detail_client_rattachement_nom, setp_detail_client_rattachement_nom] = useState(); const [p_detail_client_rattachement_nom, setp_detail_client_rattachement_nom] = useState();
const [p_detail_client_rattachement_id, setp_detail_client_rattachement_id] = useState(); const [p_detail_client_rattachement_id, setp_detail_client_rattachement_id] = useState();
const [p_detail_facture_client_rattachement_id, setp_detail_facture_client_rattachement_id] = useState("");
const [p_detail_financeur_rattachement_id, setp_detail_financeur_rattachement_id] = useState(); const [p_detail_financeur_rattachement_id, setp_detail_financeur_rattachement_id] = useState();
const [p_detail_financeur_rattachement_nom, setp_detail_financeur_rattachement_nom] = useState(); const [p_detail_financeur_rattachement_nom, setp_detail_financeur_rattachement_nom] = useState();
@ -2504,6 +2540,8 @@ const DisplayPartnerStagiaires = (props) => {
const [p_one_detail_client_rattachement_nom, setp_one_detail_client_rattachement_nom] = useState(); const [p_one_detail_client_rattachement_nom, setp_one_detail_client_rattachement_nom] = useState();
const [p_one_detail_client_rattachement_id, setp_one_detail_client_rattachement_id] = useState(); const [p_one_detail_client_rattachement_id, setp_one_detail_client_rattachement_id] = useState();
const [p_one_detail_facture_client_rattachement_id, setp_one_detail_facture_client_rattachement_id] = useState("");
const [p_one_detail_financeur_rattachement_id, setp_one_detail_financeur_rattachement_id] = useState(); const [p_one_detail_financeur_rattachement_id, setp_one_detail_financeur_rattachement_id] = useState();
const [p_one_detail_financeur_rattachement_nom, setp_one_detail_financeur_rattachement_nom] = useState(); const [p_one_detail_financeur_rattachement_nom, setp_one_detail_financeur_rattachement_nom] = useState();
@ -2631,9 +2669,18 @@ const DisplayPartnerStagiaires = (props) => {
if (mylocalattendee.client_rattachement_id) { if (mylocalattendee.client_rattachement_id) {
setp_detail_client_rattachement_id(mylocalattendee.client_rattachement_id); setp_detail_client_rattachement_id(mylocalattendee.client_rattachement_id);
setp_detail_client_rattachement_nom(mylocalattendee.client_rattachement_nom); setp_detail_client_rattachement_nom(mylocalattendee.client_rattachement_nom);
} else {
setp_detail_client_rattachement_id("");
setp_detail_client_rattachement_nom("");
} }
if (mylocalattendee.facture_client_rattachement_id) {
setp_detail_facture_client_rattachement_id(mylocalattendee.facture_client_rattachement_id);
} else {
setp_detail_facture_client_rattachement_id("");
}
if (mylocalattendee.financeur_rattachement_id) { if (mylocalattendee.financeur_rattachement_id) {
setp_detail_financeur_rattachement_id(mylocalattendee.financeur_rattachement_id); setp_detail_financeur_rattachement_id(mylocalattendee.financeur_rattachement_id);
setp_detail_financeur_rattachement_nom(mylocalattendee.financeur_rattachement_nom); setp_detail_financeur_rattachement_nom(mylocalattendee.financeur_rattachement_nom);
@ -2869,7 +2916,7 @@ const DisplayPartnerStagiaires = (props) => {
} else { } else {
if (document.getElementById(String(field_name))) if (document.getElementById(String(field_name)))
document.getElementById(String(field_name)).value = ""; document.getElementById(String(field_name)).value = "";
} }
} }
@ -3134,6 +3181,11 @@ const DisplayPartnerStagiaires = (props) => {
else else
form.append("financeur_rattachement_id", ""); form.append("financeur_rattachement_id", "");
if (p_one_detail_facture_client_rattachement_id)
form.append("facture_client_rattachement_id", p_one_detail_facture_client_rattachement_id);
else
form.append("facture_client_rattachement_id", "");
form.append("modefinancement", ""); form.append("modefinancement", "");
@ -3335,6 +3387,14 @@ const DisplayPartnerStagiaires = (props) => {
else else
form.append("client_rattachement_id", ""); form.append("client_rattachement_id", "");
if (p_detail_facture_client_rattachement_id)
form.append("facture_client_rattachement_id", p_detail_facture_client_rattachement_id);
else
form.append("facture_client_rattachement_id", "");
if (p_detail_financeur_rattachement_id) if (p_detail_financeur_rattachement_id)
form.append("financeur_rattachement_id", p_detail_financeur_rattachement_id); form.append("financeur_rattachement_id", p_detail_financeur_rattachement_id);
else else
@ -3418,6 +3478,78 @@ const DisplayPartnerStagiaires = (props) => {
}) })
} }
const [Re_Preinscrire_Cancelled_Attendee_api, setRe_Preinscrire_Cancelled_Attendee_api] = useState();
const [Re_Preinscrire_Cancelled_Attendee_message, setRe_Preinscrire_Cancelled_Attendee_message] = useState();
const [Re_Preinscrire_Cancelled_Attendee_result, setRe_Preinscrire_Cancelled_Attendee_result] = useState();
function Re_Preinscrire_Cancelled_Attendee() {
var form = new FormData();
//form.append("token","K3cw63eKokKSbV4spjQ48SUNnfy80yrXfA");
if (p_detail_session_class.length <= 0) {
alert(" Vous devez choisir une session");
return;
}
const stored_cookie = getCookie('tokenmysypart');
form.append("token", stored_cookie);
form.append("class_internal_url", selected_internal_url);
form.append("session_id", p_detail_session_class_id);
form.append("email", p_detail_mail);
form.append("status", "0");
form.append("_id", selected_id);
//console.log(" form == ", form);
var myurl = process.env.REACT_APP_API_URL + "myclass/api/UpdateStagiairetoClass/";
setLoading(true);
axios.post(myurl, form).then(res => {
//console.log(" In Re_Preinscrire_Cancelled_Attendee res.data.status = " + res.data.status);
//console.log(" In Re_Preinscrire_Cancelled_Attendee res.data.message r_class = " + res.data.message);
setLoading(false);
if (String(res.data.status) === String("true")) {
setRe_Preinscrire_Cancelled_Attendee_api("true");
setRe_Preinscrire_Cancelled_Attendee_result(res.data.message);
setparticipant_data_changed();
Getall_TrainingParticipant();
disableAttendeeDetailFields();
setparticipant_data_changed();
setparticipant_data_edit_mode();
GetAttendee_Data(p_detail_mail, p_detail_session_class_id, selected_internal_url);
alert(" La mise à jour été correctement faite.");
//myRef_head.current.scrollIntoView({ behavior: "smooth" });
if (document.getElementById('myRef_head')) {
// myRef.current.scrollIntoView({ behavior: "smooth" });
var divh = document.getElementById('myRef_head').offsetTop;
window.scrollTo({
top: divh,
behavior: "smooth",
});
}
}
else {
setRe_Preinscrire_Cancelled_Attendee_api("false");
setRe_Preinscrire_Cancelled_Attendee_message(res.data.message);
alert(res.data.message);
}
}).catch((error) => {
setLoading(false);
console.warn('Re_Preinscrire_Cancelled_Attendee : Not good man :( mysearchtext = ' + error);
setRe_Preinscrire_Cancelled_Attendee_api("false");
alert(" Impossible de mettre à jour le participant");
})
}
const [Dialog_1_message, setDialog_1_message] = React.useState(false); const [Dialog_1_message, setDialog_1_message] = React.useState(false);
const [Dialog_1_open, setDialog_1_open] = React.useState(false); const [Dialog_1_open, setDialog_1_open] = React.useState(false);
function Dialog_1_handle_change_participant_session(message) { function Dialog_1_handle_change_participant_session(message) {
@ -3480,6 +3612,17 @@ const DisplayPartnerStagiaires = (props) => {
new_data2.push(node); new_data2.push(node);
}); });
//---
var node = {
"_id": "",
"id": "",
"label": "",
"nom": "",
"raison_sociale": "",
};
new_data2.push(node);
if (new_data2.length > 0) if (new_data2.length > 0)
setNew_Get_List_Partner_Clients_result(new_data2); setNew_Get_List_Partner_Clients_result(new_data2);
} }
@ -6957,6 +7100,9 @@ const DisplayPartnerStagiaires = (props) => {
prenom: JSON.parse(item).prenom, prenom: JSON.parse(item).prenom,
employeur: JSON.parse(item).employeur, employeur: JSON.parse(item).employeur,
client_nom: JSON.parse(item).client_rattachement_nom, client_nom: JSON.parse(item).client_rattachement_nom,
client_facture: JSON.parse(item).facture_client_rattachement_id,
status: JSON.parse(item).status, status: JSON.parse(item).status,
title: JSON.parse(item).title, title: JSON.parse(item).title,
distantiel: JSON.parse(item).distantiel, distantiel: JSON.parse(item).distantiel,
@ -7323,45 +7469,6 @@ const DisplayPartnerStagiaires = (props) => {
{/*<div className="session_caract"> <b> Session </b><br />
<TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
required
name="one_detail_session"
id="one_detail_session"
select
InputLabelProps={{
shrink: true,
}}
disabled={false}
className="disabled_style"
value={p_one_detail_session_class}
onChange={(e) => {
setp_one_detail_session_class(e.target.value);
}
}
>
{p_one_formation && Getall_TrainingSession_result &&
Getall_TrainingSession_result.filter((session_ch) => JSON.parse(session_ch).class_internal_url === p_one_formation).map((mysession) => (
<MenuItem key={JSON.parse(mysession).code_session} value={JSON.parse(mysession)._id}
style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%", "fontSize": "12px" }}>
{JSON.parse(mysession).code_session}&nbsp;&nbsp;
</MenuItem>
))}
{!p_one_formation && Getall_TrainingSession_result &&
Getall_TrainingSession_result.map((mysession) => (
<MenuItem key={JSON.parse(mysession).code_session} value={JSON.parse(mysession)._id}
style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%", "fontSize": "12px" }}>
{JSON.parse(mysession).code_session}&nbsp;&nbsp;
</MenuItem>
))}
</TextField>
</div>*/}
<div className="session_caract"> <b> Civilité </b> <br /> <div className="session_caract"> <b> Civilité </b> <br />
@ -7656,6 +7763,47 @@ const DisplayPartnerStagiaires = (props) => {
setp_one_detail_client_rattachement_id(value._id); setp_one_detail_client_rattachement_id(value._id);
setp_one_detail_client_rattachement_nom(value.nom); setp_one_detail_client_rattachement_nom(value.nom);
Dialog_1_handle_change_participant_session(" Pensez à mettre à jour le client à facturer s'il est différent du client principal");
setp_one_detail_facture_client_rattachement_id(value._id);
}
else {
setp_one_detail_client_rattachement_id("");
setp_one_detail_client_rattachement_nom("");
Dialog_1_handle_change_participant_session(" Pensez à mettre à jour le client à facturer s'il est différent du client principal");
setp_one_detail_facture_client_rattachement_id("");
}
}}
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une option"
inputProps={{ ...params.inputProps, style: { fontSize: 12, height: "1.4rem" } }}
/>
}
/>
</div>
<div className="session_caract"> A Facturer <br />
<Autocomplete
disablePortal
name="one_detail_facture_client"
id="one_detail_facture_client"
className="disabled_style"
options={New_Get_List_Partner_Clients_result}
value={New_Get_List_Partner_Clients_result.filter((data) => (data)._id === String(p_one_detail_facture_client_rattachement_id))[0].label}
onChange={(event, value) => {
if (value && value._id) {
setp_one_detail_facture_client_rattachement_id(value._id);
} }
}} }}
@ -7978,8 +8126,7 @@ const DisplayPartnerStagiaires = (props) => {
setparticipant_data_changed("1"); setparticipant_data_changed("1");
setp_detail_session_class_id(value._id); setp_detail_session_class_id(value._id);
Dialog_1_handle_change_participant_session(" Attention, vous allez modifier la session d'affectation du participant"); Dialog_1_handle_change_participant_session(" Attention, vous allez modifier la session d'affectation du participant");
var xx = New_Getall_TrainingSession_result.filter((data) => (data).label === String(working_session_code))[0].label;
console.log(" xx == ", xx);
} }
@ -7992,40 +8139,11 @@ const DisplayPartnerStagiaires = (props) => {
} }
/> />
{/*<TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
required
name="detail_session_class"
id="detail_session_class"
select
InputLabelProps={{
shrink: true,
}}
disabled={false}
className="disabled_style"
value={p_detail_session_class_id}
onChange={(e) => {
setp_detail_session_class(e.target.value);
setparticipant_data_changed("1");
setp_detail_session_class_id(e.target.value);
Dialog_1_handle_change_participant_session(" Attention, vous allez modifier la session d'affectation du participant");
}
}
>
{Getall_TrainingSession_result &&
Getall_TrainingSession_result.map((mysession) => (
<MenuItem key={JSON.parse(mysession)._id} value={JSON.parse(mysession)._id}
style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%", "fontSize": "12px" }}>
{JSON.parse(mysession).code_session}&nbsp;&nbsp;
</MenuItem>
))}
</TextField>*/}
</div>} </div>}
{String(participant_data_edit_mode) === "1" && <div className="session_caract"> Client 1 <br /> {String(participant_data_edit_mode) === "1" && <div className="session_caract"> Client <br />
<Autocomplete <Autocomplete
disablePortal disablePortal
@ -8040,13 +8158,20 @@ const DisplayPartnerStagiaires = (props) => {
setp_detail_client_rattachement_nom(value.nom); setp_detail_client_rattachement_nom(value.nom);
setparticipant_data_changed("1"); setparticipant_data_changed("1");
Dialog_1_handle_change_participant_session(" Attention, vous allez modifier le client de rattachement du participant"); Dialog_1_handle_change_participant_session(" Attention, vous allez modifier le client de rattachement du participant. Pensez à mettre à jour le client à facturer s'il est différent du client principal");
if (value._id !== p_detail_client_rattachement_id) {
setp_detail_facture_client_rattachement_id(value._id);
}
} else { } else {
setp_detail_client_rattachement_id(""); setp_detail_client_rattachement_id("");
setp_detail_client_rattachement_nom(""); setp_detail_client_rattachement_nom("");
Dialog_1_handle_change_participant_session(" Attention, vous allez modifier le client de rattachement du participant. Pensez à mettre à jour le client à facturer s'il est différent du client principal");
setp_detail_facture_client_rattachement_id("");
} }
}} }}
value={p_detail_client_rattachement_nom} value={p_detail_client_rattachement_nom}
@ -8101,6 +8226,86 @@ const DisplayPartnerStagiaires = (props) => {
</div>} </div>}
{New_Get_List_Partner_Clients_result && New_Get_List_Partner_Clients_result.length > 0 &&
String(participant_data_edit_mode) === "1" && <div className="session_caract"> A Facturer <br />
<Autocomplete
disablePortal
name="detail_facture_client_rattachement"
id="detail_facture_client_rattachement"
className="disabled_style"
options={New_Get_List_Partner_Clients_result}
value={New_Get_List_Partner_Clients_result.filter((data) => (data)._id === String(p_detail_facture_client_rattachement_id))[0].label}
onChange={(event, value) => {
if (value && value._id) {
setp_detail_facture_client_rattachement_id(value._id);
setparticipant_data_changed("1");
Dialog_1_handle_change_participant_session(" Attention, vous allez modifier l'entité à facturer ");
} else {
setp_detail_facture_client_rattachement_id("");
}
}}
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une option"
inputProps={{ ...params.inputProps, style: { fontSize: 12, height: "1.4rem" } }}
/>
}
/>
</div>}
{New_Get_List_Partner_Clients_result && New_Get_List_Partner_Clients_result.length > 0 && String(participant_data_edit_mode) !== "1" &&
<div className="session_caract"> A Facturer <br />
<TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
required
name="detail_facture_client_rattachement"
id="detail_facture_client_rattachement"
InputLabelProps={{
shrink: true,
}}
disabled={false}
className="disabled_style disabled_style_left_text_with_visualiser_icone"
value={New_Get_List_Partner_Clients_result.filter((data) => (data)._id === String(p_detail_facture_client_rattachement_id))[0].label}
/>
<Tooltip className="tooltip_css" id="detail_01" style={{ "fontSize": "12px" }} />
<a data-tooltip-id="detail_01" data-tooltip-html="Voir les détails">
<div className="disabled_style disabled_style_right_bton_visualiser" onClick={(event) => {
if (p_detail_facture_client_rattachement_id && String(p_detail_facture_client_rattachement_id).length > 2) {
window.open(
process.env.REACT_APP_FRONT_URL + "Partner/mes_clients/" + String(p_detail_facture_client_rattachement_id),
'_blank'
);
}
else {
alert(" Aucune entité à facturer selectionné")
}
}
}
>
<div className="disabled_style_with_visualiser_icone" >
<FcOpenedFolder />
</div>
</div>
</a>
</div>}
{New_Get_List_Partner_Financeurs_result && New_Get_List_Partner_Financeurs_result.length > 0 && {New_Get_List_Partner_Financeurs_result && New_Get_List_Partner_Financeurs_result.length > 0 &&
String(participant_data_edit_mode) === "1" && <div className="session_caract"> Financeur <br /> String(participant_data_edit_mode) === "1" && <div className="session_caract"> Financeur <br />
@ -8681,12 +8886,13 @@ const DisplayPartnerStagiaires = (props) => {
</Button> </Button>
</div>} </div>}
</div> </div>
<div className="div_row" style={{ "border": "None" }}>
<hr className="hr_break" />
</div>
{String(participant_data_edit_mode) !== "1" && <div className="div_row_droite" style={{ "textAlign": 'right', 'marginRight': '15px' }}> {String(participant_data_edit_mode) !== "1" && <div className="div_row_droite" style={{ "textAlign": 'right', 'marginRight': '15px' }}>
{String(selected_id_status) !== "1" && (!p_detail_apprenant_id || String(p_detail_apprenant_id).trim().length <= 3) && <Button variant="contained" className="bton_edit" onClick={EnableAttendeeDetailFields}>Editer {String(selected_id_status) !== "1" && (!p_detail_apprenant_id || String(p_detail_apprenant_id).trim().length <= 3) && <Button variant="contained" className="bton_edit" onClick={EnableAttendeeDetailFields}>Editer
</Button>} </Button>}
@ -8699,10 +8905,72 @@ const DisplayPartnerStagiaires = (props) => {
</a> </a>
</Button>} </Button>}
{selected_id_status && String(selected_id_status) === "-1" && p_detail_apprenant_id &&
String(p_detail_apprenant_id).trim().length > 3 &&
<Popup
trigger={
<Button variant="contained" className="bton_enreg" onClick={Re_Preinscrire_Cancelled_Attendee}>PréInscire &nbsp;
</Button>
}
modal
nested
position="center center"
>
{close => (
<div>
<button className="gest_close" onClick={close}>
&times;
</button>
<div className="gest_header"> MySy Information </div>
<div className="gest_content">
{' '}
<font> Confirmer la réinscription de l'apprenant à la session.
</font>
</div>
<div className="gest_actions">
<div style={{ "width": "45%", "float": "left" }}>
<button className="gest_bton_popup" onClick={(event) => {
Re_Preinscrire_Cancelled_Attendee();
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>} </div>}
</div> </div>
<div> <div>
<div className="div_row" style={{ "border": "None" }}> <div className="div_row" style={{ "border": "None" }}>
<hr className="hr_break" /> <hr className="hr_break" />
@ -9051,6 +9319,7 @@ const DisplayPartnerStagiaires = (props) => {
</div> </div>
</div> </div>
{/*
<div className="div_row" style={{ "border": "None", "fontSize": "22px", "fontWeight": "600", "padding": "5px" }}> <div className="div_row" style={{ "border": "None", "fontSize": "22px", "fontWeight": "600", "padding": "5px" }}>
Evaluation Evaluation
@ -9148,6 +9417,8 @@ const DisplayPartnerStagiaires = (props) => {
</div> </div>
</div>} </div>}
*/}
{/*<div className="div_row" style={{ "border": "None" }}> {/*<div className="div_row" style={{ "border": "None" }}>
<hr className="hr_break" /> <hr className="hr_break" />
</div> </div>

View File

@ -1805,8 +1805,11 @@ const Module_Session_Planification = (props) => {
setDialog_seq_planif_periode_type(""); setDialog_seq_planif_periode_type("");
alert(res.data.message); alert(res.data.message);
Close_Dialog_Detail_seq_open(); Close_Dialog_Detail_seq_open();
Dialog_seq_CREATION_SEMAINE_TYPE_handleClose_buton(); Dialog_seq_CREATION_SEMAINE_TYPE_handleClose_buton();
Dialog_EVENT_SEMAINE_TYPE_handleClose_buton();
Dialog_seq_CREATION_SEMAINE_TYPE_handleClose_buton();
} }
else { else {
@ -1853,11 +1856,13 @@ const Module_Session_Planification = (props) => {
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Create_Automatic_Sequence_From_Month_Model/"; var myurl = process.env.REACT_APP_API_URL + "myclass/api/Create_Automatic_Sequence_From_Month_Model/";
setLoading(true); setLoading(true);
axios.post(myurl, form).then(res => { axios.post(myurl, form).then(res => {
//console.log(" In Add_Automatic_Sequence_Session_From_Month_Model res.data.status = " + res.data.status); //console.log(" In Add_Automatic_Sequence_Session_From_Month_Model res.data.status = " + res.data.status);
//console.log(" In Add_Automatic_Sequence_Session_From_Month_Model res.data.message r_class = " + res.data.message); //console.log(" In Add_Automatic_Sequence_Session_From_Month_Model res.data.message r_class = " + res.data.message);
setLoading(false); setLoading(false);
if (String(res.data.status) === String("true")) { if (String(res.data.status) === String("true")) {
setAdd_Automatic_Sequence_Session_From_Month_Model_api("true"); setAdd_Automatic_Sequence_Session_From_Month_Model_api("true");
setAdd_Automatic_Sequence_Session_From_Month_Model_result(res.data.message); setAdd_Automatic_Sequence_Session_From_Month_Model_result(res.data.message);
@ -1879,6 +1884,10 @@ const Module_Session_Planification = (props) => {
alert(res.data.message); alert(res.data.message);
Close_Dialog_Detail_seq_open(); Close_Dialog_Detail_seq_open();
Dialog_seq_CREATION_SEMAINE_TYPE_handleClose_buton(); Dialog_seq_CREATION_SEMAINE_TYPE_handleClose_buton();
Dialog_EVENT_SEMAINE_TYPE_handleClose_buton();
Dialog_seq_CREATION_SEMAINE_TYPE_handleClose_buton();
} }
else { else {

View File

@ -97,6 +97,7 @@ const Partner_Client = (props) => {
{ field: 'id', headerName: 'id', hide: true }, { field: 'id', headerName: 'id', hide: true },
{ field: '_id', headerName: '_id', hide: true }, { field: '_id', headerName: '_id', hide: true },
{ field: 'raison_sociale', headerName: 'Raison sociale', Width: 200, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, }, { field: 'raison_sociale', headerName: 'Raison sociale', Width: 200, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'nom', headerName: 'nom', width: 100, hide: false, editable: false, Width: 200, flex: 1, renderCell: (params) => <ExpandableCell_50 {...params} />, }, { field: 'nom', headerName: 'nom', width: 100, hide: false, editable: false, Width: 200, flex: 1, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'email', headerName: 'email', width: 100, width: 200, flex: 1, renderCell: (params) => <ExpandableCell_50 {...params} />, }, { field: 'email', headerName: 'email', width: 100, width: 200, flex: 1, renderCell: (params) => <ExpandableCell_50 {...params} />, },
@ -111,6 +112,21 @@ const Partner_Client = (props) => {
{ field: 'is_company', headerName: 'Société', width: 100, hide: true, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, }, { field: 'is_company', headerName: 'Société', width: 100, hide: true, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{
field: 'is_prospect', headerName: 'Pros/Cli', width: 100, hide: false, editable: false,
renderCell: (cellValues) => {
return (
<div style={{ paddingLeft: "5px", paddingRight: "10px", "display": "block", wordBreak: "break-all" }}>
{String(cellValues.row.is_prospect) === "1" && "Pros."}&nbsp;
{String(cellValues.row.is_prospect) !== "1" && "Cli."}&nbsp;
</div>
);
},
},
{ {
field: "detail", headerName: 'Voir détail', field: "detail", headerName: 'Voir détail',
@ -288,7 +304,7 @@ const Partner_Client = (props) => {
axios.post(myurl, form).then(res => { axios.post(myurl, form).then(res => {
//console.log(" In Get_List_Partner_Clients res.data.status = " + res.data.status); //console.log(" In Get_List_Partner_Clients res.data.status = " + res.data.status);
//console.log(" In Get_List_Partner_Clients res.data.message r_class = " + res.data.message); console.log(" In Get_List_Partner_Clients res.data.message r_class = " + res.data.message);
if (String(res.data.status) === String("true")) { if (String(res.data.status) === String("true")) {
setGet_List_Partner_Clients_api("true"); setGet_List_Partner_Clients_api("true");
@ -980,6 +996,7 @@ const Partner_Client = (props) => {
siret: JSON.parse(item).siret, siret: JSON.parse(item).siret,
website: JSON.parse(item).website, website: JSON.parse(item).website,
is_company: JSON.parse(item).is_company, is_company: JSON.parse(item).is_company,
is_prospect: JSON.parse(item).is_prospect,
} }
))} ))}

View File

@ -6193,9 +6193,10 @@ const Partner_Commande = (props) => {
String(p_detail_header_statut_label).toLowerCase() === "traité" && String(p_detail_header_statut_label).toLowerCase() === "traité" &&
<Button variant="outlined" onClick={Invoice_Order_Data} className="detail_class_submenu bton_add_sous_menu_cmd_gauche"> Facturer </Button>} <Button variant="outlined" onClick={Invoice_Order_Data} className="detail_class_submenu bton_add_sous_menu_cmd_gauche"> Facturer </Button>}
{String(selected_order_header_type) === "devis" && <Button variant="outlined" onClick={Convert_Quotation_To_Order_Data} className="detail_class_submenu bton_add_sous_menu_cmd_gauche"> Convertir en Cmd </Button>} {String(selected_order_header_type) === "devis" && String(p_detail_header_statut_label).toLowerCase() === "en cours" &&
<Button variant="outlined" onClick={Convert_Quotation_To_Order_Data} className="detail_class_submenu bton_add_sous_menu_cmd_gauche"> Convertir en Cmd </Button>}
{String(selected_order_header_type) === "devis" && {String(selected_order_header_type) === "devis" && String(p_detail_header_statut_label).toLowerCase() === "en cours" &&
<Popup <Popup
trigger={ trigger={
<Button variant="outlined" className="detail_class_submenu bton_add_sous_menu_cmd_gauche"> Valider et Reserver </Button> <Button variant="outlined" className="detail_class_submenu bton_add_sous_menu_cmd_gauche"> Valider et Reserver </Button>

View File

@ -15,10 +15,12 @@ const stripePromise_PROD = loadStripe('pk_live_51LUUfAAbmaEugrFTyfNe4Dj0vbxc5qXQ
window.ela_tocken=""; window.ela_tocken="";
const root = ReactDOM.createRoot(document.getElementById('root')); const root = ReactDOM.createRoot(document.getElementById('root'));
root.render( <React.StrictMode> root.render(
<React.StrictMode>
<Elements stripe={stripePromise_PROD}> <Elements stripe={stripePromise_PROD}>
<App /> <App />
</Elements> </Elements>
</React.StrictMode>); </React.StrictMode>
);

View File

@ -1,4 +1,4 @@
import React, { useState, useEffect, useRef } from "react"; import React, { useState, useEffect, useRef } from "react";
import Navigation from "../components/Navigation"; import Navigation from "../components/Navigation";
import bannerimg2 from "./../mysy_img/MYSY-LOGO-BLUE.png"; import bannerimg2 from "./../mysy_img/MYSY-LOGO-BLUE.png";
import ok_png from "./../mysy_img/Ok_PNG.png"; import ok_png from "./../mysy_img/Ok_PNG.png";
@ -9,33 +9,43 @@ import { useParams } from 'react-router-dom';
import img_loading_spin from "./../mysy_img/mysy_spin_loading.gif"; import img_loading_spin from "./../mysy_img/mysy_spin_loading.gif";
import axios from "axios"; import axios from "axios";
const Automaticquotation = () => { const Automaticquotation = () => {
const { objid, partner_owner_recid } = useParams(); const { objid, partner_owner_recid } = useParams();
const [tempo, settempo] = useState("."); const [tempo, settempo] = useState(".");
//setInterval(check, 2300); setInterval(check, 3000);
window.setTimeout(function () {
if (String(already_run) === "true")
window.location.href = "/Partner/mes_cmd/";
}, 20000);
/*
window.setTimeout(function () {
window.location.href = process.env.REACT_APP_BASE_URL
}, 7000);
*/
function check() { function check() {
var val = tempo + " ."; var val = " . " + tempo;
//alert(" val = "+val); //alert(" val = "+val);
//settempo(val); settempo(val);
} }
const [isLoading, setLoading] = useState(); const [isLoading, setLoading] = useState(false);
const [already_run, setalready_run] = useState(false);
const [quotation_ref, setquotation_ref] = useState("");
const [Create_Automatic_Quotation_api, setCreate_Automatic_Quotation_api] = useState(); const [Create_Automatic_Quotation_api, setCreate_Automatic_Quotation_api] = useState();
const [Create_Automatic_Quotation_message, setCreate_Automatic_Quotation_message] = useState(); const [Create_Automatic_Quotation_message, setCreate_Automatic_Quotation_message] = useState();
const [Create_Automatic_Quotation_result, setCreate_Automatic_Quotation_result] = useState(); const [Create_Automatic_Quotation_result, setCreate_Automatic_Quotation_result] = useState();
function Create_Automatic_Quotation() { function Create_Automatic_Quotation() {
setalready_run(true);
var form = new FormData(); var form = new FormData();
//form.append("token","K3cw63eKokKSbV4spjQ48SUNnfy80yrXfA"); //form.append("token","K3cw63eKokKSbV4spjQ48SUNnfy80yrXfA");
@ -45,7 +55,7 @@ const Automaticquotation = () => {
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Create_Automatic_Quotation/"; var myurl = process.env.REACT_APP_API_URL + "myclass/api/Create_Automatic_Quotation/";
// setLoading(true); setLoading(true);
@ -53,10 +63,13 @@ const Automaticquotation = () => {
console.log(" In Create_Automatic_Quotation res.data.status = " + res.data.status); console.log(" In Create_Automatic_Quotation res.data.status = " + res.data.status);
console.log(" In Create_Automatic_Quotation res.data.message r_class = " + res.data.message); console.log(" In Create_Automatic_Quotation res.data.message r_class = " + res.data.message);
// setLoading(false);
if (String(res.data.status) === String("true")) { if (String(res.data.status) === String("true")) {
setCreate_Automatic_Quotation_api("true"); setCreate_Automatic_Quotation_api("true");
setCreate_Automatic_Quotation_result(res.data.message); setCreate_Automatic_Quotation_result(res.data.message);
setCreate_Automatic_Quotation_message(res.data.message);
setquotation_ref(res.data.quotation_ref)
//myRef_head.current.scrollIntoView({ behavior: "smooth" }); //myRef_head.current.scrollIntoView({ behavior: "smooth" });
@ -64,12 +77,14 @@ const Automaticquotation = () => {
else { else {
setCreate_Automatic_Quotation_api("false"); setCreate_Automatic_Quotation_api("false");
setCreate_Automatic_Quotation_message(res.data.message); setCreate_Automatic_Quotation_message(res.data.message);
alert(res.data.message); if (String(setquotation_ref) === "")
alert(res.data.message);
} }
setLoading(false);
}).catch((error) => { }).catch((error) => {
//setLoading(false); setLoading(false);
console.warn('UpdateStagiaireData : Not good man :( Create_Automatic_Quotation = ' + error); console.warn('UpdateStagiaireData : Not good man :( Create_Automatic_Quotation = ' + error);
setCreate_Automatic_Quotation_api("false"); setCreate_Automatic_Quotation_api("false");
alert(" Impossible de créer le devis"); alert(" Impossible de créer le devis");
@ -82,11 +97,12 @@ const Automaticquotation = () => {
if (!initialized.current) { if (!initialized.current) {
initialized.current = true initialized.current = true
console.log(" aaaaaa")
Create_Automatic_Quotation(); if (String(already_run) === "false")
Create_Automatic_Quotation();
} }
}, [Create_Automatic_Quotation_api]); }, []);
return ( return (
@ -118,19 +134,21 @@ const Automaticquotation = () => {
{/*<div className="nom_prenom"> Votre devis est en cours de création <img src={ok_png} className="img_ok" /> </div>*/} {/*<div className="nom_prenom"> Votre devis est en cours de création <img src={ok_png} className="img_ok" /> </div>*/}
<div className="nom_prenom"> <div className="nom_prenom">
<div> <div>
Votre devis est en cours de création . {tempo}
Create_Automatic_Quotation_api = {Create_Automatic_Quotation_api}
{Create_Automatic_Quotation_api && String(Create_Automatic_Quotation_api) === "false" && {Create_Automatic_Quotation_api && String(Create_Automatic_Quotation_api) === "false" &&
<div style={{ "color": "red" }}> <div style={{ "color": "red", "marginTop": "10rem" }}>
Impossible de créer le devis : {Create_Automatic_Quotation_message} Impossible de créer le devis : {Create_Automatic_Quotation_message}
</div> </div>
} }
{Create_Automatic_Quotation_api && String(Create_Automatic_Quotation_api) === "true" && {Create_Automatic_Quotation_api && String(Create_Automatic_Quotation_api) === "true" &&
<div style={{ "color": "green" }}> <div style={{ "color": "green", "marginTop": "10rem" }}>
{Create_Automatic_Quotation_message} <div>
<img src={ok_png} className="img_ok" /> &nbsp; Super le devis a été créé avec la référence : {quotation_ref} <br />
</div>
Vous allez être redirigé vers la liste des devis dans quelques secondes {tempo}
</div> </div>
} }
</div> </div>