From 88f378a07a9a74d3e914e3f438e2ba41ceed8f26 Mon Sep 17 00:00:00 2001 From: Cherif Date: Sun, 26 Apr 2026 19:25:30 +0200 Subject: [PATCH] 26/04/26 - 19h --- src/components/AddPartnerClient.js | 2 +- .../Module_Session_Planification.js | 2 +- src/components/Partner.js | 2 +- src/components/PartnerClient_Activite.js | 1915 ++- src/components/PartnerClient_Activite_ARG.js | 2594 ++++ .../PartnerClient_Activite_For_Client.js | 154 +- src/components/Partner_Commande.js | 2632 ++-- src/components/Partner_Commande_ARG.js | 11167 ++++++++++++++++ src/components/Partner_Facture.js | 211 +- src/styles/components/_partner_commande.scss | 4 + 10 files changed, 17174 insertions(+), 1509 deletions(-) create mode 100644 src/components/PartnerClient_Activite_ARG.js create mode 100644 src/components/Partner_Commande_ARG.js diff --git a/src/components/AddPartnerClient.js b/src/components/AddPartnerClient.js index cd8e4f8..604e01e 100644 --- a/src/components/AddPartnerClient.js +++ b/src/components/AddPartnerClient.js @@ -4710,7 +4710,7 @@ const AddParnerClient = (props) => { - {} + {} + + +
+

{activity.description}

+

{String(activity.detail).substring(0, 50)}

+
+ + {activity.status === "0" && parseInt(String(activity.retard)) < 0 &&
+ Retard {activity.retard} jours(s) +
} + +
+
+ {activity.employee_assigned_to_initiale} +
+ {activity.employee_assigned_to_nom_prenom} +
+ + ); + } + + function EmptyState({ theme, title, text }) { + return ( +
+
+ +
+

{title}

+

{text}

+ Déposez une carte ici +
+ ); + } + + function Add_Activite() { /* setdatamodification_activite("0"); setformedit_mode_activite("0"); @@ -174,6 +390,31 @@ const PartnerClientActivite = (props) => { } + const type_activite_importance = [ + { + id: 'faible', + value: 'faible', + label: 'Faible', + }, + { + id: 'moyenne', + value: 'moyenne', + label: 'Moyenne', + }, + { + id: 'haute', + value: 'haute', + label: 'Haute', + }, + + { + id: '', + value: '', + label: '', + }, + + ]; + const type_activite_list = [ @@ -254,21 +495,41 @@ const PartnerClientActivite = (props) => { id: '0', value: '0', label: 'Encours', + icon: , + theme: "blue", + emptyTitle: "Aucune activité en cours", + emptyText: "Les activités en cours apparaîtront ici.", + key: "encours", }, { id: '1', value: '1', label: 'Fait', + key: "fait", + icon: , + theme: "green", + emptyTitle: "Aucune activité terminée", + emptyText: "Les activités terminées apparaîtront ici.", }, { id: '-1', value: '-1', label: 'Annulé', + key: "annule", + icon: , + theme: "orange", + emptyTitle: "Aucune activité annulée", + emptyText: "Les activités annulées apparaîtront ici.", }, { id: '2', value: '2', label: 'Archivé', + key: "archive", + icon: , + theme: "slate", + emptyTitle: "Aucune activité archivée", + emptyText: "Les activités archivées apparaîtront ici.", }, ]; @@ -278,11 +539,14 @@ const PartnerClientActivite = (props) => { const [p_activite_description, setp_activite_description] = useState(""); const [p_activite_detail, setp_activite_detail] = useState(""); - const [p_activite_deadline, setp_activite_deadline] = useState(new Date()); + const [p_activite_deadline, setp_activite_deadline] = useState(moment().format("DD/MM/YYYY HH:mm:ss")); const [p_activite_deadline_label, setp_activite_deadline_label] = useState(""); const [p_activite_type, setp_activite_type] = useState(""); const [p_activite_status, setp_activite_status] = useState("0"); + + const [p_activite_importance, setp_activite_importance] = useState(""); + const [p_activite_status_label, setp_activite_status_label] = useState(""); const [p_activite_employee_assigned_id, setp_activite_employee_assigned_id] = useState(props.conntected_employee_id); const [p_activite_employee_assigned_nom_prenom, setp_activite_employee_assigned_nom_prenom] = useState(); @@ -294,6 +558,9 @@ const PartnerClientActivite = (props) => { const [nb_activite_new, setnb_activite_new] = useState(""); // Recuperation des activités du client d'un partner + + const [New_Get_List_Activite_Of_client_Part_result, setNew_Get_List_Activite_Of_client_Part_result] = useState([]); + const [Get_List_Activite_Of_client_Part_api, setGet_List_Activite_Of_client_Part_api] = useState(); const [Get_List_Activite_Of_client_Part_message, setGet_List_Activite_Of_client_Part_message] = useState(); const [Get_List_Activite_Of_client_Part_result, setGet_List_Activite_Of_client_Part_result] = useState([]); @@ -325,10 +592,10 @@ const PartnerClientActivite = (props) => { props.update_nb_activite_en_retard(res.data.nb_activite_en_retard); props.update_nb_activite_en_new(res.data.nb_new_activite_assigned_to_me); - + var new_data3 = []; var new_data2 = []; const new_data = res.data.message.map((x) => { - + new_data3.push(JSON.parse(x)); //--- var localid = JSON.parse(x).id; var local_id = JSON.parse(x)._id; @@ -360,6 +627,8 @@ const PartnerClientActivite = (props) => { new_data2.push(node); setTaskStatus(new_data2); + + setNew_Get_List_Activite_Of_client_Part_result(new_data3); }); } @@ -381,9 +650,14 @@ const PartnerClientActivite = (props) => { // Recuperation des activités du client d'un partner + + + + const [New_Get_List_Activite_Assign_To_Me_result, setNew_Get_List_Activite_Assign_To_Me_result] = useState([]); + const [Get_List_Activite_Assign_To_Me_api, setGet_List_Activite_Assign_To_Me_api] = useState(); const [Get_List_Activite_Assign_To_Me_message, setGet_List_Activite_Assign_To_Me_message] = useState(); - const [Get_List_Activite_Assign_To_Me_result, setGet_List_Activite_Assign_To_Me_result] = useState(); + const [Get_List_Activite_Assign_To_Me_result, setGet_List_Activite_Assign_To_Me_result] = useState([]); function Get_List_Activite_Assign_To_Me(event) { var form = new FormData(); @@ -399,7 +673,18 @@ const PartnerClientActivite = (props) => { axios.post(myurl, form).then(res => { //console.log(" In Get_List_Activite_Assign_To_Me res.data.status = " + res.data.status); - // console.log(" In Get_List_Activite_Assign_To_Me res.data.message r_class = " + res.data.message); + // console.log(" In Get_List_Activite_Assign_To_Me res.data.message r_class = " + res.data.message); + + var new_data2 = []; + const new_data = res.data.message.map((x) => { + new_data2.push(JSON.parse(x)); + }); + + // console.log(" ## new_data2 = ", new_data2); + + setNew_Get_List_Activite_Assign_To_Me_result(new_data2) + + if (String(res.data.status) === String("true")) { setGet_List_Activite_Assign_To_Me_api("true"); @@ -427,11 +712,11 @@ const PartnerClientActivite = (props) => { useEffect(() => { - + Get_List_Activite_Assign_To_Me(); setrelated_collection(props.related_collection); Getall_Training_Employee_No_Filter(); Get_List_Activite_Of_client_Part(); - Get_List_Activite_Assign_To_Me(); + }, []); @@ -530,10 +815,17 @@ const PartnerClientActivite = (props) => { const [recordPartnerClient_Activite_Data_message, setrecordPartnerClient_Activite_Data_message] = useState(""); function recordPartnerClient_Activite_Data(event) { + if (p_activite_type && p_activite_type.length === 0) { + setdisplay_alert_mysy("1"); + setalert_message(" Vous devez choisir un type d'activité "); + setalert_type("error"); + return; + } + var new_dead_line_format = ""; if (typeof p_activite_deadline == "object") { - var act_deadline = format(p_activite_deadline, 'dd/MM/yyyy'); + var act_deadline = format(p_activite_deadline, 'dd/MM/yyyy HH:mm:ss'); new_dead_line_format = act_deadline; } else { new_dead_line_format = p_activite_deadline; @@ -556,6 +848,10 @@ const PartnerClientActivite = (props) => { form.append("employee_assigned_to_id", p_activite_employee_assigned_id); + if (p_activite_importance) + form.append("importance", p_activite_importance); + else + form.append("importance", ""); // Controle d'integrité des infos var activite_description = "" @@ -563,12 +859,16 @@ const PartnerClientActivite = (props) => { activite_description = document.getElementsByName("activite_description")[0].value; } if (activite_description.length == 0) { - alert(" Le champ 'Description' est vide "); + setdisplay_alert_mysy("1"); + setalert_message(" Le champ 'Description' est vide "); + setalert_type("error"); return; } if (activite_description.length > 255) { - alert(" Le champ 'Description' comporte plus de 255 caractères "); + setdisplay_alert_mysy("1"); + setalert_message(" Le champ 'Description' comporte plus de 255 caractères "); + setalert_type("error"); return; } @@ -578,11 +878,15 @@ const PartnerClientActivite = (props) => { activite_detail = document.getElementsByName("activite_detail")[0].value; } if (activite_detail.length > 500) { - alert(" Le champ 'Détail' comporte plus de 500 caractères "); + setdisplay_alert_mysy("1"); + setalert_message(" Le champ 'Détail' comporte plus de 500 caractères "); + setalert_type("error"); return; } + + var myurl = ""; // Il s'agit d'un mise à jour. on a une valeur dans le current_activite_recid @@ -636,7 +940,10 @@ const PartnerClientActivite = (props) => { console.warn('Not good man :( recordPartnerClient_Activite_Data = ', error); setrecordPartnerClient_Activite_Data_result("false"); setrecordPartnerClient_Activite_Data_message(" Impossible d'ajouter l'activité ") - alert(" Impossible d'ajouter/mettre à jour l'activité "); + + setdisplay_alert_mysy("1"); + setalert_message(" Impossible d'ajouter/mettre à jour l'activité "); + setalert_type("error"); }) } @@ -722,18 +1029,32 @@ const PartnerClientActivite = (props) => { form.append("token", stored_cookie); // Controle d'integrité des infos - if (p_activite_description && p_activite_description.length == 0) { - alert(" Le champ 'Description' est vide "); + if (p_activite_description && p_activite_description.length === 0) { + setdisplay_alert_mysy("1"); + setalert_message(" Le champ 'Description' est vide "); + setalert_type("error"); return; } if (p_activite_description && p_activite_description.length > 255) { - alert(" Le champ 'Description' comporte plus de 255 caractères "); + setdisplay_alert_mysy("1"); + setalert_message(" Le champ 'Description' comporte plus de 255 caractères "); + setalert_type("error"); return; } if (p_activite_detail && p_activite_detail.length > 255) { - alert(" Le champ 'Détail' comporte plus de 255 caractères "); + setdisplay_alert_mysy("1"); + setalert_message(" Le champ 'Détail' comporte plus de 255 caractères "); + setalert_type("error"); + return; + } + + + if (p_activite_type && p_activite_type.length === 0) { + setdisplay_alert_mysy("1"); + setalert_message(" Vous devez choisir un type d'activité "); + setalert_type("error"); return; } @@ -747,10 +1068,15 @@ const PartnerClientActivite = (props) => { else form.append("detail", ""); + if (p_activite_importance) + form.append("importance", p_activite_importance); + else + form.append("importance", ""); + var new_dead_line_format = ""; if (typeof p_activite_deadline == "object") { - var act_deadline = format(p_activite_deadline, 'dd/MM/yyyy'); + var act_deadline = format(p_activite_deadline, 'dd/MM/yyyy HH:mm:ss'); new_dead_line_format = act_deadline; } else { new_dead_line_format = p_activite_deadline; @@ -823,7 +1149,9 @@ const PartnerClientActivite = (props) => { console.warn('Not good man :( recordPartnerClient_Activite_Data = ', error); setrecord_One_PartnerClient_Activite_Data_api("false"); setrecord_One_PartnerClient_Activite_Data_message(" Impossible d'ajouter l'activité ") - alert(" Impossible d'ajouter/mettre à jour l'activité "); + setdisplay_alert_mysy("1"); + setalert_message(" Impossible d'ajouter/mettre à jour l'activité "); + setalert_type("error"); }) } @@ -844,7 +1172,7 @@ const PartnerClientActivite = (props) => { - //console.log(" ### event.currentTarget.getAttribute('recid') = ", event.currentTarget.getAttribute('recid')); zzzzz + //console.log(" ### event.currentTarget.getAttribute('recid') = ", event.currentTarget.getAttribute('recid')); var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_Given_Activite/"; @@ -883,7 +1211,7 @@ const PartnerClientActivite = (props) => { setp_activite_deadline_label(mylocalclient_activite.deadline); } else - setp_activite_deadline(new Date()); + setp_activite_deadline(moment().format("DD/MM/YYYY HH:mm:ss")); if (mylocalclient_activite.employee_assigned_to_id) { @@ -898,6 +1226,12 @@ const PartnerClientActivite = (props) => { setp_activite_type(""); + if (mylocalclient_activite.importance) + setp_activite_importance(mylocalclient_activite.importance); + else + setp_activite_importance(""); + + if (mylocalclient_activite.status) { setp_activite_status(mylocalclient_activite.status); if (String(mylocalclient_activite.status) === "0") @@ -909,7 +1243,6 @@ const PartnerClientActivite = (props) => { else if (String(mylocalclient_activite.status) === "-1") setp_activite_status_label("Annulé"); - } else @@ -972,7 +1305,7 @@ const PartnerClientActivite = (props) => { axios.post(myurl, form).then(res => { if (String(res.data.status) === String("true")) { //console.log(" In Display_Given_Activite_From_Activite_Recid res.data.status = " + res.data.status); - // console.log(" In Display_Given_Activite_From_Activite_Recid res.data.message = " + res.data.message); + console.log(" In Display_Given_Activite_From_Activite_Recid res.data.message = " + res.data.message); setDisplay_Given_Activite_From_Activite_Recid_api("true"); setDisplay_Given_Activite_From_Activite_Recid_result(res.data.message); @@ -1001,9 +1334,10 @@ const PartnerClientActivite = (props) => { var act_deadline = new Date(moment(mylocalclient_activite.deadline, "DD/MM/YYYY HH:mm:ss")); setp_activite_deadline(act_deadline); setp_activite_deadline_label(mylocalclient_activite.deadline); + } else - setp_activite_deadline(new Date()); + setp_activite_deadline(moment().format("DD/MM/YYYY HH:mm:ss")); if (mylocalclient_activite.employee_assigned_to_id) { @@ -1018,6 +1352,13 @@ const PartnerClientActivite = (props) => { setp_activite_type(""); + if (mylocalclient_activite.importance) + setp_activite_importance(mylocalclient_activite.importance); + else + setp_activite_importance(""); + + + if (mylocalclient_activite.status) { setp_activite_status(mylocalclient_activite.status); if (String(mylocalclient_activite.status) === "0") @@ -1154,8 +1495,9 @@ const PartnerClientActivite = (props) => { function Clear_activite_P_fields() { setp_activite_description(""); setp_activite_detail(""); - setp_activite_deadline(new Date()); + setp_activite_deadline(moment().format("DD/MM/YYYY HH:mm:ss")); setp_activite_type(""); + setp_activite_importance(""); setp_activite_status("0"); setp_activite_status_label(""); setp_activite_detail(""); @@ -1271,9 +1613,10 @@ const PartnerClientActivite = (props) => { height: "80vh", margin: "0 auto", backgroundColor: "#FFFFFF", - border: 'solid 1px', - borderLeft: "1px solid #ecf1fc", - borderRight: "1px solid #ecf1fc", + // border: 'solid 1px', + // borderLeft: "1px solid #ecf1fc", + // borderRight: "1px solid #ecf1fc", + border: 'none' }, @@ -1287,6 +1630,14 @@ const PartnerClientActivite = (props) => { border: 'solid 1px', borderTop: 'none', // borderRight: "1px solid #ecf1fc", + display: 'flex', + flexDirection: 'column', + borderRadius: '24px', + border: '1px solid rgba(221, 229, 239, 0.8);', + boxShadow: '0 20px 40px rgba(4, 25, 20, 0.28);', + overflow: 'hidden', backdropFilter: 'blur(10px)', + border: 'none', + }, @@ -1297,10 +1648,18 @@ const PartnerClientActivite = (props) => { height: "80vh", margin: "0 auto", backgroundColor: "#FFFFFF", - border: "1px solid #ecf1fc", + // border: "1px solid #ecf1fc", borderRight: 'solid 1px', borderBottom: 'solid 1px', + display: 'flex', + flexDirection: 'column', + borderRadius: '24px', + // border: '1px solid rgba(221, 229, 239, 0.8);', + boxShadow: '0 20px 40px rgba(4, 25, 20, 0.28);', + overflow: 'hidden', backdropFilter: 'blur(10px)', + border: 'none', + }, columnHead: { @@ -1324,7 +1683,7 @@ const PartnerClientActivite = (props) => { } }; - const KanbanColumn = ({ status, changeTaskStatus, children }) => { + const KanbanColumn = ({ status, changeTaskStatus, children, theme }) => { const ref = useRef(null); const [, drop] = useDrop({ accept: "card", @@ -1333,7 +1692,8 @@ const PartnerClientActivite = (props) => { } }); drop(ref); - return
{children}
; + + return
{children}
; }; const KanbanItem = ({ id, children }) => { @@ -1478,6 +1838,94 @@ const PartnerClientActivite = (props) => { } + const [search, setSearch] = useState(""); + const [selectedFilter, setSelectedFilter] = useState("Mes activités"); + + const [draggingId, setDraggingId] = useState(null); + const [dragOverColumn, setDragOverColumn] = useState(null); + + + const [dragging_mysy_Id, setdragging_mysy_Id] = useState(null); + + const filters = [ "Mes activités", "Activités que j'ai assignées"]; + + + + const handleDragStart = (event, activityId) => { + setDraggingId(activityId); + + event.dataTransfer.effectAllowed = "move"; + event.dataTransfer.setData("text/plain", String(activityId)); + }; + + const handleDragEnd = (event) => { + + setDraggingId(null); + setDragOverColumn(null); + }; + + const handleDragOver = (event, columnKey) => { + event.preventDefault(); + event.dataTransfer.dropEffect = "move"; + setDragOverColumn(columnKey); + }; + + const handleDragLeave = (event) => { + const currentTarget = event.currentTarget; + const relatedTarget = event.relatedTarget; + + + + if (!currentTarget.contains(relatedTarget)) { + setDragOverColumn(null); + } + }; + + const handleDrop = (event, targetStatus) => { + event.preventDefault(); + + const activityIdFromData = Number(event.dataTransfer.getData("text/plain")); + + + + const activityId = draggingId || activityIdFromData; + + if (!activityId) return; + + console.log(" mysy mouve id = ", activityId); + console.log(" mysy targetStatus = ", targetStatus); + + var local_status = "" + if (targetStatus.toLowerCase() === "fait") { + Update_Activite_Status(activityId, "1"); + } + else if (targetStatus.toLowerCase() === "encours") { + Update_Activite_Status(activityId, "0"); + } + else if (targetStatus.toLowerCase() === "annule") { + Update_Activite_Status(activityId, "-1"); + } + else if (targetStatus.toLowerCase() === "archive") { + Update_Activite_Status(activityId, "2"); + } + + + setDraggingId(null); + setDragOverColumn(null); + }; + + + // Si 1 ==> on affiche les activité qui me sont assignées, si non celle que j'ai créées + const [activite_to_display, setactivite_to_display] = useState("1"); + function filter_activite(local_filter_value) { + if (local_filter_value === "Mes activités") { + setactivite_to_display("1"); + } else { + setactivite_to_display("0"); + } + + } + return (
@@ -1521,14 +1969,14 @@ const PartnerClientActivite = (props) => { aria-labelledby="draggable-dialog-title" > - MySy Information + Détail de activité -
Description
+
Description
{ { - - setp_activite_deadline(format(date, 'dd/MM/yyyy')); + setp_activite_deadline(format(date, 'dd/MM/yyyy HH:mm:ss')); setdatamodification_activite("1"); } } - showTimeSelect={false} - filterTime={filterPassedTime_start} - dateFormat="dd/MM/yyyy" - className="disabled_style enable_style" + locale={'fr'} + showTimeSelect + timeFormat="HH:mm" + timeIntervals={15} + dateFormat="dd/MM/yyyy HH:mm" + is24Hour + className="disabled_style enable_style" />
+
- {type_activite_list && type_activite_list.length > 0 &&
- Type d'activité
- - (data).id === String(p_activite_type))[0].label} - onChange={(event, value) => { - if (value && value.value) { - setp_activite_type(value.value); - setdatamodification_activite("1"); - } - }} - renderInput={(params) => - } - /> - - -
} - - - - {activite_status_list && activite_status_list.length > 0 &&
- Statut
- - (data).id === String(p_activite_status))[0].label} - onChange={(event, value) => { - if (value && value.value) { - setp_activite_status(value.value); - } - }} - renderInput={(params) => - } - /> - - - -
} - - - {New_Getall_Training_Employee_No_Filter_result && New_Getall_Training_Employee_No_Filter_result.length > 0 && -
Assigné à (employé)
+ {type_activite_list && type_activite_list.length > 0 &&
+ Type d'activité
(data)._id === String(p_activite_employee_assigned_id))[0].label} + + options={type_activite_list} + value={type_activite_list.filter((data) => (data).id === String(p_activite_type))[0].label} onChange={(event, value) => { - if (value && value._id) { - setp_activite_employee_assigned_id(value._id); + if (value && value.value) { + setp_activite_type(value.value); setdatamodification_activite("1"); } }} - renderInput={(params) => {
} + + + {activite_status_list && activite_status_list.length > 0 &&
+ Statut
+ + (data).id === String(p_activite_status))[0].label} + onChange={(event, value) => { + if (value && value.value) { + setp_activite_status(value.value); + } + }} + renderInput={(params) => + } + /> + + + +
} + +
+
+ {New_Getall_Training_Employee_No_Filter_result && New_Getall_Training_Employee_No_Filter_result.length > 0 && +
Assigné à (employé)
+ + (data)._id === String(p_activite_employee_assigned_id))[0].label} + onChange={(event, value) => { + if (value && value._id) { + setp_activite_employee_assigned_id(value._id); + setdatamodification_activite("1"); + } + }} + + renderInput={(params) => + } + /> + + +
} + + {activite_status_list && activite_status_list.length > 0 &&
+ Importance
+ + (data).id === String(p_activite_importance))[0].label} + onChange={(event, value) => { + if (value && value.value) { + setp_activite_importance(value.value); + } + }} + renderInput={(params) => + } + /> + + + +
} + +
+
Détail
- { - setp_activite_detail(event.target.value); + onChange={(e) => { + setp_activite_detail(e.target.value); setdatamodification_activite("1"); + }} - /> +
-
-   -
+ {String(datamodification_activite) === "1" &&
/!\ Pensez à enregistrer les modifications
} @@ -1748,9 +2229,181 @@ const PartnerClientActivite = (props) => { {/* FIN Dialog pour gerer une ACTIVITE */} - -
+ + {/* Content - Activité(s) qui me sont Assignée(s) */} + + +
+
+
+

Mes activités

+ +

+ Suivez, priorisez et déplacez vos activités d’une colonne à l’autre. +

+
+ + +
+
+
+ {filters.map((filter) => ( + + ))} +
+ +
+
+ + setSearch(e.target.value)} + /> +
+ + +
+
+ + + + {activite_to_display === "1" && New_Get_List_Activite_Assign_To_Me_result.length > 0 && +
+ + +
+ item.status === "0")} + draggingId={draggingId} + dragOverColumn={dragOverColumn} + onDragStart={handleDragStart} + onDragEnd={handleDragEnd} + onDragOver={handleDragOver} + onDragLeave={handleDragLeave} + onDrop={handleDrop} + /> + + item.status === "1")} + draggingId={draggingId} + dragOverColumn={dragOverColumn} + onDragStart={handleDragStart} + onDragEnd={handleDragEnd} + onDragOver={handleDragOver} + onDragLeave={handleDragLeave} + onDrop={handleDrop} + /> + + item.status === "-1")} + draggingId={draggingId} + dragOverColumn={dragOverColumn} + onDragStart={handleDragStart} + onDragEnd={handleDragEnd} + onDragOver={handleDragOver} + onDragLeave={handleDragLeave} + onDrop={handleDrop} + /> + + item.status === "2")} + draggingId={draggingId} + dragOverColumn={dragOverColumn} + onDragStart={handleDragStart} + onDragEnd={handleDragEnd} + onDragOver={handleDragOver} + onDragLeave={handleDragLeave} + onDrop={handleDrop} + /> +
+ +
} +
+ + {/* Content - Activté(s) que j'ai créée(s) */} + {activite_to_display !== "1" &&
+ + + {New_Get_List_Activite_Of_client_Part_result.length > 0 &&
+ item.status === "0")} + draggingId={draggingId} + dragOverColumn={dragOverColumn} + onDragStart={handleDragStart} + onDragEnd={handleDragEnd} + onDragOver={handleDragOver} + onDragLeave={handleDragLeave} + onDrop={handleDrop} + /> + + item.status === "1")} + draggingId={draggingId} + dragOverColumn={dragOverColumn} + onDragStart={handleDragStart} + onDragEnd={handleDragEnd} + onDragOver={handleDragOver} + onDragLeave={handleDragLeave} + onDrop={handleDrop} + /> + + item.status === "-1")} + draggingId={draggingId} + dragOverColumn={dragOverColumn} + onDragStart={handleDragStart} + onDragEnd={handleDragEnd} + onDragOver={handleDragOver} + onDragLeave={handleDragLeave} + onDrop={handleDrop} + /> + + item.status === "2")} + draggingId={draggingId} + dragOverColumn={dragOverColumn} + onDragStart={handleDragStart} + onDragEnd={handleDragEnd} + onDragOver={handleDragOver} + onDragLeave={handleDragLeave} + onDrop={handleDrop} + /> +
} +
} + +
+ + {/*
{String(show_all_activite_list) === "1" && String(showactivite_detail) !== "1" && String(add_one_activite) !== "1" &&
Ajouter une activité
@@ -1762,7 +2415,6 @@ const PartnerClientActivite = (props) => {
-
@@ -1771,8 +2423,8 @@ const PartnerClientActivite = (props) => { key={channel.id} status={channel.id} changeTaskStatus={changeTaskStatus} + channel={channel} > - {String(index) === "0" &&
{Opportunite_chanel_label[channel.id]}
@@ -1963,6 +2615,7 @@ const PartnerClientActivite = (props) => { key={channel.id} status={channel.id} changeTaskStatus={changeTaskStatus} + theme={channel.theme} > {String(index) === "0" &&
{Opportunite_chanel_label[channel.id]}
@@ -2130,18 +2783,10 @@ const PartnerClientActivite = (props) => {
 
-
- - -
} - - - - {String(showactivite_detail) === "ttt1" &&
Description
@@ -2162,7 +2807,7 @@ const PartnerClientActivite = (props) => { {String(formedit_mode_activite) === "1" &&
- Date souhaitée
+ Date souhaitée 01
{ setdatamodification_activite("1"); } } - showTimeSelect={false} - filterTime={filterPassedTime_start} - dateFormat="dd/MM/yyyy" - className="disabled_style enable_style" locale={'fr'} + showTimeSelect + timeFormat="HH:mm" + timeIntervals={15} + dateFormat="dd/MM/yyyy HH:mm" + is24Hour + className="disabled_style enable_style" + />
} {String(formedit_mode_activite) === "0" &&
- Date souhaitée
+ Date souhaitée 02
{
} -
+
Détail
- setp_activite_detail(e.target.value)} - + onChange={(e) => { + setp_activite_detail(e.target.value); + }} /> +
@@ -2398,22 +3049,24 @@ const PartnerClientActivite = (props) => {
- Date souhaitée
+ Date souhaitée 03
{ - setone_activite_deadline(format(date, 'dd/MM/yyyy')); + setone_activite_deadline(format(date, 'dd/MM/yyyy HH:mm:ss')); } } - showTimeSelect={false} - filterTime={filterPassedTime_start} - dateFormat="dd/MM/yyyy" - className="disabled_style enable_style" locale={'fr'} + showTimeSelect + timeFormat="HH:mm" + timeIntervals={15} + dateFormat="dd/MM/yyyy HH:mm" + is24Hour + className="disabled_style enable_style" /> @@ -2441,24 +3094,7 @@ const PartnerClientActivite = (props) => { } /> - {/* setone_activite_type(e.target.value)} > - {type_activite_list.map((option) => ( - - {option.label}  
-
- ))} -
*/} +
@@ -2508,49 +3144,29 @@ const PartnerClientActivite = (props) => { } /> - {/* { - setp_activite_employee_assigned_id(e.target.value); - - } - } - > - {Getall_Training_Employee_No_Filter_result && - Getall_Training_Employee_No_Filter_result.map((myclient) => ( - - {JSON.parse(myclient).nom}  {JSON.parse(myclient).prenom}
- -
- ))} -
*/}
-
Détail
- Détail
+ setone_activite_detail(e.target.value)} + id="activite_detail" + aria-label="minimum height" + minRows={3} + maxRows={5} + //placeholder="Minimum 3 rows" + style={{ + border: "1px solid gainsboro", width: '90%', padding: '2px', + maxHeight: '10rem', height: '5rem', minHeight: '5rem', marginBottom: '3rem', + fontFamily: 'DM Sans' + }} + value={one_activite_detail} + onChange={(e) => { + setone_activite_detail(e.target.value); + }} /> +
@@ -2583,10 +3199,871 @@ const PartnerClientActivite = (props) => {
 
-
- +
*/} +
) } -export default PartnerClientActivite; \ No newline at end of file +export default PartnerClientActivite; + +const local_css = ` +:root { + --bg: #f4f7fb; + --panel: rgba(255, 255, 255, 0.82); + --panel-strong: #ffffff; + --border: #dfe7f2; + --border-soft: #edf2f8; + --text: #12284c; + --text-soft: #6e7f9f; + --title: #0f2552; + + --blue: #2f67f6; + --blue-soft: #eaf1ff; + + --green: #21b66f; + --green-soft: #e9fbf2; + + --orange: #ff9d2e; + --orange-soft: #fff3e5; + + --red: #ef4d61; + --red-soft: #ffecef; + + --slate: #7b8da8; + --slate-soft: #eef2f7; + + --shadow-lg: 0 20px 45px rgba(19, 44, 88, 0.08); + --shadow-md: 0 10px 30px rgba(25, 44, 86, 0.08); + --shadow-sm: 0 4px 14px rgba(17, 39, 76, 0.06); + + --radius-xl: 24px; + --radius-lg: 18px; + --radius-md: 14px; + --radius-sm: 12px; +} + +* { + box-sizing: border-box; +} + +html, +body, +#root { + margin: 0; + padding: 0; + min-height: 100%; + font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, + "Segoe UI", sans-serif; + color: var(--text); + background: linear-gradient(180deg, #f7f9fc 0%, #eef4fb 100%); +} + +button, +input { + font: inherit; +} + +a { + color: inherit; + text-decoration: none; +} + +.mtt-page { + min-height: 100vh; + display: grid; + grid-template-columns: 290px 1fr; +} + +/* Sidebar */ +.mtt-sidebar { + background: + radial-gradient(circle at top left, rgba(24, 170, 189, 0.22), transparent 28%), + linear-gradient(180deg, #072745 0%, #083459 40%, #0b4062 100%); + color: #ffffff; + padding: 26px 18px; + display: flex; + flex-direction: column; + justify-content: space-between; + box-shadow: inset -1px 0 0 rgba(255, 255, 255, 0.08); +} + +.brand-block { + padding: 4px 12px 22px 12px; +} + +.brand-block h1 { + margin: 0; + font-size: 48px; + line-height: 1; + font-weight: 800; + letter-spacing: -1px; +} + +.brand-block span { + display: block; + margin-top: 4px; + font-size: 18px; + opacity: 0.88; +} + +.sidebar-nav { + display: flex; + flex-direction: column; + gap: 8px; +} + +.sidebar-link { + display: flex; + align-items: center; + gap: 12px; + padding: 14px 16px; + border-radius: 16px; + color: rgba(255, 255, 255, 0.92); + transition: all 0.25s ease; +} + +.sidebar-link:hover { + background: rgba(255, 255, 255, 0.08); +} + +.sidebar-link.active { + background: linear-gradient(135deg, rgba(18, 210, 219, 0.3), rgba(47, 103, 246, 0.35)); + border: 1px solid rgba(120, 233, 255, 0.25); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08); +} + +.sidebar-link span { + font-size: 15px; + font-weight: 600; +} + +.sidebar-bottom { + margin-top: 28px; +} + +.reduce-btn { + width: 100%; + border: none; + background: transparent; + color: rgba(255, 255, 255, 0.82); + display: flex; + align-items: center; + gap: 10px; + padding: 10px 12px; + border-radius: 12px; + cursor: pointer; +} + +.reduce-btn:hover { + background: rgba(255, 255, 255, 0.06); +} + +.user-card { + margin-top: 14px; + display: flex; + align-items: center; + gap: 12px; + padding: 14px; + border-radius: 18px; + background: rgba(255, 255, 255, 0.08); + border: 1px solid rgba(255, 255, 255, 0.1); +} + +.user-avatar { + width: 42px; + height: 42px; + border-radius: 50%; + display: grid; + place-items: center; + background: rgba(255, 255, 255, 0.18); + font-weight: 700; +} + +.user-card__infos { + display: flex; + flex-direction: column; +} + +.user-card__infos strong { + font-size: 14px; +} + +.user-card__infos span { + font-size: 12px; + opacity: 0.8; +} + +/* Main */ +.mtt-main { + min-width: 0; + display: flex; + flex-direction: column; +} + +.topbar { + height: 82px; + background: rgba(255, 255, 255, 0.84); + backdrop-filter: blur(10px); + border-bottom: 1px solid rgba(216, 226, 239, 0.9); + display: grid; + grid-template-columns: 1fr auto 1fr; + align-items: center; + padding: 0 28px; + gap: 18px; +} + +.topbar__left, +.topbar__right, +.topbar__center { + display: flex; + align-items: center; +} + +.topbar__left { + gap: 28px; +} + +.topbar__left a { + font-weight: 600; + color: #334a72; +} + +.topbar__center { + justify-content: center; + gap: 12px; +} + +.env-pill { + display: inline-flex; + align-items: center; + gap: 8px; + height: 34px; + padding: 0 14px; + border-radius: 999px; + background: #fff4e4; + color: #c87500; + font-size: 14px; + font-weight: 700; +} + +.env-dot { + width: 8px; + height: 8px; + border-radius: 50%; + background: #ff9d2e; +} + +.env-text { + color: #486080; + font-weight: 600; +} + +.topbar__right { + justify-content: flex-end; + gap: 12px; +} + +.btn { + height: 44px; + border-radius: 14px; + border: 1px solid transparent; + padding: 0 18px; + display: inline-flex; + align-items: center; + gap: 10px; + font-weight: 700; + cursor: pointer; + transition: all 0.2s ease; +} + +.btn--large { + height: 50px; + padding: 0 22px; + font-size: 15px; +} + +.btn--primary { + color: #fff; + background: linear-gradient(135deg, #2f67f6 0%, #2052da 100%); + box-shadow: 0 12px 24px rgba(47, 103, 246, 0.22); +} + +.btn--primary:hover { + transform: translateY(-1px); + box-shadow: 0 16px 30px rgba(47, 103, 246, 0.28); +} + +.btn--ghost { + background: rgba(255, 255, 255, 0.8); + color: #29426e; + border-color: var(--border); +} + +.btn--ghost:hover { + background: #ffffff; +} + +.icon-btn { + width: 42px; + height: 42px; + border-radius: 12px; + border: 1px solid var(--border); + background: rgba(255, 255, 255, 0.86); + color: #425677; + display: grid; + place-items: center; + cursor: pointer; + transition: all 0.2s ease; +} + +.icon-btn:hover { + background: #ffffff; + box-shadow: var(--shadow-sm); +} + +.notification-btn { + position: relative; +} + +.notification-badge { + position: absolute; + top: -3px; + right: -1px; + min-width: 18px; + height: 18px; + border-radius: 999px; + background: var(--blue); + color: #fff; + font-size: 11px; + display: grid; + place-items: center; + border: 2px solid #fff; + font-weight: 700; +} + +.content-shell { + padding: 32px 28px 30px; +} + +.page-head { + display: flex; + justify-content: space-between; + align-items: flex-start; + gap: 20px; + margin-bottom: 26px; +} + +.page-head h2 { + margin: 0; + font-size: 52px; + line-height: 1.05; + color: var(--title); + letter-spacing: -1.5px; +} + +.page-head p { + margin: 10px 0 0; + color: var(--text-soft); + font-size: 18px; +} + +/* Toolbar */ +.toolbar { + display: flex; + justify-content: space-between; + align-items: center; + gap: 18px; + margin-bottom: 26px; + flex-wrap: wrap; +} + +.toolbar__filters { + display: flex; + gap: 12px; + flex-wrap: wrap; +} + +.chip { + height: 42px; + padding: 0 18px; + border-radius: 14px; + border: 1px solid var(--border); + background: rgba(255, 255, 255, 0.84); + color: #3a4e73; + font-weight: 700; + cursor: pointer; + transition: all 0.2s ease; +} + +.chip:hover { + background: #fff; +} + +.chip--active { + background: linear-gradient(135deg, #2f67f6 0%, #2458e7 100%); + color: #fff; + border-color: transparent; + box-shadow: 0 10px 24px rgba(47, 103, 246, 0.2); +} + +.toolbar__search { + display: flex; + align-items: center; + gap: 12px; + flex-wrap: wrap; +} + +.search-box { + min-width: 420px; + height: 48px; + border-radius: 16px; + border: 1px solid var(--border); + background: rgba(255, 255, 255, 0.84); + padding: 0 14px; + display: flex; + align-items: center; + gap: 10px; + color: #7082a4; +} + +.search-box input { + flex: 1; + border: none; + outline: none; + background: transparent; + color: var(--text); + font-size: 15px; +} + +/* Kanban */ +.kanban-grid { + display: grid; + grid-template-columns: repeat(4, minmax(270px, 1fr)); + gap: 18px; + align-items: stretch; +} + +.kanban-column { + min-height: 680px; + display: flex; + flex-direction: column; + border-radius: 24px; + background: rgba(255, 255, 255, 0.68); + border: 1px solid rgba(221, 229, 239, 0.8); + box-shadow: var(--shadow-lg); + overflow: hidden; + backdrop-filter: blur(10px); + font-family: 'DM sans'; +} + +.kanban-column__header { + padding: 18px 18px 16px; + display: flex; + align-items: center; + justify-content: space-between; +} + +.kanban-column--blue .kanban-column__header { + background: linear-gradient(180deg, #eef4ff 0%, #f7faff 100%); +} +.kanban-column--green .kanban-column__header { + background: linear-gradient(180deg, #edfdf4 0%, #f8fffb 100%); +} +.kanban-column--orange .kanban-column__header { + background: linear-gradient(180deg, #fff5e9 0%, #fffaf3 100%); +} +.kanban-column--slate .kanban-column__header { + background: linear-gradient(180deg, #f2f6fb 0%, #f9fbfd 100%); +} + +.kanban-column__title-wrap { + display: flex; + align-items: center; + gap: 10px; +} + +.kanban-column__title-wrap h3 { + margin: 0; + font-size: 17px; + color: var(--title); +} + +.kanban-column__icon { + width: 34px; + height: 34px; + border-radius: 12px; + display: grid; + place-items: center; +} + +.kanban-column__icon--blue { + color: var(--blue); + background: var(--blue-soft); +} +.kanban-column__icon--green { + color: var(--green); + background: var(--green-soft); +} +.kanban-column__icon--orange { + color: var(--orange); + background: var(--orange-soft); +} +.kanban-column__icon--slate { + color: var(--slate); + background: var(--slate-soft); +} + +.count-badge { + min-width: 26px; + height: 26px; + padding: 0 8px; + border-radius: 999px; + display: grid; + place-items: center; + font-size: 13px; + font-weight: 800; +} + +.count-badge--blue { + background: #dbe8ff; + color: var(--blue); +} +.count-badge--green { + background: #dff8ea; + color: var(--green); +} +.count-badge--orange { + background: #ffe8ca; + color: var(--orange); +} +.count-badge--slate { + background: #e5ebf4; + color: var(--slate); +} + +.kanban-column__body { + padding: 14px; + display: flex; + flex-direction: column; + gap: 14px; + flex: 1; +} + +.kanban-column__footer { + margin-top: auto; + padding: 6px 14px 14px; +} + +.link-btn { + width: 100%; + height: 46px; + border: 1px dashed var(--border); + background: rgba(255, 255, 255, 0.72); + border-radius: 14px; + display: inline-flex; + align-items: center; + justify-content: center; + gap: 8px; + cursor: pointer; + font-weight: 700; + transition: all 0.2s ease; +} + +.link-btn:hover { + background: #fff; +} + +.link-btn--blue { + color: var(--blue); +} +.link-btn--green { + color: var(--green); +} +.link-btn--orange { + color: var(--orange); +} +.link-btn--slate { + color: var(--slate); +} + +/* Cards */ +.activity-card { + position: relative; + background: rgba(255, 255, 255, 0.96); + border: 1px solid var(--border-soft); + border-radius: 18px; + box-shadow: var(--shadow-sm); + padding: 16px; + overflow: hidden; +cursor: move; +} + +.activity-card::before { + content: ""; + position: absolute; + top: 14px; + left: 0; + bottom: 14px; + width: 4px; + border-radius: 999px; +} + +.activity-card--danger::before { + background: var(--red); +} + +.activity-card--warning::before { + background: var(--orange); +} + +.activity-card--success::before { + background: var(--green); +} + +.activity-card--neutral::before { + background: var(--slate); +} + +.activity-card__top { + display: grid; + grid-template-columns: 40px 1fr auto auto; + align-items: center; + gap: 10px; +} + +.activity-card__type-icon { + width: 40px; + height: 40px; + border-radius: 12px; + display: grid; + place-items: center; + background: #f4f7fb; + color: #506689; +} + +.activity-card__meta { + color: #6f81a0; + font-size: 13px; + font-weight: 600; +} + +.badge { + display: inline-flex; + align-items: center; + height: 28px; + padding: 0 10px; + border-radius: 999px; + font-size: 12px; + font-weight: 800; + white-space: nowrap; +} + +.badge--danger { + background: var(--red-soft); + color: var(--red); +} + +.badge--haute { + background: var(--orange-soft); + color: #d78015; +} + +.badge--moyenne { + background: var(--green-soft); + color: var(--green); +} + +.badge--faible { + background: var(--slate-soft); + color: var(--slate); +} + + +.activity-card__body { + margin-top: 14px; +} + +.activity-card__body h4 { + margin: 0 0 8px; + font-size: 20px; + line-height: 1.2; + color: #132b57; +} + +.activity-card__body p { + margin: 0; + color: var(--text-soft); + line-height: 1.5; + font-size: 14px; +} + +.activity-card__info { + margin-top: 14px; + font-size: 14px; + font-weight: 700; +} + +.activity-card__info--danger { + color: var(--red); +} + +.activity-card__info--warning { + color: #d78015; +} + +.activity-card__info--success { + color: var(--green); +} + +.activity-card__info--neutral { + color: var(--slate); +} + +.activity-card__footer { + margin-top: 16px; + display: flex; + align-items: center; + gap: 10px; +} + +.avatar { + width: 34px; + height: 34px; + border-radius: 50%; + display: grid; + place-items: center; + background: #dce8f7; + color: #46658f; + font-size: 12px; + font-weight: 800; +} + +.owner-name { + font-size: 14px; + color: #5e7395; + font-weight: 700; +} + +/* Empty state */ +.empty-state { + min-height: 100%; + display: flex; + padding: 38px 18px; + align-items: center; + justify-content: center; + flex-direction: column; + text-align: center; + color: var(--text-soft); +} + +.empty-state__icon { + width: 82px; + height: 82px; + border-radius: 24px; + display: grid; + place-items: center; + margin-bottom: 18px; +} + +.empty-state--blue .empty-state__icon { + background: var(--blue-soft); + color: var(--blue); +} +.empty-state--green .empty-state__icon { + background: var(--green-soft); + color: var(--green); +} +.empty-state--orange .empty-state__icon { + background: var(--orange-soft); + color: var(--orange); +} +.empty-state--slate .empty-state__icon { + background: var(--slate-soft); + color: var(--slate); +} + +.empty-state h4 { + margin: 0 0 8px; + color: #17315f; + font-size: 18px; +} + +.empty-state p { + margin: 0; + max-width: 220px; + line-height: 1.5; + font-size: 14px; +} + +/* Responsive */ +@media (max-width: 1500px) { + .kanban-grid { + grid-template-columns: repeat(2, minmax(280px, 1fr)); + } +} + +@media (max-width: 1120px) { + .mtt-page { + grid-template-columns: 1fr; + } + + .mtt-sidebar { + display: none; + } + + .topbar { + grid-template-columns: 1fr; + height: auto; + padding: 18px; + } + + .topbar__left, + .topbar__center, + .topbar__right { + justify-content: space-between; + flex-wrap: wrap; + } + + .page-head { + flex-direction: column; + align-items: stretch; + } + + .search-box { + min-width: 100%; + width: 100%; + } + + .toolbar__search { + width: 100%; + } +} + +@media (max-width: 768px) { + .content-shell { + padding: 20px 16px 24px; + } + + .page-head h2 { + font-size: 34px; + } + + .page-head p { + font-size: 15px; + } + + .kanban-grid { + grid-template-columns: 1fr; + } + + .activity-card__top { + grid-template-columns: 40px 1fr; + } + + .activity-card__top .badge, + .activity-card__top .icon-btn { + margin-top: 8px; + } +} +`; \ No newline at end of file diff --git a/src/components/PartnerClient_Activite_ARG.js b/src/components/PartnerClient_Activite_ARG.js new file mode 100644 index 0000000..a77826e --- /dev/null +++ b/src/components/PartnerClient_Activite_ARG.js @@ -0,0 +1,2594 @@ +import React, { useRef, useState, useEffect } from "react"; +import Box from '@mui/material/Box'; +import TextField from '@mui/material/TextField'; +import MenuItem from '@mui/material/MenuItem'; +import { confirmAlert } from 'react-confirm-alert'; // Import +import 'react-confirm-alert/src/react-confirm-alert.css'; // Import css +import Button from '@mui/material/Button'; +import axios from "axios"; +import DeleteIcon from '@mui/icons-material/Delete'; +import { getCookie, setCookie } from 'react-use-cookie'; +import { Alert } from "@mui/material"; +import { AiTwotoneEdit, AiTwotoneSave } from "react-icons/ai"; +import profileimg from "../mysy_img/MYSY-profil-2.png"; +import Abonnement from "./Abonnement"; +import { BorderBottom, ConstructionOutlined, PropaneSharp, ResetTvRounded } from "@mui/icons-material"; +import { useHistory } from "react-router-dom"; +import CheckOut from "./CheckOut"; +import fr from 'date-fns/locale/fr'; +import { registerLocale } from 'react-datepicker'; +import DatePicker from "react-datepicker"; +import "react-datepicker/dist/react-datepicker.css"; +import "react-draft-wysiwyg/dist/react-draft-wysiwyg.css"; +import { RichTextEditor } from '@mantine/rte'; +import { Editor } from '@tinymce/tinymce-react'; +import { IoArrowUndoCircle } from "react-icons/io5"; +import { GrUserAdmin, GrOrderedList } from "react-icons/gr"; +import parse from 'html-react-parser'; +import { format } from 'date-fns' +import moment from "moment"; +import 'react-tooltip/dist/react-tooltip.css' +import { Tooltip } from 'react-tooltip' +import Autocomplete from '@mui/material/Autocomplete'; +import GestionAdministrative from "./GestionAdministrative"; +import { IoMdAddCircle, IoIosRemoveCircleOutline } from "react-icons/io"; +import { Fab } from "@material-ui/core"; +import { ConsoleView } from "react-device-detect"; +import fileDownload from 'js-file-download' +import { IoAddCircleOutline, IoCloseCircleOutline } from "react-icons/io5"; +import { AiOutlineUserAdd } from "react-icons/ai"; +import { AiOutlinePlusCircle } from "react-icons/ai"; + +import FiberNewIcon from '@mui/icons-material/FiberNew'; + + +import Dialog from '@mui/material/Dialog'; +import DialogActions from '@mui/material/DialogActions'; +import DialogContent from '@mui/material/DialogContent'; +import DialogContentText from '@mui/material/DialogContentText'; +import DialogTitle from '@mui/material/DialogTitle'; + +import { useCallback, } from "react"; +import { DndProvider, useDrag } from "react-dnd"; +import { useDrop } from 'react-dnd' + +import { HTML5Backend } from "react-dnd-html5-backend"; +import update from "immutability-helper"; +import Rating from '@mui/material/Rating'; + + +import { CiBoxList } from "react-icons/ci"; +import { FcPlanner } from "react-icons/fc"; + +import { makeStyles } from "@material-ui/core/styles"; +import Paper from '@material-ui/core/Paper'; +import Draggable from 'react-draggable'; +import { IconButton } from '@material-ui/core'; +import AutoFixHighOutlinedIcon from '@mui/icons-material/AutoFixHighOutlined'; +import CancelPresentationIcon from '@mui/icons-material/CancelPresentation'; + +import Module_Alert_Confirmation from "./Module_Alert_Confirmation"; + +function PaperComponent(props) { + return ( + + + + ); +} + + +const useStyles = makeStyles((theme) => ({ + + dialog: { + position: 'absolute', + // left: 10, + top: 400 + }, + + paper: { + overflowY: 'unset', + }, + customizedButton: { + position: 'absolute', + left: '98%', + top: '-3%', + backgroundColor: 'lightgray', + color: 'gray', + }, +})); + +const PartnerClient_Activite_ARG = (props) => { + registerLocale('fr', fr); + const classes_dialog = useStyles(); + const history = useHistory(); + var date_today_90j = new Date(); + date_today_90j.setDate(date_today_90j.getDate() + 90); + + function sleep(ms) { + return new Promise(resolve => setTimeout(resolve, ms)); + } + + const [selected_id, setselected_id] = useState(""); + + + const [related_collection, setrelated_collection] = useState(""); + + const [current_activite_recid, setcurrent_activite_recid] = useState(""); + + const [show_all_activite_list, setshow_all_activite_list] = useState("1"); + const [showactivite_detail, setshowactivite_detail] = useState(); + const [add_one_activite, setadd_one_activite] = useState(""); + + function Add_Activite() { + /* setdatamodification_activite("0"); + setformedit_mode_activite("0"); + setcurrent_activite_recid(""); + //clean_contact_set_values(); + + setadd_one_activite("1"); + setshowactivite_detail(); + setshow_all_activite_list(); + */ + + setselected_id(""); + setDialog_ACTIVITE_open(true); + + Clear_activite_P_fields(); + + } + + function Close_Activite() { + setshowactivite_detail("0"); + setdatamodification_activite("0"); + setformedit_mode_activite("0"); + setcurrent_activite_recid(""); + //clear_contact_fields(); + //clean_contact_set_values(); + + } + + function retour_liste_Activite() { + setshowactivite_detail(); + setadd_one_activite(); + setshow_all_activite_list("1"); + + setcurrent_activite_recid(""); + setformedit_mode_activite("0"); + } + + const [datamodification_activite, setdatamodification_activite] = useState("0"); + const [formedit_mode_activite, setformedit_mode_activite] = useState("0"); + + function DataUpdated_Activite_Data() { + setdatamodification_activite("1"); + } + + + function DataEditMode_Activite_Data() { + setformedit_mode_activite("1"); + Enable_activite_fields(); + + } + + + + const type_activite_list = [ + { + id: 'email', + value: 'email', + label: 'Email', + }, + { + id: 'call', + value: 'call', + label: 'Appel', + }, + { + id: 'meeting', + value: 'meeting', + label: 'Réunion', + }, + { + id: 'autre', + value: 'autre', + label: 'Autre', + }, + { + id: 'cmd', + value: 'cmd', + label: 'commande', + }, + { + id: 'devis', + value: 'devis', + label: 'devis', + }, + { + id: 'facture', + value: 'facture', + label: 'facture', + }, + { + id: '', + value: '', + label: '', + }, + + ]; + + const activite_status_list = [ + { + id: '0', + value: '0', + label: 'Encours', + }, + { + id: '1', + value: '1', + label: 'Fait', + }, + { + id: '-1', + value: '-1', + label: 'Annulé', + }, + { + id: '2', + value: '2', + label: 'Archivé', + }, + { + id: '', + value: '', + label: '', + }, + ]; + + + const activite_status_list_pave_affiche = [ + { + id: '0', + value: '0', + label: 'Encours', + }, + { + id: '1', + value: '1', + label: 'Fait', + }, + { + id: '-1', + value: '-1', + label: 'Annulé', + }, + { + id: '2', + value: '2', + label: 'Archivé', + }, + + ]; + + + // Données Activites + const [p_activite_description, setp_activite_description] = useState(""); + const [p_activite_detail, setp_activite_detail] = useState(""); + + const [p_activite_deadline, setp_activite_deadline] = useState(new Date()); + + const [p_activite_deadline_label, setp_activite_deadline_label] = useState(""); + const [p_activite_type, setp_activite_type] = useState(""); + const [p_activite_status, setp_activite_status] = useState("0"); + const [p_activite_status_label, setp_activite_status_label] = useState(""); + const [p_activite_employee_assigned_id, setp_activite_employee_assigned_id] = useState(props.conntected_employee_id); + const [p_activite_employee_assigned_nom_prenom, setp_activite_employee_assigned_nom_prenom] = useState(); + + const [p_activite_employee_assigned, setp_activite_employee_assigned] = useState(props.conntected_employee_id); + + + const [nb_activite_en_retard, setnb_activite_en_retard] = useState(""); + const [nb_activite_new, setnb_activite_new] = useState(""); + + // Recuperation des activités du client d'un partner + const [Get_List_Activite_Of_client_Part_api, setGet_List_Activite_Of_client_Part_api] = useState(); + const [Get_List_Activite_Of_client_Part_message, setGet_List_Activite_Of_client_Part_message] = useState(); + const [Get_List_Activite_Of_client_Part_result, setGet_List_Activite_Of_client_Part_result] = useState([]); + function Get_List_Activite_Of_client_Part(event) { + + var form = new FormData(); + const stored_cookie = getCookie('tokenmysypart'); + const related_collection = props.related_collection + + + form.append("token", stored_cookie); + form.append("related_collection", related_collection); + form.append("related_collection_owner_email", props.email); + + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_List_Entity_Activite/"; + + axios.post(myurl, form).then(res => { + //console.log(" In Get_List_Activite_Of_client_Part res.data.status = " + res.data.status); + //console.log(" In Get_List_Activite_Of_client_Part res.data.message r_class = " + res.data.message); + + if (String(res.data.status) === String("true")) { + setGet_List_Activite_Of_client_Part_api("true"); + setGet_List_Activite_Of_client_Part_result(res.data.message); + setnb_activite_en_retard(res.data.nb_activite_en_retard); + setnb_activite_new(res.data.nb_new_activite_assigned_to_me); + + + props.update_nb_activite_en_retard(res.data.nb_activite_en_retard); + props.update_nb_activite_en_new(res.data.nb_new_activite_assigned_to_me); + + + 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_description = JSON.parse(x).description; + var local_status = JSON.parse(x).status; + var local_type = JSON.parse(x).type; + var local_recid = JSON.parse(x).recid; + + var local_deadline = JSON.parse(x).deadline; + var local_retard = JSON.parse(x).retard; + var local_employee_assigned_to_id = JSON.parse(x).employee_assigned_to_id; + var local_employee_assigned_view_statut = JSON.parse(x).employee_assigned_view_statut; + + + //--- + var node = { + "_id": local_id, + "id": localid, + "label": local_description, + "type": local_type, + "description": local_description, + "status": local_status, + "deadline": local_deadline, + "retard": local_retard, + "employee_assigned_to_id": local_employee_assigned_to_id, + "employee_assigned_view_statut": local_employee_assigned_view_statut, + "recid": local_recid, + }; + + new_data2.push(node); + setTaskStatus(new_data2); + }); + + } + else if (String(res.data.status) === String("Err_Connexion")) { + alert('Erreur: ' + res.data.message); + history.push("/Connexion"); + } + else { + setGet_List_Activite_Of_client_Part_api("false"); + setGet_List_Activite_Of_client_Part_message(res.data.message); + } + + }).catch((error) => { + console.warn('Not good man :( Get_List_Activite_Of_client_Part = ', error); + setGet_List_Activite_Of_client_Part_api("false"); + //setmyApimyApiMessage("") + }) + } + + + // Recuperation des activités du client d'un partner + const [Get_List_Activite_Assign_To_Me_api, setGet_List_Activite_Assign_To_Me_api] = useState(); + const [Get_List_Activite_Assign_To_Me_message, setGet_List_Activite_Assign_To_Me_message] = useState(); + const [Get_List_Activite_Assign_To_Me_result, setGet_List_Activite_Assign_To_Me_result] = useState(); + function Get_List_Activite_Assign_To_Me(event) { + + var form = new FormData(); + const stored_cookie = getCookie('tokenmysypart'); + const related_collection = props.related_collection + + + form.append("token", stored_cookie); + form.append("employee_assigned_to_id", props.conntected_employee_id); + + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_List_Activite_Assign_To/"; + + axios.post(myurl, form).then(res => { + //console.log(" In Get_List_Activite_Assign_To_Me res.data.status = " + res.data.status); + // console.log(" In Get_List_Activite_Assign_To_Me res.data.message r_class = " + res.data.message); + + if (String(res.data.status) === String("true")) { + setGet_List_Activite_Assign_To_Me_api("true"); + setGet_List_Activite_Assign_To_Me_result(res.data.message); + setnb_activite_en_retard(res.data.nb_activite_en_retard); + + props.update_nb_activite_en_retard(res.data.nb_activite_en_retard); + + } + else if (String(res.data.status) === String("Err_Connexion")) { + alert('Erreur: ' + res.data.message); + history.push("/Connexion"); + } + else { + setGet_List_Activite_Assign_To_Me_api("false"); + setGet_List_Activite_Assign_To_Me_message(res.data.message); + } + + }).catch((error) => { + console.warn('Not good man :( Get_List_Activite_Assign_To_Me = ', error); + setGet_List_Activite_Assign_To_Me_api("false"); + //setmyApimyApiMessage("") + }) + } + + + useEffect(() => { + + setrelated_collection(props.related_collection); + Getall_Training_Employee_No_Filter(); + Get_List_Activite_Of_client_Part(); + Get_List_Activite_Assign_To_Me(); + + }, []); + + const [New_Getall_Training_Employee_No_Filter_result, setNew_Getall_Training_Employee_No_Filter_result] = useState([]); + + const [Getall_Training_Employee_No_Filter_api, setGetall_Training_Employee_No_Filter_api] = useState(); + const [Getall_Training_Employee_No_Filter_message, setGetall_Training_Employee_No_Filter_message] = useState(); + const [Getall_Training_Employee_No_Filter_result, setGetall_Training_Employee_No_Filter_result] = useState([]); + function Getall_Training_Employee_No_Filter(event) { + + var form = new FormData(); + + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_List_Ressource_Humaine_no_filter/"; + + + + axios.post(myurl, form).then(res => { + + if (String(res.data.status) === String("true")) { + //console.log(" In Getall_Training_Employee_No_Filter res.data.status = " + res.data.status); + //console.log(" In Getall_Training_Employee_No_Filter res.data.message r_class = " + res.data.message); + setGetall_Training_Employee_No_Filter_api("true"); + setGetall_Training_Employee_No_Filter_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_nom = JSON.parse(x).nom; + var local_prenom = JSON.parse(x).prenom; + var local_ismanager = JSON.parse(x).ismanager; + + + //--- + var node = { + "_id": local_id, + "id": localid, + "label": local_nom + " " + local_prenom, + "nom": local_nom, + "prenom": local_prenom, + "ismanager": local_ismanager + }; + new_data2.push(node); + }); + + //--- + var node = { + "_id": "", + "id": "", + "label": "", + "nom": "", + "prenom": "", + "ismanager": "" + }; + new_data2.push(node); + + if (new_data2.length > 0) + setNew_Getall_Training_Employee_No_Filter_result(new_data2); + + } + else { + setGetall_Training_Employee_No_Filter_api("false"); + setGetall_Training_Employee_No_Filter_message(res.data.message); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + } + + }).catch((error) => { + console.warn('Not good man :( Getall_Training_Employee_No_Filter = ', error); + setGetall_Training_Employee_No_Filter_api("false"); + alert(" Impossible de recuperer la liste des employés"); + //setmyApimyApiMessage("") + }) + } + + const filterPassedTime_start = (time) => { + const currentDate = new Date(); + const selectedDate = new Date(time); + + return currentDate.getTime() < selectedDate.getTime(); + }; + + + + // Fonction de mise à jour d'une activité + const [recordPartnerClient_Activite_Data_api, setrecordPartnerClient_Activite_Data_api] = useState(""); + const [recordPartnerClient_Activite_Data_result, setrecordPartnerClient_Activite_Data_result] = useState(""); + const [recordPartnerClient_Activite_Data_message, setrecordPartnerClient_Activite_Data_message] = useState(""); + function recordPartnerClient_Activite_Data(event) { + + var new_dead_line_format = ""; + + if (typeof p_activite_deadline == "object") { + var act_deadline = format(p_activite_deadline, 'dd/MM/yyyy'); + new_dead_line_format = act_deadline; + } else { + new_dead_line_format = p_activite_deadline; + } + + var form = new FormData(); + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + + form.append("description", p_activite_description); + form.append("detail", p_activite_detail); + + form.append("deadline", new_dead_line_format); + + form.append("type", p_activite_type); + form.append("status", p_activite_status); + + if (p_activite_employee_assigned_id) + form.append("employee_assigned_to_id", p_activite_employee_assigned_id); + + + + // Controle d'integrité des infos + var activite_description = "" + if (document.getElementsByName("activite_description")) { + activite_description = document.getElementsByName("activite_description")[0].value; + } + if (activite_description.length == 0) { + alert(" Le champ 'Description' est vide "); + return; + } + + if (activite_description.length > 255) { + alert(" Le champ 'Description' comporte plus de 255 caractères "); + return; + } + + + var activite_detail = "" + if (document.getElementsByName("activite_detail")) { + activite_detail = document.getElementsByName("activite_detail")[0].value; + } + if (activite_detail.length > 500) { + alert(" Le champ 'Détail' comporte plus de 500 caractères "); + return; + } + + + var myurl = ""; + + // Il s'agit d'un mise à jour. on a une valeur dans le current_activite_recid + myurl = process.env.REACT_APP_API_URL + "myclass/api/Update_activite/"; + form.append("activite_recid", current_activite_recid); + + + + axios.post(myurl, form).then(res => { + if (String(res.data.status) === String("true")) { + //console.log(" In recordPartnerClient_Activite_Data res.data.status = " + res.data.status); + //console.log(" In recordPartnerClient_Activite_Data res.data.message = " + res.data.message); + setrecordPartnerClient_Activite_Data_api("true"); + setrecordPartnerClient_Activite_Data_result(res.data.message); + + Get_List_Activite_Of_client_Part(); + Get_List_Activite_Assign_To_Me(); + + setdatamodification_activite("0"); + setformedit_mode_activite("0"); + setcurrent_activite_recid(""); + + + setshow_all_activite_list("1"); + setshowactivite_detail('0'); + setadd_one_activite('0'); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("success"); + } + + else if (String(res.data.status) === String("Err_Connexion")) { + alert('Erreur: ' + res.data.message); + history.push("/Connexion"); + return; + } + else { + + setrecordPartnerClient_Activite_Data_api("false"); + setrecordPartnerClient_Activite_Data_message(res.data.message); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + + } + + + }).catch((error) => { + console.warn('Not good man :( recordPartnerClient_Activite_Data = ', error); + setrecordPartnerClient_Activite_Data_result("false"); + setrecordPartnerClient_Activite_Data_message(" Impossible d'ajouter l'activité ") + alert(" Impossible d'ajouter/mettre à jour l'activité "); + + }) + } + + + + // Fonction de mise à jour d'une activité + const [Update_Activite_Status_api, setUpdate_Activite_Status_api] = useState(""); + const [Update_Activite_Status_result, setUpdate_Activite_Status_result] = useState(""); + const [Update_Activite_Status_message, setUpdate_Activite_Status_message] = useState(""); + function Update_Activite_Status(activite_id, new_status) { + + + var form = new FormData(); + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("status", new_status); + form.append("_id", activite_id); + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Update_activite_status/"; + + + axios.post(myurl, form).then(res => { + if (String(res.data.status) === String("true")) { + //console.log(" In Update_Activite_Status res.data.status = " + res.data.status); + //console.log(" In Update_Activite_Status res.data.message = " + res.data.message); + setUpdate_Activite_Status_api("true"); + setUpdate_Activite_Status_result(res.data.message); + + Get_List_Activite_Of_client_Part(); + Get_List_Activite_Assign_To_Me(); + + setdatamodification_activite("0"); + setformedit_mode_activite("0"); + setcurrent_activite_recid(""); + + + setshow_all_activite_list("1"); + setshowactivite_detail('0'); + setadd_one_activite('0'); + + } + + else if (String(res.data.status) === String("Err_Connexion")) { + alert('Erreur: ' + res.data.message); + history.push("/Connexion"); + return; + } + else { + + setUpdate_Activite_Status_api("false"); + setUpdate_Activite_Status_message(res.data.message); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + + } + + + }).catch((error) => { + console.warn('Not good man :( Update_Activite_Status = ', error); + setUpdate_Activite_Status_result("false"); + setUpdate_Activite_Status_message(" Impossible d'ajouter l'activité ") + alert(" Impossible d'ajouter/mettre à jour l'activité "); + + }) + } + + + + // Fonction d'ajout d'un activité + const [record_One_PartnerClient_Activite_Data_api, setrecord_One_PartnerClient_Activite_Data_api] = useState(""); + const [record_One_PartnerClient_Activite_Data_result, setrecord_One_PartnerClient_Activite_Data_result] = useState(""); + const [record_One_PartnerClient_Activite_Data_message, setrecord_One_PartnerClient_Activite_Data_message] = useState(""); + function record_One_PartnerClient_Activite_Data(event) { + + + var form = new FormData(); + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + + // Controle d'integrité des infos + if (p_activite_description && p_activite_description.length == 0) { + alert(" Le champ 'Description' est vide "); + return; + } + + if (p_activite_description && p_activite_description.length > 255) { + alert(" Le champ 'Description' comporte plus de 255 caractères "); + return; + } + + if (p_activite_detail && p_activite_detail.length > 255) { + alert(" Le champ 'Détail' comporte plus de 255 caractères "); + return; + } + + if (p_activite_description) + form.append("description", p_activite_description); + else + form.append("description", ""); + + if (p_activite_detail) + form.append("detail", p_activite_detail); + else + form.append("detail", ""); + + + var new_dead_line_format = ""; + if (typeof p_activite_deadline == "object") { + var act_deadline = format(p_activite_deadline, 'dd/MM/yyyy'); + new_dead_line_format = act_deadline; + } else { + new_dead_line_format = p_activite_deadline; + } + + + if (p_activite_deadline) + form.append("deadline", new_dead_line_format); + + if (p_activite_type) + form.append("type", p_activite_type); + else + form.append("type", ""); + + if (p_activite_status) + form.append("status", p_activite_status); + + if (p_activite_employee_assigned_id) + form.append("employee_assigned_to_id", p_activite_employee_assigned_id); + + + var myurl = ""; + + // Il s'agit d'un ajout d'une nouvelle activité. on a rien dans le current_activite_recid + myurl = process.env.REACT_APP_API_URL + "myclass/api/Add_activite/"; + form.append("related_collection", props.related_collection); + form.append("related_collection_owner_email", props.email); + + + axios.post(myurl, form).then(res => { + if (String(res.data.status) === String("true")) { + //console.log(" In recordPartnerClient_Activite_Data res.data.status = " + res.data.status); + //console.log(" In recordPartnerClient_Activite_Data res.data.message = " + res.data.message); + setrecord_One_PartnerClient_Activite_Data_api("true"); + setrecord_One_PartnerClient_Activite_Data_result(res.data.message); + Clear_activite_P_fields(); + setshowactivite_detail("0"); + Get_List_Activite_Of_client_Part(); + Get_List_Activite_Assign_To_Me(); + + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("success"); + + setdatamodification_activite("0"); + setformedit_mode_activite("0"); + setcurrent_activite_recid(""); + retour_liste_Activite(); + } + + else if (String(res.data.status) === String("Err_Connexion")) { + alert('Erreur: ' + res.data.message); + history.push("/Connexion"); + return; + } + else { + + setrecord_One_PartnerClient_Activite_Data_api("false"); + setrecord_One_PartnerClient_Activite_Data_message(res.data.message); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + + } + + + }).catch((error) => { + console.warn('Not good man :( recordPartnerClient_Activite_Data = ', error); + setrecord_One_PartnerClient_Activite_Data_api("false"); + setrecord_One_PartnerClient_Activite_Data_message(" Impossible d'ajouter l'activité ") + alert(" Impossible d'ajouter/mettre à jour l'activité "); + + }) + } + + const [Display_Part_Client_Activite_api, setDisplay_Part_Client_Activite_api] = useState(""); + const [Display_Part_Client_Activite_result, setDisplay_Part_Client_Activite_result] = useState(""); + const [Display_Part_Client_Activite_message, setDisplay_Part_Client_Activite_message] = useState(""); + async function Display_Part_Client_Activite(event) { + + + var myactivity_recid = event.currentTarget.getAttribute('recid'); + + var form = new FormData(); + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("activite_recid", myactivity_recid); + + + + //console.log(" ### event.currentTarget.getAttribute('recid') = ", event.currentTarget.getAttribute('recid')); zzzzz + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_Given_Activite/"; + + + axios.post(myurl, form).then(res => { + if (String(res.data.status) === String("true")) { + //console.log(" In Display_Part_Client_Activite res.data.status = " + res.data.status); + //console.log(" In Display_Part_Client_Activite res.data.message = " + res.data.message); + setDisplay_Part_Client_Activite_api("true"); + setDisplay_Part_Client_Activite_result(res.data.message); + + setshowactivite_detail("1"); + setshow_all_activite_list(); + setadd_one_activite(); + + + var mylocalclient_activite = JSON.parse(res.data.message); + + + if (mylocalclient_activite) { + + // Remplissage des doonées de l'activite + if (mylocalclient_activite.description) + setp_activite_description(mylocalclient_activite.description); + else + setp_activite_description(""); + + if (mylocalclient_activite.detail) + setp_activite_detail(mylocalclient_activite.detail); + else + setp_activite_detail(""); + + if (mylocalclient_activite.deadline) { + var act_deadline = new Date(moment(mylocalclient_activite.deadline, "DD/MM/YYYY HH:mm:ss")); + setp_activite_deadline(act_deadline); + setp_activite_deadline_label(mylocalclient_activite.deadline); + } + else + setp_activite_deadline(new Date()); + + + if (mylocalclient_activite.employee_assigned_to_id) { + setp_activite_employee_assigned_nom_prenom(mylocalclient_activite.employee_assigned_to_nom_prenom); + setp_activite_employee_assigned_id(mylocalclient_activite.employee_assigned_to_id); + } + + + if (mylocalclient_activite.type) + setp_activite_type(mylocalclient_activite.type); + else + setp_activite_type(""); + + + if (mylocalclient_activite.status) { + setp_activite_status(mylocalclient_activite.status); + if (String(mylocalclient_activite.status) === "0") + setp_activite_status_label("En cours"); + + else if (String(mylocalclient_activite.status) === "1") + setp_activite_status_label("Fait"); + + else if (String(mylocalclient_activite.status) === "-1") + setp_activite_status_label("Annulé"); + + + } + + else + setp_activite_status(""); + + + if (mylocalclient_activite.recid) + setcurrent_activite_recid(mylocalclient_activite.recid); + else + setcurrent_activite_recid(""); + } + + + Disable_activite_fields(); + + } + else if (String(res.data.status) === String("Err_Connexion")) { + alert('Erreur: ' + res.data.message); + history.push("/Connexion"); + return; + } + else { + + setDisplay_Part_Client_Activite_api("false"); + setDisplay_Part_Client_Activite_message(res.data.message); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + + } + + + }).catch((error) => { + console.warn('Not good man :( Display_Part_Client_Activite = ', error); + setDisplay_Part_Client_Activite_result("false"); + setDisplay_Part_Client_Activite_message(" Impossible de recuperer les details de l'activité") + alert(" Impossible de recuperer les details de l'activité"); + + }) + } + + + const [Display_Given_Activite_From_Activite_Recid_api, setDisplay_Given_Activite_From_Activite_Recid_api] = useState(""); + const [Display_Given_Activite_From_Activite_Recid_result, setDisplay_Given_Activite_From_Activite_Recid_result] = useState(""); + const [Display_Given_Activite_From_Activite_Recid_message, setDisplay_Given_Activite_From_Activite_Recid_message] = useState(""); + async function Display_Given_Activite_From_Activite_Recid(myactivity_recid) { + + var form = new FormData(); + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("activite_recid", myactivity_recid); + + + //console.log(" ### event.currentTarget.getAttribute('recid') = ", event.currentTarget.getAttribute('recid')); + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_Given_Activite/"; + + axios.post(myurl, form).then(res => { + if (String(res.data.status) === String("true")) { + //console.log(" In Display_Given_Activite_From_Activite_Recid res.data.status = " + res.data.status); + // console.log(" In Display_Given_Activite_From_Activite_Recid res.data.message = " + res.data.message); + setDisplay_Given_Activite_From_Activite_Recid_api("true"); + setDisplay_Given_Activite_From_Activite_Recid_result(res.data.message); + + props.update_nb_activite_en_new(res.data.nb_new_activite_assigned_to_me); + + var mylocalclient_activite = JSON.parse(res.data.message); + + + if (mylocalclient_activite) { + + setselected_id(mylocalclient_activite._id); + + // Remplissage des doonées de l'activite + if (mylocalclient_activite.description) + setp_activite_description(mylocalclient_activite.description); + else + setp_activite_description(""); + + if (mylocalclient_activite.detail) + setp_activite_detail(mylocalclient_activite.detail); + else + setp_activite_detail(""); + + if (mylocalclient_activite.deadline) { + + var act_deadline = new Date(moment(mylocalclient_activite.deadline, "DD/MM/YYYY HH:mm:ss")); + setp_activite_deadline(act_deadline); + setp_activite_deadline_label(mylocalclient_activite.deadline); + } + else + setp_activite_deadline(new Date()); + + + if (mylocalclient_activite.employee_assigned_to_id) { + setp_activite_employee_assigned_nom_prenom(mylocalclient_activite.employee_assigned_to_nom_prenom); + setp_activite_employee_assigned_id(mylocalclient_activite.employee_assigned_to_id); + } + + + if (mylocalclient_activite.type) + setp_activite_type(mylocalclient_activite.type); + else + setp_activite_type(""); + + + if (mylocalclient_activite.status) { + setp_activite_status(mylocalclient_activite.status); + if (String(mylocalclient_activite.status) === "0") + setp_activite_status_label("En cours"); + + else if (String(mylocalclient_activite.status) === "1") + setp_activite_status_label("Fait"); + + else if (String(mylocalclient_activite.status) === "-1") + setp_activite_status_label("Annulé"); + + } + + else + setp_activite_status(""); + + + if (mylocalclient_activite.recid) + setcurrent_activite_recid(mylocalclient_activite.recid); + else + setcurrent_activite_recid(""); + + + + // Apres avoir ouvert l'activité, on va rafraichir l'affichage de a liste des activitées qui me sont assignée + // ceci pour actualiser le statut "employee_assigned_view_statut" + Get_List_Activite_Assign_To_Me(); + } + + + // Disable_activite_fields(); + + } + else if (String(res.data.status) === String("Err_Connexion")) { + alert('Erreur: ' + res.data.message); + history.push("/Connexion"); + return; + } + else { + + setDisplay_Given_Activite_From_Activite_Recid_api("false"); + setDisplay_Given_Activite_From_Activite_Recid_message(res.data.message); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + + } + + + }).catch((error) => { + console.warn('Not good man :( Display_Given_Activite_From_Activite_Recid = ', error); + setDisplay_Given_Activite_From_Activite_Recid_result("false"); + setDisplay_Given_Activite_From_Activite_Recid_message(" Impossible de recuperer les details de l'activité") + alert(" Impossible de recuperer les details de l'activité"); + + }) + } + + async function Disable_activite_fields() { + + await sleep(5); + + if (document.getElementsByName("activite_description")[0]) { + document.getElementsByName("activite_description")[0].disabled = true; + document.getElementsByName("activite_description")[0].style.backgroundColor = "#ECEFF1"; + } + + if (document.getElementsByName("activite_deadline")[0]) { + document.getElementsByName("activite_deadline")[0].disabled = true; + document.getElementsByName("activite_deadline")[0].style.backgroundColor = "#ECEFF1"; + } + + if (document.getElementsByName("activite_type")[0]) { + document.getElementsByName("activite_type")[0].disabled = true; + document.getElementsByName("activite_type")[0].style.backgroundColor = "#ECEFF1"; + } + + if (document.getElementsByName("activite_status")[0]) { + document.getElementsByName("activite_status")[0].disabled = true; + document.getElementsByName("activite_status")[0].style.backgroundColor = "#ECEFF1"; + } + + if (document.getElementsByName("activite_assigned_to")[0]) { + document.getElementsByName("activite_assigned_to")[0].disabled = true; + document.getElementsByName("activite_assigned_to")[0].style.backgroundColor = "#ECEFF1"; + } + + + if (document.getElementsByName("activite_detail")[0]) { + document.getElementsByName("activite_detail")[0].disabled = true; + document.getElementsByName("activite_detail")[0].style.backgroundColor = "#ECEFF1"; + } + + + } + + function Enable_activite_fields() { + if (document.getElementsByName("activite_description")) { + document.getElementsByName("activite_description")[0].disabled = false; + document.getElementsByName("activite_description")[0].style.backgroundColor = "#FFFFFF"; + } + + if (document.getElementsByName("activite_deadline")) { + document.getElementsByName("activite_deadline")[0].disabled = false; + document.getElementsByName("activite_deadline")[0].style.backgroundColor = "#FFFFFF"; + } + + if (document.getElementsByName("activite_type")) { + document.getElementsByName("activite_type")[0].disabled = false; + document.getElementsByName("activite_type")[0].style.backgroundColor = "#FFFFFF"; + } + + if (document.getElementsByName("activite_status")) { + document.getElementsByName("activite_status")[0].disabled = false; + document.getElementsByName("activite_status")[0].style.backgroundColor = "#FFFFFF"; + } + + if (document.getElementsByName("activite_assigned_to")) { + document.getElementsByName("activite_assigned_to")[0].disabled = false; + document.getElementsByName("activite_assigned_to")[0].style.backgroundColor = "#FFFFFF"; + } + + + if (document.getElementsByName("activite_detail")) { + document.getElementsByName("activite_detail")[0].disabled = false; + document.getElementsByName("activite_detail")[0].style.backgroundColor = "#FFFFFF"; + } + + } + + + + function Clear_activite_P_fields() { + setp_activite_description(""); + setp_activite_detail(""); + setp_activite_deadline(new Date()); + setp_activite_type(""); + setp_activite_status("0"); + setp_activite_status_label(""); + setp_activite_detail(""); + + setone_activite_description(""); + setone_activite_type(""); + setone_activite_status("call"); + setone_activite_detail(""); + + } + + + + function Clear_activite_fields() { + if (document.getElementsByName("activite_description")) { + document.getElementsByName("activite_description")[0].value = ""; + } + + if (document.getElementsByName("activite_deadline")) { + document.getElementsByName("activite_deadline")[0].value = ""; + } + + if (document.getElementsByName("activite_type")) { + document.getElementsByName("activite_type")[0].value = ""; + } + + if (document.getElementsByName("activite_status")) { + document.getElementsByName("activite_status")[0].value = ""; + } + + if (document.getElementsByName("activite_detail")) { + document.getElementsByName("activite_detail")[0].value = ""; + } + + } + + + + const [one_activite_description, setone_activite_description] = useState(); + const [one_activite_deadline, setone_activite_deadline] = useState(new Date().toLocaleDateString('fr-FR')); + const [one_activite_type, setone_activite_type] = useState("call"); + const [one_activite_status, setone_activite_status] = useState("0"); + const [one_activite_detail, setone_activite_detail] = useState(); + + function Close_add_one_activite() { + setone_activite_description(""); + setone_activite_deadline(new Date().toLocaleDateString('fr-FR')); + setone_activite_type("call"); + setone_activite_status("0"); + setone_activite_detail(""); + + setshowactivite_detail(); + + setshowactivite_detail(); + setadd_one_activite(); + setshow_all_activite_list("1"); + + setcurrent_activite_recid(""); + setformedit_mode_activite("0"); + + } + + + /******* kanban */ + + const [kanban_colonne_width, setkanban_colonne_width] = useState("20vw"); + + // MySy Comment : design d'une tache (couleur, taille, etc) + const classes_old = { + board: { + display: "flex", + margin: "0 auto", + width: "100%", + fontFamily: 'Arial, "Helvetica Neue", sans-serif' + }, + column: { + // minWidth: 200, + //width: "16vw", + width: kanban_colonne_width, + height: "80vh", + margin: "0 auto", + backgroundColor: "#212F3D", + border: 'double #32a1ce', + + }, + columnHead: { + textAlign: "center", + padding: 10, + fontSize: "1.2em", + backgroundColor: "#C6D8AF", + border: "red", + }, + item: { + padding: 10, + margin: 10, + fontSize: "0.8em", + cursor: "pointer", + backgroundColor: "white" + } + }; + + const classes = { + board: { + display: "flex", + margin: "0 auto", + width: "100%", + fontFamily: 'Arial, "Helvetica Neue", sans-serif' + }, + column: { + // minWidth: 200, + //width: "16vw", + width: kanban_colonne_width, + height: "80vh", + margin: "0 auto", + backgroundColor: "#FFFFFF", + border: 'solid 1px', + borderLeft: "1px solid #ecf1fc", + borderRight: "1px solid #ecf1fc", + + }, + + column_first_left: { + // minWidth: 200, + //width: "16vw", + width: kanban_colonne_width, + height: "80vh", + margin: "0 auto", + backgroundColor: "#FFFFFF", + border: 'solid 1px', + borderTop: 'none', + // borderRight: "1px solid #ecf1fc", + + }, + + column_right_solid_border: { + // minWidth: 200, + //width: "16vw", + width: kanban_colonne_width, + height: "80vh", + margin: "0 auto", + backgroundColor: "#FFFFFF", + border: "1px solid #ecf1fc", + borderRight: 'solid 1px', + borderBottom: 'solid 1px', + + }, + + columnHead: { + textAlign: "center", + padding: 5, + fontSize: "14px", + backgroundColor: "rgb(103, 164, 239)", + border: "1px solid", + marginBottom: "5px", + }, + item: { + padding: 5, + marginBottom: 10, + fontSize: "0.8em", + cursor: "pointer", + backgroundColor: "#f4f6f6", + border: "0px solid", + cursor: "move", + width: "94%", + marginLeft: "3%", + } + }; + + const KanbanColumn = ({ status, changeTaskStatus, children }) => { + const ref = useRef(null); + const [, drop] = useDrop({ + accept: "card", + drop(item) { + changeTaskStatus(item.id, status); + } + }); + drop(ref); + return
{children}
; + }; + + const KanbanItem = ({ id, children }) => { + const ref = useRef(null); + + + const [{ isDragging }, drag] = + useDrag({ + type: "card", + item: () => ({ id }), + collect: monitor => ({ + isDragging: monitor.isDragging() + }) + }); + + const opacity = isDragging ? 0 : 1; + drag(ref); + return ( +
+ {children} +
+ ); + }; + + const [tasks, setTaskStatus] = useState([]); + + // MySy Comment : quand on change la position d'une tache, dans cette fonction on appel l'api de mise à jour + const changeTaskStatus = useCallback( + (id, status) => { + let local_task = tasks.find(task => task._id === id); + + const taskIndex = tasks.indexOf(local_task); + local_task = { ...local_task, status }; + let newTasks = update(tasks, { + [taskIndex]: { $set: local_task } + }); + + setTaskStatus(newTasks); + + + // Recuperer l'_id du statuts + if (id && status) { + Update_Activite_Status(id, status); + } + //eeeee */ + + }, + [tasks] + ); + + const [New_Option_Status, setNew_Option_Status] = useState([]); + + const [Opportunite_chanel_label, setOpportunite_chanel_label] = useState({ + "0": "Encours", + "1": "Fait", + "2": "Archivé", + "-1": "Annulé", + }); + + /******* Fin kanban */ + + const [isLoading, setLoading] = useState(); + + const [handleClick_delete_Activite_data_from_id_api, sethandleClick_delete_Activite_data_from_id_api] = useState(); + const [handleClick_delete_Activite_data_from_id_message, sethandleClick_delete_Activite_data_from_id_message] = useState(); + const [handleClick_delete_Activite_data_from_id_result, sethandleClick_delete_Activite_data_from_id_result] = useState(); + function handleClick_delete_Activite_data_from_id(id_to_delete) { + + var form = new FormData(); + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("_id", id_to_delete); + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Delete_Given_Activite/"; + setLoading(true); + axios.post(myurl, form).then(res => { + + setLoading(false); + if (String(res.data.status) === String("true")) { + //console.log(" In handleClick_delete_Activite_data_from_id res.data.status = " + res.data.status); + //console.log(" In handleClick_delete_Activite_data_from_id res.data.message r_class = " + res.data.message); + sethandleClick_delete_Activite_data_from_id_api("true"); + sethandleClick_delete_Activite_data_from_id_result(res.data.message); + + Get_List_Activite_Of_client_Part(); + Get_List_Activite_Assign_To_Me(); + Dialog_ACTIVITE_handleClose_buton(); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("success"); + + + } + else { + sethandleClick_delete_Activite_data_from_id_api("false"); + sethandleClick_delete_Activite_data_from_id_message(res.data.message); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + } + + }).catch((error) => { + setLoading(false); + console.warn('Not good man :( handleClick_delete_Activite_data_from_id = ', error); + sethandleClick_delete_Activite_data_from_id_api("false"); + alert(" Impossible de supprimer l'activité"); + //setmyApimyApiMessage("") + }) + } + + + + + const [Dialog_ACTIVITE_open, setDialog_ACTIVITE_open] = React.useState(false); + const Dialog_ACTIVITE_handleClose = () => { + //alert(" Utiliser le bouton 'fermer' "); + //setOpen(false); + }; + + const Dialog_ACTIVITE_handleClose_buton = () => { + setDialog_ACTIVITE_open(false); + setselected_id(""); + setdatamodification_activite(""); + }; + + const [display_alert_mysy, setdisplay_alert_mysy] = useState(""); + const [alert_message, setalert_message] = useState(""); + const [alert_type, setalert_type] = useState(""); + + function clear_alert_message() { + setalert_message(""); + } + function clear_alert_type() { + setalert_type(""); + } + + function clear_display_alert_mysy() { + setdisplay_alert_mysy(""); + } + + + return ( +
+ + {/*** Affichage des messages d'alerte*/} + {display_alert_mysy && String(display_alert_mysy) === "1" && + + } + {/*** FIN Affichage des messages d'alerte*/} + + {/* Dialog pour gerer une ACTIVITE */} + null} + + PaperProps={{ + + + className: classes_dialog.paper, // Apply the paper style + style: { + overflowY: 'unset', + position: 'absolute', + top: '5rem', + margin: "2px", + }, + }} + hideBackdrop={true} + disableScrollLock + classes={{ + paper: classes_dialog.dialog + }} + + PaperComponent={PaperComponent} + aria-labelledby="draggable-dialog-title" + > + + MySy Information + + + + + + +
Description
+ + { + setp_activite_description(event.target.value); + setdatamodification_activite("1"); + }} + + /> +
+ + +
+ Date souhaitée
+ { + + setp_activite_deadline(format(date, 'dd/MM/yyyy')); + setdatamodification_activite("1"); + } + } + showTimeSelect={false} + filterTime={filterPassedTime_start} + dateFormat="dd/MM/yyyy" + className="disabled_style enable_style" + locale={'fr'} + /> + +
+ + + + {type_activite_list && type_activite_list.length > 0 &&
+ Type d'activité
+ + (data).id === String(p_activite_type))[0].label} + onChange={(event, value) => { + if (value && value.value) { + setp_activite_type(value.value); + setdatamodification_activite("1"); + } + }} + renderInput={(params) => + } + /> + + +
} + + + + {activite_status_list && activite_status_list.length > 0 &&
+ Statut
+ + (data).id === String(p_activite_status))[0].label} + onChange={(event, value) => { + if (value && value.value) { + setp_activite_status(value.value); + } + }} + renderInput={(params) => + } + /> + + + +
} + + + {New_Getall_Training_Employee_No_Filter_result && New_Getall_Training_Employee_No_Filter_result.length > 0 && +
Assigné à (employé)
+ + (data)._id === String(p_activite_employee_assigned_id))[0].label} + onChange={(event, value) => { + if (value && value._id) { + setp_activite_employee_assigned_id(value._id); + setdatamodification_activite("1"); + } + }} + + style={{display:'flex', flexDirection:'column', borderRadius:'24px', border:'1px solid rgba(221, 229, 239, 0.8);', boxShadow:'0 20px 40px rgba(4, 25, 20, 0.28);', overflow:'hidden', backdropFilter:'blur(10px)'}} + + renderInput={(params) => + } + /> + + +
} + +
+ Détail
+ { + setp_activite_detail(event.target.value); + setdatamodification_activite("1"); + }} + + /> +
+ +
+   +
+ {String(datamodification_activite) === "1" &&
+
/!\ Pensez à enregistrer les modifications
} + + + +
+ + + + + + +
+
+ + + {selected_id && String(selected_id).length > 2 && } + + + {String(selected_id).length < 2 && } + + +
+ +
+ +
+ + {selected_id && String(selected_id).length > 2 &&
+
+ +
+
} +
+ +
+ +
+ {/* FIN Dialog pour gerer une ACTIVITE */} + + + +
+ {String(show_all_activite_list) === "1" && String(showactivite_detail) !== "1" && String(add_one_activite) !== "1" && +
+
Ajouter une activité
+ + + +
+
Activité(s) qui me sont Assignée(s)
+
+ + + +
+ +
+ {activite_status_list_pave_affiche.map((channel, index) => ( + + + {String(index) === "0" &&
+
{Opportunite_chanel_label[channel.id]}
+
+ {Get_List_Activite_Assign_To_Me_result && Get_List_Activite_Assign_To_Me_result.length > 0 && + Get_List_Activite_Assign_To_Me_result.filter(item => JSON.parse(item).status === channel.id) + .map(item => ( + +
+
+ + {String(String(JSON.parse(item).status)) === "1" && + } + + {String(String(JSON.parse(item).status)) === "0" && + } + + {String(String(JSON.parse(item).status)) === "-1" && + } +
+ +
+ ))} +
+
} + + {String(index) !== "0" &&
+
{Opportunite_chanel_label[channel.id]}
+
+ {Get_List_Activite_Assign_To_Me_result && Get_List_Activite_Assign_To_Me_result.length > 0 && + Get_List_Activite_Assign_To_Me_result.filter(item => JSON.parse(item).status === channel.id) + .map(item => ( + +
+
+ + {String(String(JSON.parse(item).status)) === "1" && + } + + {String(String(JSON.parse(item).status)) === "0" && + } + + {String(String(JSON.parse(item).status)) === "-1" && + } +
+ +
+ ))} +
+
} + + + +
+ ))} + + + + +
+
+
 
+ + +
+ + +
+
+
Activté(s) que j'ai créée(s)
+ +
+ +
+ +
+ {activite_status_list_pave_affiche.map((channel, index) => ( + + {String(index) === "0" &&
+
{Opportunite_chanel_label[channel.id]}
+
+ {Get_List_Activite_Of_client_Part_result && Get_List_Activite_Of_client_Part_result.length > 0 && + Get_List_Activite_Of_client_Part_result.filter(item => JSON.parse(item).status === channel.id) + .map(item => ( + +
+ +
+ + {String(String(JSON.parse(item).status)) === "1" && + } + + {String(String(JSON.parse(item).status)) === "0" && + } + + {String(String(JSON.parse(item).status)) === "-1" && + } +
+ +
+ ))} +
+
} + + {String(index) !== "0" &&
+
{Opportunite_chanel_label[channel.id]}
+
+ {Get_List_Activite_Of_client_Part_result && Get_List_Activite_Of_client_Part_result.length > 0 && + Get_List_Activite_Of_client_Part_result.filter(item => JSON.parse(item).status === channel.id) + .map(item => ( + +
+ +
+ + {String(String(JSON.parse(item).status)) === "1" && + } + + {String(String(JSON.parse(item).status)) === "0" && + } + + {String(String(JSON.parse(item).status)) === "-1" && + } +
+ +
+ ))} +
+
} + +
+ ))} +
+
+
 
+ + +
+ + + + +
} + + + + + + {String(showactivite_detail) === "ttt1" &&
+
Description
+ + setp_activite_description(e.target.value)} + + /> +
+ + + {String(formedit_mode_activite) === "1" &&
+ Date souhaitée
+ { + setp_activite_deadline(date); + setdatamodification_activite("1"); + } + } + showTimeSelect={false} + filterTime={filterPassedTime_start} + dateFormat="dd/MM/yyyy" + className="disabled_style enable_style" + locale={'fr'} + /> + +
} + + {String(formedit_mode_activite) === "0" &&
+ + Date souhaitée
+ + +
} + + {String(formedit_mode_activite) === "1" && type_activite_list && type_activite_list.length > 0 &&
+ Type d'activité
+ + (data).id === String(p_activite_type))[0].label} + onChange={(event, value) => { + if (value && value.value) { + setp_activite_type(value.value); + } + }} + renderInput={(params) => + } + /> + + +
} + + {String(formedit_mode_activite) === "0" &&
+ Type d'activité
+ setp_activite_type(e.target.value)} > + + + +
} + + {String(formedit_mode_activite) === "1" && activite_status_list && activite_status_list.length > 0 && +
+ Statut
+ + (data).id === String(p_activite_status))[0].label} + onChange={(event, value) => { + if (value && value.value) { + setp_activite_status(value.value); + } + }} + renderInput={(params) => + } + /> + +
} + + {String(formedit_mode_activite) === "0" &&
+ Statut
+ setp_activite_status(e.target.value)} > + +
} + + + {New_Getall_Training_Employee_No_Filter_result && New_Getall_Training_Employee_No_Filter_result.length > 0 && + String(formedit_mode_activite) === "1" &&
Assigné à (employé)
+ (data)._id === String(p_activite_employee_assigned_id))[0].label} + onChange={(event, value) => { + if (value && value._id) { + setp_activite_employee_assigned_id(value._id); + + } + }} + + renderInput={(params) => + } + /> + +
} + + {String(formedit_mode_activite) !== "1" &&
Assigné à (employé)
+ + + +
} + + +
+ Détail
+ setp_activite_detail(e.target.value)} + + /> +
+ +
+   +
+ {String(datamodification_activite) === "1" &&
+
/!\ Pensez à enregistrer les modifications
} + + {String(formedit_mode_activite) === "1" &&
+
+ +
+
+ +
+
+ } + + {String(formedit_mode_activite) !== "1" &&
+ +
+ +
+ +
+ +
+
+ } + + +
} + + {String(add_one_activite) === "1" &&
+
Description
+ setone_activite_description(e.target.value)} + + /> +
+ + + +
+ Date souhaitée
+ { + setone_activite_deadline(format(date, 'dd/MM/yyyy')); + + } + } + showTimeSelect={false} + filterTime={filterPassedTime_start} + dateFormat="dd/MM/yyyy" + className="disabled_style enable_style" + locale={'fr'} + + /> + +
+ + +
Type d'activité
+ + { + if (value && value.value) { + setone_activite_type(value.value); + } + }} + renderInput={(params) => + } + /> + + {/* setone_activite_type(e.target.value)} > + {type_activite_list.map((option) => ( + + {option.label}  
+
+ ))} +
*/} + +
+ +
Statut
+ + { + if (value && value.value) { + setone_activite_status(value.value); + } + }} + renderInput={(params) => + } + /> + +
+ +
Assigné à (employé)
+ + { + if (value && value._id) { + setp_activite_employee_assigned_id(value._id); + + } + }} + + renderInput={(params) => + } + /> + + {/* { + setp_activite_employee_assigned_id(e.target.value); + + } + } + > + {Getall_Training_Employee_No_Filter_result && + Getall_Training_Employee_No_Filter_result.map((myclient) => ( + + {JSON.parse(myclient).nom}  {JSON.parse(myclient).prenom}
+ +
+ ))} +
*/} +
+ +
Détail
+ setone_activite_detail(e.target.value)} + + /> +
+ + + + +
+   +
+ + +
+
+ +
+
+ +
+
+ +
} + +
+ + + + +
+
 
+
+ +
+ ) +} + +export default PartnerClient_Activite_ARG; \ No newline at end of file diff --git a/src/components/PartnerClient_Activite_For_Client.js b/src/components/PartnerClient_Activite_For_Client.js index cce584c..1c0ad7e 100644 --- a/src/components/PartnerClient_Activite_For_Client.js +++ b/src/components/PartnerClient_Activite_For_Client.js @@ -748,7 +748,7 @@ const PartnerClient_Activite_For_Client = (props) => { var new_dead_line_format = ""; if (typeof p_activite_deadline == "object") { - var act_deadline = format(p_activite_deadline, 'dd/MM/yyyy'); + var act_deadline = format(p_activite_deadline, 'dd/MM/yyyy HH:mm:ss'); new_dead_line_format = act_deadline; } else { new_dead_line_format = p_activite_deadline; @@ -881,7 +881,7 @@ const PartnerClient_Activite_For_Client = (props) => { setp_activite_deadline_label(mylocalclient_activite.deadline); } else - setp_activite_deadline(new Date()); + setp_activite_deadline(moment().format("DD/MM/YYYY HH:mm:ss")); if (mylocalclient_activite.employee_assigned_to_id) { @@ -1001,7 +1001,7 @@ const PartnerClient_Activite_For_Client = (props) => { setp_activite_deadline_label(mylocalclient_activite.deadline); } else - setp_activite_deadline(new Date()); + setp_activite_deadline(moment().format("DD/MM/YYYY HH:mm:ss")); if (mylocalclient_activite.employee_assigned_to_id) { @@ -1152,7 +1152,7 @@ const PartnerClient_Activite_For_Client = (props) => { function Clear_activite_P_fields() { setp_activite_description(""); setp_activite_detail(""); - setp_activite_deadline(new Date()); + setp_activite_deadline(moment().format("DD/MM/YYYY HH:mm:ss")); setp_activite_type(""); setp_activite_status("0"); setp_activite_status_label(""); @@ -1559,16 +1559,18 @@ const PartnerClient_Activite_For_Client = (props) => { selected={new Date(moment(p_activite_deadline, "DD/MM/YYYY HH:mm:ss"))} onChange={(date) => { - setp_activite_deadline(format(date, 'dd/MM/yyyy')); + setp_activite_deadline(format(date, 'dd/MM/yyyy HH:mm:ss')); setdatamodification_activite("1"); } } - showTimeSelect={false} - filterTime={filterPassedTime_start} - dateFormat="dd/MM/yyyy" - className="disabled_style_100_percent_row" locale={'fr'} - + showTimeSelect + timeFormat="HH:mm" + timeIntervals={15} + dateFormat="dd/MM/yyyy HH:mm" + is24Hour + className="disabled_style enable_style" + />
@@ -1956,7 +1958,7 @@ const PartnerClient_Activite_For_Client = (props) => {
*/} - +
@@ -2175,11 +2177,13 @@ const PartnerClient_Activite_For_Client = (props) => { setdatamodification_activite("1"); } } - showTimeSelect={false} - filterTime={filterPassedTime_start} - dateFormat="dd/MM/yyyy" - className="disabled_style enable_style" locale={'fr'} + showTimeSelect + timeFormat="HH:mm" + timeIntervals={15} + dateFormat="dd/MM/yyyy HH:mm" + is24Hour + className="disabled_style enable_style" />
} @@ -2408,15 +2412,17 @@ const PartnerClient_Activite_For_Client = (props) => { selected={new Date(moment(one_activite_deadline, "DD/MM/YYYY HH:mm:ss"))} onChange={(date) => { - setone_activite_deadline(format(date, 'dd/MM/yyyy')); + setone_activite_deadline(format(date, 'dd/MM/yyyy HH:mm:ss')); } } - showTimeSelect={false} - filterTime={filterPassedTime_start} - dateFormat="dd/MM/yyyy" - className="disabled_style enable_style" locale={'fr'} + showTimeSelect + timeFormat="HH:mm" + timeIntervals={15} + dateFormat="dd/MM/yyyy HH:mm" + is24Hour + className="disabled_style enable_style" /> @@ -2587,9 +2593,113 @@ const PartnerClient_Activite_For_Client = (props) => {
 
- +
) } -export default PartnerClient_Activite_For_Client; \ No newline at end of file +export default PartnerClient_Activite_For_Client; + + +const local_css = ` +:root { + --bg: #f6f8fb; + --card: #ffffff; + --text: #0f172a; + --muted: #64748b; + --border: #e5e7eb; + --shadow: 0 10px 25px rgba(2, 6, 23, .06); + --green-700: #0f6b53; + --green-600: #167a5e; + --green-100: #e9f7f1; + --blue-600: #2563eb; + --radius: 14px; + --radius-sm: 10px; +} + .Grid_2_col{ + margin-top: 12px; + display:grid; + grid-template-columns: 1.2fr 1fr; + gap: 14px; + padding:5px; +} + + .Grid_1_col{ + margin-top: 12px; + display:grid; + grid-template-columns: 1fr; + gap: 14px; + padding:5px; +} + +.Grid_2_col_sub_colone { + background: #fff; + border: 1px solid #e5e7eb; + border-radius: 14px; + box-shadow: 0 6px 18px rgba(2,6,23,.04); + padding: 0px; + display: flex; + flex-direction: column; + gap: 14px; +} + + +.Grid_2_col_sub_colone_header { + background: #dbeafe; + border-top-right-radius: 10px; + border-top-left-radius: 10px; + text-align: center; + font-family: DM Sans; + font-weight: 700; + height: 2rem; + padding-top: 5px; + font-size: 15px; +} + +.Grid_2_col_sub_colone_bottom_menu{ + +} + +.card__header{ +background: #e2e8f0; + font-size: small; + text-align: center; +} + +.card__title{ + display:flex; + align-items:center; + gap: 10px; +} + +.card__icon{ + width: 34px; + height: 34px; + display:grid; + place-items:center; + border-radius: 12px; + background:#eff6ff; + border:1px solid #dbeafe; +} + +.card__header h2{ + margin:0; + font-size: 15px; + letter-spacing: -0.01em; +} + +.card__actions{ display:flex; align-items:center; gap:8px; } + +.block_detail_action{ +width: 100%; + float: left; + background: #fafafa; + padding: 10px; + border: unset; + border-radius: 10px; + } + + .react-datepicker-wrapper{ + width: 100%; + } +`; diff --git a/src/components/Partner_Commande.js b/src/components/Partner_Commande.js index f9feac7..05e1ea9 100644 --- a/src/components/Partner_Commande.js +++ b/src/components/Partner_Commande.js @@ -799,7 +799,7 @@ const Partner_Commande = (props) => { const stored_cookie = getCookie('tokenmysypart'); form.append("token", stored_cookie); form.append("archive", "0"); - form.append("is_ftion_initiale", "2"); + form.append("is_ftion_initiale", "2"); var myurl = process.env.REACT_APP_API_URL + "myclass/api/get_partner_class/"; @@ -3383,18 +3383,18 @@ const Partner_Commande = (props) => { form.append("order_line_session_id", ""); - /* var tab_inscrit_id = [] - for (var i = 0; i < inscrit_session.length; i++) { - tab_inscrit_id.push(inscrit_session[i]._id) - }*/ + /* var tab_inscrit_id = [] + for (var i = 0; i < inscrit_session.length; i++) { + tab_inscrit_id.push(inscrit_session[i]._id) + }*/ - var tab_inscrit_id = [] + var tab_inscrit_id = [] for (var i = 0; i < NewGetall_TrainingParticipant_Reduce_Fields_With_Remaining_Paiment_result.length; i++) { if (NewGetall_TrainingParticipant_Reduce_Fields_With_Remaining_Paiment_result[i]._id.length > 5) tab_inscrit_id.push(NewGetall_TrainingParticipant_Reduce_Fields_With_Remaining_Paiment_result[i]._id) } - if (tab_inscrit_id && String(tab_inscrit_id).length > 0) + if (tab_inscrit_id && String(tab_inscrit_id).length > 0) form.append("tab_inscription_ids_from_front", tab_inscrit_id); else form.append("tab_inscription_ids_from_front", ""); @@ -7242,7 +7242,7 @@ const Partner_Commande = (props) => {
-
Date cmd
+
Date cmd
{ {String(submenu) === "detail_order" && String(add_One_Order) !== "1" &&
- +
@@ -8039,569 +8039,585 @@ const Partner_Commande = (props) => {
+
+ +
-
- {String(header_submenu) === "main" &&
-
Type
- +
- InputLabelProps={{ - shrink: true, - }} - disabled={false} - className="disabled_style" - value={p_detail_header_type} - onChange={(e) => { - setp_detail_header_type(e.target.value); - setOrder_data_changed("1"); - } - } +
+ Infos Générales +
- /> -
+
- {String(order_data_edit_mode) !== "1" &&
Statut - {p_detail_header_order_header_ref_interne && String(p_detail_header_order_header_ref_interne).length > 2 && - -   - - } -
- - { - setp_detail_header_statut(e.target.value); - setOrder_data_changed("1"); - } - } - /> + {String(header_submenu) === "main" &&
+
Type
+ } - {String(order_data_edit_mode) === "1" && String(p_detail_header_type) === "commande" &&
Statut
- - - {New_Status_Filter && New_Status_Filter.length > 0 && (data).value === String(p_detail_header_statut))[0].label} - options={New_Status_Filter} - onChange={(event, value) => { - if (value && value.value) { - - setp_detail_header_statut(value.value); - setOrder_data_changed("1"); - } - - }} - - renderInput={(params) => - } - />} - - - - -
} - {String(order_data_edit_mode) === "1" && String(p_detail_header_type) === "devis" &&
Statut
- - - {New_Quotation_Status_Filter && New_Quotation_Status_Filter.length > 0 && (data).value === String(p_detail_header_statut))[0].label} - options={New_Quotation_Status_Filter} - onChange={(event, value) => { - if (value && value.value) { - - setp_detail_header_statut(value.value); - setOrder_data_changed("1"); - - - } - - }} - - renderInput={(params) => - } - />} - - - -
} - -
Ref. Interne
- { - setp_detail_header_ref_interne(e.target.value); - setOrder_data_changed("1"); - } - } - - /> -
- - - {String(order_data_edit_mode) !== "1" &&
Inclus BPF
- (data).value === String(p_add_cmd_header_order_inclus_bpf))[0].label} - /> - -
} - - - {String(order_data_edit_mode) === "1" &&
Inclus BPF
- {inclus_bpf_tab && inclus_bpf_tab.length > 0 && (data).value === String(p_add_cmd_header_order_inclus_bpf))[0].label} - options={inclus_bpf_tab} - onChange={(event, value) => { - setOrder_data_changed("1"); - if (value && value.value) { - setp_add_cmd_header_order_inclus_bpf(value.value); - } else { - setp_add_cmd_header_order_inclus_bpf(""); - } - - }} - - renderInput={(params) => - } - />} -
} - - - - {String(order_data_edit_mode) === "1" &&
- Conditions Paiement
- - - {New_Getall_Partner_Paiement_Condition_result && New_Getall_Partner_Paiement_Condition_result.length > 0 && - (data).label === String(p_detail_header_condition_paiement_code))[0].label} - options={New_Getall_Partner_Paiement_Condition_result} - className="disabled_style" - onChange={(event, value) => { - if (value && value._id) { - setp_detail_header_condition_paiement_code(value.code); - setp_detail_header_condition_paiement_id(value._id); - setOrder_data_changed("1"); - } - - }} - - renderInput={(params) => - } - />} - - -
} - {String(order_data_edit_mode) !== "1" &&
Conditions Paiement
- - -
} - - - {String(order_data_edit_mode) !== "1" &&
Date Cmd
- -
} - - {String(order_data_edit_mode) === "1" &&
Date Cmd
- { - setp_detail_header_date_cmd_val(format(date, 'dd/MM/yyyy')); - setOrder_data_changed("1"); - } - } - showTimeSelect={false} - //filterTime={filterPassedTime_start} - dateFormat="dd/MM/yyyy" - className="disabled_style enable_style" - locale={'fr'} - /> -
} - - - {String(order_data_edit_mode) !== "1" &&
Date expiration
- -
} - - {String(order_data_edit_mode) === "1" &&
Date expiration
- { - setp_detail_header_date_expiration_val(format(date, 'dd/MM/yyyy')); - setp_detail_header_date_expiration(format(date, 'dd/MM/yyyy')); - setOrder_data_changed("1"); - } - } - showTimeSelect={false} - //filterTime={filterPassedTime_start} - dateFormat="dd/MM/yyyy" - className="disabled_style enable_style" - locale={'fr'} - /> -
} - - - - {String(order_data_edit_mode) !== "1" && } + {String(order_data_edit_mode) !== "1" &&
Statut + {p_detail_header_order_header_ref_interne && String(p_detail_header_order_header_ref_interne).length > 2 && + +   + + } +
- {String(order_data_edit_mode) === "1" &&
Nom Client
+ + { - setp_detail_header_client_nom_id(e.target.value); - Get_Givent_Partner_Client_Data(e.target.value); - setOrder_data_changed("1"); - } - } + InputLabelProps={{ + shrink: true, + }} + disabled={false} + className="disabled_style" + value={p_detail_header_statut_label} + onChange={(e) => { + setp_detail_header_statut(e.target.value); + setOrder_data_changed("1"); + } + } + /> - > - {Get_List_Partner_Clients_result && - Get_List_Partner_Clients_result.map((myclient) => ( - - {JSON.parse(myclient).nom}   - - - ))} - - -
} +
} + {String(order_data_edit_mode) === "1" && String(p_detail_header_type) === "commande" &&
Statut
-
Email Client
- 0 && (data).value === String(p_detail_header_statut))[0].label} + options={New_Status_Filter} + onChange={(event, value) => { + if (value && value.value) { - InputLabelProps={{ - shrink: true, - }} - disabled={false} - className="disabled_style" - value={p_detail_header_email_client} - onChange={(e) => { - setp_detail_header_email_client(e.target.value); - setOrder_data_changed("1"); - } - } + setp_detail_header_statut(value.value); + setOrder_data_changed("1"); + } - /> -
+ }} + renderInput={(params) => Ref. Externe
- { - setp_detail_header_ref_client(e.target.value); - setOrder_data_changed("1"); - } - } - - /> -
- -
Description
- { - setp_detail_header_description(e.target.value); - setOrder_data_changed("1"); - } - } - - /> -
- -
Lieu de formation
- { - setp_detail_header_lieu_formation(e.target.value); - setOrder_data_changed("1"); - } - } - - /> -
- - -
Commentaire
- { - setp_detail_header_comment(e.target.value); - setOrder_data_changed("1"); - } - } - - /> -
- - {String(order_data_edit_mode) !== "1" &&
Vendeur
- { - setp_detail_header_vendeur_nom(e.target.value); - setOrder_data_changed("1"); - } - } - - /> -
} - - {String(order_data_edit_mode) === "1" &&
Vendeur
- { - setp_detail_header_vendeur_nom_id(e.target.value); - setOrder_data_changed("1"); - } - } - - > - {Getall_Training_Employee_No_Filter_result && - Getall_Training_Employee_No_Filter_result.map((myclient) => ( - - {JSON.parse(myclient).nom}  {JSON.parse(myclient).prenom} - - - ))} - - -
} + /> + } + />} -
} - {String(header_submenu) === "detail" &&
- {/*
+
} + {String(order_data_edit_mode) === "1" && String(p_detail_header_type) === "devis" &&
Statut
+ + + {New_Quotation_Status_Filter && New_Quotation_Status_Filter.length > 0 && (data).value === String(p_detail_header_statut))[0].label} + options={New_Quotation_Status_Filter} + onChange={(event, value) => { + if (value && value.value) { + + setp_detail_header_statut(value.value); + setOrder_data_changed("1"); + + + } + + }} + + renderInput={(params) => + } + />} + + + +
} + +
Ref. Interne
+ { + setp_detail_header_ref_interne(e.target.value); + setOrder_data_changed("1"); + } + } + + /> +
+ + + {String(order_data_edit_mode) !== "1" &&
Inclus BPF
+ (data).value === String(p_add_cmd_header_order_inclus_bpf))[0].label} + /> + +
} + + + {String(order_data_edit_mode) === "1" &&
Inclus BPF
+ {inclus_bpf_tab && inclus_bpf_tab.length > 0 && (data).value === String(p_add_cmd_header_order_inclus_bpf))[0].label} + options={inclus_bpf_tab} + onChange={(event, value) => { + setOrder_data_changed("1"); + if (value && value.value) { + setp_add_cmd_header_order_inclus_bpf(value.value); + } else { + setp_add_cmd_header_order_inclus_bpf(""); + } + + }} + + renderInput={(params) => + } + />} +
} + + + + {String(order_data_edit_mode) === "1" &&
+ Conditions Paiement
+ + + {New_Getall_Partner_Paiement_Condition_result && New_Getall_Partner_Paiement_Condition_result.length > 0 && + (data).label === String(p_detail_header_condition_paiement_code))[0].label} + options={New_Getall_Partner_Paiement_Condition_result} + className="disabled_style" + onChange={(event, value) => { + if (value && value._id) { + setp_detail_header_condition_paiement_code(value.code); + setp_detail_header_condition_paiement_id(value._id); + setOrder_data_changed("1"); + } + + }} + + renderInput={(params) => + } + />} + + +
} + {String(order_data_edit_mode) !== "1" &&
Conditions Paiement
+ + +
} + + + {String(order_data_edit_mode) !== "1" &&
Date Cmd
+ +
} + + {String(order_data_edit_mode) === "1" &&
Date Cmd
+ { + setp_detail_header_date_cmd_val(format(date, 'dd/MM/yyyy')); + setOrder_data_changed("1"); + } + } + showTimeSelect={false} + //filterTime={filterPassedTime_start} + dateFormat="dd/MM/yyyy" + className="disabled_style enable_style" + locale={'fr'} + /> +
} + + + {String(order_data_edit_mode) !== "1" &&
Date expiration
+ +
} + + {String(order_data_edit_mode) === "1" &&
Date expiration
+ { + setp_detail_header_date_expiration_val(format(date, 'dd/MM/yyyy')); + setp_detail_header_date_expiration(format(date, 'dd/MM/yyyy')); + setOrder_data_changed("1"); + } + } + showTimeSelect={false} + //filterTime={filterPassedTime_start} + dateFormat="dd/MM/yyyy" + className="disabled_style enable_style" + locale={'fr'} + /> +
} + + + + {String(order_data_edit_mode) !== "1" && } + + {String(order_data_edit_mode) === "1" &&
Nom Client
+ + { + setp_detail_header_client_nom_id(e.target.value); + Get_Givent_Partner_Client_Data(e.target.value); + setOrder_data_changed("1"); + } + } + + > + {Get_List_Partner_Clients_result && + Get_List_Partner_Clients_result.map((myclient) => ( + + {JSON.parse(myclient).nom}   + + + ))} + + +
} + + +
Email Client
+ { + setp_detail_header_email_client(e.target.value); + setOrder_data_changed("1"); + } + } + + /> +
+ + +
Ref. Externe
+ { + setp_detail_header_ref_client(e.target.value); + setOrder_data_changed("1"); + } + } + + /> +
+ +
Description
+ { + setp_detail_header_description(e.target.value); + setOrder_data_changed("1"); + } + } + + /> +
+ +
Lieu de formation
+ { + setp_detail_header_lieu_formation(e.target.value); + setOrder_data_changed("1"); + } + } + + /> +
+ + +
Commentaire
+ { + setp_detail_header_comment(e.target.value); + setOrder_data_changed("1"); + } + } + + /> +
+ + {String(order_data_edit_mode) !== "1" &&
Vendeur
+ { + setp_detail_header_vendeur_nom(e.target.value); + setOrder_data_changed("1"); + } + } + + /> +
} + + {String(order_data_edit_mode) === "1" &&
Vendeur
+ { + setp_detail_header_vendeur_nom_id(e.target.value); + setOrder_data_changed("1"); + } + } + + > + {Getall_Training_Employee_No_Filter_result && + Getall_Training_Employee_No_Filter_result.map((myclient) => ( + + {JSON.parse(myclient).nom}  {JSON.parse(myclient).prenom} + + + ))} + + +
} + + + +
} + + {String(header_submenu) === "detail" &&
+ {/*
*/} - {/* + {/* {String(order_data_edit_mode) === "1" &&
Type de Reduction (entete)
{ */} -
Total Ligne HT avant reduction
- -
- -
Total Ligne Reduction
- -
- -
Total Ligne HT apres reduction
- -
- - -
Total Ligne Taxes
- -
- -
Entete : Total reduction
- -
- - - -
Entete : Total HT avant reduction d'entete
- -
- -
Entete : Total HT apres reduction d'entete
- -
- -
} - - {String(header_submenu) === "facturation" &&
- -
Adresse Facturation
- { - setp_detail_header_fact_adr(e.target.value); - setOrder_data_changed("1"); - } - } - - /> -
- -
Code postal
- { - setp_detail_header_fact_code_postal(e.target.value); - setOrder_data_changed("1"); - } - } - - /> -
- -
Ville
- { - setp_detail_header_fact_ville(e.target.value); - setOrder_data_changed("1"); - } - } - - /> -
- -
Pays
- { - setp_detail_header_fact_pays(e.target.value); - setOrder_data_changed("1"); - } - } - - /> -
- - - -
Adresse Livraison
- { - setp_detail_header_liv_adr(e.target.value); - setOrder_data_changed("1"); - } - } - - /> -
- -
Code postal
- { - setp_detail_header_liv_code_postal(e.target.value); - setOrder_data_changed("1"); - } - } - - /> -
- -
Ville
- { - sep_detail_header_liv_ville(e.target.value); - setOrder_data_changed("1"); - } - } - - /> -
- -
Pays
- { - setp_detail_header_liv_pays(e.target.value); - setOrder_data_changed("1"); - } - } - - /> -
- - -
} - - {String(header_submenu) === "order_header_relance" &&
- - - {String(order_data_edit_mode) !== "1" &&
Relance Automatique
- (data).id === String(p_detail_header_devis_relance_auto))[0].label} - - /> -
} - - {String(order_data_edit_mode) === "1" && New_Option_Oui_Non &&
Relance Automatique
- (data).id === String(p_detail_header_devis_relance_auto))[0].label} - onChange={(event, value) => { - if (value && value.value) { - setp_detail_header_devis_relance_auto(value.value); - - } else { - setp_detail_header_devis_relance_auto(""); - } - setOrder_data_changed("1"); - }} - - renderInput={(params) => - } - /> - - - -
} - - - {String(order_data_edit_mode) !== "1" && } - - {String(order_data_edit_mode) === "1" && New_Option_Frequence_Relance &&
- - - Fréquence de relance (en jour)
- { - setp_detail_header_devis_frequence_relance(e.target.value); - setOrder_data_changed("1"); - } - } - - /> -
} - - - - {String(order_data_edit_mode) !== "1" &&
Nombre Relance
- -
} - - {String(order_data_edit_mode) === "1" &&
Nombre Relance
- { - setp_detail_header_devis_nb_relance(e.target.value); - setOrder_data_changed("1"); - } - } - /> -
} - -
-
Les relances effectuées
-
- - - {Quotation_list_relance && - Quotation_list_relance.map((relance, index) => ( - -
- {relance.date_relance && relance.mesg_relance && } +
Total Ligne HT avant reduction
+ +
+ +
Total Ligne Reduction
+ +
+ +
Total Ligne HT apres reduction
+ +
+ + +
Total Ligne Taxes
+ +
+ +
Entete : Total reduction
+ +
+ + + +
Entete : Total HT avant reduction d'entete
+ +
+ +
Entete : Total HT apres reduction d'entete
+ +
+ +
} + + {String(header_submenu) === "facturation" &&
+ +
Adresse Facturation
+ { + setp_detail_header_fact_adr(e.target.value); + setOrder_data_changed("1"); + } + } + + /> +
+ +
Code postal
+ { + setp_detail_header_fact_code_postal(e.target.value); + setOrder_data_changed("1"); + } + } + + /> +
+ +
Ville
+ { + setp_detail_header_fact_ville(e.target.value); + setOrder_data_changed("1"); + } + } + + /> +
+ +
Pays
+ { + setp_detail_header_fact_pays(e.target.value); + setOrder_data_changed("1"); + } + } + + /> +
+ + + +
Adresse Livraison
+ { + setp_detail_header_liv_adr(e.target.value); + setOrder_data_changed("1"); + } + } + + /> +
+ +
Code postal
+ { + setp_detail_header_liv_code_postal(e.target.value); + setOrder_data_changed("1"); + } + } + + /> +
+ +
Ville
+ { + sep_detail_header_liv_ville(e.target.value); + setOrder_data_changed("1"); + } + } + + /> +
+ +
Pays
+ { + setp_detail_header_liv_pays(e.target.value); + setOrder_data_changed("1"); + } + } + + /> +
+ + +
} + + {String(header_submenu) === "order_header_relance" &&
+ + + {String(order_data_edit_mode) !== "1" &&
Relance Automatique
+ (data).id === String(p_detail_header_devis_relance_auto))[0].label} + + /> +
} + + {String(order_data_edit_mode) === "1" && New_Option_Oui_Non &&
Relance Automatique
+ (data).id === String(p_detail_header_devis_relance_auto))[0].label} + onChange={(event, value) => { + if (value && value.value) { + setp_detail_header_devis_relance_auto(value.value); + + } else { + setp_detail_header_devis_relance_auto(""); + } + setOrder_data_changed("1"); + }} + + renderInput={(params) => + } + /> + + + +
} + + + {String(order_data_edit_mode) !== "1" && } + + {String(order_data_edit_mode) === "1" && New_Option_Frequence_Relance &&
+ + + Fréquence de relance (en jour)
+ { + setp_detail_header_devis_frequence_relance(e.target.value); + setOrder_data_changed("1"); + } + } + + /> +
} + + + + {String(order_data_edit_mode) !== "1" &&
Nombre Relance
+ +
} + + {String(order_data_edit_mode) === "1" &&
Nombre Relance
+ { + setp_detail_header_devis_nb_relance(e.target.value); + setOrder_data_changed("1"); + } + } + /> +
} + +
+
Les relances effectuées
+
+ + + {Quotation_list_relance && + Quotation_list_relance.map((relance, index) => ( + +
+ {relance.date_relance && relance.mesg_relance && } +
+ ))} +
- ))} +
+ + +
} + + + {String(header_submenu) === "historique" &&
+ +
} + + + + + +
- - -
} - - - {String(header_submenu) === "historique" &&
- -
} - +
-
- {String(props.check_user_acces_right("commande", "write")) === "1" && String(p_detail_header_statut_label).toLowerCase() === "brouillon" && - String(p_detail_header_statut_label).toLowerCase() !== "facturé" && - } +
+
+
- {String(props.check_user_acces_right("commande", "write")) === "1" && String(p_detail_header_statut_label).toLowerCase() === "en cours" && - String(p_detail_header_type).toLowerCase() === "commande" && - } +
+ Actions +
- - {String(props.check_user_acces_right("commande", "write")) === "1" && String(selected_order_header_type) === "commande" && - String(p_detail_header_statut_label).toLowerCase() === "traité" && - Facturer - } - - modal - nested - position="center center" - > - {close => ( -
- -
MySy Information
-
- {' '} - - En confirmant cette opération, vous allez lancer le processus de facturation.
-
+
-
-
- + {String(props.check_user_acces_right("commande", "write")) === "1" && String(p_detail_header_statut_label).toLowerCase() === "brouillon" && + String(p_detail_header_statut_label).toLowerCase() !== "facturé" && + } -
-
- -
-
-
- )} - - - } + {String(props.check_user_acces_right("commande", "write")) === "1" && String(p_detail_header_statut_label).toLowerCase() === "en cours" && + String(p_detail_header_type).toLowerCase() === "commande" && + } - {String(props.check_user_acces_right("commande", "write")) === "1" && String(selected_order_header_type) === "devis" && - (p_detail_header_statut === "1" || p_detail_header_statut === "3") && - Facturer - } + {String(props.check_user_acces_right("commande", "write")) === "1" && String(selected_order_header_type) === "commande" && + String(p_detail_header_statut_label).toLowerCase() === "traité" && + Facturer + } - modal - nested - position="center center" - > - {close => ( -
- -
MySy Information
-
- {' '} + modal + nested + position="center center" + > + {close => ( +
+ +
MySy Information
+
+ {' '} - En confirmant cette opération, vous allez lancer le processus de facturation.
-
+ En confirmant cette opération, vous allez lancer le processus de facturation.
+
-
-
- +
+
+ -
-
- -
-
-
- )} - +
+
+ +
+
+
+ )} +
- } + } + + + {String(props.check_user_acces_right("commande", "write")) === "1" && String(selected_order_header_type) === "devis" && + (p_detail_header_statut === "1" || p_detail_header_statut === "3") && + Facturer + } + + modal + nested + position="center center" + > + {close => ( +
+ +
MySy Information
+
+ {' '} + + En confirmant cette opération, vous allez lancer le processus de facturation.
+
+ + + +
+
+ + +
+
+ +
+
+
+ )} +
+ + } - {/*String(props.check_user_acces_right("commande", "write")) === "1" && String(selected_order_header_type) === "devis" && + {/*String(props.check_user_acces_right("commande", "write")) === "1" && String(selected_order_header_type) === "devis" && (String(p_detail_header_statut_label).toLowerCase().trim() === "en cours" || String(p_detail_header_statut_label).toLowerCase().trim() === "gagné") && String(p_detail_header_order_header_ref_interne) === "" && */} - {String(selected_order_header_type) === "devis" && - (String(p_detail_header_statut_label).toLowerCase().trim() === "en cours" || String(p_detail_header_statut_label).toLowerCase().trim() === "gagné") && - String(p_detail_header_order_header_ref_interne) !== "" && - - } + + } - {String(props.check_user_acces_right("commande", "write")) === "1" && String(selected_order_header_type) === "devis" && String(p_detail_header_statut_label).toLowerCase() === "en cours" && - Valider et Reserver - } + {String(props.check_user_acces_right("commande", "write")) === "1" && String(selected_order_header_type) === "devis" && String(p_detail_header_statut_label).toLowerCase() === "en cours" && + Valider et Reserver + } - modal - nested - position="center center" - > - {close => ( -
- -
MySy Information
-
- {' '} + modal + nested + position="center center" + > + {close => ( +
+ +
MySy Information
+
+ {' '} - En confirmant cette opération, vous allez valider le devis et reserver automatiquement les places dans la session
+ En confirmant cette opération, vous allez valider le devis et reserver automatiquement les places dans la session
-
-
-
- +
+
+
+ -
-
- -
-
-
- )} - +
+
+ +
+
+
+ )} +
- } + } - {String(props.check_user_acces_right("commande", "write")) === "1" && String(p_detail_header_statut_label).toLowerCase() !== "facturé" && } + {String(props.check_user_acces_right("commande", "write")) === "1" && String(p_detail_header_statut_label).toLowerCase() !== "facturé" && } - {String(props.check_user_acces_right("commande", "write")) === "1" && String(p_detail_header_statut_label).toLowerCase() !== "traité" && - String(p_detail_header_statut_label).toLowerCase() !== "facturé" && - Supprimer } + {String(props.check_user_acces_right("commande", "write")) === "1" && String(p_detail_header_statut_label).toLowerCase() !== "traité" && + String(p_detail_header_statut_label).toLowerCase() !== "facturé" && + Supprimer } - modal - nested - position="center center" - > - {close => ( -
- -
MySy Information
-
- {' '} + modal + nested + position="center center" + > + {close => ( +
+ +
MySy Information
+
+ {' '} - En confirmant cette opération, le document sera définitivement supprimé.
+ En confirmant cette opération, le document sera définitivement supprimé.
-
-
-
- +
+
+
+ -
-
- -
-
-
- )} - - } - {String(p_detail_header_statut_label).toLowerCase() !== "traité" && - String(p_detail_header_statut_label).toLowerCase() !== "facturé" && - String(selected_order_header_type) === "devis" && -
+
+ +
+
+
+ )} +
+ } + {String(p_detail_header_statut_label).toLowerCase() !== "traité" && + String(p_detail_header_statut_label).toLowerCase() !== "facturé" && + String(selected_order_header_type) === "devis" && + - } + setp_new_comment_raison_cloture(p_detail_comment_raison_cloture); + setDialog_Cloture_Devis_open(true); + }} > Perdu + } -

- {String(p_detail_header_statut_label).toLowerCase() === "en cours" && +

+ {String(p_detail_header_statut_label).toLowerCase() === "en cours" && - } + } - {String(props.check_user_acces_right("commande", "write")) === "1" && String(p_detail_header_statut_label).toLowerCase() !== "brouillon" && } - {String(props.check_user_acces_right("commande", "write")) === "1" && String(p_detail_header_statut_label).toLowerCase() !== "brouillon" && } + {String(props.check_user_acces_right("commande", "write")) === "1" && String(p_detail_header_statut_label).toLowerCase() !== "brouillon" && } + {String(props.check_user_acces_right("commande", "write")) === "1" && String(p_detail_header_statut_label).toLowerCase() !== "brouillon" && } -

+

- {String(p_detail_header_devis_date_validation).length > 5 && } - {String(p_detail_header_devis_date_envoi).length > 5 && } + {String(p_detail_header_devis_date_validation).length > 5 && } + {String(p_detail_header_devis_date_envoi).length > 5 && } - {(!p_detail_header_devis_date_validation || String(p_detail_header_devis_date_validation).length < 5) && } - {(!p_detail_header_devis_date_envoi || String(p_detail_header_devis_date_envoi).length < 5) && } + {(!p_detail_header_devis_date_validation || String(p_detail_header_devis_date_validation).length < 5) && } + {(!p_detail_header_devis_date_envoi || String(p_detail_header_devis_date_envoi).length < 5) && } + + + +
+
+
+
+ +
@@ -9473,7 +9521,7 @@ const Partner_Commande = (props) => {
-
+
{String(props.check_user_acces_right("commande", "write")) === "1" &&
- {/*
-
-   -
- {String(Order_data_changed) === "1" && String(order_data_edit_mode) === "1" &&
- /!\ Pensez à enregistrer les modifications -
} -
- {String(Order_data_changed) === "1" && String(order_data_edit_mode) === "1" &&
- - - -
} - - {String(order_data_edit_mode) === "1" &&
- -
} -
- - - {String(props.check_user_acces_right("commande", "write")) === "1" && String(order_data_edit_mode) !== "1" &&
- - - -
} -
-   -
-
*/}
}
- +
) } @@ -9648,7 +9664,111 @@ export default Partner_Commande; const local_css = ` + +:root { + --bg: #f6f8fb; + --card: #ffffff; + --text: #0f172a; + --muted: #64748b; + --border: #e5e7eb; + --shadow: 0 10px 25px rgba(2, 6, 23, .06); + --green-700: #0f6b53; + --green-600: #167a5e; + --green-100: #e9f7f1; + --blue-600: #2563eb; + --radius: 14px; + --radius-sm: 10px; +} + .Grid_2_col{ + margin-top: 12px; + display:grid; + grid-template-columns: 1.2fr 1fr; + gap: 14px; + padding:5px; +} + +.Grid_2_col_sub_colone { + background: #fff; + border: 1px solid #e5e7eb; + border-radius: 14px; + box-shadow: 0 6px 18px rgba(2,6,23,.04); + padding: 0px; + display: flex; + flex-direction: column; + gap: 14px; +} + + .Grid_1_col{ + margin-top: 12px; + display:grid; + grid-template-columns: 1fr; + gap: 14px; + padding:5px; +} + +.Grid_2_col_sub_colone_header { + background: #dbeafe; + border-top-right-radius: 10px; + border-top-left-radius: 10px; + text-align: center; + font-family: DM Sans; + font-weight: 700; + height: 2rem; + padding-top: 5px; + font-size: 15px; +} + +.Grid_2_col_sub_colone_bottom_menu{ + +} + +.card__header{ +background: #e2e8f0; + font-size: small; + text-align: center; +} + +.card__title{ + display:flex; + align-items:center; + gap: 10px; +} + +.card__icon{ + width: 34px; + height: 34px; + display:grid; + place-items:center; + border-radius: 12px; + background:#eff6ff; + border:1px solid #dbeafe; +} + +.card__header h2{ + margin:0; + font-size: 15px; + letter-spacing: -0.01em; +} + +.card__actions{ display:flex; align-items:center; gap:8px; } + +.block_detail_action{ +width: 100%; + float: left; + background: #fafafa; + padding: 10px; + border: unset; + border-radius: 10px; + } + .react-datepicker-wrapper{ width: 100%; } + + .datepicker_complement { + margin: 0px !important; + width: 100% !important; +} + + `; \ No newline at end of file diff --git a/src/components/Partner_Commande_ARG.js b/src/components/Partner_Commande_ARG.js new file mode 100644 index 0000000..ad80181 --- /dev/null +++ b/src/components/Partner_Commande_ARG.js @@ -0,0 +1,11167 @@ +import React, { useRef, useState, useEffect } from "react"; +import TextField from '@mui/material/TextField'; +import MenuItem from '@mui/material/MenuItem'; +import 'react-confirm-alert/src/react-confirm-alert.css'; // Import css +import Button from '@mui/material/Button'; +import axios from "axios"; +import { getCookie, } from 'react-use-cookie'; +import { useHistory } from "react-router-dom"; +import Chip from "@mui/material/Chip"; +import { DataGrid, GridToolbar, frFR } from '@mui/x-data-grid'; +import "react-draft-wysiwyg/dist/react-draft-wysiwyg.css"; + +import { Fab } from "@material-ui/core"; +import { IoMdAddCircle, } from "react-icons/io"; + +import { FcViewDetails, } from "react-icons/fc"; +import 'react-tooltip/dist/react-tooltip.css'; +import { Tooltip } from 'react-tooltip'; + +import Autocomplete from '@mui/material/Autocomplete'; +import fileDownload from 'js-file-download' +import Popup from 'reactjs-popup'; +import 'reactjs-popup/dist/index.css'; + +import fr from 'date-fns/locale/fr'; +import { registerLocale } from 'react-datepicker'; +import DatePicker from "react-datepicker"; +import "react-datepicker/dist/react-datepicker.css"; +import { format } from 'date-fns' +import moment from "moment"; +import InputAdornment from '@mui/material/InputAdornment'; +import { AiFillCloseCircle } from "react-icons/ai"; +import Box from '@mui/material/Box'; +import { gridClasses } from '@mui/x-data-grid'; +import { CiTrash } from "react-icons/ci"; +import { MdAddCircleOutline, MdRemoveCircleOutline } from "react-icons/md"; +import Dialog from '@mui/material/Dialog'; +import DialogActions from '@mui/material/DialogActions'; +import DialogContent from '@mui/material/DialogContent'; +import DialogContentText from '@mui/material/DialogContentText'; +import DialogTitle from '@mui/material/DialogTitle'; +import Module_Historique_Action from "./Module_Historique_Action"; +import img_loading_spin from "./../mysy_img/mysy_spin_loading.gif"; +import { Global } from "recharts"; +import { FcAddDatabase } from "react-icons/fc"; +import { IoAddCircleOutline } from "react-icons/io5"; +import ToggleSwitch from "./ToggleSwitch"; +import { FcInfo } from "react-icons/fc"; + +import Link from '@mui/material/Link'; +import { PiDotsThree, } from "react-icons/pi"; + +import { makeStyles } from "@material-ui/core/styles"; +import CancelPresentationIcon from '@mui/icons-material/CancelPresentation'; +import { IconButton } from '@material-ui/core'; +import Checkbox from '@mui/material/Checkbox'; +import { FcOpenedFolder } from "react-icons/fc"; + +import { useParams } from 'react-router-dom'; +import { + GridToolbarContainer, GridToolbarExport, GridToolbarColumnsButton, + GridToolbarFilterButton, GridToolbarDensitySelector, GridToolbarExportContainer, useGridApiContext, + gridFilteredSortedRowIdsSelector, + gridVisibleColumnFieldsSelector, + + +} from '@mui/x-data-grid'; +import * as XLSX from 'xlsx'; +import Paper from '@material-ui/core/Paper'; +import Draggable from 'react-draggable'; + +import Module_Alert_Confirmation from "./Module_Alert_Confirmation"; +import { renderEditCountry } from "@mui/x-data-grid-generator"; + +function PaperComponent(props) { + return ( + + + + ); +} + + +const useStyles = makeStyles((theme) => ({ + + dialog: { + position: 'absolute', + // left: 10, + top: 400 + }, + + paper: { + overflowY: 'unset', + }, + customizedButton: { + position: 'absolute', + left: '95%', + top: '-10px', + backgroundColor: 'lightgray', + color: 'gray', + }, +})); + + + +const Partner_Commande_ARG = (props) => { + + const { action, orderid } = useParams(); + registerLocale('fr', fr); + const classes = useStyles(); + + const history = useHistory(); + const [submenu, setsubmenu] = useState(""); + const [rowss, setRows] = useState([]); + const [rowss_total_data, setRows_total_data] = useState([]); + const [selectionModel, setSelectionModel] = React.useState([]); + + const [article_formation_ou_produit, setarticle_formation_ou_produit] = useState("formation"); + + const [rows_order_lines, setrows_order_lines] = useState([]); + const [selectionModel_order_lines, setselectionModel_order_lines] = React.useState([]); + + var date_today_90j = new Date(); + date_today_90j.setDate(date_today_90j.getDate() + 90); + + const [p_filtre1, setp_filtre1] = useState(""); + const [p_filtre1_value, setp_filtre1_value] = useState(""); + + const [p_filtre2, setp_filtre2] = useState(""); + const [p_filtre2_value, setp_filtre2_value] = useState(""); + + const [p_filtre3, setp_filtre3] = useState(""); + const [p_filtre3_value, setp_filtre3_value] = useState(""); + + const [p_filtre4, setp_filtre4] = useState(""); + const [p_filtre4_value, setp_filtre4_value] = useState(""); + + function ExpandableCell_50({ value }) { + const [expanded, setExpanded] = React.useState(false); + + return ( + + ); + } + + const columns = [ + { field: '_id', headerName: '_id', hide: true, disableExport: true, }, + { field: 'id', headerName: 'id', hide: true, disableExport: true, }, + { field: 'order_header_ref_interne', headerName: 'Reference', maxWidth: 200, minWidth: 180, flex: 1, hide: false, editable: false, renderCell: (params) => , }, + { field: 'order_header_type', headerName: 'Type', width: 100, hide: false, editable: false }, + { + field: 'order_header_status', headerName: 'Statut', maxWidth: 150, flex: 1, hide: false, editable: false, + renderCell: (cellValues) => { + + return ( +
+ {cellValues.row.order_header_status && String(cellValues.row.order_header_status) === "-1" && "Annulé"} + {cellValues.row.order_header_status && String(cellValues.row.order_header_status) === "0" && "Brouillon"} + + {cellValues.row.order_header_status && String(cellValues.row.order_header_status) === "1" && "En cours"} + + + {cellValues.row.order_header_status && String(cellValues.row.order_header_status) === "2" + && String(cellValues.row.order_header_type) === "commande" && "Traité"} + + {cellValues.row.order_header_status && String(cellValues.row.order_header_status) === "2" + && String(cellValues.row.order_header_type) === "devis" && "Fermé"} + + {cellValues.row.order_header_status && String(cellValues.row.order_header_status) === "3" + && String(cellValues.row.order_header_type) === "commande" && "Facturé"} + + {cellValues.row.order_header_status && String(cellValues.row.order_header_status) === "3" + && String(cellValues.row.order_header_type) === "devis" && "Gagné"} + + {cellValues.row.order_header_status && String(cellValues.row.order_header_status) === "4" + && String(cellValues.row.order_header_type) === "devis" && "Perdu"} + + {cellValues.row.order_header_status && String(cellValues.row.order_header_status) === "5" + && String(cellValues.row.order_header_type) === "devis" && "Facturé"} + + +
+ + ); + + }, + + + }, + { field: 'order_header_client_id', headerName: 'Client_Id', width: 0, hide: true, editable: false, disableExport: true, }, + { field: 'order_header_client_nom', headerName: 'Nom Client', minWidth: 200, flex: 1, renderCell: (params) => , }, + { field: 'order_header_vendeur_id', headerName: 'Vendeur Id', width: 0, hide: true, editable: false, disableExport: true, }, + { field: 'order_header_vendeur_nom_prenom', headerName: 'Vendeur', width: 150, flex: 1, editable: false, flex: 1 }, + { field: 'order_header_date_cmd', headerName: 'Date', minWidth: 150, hide: false, editable: false, flex: 1, renderCell: (params) => , }, + { field: 'order_header_date_expiration', headerName: 'Date Expiration', minWidth: 150, hide: false, editable: false }, + + { + field: "delete", headerName: 'Supprimer', disableExport: true, + renderCell: (cellValues) => { + return ( + <> + {String(props.check_user_acces_right("commande", "write")) === "1" && { + // handleClick_delete(event, cellValues); + }} + > + + + } + modal + nested + position="center center" + > + {close => ( +
+ +
MySy Information
+
+ {' '} + + En confirmant cette opération, le document sera définitivement supprimé.
+ +
+
+
+ + +
+
+ +
+
+
+ )} +
} + + + ); + } + } + + ] + + + const columns_order_lines = [ + { field: '_id', headerName: '_id', hide: true, editable: false }, + { field: 'id', headerName: 'id', hide: true, editable: false }, + { field: 'order_line_class_id', headerName: 'order_line_class_id', hide: true, editable: false }, + + { field: 'order_line_formation', headerName: 'intenal_url', width: 0, hide: true, editable: false }, + { field: 'order_line_session_id', headerName: 'session_id', width: 0, hide: true, editable: false }, + { + field: 'order_line_formation_title', headerName: 'Titre', minWidth: 200, flex: 1, + renderCell: (cellValues) => { + return ( +
+ +
+ ); + } + }, + { + field: 'order_line_session_code', headerName: 'Code Session', minwidth: 200, flex: 1, hideable: true, resizable: true, + renderCell: (cellValues) => { + return ( + + + + ); + }, + }, + + + + { field: 'order_line_formation_external_code', headerName: 'Code Formation', minwidth: 200, flex: 1, hide: true, resizable: true, renderCell: (params) => , }, + { field: 'order_line_formation_duration', headerName: 'Durée', width: 80, hide: false, editable: false }, + { field: 'order_line_qty', headerName: 'Qte', width: 100, hide: false, editable: false }, + { field: 'order_line_prix_unitaire', headerName: 'Prix Unit.', width: 100, hide: false, editable: false }, + { field: 'order_line_montant_hors_taxes', headerName: 'Total HT', width: 100, hide: false, editable: false }, + { field: 'order_line_tax_amount', headerName: 'Taxe', width: 100, hide: false, editable: false }, + + { field: 'order_line_type_reduction', headerName: 'Reduc. Type', width: 100, hide: true, editable: false }, + { field: 'order_line_type_valeur', headerName: 'Reduc. Val', width: 100, hide: true, editable: false }, + { field: 'order_line_montant_reduction', headerName: 'Reduc. Mont.', width: 100, hide: false, editable: false }, + + + { field: 'order_line_taux_taxe', headerName: '% Taxe', width: 100, hide: false, editable: false }, + + { field: 'order_line_montant_toutes_taxes', headerName: 'Montant TTC', width: 100, hide: false, editable: false }, + { field: 'order_header_id', headerName: 'Id_Entete', hide: true, editable: false }, + { field: 'order_header_ref_interne', headerName: 'Ref_Interne', hide: true, editable: false }, + { field: 'order_line_type', headerName: 'Type', width: 100, hide: true, editable: false }, + { field: 'order_line_type_article', headerName: 'Type Article', width: 100, hide: true, editable: false }, + { field: 'related_order_internal_ref', headerName: 'Cmd. Associé', width: 100, hide: true, editable: false }, + { + field: 'order_line_status', headerName: 'Statut', width: 150, hide: true, editable: false, + renderCell: (cellValues) => { + + return ( +
+ {cellValues.row.order_line_status && String(cellValues.row.order_line_status) === "-1" && "Annulé"} + {cellValues.row.order_line_status && String(cellValues.row.order_line_status) === "0" && "Brouillon"} + + {cellValues.row.order_line_status && String(cellValues.row.order_line_status) === "1" && "En cours"} + + + {cellValues.row.order_line_status && String(cellValues.row.order_line_status) === "2" + && String(cellValues.row.order_line_type) === "commande" && "Traité"} + + {cellValues.row.order_line_status && String(cellValues.row.order_line_status) === "2" + && String(cellValues.row.order_line_type) === "devis" && "Fermé"} + + {cellValues.row.order_line_status && String(cellValues.row.order_line_status) === "3" + && String(cellValues.row.order_line_type) === "commande" && "Facturé"} + + {cellValues.row.order_line_status && String(cellValues.row.order_line_status) === "3" + && String(cellValues.row.order_line_type) === "devis" && "Gagné"} + + {cellValues.row.order_line_status && String(cellValues.row.order_line_status) === "4" + && String(cellValues.row.order_line_type) === "devis" && "Perdu"} + + + +
+ + ); + + }, + + valueFormatter: (params) => { + if (String(params.value) === "-1") + return "Annulé"; + else if (String(params.value) === "0") + return "Brouillon"; + else if (String(params.value) === "1") + return "En cours"; + else if (String(params.value) === "2") + return "Traité"; + else if (String(params.value) === "3") + return "Facturé"; + else + return "?"; + + }, + }, + { + field: "Detail", headerName: 'Voir détail', + renderCell: (cellValues) => { + return ( + + + + ); + } + }, + + { + field: "delete", headerName: 'Supprimer', + renderCell: (cellValues) => { + return ( + <> + {String(props.check_user_acces_right("commande", "write")) === "1" && + { + // handleClick_delete(event, cellValues); + }} + > + + + } + modal + nested + position="center center" + > + {close => ( +
+ +
MySy Information
+
+ {' '} + + En confirmant cette opération, la ligne sera définitivement supprimée.
+ +
+
+
+ + +
+
+ +
+
+
+ )} +
} + + + + ); + } + }, + { field: 'order_line_comment', headerName: 'Commentaire', width: 150, hide: true, editable: false, }, + + ] + + + + function handleClick_delete(event, cellValues) { + + var local_order_header_id = cellValues.row._id; + var local_order_type = cellValues.row.order_header_type; + + + + Delete_Order_Header_AndLine_Data(local_order_header_id, local_order_type); + } + + + const [Delete_Order_Header_AndLine_Data_api, setDelete_Order_Header_AndLine_Data_api] = useState(); + const [Delete_Order_Header_AndLine_Data_message, setDelete_Order_Header_AndLine_Data_message] = useState(); + const [Delete_Order_Header_AndLine_Data_result, setDelete_Order_Header_AndLine_Data_result] = useState(); + function Delete_Order_Header_AndLine_Data(local_order_header_id, local_order_type) { + + var form = new FormData(); + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("order_header_id", local_order_header_id); + + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Delete_Partner_Order_Header_And_Lines/"; + + setLoading(true); + axios.post(myurl, form).then(res => { + //console.log(" In Delete_Order_Header_AndLine_Data res.data.status = " + res.data.status); + //console.log(" In Delete_Order_Header_AndLine_Data res.data.message r_class = " + res.data.message); + + setLoading(false); + if (String(res.data.status) === String("true")) { + setDelete_Order_Header_AndLine_Data_api("true"); + setDelete_Order_Header_AndLine_Data_result(res.data.message); + + clean_order_detail_fields(); + setsubmenu(); + setdisplay_detail_order(); + setadd_One_Order(); + setSelectionModel([]); + + setgridline_id(""); + Getall_Parter_Orders_No_Filter(); + + if (document.getElementById('myRef_head')) { + var divh = document.getElementById('myRef_head').offsetTop; + window.scrollTo({ + top: divh, + behavior: "smooth", + }); + } + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("success"); + } + else { + setDelete_Order_Header_AndLine_Data_api("false"); + setDelete_Order_Header_AndLine_Data_message(res.data.message); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + + } + + }).catch((error) => { + setLoading(false); + console.log('Delete_Order_Header_AndLine_Data : Not good man :( Delete_Order_Header_AndLine_Data = ' + error); + setDelete_Order_Header_AndLine_Data_api("false"); + if (local_order_type == "devis") + alert(" Impossible de supprimer le devis "); + else + alert(" Impossible de supprimer la commande "); + }) + } + + + + function Display_Detail_Order_Line(event, cellValues) { + + var order_line_id = String(cellValues.row._id); + + var order_line_formation = String(cellValues.row.order_line_formation); + var order_line_qty = String(cellValues.row.order_line_qty); + var order_line_prix_unitaire = String(cellValues.row.order_line_prix_unitaire); + + setselected_order_line_id(order_line_id); + + + setp_add_line_item_internal_url(order_line_formation); + + setp_add_line_item(order_line_formation); + setp_add_line_item_qty(order_line_qty); + setp_add_line_item_price(order_line_prix_unitaire); + setp_add_line_item_status(String(cellValues.row.order_line_status)); + setp_add_line_item_type(String(cellValues.row.order_line_type)); + setp_add_line_item_comment(String(cellValues.row.order_line_comment)); + + setp_add_line_session_id(String(cellValues.row.order_line_session_id)); + setp_add_line_session_code(String(cellValues.row.order_line_session_code)); + + setp_add_line_order_line_type_article(String(cellValues.row.order_line_type_article)); + setarticle_formation_ou_produit(String(cellValues.row.order_line_type_article)); + + //console.log(" String(cellValues.row.order_line_type_article = ", String(cellValues.row.order_line_type_article)); + + Get_Given_Line_Of_Partner_Order_Line_Data(order_line_id, order_internal_ref); + + setDialog_Detail_Article_open(true); + //alert(" afficher le detail de la ligne " + String(order_line_id)); + + } + + + function Display_Detail_Order_Line_doubleclick(cellValues) { + + + + var order_line_id = String(cellValues.row._id); + + var order_line_formation = String(cellValues.row.order_line_formation); + var order_line_qty = String(cellValues.row.order_line_qty); + var order_line_prix_unitaire = String(cellValues.row.order_line_prix_unitaire); + + setselected_order_line_id(order_line_id); + + + setp_add_line_item_internal_url(order_line_formation); + + setp_add_line_item(order_line_formation); + setp_add_line_item_qty(order_line_qty); + setp_add_line_item_price(order_line_prix_unitaire); + setp_add_line_item_status(String(cellValues.row.order_line_status)); + setp_add_line_item_type(String(cellValues.row.order_line_type)); + setp_add_line_item_comment(String(cellValues.row.order_line_comment)); + + setp_add_line_session_id(String(cellValues.row.order_line_session_id)); + setp_add_line_session_code(String(cellValues.row.order_line_session_code)); + + setp_add_line_order_line_type_article(String(cellValues.row.order_line_type_article)); + setarticle_formation_ou_produit(String(cellValues.row.order_line_type_article)); + + //console.log(" String(cellValues.row.order_line_type_article = ", String(cellValues.row.order_line_type_article)); + + Get_Given_Line_Of_Partner_Order_Line_Data(order_line_id, order_internal_ref); + + setDialog_Detail_Article_open(true); + //alert(" afficher le detail de la ligne " + String(order_line_id)); + + } + + + function clean_all_filters() { + setp_filtre1(""); + setp_filtre1_value(); + + setp_filtre2(""); + setp_filtre2_value(); + + setp_filtre3(""); + setp_filtre3_value(); + + setp_filtre4(""); + setp_filtre4_value(); + + clean_order_detail_fields(); + setsubmenu(); + setorder_data_edit_mode(); + setorder_data_edit_mode(); + setdisplay_detail_order(); + setadd_One_Order(); + setSelectionModel([]); + setselectionModel_order_lines([]); + + Getall_Parter_Orders_No_Filter(); + + setgridline_id(""); + } + + + function handleClick_delete_Order_line(event, cellValues) { + + var local_order_line_id = cellValues.row._id; + + Delete_Order_Line_Data(local_order_line_id); + } + + const [Delete_Order_Line_Data_api, setDelete_Order_Line_Data_api] = useState(); + const [Delete_Order_Line_Data_message, setDelete_Order_Line_Data_message] = useState(); + const [Delete_Order_Line_Data_result, setDelete_Order_Line_Data_result] = useState(); + function Delete_Order_Line_Data(local_order_line_id) { + + var form = new FormData(); + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("order_line_id", local_order_line_id); + form.append("order_header_id", selected_id); + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Delete_Partner_Order_Line/"; + + setLoading(true); + axios.post(myurl, form).then(res => { + //console.log(" In Delete_Order_Line_Data res.data.status = " + res.data.status); + //console.log(" In Delete_Order_Line_Data res.data.message r_class = " + res.data.message); + + setLoading(false); + if (String(res.data.status) === String("true")) { + setDelete_Order_Line_Data_api("true"); + setDelete_Order_Line_Data_result(res.data.message); + + Display_Detail_Order_data(selected_id); + + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("success"); + } + else { + setDelete_Order_Line_Data_api("false"); + setDelete_Order_Line_Data_message(res.data.message); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + + } + + }).catch((error) => { + + setLoading(false); + console.log('Delete_Order_Line_Data : Not good man :( Delete_Order_Line_Data = ' + error); + setDelete_Order_Line_Data_api("false"); + alert(" Impossible de supprimer la ligne"); + }) + } + + + const myRef = useRef(null) + + const [Dialog_1_message, setDialog_1_message] = React.useState(false); + const [Dialog_1_open, setDialog_1_open] = React.useState(false); + function Dialog_1_handle_change_participant_session(message) { + setDialog_1_message(message); + setDialog_1_open(true); + } + + const Dialog_1_handleClose = () => { + //alert(" Utiliser le bouton 'fermer' "); + //setOpen(false); + }; + + const Dialog_1_handleClose_buton = () => { + setDialog_1_open(false); + }; + + const [New_GetCurrentPartnerClass_result, setNew_GetCurrentPartnerClass_result] = useState([]); + + const [GetCurrentPartnerClass_api, setGetCurrentPartnerClass_api] = useState(); + const [GetCurrentPartnerClass_message, setGetCurrentPartnerClass_message] = useState(); + const [GetCurrentPartnerClass_result, setGetCurrentPartnerClass_result] = useState(); + function GetCurrentPartnerClass(event) { + var form = new FormData(); + + + + //form.append("token","K3cw63eKokKSbV4spjQ48SUNnfy80yrXfA"); + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("archive", "0"); + form.append("is_ftion_initiale", "2"); + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/get_partner_class/"; + + axios.post(myurl, form).then(res => { + + if (String(res.data.status) === String("true")) { + //console.log(" In GetCurrentPartnerClass res.data.status = " + res.data.status); + //console.log(" In GetCurrentPartnerClass res.data.message r_class = " + res.data.message); + setGetCurrentPartnerClass_api("true"); + setGetCurrentPartnerClass_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_internal_url = JSON.parse(x).internal_url; + var local_title = JSON.parse(x).title; + var local_is_published = JSON.parse(x).published; + var local_price = JSON.parse(x).price; + + + //--- + var node = { + "_id": local_id, + "id": localid, + "label": local_title, + "internal_url": local_internal_url, + "title": local_title, + "ispublished": local_is_published, + "price": local_price, + }; + new_data2.push(node); + + // return {"_id": " + str(local_id) + ", "label": " + local_courrier_template_ref_interne + '" , "courrier_template_ref_interne": "' + local_courrier_template_ref_interne + '", "nom_champ_technique": "' + local_nom_champ_technique + '", "nom_champ_fonctionel": "' + local_nom_champ_fonctionel + '","valide": "1" }; + + }); + + + var node = { + "_id": "", + "id": "", + "label": "", + "internal_url": "", + "title": "", + "ispublished": "", + "price": "", + }; + new_data2.push(node); + + if (new_data2.length > 0) { + setNew_GetCurrentPartnerClass_result(new_data2); + //console.log(" ### setNew_GetCurrentPartnerClass_result = ", New_GetCurrentPartnerClass_result); + } + + // console.log(" ## new_data2 = ", new_data2) + + } else if (String(res.data.status) === String("Err_Connexion")) { + alert('Erreur: ' + res.data.message); + history.push("/Connexion"); + } + else { + setGetCurrentPartnerClass_api("false"); + setGetCurrentPartnerClass_message(res.data.message); + + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + } + + }).catch((error) => { + console.warn('Not good man :( mysearchtext = ', error); + setGetCurrentPartnerClass_api("false"); + + setdisplay_alert_mysy("1"); + setalert_message(" Impossible de recuperer la liste des formations"); + setalert_type("error"); + }) + } + + + const [New_Getall_TrainingSession_For_Given_Class_result, setNew_Getall_TrainingSession_For_Given_Class_result] = useState([{ + "_id": "", + "id": "", + "label": "", + "code_session": "", + "titre": "", + "date_debut": "", + "date_fin": "", + }]); + + const [Getall_TrainingSession_For_Given_Class_api, setGetall_TrainingSession_For_Given_Class_api] = useState(); + const [Getall_TrainingSession_For_Given_Class_message, setGetall_TrainingSession_For_Given_Class_message] = useState(); + const [Getall_TrainingSession_For_Given_Class_result, setGetall_TrainingSession_For_Given_Class_result] = useState([]); + function Getall_TrainingSession_For_Given_Class(local_class_id) { + + var form = new FormData(); + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("class_id", local_class_id); + + + form.append("archive", "0"); + // form.append("type_session", "1"); + + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_Partner_Session_Ftion_Reduice_Fields/"; + + + setLoading(true); + axios.post(myurl, form).then(res => { + + if (String(res.data.status) === String("true")) { + //console.log(" In Getall_TrainingSession_For_Given_Class res.data.status = " + res.data.status); + // console.log(" In Getall_TrainingSession_For_Given_Class res.data.message r_class = " + res.data.message); + setGetall_TrainingSession_For_Given_Class_api("true"); + setGetall_TrainingSession_For_Given_Class_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_code_session = JSON.parse(x).code_session; + var local_titre = JSON.parse(x).titre; + var local_date_debut = JSON.parse(x).date_debut; + var local_date_fin = JSON.parse(x).date_fin; + var local_session_etape = JSON.parse(x).session_etape; + + + //--- + var node = { + "_id": local_id, + "id": localid, + "label": local_code_session, + "code_session": local_code_session, + "titre": local_titre, + "date_debut": local_date_debut, + "date_fin": local_date_fin, + "session_etape": local_session_etape, + + + }; + new_data2.push(node); + + }); + var node = { + "_id": "", + "id": "", + "label": "", + "code_session": "", + "titre": "", + "date_debut": "", + "date_fin": "", + }; + new_data2.push(node); + + if (new_data2.length > 0) { + setNew_Getall_TrainingSession_For_Given_Class_result(new_data2); + + } else { + setNew_Getall_TrainingSession_For_Given_Class_result([{ + "_id": "", + "id": "", + "label": "", + "code_session": "", + "titre": "", + "date_debut": "", + "date_fin": "", + }]) + } + + + // console.log(" ### new_data2 = ", new_data2) + } + else { + setGetall_TrainingSession_For_Given_Class_api("false"); + setGetall_TrainingSession_For_Given_Class_message(res.data.message); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + } + + setLoading(false); + }).catch((error) => { + setLoading(false); + console.warn('Not good man :( Getall_TrainingSession_For_Given_Class = ', error); + setGetall_TrainingSession_For_Given_Class_api("false"); + + setdisplay_alert_mysy("1"); + setalert_message("Impossible de récuperer les sessions"); + setalert_type("error"); + //setmyApimyApiMessage("") + }) + } + + + + const [New_Getall_Partner_Product_Service_result, setNew_Getall_Partner_Product_Service_result] = useState([]); + + const [Getall_Partner_Product_Service_api, setGetall_Partner_Product_Service_api] = useState(); + const [Getall_Partner_Product_Service_message, setGetall_Partner_Product_Service_message] = useState(); + const [Getall_Partner_Product_Service_result, setGetall_Partner_Product_Service_result] = useState([]); + function Getall_Partner_Product_Service(event) { + + var form = new FormData(); + + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_List_Partner_Produit_Service/"; + + + axios.post(myurl, form).then(res => { + + if (String(res.data.status) === String("true")) { + //console.log(" In Getall_Partner_Product_Service res.data.status = " + res.data.status); + //console.log(" In Getall_Partner_Product_Service res.data.message r_class = " + res.data.message); + setGetall_Partner_Product_Service_api("true"); + setGetall_Partner_Product_Service_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_code = JSON.parse(x).code; + var local_nom = JSON.parse(x).nom; + var local_type = JSON.parse(x).type; + var local_code_taxe = JSON.parse(x).code_taxe; + var local_prix_vente = JSON.parse(x).prix_vente; + + + //--- + var node = { + "_id": local_id, + "id": localid, + "label": local_code + "-" + local_nom, + "code": local_code, + "nom": local_nom, + "type": local_type, + "code_taxe": local_code_taxe, + "prix_vente": local_prix_vente, + + + }; + new_data2.push(node); + }); + + //--- + var node = { + "_id": "", + "id": "", + "label": "", + "code": "", + "nom": "", + "type": "", + "code_taxe": "", + "prix_vente": "", + + }; + new_data2.push(node); + + + if (new_data2.length > 0) + setNew_Getall_Partner_Product_Service_result(new_data2); + + } + else { + setGetall_Partner_Product_Service_api("false"); + setGetall_Partner_Product_Service_message(res.data.message); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + } + + }).catch((error) => { + console.warn('Not good man :( Getall_Partner_Product_Service = ', error); + setGetall_Partner_Product_Service_api("false"); + // alert(" Impossible de recuperer la liste des produits et services"); + setdisplay_alert_mysy("1"); + setalert_message(" Impossible de recuperer la liste des produits et services"); + setalert_type("error"); + //setmyApimyApiMessage("") + }) + } + + + + const [partner_digital_signature_status, setpartner_digital_signature_status] = useState("0"); + const [local_partner_digital_signature_status, setlocal_partner_digital_signature_status] = useState(false); + + + const [Getall_Partner_Digital_Sign_Status_api, setGetall_Partner_Digital_Sign_Status_api] = useState(); + const [Getall_Partner_Digital_Sign_Status_message, setGetall_Partner_Digital_Sign_Status_message] = useState(); + const [Getall_Partner_Digital_Sign_Status_result, setGetall_Partner_Digital_Sign_Status_result] = useState([]); + function Getall_Partner_Digital_Sign_Status(event) { + var form = new FormData(); + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Is_Partnair_Has_Digital_Signature/"; + + setLoading(true); + axios.post(myurl, form).then(res => { + + setLoading(false); + + if (String(res.data.status) === String("true")) { + //console.log(" In Getall_Partner_Digital_Sign_Status res.data.status = " + res.data.status); + //console.log(" In Getall_Partner_Digital_Sign_Status res.data.message r_class = " + res.data.message); + setGetall_Partner_Digital_Sign_Status_api("true"); + setGetall_Partner_Digital_Sign_Status_result(res.data.message); + + + if (JSON.parse(res.data.message).config_name && JSON.parse(res.data.message).config_value) { + + + if (String(JSON.parse(res.data.message).config_name) === "signature_digital" && + String(JSON.parse(res.data.message).config_value) === "1") { + + setpartner_digital_signature_status("1"); + setlocal_partner_digital_signature_status(true); + + } + + } + + + + } + else { + setGetall_Partner_Digital_Sign_Status_api("false"); + setGetall_Partner_Digital_Sign_Status_message(res.data.message); + } + + }).catch((error) => { + setLoading(false); + console.warn('Not good man :( Getall_Partner_Digital_Sign_Status = ', error); + setGetall_Partner_Digital_Sign_Status_api("false"); + //setmyApimyApiMessage("") + }) + } + + + const [Getall_Parter_Devis_Config_Points_api, setGetall_Parter_Devis_Config_Points_api] = useState(); + const [Getall_Parter_Devis_Config_Points_message, setGetall_Parter_Devis_Config_Points_message] = useState(); + const [Getall_Parter_Devis_Config_Points_result, setGetall_Parter_Devis_Config_Points_result] = useState([]); + function Getall_Parter_Devis_Config_Points(event) { + + var form = new FormData(); + + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("tab_related_collection", "quotation"); + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_List_Partner_Basic_Setup/"; + + setLoading(true); + axios.post(myurl, form).then(res => { + setLoading(false); + + if (String(res.data.status) === String("true")) { + //console.log(" In Getall_Parter_Devis_Config_Points res.data.status = " + res.data.status); + //console.log(" In Getall_Parter_Devis_Config_Points res.data.message r_class = " + res.data.message); + setGetall_Parter_Devis_Config_Points_api("true"); + setGetall_Parter_Devis_Config_Points_result(res.data.message); + + } + else { + setGetall_Parter_Devis_Config_Points_api("false"); + setGetall_Parter_Devis_Config_Points_message(res.data.message); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("success"); + } + + }).catch((error) => { + setLoading(false); + console.warn('Not good man :( Getall_Parter_Devis_Config_Points = ', error); + setGetall_Parter_Devis_Config_Points_api("false"); + alert(" Impossible de recuperer la liste des points de configuration des devis"); + //setmyApimyApiMessage("") + }) + } + + + const [history_securite_read, sethistory_securite_read] = useState(""); + + + useEffect(() => { + + sethistory_securite_read(props.check_user_acces_right("historique", "read")) + + Get_List_Partner_Clients(); + Getall_Training_Employee_No_Filter(); + GetCurrentPartnerClass(); + + Get_Given_Partner_Config_Point_Taux_TVA(); + Getall_Partner_Paiement_Condition(); + Getall_TrainingSession(); + Getall_Partner_Digital_Sign_Status(); + Getall_Partner_Product_Service(); + + + if (orderid && String(orderid).length > 3) { + + /* + Dans le cas précis des produits et service, "props.class_external_code" est utilisé comme + l'_id du client*/ + + Getall_Parter_Orders_With_Filter_On_Client_Id(orderid); + // console.log(" ~### 222 mes facture props action, orderid = ", action, orderid); + + } else { + Getall_Parter_Orders_No_Filter(); + } + + if (document.getElementById('myRef_head')) { + var divh = document.getElementById('myRef_head').offsetTop; + window.scrollTo({ + top: divh, + behavior: "smooth", + }); + } + + + Getall_Parter_Devis_Config_Points(); + + }, []) + + const [Getall_Parter_Orders_No_Filter_api, setGetall_Parter_Orders_No_Filter_api] = useState(); + const [Getall_Parter_Orders_No_Filter_message, setGetall_Parter_Orders_No_Filter_message] = useState(); + const [Getall_Parter_Orders_No_Filter_result, setGetall_Parter_Orders_No_Filter_result] = useState(); + function Getall_Parter_Orders_No_Filter(event) { + + var form = new FormData(); + + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_List_Partner_Order_no_filter/"; + + axios.post(myurl, form).then(res => { + + if (String(res.data.status) === String("true")) { + //console.log(" In Getall_Parter_Orders_No_Filter res.data.status = " + res.data.status); + //console.log(" In Getall_Parter_Orders_No_Filter res.data.message r_class = " + res.data.message); + setGetall_Parter_Orders_No_Filter_api("true"); + setGetall_Parter_Orders_No_Filter_result(res.data.message); + setRows(res.data.message); + setRows_total_data(JSON.parse(res.data.total_data)); + } + else { + setGetall_Parter_Orders_No_Filter_api("false"); + setGetall_Parter_Orders_No_Filter_message(res.data.message); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + } + + }).catch((error) => { + console.warn('Not good man :( Getall_Parter_Orders_No_Filter = ', error); + setGetall_Parter_Orders_No_Filter_api("false"); + alert(" Impossible de recuperer la liste des commandes et devis"); + //setmyApimyApiMessage("") + }) + } + + + const [Getall_Parter_Orders_With_Filter_api, setGetall_Parter_Orders_With_Filter_api] = useState(); + const [Getall_Parter_Orders_With_Filter_message, setGetall_Parter_Orders_With_Filter_message] = useState(); + const [Getall_Parter_Orders_With_Filter_result, setGetall_Parter_Orders_With_Filter_result] = useState(); + function Getall_Parter_Orders_With_Filter(event) { + + var form = new FormData(); + + // Recuperation des parametres + var filtre1 = p_filtre1; + var filtre2 = p_filtre2; + var filtre3 = p_filtre3; + var filtre4 = p_filtre4; + + var filtre1_value = ""; + var filtre2_value = ""; + var filtre3_value = ""; + var filtre4_value = ""; + // Recuperation des valeurs de filtres + + if (p_filtre1_value) { + filtre1_value = p_filtre1_value; + form.append(filtre1, filtre1_value); + } + + if (p_filtre2_value) { + filtre2_value = p_filtre2_value; + form.append(filtre2, filtre2_value); + } + + if (p_filtre3_value) { + filtre3_value = p_filtre3_value; + form.append(filtre3, p_filtre3_value); + } + + if (p_filtre4_value) { + filtre4_value = p_filtre4_value; + form.append(filtre4, p_filtre4_value); + } + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_List_Partner_Order_with_filter/"; + + axios.post(myurl, form).then(res => { + + if (String(res.data.status) === String("true")) { + //console.log(" In Getall_Parter_Orders_With_Filter res.data.status = " + res.data.status); + //console.log(" In Getall_Parter_Orders_With_Filter res.data.message r_class = " + res.data.message); + setGetall_Parter_Orders_With_Filter_api("true"); + setGetall_Parter_Orders_With_Filter_result(res.data.message); + setRows(res.data.message); + setRows_total_data(JSON.parse(res.data.total_data)); + } + else { + setGetall_Parter_Orders_With_Filter_api("false"); + setGetall_Parter_Orders_With_Filter_message(res.data.message); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + } + + }).catch((error) => { + console.warn('Not good man :( Getall_Parter_Orders_With_Filter = ', error); + setGetall_Parter_Orders_With_Filter_api("false"); + alert(" Impossible de recuperer la liste des commandes et devis"); + //setmyApimyApiMessage("") + }) + } + + const [Getall_Parter_Orders_With_Filter_On_Client_Id_api, setGetall_Parter_Orders_With_Filter_On_Client_Id_api] = useState(); + const [Getall_Parter_Orders_With_Filter_On_Client_Id_message, setGetall_Parter_Orders_With_Filter_On_Client_Id_message] = useState(); + const [Getall_Parter_Orders_With_Filter_On_Client_Id_result, setGetall_Parter_Orders_With_Filter_On_Client_Id_result] = useState(); + function Getall_Parter_Orders_With_Filter_On_Client_Id(local_client_id) { + + var form = new FormData(); + + + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("order_header_client_id", local_client_id); + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_List_Partner_Order_with_filter/"; + + axios.post(myurl, form).then(res => { + + if (String(res.data.status) === String("true")) { + //console.log(" In Getall_Parter_Orders_With_Filter_On_Client_Id res.data.status = " + res.data.status); + //console.log(" In Getall_Parter_Orders_With_Filter_On_Client_Id res.data.message r_class = " + res.data.message); + setGetall_Parter_Orders_With_Filter_On_Client_Id_api("true"); + setGetall_Parter_Orders_With_Filter_On_Client_Id_result(res.data.message); + setRows(res.data.message); + setRows_total_data(JSON.parse(res.data.total_data)); + } + else { + setGetall_Parter_Orders_With_Filter_On_Client_Id_api("false"); + setGetall_Parter_Orders_With_Filter_On_Client_Id_message(res.data.message); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + } + + }).catch((error) => { + console.warn('Not good man :( Getall_Parter_Orders_With_Filter_On_Client_Id = ', error); + setGetall_Parter_Orders_With_Filter_On_Client_Id_api("false"); + alert(" Impossible de recuperer la liste des commandes et devis"); + //setmyApimyApiMessage("") + }) + } + + + const [session_file_name, setsession_file_name] = useState(); + const [liste_sessions_file_change_api, setliste_sessions_file_change_api] = useState(); + const [liste_sessions_file_change_result, setliste_sessions_file_change_result] = useState(); + const [liste_sessions_file_change_message, setliste_sessions_file_change_message] = useState(); + const liste_sessions_file_change = event => { + + + const fileUploaded = event.target.files[0]; + let file_size = event.target.files[0].size; + let file_type = event.target.files[0].type; + + //console.log("file_size = ",file_size," file_type = ",file_type); + if (file_size > 10000000) { + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message("Le fichier ne doit pas dépasser un 1 Méga octets"); + setalert_type("error"); + // alert("Le fichier ne doit pas dépasser un 1 Méga octets"); + return; + } + + setsession_file_name(event.target.files[0].name); + + const formData = new FormData(); + formData.append('File', fileUploaded); + //formData.append('token', 'K3cw63eKokKSbV4spjQ48SUNnfy80yrXfA'); + const stored_cookie = getCookie('tokenmysypart'); + + formData.append("token", stored_cookie); + //console.log("token = " + stored_cookie); + + fetch( + // ici a modifier process.env.REACT_APP_API_URL + "myclass/api/Add_Ressource_Humaine_mass/", + { + method: 'POST', + body: formData, + } + ) + .then((response) => response.json()) + .then((result) => { + + //console.log(" ## result['status'] = ", result['status']) + if (String(result['status']) === String("Err_Connexion")) { + alert('Erreur: ' + result['message']); + history.push("/Connexion"); + } + + else if (String(result['status']) === String("true")) { + //console.log('Success:', result['message']); + setliste_sessions_file_change_result(result['message']); + setliste_sessions_file_change_api("true"); + + //Getall_Training_Employee(); + // alert(" Les employés ont été correctement importés"); + + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message("Les employés ont été correctement importés"); + setalert_type("success"); + + + } + + else { + setliste_sessions_file_change_message(result['message']); + setliste_sessions_file_change_api("false"); + alert('Erreur: ' + result['message']); + + } + + + }) + .catch((error) => { + console.error('Error:', error); + setliste_sessions_file_change_api("false"); + alert(" Impossible d'importer les employés "); + }); + } + + const myRef_head = useRef(null); + const [selected_id, setselected_id] = useState(""); + const [selected_order_line_id, setselected_order_line_id] = useState(""); + + const [selected_order_line_row_number_id, setselected_order_line_row_number_id] = useState(""); + const [selected_order_line_class_id, setselected_order_line_class_id] = useState(""); + + + const [selected_order_header_type, setselected_order_header_type] = useState(); + + const [order_internal_ref, setorder_internal_ref] = useState(""); + function handleClick_edit_order_From_Line(selected_row_id) { + + //submenu_detail_employe(); + + var line = JSON.parse(rowss[selected_row_id]); + + var order_id = line._id; + setselected_id(order_id); + + var order_ref = line.order_header_ref_interne; + setorder_internal_ref(order_ref); + + var order_header_type = line.order_header_type; + setselected_order_header_type(order_header_type); + + //console.log(" ### employe_id = ", employe_id); + Display_Detail_Order_data(order_id); + + + var divh = document.getElementById('myRef').offsetTop; + window.scrollTo({ + top: divh, + behavior: "smooth", + }); + + + + } + + function Display_Detail_Order_data(order_id) { + //clearDetailAttendeFields(); + setadd_One_Order(); + setdisplay_detail_order("1"); + setsubmenu("detail_order"); + clean_order_detail_fields(); + setselectionModel_order_lines([]); + + setLoading(true); + Get_Order_Data(order_id); + Get_Partner_Orders_Lines_from_header_id(order_id); + + } + + const [Order_data_changed, setOrder_data_changed] = useState(); + const [order_data_edit_mode, setorder_data_edit_mode] = useState(); + + + + const [Quotation_list_relance, setQuotation_list_relance] = useState([]); + + const [GetAttendee_api, setGetAttendee_api] = useState(); + const [GetAttendee_message, setGetAttendee_message] = useState(); + const [GetAttendee_result, setGetAttendee_result] = useState([]); + function Get_Order_Data(order_id) { + setOrder_data_changed(""); + setorder_data_edit_mode(""); + + + var form = new FormData(); + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("_id", order_id); + + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_Given_Partner_Order/"; + + setLoading(true); + + axios.post(myurl, form).then(res => { + + if (String(res.data.status) === "true") { + setLoading(false); + //console.log(" In Get_Order_Data res.data.status = " + res.data.status); + //console.log(" In Get_Order_Data res.data.message r_class = " + res.data.message); + setGetAttendee_api("true"); + setGetAttendee_result(res.data.message); + + if (res.data.message.length > 0) { + var mylocal_order = JSON.parse(res.data.message); + + + //document.getElementsByName("detail_header_type")[0].value = ""; + if (mylocal_order.order_header_type) + setp_detail_header_type(mylocal_order.order_header_type); + + //document.getElementsByName("detail_header_status")[0].value = ""; + if (mylocal_order.order_header_status) { + setp_detail_header_statut(mylocal_order.order_header_status); + + if (mylocal_order.order_header_type === "commande") { + if (String(mylocal_order.order_header_status) === "0") { + setp_detail_header_statut_label("Brouillon"); + } + else if (String(mylocal_order.order_header_status) === "1") { + setp_detail_header_statut_label("En cours"); + } + else if (String(mylocal_order.order_header_status) === "2") { + setp_detail_header_statut_label("Traité"); + } + else if (String(mylocal_order.order_header_status) === "3") { + setp_detail_header_statut_label("Facturé"); + } + else if (String(mylocal_order.order_header_status) === "-1") { + setp_detail_header_statut_label("Annulé"); + } + } + if (mylocal_order.order_header_type === "devis") { + if (String(mylocal_order.order_header_status) === "0") { + setp_detail_header_statut_label("Brouillon"); + } + else if (String(mylocal_order.order_header_status) === "1") { + setp_detail_header_statut_label("En cours"); + } + else if (String(mylocal_order.order_header_status) === "2") { + setp_detail_header_statut_label("Fermé"); + } + else if (String(mylocal_order.order_header_status) === "3") { + setp_detail_header_statut_label("Gagné"); + } + + else if (String(mylocal_order.order_header_status) === "4") { + setp_detail_header_statut_label("Perdu"); + } + + else if (String(mylocal_order.order_header_status) === "5") { + setp_detail_header_statut_label("Facturé"); + } + + else if (String(mylocal_order.order_header_status) === "-1") { + setp_detail_header_statut_label("Annulé"); + } + } + + } + else { + setp_detail_header_statut("0"); + setp_detail_header_statut_label("Brouillon"); + } + + if (mylocal_order.date_validation) { + setp_detail_header_devis_date_validation(mylocal_order.date_validation); + } else { + setp_detail_header_devis_date_validation(""); + } + + if (mylocal_order.date_envoi_quotation) { + setp_detail_header_devis_date_envoi(mylocal_order.date_envoi_quotation); + } else { + setp_detail_header_devis_date_envoi(""); + } + + if (mylocal_order.related_order_internal_ref) { + setp_detail_header_order_header_ref_interne(mylocal_order.related_order_internal_ref); + } else { + setp_detail_header_order_header_ref_interne(""); + } + + if (mylocal_order.closure_reason) { + setp_detail_comment_raison_cloture(mylocal_order.closure_reason); + } else { + setp_detail_comment_raison_cloture(""); + } + + //document.getElementsByName("detail_header_ref_interne")[0].value = ""; + if (mylocal_order.order_header_ref_interne) { + setp_detail_header_ref_interne(mylocal_order.order_header_ref_interne); + } + + if (mylocal_order.order_header_paiement_condition_code) { + setp_detail_header_condition_paiement_code(mylocal_order.order_header_paiement_condition_code); + } + + if (mylocal_order.order_header_paiement_condition_id) { + setp_detail_header_condition_paiement_id(mylocal_order.order_header_paiement_condition_id); + } + + + //document.getElementsByName("detail_header_ref_cient")[0].value = ""; + if (mylocal_order.order_header_ref_client) { + setp_detail_header_ref_client(mylocal_order.order_header_ref_client); + } + + if (mylocal_order.order_header_email_client) { + setp_detail_header_email_client(mylocal_order.order_header_email_client); + } + + + //document.getElementsByName("detail_header_date_cmd")[0].value = ""; + if (mylocal_order.order_header_date_cmd) { + setp_detail_header_date_cmd(mylocal_order.order_header_date_cmd); + setp_detail_header_date_cmd_val(mylocal_order.order_header_date_cmd); + } + + //document.getElementsByName("detail_header_date_expiration")[0].value = ""; + if (mylocal_order.order_header_date_expiration) { + setp_detail_header_date_expiration(mylocal_order.order_header_date_expiration); + setp_detail_header_date_expiration_val(mylocal_order.order_header_date_cmd); + } + + + + //document.getElementsByName("detail_nom_client")[0].value = ""; + if (mylocal_order.order_header_client_nom) { + setp_detail_header_client_nom(mylocal_order.order_header_client_nom); + setp_detail_header_client_nom_id(mylocal_order.order_header_client_id); + } + + + //document.getElementsByName("detail_header_description")[0].value = ""; + if (mylocal_order.order_header_description) { + setp_detail_header_description(mylocal_order.order_header_description); + } + + //document.getElementsByName("detail_header_comment")[0].value = ""; + if (mylocal_order.order_header_lieu_formation) { + setp_detail_header_lieu_formation(mylocal_order.order_header_lieu_formation); + } else { + setp_detail_header_lieu_formation(""); + } + + if (mylocal_order.order_header_comment) { + setp_detail_header_comment(mylocal_order.order_header_comment); + } + + + + + // document.getElementsByName("detail_header_vendeur_nom_prenom")[0].value = ""; + if (mylocal_order.order_header_vendeur_nom_prenom) { + setp_detail_header_vendeur_nom(mylocal_order.order_header_vendeur_nom_prenom); + setp_detail_header_vendeur_nom_id(mylocal_order.order_header_vendeur_id); + } + + + // Recuperation des adresses (livraison / lieu execution - Facturation ) + //document.getElementsByName("detail_header_fact_adresse")[0].value = ""; + if (mylocal_order.order_header_adr_fact_adresse) { + setp_detail_header_fact_adr(mylocal_order.order_header_adr_fact_adresse); + } + + //document.getElementsByName("detail_header_fact_code_postal")[0].value = ""; + if (mylocal_order.order_header_adr_fact_code_postal) { + setp_detail_header_fact_code_postal(mylocal_order.order_header_adr_fact_code_postal); + } + + //document.getElementsByName("detail_header_fact_ville")[0].value = ""; + if (mylocal_order.order_header_adr_fact_ville) { + setp_detail_header_fact_ville(mylocal_order.order_header_adr_fact_ville); + } + + //document.getElementsByName("detail_header_fact_pays")[0].value = ""; + if (mylocal_order.order_header_adr_fact_pays) { + setp_detail_header_fact_pays(mylocal_order.order_header_adr_fact_pays); + } + + //document.getElementsByName("detail_header_liv_adresse")[0].value = ""; + if (mylocal_order.order_header_adr_liv_adresse) { + setp_detail_header_liv_adr(mylocal_order.order_header_adr_liv_adresse); + } + + //document.getElementsByName("detail_header_liv_code_postal")[0].value = ""; + if (mylocal_order.order_header_adr_liv_code_postal) { + setp_detail_header_liv_code_postal(mylocal_order.order_header_adr_liv_code_postal); + } + + //document.getElementsByName("detail_header_liv_ville")[0].value = ""; + if (mylocal_order.order_header_adr_liv_ville) { + sep_detail_header_liv_ville(mylocal_order.order_header_adr_liv_ville); + } + + //document.getElementsByName("detail_header_liv_pays")[0].value = ""; + if (mylocal_order.order_header_adr_liv_pays) { + setp_detail_header_liv_pays(mylocal_order.order_header_adr_liv_pays); + } + + + // Recuperation des montant, taxes et autres reductions + //document.getElementsByName("detail_header_total_ht")[0].value = ""; + if (mylocal_order.order_header_total_ht) { + setp_detail_header_total_ht(mylocal_order.order_header_total_ht); + } + + //document.getElementsByName("detail_header_total_tax")[0].value = ""; + if (mylocal_order.order_header_tax_amount) { + setp_detail_header_total_tax(mylocal_order.order_header_tax_amount); + } + + + //document.getElementsByName("detail_header_total_ttc")[0].value = ""; + if (mylocal_order.order_header_total_ttc) { + setp_detail_header_total_ttc(mylocal_order.order_header_total_ttc); + } + + //document.getElementsByName("detail_header_type_reduction")[0].value = ""; + if (mylocal_order.order_header_type_reduction) { + setp_detail_header_type_reduction(mylocal_order.order_header_type_reduction); + } + + //document.getElementsByName("detail_header_type_reduction_valeur")[0].value = ""; + if (mylocal_order.order_header_type_reduction_valeur) { + setp_detail_header_type_reduction_valeur(mylocal_order.order_header_type_reduction_valeur); + } + + + if (mylocal_order.order_header_montant_reduction) { + setp_detail_header_total_reduction_amount(mylocal_order.order_header_montant_reduction); + } + + + if (mylocal_order.total_lines_montant_reduction) { + setp_detail_header_montant_reduction(mylocal_order.total_lines_montant_reduction); + } + + if (mylocal_order.total_header_hors_taxe_before_header_reduction) { + setp_detail_total_header_hors_taxe_before_header_reduction(mylocal_order.total_header_hors_taxe_before_header_reduction); + } + + if (mylocal_order.total_header_hors_taxe_after_header_reduction) { + setp_detail_total_header_hors_taxe_after_header_reduction(mylocal_order.total_header_hors_taxe_after_header_reduction); + } + + if (mylocal_order.order_header_tax_amount) { + setp_detail_order_header_tax_amount(mylocal_order.order_header_tax_amount); + } + + + if (mylocal_order.total_header_toutes_taxes) { + setp_detail_total_header_toutes_taxes(mylocal_order.total_header_toutes_taxes); + } + + if (mylocal_order.total_lines_hors_taxe_before_lines_reduction) { + setp_detail_total_lines_hors_taxe_before_lines_reduction(mylocal_order.total_lines_hors_taxe_before_lines_reduction); + } + + if (mylocal_order.total_lines_hors_taxe_after_lines_reduction) { + setp_detail_total_lines_hors_taxe_after_lines_reduction(mylocal_order.total_lines_hors_taxe_after_lines_reduction); + } + + if (mylocal_order.relance_auto) { + setp_detail_header_devis_relance_auto(mylocal_order.relance_auto); + } else { + setp_detail_header_devis_relance_auto(""); + } + + if (mylocal_order.frequence_relance_auto) { + setp_detail_header_devis_frequence_relance(mylocal_order.frequence_relance_auto); + } else { + setp_detail_header_devis_frequence_relance(""); + } + + if (mylocal_order.nb_relance_auto) { + setp_detail_header_devis_nb_relance(mylocal_order.nb_relance_auto); + } else { + setp_detail_header_devis_nb_relance(""); + + } + + if (mylocal_order.list_relance) { + setQuotation_list_relance(mylocal_order.list_relance); + } else { + setQuotation_list_relance([]); + + } + + + if (mylocal_order.order_header_inclus_bpf) { + setp_add_cmd_header_order_inclus_bpf(mylocal_order.order_header_inclus_bpf); + } else { + setp_add_cmd_header_order_inclus_bpf(""); + } + + + + disable_Order_Header_DetailFields(); + order_header_submenu_main(); + + } else { + // alert(" Aucune commande/devis recuperé"); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message("Aucune commande/devis recuperé"); + setalert_type("error"); + } + + + } else if (String(res.data.status) === String("Err_Connexion")) { + setLoading(false); + alert('Erreur: ' + res.data.message); + history.push("/Connexion"); + } + + else { + setLoading(false); + setGetAttendee_api("false"); + setGetAttendee_message(res.data.message); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + } + + }).catch((error) => { + setLoading(false); + console.warn('Not good man :( Get_Order_Data = ', error); + setGetAttendee_api("false"); + alert(" Impossible de recuperer les données de la commande / devis"); + //setmyApimyApiMessage("") + }) + } + + + const [Get_Partner_Orders_Lines_from_header_id_api, setGet_Partner_Orders_Lines_from_header_id_api] = useState(); + const [Get_Partner_Orders_Lines_from_header_id_message, setGet_Partner_Orders_Lines_from_header_id_message] = useState(); + const [Get_Partner_Orders_Lines_from_header_id_result, setGet_Partner_Orders_Lines_from_header_id_result] = useState(); + function Get_Partner_Orders_Lines_from_header_id(local_order_header_id) { + + var form = new FormData(); + + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("order_header_id", local_order_header_id); + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_Given_Partner_Order_Lines/"; + setLoading(true); + axios.post(myurl, form).then(res => { + + if (String(res.data.status) === String("true")) { + setLoading(false); + //console.log(" In Get_Partner_Orders_Lines_from_header_id res.data.status = " + res.data.status); + //console.log(" In Get_Partner_Orders_Lines_from_header_id res.data.message r_class = " + res.data.message); + setGet_Partner_Orders_Lines_from_header_id_api("true"); + setGet_Partner_Orders_Lines_from_header_id_result(res.data.message); + setrows_order_lines(res.data.message); + } + else { + setLoading(false); + setGet_Partner_Orders_Lines_from_header_id_api("false"); + setGet_Partner_Orders_Lines_from_header_id_message(res.data.message); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + } + + }).catch((error) => { + setLoading(false); + console.warn('Not good man :( Get_Partner_Orders_Lines_from_header_id = ', error); + setGet_Partner_Orders_Lines_from_header_id_api("false"); + alert(" Impossible de recuperer le detail de la commande / devis"); + //setmyApimyApiMessage("") + }) + } + + const [New_Get_List_Partner_Clients_result, setNew_Get_List_Partner_Clients_result] = useState([]); + + const [Get_List_Partner_Clients_api, setGet_List_Partner_Clients_api] = useState(); + const [Get_List_Partner_Clients_message, setGet_List_Partner_Clients_message] = useState(); + const [Get_List_Partner_Clients_result, setGet_List_Partner_Clients_result] = useState(); + function Get_List_Partner_Clients(event) { + + var form = new FormData(); + const stored_cookie = getCookie('tokenmysypart'); + + form.append("token", stored_cookie); + + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_Partner_List_Partner_Client/"; + + 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.message r_class = " + res.data.message); + + if (String(res.data.status) === String("true")) { + setGet_List_Partner_Clients_api("true"); + setGet_List_Partner_Clients_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_nom = JSON.parse(x).nom; + var local_raison_sociale = JSON.parse(x).raison_sociale; + var local_cond_paiement_id = JSON.parse(x).invoice_condition_paiement_id; + + //--- + var node = { + "_id": local_id, + "id": localid, + "label": local_nom, + "nom": local_nom, + "raison_sociale": local_raison_sociale, + "invoice_condition_paiement_id": local_cond_paiement_id, + + }; + new_data2.push(node); + }); + + if (new_data2.length > 0) + setNew_Get_List_Partner_Clients_result(new_data2); + + } + else if (String(res.data.status) === String("Err_Connexion")) { + alert('Erreur: ' + res.data.message); + history.push("/Connexion"); + } + else { + setGet_List_Partner_Clients_api("false"); + setGet_List_Partner_Clients_message(res.data.message); + alert('Erreur: ' + res.data.message); + } + + }).catch((error) => { + console.warn('Not good man :( Get_List_Partner_Clients = ', error); + setGet_List_Partner_Clients_api("false"); + alert('Erreur: Impossible de recuperer la liste des clients'); + //setmyApimyApiMessage("") + }) + } + + + const [New_Getall_TrainingSession_result, setNew_Getall_TrainingSession_result] = useState([]); + + const [Getall_TrainingSession_api, setGetall_TrainingSession_api] = useState(); + const [Getall_TrainingSession_message, setGetall_TrainingSession_message] = useState(); + const [Getall_TrainingSession_result, setGetall_TrainingSession_result] = useState(); + function Getall_TrainingSession(event) { + var form = new FormData(); + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("archive", "0"); + var myurl = process.env.REACT_APP_API_URL + "myclass/api/GetAllValideSessionPartner_List/"; + + setLoading(true); + + axios.post(myurl, form).then(res => { + + setLoading(false); + + if (String(res.data.status) === String("true")) { + //console.log(" In Getall_TrainingSession res.data.status = " + res.data.status); + //console.log(" In Getall_TrainingSession res.data.message r_class = " + res.data.message); + setGetall_TrainingSession_api("true"); + setGetall_TrainingSession_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_internal_url = JSON.parse(x).class_internal_url; + var local_title_session = JSON.parse(x).titre; + var local_code_session = JSON.parse(x).code_session; + + + + //--- + var node = { + "_id": local_id, + "id": localid, + "label": local_code_session, + "class_internal_url": local_internal_url, + "titre": local_title_session, + "code_session": local_code_session, + }; + new_data2.push(node); + + // return {"_id": " + str(local_id) + ", "label": " + local_courrier_template_ref_interne + '" , "courrier_template_ref_interne": "' + local_courrier_template_ref_interne + '", "nom_champ_technique": "' + local_nom_champ_technique + '", "nom_champ_fonctionel": "' + local_nom_champ_fonctionel + '","valide": "1" }; + + }); + + //--- + var node = { + "_id": "", + "id": "", + "label": "", + "class_internal_url": "", + "titre": "", + "code_session": "", + }; + new_data2.push(node); + + if (new_data2.length > 0) { + setNew_Getall_TrainingSession_result(new_data2); + + //console.log(" ### setNew_Getall_TrainingSession_result = ", new_data2); + } + + + } + else { + setGetall_TrainingSession_api("false"); + setGetall_TrainingSession_message(res.data.message); + } + + }).catch((error) => { + setLoading(false); + console.warn('Not good man :( Getall_TrainingSession = ', error); + setGetall_TrainingSession_api("false"); + //setmyApimyApiMessage("") + }) + } + + + const [partner_taux_tva, setpartner_taux_tva] = useState("20"); + + const [Get_Given_Partner_Config_Point_Taux_TVA_api, setGet_Given_Partner_Config_Point_Taux_TVA_api] = useState(); + const [Get_Given_Partner_Config_Point_Taux_TVA_message, setGet_Given_Partner_Config_Point_Taux_TVA_message] = useState(); + const [Get_Given_Partner_Config_Point_Taux_TVA_result, setGet_Given_Partner_Config_Point_Taux_TVA_result] = useState(); + function Get_Given_Partner_Config_Point_Taux_TVA() { + + var form = new FormData(); + const stored_cookie = getCookie('tokenmysypart'); + + form.append("token", stored_cookie); + form.append("config_name", "tva"); + form.append("related_collection", ""); + + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_Given_Partner_Basic_Setup/"; + + axios.post(myurl, form).then(res => { + //console.log(" In Get_Given_Partner_Config_Point_Taux_TVA res.data.status = " + res.data.status); + //console.log(" In Get_Given_Partner_Config_Point_Taux_TVA res.data.message r_class = " + res.data.message); + + if (String(res.data.status) === String("true")) { + setGet_Given_Partner_Config_Point_Taux_TVA_api("true"); + setGet_Given_Partner_Config_Point_Taux_TVA_result(res.data.message); + + setpartner_taux_tva("20"); + + if (res.data.message.length > 0) { + var point_config_tva = JSON.parse(res.data.message); + + if (point_config_tva.config_value) { + setpartner_taux_tva(point_config_tva.config_value); + // console.log(" GGG TVA PART = ", point_config_tva.config_value); + } + + } else { + // alert(" Aucun taux de TVA récuperé") + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message("Aucun taux de TVA récuperé"); + setalert_type("error"); + } + } + else if (String(res.data.status) === String("Err_Connexion")) { + alert('Erreur: ' + res.data.message); + history.push("/Connexion"); + } + else { + setGet_Given_Partner_Config_Point_Taux_TVA_api("false"); + setGet_Given_Partner_Config_Point_Taux_TVA_message(res.data.message); + alert('Erreur: ' + res.data.message); + } + + }).catch((error) => { + console.warn('Not good man :( Get_Given_Partner_Config_Point_Taux_TVA = ', error); + setGet_Given_Partner_Config_Point_Taux_TVA_api("false"); + alert('Erreur: Impossible de recuperer la liste des clients'); + //setmyApimyApiMessage("") + }) + } + + const [Get_Givent_Partner_Client_Data_api, setGet_Givent_Partner_Client_Data_api] = useState(); + const [Get_Givent_Partner_Client_Data_message, setGet_Givent_Partner_Client_Data_message] = useState(); + const [Get_Givent_Partner_Client_Data_result, setGet_Givent_Partner_Client_Data_result] = useState(); + function Get_Givent_Partner_Client_Data(local_partner_client_id) { + + var form = new FormData(); + const stored_cookie = getCookie('tokenmysypart'); + + form.append("token", stored_cookie); + form.append("_id", local_partner_client_id); + + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_Given_Partner_Client_From_Id/"; + + axios.post(myurl, form).then(res => { + //console.log(" In Get_Givent_Partner_Client_Data res.data.status = " + res.data.status); + //console.log(" In Get_Givent_Partner_Client_Data res.data.message r_class = " + res.data.message); + + if (String(res.data.status) === String("true")) { + setGet_Givent_Partner_Client_Data_api("true"); + setGet_Givent_Partner_Client_Data_result(res.data.message); + var mylocalclient = JSON.parse(res.data.message); + + + if (mylocalclient) { + if (mylocalclient.email) { + setp_detail_header_email_client(mylocalclient.email); + } + + // Recuperation de l'adresse de facturation + if (mylocalclient.invoice_adresse) { + setp_detail_header_fact_adr(mylocalclient.invoice_adresse); + } + + if (mylocalclient.invoice_code_postal) { + setp_detail_header_fact_code_postal(mylocalclient.invoice_code_postal); + } + + if (mylocalclient.invoice_ville) { + setp_detail_header_fact_ville(mylocalclient.invoice_ville); + } + + if (mylocalclient.invoice_pays) { + setp_detail_header_fact_pays(mylocalclient.invoice_pays); + } + + + // Recuperation de l'adresse du lieu de formation (par defaut adresse de la societe) + if (mylocalclient.adr_adresse) { + setp_detail_header_liv_adr(mylocalclient.adr_adresse); + } + + if (mylocalclient.adr_code_postal) { + setp_detail_header_liv_code_postal(mylocalclient.adr_code_postal); + } + + if (mylocalclient.adr_ville) { + sep_detail_header_liv_ville(mylocalclient.adr_ville); + } + + if (mylocalclient.adr_pays) { + setp_detail_header_liv_pays(mylocalclient.adr_pays); + } + } + } + else if (String(res.data.status) === String("Err_Connexion")) { + alert('Erreur: ' + res.data.message); + history.push("/Connexion"); + } + else { + setGet_Givent_Partner_Client_Data_api("false"); + setGet_Givent_Partner_Client_Data_message(res.data.message); + // alert('Erreur: ' + res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + } + + }).catch((error) => { + console.warn('Not good man :( Get_Givent_Partner_Client_Data = ', error); + setGet_Givent_Partner_Client_Data_api("false"); + setdisplay_alert_mysy("1"); + setalert_message("Impossible de recuperer les données du client"); + setalert_type("error"); + // alert('Erreur: Impossible de recuperer les données du client'); + //setmyApimyApiMessage("") + }) + } + + const [Get_Given_Line_Of_Partner_Order_Line_Data_api, setGet_Given_Line_Of_Partner_Order_Line_Data_api] = useState(); + const [Get_Given_Line_Of_Partner_Order_Line_Data_message, setGet_Given_Line_Of_Partner_Order_Line_Data_message] = useState(); + const [Get_Given_Line_Of_Partner_Order_Line_Data_result, setGet_Given_Line_Of_Partner_Order_Line_Data_result] = useState(); + function Get_Given_Line_Of_Partner_Order_Line_Data(local_order_line_id, local_order_header_ref_interne) { + setOrder_data_changed(""); + setorder_data_edit_mode(""); + + + var form = new FormData(); + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("order_line_id", local_order_line_id); + form.append("order_header_ref_interne", local_order_header_ref_interne); + + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_Given_Line_Of_Partner_Order_Lines/"; + + axios.post(myurl, form).then(res => { + + if (String(res.data.status) === "true") { + //console.log(" In Get_Given_Line_Of_Partner_Order_Line_Data res.data.status = " + res.data.status); + //console.log(" In Get_Given_Line_Of_Partner_Order_Line_Data res.data.message r_class = " + res.data.message); + setGet_Given_Line_Of_Partner_Order_Line_Data_api("true"); + setGet_Given_Line_Of_Partner_Order_Line_Data_result(res.data.message); + + if (res.data.message.length > 0) { + var mylocal_order = JSON.parse(res.data.message); + + + if (mylocal_order.order_line_formation) { + setp_add_line_item(mylocal_order.order_line_formation); + } + + + if (mylocal_order.order_line_session_id) { + setp_add_line_session_id(mylocal_order.order_line_session_id); + Get_List_Inscrit_To_Session(mylocal_order.order_line_session_id); + } else { + setp_add_line_session_id(""); + setNew_Get_List_Inscrit_To_Session_result([]); + setGet_List_Inscrit_To_Session_result([]); + } + + if (mylocal_order.order_line_session_code_session) { + setp_add_line_session_code(mylocal_order.order_line_session_code_session); + } else { + setp_add_line_session_code(""); + } + + if (mylocal_order.order_line_type_article) { + setp_add_line_order_line_type_article(mylocal_order.order_line_type_article); + } else { + setp_add_line_order_line_type_article(""); + } + + + if (mylocal_order.order_line_qty) { + setp_add_line_item_qty(mylocal_order.order_line_qty); + } else { + setp_add_line_item_qty("1"); + } + + + + if (mylocal_order.order_line_prix_unitaire) { + setp_add_line_item_price(mylocal_order.order_line_prix_unitaire); + } else { + setp_add_line_item_price("0"); + } + + + /*if (mylocal_order.order_header_id) { + setp_detail_header_type_reduction(mylocal_order.order_header_id); + } + + + if (mylocal_order.order_header_ref_interne) { + setp_detail_header_type_reduction_valeur(mylocal_order.order_header_ref_interne); + }*/ + + + if (mylocal_order.order_line_montant_reduction) { + setp_add_line_item_reduction_total_amount(mylocal_order.order_line_montant_reduction); + } else { + setp_add_line_item_reduction_total_amount(""); + } + + + + if (mylocal_order.order_line_montant_toutes_taxes) { + setp_add_line_item_total_amount_ttc(mylocal_order.order_line_montant_toutes_taxes); + + } else { + setp_add_line_item_total_amount_ttc("") + } + + + if (mylocal_order.order_line_tax) { + setp_add_line_item_taxe(mylocal_order.order_line_tax); + } else { + setp_add_line_item_taxe("") + } + + if (mylocal_order.order_line_taux_taxe) { + setpartner_taux_tva(mylocal_order.order_line_taux_taxe); + } else { + setpartner_taux_tva("") + } + + + if (mylocal_order.order_line_tax_amount) { + setp_add_line_item_taxe_amount(mylocal_order.order_line_tax_amount); + } else { + setp_add_line_item_taxe_amount("") + } + + + if (mylocal_order.order_line_type_reduction) { + setp_add_line_item_type_reduction(mylocal_order.order_line_type_reduction); + } else { + setp_add_line_item_type_reduction("") + } + + + if (mylocal_order.order_line_type_valeur) { + setp_add_line_item_reduction_value(mylocal_order.order_line_type_valeur); + } else { + setp_add_line_item_reduction_value("") + } + + + if (mylocal_order.order_line_type) { + setp_add_line_item_type(mylocal_order.order_line_type); + } else { + setp_add_line_item_type("") + } + + + if (mylocal_order.order_line_status) { + setp_add_line_item_status(mylocal_order.order_line_status); + } else { + setp_add_line_item_status("") + } + + + if (mylocal_order.order_line_comment) { + setp_add_line_item_comment(mylocal_order.order_line_comment); + } else { + setp_add_line_item_comment("") + } + + + if (mylocal_order.title) { + setp_add_line_item_title(mylocal_order.title); + } else { + setp_add_line_item_title("") + } + + if (mylocal_order.order_line_type_apprenant) { + setp_add_line_item_type_apprenant(mylocal_order.order_line_type_apprenant); + } else { + setp_add_line_item_type_apprenant(""); + } + + + if (mylocal_order.order_line_montant_hors_taxes) { + setp_add_line_item_total_amount_ht(mylocal_order.order_line_montant_hors_taxes); + + } else { + setp_add_line_item_total_amount_ht("") + } + + + /*if (mylocal_order.domaine) { + setp_detail_header_montant_reduction(mylocal_order.domaine); + }*/ + + + if (mylocal_order.duration_concat) { + setp_add_line_item_duration_concat(mylocal_order.duration_concat); + } else { + setp_add_line_item_duration_concat("") + } + + if (mylocal_order.order_line_tab_inscrit_id) { + + setinscrit_session(mylocal_order.order_line_tab_inscrit_id); + } else { + setinscrit_session([]); + } + + ; + + } else { + // alert(" Aucune ligne commande/devis recuperée"); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message("Aucune ligne commande/devis recuperée"); + setalert_type("error"); + } + + + } else if (String(res.data.status) === String("Err_Connexion")) { + alert('Erreur: ' + res.data.message); + history.push("/Connexion"); + } + + else { + setGet_Given_Line_Of_Partner_Order_Line_Data_api("false"); + setGet_Given_Line_Of_Partner_Order_Line_Data_message(res.data.message); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + } + + }).catch((error) => { + console.warn('Not good man :( Get_Given_Line_Of_Partner_Order_Line_Data = ', error); + setGet_Given_Line_Of_Partner_Order_Line_Data_api("false"); + // alert(" Impossible de recuperer les données de la ligne "); + + setdisplay_alert_mysy("1"); + setalert_message(" Impossible de recuperer les données de la ligne "); + setalert_type("error"); + //setmyApimyApiMessage("") + }) + } + + + + const hiddenFileInput_session = React.useRef(null); + + function submenu_import_order() { + setsession_file_name(); + setliste_sessions_file_change_api(); + hiddenFileInput_session.current.click(); + } + + const [add_One_Order, setadd_One_Order] = useState(); + + + function submenu_add_one_order() { + clean_order_detail_fields(); + + Getall_Partner_Paiement_Condition(); + setp_add_cmd_header_order_type("commande"); + setDialog_1_message(" Nouvelle commande"); + setDialog_Detail_Commande_open(true); + + } + + + function submenu_add_one_quotation() { + + clean_order_detail_fields(); + + Getall_Parter_Devis_Config_Points(); + Getall_Partner_Paiement_Condition(); + setp_add_cmd_header_order_type("devis"); + setDialog_1_message(" Nouveau devis"); + setDialog_Detail_Commande_open(true); + + } + + function Annule_add_one_Order() { + setdisplay_detail_order(); + setsubmenu(""); + setSelectionModel([]); + } + + const [display_detail_order, setdisplay_detail_order] = React.useState(); + + const [p_detail_header_client_nom, setp_detail_header_client_nom] = useState(); + const [p_detail_header_client_nom_id, setp_detail_header_client_nom_id] = useState(); + + const [p_detail_header_description, setp_detail_header_description] = useState(""); + const [p_detail_header_comment, setp_detail_header_comment] = useState(""); + const [p_detail_header_lieu_formation, setp_detail_header_lieu_formation] = useState(""); + const [p_detail_header_date_cmd, setp_detail_header_date_cmd] = useState(new Date().toLocaleDateString('fr-FR')); + const [p_detail_header_date_expiration, setp_detail_header_date_expiration] = useState(date_today_90j.toLocaleDateString('fr-FR')); + const [p_detail_header_condition_paiement_code, setp_detail_header_condition_paiement_code] = useState(""); + const [p_detail_header_condition_paiement_id, setp_detail_header_condition_paiement_id] = useState(""); + const [p_detail_header_ref_client, setp_detail_header_ref_client] = useState(); + const [p_detail_header_ref_interne, setp_detail_header_ref_interne] = useState(); + + const [p_detail_comment_raison_cloture, setp_detail_comment_raison_cloture] = React.useState(""); + + + const [p_detail_header_devis_date_validation, setp_detail_header_devis_date_validation] = useState(); + const [p_detail_header_devis_date_envoi, setp_detail_header_devis_date_envoi] = useState(); + + const [p_detail_header_email_client, setp_detail_header_email_client] = useState(); + + const [p_detail_header_vendeur_nom, setp_detail_header_vendeur_nom] = useState(); + const [p_detail_header_vendeur_nom_id, setp_detail_header_vendeur_nom_id] = useState(); + + const [p_detail_header_type, setp_detail_header_type] = useState(); + const [p_detail_header_statut, setp_detail_header_statut] = useState(""); + const [p_detail_header_vendeur_id, setp_detail_header_vendeur_id] = useState(); + const [p_detail_header_client_id, setp_detail_header_client_id] = useState(); + const [p_detail_header_statut_label, setp_detail_header_statut_label] = useState(); + + const [p_detail_header_order_header_ref_interne, setp_detail_header_order_header_ref_interne] = useState(); + + + const [p_detail_header_date_cmd_val, setp_detail_header_date_cmd_val] = useState(new Date().toLocaleDateString('fr-FR')); + const [p_detail_header_date_expiration_val, setp_detail_header_date_expiration_val] = useState(date_today_90j.toLocaleDateString('fr-FR')); + const [p_detail_header_fact_adr, setp_detail_header_fact_adr] = useState(); + const [p_detail_header_fact_code_postal, setp_detail_header_fact_code_postal] = useState(); + const [p_detail_header_fact_ville, setp_detail_header_fact_ville] = useState(); + const [p_detail_header_fact_pays, setp_detail_header_fact_pays] = useState(); + + + const [p_detail_header_liv_adr, setp_detail_header_liv_adr] = useState(); + const [p_detail_header_liv_code_postal, setp_detail_header_liv_code_postal] = useState(); + const [p_detail_header_liv_ville, sep_detail_header_liv_ville] = useState(); + const [p_detail_header_liv_pays, setp_detail_header_liv_pays] = useState(); + + const [p_detail_header_total_ht, setp_detail_header_total_ht] = useState(); + const [p_detail_header_total_tax, setp_detail_header_total_tax] = useState(); + const [p_detail_header_total_ttc, setp_detail_header_total_ttc] = useState(); + const [p_detail_header_type_reduction, setp_detail_header_type_reduction] = useState(); + const [p_detail_header_total_reduction_amount, setp_detail_header_total_reduction_amount] = useState(); + const [p_detail_header_type_reduction_valeur, setp_detail_header_type_reduction_valeur] = useState(); + const [p_detail_header_montant_reduction, setp_detail_header_montant_reduction] = useState(); + const [p_detail_total_header_hors_taxe_before_header_reduction, setp_detail_total_header_hors_taxe_before_header_reduction] = useState(); + const [p_detail_total_header_hors_taxe_after_header_reduction, setp_detail_total_header_hors_taxe_after_header_reduction] = useState(); + const [p_detail_order_header_tax_amount, setp_detail_order_header_tax_amount] = useState(); + const [p_detail_total_header_toutes_taxes, setp_detail_total_header_toutes_taxes] = useState(); + + + + const [p_detail_total_lines_hors_taxe_before_lines_reduction, setp_detail_total_lines_hors_taxe_before_lines_reduction] = useState(); + const [p_detail_total_lines_hors_taxe_after_lines_reduction, setp_detail_total_lines_hors_taxe_after_lines_reduction] = useState(); + + + + async function Enable_Order_Header_DetailFields() { + + await sleep(5); + + setorder_data_edit_mode("1"); + + if (document.getElementsByName("detail_header_type")[0]) { + document.getElementsByName("detail_header_type")[0].disabled = false; + document.getElementsByName("detail_header_type")[0].style.backgroundColor = "#FFFFFF"; + } + + if (document.getElementsByName("order_header_inclus_bpf")[0]) { + document.getElementsByName("order_header_inclus_bpf")[0].disabled = false; + document.getElementsByName("order_header_inclus_bpf")[0].style.backgroundColor = "#FFFFFF"; + } + + + if (document.getElementsByName("detail_header_status")[0]) { + document.getElementsByName("detail_header_status")[0].disabled = false; + document.getElementsByName("detail_header_status")[0].style.backgroundColor = "#FFFFFF"; + } + + if (document.getElementsByName("detail_header_ref_interne")[0]) { + document.getElementsByName("detail_header_ref_interne")[0].disabled = false; + document.getElementsByName("detail_header_ref_interne")[0].style.backgroundColor = "#FFFFFF"; + } + + if (document.getElementsByName("detail_header_order_paiement_condition")[0]) { + document.getElementsByName("detail_header_order_paiement_condition")[0].disabled = false; + document.getElementsByName("detail_header_order_paiement_condition")[0].style.backgroundColor = "#FFFFFF"; + } + + + if (document.getElementsByName("detail_header_date_cmd")[0]) { + document.getElementsByName("detail_header_date_cmd")[0].disabled = false; + document.getElementsByName("detail_header_date_cmd")[0].style.backgroundColor = "#FFFFFF"; + } + + if (document.getElementsByName("detail_header_date_expiration")[0]) { + document.getElementsByName("detail_header_date_expiration")[0].disabled = false; + document.getElementsByName("detail_header_date_expiration")[0].style.backgroundColor = "#FFFFFF"; + } + + if (document.getElementsByName("detail_nom_client")[0]) { + document.getElementsByName("detail_nom_client")[0].disabled = false; + document.getElementsByName("detail_nom_client")[0].style.backgroundColor = "#FFFFFF"; + } + + if (document.getElementsByName("detail_header_description")[0]) { + document.getElementsByName("detail_header_description")[0].disabled = false; + document.getElementsByName("detail_header_description")[0].style.backgroundColor = "#FFFFFF"; + } + + if (document.getElementsByName("detail_header_comment")[0]) { + document.getElementsByName("detail_header_comment")[0].disabled = false; + document.getElementsByName("detail_header_comment")[0].style.backgroundColor = "#FFFFFF"; + } + + if (document.getElementsByName("detail_header_lieu_formation")[0]) { + document.getElementsByName("detail_header_lieu_formation")[0].disabled = false; + document.getElementsByName("detail_header_lieu_formation")[0].style.backgroundColor = "#FFFFFF"; + } + + if (document.getElementsByName("detail_header_vendeur_nom_prenom")[0]) { + document.getElementsByName("detail_header_vendeur_nom_prenom")[0].disabled = false; + document.getElementsByName("detail_header_vendeur_nom_prenom")[0].style.backgroundColor = "#FFFFFF"; + } + + //---- + if (document.getElementsByName("detail_header_ref_cient")[0]) { + document.getElementsByName("detail_header_ref_cient")[0].disabled = false; + document.getElementsByName("detail_header_ref_cient")[0].style.backgroundColor = "#FFFFFF"; + } + + if (document.getElementsByName("detail_header_email_client")[0]) { + document.getElementsByName("detail_header_email_client")[0].disabled = false; + document.getElementsByName("detail_header_email_client")[0].style.backgroundColor = "#FFFFFF"; + } + + + if (document.getElementsByName("detail_header_fact_adresse")[0]) { + document.getElementsByName("detail_header_fact_adresse")[0].disabled = false; + document.getElementsByName("detail_header_fact_adresse")[0].style.backgroundColor = "#FFFFFF"; + } + + if (document.getElementsByName("detail_header_fact_code_postal")[0]) { + document.getElementsByName("detail_header_fact_code_postal")[0].disabled = false; + document.getElementsByName("detail_header_fact_code_postal")[0].style.backgroundColor = "#FFFFFF"; + } + + if (document.getElementsByName("detail_header_fact_ville")[0]) { + document.getElementsByName("detail_header_fact_ville")[0].disabled = false; + document.getElementsByName("detail_header_fact_ville")[0].style.backgroundColor = "#FFFFFF"; + } + + if (document.getElementsByName("detail_header_fact_pays")[0]) { + document.getElementsByName("detail_header_fact_pays")[0].disabled = false; + document.getElementsByName("detail_header_fact_pays")[0].style.backgroundColor = "#FFFFFF"; + } + + if (document.getElementsByName("detail_header_liv_adresse")[0]) { + document.getElementsByName("detail_header_liv_adresse")[0].disabled = false; + document.getElementsByName("detail_header_liv_adresse")[0].style.backgroundColor = "#FFFFFF"; + } + + if (document.getElementsByName("detail_header_liv_code_postal")[0]) { + document.getElementsByName("detail_header_liv_code_postal")[0].disabled = false; + document.getElementsByName("detail_header_liv_code_postal")[0].style.backgroundColor = "#FFFFFF"; + } + + if (document.getElementsByName("detail_header_liv_ville")[0]) { + document.getElementsByName("detail_header_liv_ville")[0].disabled = false; + document.getElementsByName("detail_header_liv_ville")[0].style.backgroundColor = "#FFFFFF"; + } + + if (document.getElementsByName("detail_header_liv_pays")[0]) { + document.getElementsByName("detail_header_liv_pays")[0].disabled = false; + document.getElementsByName("detail_header_liv_pays")[0].style.backgroundColor = "#FFFFFF"; + } + + if (document.getElementsByName("detail_header_total_ht")[0]) { + document.getElementsByName("detail_header_total_ht")[0].disabled = false; + document.getElementsByName("detail_header_total_ht")[0].style.backgroundColor = "#FFFFFF"; + } + + if (document.getElementsByName("detail_header_total_tax")[0]) { + document.getElementsByName("detail_header_total_tax")[0].disabled = false; + document.getElementsByName("detail_header_total_tax")[0].style.backgroundColor = "#FFFFFF"; + } + + if (document.getElementsByName("detail_header_total_ttc")[0]) { + document.getElementsByName("detail_header_total_ttc")[0].disabled = false; + document.getElementsByName("detail_header_total_ttc")[0].style.backgroundColor = "#FFFFFF"; + } + + /* + if (document.getElementsByName("detail_header_type_reduction")[0]) { + document.getElementsByName("detail_header_type_reduction")[0].disabled = false; + document.getElementsByName("detail_header_type_reduction")[0].style.backgroundColor = "#FFFFFF"; + } + + if (document.getElementsByName("detail_header_type_reduction_valeur")[0]) { + document.getElementsByName("detail_header_type_reduction_valeur")[0].disabled = false; + document.getElementsByName("detail_header_type_reduction_valeur")[0].style.backgroundColor = "#FFFFFF"; + } + + + if (document.getElementsByName("detail_header_montant_reduction")[0]) { + document.getElementsByName("detail_header_montant_reduction")[0].disabled = false; + document.getElementsByName("detail_header_montant_reduction")[0].style.backgroundColor = "#FFFFFF"; + }*/ + + if (document.getElementsByName("detail_header_devis_nb_relance_auto")[0]) { + document.getElementsByName("detail_header_devis_nb_relance_auto")[0].disabled = false; + document.getElementsByName("detail_header_devis_nb_relance_auto")[0].style.backgroundColor = "#FFFFFF"; + } + + if (document.getElementsByName("detail_header_devis_freq_relance_auto")[0]) { + document.getElementsByName("detail_header_devis_freq_relance_auto")[0].disabled = false; + document.getElementsByName("detail_header_devis_freq_relance_auto")[0].style.backgroundColor = "#FFFFFF"; + } + + if (document.getElementsByName("detail_header_devis_relance_auto")[0]) { + document.getElementsByName("detail_header_devis_relance_auto")[0].disabled = false; + document.getElementsByName("detail_header_devis_relance_auto")[0].style.backgroundColor = "#FFFFFF"; + } + + + } + + async function disable_Order_Header_DetailFields() { + await sleep(5); + + setorder_data_edit_mode("0"); + + if (document.getElementsByName("detail_header_type")[0]) { + document.getElementsByName("detail_header_type")[0].disabled = true; + document.getElementsByName("detail_header_type")[0].style.backgroundColor = "#ECEFF1"; + } + + if (document.getElementsByName("order_header_inclus_bpf")[0]) { + document.getElementsByName("order_header_inclus_bpf")[0].disabled = true; + document.getElementsByName("order_header_inclus_bpf")[0].style.backgroundColor = "#ECEFF1"; + } + + + if (document.getElementsByName("detail_header_status")[0]) { + document.getElementsByName("detail_header_status")[0].disabled = true; + document.getElementsByName("detail_header_status")[0].style.backgroundColor = "#ECEFF1"; + } + + if (document.getElementsByName("detail_header_ref_interne")[0]) { + document.getElementsByName("detail_header_ref_interne")[0].disabled = true; + document.getElementsByName("detail_header_ref_interne")[0].style.backgroundColor = "#ECEFF1"; + } + + if (document.getElementsByName("detail_header_order_paiement_condition")[0]) { + document.getElementsByName("detail_header_order_paiement_condition")[0].disabled = true; + document.getElementsByName("detail_header_order_paiement_condition")[0].style.backgroundColor = "#ECEFF1"; + } + + + if (document.getElementsByName("detail_header_date_cmd")[0]) { + document.getElementsByName("detail_header_date_cmd")[0].disabled = true; + document.getElementsByName("detail_header_date_cmd")[0].style.backgroundColor = "#ECEFF1"; + } + + if (document.getElementsByName("detail_header_date_expiration")[0]) { + document.getElementsByName("detail_header_date_expiration")[0].disabled = true; + document.getElementsByName("detail_header_date_expiration")[0].style.backgroundColor = "#ECEFF1"; + } + + if (document.getElementsByName("detail_nom_client")[0]) { + document.getElementsByName("detail_nom_client")[0].disabled = true; + document.getElementsByName("detail_nom_client")[0].style.backgroundColor = "#ECEFF1"; + } + + if (document.getElementsByName("detail_header_description")[0]) { + document.getElementsByName("detail_header_description")[0].disabled = true; + document.getElementsByName("detail_header_description")[0].style.backgroundColor = "#ECEFF1"; + } + + if (document.getElementsByName("detail_header_comment")[0]) { + document.getElementsByName("detail_header_comment")[0].disabled = true; + document.getElementsByName("detail_header_comment")[0].style.backgroundColor = "#ECEFF1"; + } + + if (document.getElementsByName("detail_header_lieu_formation")[0]) { + document.getElementsByName("detail_header_lieu_formation")[0].disabled = true; + document.getElementsByName("detail_header_lieu_formation")[0].style.backgroundColor = "#ECEFF1"; + } + + if (document.getElementsByName("detail_header_vendeur_nom_prenom")[0]) { + document.getElementsByName("detail_header_vendeur_nom_prenom")[0].disabled = true; + document.getElementsByName("detail_header_vendeur_nom_prenom")[0].style.backgroundColor = "#ECEFF1"; + } + + //--- + if (document.getElementsByName("detail_header_ref_cient")[0]) { + document.getElementsByName("detail_header_ref_cient")[0].disabled = true; + document.getElementsByName("detail_header_ref_cient")[0].style.backgroundColor = "#ECEFF1"; + } + + if (document.getElementsByName("detail_header_email_client")[0]) { + document.getElementsByName("detail_header_email_client")[0].disabled = true; + document.getElementsByName("detail_header_email_client")[0].style.backgroundColor = "#ECEFF1"; + } + + + if (document.getElementsByName("detail_header_fact_adresse")[0]) { + document.getElementsByName("detail_header_fact_adresse")[0].disabled = true; + document.getElementsByName("detail_header_fact_adresse")[0].style.backgroundColor = "#ECEFF1"; + } + + if (document.getElementsByName("detail_header_fact_code_postal")[0]) { + document.getElementsByName("detail_header_fact_code_postal")[0].disabled = true; + document.getElementsByName("detail_header_fact_code_postal")[0].style.backgroundColor = "#ECEFF1"; + } + + if (document.getElementsByName("detail_header_fact_ville")[0]) { + document.getElementsByName("detail_header_fact_ville")[0].disabled = true; + document.getElementsByName("detail_header_fact_ville")[0].style.backgroundColor = "#ECEFF1"; + } + + if (document.getElementsByName("detail_header_fact_pays")[0]) { + document.getElementsByName("detail_header_fact_pays")[0].disabled = true; + document.getElementsByName("detail_header_fact_pays")[0].style.backgroundColor = "#ECEFF1"; + } + + if (document.getElementsByName("detail_header_liv_adresse")[0]) { + document.getElementsByName("detail_header_liv_adresse")[0].disabled = true; + document.getElementsByName("detail_header_liv_adresse")[0].style.backgroundColor = "#ECEFF1"; + } + + if (document.getElementsByName("detail_header_liv_code_postal")[0]) { + document.getElementsByName("detail_header_liv_code_postal")[0].disabled = true; + document.getElementsByName("detail_header_liv_code_postal")[0].style.backgroundColor = "#ECEFF1"; + } + + if (document.getElementsByName("detail_header_liv_ville")[0]) { + document.getElementsByName("detail_header_liv_ville")[0].disabled = true; + document.getElementsByName("detail_header_liv_ville")[0].style.backgroundColor = "#ECEFF1"; + } + + if (document.getElementsByName("detail_header_liv_pays")[0]) { + document.getElementsByName("detail_header_liv_pays")[0].disabled = true; + document.getElementsByName("detail_header_liv_pays")[0].style.backgroundColor = "#ECEFF1"; + } + + if (document.getElementsByName("detail_header_total_ht")[0]) { + document.getElementsByName("detail_header_total_ht")[0].disabled = true; + document.getElementsByName("detail_header_total_ht")[0].style.backgroundColor = "#ECEFF1"; + } + + if (document.getElementsByName("detail_header_total_tax")[0]) { + document.getElementsByName("detail_header_total_tax")[0].disabled = true; + document.getElementsByName("detail_header_total_tax")[0].style.backgroundColor = "#ECEFF1"; + } + + if (document.getElementsByName("detail_header_total_ttc")[0]) { + document.getElementsByName("detail_header_total_ttc")[0].disabled = true; + document.getElementsByName("detail_header_total_ttc")[0].style.backgroundColor = "#ECEFF1"; + } + + + if (document.getElementsByName("detail_header_type_reduction")[0]) { + document.getElementsByName("detail_header_type_reduction")[0].disabled = true; + document.getElementsByName("detail_header_type_reduction")[0].style.backgroundColor = "#ECEFF1"; + } + + if (document.getElementsByName("detail_header_type_reduction_valeur")[0]) { + document.getElementsByName("detail_header_type_reduction_valeur")[0].disabled = true; + document.getElementsByName("detail_header_type_reduction_valeur")[0].style.backgroundColor = "#ECEFF1"; + } + + if (document.getElementsByName("detail_header_montant_reduction")[0]) { + document.getElementsByName("detail_header_montant_reduction")[0].disabled = true; + document.getElementsByName("detail_header_montant_reduction")[0].style.backgroundColor = "#ECEFF1"; + } + + + if (document.getElementsByName("detail_header_devis_relance_auto")[0]) { + document.getElementsByName("detail_header_devis_relance_auto")[0].disabled = true; + document.getElementsByName("detail_header_devis_relance_auto")[0].style.backgroundColor = "#ECEFF1"; + } + + if (document.getElementsByName("detail_header_devis_freq_relance_auto")[0]) { + document.getElementsByName("detail_header_devis_freq_relance_auto")[0].disabled = true; + document.getElementsByName("detail_header_devis_freq_relance_auto")[0].style.backgroundColor = "#ECEFF1"; + } + + if (document.getElementsByName("detail_header_devis_nb_relance_auto")[0]) { + document.getElementsByName("detail_header_devis_nb_relance_auto")[0].disabled = true; + document.getElementsByName("detail_header_devis_nb_relance_auto")[0].style.backgroundColor = "#ECEFF1"; + } + + } + + function Annule_Order_DetailFields() { + + Get_Order_Data(selected_id); + Get_Partner_Orders_Lines_from_header_id(selected_id); + + setOrder_data_changed(""); + setorder_data_edit_mode(""); + disable_Order_Header_DetailFields(); + order_header_submenu_main(); + + } + + const [Update_One_Order_Data_api, setUpdate_One_Order_Data_api] = useState(); + const [Update_One_Order_Data_message, setUpdate_One_Order_Data_message] = useState(); + const [Update_One_Order_Data_result, setUpdate_One_Order_Data_result] = useState(); + function Update_One_Order_Data() { + var form = new FormData(); + //form.append("token","K3cw63eKokKSbV4spjQ48SUNnfy80yrXfA"); + + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("order_header_id", selected_id); + form.append("order_header_ref_interne", p_detail_header_ref_interne); + form.append("order_header_type", p_detail_header_type); + + if (p_detail_header_statut) + form.append("order_header_status", p_detail_header_statut); + else + form.append("order_header_status", "0"); + + if (p_detail_header_email_client) + form.append("order_header_email_client", p_detail_header_email_client); + else + form.append("order_header_email_client", ""); + + + if (p_detail_header_client_nom_id) + form.append("order_header_client_id", p_detail_header_client_nom_id); + else + form.append("order_header_client_id", ""); + + + if (p_detail_header_vendeur_nom_id) + form.append("order_header_vendeur_id", p_detail_header_vendeur_nom_id); + else + form.append("order_header_vendeur_id", ""); + + if (p_detail_header_condition_paiement_id) + form.append("order_header_condition_paiement_id", p_detail_header_condition_paiement_id); + else + form.append("order_header_condition_paiement_id", ""); + + if (p_detail_header_date_expiration_val) + form.append("order_header_date_expiration", p_detail_header_date_expiration); + else + form.append("order_header_date_expiration", ""); + + if (p_detail_header_date_cmd_val) + form.append("order_header_date_cmd", p_detail_header_date_cmd_val); + else + form.append("order_header_date_cmd", ""); + + if (p_detail_header_lieu_formation) + form.append("order_header_lieu_formation", p_detail_header_lieu_formation); + else + form.append("order_header_lieu_formation", ""); + + if (p_detail_header_comment) + form.append("order_header_comment", p_detail_header_comment); + else + form.append("order_header_comment", ""); + + if (p_detail_header_description) + form.append("order_header_description", p_detail_header_description); + else + form.append("order_header_description", ""); + + if (p_detail_header_ref_client) + form.append("order_header_ref_client", p_detail_header_ref_client); + else + form.append("order_header_ref_client", ""); + + + // ---- + if (p_detail_header_fact_adr) + form.append("order_header_adr_fact_adresse", p_detail_header_fact_adr); + else + form.append("order_header_adr_fact_adresse", ""); + + if (p_detail_header_fact_code_postal) + form.append("order_header_adr_fact_code_postal", p_detail_header_fact_code_postal); + else + form.append("order_header_adr_fact_code_postal", ""); + + + if (p_detail_header_fact_ville) + form.append("order_header_adr_fact_ville", p_detail_header_fact_ville); + else + form.append("order_header_adr_fact_ville", ""); + + + if (p_detail_header_fact_pays) + form.append("order_header_adr_fact_pays", p_detail_header_fact_pays); + else + form.append("order_header_adr_fact_pays", ""); + + + if (p_detail_header_liv_adr) + form.append("order_header_adr_liv_adresse", p_detail_header_liv_adr); + else + form.append("order_header_adr_liv_adresse", ""); + + if (p_detail_header_liv_code_postal) + form.append("order_header_adr_liv_code_postal", p_detail_header_liv_code_postal); + else + form.append("order_header_adr_liv_code_postal", ""); + + if (p_detail_header_liv_ville) + form.append("order_header_adr_liv_ville", p_detail_header_liv_ville); + else + form.append("order_header_adr_liv_ville", ""); + + if (p_detail_header_liv_pays) + form.append("order_header_adr_liv_pays", p_detail_header_liv_pays); + else + form.append("order_header_adr_liv_pays", ""); + + + + + //--- + + if (p_detail_header_total_ht) + form.append("order_header_total_ht", p_detail_header_total_ht); + else + form.append("order_header_total_ht", ""); + + if (p_detail_header_total_tax) + form.append("order_header_total_tax", p_detail_header_total_tax); + else + form.append("order_header_total_tax", ""); + + if (p_detail_header_total_ttc) + form.append("order_header_total_ttc", p_detail_header_total_ttc); + else + form.append("order_header_total_ttc", ""); + + + if (p_detail_header_type_reduction) + form.append("order_header_type_reduction", p_detail_header_type_reduction); + else + form.append("order_header_type_reduction", ""); + + + if (p_detail_header_type_reduction_valeur) + form.append("order_header_type_reduction_valeur", p_detail_header_type_reduction_valeur); + else + form.append("order_header_type_reduction_valeur", ""); + + + if (p_detail_header_montant_reduction) + form.append("order_header_montant_reduction", p_detail_header_montant_reduction); + else + form.append("order_header_montant_reduction", ""); + + + if (p_add_cmd_header_order_inclus_bpf) + form.append("order_header_inclus_bpf", p_add_cmd_header_order_inclus_bpf); + else + form.append("order_header_inclus_bpf", ""); + + + //console.log(" form == ", form); + + var myurl = ""; + if (String(p_detail_header_type) === "commande") + myurl = process.env.REACT_APP_API_URL + "myclass/api/Update_Partner_Order_Header/"; + else if (String(p_detail_header_type) === "devis") { + myurl = process.env.REACT_APP_API_URL + "myclass/api/Update_Partner_Quotation_Header/"; + + if (p_detail_header_devis_relance_auto) + form.append("relance_auto", p_detail_header_devis_relance_auto); + else + form.append("relance_auto", ""); + + if (p_detail_header_devis_nb_relance) + form.append("nb_relance_auto", p_detail_header_devis_nb_relance); + else + form.append("nb_relance_auto", ""); + + if (p_detail_header_devis_frequence_relance) + form.append("frequence_relance_auto", p_detail_header_devis_frequence_relance); + else + form.append("frequence_relance_auto", ""); + + + } + else { + // alert(" Type de commande inconnu."); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message("Type de commande inconnu."); + setalert_type("error"); + return; + } + setLoading(true); + axios.post(myurl, form).then(res => { + //console.log(" In Update_One_Order_Data res.data.status = " + res.data.status); + //console.log(" In Update_One_Order_Data res.data.message r_class = " + res.data.message); + + setLoading(false); + if (String(res.data.status) === String("true")) { + setUpdate_One_Order_Data_api("true"); + setUpdate_One_Order_Data_result(res.data.message); + + Getall_Parter_Orders_No_Filter(); + + + + setOrder_data_changed(""); + setorder_data_edit_mode(""); + Display_Detail_Order_data(selected_id); + // alert(" La mise à jour du " + String(p_detail_header_type) + " été correctement faite."); + // alert(res.data.message); + + var txt = "La mise à jour du " + String(p_detail_header_type) + " été correctement faite." + setdisplay_alert_mysy("1"); + setalert_message(txt); + setalert_type("success"); + + if (document.getElementById('myRef_head')) { + var divh = document.getElementById('myRef_head').offsetTop; + window.scrollTo({ + top: divh, + behavior: "smooth", + }); + } + disable_Order_Header_DetailFields(); + + } + else { + setUpdate_One_Order_Data_api("false"); + setUpdate_One_Order_Data_message(res.data.message); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + } + + }).catch((error) => { + + setLoading(false); + console.warn('UpdateStagiaireData : Not good man :( Update_One_Order_Data = ' + error); + setUpdate_One_Order_Data_api("false"); + alert(" Impossible de faire la mise à jour"); + + }) + } + + const [New_Getall_Training_Employee_No_Filter_result, setNew_Getall_Training_Employee_No_Filter_result] = useState([]); + + const [Getall_Training_Employee_No_Filter_api, setGetall_Training_Employee_No_Filter_api] = useState(); + const [Getall_Training_Employee_No_Filter_message, setGetall_Training_Employee_No_Filter_message] = useState(); + const [Getall_Training_Employee_No_Filter_result, setGetall_Training_Employee_No_Filter_result] = useState(); + function Getall_Training_Employee_No_Filter(event) { + + var form = new FormData(); + + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_List_Ressource_Humaine_no_filter/"; + + + + axios.post(myurl, form).then(res => { + + if (String(res.data.status) === String("true")) { + //console.log(" In Getall_Training_Employee_No_Filter res.data.status = " + res.data.status); + //console.log(" In Getall_Training_Employee_No_Filter res.data.message r_class = " + res.data.message); + setGetall_Training_Employee_No_Filter_api("true"); + setGetall_Training_Employee_No_Filter_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_nom = JSON.parse(x).nom; + var local_prenom = JSON.parse(x).prenom; + var local_ismanager = JSON.parse(x).ismanager; + + + //--- + var node = { + "_id": local_id, + "id": localid, + "label": local_nom + " " + local_prenom, + "nom": local_nom, + "prenom": local_prenom, + "ismanager": local_ismanager + }; + new_data2.push(node); + }); + + var node = { + "_id": "", + "id": "", + "label": "", + "nom": "", + "prenom": "", + "ismanager": "" + }; + new_data2.push(node); + + if (new_data2.length > 0) + setNew_Getall_Training_Employee_No_Filter_result(new_data2); + } + else { + setGetall_Training_Employee_No_Filter_api("false"); + setGetall_Training_Employee_No_Filter_message(res.data.message); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + } + + }).catch((error) => { + console.warn('Not good man :( Getall_Training_Employee_No_Filter = ', error); + setGetall_Training_Employee_No_Filter_api("false"); + setdisplay_alert_mysy("1"); + setalert_message(" Impossible de recuperer la liste des employés"); + setalert_type("error"); + // alert(" Impossible de recuperer la liste des employés"); + //setmyApimyApiMessage("") + }) + } + + + const [test_comment_dialog, settest_comment_dialog] = useState(); + const [Dialog_Detail_Article_open, setDialog_Detail_Article_open] = React.useState(false); + + const Close_Dialog_Detail_Article_open = () => { + + setDialog_Detail_Article_open(false); + }; + + + + const [Add_Update_One_Order_Line_Data_api, setAdd_Update_One_Order_Line_Data_api] = useState(); + const [Add_Update_One_Order_Line_Data_message, setAdd_Update_One_Order_Line_Data_message] = useState(); + const [Add_Update_One_Order_Line_Data_result, setAdd_Update_One_Order_Line_Data_result] = useState(); + function Add_Update_One_Order_Line_Data() { + + /*** Recualcule des taux et montants */ + + var qty = parseFloat(document.getElementById("ref_article_qty").value); + var unit_price = parseFloat(document.getElementById("ref_article_unit_price").value); + var total_base1 = (unit_price * qty).toFixed(2); + var total_reduction = 0; + + + + var reduct_type = document.getElementById("ref_article_type_reduction").value; + var reduct_value = document.getElementById("ref_article_reduction_value").value; + + //var reduct_type = p_add_line_item_type_reduction; + + //console.log(" reduct_type = ", reduct_type); + //console.log(" p_add_line_item_type_reduction = ", p_add_line_item_type_reduction); + + if (String(p_add_line_item_type_reduction) === "fixe") { + //console.log("fixe : p_add_line_item_reduction_value = ", reduct_value); + total_reduction = (parseFloat(String(reduct_value)) * qty).toFixed(2); + + + + } if (String(p_add_line_item_type_reduction) === "percent") { + //console.log("percent p_add_line_item_reduction_value = ", reduct_value); + total_reduction = ((unit_price * parseFloat(String(reduct_value)) * qty) / 100).toFixed(2); + + } + + + + // console.log(" GLOBAL #### partner_taux_tva = ", partner_taux_tva, " ### qty = ", qty, " ### unit_price = ", unit_price, " ### total_base1 = ", total_base1, " ### total_reduction = ", total_reduction, " ### reduct_value = ", reduct_value); + + const total_taux_tax_bef = parseFloat(String(partner_taux_tva)) / 100; + + // console.log(" GLOBAL #### total_taux_tax_bef = ", total_taux_tax_bef); + + const total_taux_tax = 1 + total_taux_tax_bef; + + const total_base1_total_reduction = (total_base1 - total_reduction); + + const montant_ttc = (total_base1_total_reduction * total_taux_tax).toFixed(2); + + //console.log(" GLOBAL #### total_taux_tax = ", total_taux_tax); + //console.log(" GLOBAL #### total_base1_total_reduction = ", total_base1_total_reduction); + //console.log(" GLOBAL #### montant_ttc = ", montant_ttc); + + + var montant_taxe_tva = ((total_base1 - total_reduction) * total_taux_tax_bef).toFixed(2); + // var montant_ttc = ((total_base1 - total_reduction) * (1 + [parseFloat(String(partner_taux_tva)) / 100])).toFixed(2); //(total_base2 + montant_taxe_tva).toFixed(2); + + // 20/08/2024 - enlever la réduction du total ht + total_base1 = total_base1 - total_reduction; + + //console.log(" GLOBAL #### montant_taxe_tva = ", montant_taxe_tva, " ### montant_ttc = ", montant_ttc); + + setp_add_line_item_reduction_total_amount(String(total_reduction)); + setp_add_line_item_total_amount_ht(String(total_base1)); + setp_add_line_item_taxe("tva"); + setp_add_line_item_taxe_amount(String(montant_taxe_tva)); + setp_add_line_item_total_amount_ttc(String(montant_ttc)); + /*** FINNN Recualcule des taux et montants */ + + var form = new FormData(); + //form.append("token","K3cw63eKokKSbV4spjQ48SUNnfy80yrXfA"); + + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("order_line_formation", p_add_line_item_internal_url); + form.append("order_line_qty", p_add_line_item_qty); + form.append("order_line_prix_unitaire", p_add_line_item_price); + form.append("order_line_id", selected_order_line_id); + form.append("order_header_ref_interne", order_internal_ref); + form.append("order_header_id", selected_id); + form.append("order_line_status", p_add_line_item_status); + form.append("order_line_type", p_add_line_item_type); + form.append("order_line_comment", p_add_line_item_comment); + + form.append("order_line_type_article", article_formation_ou_produit); + + form.append("order_line_type_apprenant", String(p_add_line_item_type_apprenant)); + + form.append("order_line_type_reduction", p_add_line_item_type_reduction); + form.append("order_line_type_valeur", p_add_line_item_reduction_value); + form.append("order_line_montant_reduction", String(total_reduction)); + + + + form.append("order_line_montant_hors_taxes", String(total_base1)); + + form.append("order_line_taux_taxe", partner_taux_tva); + + form.append("order_line_tax", p_add_line_item_taxe); + form.append("order_line_tax_amount", String(montant_taxe_tva)); + form.append("order_line_montant_toutes_taxes", String(montant_ttc)); + + if (p_add_line_session_id && String(p_add_line_session_id).length > 2) + form.append("order_line_session_id", p_add_line_session_id); + else + form.append("order_line_session_id", ""); + + + /* var tab_inscrit_id = [] + for (var i = 0; i < inscrit_session.length; i++) { + tab_inscrit_id.push(inscrit_session[i]._id) + }*/ + + var tab_inscrit_id = [] + for (var i = 0; i < NewGetall_TrainingParticipant_Reduce_Fields_With_Remaining_Paiment_result.length; i++) { + if (NewGetall_TrainingParticipant_Reduce_Fields_With_Remaining_Paiment_result[i]._id.length > 5) + tab_inscrit_id.push(NewGetall_TrainingParticipant_Reduce_Fields_With_Remaining_Paiment_result[i]._id) + } + + if (tab_inscrit_id && String(tab_inscrit_id).length > 0) + form.append("tab_inscription_ids_from_front", tab_inscrit_id); + else + form.append("tab_inscription_ids_from_front", ""); + + + /*var tab_inscrit_id_json_str = JSON.stringify(inscrit_session); + + if (tab_inscrit_id && String(tab_inscrit_id).length > 0) + form.append("order_line_tab_inscrit_id", tab_inscrit_id_json_str); + else + form.append("order_line_tab_inscrit_id", "");*/ + + + + + // Controle des champs obligatoires + if (!p_add_line_item || String(p_add_line_item).length < 2) { + //alert(" Vous devez choisir une formation "); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message("Vous devez choisir une formation "); + setalert_type("error"); + return; + } + + + if (!p_add_line_item_qty || parseFloat(String(p_add_line_item_qty)) <= 0) { + // alert(" La quantité choisie est incorrecte "); + setdisplay_alert_mysy("1"); + setalert_message(" La quantité choisie est incorrecte "); + setalert_type("error"); + return; + } + + if (!p_add_line_item_price || parseFloat(String(p_add_line_item_price)) < 0) { + // alert(" Le prix unitaire est incorrecte "); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(" Le prix unitaire est incorrecte "); + setalert_type("error"); + return; + } + + if (String(p_add_line_item_type_reduction) === "percent" && + (parseFloat(String(p_add_line_item_reduction_value)) < 0 || parseFloat(String(p_add_line_item_reduction_value)) > 100)) { + // alert(" Pour une reduction de type 'pourcentage', la valeur doit être comprise entre 0 et 100 "); + + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message("Pour une reduction de type 'pourcentage', la valeur doit être comprise entre 0 et 100"); + setalert_type("error"); + return; + } + + if (String(p_add_line_item_type_reduction) === "fixe" && + (parseFloat(String(p_add_line_item_reduction_value)) < 0 || parseFloat(String(p_add_line_item_reduction_value)) > parseFloat(String(p_add_line_item_price)))) { + // alert(" Pour une reduction de type 'fixe', la valeur ne doit pas excéder le prix unitaire de l'article "); + + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(" Pour une reduction de type 'fixe', la valeur ne doit pas excéder le prix unitaire de l'article "); + setalert_type("error"); + return; + } + + //console.log("### form = ", form); + + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Add_Update_Partner_Order_Line/"; + + setLoading(true); + axios.post(myurl, form).then(res => { + //console.log(" In Add_Update_One_Order_Line_Data res.data.status = " + res.data.status); + //console.log(" In Add_Update_One_Order_Line_Data res.data.message r_class = " + res.data.message); + + setLoading(false); + if (String(res.data.status) === String("true")) { + setAdd_Update_One_Order_Line_Data_api("true"); + setAdd_Update_One_Order_Line_Data_result(res.data.message); + clean_article_detail_fields(); + + Display_Detail_Order_data(selected_id); + // alert(" L'article a été correctement ajouté / mis à jour."); + + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message("L'article a été correctement ajouté / mis à jour."); + setalert_type("success"); + + setDialog_Detail_Article_open(false); + + //myRef_head.current.scrollIntoView({ behavior: "smooth" }); + + } + else { + setAdd_Update_One_Order_Line_Data_api("false"); + setAdd_Update_One_Order_Line_Data_message(res.data.message); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + } + + }).catch((error) => { + + setLoading(false); + console.warn('UpdateStagiaireData : Not good man :( Add_Update_One_Order_Line_Data = ' + error); + setAdd_Update_One_Order_Line_Data_api("false"); + + setdisplay_alert_mysy("1"); + setalert_message(" Impossible d'ajouter / mettre à jour la ligne"); + setalert_type("error"); + + + }) + } + + + + const Update_Dialog_Detail_Article_open = () => { + Add_Update_One_Order_Line_Data(); + }; + + + + const [p_add_line_tab_inscrit, setp_add_line_tab_inscrit] = useState(""); + + const [p_add_line_session_id, setp_add_line_session_id] = useState(""); + const [p_add_line_session_code, setp_add_line_session_code] = useState(""); + + const [p_add_line_order_line_type_article, setp_add_line_order_line_type_article] = useState(""); + + const [p_add_line_item, setp_add_line_item] = useState(""); + const [p_add_line_item_internal_url, setp_add_line_item_internal_url] = useState(""); + const [p_add_line_item_title, setp_add_line_item_title] = useState(); + const [p_add_line_item_qty, setp_add_line_item_qty] = useState("1"); + const [p_add_line_item_price, setp_add_line_item_price] = useState("0"); + const [p_add_line_item_comment, setp_add_line_item_comment] = useState(); + const [p_add_line_item_status, setp_add_line_item_status] = useState(); + const [p_add_line_item_type, setp_add_line_item_type] = useState(); + + const [p_add_line_item_type_apprenant, setp_add_line_item_type_apprenant] = useState(""); + + + function clean_article_detail_fields() { + + setp_add_line_item(""); + setp_add_line_item_internal_url(""); + setp_add_line_item_title(); + setp_add_line_item_qty("1"); + setp_add_line_item_price('0'); + setp_add_line_item_comment(); + setp_add_line_item_status(); + setp_add_line_item_type(); + setp_add_line_session_id(""); + setp_add_line_session_code(""); + setp_add_line_item_type_apprenant(""); + + setinscrit_session([]) + } + + function Ajouter_une_ligne_article() { + + setarticle_formation_ou_produit("formation"); + // Recuperation des session de formation + Getall_TrainingSession(); + + setp_add_line_session_id(""); + + setinscrit_session([]) + setp_add_line_session_code(""); + setp_add_line_item(""); + setp_add_line_item_qty("1"); + setp_add_line_item_price("0"); + setp_add_line_item_comment(""); + setp_add_line_item_type_reduction(""); + setp_add_line_item_reduction_value(""); + setp_add_line_item_reduction_total_amount(""); + setp_add_line_item_total_amount_ht(""); + setp_add_line_item_taxe(""); + setp_add_line_item_taxe_amount(""); + setp_add_line_item_total_amount_ttc(""); + setp_add_line_item_type_apprenant(""); + + // setpartner_taux_tva("20"); + + setselected_order_line_id(""); + + setp_add_line_item_status(p_detail_header_statut); + setp_add_line_item_type(p_detail_header_type); + + setDialog_Detail_Article_open(true); + } + + const [Dialog_Detail_Commande_open, setDialog_Detail_Commande_open] = useState(false); + + + function Dialog_cmd_handleClose() { + + } + + const Dialog_cmd_handleClose_buton = () => { + setDialog_Detail_Commande_open(false); + }; + + + const Close_Dialog_Detail_Order_open = () => { + clean_order_detail_fields(); + setDialog_Detail_Commande_open(false); + }; + + + const [Add_Dialog_Detail_Order_api, setAdd_Dialog_Detail_Order_api] = useState(); + const [Add_Dialog_Detail_Order_message, setAdd_Dialog_Detail_Order_message] = useState(); + const [Add_Dialog_Detail_Order_result, setAdd_Dialog_Detail_Order_result] = useState(); + function Add_Dialog_Detail_Order() { + var form = new FormData(); + //form.append("token","K3cw63eKokKSbV4spjQ48SUNnfy80yrXfA"); + + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("order_header_client_id", p_add_cmd_header_client_id); + form.append("order_header_description", p_add_cmd_header_description); + form.append("order_header_comment", p_add_cmd_header_comment); + form.append("order_header_lieu_formation", p_add_cmd_header_lieu_formation); + form.append("order_header_date_cmd", p_add_cmd_header_date_cmd); + form.append("order_header_date_expiration", p_add_cmd_header_date_expiration_cmd); + form.append("order_header_condition_paiement_id", p_add_cmd_header_condition_paiement_id); + form.append("order_header_ref_client", p_add_cmd_header_ref_client); + form.append("order_header_vendeur_id", p_add_cmd_header_vendeur_id); + form.append("order_header_type", p_add_cmd_header_order_type); + form.append("order_header_email_client", p_detail_header_email_client); + form.append("order_header_adr_fact_adresse", p_detail_header_fact_adr); + form.append("order_header_adr_fact_code_postal", p_detail_header_fact_code_postal); + form.append("order_header_adr_fact_ville", p_detail_header_fact_ville); + form.append("order_header_adr_fact_pays", p_detail_header_fact_pays); + form.append("order_header_adr_liv_adresse", p_detail_header_liv_adr); + form.append("order_header_adr_liv_code_postal", p_detail_header_liv_code_postal); + form.append("order_header_adr_liv_ville", p_detail_header_liv_ville); + form.append("order_header_adr_liv_pays", p_detail_header_liv_pays); + form.append("order_header_inclus_bpf", p_add_cmd_header_order_inclus_bpf); + + + if (!p_add_cmd_header_client_id || String(p_add_cmd_header_client_id).length < 2) { + // alert(" Vous devez choisir un client"); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message("Vous devez choisir un client"); + setalert_type("error"); + return; + } + //console.log("### form = ", form); + + + var myurl = "" + + if (String(p_add_cmd_header_order_type) === "devis") { + + /*** On va aller recuperer les setup de relance qui ont été parametrés */ + if (Getall_Parter_Devis_Config_Points_result && Getall_Parter_Devis_Config_Points_result.length > 0) { + const new_data = Getall_Parter_Devis_Config_Points_result.map((x) => { + form.append(String(JSON.parse(x).config_name), String(JSON.parse(x).config_value)); + }); + } + + myurl = process.env.REACT_APP_API_URL + "myclass/api/Add_Partner_Quotation/"; + } else if (String(p_add_cmd_header_order_type) === "commande") { + myurl = process.env.REACT_APP_API_URL + "myclass/api/Add_Partner_Order/"; + } else { + // alert(" Type de commande inconnu"); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message("Type de commande inconnu"); + setalert_type("error"); + return; + } + + setLoading(true); + axios.post(myurl, form).then(res => { + //console.log(" In Add_Update_One_Order_Line_Data res.data.status = " + res.data.status); + //console.log(" In Add_Update_One_Order_Line_Data res.data.message r_class = " + res.data.message); + + setLoading(false); + if (String(res.data.status) === String("true")) { + setAdd_Dialog_Detail_Order_api("true"); + setAdd_Dialog_Detail_Order_result(res.data.message); + clean_order_detail_fields(); + setDialog_Detail_Commande_open(false); + Getall_Parter_Orders_No_Filter(); + + if (String(p_add_cmd_header_order_type) === "devis") { + // alert(" La devis à jour été correctement ajouté."); + setdisplay_alert_mysy("1"); + setalert_message(" La devis à jour été correctement ajouté."); + setalert_type("success"); + } else if (String(p_add_cmd_header_order_type) === "commande") { + // alert(" La commande à jour été correctement ajoutée."); + setdisplay_alert_mysy("1"); + setalert_message("La commande à jour été correctement ajoutée."); + setalert_type("success"); + } + + if (document.getElementById('myRef_head')) { + var divh = document.getElementById('myRef_head').offsetTop; + window.scrollTo({ + top: divh, + behavior: "smooth", + }); + } + + } + else { + setAdd_Dialog_Detail_Order_api("false"); + setAdd_Dialog_Detail_Order_message(res.data.message); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + } + + }).catch((error) => { + + setLoading(false); + console.warn('Add_Dialog_Detail_Order : Not good man :( Add_Dialog_Detail_Order = ' + error); + setAdd_Dialog_Detail_Order_api("false"); + + if (String(p_add_cmd_header_order_type) === "devis") { + // alert(" Impossible d'ajouter le devis"); + + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message("Impossible d'ajouter le devis"); + setalert_type("error"); + + } else if (String(p_add_cmd_header_order_type) === "commande") { + // alert(" La commande d'ajouter la commande."); + + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message("Impossibl d'ajouter la commande."); + setalert_type("error"); + } + + }) + + + } + + const Dialog_Order_handleClose = () => { + //alert(" Utiliser le bouton 'fermer' "); + //setOpen(false); + }; + + const [client_selected_paiement_ction_id, setclient_selected_paiement_ction_id] = useState(""); + + const [p_add_cmd_header_client_id, setp_add_cmd_header_client_id] = useState(""); + const [p_add_cmd_header_description, setp_add_cmd_header_description] = useState(""); + const [p_add_cmd_header_comment, setp_add_cmd_header_comment] = useState(""); + const [p_add_cmd_header_lieu_formation, setp_add_cmd_header_lieu_formation] = useState(""); + const [p_add_cmd_header_vendeur_id, setp_add_cmd_header_vendeur_id] = useState(props.conntected_employee_id); + const [p_add_cmd_header_vendeur_id_label, setp_add_cmd_header_vendeur_id_label] = useState(); + + const [p_add_cmd_header_date_cmd, setp_add_cmd_header_date_cmd] = useState(new Date().toLocaleDateString('fr-FR')); + const [p_add_cmd_header_date_expiration_cmd, setp_add_cmd_header_date_expiration_cmd] = useState(date_today_90j.toLocaleDateString('fr-FR')); + const [p_add_cmd_header_order_type, setp_add_cmd_header_order_type] = useState(""); + const [p_add_cmd_header_order_location_type, setp_add_cmd_header_order_location_type] = useState("1"); + const [p_add_cmd_header_ref_client, setp_add_cmd_header_ref_client] = useState(""); + const [p_add_cmd_header_condition_paiement_id, setp_add_cmd_header_condition_paiement_id] = useState(""); + + const [p_add_cmd_header_order_inclus_bpf, setp_add_cmd_header_order_inclus_bpf] = useState("1"); + + + function clean_order_detail_fields() { + setp_add_cmd_header_client_id(); + setp_add_cmd_header_description(); + setp_add_cmd_header_comment(); + setp_add_cmd_header_lieu_formation(); + setp_add_cmd_header_vendeur_id(props.conntected_employee_id); + setp_add_cmd_header_date_cmd(new Date().toLocaleDateString('fr-FR')); + setp_add_cmd_header_date_expiration_cmd(date_today_90j.toLocaleDateString('fr-FR')); + setp_add_cmd_header_order_type(); + setp_add_cmd_header_order_location_type("1"); + setp_add_cmd_header_order_inclus_bpf("1"); + + setp_add_cmd_header_ref_client(); + setp_add_cmd_header_condition_paiement_id(""); + + setp_detail_header_fact_adr(); + setp_detail_header_fact_code_postal(); + setp_detail_header_fact_ville(); + setp_detail_header_fact_pays(); + + setp_detail_header_liv_adr(); + setp_detail_header_liv_code_postal(); + sep_detail_header_liv_ville(); + setp_detail_header_liv_pays(); + setp_detail_header_devis_date_validation(""); + setp_detail_header_devis_date_envoi(""); + + } + + const [header_submenu, setheader_submenu] = useState("main"); + async function order_header_submenu_main() { + setheader_submenu("main"); + + await sleep(5); + submenu_color_management("order_header_main"); + + if (String(order_data_edit_mode) !== "1") { + disable_Order_Header_DetailFields(); + } + /* + + if (document.getElementById("order_header_main")) { + document.getElementById("order_header_main").style.backgroundColor = "#107758"; + document.getElementById("order_header_main").style.color = "white"; + } + + if (document.getElementById("order_header_detail")) { + document.getElementById("order_header_detail").style.backgroundColor = "#d8edfc"; + document.getElementById("order_header_detail").style.color = "black"; + } + + if (document.getElementById("order_header_facturation")) { + document.getElementById("order_header_facturation").style.backgroundColor = "#d8edfc"; + document.getElementById("order_header_facturation").style.color = "black"; + } +*/ + if (String(order_data_edit_mode) !== "1") { + disable_Order_Header_DetailFields(); + } + } + + async function order_header_submenu_detail() { + setheader_submenu("detail"); + + await sleep(5); + + submenu_color_management("order_header_detail"); + + if (String(order_data_edit_mode) !== "1") { + disable_Order_Header_DetailFields(); + } + + /* + if (document.getElementById("order_header_detail")) { + document.getElementById("order_header_detail").style.backgroundColor = "#107758"; + document.getElementById("order_header_detail").style.color = "white"; + } + + if (document.getElementById("order_header_main")) { + document.getElementById("order_header_main").style.backgroundColor = "#d8edfc"; + document.getElementById("order_header_main").style.color = "black"; + } + + if (document.getElementById("order_header_facturation")) { + document.getElementById("order_header_facturation").style.backgroundColor = "#d8edfc"; + document.getElementById("order_header_facturation").style.color = "black"; + } + + */ + if (String(order_data_edit_mode) !== "1") { + disable_Order_Header_DetailFields(); + } + } + + + + async function order_header_submenu_facturation() { + setheader_submenu("facturation"); + submenu_color_management("order_header_facturation"); + await sleep(5); + /* + if (document.getElementById("order_header_facturation")) { + document.getElementById("order_header_facturation").style.backgroundColor = "#107758"; + document.getElementById("order_header_facturation").style.color = "white"; + } + + if (document.getElementById("order_header_detail")) { + document.getElementById("order_header_detail").style.backgroundColor = "#d8edfc"; + document.getElementById("order_header_detail").style.color = "black"; + } + + if (document.getElementById("order_header_main")) { + document.getElementById("order_header_main").style.backgroundColor = "#d8edfc"; + document.getElementById("order_header_main").style.color = "black"; + } + */ + + if (String(order_data_edit_mode) !== "1") { + disable_Order_Header_DetailFields(); + } + } + + + async function order_header_submenu_relance() { + setheader_submenu("order_header_relance"); + + submenu_color_management("order_header_relance"); + await sleep(5); + + /* if (document.getElementById("order_header_facturation")) { + document.getElementById("order_header_facturation").style.backgroundColor = "#107758"; + document.getElementById("order_header_facturation").style.color = "white"; + } + + if (document.getElementById("order_header_detail")) { + document.getElementById("order_header_detail").style.backgroundColor = "#d8edfc"; + document.getElementById("order_header_detail").style.color = "black"; + } + + if (document.getElementById("order_header_main")) { + document.getElementById("order_header_main").style.backgroundColor = "#d8edfc"; + document.getElementById("order_header_main").style.color = "black"; + } + */ + + if (String(order_data_edit_mode) !== "1") { + disable_Order_Header_DetailFields(); + } + } + + async function order_header_submenu_historique() { + /* setheader_submenu("historique"); + + submenu_color_management("historique"); + await sleep(5); + + + if (String(order_data_edit_mode) !== "1") { + disable_Order_Header_DetailFields(); + }*/ + + setDialog_order_history_open(true) + } + + function submenu_color_management(current_menu) { + const list_sous_menu = ["order_header_facturation", "order_header_detail", "order_header_main", + "order_header_relance", "historique"] + + for (let i = 0; i < list_sous_menu.length; i++) { + + var sous_menu = list_sous_menu[i]; + if (String(sous_menu) !== current_menu) { + if (document.getElementById(sous_menu)) { + document.getElementById(sous_menu).style.backgroundColor = "#d8edfc"; + document.getElementById(sous_menu).style.color = "black"; + document.getElementById(sous_menu).style.fontWeight = "normal"; + } + } + + } + + if (document.getElementById(current_menu)) { + document.getElementById(current_menu).style.backgroundColor = "#107758"; + document.getElementById(current_menu).style.color = "white"; + document.getElementById(current_menu).style.fontWeight = "bold"; + } + + + + } + + + + const sleep = (milliseconds) => { + return new Promise(resolve => setTimeout(resolve, milliseconds)) + } + + + const [p_add_line_item_type_reduction, setp_add_line_item_type_reduction] = useState("fixe"); + const [p_add_line_item_reduction_value, setp_add_line_item_reduction_value] = useState(); + const [p_add_line_item_reduction_total_amount, setp_add_line_item_reduction_total_amount] = useState(); + const [p_add_line_item_total_amount_ht, setp_add_line_item_total_amount_ht] = useState(); + const [p_add_line_item_taxe, setp_add_line_item_taxe] = useState(); + const [p_add_line_item_taxe_amount, setp_add_line_item_taxe_amount] = useState(); + const [p_add_line_item_total_amount_ttc, setp_add_line_item_total_amount_ttc] = useState(); + const [p_add_line_item_duration_concat, setp_add_line_item_duration_concat] = useState(); + + + function Recalcul_Item_Amounts() { + var qty = parseFloat(document.getElementById("ref_article_qty").value); + var unit_price = parseFloat(document.getElementById("ref_article_unit_price").value); + + // var unit_price = parseFloat(p_add_line_item_price); + + var total_base1 = (unit_price * qty).toFixed(2); + var total_reduction = 0; + + + + var reduct_type = document.getElementById("ref_article_type_reduction").value; + var reduct_value = document.getElementById("ref_article_reduction_value").value; + + //var reduct_type = p_add_line_item_type_reduction; + + //console.log(" reduct_type = ", reduct_type); + // console.log(" p_add_line_item_type_reduction = ", p_add_line_item_type_reduction); + + if (String(p_add_line_item_type_reduction) === "fixe") { + // console.log("fixe : p_add_line_item_reduction_value = ", reduct_value); + total_reduction = (parseFloat(String(reduct_value)) * qty).toFixed(2); + + } if (String(p_add_line_item_type_reduction) === "percent") { + // console.log("percent p_add_line_item_reduction_value = ", reduct_value); + total_reduction = ((unit_price * parseFloat(String(reduct_value)) * qty) / 100).toFixed(2); + + } + + + + console.log(" #### partner_taux_tva = ", partner_taux_tva, " ### qty = ", qty, " ### unit_price = ", unit_price, " ### total_base1 = ", total_base1, " ### total_reduction = ", total_reduction, " ### reduct_value = ", reduct_value); + + var montant_taxe_tva = ((total_base1 - total_reduction) * [parseFloat(String(partner_taux_tva)) / 100]).toFixed(2); + var montant_ttc = ((total_base1 - total_reduction) * (1 + [parseFloat(String(partner_taux_tva)) / 100])).toFixed(2); //(total_base2 + montant_taxe_tva).toFixed(2); + + // 20/08/2024 - enlever la réduction du total ht + total_base1 = total_base1 - total_reduction; + + // console.log(" #### montant_taxe_tva = ", montant_taxe_tva, " ### montant_ttc = ", montant_ttc); + + setp_add_line_item_reduction_total_amount(String(total_reduction)); + setp_add_line_item_total_amount_ht(String(total_base1)); + setp_add_line_item_taxe("tva"); + setp_add_line_item_taxe_amount(String(montant_taxe_tva)); + setp_add_line_item_total_amount_ttc(String(montant_ttc)); + + //console.log(" ### montant tva = ", String(montant_taxe_tva), " ### montant TTC = ", String(montant_ttc)); + } + + + + function Compute_Order_Header_Price() { + + if (String(Order_data_changed) === "1") { + // alert(" Merci d'enregistrer les modification avant de lancer le calcul"); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(" Merci d'enregistrer les modification avant de lancer le calcul"); + setalert_type("error"); + } + + Compute_Partner_Order(); + + + } + + const [Compute_Partner_Order_api, setCompute_Partner_Order_api] = useState(); + const [Compute_Partner_Order_message, setCompute_Partner_Order_message] = useState(); + const [Compute_Partner_Order_result, setCompute_Partner_Order_result] = useState(); + function Compute_Partner_Order(event) { + + var form = new FormData(); + const stored_cookie = getCookie('tokenmysypart'); + + form.append("token", stored_cookie); + form.append("_id", selected_id); + + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Compute_Order_Header/"; + + setLoading(true); + + axios.post(myurl, form).then(res => { + //console.log(" In Compute_Partner_Order res.data.status = " + res.data.status); + //console.log(" In Compute_Partner_Order res.data.message r_class = " + res.data.message); + + setLoading(false); + if (String(res.data.status) === String("true")) { + setCompute_Partner_Order_api("true"); + setCompute_Partner_Order_result(res.data.message); + Get_Order_Data(selected_id); + Get_Partner_Orders_Lines_from_header_id(selected_id); + + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("success"); + } + else if (String(res.data.status) === String("Err_Connexion")) { + alert('Erreur: ' + res.data.message); + history.push("/Connexion"); + } + else { + setCompute_Partner_Order_api("false"); + setCompute_Partner_Order_message(res.data.message); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + } + + }).catch((error) => { + setLoading(false); + console.warn('Not good man :( Compute_Partner_Order = ', error); + setCompute_Partner_Order_api("false"); + alert('Erreur: Impossible de mettre à jour les prix'); + //setmyApimyApiMessage("") + }) + } + + + + function print_order_pdf() { + const stored_cookie = getCookie('tokenmysypart'); + + var nom_fichier_cmd = "Order_" + order_internal_ref + ".pdf"; + console.log(" nom_fichier_cmd = ", nom_fichier_cmd, " --- selected_id = ", selected_id); + + var url = process.env.REACT_APP_API_URL + "myclass/api/GerneratePDF_Partner_Order/" + stored_cookie + "/" + selected_id; + + //console.log(" nom_fichier_cmd = ", nom_fichier_cmd, " --- selected_id = ", selected_id, " --- url =", url); + setLoading(true); + + axios.get(url, { responseType: 'blob', },) + .then((res) => { + setLoading(false); + fileDownload(res.data, nom_fichier_cmd) + }).catch((error) => { + setLoading(false); + console.error('Error:', error); + + }); + } + + + const [Send_Order_By_Email_api, setSend_Order_By_Email_api] = useState(); + const [Send_Order_By_Email_message, setSend_Order_By_Email_message] = useState(); + const [Send_Order_By_Email_result, setSend_Order_By_Email_result] = useState(); + function Send_Order_By_Email() { + var form = new FormData(); + //form.append("token","K3cw63eKokKSbV4spjQ48SUNnfy80yrXfA"); + + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("order_id", selected_id); + + if (local_partner_digital_signature_status === true) { + form.append("request_digital_signature", "1"); + } else { + form.append("request_digital_signature", "0"); + } + + for (let i = 0; i < tab_convention_pieces_jointes_result.length; i++) { + form.append('File', tab_convention_pieces_jointes_result[i]); + } + + //console.log("### form = ", form); + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Send_Partner_Order_By_Email/"; + + setLoading(true); + axios.post(myurl, form).then(res => { + //console.log(" In Add_Update_One_Order_Line_Data res.data.status = " + res.data.status); + //console.log(" In Add_Update_One_Order_Line_Data res.data.message r_class = " + res.data.message); + + setLoading(false); + if (String(res.data.status) === String("true")) { + setSend_Order_By_Email_api("true"); + setSend_Order_By_Email_message(res.data.message); + + Get_Order_Data(selected_id); + + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("success"); + + } + else { + setSend_Order_By_Email_api("false"); + setSend_Order_By_Email_message(res.data.message); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + } + + }).catch((error) => { + + setLoading(false); + console.warn('Send_Order_By_Email : Not good man :( Send_Order_By_Email = ' + error); + setSend_Order_By_Email_api("false"); + + if (String(p_add_cmd_header_order_type) === "devis") { + setdisplay_alert_mysy("1"); + setalert_message("Impossible d'envoyer le devis par email"); + setalert_type("error"); + // alert(" Impossible d'envoyer le devis par email"); + } else if (String(p_add_cmd_header_order_type) === "commande") { + // alert(" Impossible d'envoyer la commande par email"); + setdisplay_alert_mysy("1"); + setalert_message("Impossible d'envoyer la commande par email"); + setalert_type("error"); + } + + }) + + + } + + + const [Confirm_Order_Data_api, setConfirm_Order_Data_api] = useState(); + const [Confirm_Order_Data_message, setConfirm_Order_Data_message] = useState(); + const [Confirm_Order_Data_result, setConfirm_Order_Data_result] = useState(); + function Confirm_Order_Data() { + var form = new FormData(); + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("order_header_id", selected_id); + + + if (!rows_order_lines || rows_order_lines.length <= 0) { + setdisplay_alert_mysy("1"); + setalert_message("Ce devis ne contient aucune ligne à confirmer"); + setalert_type("error"); + return; + } + //console.log("### form = ", form); + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Confirm_Partner_Order_Header_And_Lines/"; + setLoading(true); + + axios.post(myurl, form).then(res => { + //console.log(" In Add_Update_One_Order_Line_Data res.data.status = " + res.data.status); + //console.log(" In Add_Update_One_Order_Line_Data res.data.message r_class = " + res.data.message); + + setLoading(false); + if (String(res.data.status) === String("true")) { + setConfirm_Order_Data_api("true"); + setConfirm_Order_Data_message(res.data.message); + Getall_Training_Employee_No_Filter(); + Display_Detail_Order_data(selected_id); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("success"); + } + else { + setConfirm_Order_Data_api("false"); + setConfirm_Order_Data_message(res.data.message); + + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + } + + }).catch((error) => { + + setLoading(false); + console.warn('Confirm_Order_Data : Not good man :( Confirm_Order_Data = ' + error); + setConfirm_Order_Data_api("false"); + + if (String(p_add_cmd_header_order_type) === "devis") { + // alert(" Impossible de confirmer le devis"); + + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message("Impossible de confirmer le devis"); + setalert_type("error"); + + } else if (String(p_add_cmd_header_order_type) === "commande") { + // alert(" Impossible de confirmer la commande"); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message("Impossible de confirmer la commande"); + setalert_type("error"); + } + + }) + + + } + + + + const [Make_Order_Ready_To_Invoice_api, setMake_Order_Ready_To_Invoice_api] = useState(); + const [Make_Order_Ready_To_Invoice_message, setMake_Order_Ready_To_Invoice_message] = useState(); + const [Make_Order_Ready_To_Invoice_result, setMake_Order_Ready_To_Invoice_result] = useState(); + function Make_Order_Ready_To_Invoice() { + var form = new FormData(); + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("order_header_id", selected_id); + + + //console.log("### form = ", form); + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Order_Ready_To_Invoice/"; + + setLoading(true); + axios.post(myurl, form).then(res => { + //console.log(" In Add_Update_One_Order_Line_Data res.data.status = " + res.data.status); + //console.log(" In Add_Update_One_Order_Line_Data res.data.message r_class = " + res.data.message); + + setLoading(false); + if (String(res.data.status) === String("true")) { + setMake_Order_Ready_To_Invoice_api("true"); + setMake_Order_Ready_To_Invoice_message(res.data.message); + Getall_Training_Employee_No_Filter(); + Display_Detail_Order_data(selected_id); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("success"); + } + else { + setMake_Order_Ready_To_Invoice_api("false"); + setMake_Order_Ready_To_Invoice_message(res.data.message); + + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + } + + }).catch((error) => { + + setLoading(false); + console.warn('Make_Order_Ready_To_Invoice : Not good man :( Make_Order_Ready_To_Invoice = ' + error); + setMake_Order_Ready_To_Invoice_api("false"); + + if (String(p_add_cmd_header_order_type) === "devis") { + alert(" Impossible de confirmer le devis"); + } else if (String(p_add_cmd_header_order_type) === "commande") { + alert(" Impossible de confirmer la commande"); + } + + }) + + + } + + const [Cancel_Order_Data_api, setCancel_Order_Data_api] = useState(); + const [Cancel_Order_Data_message, setCancel_Order_Data_message] = useState(); + const [Cancel_Order_Data_result, setCancel_Order_Data_result] = useState(); + function Cancel_Order_Data() { + var form = new FormData(); + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("order_header_id", selected_id); + + + //console.log("### form = ", form); + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Annule_Partner_Order_Header_And_Lines/"; + + setLoading(true); + axios.post(myurl, form).then(res => { + //console.log(" In Add_Update_One_Order_Line_Data res.data.status = " + res.data.status); + //console.log(" In Add_Update_One_Order_Line_Data res.data.message r_class = " + res.data.message); + + setLoading(false); + if (String(res.data.status) === String("true")) { + setCancel_Order_Data_api("true"); + setCancel_Order_Data_message(res.data.message); + Getall_Training_Employee_No_Filter(); + Display_Detail_Order_data(selected_id); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("success"); + } + else { + setCancel_Order_Data_api("false"); + setCancel_Order_Data_message(res.data.message); + + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + } + + }).catch((error) => { + + setLoading(false); + console.warn('Cancel_Order_Data : Not good man :( Cancel_Order_Data = ' + error); + setCancel_Order_Data_api("false"); + + if (String(p_add_cmd_header_order_type) === "devis") { + alert(" Impossible d'annuler le devis par email"); + } else if (String(p_add_cmd_header_order_type) === "commande") { + alert(" Impossible d'annler la commande "); + } + + }) + + + } + + const [Convert_Quotation_To_Order_Data_api, setConvert_Quotation_To_Order_Data_api] = useState(); + const [Convert_Quotation_To_Order_Data_message, setConvert_Quotation_To_Order_Data_message] = useState(); + const [Convert_Quotation_To_Order_Data_result, setConvert_Quotation_To_Order_Data_result] = useState(); + function Convert_Quotation_To_Order_Data() { + var form = new FormData(); + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("order_id", selected_id); + + + //console.log("### form = ", form); + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Convert_Quotation_to_Order/"; + + setLoading(true); + axios.post(myurl, form).then(res => { + //console.log(" In Add_Update_One_Order_Line_Data res.data.status = " + res.data.status); + //console.log(" In Add_Update_One_Order_Line_Data res.data.message r_class = " + res.data.message); + + setLoading(false); + if (String(res.data.status) === String("true")) { + setConvert_Quotation_To_Order_Data_api("true"); + setConvert_Quotation_To_Order_Data_message(res.data.message); + clean_all_filters(); + Getall_Parter_Orders_No_Filter(); + + Display_Detail_Order_data(selected_id); + if (document.getElementById('myRef_head')) { + var divh = document.getElementById('myRef_head').offsetTop; + window.scrollTo({ + top: divh, + behavior: "smooth", + }); + } + + + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("success"); + } + else { + setConvert_Quotation_To_Order_Data_api("false"); + setConvert_Quotation_To_Order_Data_message(res.data.message); + + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + } + + }).catch((error) => { + setLoading(false); + + console.warn('Convert_Quotation_To_Order_Data : Not good man :( Convert_Quotation_To_Order_Data = ' + error); + setConvert_Quotation_To_Order_Data_api("false"); + alert(" Impossible de convertir le devis en commande "); + }) + + + } + + + + const [Valide_Quotation_And_Insert_To_Session_api, setValide_Quotation_And_Insert_To_Session_api] = useState(); + const [Valide_Quotation_And_Insert_To_Session_message, setValide_Quotation_And_Insert_To_Session_message] = useState(); + const [Valide_Quotation_And_Insert_To_Session_result, setValide_Quotation_And_Insert_To_Session_result] = useState(); + function Valide_Quotation_And_Insert_To_Session() { + var form = new FormData(); + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("quotation_id", selected_id); + + if (local_partner_digital_signature_status === true) { + form.append("request_digital_signature", "1"); + } else { + form.append("request_digital_signature", "0"); + } + + //console.log("### form = ", form); + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Insert_Quotation_To_Session/"; + + setLoading(true); + axios.post(myurl, form).then(res => { + //console.log(" In Add_Update_One_Order_Line_Data res.data.status = " + res.data.status); + //console.log(" In Add_Update_One_Order_Line_Data res.data.message r_class = " + res.data.message); + + setLoading(false); + if (String(res.data.status) === String("true")) { + setValide_Quotation_And_Insert_To_Session_api("true"); + setValide_Quotation_And_Insert_To_Session_message(res.data.message); + clean_all_filters(); + Getall_Parter_Orders_No_Filter(); + + Display_Detail_Order_data(selected_id); + if (document.getElementById('myRef_head')) { + var divh = document.getElementById('myRef_head').offsetTop; + window.scrollTo({ + top: divh, + behavior: "smooth", + }); + } + + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("success"); + } + else { + setValide_Quotation_And_Insert_To_Session_api("false"); + setValide_Quotation_And_Insert_To_Session_message(res.data.message); + + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + } + + }).catch((error) => { + setLoading(false); + + console.warn('Valide_Quotation_And_Insert_To_Session : Not good man :( Valide_Quotation_And_Insert_To_Session = ' + error); + setValide_Quotation_And_Insert_To_Session_api("false"); + alert(" Impossible de valider le devis et d'inserer les lignes dans la session "); + }) + + + } + + + + + function Check_Electronic_Sign_Before_Sending_Email() { + if (partner_digital_signature_status && String(partner_digital_signature_status) === "1") { + setDialog_signature_digitale_open(true); + } else { + + Send_Order_By_Email(); + } + } + + const [Invoice_Order_Data_api, setInvoice_Order_Data_api] = useState(); + const [Invoice_Order_Data_message, setInvoice_Order_Data_message] = useState(); + const [Invoice_Order_Data_result, setInvoice_Order_Data_result] = useState(); + function Invoice_Order_Data() { + var form = new FormData(); + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("order_id", selected_id); + form.append("order_ref_interne", order_internal_ref); + + + //console.log("### form = ", form); + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Invoice_Partner_Order/"; + + setLoading(true); + axios.post(myurl, form).then(res => { + //console.log(" In Add_Update_One_Order_Line_Data res.data.status = " + res.data.status); + //console.log(" In Add_Update_One_Order_Line_Data res.data.message r_class = " + res.data.message); + + setLoading(false); + if (String(res.data.status) === String("true")) { + // clean_article_detail_fields(); + setInvoice_Order_Data_api("true"); + setInvoice_Order_Data_message(res.data.message); + clean_all_filters(); + Getall_Parter_Orders_No_Filter(); + + Display_Detail_Order_data(selected_id); + if (document.getElementById('myRef_head')) { + var divh = document.getElementById('myRef_head').offsetTop; + window.scrollTo({ + top: divh, + behavior: "smooth", + }); + } + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("success"); + } + else { + setInvoice_Order_Data_api("false"); + setInvoice_Order_Data_message(res.data.message); + + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + } + + }).catch((error) => { + setLoading(false); + + console.warn('Invoice_Order_Data : Not good man :( Invoice_Order_Data = ' + error); + setInvoice_Order_Data_api("false"); + alert(" Impossible de facturer la commande "); + }) + + + } + + + const [Invoice_Quotation_Data_api, setInvoice_Quotation_Data_api] = useState(); + const [Invoice_Quotation_Data_message, setInvoice_Quotation_Data_message] = useState(); + const [Invoice_Quotation_Data_result, setInvoice_Quotation_Data_result] = useState(); + function Invoice_Quotation_Data() { + var form = new FormData(); + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("order_id", selected_id); + form.append("order_ref_interne", order_internal_ref); + + + //console.log("### form = ", form); + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Invoice_Partner_Quotation/"; + + setLoading(true); + axios.post(myurl, form).then(res => { + //console.log(" In Add_Update_One_Order_Line_Data res.data.status = " + res.data.status); + //console.log(" In Add_Update_One_Order_Line_Data res.data.message r_class = " + res.data.message); + + setLoading(false); + if (String(res.data.status) === String("true")) { + // clean_article_detail_fields(); + setInvoice_Quotation_Data_api("true"); + setInvoice_Quotation_Data_message(res.data.message); + clean_all_filters(); + Getall_Parter_Orders_No_Filter(); + + Display_Detail_Order_data(selected_id); + if (document.getElementById('myRef_head')) { + var divh = document.getElementById('myRef_head').offsetTop; + window.scrollTo({ + top: divh, + behavior: "smooth", + }); + } + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("success"); + } + else { + setInvoice_Quotation_Data_api("false"); + setInvoice_Quotation_Data_message(res.data.message); + + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + } + + }).catch((error) => { + setLoading(false); + + console.warn('Invoice_Quotation_Data : Not good man :( Invoice_Quotation_Data = ' + error); + setInvoice_Quotation_Data_api("false"); + alert(" Impossible de facturer le devis "); + }) + + + } + + const [Get_Class_Data_api, setGet_Class_Data_api] = useState(); + const [Get_Class_Data_message, setGet_Class_Data_message] = useState(); + const [Get_Class_Data_result, setGet_Class_Data_result] = useState(); + function Get_Class_Data(local_internal_url) { + var form = new FormData(); + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("internal_url", local_internal_url); + + + //console.log("### form = ", form); + var myurl = process.env.REACT_APP_API_URL + "myclass/api/get_Class_From_Internal_Url/"; + + setLoading(true); + axios.post(myurl, form).then(res => { + //console.log(" In Add_Update_One_Order_Line_Data res.data.status = " + res.data.status); + //console.log(" In Add_Update_One_Order_Line_Data res.data.message r_class = " + res.data.message); + + setLoading(false); + if (String(res.data.status) === String("true")) { + setGet_Class_Data_api("true"); + setGet_Class_Data_message(res.data.message); + + if (JSON.parse(res.data.message).price) { + setp_add_line_item_price(String(JSON.parse(res.data.message).price)); + document.getElementsByName("ref_article_unit_price")[0].value = String(JSON.parse(res.data.message).price); + + } + + + } + else { + setGet_Class_Data_api("false"); + setGet_Class_Data_message(res.data.message); + + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("success"); + } + + }).catch((error) => { + setLoading(false); + + console.warn('Get_Class_Data : Not good man :( Get_Class_Data = ' + error); + setGet_Class_Data_api("false"); + setdisplay_alert_mysy("1"); + setalert_message(" Impossible de récuperer les données de la formation "); + setalert_type("success"); + + }) + + + } + + const [isLoading, setLoading] = useState(); + const [gridline_id, setgridline_id] = useState(""); + + + const [New_Getall_Partner_Paiement_Condition_result, setNew_Getall_Partner_Paiement_Condition_result] = useState([]); + + const [Getall_Partner_Paiement_Condition_api, setGetall_Partner_Paiement_Condition_api] = useState(); + const [Getall_Partner_Paiement_Condition_message, setGetall_Partner_Paiement_Condition_message] = useState(); + const [Getall_Partner_Paiement_Condition_result, setGetall_Partner_Paiement_Condition_result] = useState([]); + function Getall_Partner_Paiement_Condition(event) { + + var form = new FormData(); + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_List_Paiement_Condition/"; + + setLoading(true); + axios.post(myurl, form).then(res => { + setLoading(false); + + if (String(res.data.status) === String("true")) { + //console.log(" In Getall_Partner_Paiement_Condition res.data.status = " + res.data.status); + //console.log(" In Getall_Partner_Paiement_Condition res.data.message r_class = " + res.data.message); + setGetall_Partner_Paiement_Condition_api("true"); + setGetall_Partner_Paiement_Condition_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_code = JSON.parse(x).code; + var local_description = JSON.parse(x).description; + var local_nb_jour = JSON.parse(x).nb_jour; + var local_depart = JSON.parse(x).depart; + + + //--- + var node = { + "_id": local_id, + "id": localid, + "label": local_code, + "code": local_code, + "description": local_description, + "nb_jour": local_nb_jour, + "depart": local_depart, + + }; + new_data2.push(node); + }); + + //--- + var node = { + "_id": "", + "id": "", + "label": "", + "code": "", + "description": "", + "nb_jour": "", + "depart": "", + + }; + new_data2.push(node); + + + //console.log(" ### new_data2 condition paiement = ", new_data2); + + if (new_data2.length > 0) + setNew_Getall_Partner_Paiement_Condition_result(new_data2); + + + } + else { + setGetall_Partner_Paiement_Condition_api("false"); + setGetall_Partner_Paiement_Condition_message(res.data.message); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + } + + }).catch((error) => { + setLoading(false); + console.warn('Not good man :( Getall_Partner_Paiement_Condition = ', error); + setGetall_Partner_Paiement_Condition_api("false"); + setdisplay_alert_mysy("1"); + setalert_message(" Impossible de recuperer la liste des conditions de paiement"); + setalert_type("error"); + }) + } + + + const New_Status_Filter = [ + { "id": "0", "label": "Brouillon ", "value": "0" }, + { "id": "1", "label": "En cours ", "value": "1" }, + { "id": "2", "label": "Traité", "value": "2" }, + { "id": "-1", "label": "Annulé", "value": "-1" }, + { "id": "", "label": "", "value": "" }, + { "id": "1", "label": "", "value": "1" }, // Cette ligne pour couvrir l'ajout d'une ligne de filter. C'est fait expres. + ] + + + const New_Quotation_Status_Filter = [ + { "id": "0", "label": "Brouillon ", "value": "0" }, + { "id": "1", "label": "En cours ", "value": "1" }, + { "id": "2", "label": "Fermé", "value": "2" }, + + { "id": "3", "label": "Gagné", "value": "3" }, + { "id": "4", "label": "Perdu", "value": "4" }, + + { "id": "-1", "label": "Annulé", "value": "-1" }, + { "id": "", "label": "", "value": "" }, + { "id": "1", "label": "", "value": "1" }, // Cette ligne pour couvrir l'ajout d'une ligne de filter. C'est fait expres. + ] + + + const New_Emplacement_Filter = [ + { "id": "inter", "label": "Inter ", "value": "inter" }, + { "id": "intra", "label": "Intra ", "value": "intra" }, + { "id": "", "label": "", "value": "" }, + { "id": "1", "label": "", "value": "1" }, // Cette ligne pour couvrir l'ajout d'une ligne de filter. C'est fait expres. + ] + + + + const [Dialog_signature_digitale_message, setDialog_signature_digitale_message] = React.useState(false); + const [Dialog_signature_digitale_open, setDialog_signature_digitale_open] = React.useState(false); + function Dialog_signature_digitale_handle_change_participant_session(message) { + setDialog_signature_digitale_message(message); + setDialog_signature_digitale_open(true); + } + + const Dialog_signature_digitale_handleClose = () => { + //alert(" Utiliser le bouton 'fermer' "); + //setOpen(false); + }; + + const Dialog_signature_digitale_handleClose_buton = () => { + setDialog_signature_digitale_open(false); + settab_convention_pieces_jointes_result([]); + }; + + + const New_Option_Frequence_Relance = [ + { "id": "semaine", "label": "Semaine", "value": "semaine" }, + { "id": "mois", "label": "Mois", "value": "mois" }, + { "id": "", "label": "", "value": "" }, + ] + + const New_Option_Oui_Non = [ + { "id": "1", "label": "Oui", "value": "1" }, + { "id": "0", "label": "Non", "value": "0" }, + { "id": "", "label": "", "value": "" }, + ] + + const [p_detail_header_devis_relance_auto, setp_detail_header_devis_relance_auto] = useState(""); + const [p_detail_header_devis_nb_relance, setp_detail_header_devis_nb_relance] = useState(""); + const [p_detail_header_devis_frequence_relance, setp_detail_header_devis_frequence_relance] = useState(""); + + + const [selected, setSelected] = React.useState([]); + const [expanded, setExpanded] = React.useState([]); + const handleToggle = (event, nodeIds) => { + setExpanded(nodeIds); + }; + + const handleExpandClick = () => { + + setExpanded((oldExpanded) => + oldExpanded.length === 0 ? ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10'] : [], + ); + }; + + const handleSelect = (event, nodeIds) => { + setSelected(nodeIds); + }; + + + const New_Option_Filter = [ + { "id": "ref_interne", "label": "Ref. Interne", "value": "ref_interne" }, + { "id": "ref_externe", "label": "Ref. Externe (chez le client)", "value": "ref_externe" }, + { "id": "client_nom", "label": "Nom Client", "value": "client_nom" }, + { "id": "formation", "label": "Lié à la Formation (code externe)", "value": "formation" }, + { "id": "code_session", "label": "Lié à la session (code session)", "value": "code_session" }, + { "id": "", "label": "", "value": "" }, + { "id": "1", "label": "", "value": "1" }, // Cette ligne pour couvrir l'ajout d'une ligne de filter. C'est fait expres. + ] + + const New_Option_Cloture_Devis = [ + { "id": "4", "label": "Perte", "value": "4" }, + { "id": "2", "label": "Cloture", "value": "2" }, + { "id": "", "label": "", "value": "" }, + ] + const [Dialog_Cloture_Devis_open, setDialog_Cloture_Devis_open] = React.useState(false); + + const Close_Dialog_Cloture_Devis_open = () => { + setp_new_raison_cloture(""); + setp_new_comment_raison_cloture(""); + setDialog_Cloture_Devis_open(false); + }; + + const [p_new_raison_cloture, setp_new_raison_cloture] = React.useState(""); + const [p_new_comment_raison_cloture, setp_new_comment_raison_cloture] = React.useState(""); + + + const [Closure_Given_Quotation_api, setClosure_Given_Quotation_api] = useState(); + const [Closure_Given_Quotation_message, setClosure_Given_Quotation_message] = useState(); + const [Closure_Given_Quotation_result, setClosure_Given_Quotation_result] = useState(); + function Closure_Given_Quotation() { + var form = new FormData(); + //form.append("token","K3cw63eKokKSbV4spjQ48SUNnfy80yrXfA"); + + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("order_header_id", selected_id); + form.append("order_header_status", p_new_raison_cloture); + form.append("closure_reason", setp_new_comment_raison_cloture); + + + //console.log(" form == ", form); + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Closure_Partner_Quotation_Header/"; + + + setLoading(true); + axios.post(myurl, form).then(res => { + //console.log(" In Closure_Given_Quotation res.data.status = " + res.data.status); + //console.log(" In Closure_Given_Quotation res.data.message r_class = " + res.data.message); + + setLoading(false); + if (String(res.data.status) === String("true")) { + setClosure_Given_Quotation_api("true"); + setClosure_Given_Quotation_result(res.data.message); + + Getall_Parter_Orders_No_Filter(); + + setOrder_data_changed(""); + setorder_data_edit_mode(""); + Display_Detail_Order_data(selected_id); + Close_Dialog_Cloture_Devis_open(); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("success"); + + if (document.getElementById('myRef_head')) { + var divh = document.getElementById('myRef_head').offsetTop; + window.scrollTo({ + top: divh, + behavior: "smooth", + }); + } + disable_Order_Header_DetailFields(); + + } + else { + setClosure_Given_Quotation_api("false"); + setClosure_Given_Quotation_message(res.data.message); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + } + + }).catch((error) => { + + setLoading(false); + console.warn('UpdateStagiaireData : Not good man :( Closure_Given_Quotation = ' + error); + setClosure_Given_Quotation_api("false"); + alert(" Impossible de faire la mise à jour"); + + }) + } + + const New_Option_formation_produit = [ + { "id": "formation", "label": "Formation", "value": "formation" }, + { "id": "produit", "label": "Produit & Service", "value": "produit" }, + { "id": "", "label": "", "value": "" }, + ] + + + const [Dialog_Create_Session_open, setDialog_Create_Session_open] = React.useState(false); + + const Close_Dialog_Create_Session_open = () => { + + setnew_session_date_debut(""); + setnew_session_date_fin(""); + setnew_session_nb_place(""); + setnew_session_code(""); + setnew_session_with_resa(false); + + setDialog_Create_Session_open(false); + }; + + const [new_session_date_debut, setnew_session_date_debut] = useState(); + const [new_session_date_fin, setnew_session_date_fin] = useState(); + const [new_session_code, setnew_session_code] = useState(""); + const [new_session_nb_place, setnew_session_nb_place] = useState(""); + const [new_session_with_resa, setnew_session_with_resa] = useState(false); + + const filterPassedTime_start = (time) => { + const currentDate = new Date(); + const selectedDate = new Date(time); + + return currentDate.getTime() < selectedDate.getTime(); + }; + + + + const [Create_Session_From_Quotation_api, setCreate_Session_From_Quotation_api] = useState(); + const [Create_Session_From_Quotation_message, setCreate_Session_From_Quotation_message] = useState(); + const [Create_Session_From_Quotation_result, setCreate_Session_From_Quotation_result] = useState(); + function Create_Session_From_Quotation() { + var form = new FormData(); + //form.append("token","K3cw63eKokKSbV4spjQ48SUNnfy80yrXfA"); + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("date_debut", format(new_session_date_debut, 'dd/MM/yyyy')); + form.append("date_fin", format(new_session_date_fin, 'dd/MM/yyyy')); + form.append("nb_participant", new_session_nb_place); + form.append("class_id", selected_order_line_class_id); + form.append("code_session", new_session_code); + form.append("quotation_line_id", selected_order_line_id); + + if (new_session_with_resa) + form.append("resa_inscrit", "1"); + else { + form.append("resa_inscrit", "0"); + + } + + + //console.log(" form == ", form); + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Add_SessionFormation_From_Quotation_Line/"; + + + setLoading(true); + axios.post(myurl, form).then(res => { + //console.log(" In Create_Session_From_Quotation res.data.status = " + res.data.status); + //console.log(" In Create_Session_From_Quotation res.data.message r_class = " + res.data.message); + + setLoading(false); + if (String(res.data.status) === String("true")) { + setCreate_Session_From_Quotation_api("true"); + setCreate_Session_From_Quotation_result(res.data.message); + + Getall_Parter_Orders_No_Filter(); + + Close_Dialog_Create_Session_open(); + handleClick_edit_order_From_Line(selected_order_line_row_number_id); + Getall_TrainingSession(); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("success"); + + /*if (document.getElementById('myRef_head')) { + var divh = document.getElementById('myRef_head').offsetTop; + window.scrollTo({ + top: divh, + behavior: "smooth", + }); + }*/ + disable_Order_Header_DetailFields(); + + } + else { + setCreate_Session_From_Quotation_api("false"); + setCreate_Session_From_Quotation_message(res.data.message); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + } + + }).catch((error) => { + + setLoading(false); + console.warn('UpdateStagiaireData : Not good man :( Create_Session_From_Quotation = ' + error); + setCreate_Session_From_Quotation_api("false"); + alert(" Impossible de faire la mise à jour"); + + }) + } + + const datagridSx = { + borderRadius: 2, + marginRight: 1, + marginLeft: 1, + border: 0, + overflowX: 'scroll', + "& .MuiDataGrid-main": { borderRadius: 0 }, + /*'& div[data-rowIndex][role="row"]:nth-of-type(5n-4)': { + color: "blue", + fontSize: 18, + //risky + minHeight: "60px !important", + height: 60, + "& div": { + minHeight: "60px !important", + height: 60, + lineHeight: "59px !important" + } + },*/ + "& .MuiDataGrid-virtualScrollerRenderZone": { + "& .MuiDataGrid-row": { + "&:nth-child(2n)": { backgroundColor: "rgba(235, 235, 235, .7)" } + } + }, + "& .MuiDataGrid-columnHeaders": { + backgroundColor: "#c8cfd5", + color: "#0a2a4d", + fontSize: 16 + }, + + [`& .${gridClasses.cell}`]: { + py: 1, + }, + + }; + + + function Delete_Convention_Attached_Doc(event) { + + var doc_to_del_name = event.target.id; + const myArray = tab_convention_pieces_jointes_result; + + + + let new_myArray = myArray.filter(file => file.name !== String(doc_to_del_name)); + + var new_tab = [] + for (let i = 0; i < new_myArray.length; i++) { + new_tab.push(new_myArray[i]); + } + + settab_convention_pieces_jointes_result(new_tab); + + + } + + const [sessions_file_change_1_convention_api, setsessions_file_change_1_convention_api] = useState(); + const [sessions_file_change_1_convention_result, setsessions_file_change_1_convention_result] = useState(); + const [sessions_file_change_1_convention_message, setsessions_file_change_1_convention_message] = useState(); + const sessions_file_change_1_convention = event => { + + const fileUploaded = event.target.files[0]; + let file_size = event.target.files[0].size; + let file_type = event.target.files[0].type; + + + if (file_type !== "application/pdf") { + // alert("Le fichier n'est pas de type PDF"); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message("Le fichier n'est pas de type PDF"); + setalert_type("error"); + return; + } + + + + if (file_size > 10000000) { + // alert("Le fichier ne doit pas depasser un 1 Méga octets"); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message("Le fichier ne doit pas depasser un 1 Méga octets"); + setalert_type("error"); + // console.log("Le fichier ne doit pas depasser un 1 Méga octets"); + return; + } + + //var new_node = {'name':event.target.files[0].name, 'type':event.target.files[0].type} + + + var new_tmp = []; + + if (tab_convention_pieces_jointes_result && tab_convention_pieces_jointes_result.length > 0) { + + tab_convention_pieces_jointes_result.map((x) => { + new_tmp.push(x); + + }); + + } + + new_tmp.push(event.target.files[0]) + + settab_convention_pieces_jointes_result(new_tmp); + + //console.log(" tab_convention_pieces_jointes_result = ", tab_convention_pieces_jointes_result) + + + return; + + + }; + + const [tab_convention_pieces_jointes_result, settab_convention_pieces_jointes_result] = useState([]); + + const New_type_apprenant = [ + { "id": "0", "label": "Autre", "value": "0" }, + { "id": "1", "label": "Salariés", "value": "1" }, + { "id": "2", "label": "Apprentis", "value": "2" }, + { "id": "3", "label": "Particuliers", "value": "3" }, + { "id": "4", "label": "Rech. Emploi", "value": "4" }, + { "id": "", "label": "", "value": "" }, + + ] + + const inclus_bpf_tab = [ + { + value: '1', + label: 'Oui', + }, + { + value: '0', + label: 'Non', + }, + { + value: '', + label: '', + }, + + ]; + + + // DEBUT EXPORT EXCEL DATAGRID + + function CustomToolbar(props) { + + + return ( + + + + + + + + + + + ); + } + + function getExcelData(apiRef) { + // Select rows and columns + const filteredSortedRowIds = gridFilteredSortedRowIdsSelector(apiRef); + const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef).filter((data) => (data) !== "__check__"); + + // Format the data. Here we only keep the value + const data = filteredSortedRowIds.map((id) => { + const row = {}; + visibleColumnsField.forEach((field) => { + row[field] = apiRef.current.getCellParams(id, field).value; + }); + return row; + }); + + return data; + } + + + function ExportButton(props) { + return ( + + + + ); + } + + function handleExport(apiRef, data_colums) { + const data = getExcelData(apiRef); + const visibleColumnsField = gridVisibleColumnFieldsSelector(apiRef).filter((data) => (data) !== "__check__"); + + + const local_config = { + keys: visibleColumnsField, + + columnNames: data_colums.filter((mydata) => (mydata).disableExport !== true).map(function (mydata) { + if (mydata.headerName && visibleColumnsField.includes(mydata.field)) { + if (mydata.headerName) { + return mydata.headerName; + } + } + + }), + + fileName: 'data_' + String(new Date().toJSON().slice(0, 10)).replaceAll("-", "_") + '.xlsx', + sheetName: 'Export_' + String(new Date().toJSON().slice(0, 10)).replaceAll("-", "_"), + }; + + local_config.columnNames = local_config.columnNames.filter(function (element) { + return element !== undefined; + }); + + + const rows = data.map((row) => { + const mRow = {}; + for (const key of local_config.keys) { + mRow[key] = row[key]; + } + return mRow; + }); + + const worksheet = XLSX.utils.json_to_sheet(rows); + XLSX.utils.sheet_add_aoa(worksheet, [[...local_config.columnNames]], { + origin: 'A1', + }); + + const workbook = XLSX.utils.book_new(); + XLSX.utils.book_append_sheet(workbook, worksheet, local_config.sheetName); + XLSX.writeFile(workbook, local_config.fileName, { compression: true }); + } + function ExportMenuItem(props) { + const apiRef = useGridApiContext(); + const { hideMenu } = props; + + return ( + { + handleExport(apiRef, props.data_colums); + // Hide the export menu after the export + hideMenu?.(); + }} + > + Export Excel + + ); + } + + // FIN EXPORT EXCEL DATAGRID + + const [Dialog_order_history_message, setDialog_order_history_message] = React.useState(false); + const [Dialog_order_history_open, setDialog_order_history_open] = React.useState(false); + function Dialog_order_history_handle_change_participant_session(message) { + setDialog_order_history_message(message); + setDialog_order_history_open(true); + } + + const Dialog_order_history_handleClose = () => { + //alert(" Utiliser le bouton 'fermer' "); + //setOpen(false); + }; + + const Dialog_order_history_handleClose_buton = () => { + setDialog_order_history_open(false); + + if (document.getElementsByName("order_history_bton") && document.getElementsByName("order_history_bton")[0]) { + document.getElementsByName("order_history_bton")[0].style.backgroundColor = "#d8edfc"; + document.getElementsByName("order_history_bton")[0].style.color = "#3b3e40"; + } + }; + + const [display_alert_mysy, setdisplay_alert_mysy] = useState(""); + const [alert_message, setalert_message] = useState(""); + const [alert_type, setalert_type] = useState(""); + + function clear_alert_message() { + setalert_message(""); + } + function clear_alert_type() { + setalert_type(""); + } + function clear_display_alert_mysy() { + setdisplay_alert_mysy(""); + } + + + const [New_Get_List_Inscrit_To_Session_result, setNew_Get_List_Inscrit_To_Session_result] = useState([{ + "_id": "", + "id": "", + "label": "", + "nom": "", + "prenom": "", + "email": "", + "civilite": "", + "date_naissance": "", + }]); + + const [Get_List_Inscrit_To_Session_api, setGet_List_Inscrit_To_Session_api] = useState(); + const [Get_List_Inscrit_To_Session_message, setGet_List_Inscrit_To_Session_message] = useState(); + const [Get_List_Inscrit_To_Session_result, setGet_List_Inscrit_To_Session_result] = useState(); + function Get_List_Inscrit_To_Session(local_tab_session_id) { + + var form = new FormData(); + const stored_cookie = getCookie('tokenmysypart'); + + form.append("token", stored_cookie); + form.append("tab_session_id", local_tab_session_id); + form.append("invoice_status", ""); + + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_Inscrit_By_Invoice_Status_For_List_Session/"; + + axios.post(myurl, form).then(res => { + //console.log(" In Get_List_Inscrit_To_Session res.data.status = " + res.data.status); + //console.log(" In Get_List_Inscrit_To_Session res.data.message r_class = " + res.data.message); + + if (String(res.data.status) === String("true")) { + setGet_List_Inscrit_To_Session_api("true"); + setGet_List_Inscrit_To_Session_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_nom = JSON.parse(x).nom; + var local_prenom = JSON.parse(x).prenom; + var local_email = JSON.parse(x).email; + var local_civilite = JSON.parse(x).civilite; + var local_date_naissance = JSON.parse(x).date_naissance; + + //--- + var node = { + "_id": local_id, + "id": localid, + "label": local_nom + " " + local_prenom, + "nom": local_nom, + "prenom": local_prenom, + "email": local_email, + "civilite": local_civilite, + "date_naissance": local_date_naissance, + + }; + new_data2.push(node); + }); + + //--- + var node = { + "_id": "", + "id": "", + "label": "", + "nom": "", + "prenom": "", + "email": "", + "civilite": "", + "date_naissance": "", + }; + new_data2.push(node); + + if (new_data2.length > 0) + setNew_Get_List_Inscrit_To_Session_result(new_data2); + + } + else if (String(res.data.status) === String("Err_Connexion")) { + alert('Erreur: ' + res.data.message); + history.push("/Connexion"); + } + else { + setGet_List_Inscrit_To_Session_api("false"); + setGet_List_Inscrit_To_Session_message(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + + } + + }).catch((error) => { + console.warn('Not good man :( Get_List_Inscrit_To_Session = ', error); + setGet_List_Inscrit_To_Session_api("false"); + setdisplay_alert_mysy("1"); + setalert_message('Impossible de recuperer la liste des inscrits'); + setalert_type("error"); + + //setmyApimyApiMessage("") + }) + } + + + const fixedVal_inscrit = []; + const [inscrit_session, setinscrit_session] = useState([...fixedVal_inscrit]); + const CustomChip = (chipVal, getTagProps) => { + return chipVal.map((item, index) => ( + + )); + }; + + + const [NewGetall_TrainingParticipant_Reduce_Fields_With_Remaining_Paiment_result, setNewGetall_TrainingParticipant_Reduce_Fields_With_Remaining_Paiment_result] = useState([{ + "_id": "", + "id": "", + "label": "", + "email": "", + "nom": "", + "prenom": "", + "apprenant_id": "", + }]); + + // Important, ici on ne va recuperer que la liste des inscrit a une session / promo pour qui il reste de choses a facturer + const [Getall_TrainingParticipant_Reduce_Fields_With_Remaining_Paiment_api, setGetall_TrainingParticipant_Reduce_Fields_With_Remaining_Paiment_api] = useState(); + const [Getall_TrainingParticipant_Reduce_Fields_With_Remaining_Paiment_message, setGetall_TrainingParticipant_Reduce_Fields_With_Remaining_Paiment_message] = useState(); + const [Getall_TrainingParticipant_Reduce_Fields_With_Remaining_Paiment_result, setGetall_TrainingParticipant_Reduce_Fields_With_Remaining_Paiment_result] = useState([]); + function Getall_TrainingParticipant_Reduce_Fields_With_Remaining_Paiment(local_session_id, local_client_rattachement_id) { + + var form = new FormData(); + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("session_id", local_session_id); + + if (local_client_rattachement_id && local_client_rattachement_id.length > 5) + form.append("client_rattachement_id", local_client_rattachement_id) + + + //console.log(" ### Getall_TrainingParticipant_Reduce_Fields_With_Remaining_Paiment form = ", form) + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_Insription_From_Session_id_Reduice_Fields_With_Filter_With_To_Paie/"; + + + setLoading(true); + axios.post(myurl, form).then(res => { + + setLoading(false); + if (String(res.data.status) === String("true")) { + setLoading(false); + //console.log(" In Getall_TrainingParticipant_Reduce_Fields_With_Remaining_Paiment res.data.status = " + res.data.status); + console.log(" In Getall_TrainingParticipant_Reduce_Fields_With_Remaining_Paiment res.data.message r_class = " + res.data.message); + setGetall_TrainingParticipant_Reduce_Fields_With_Remaining_Paiment_api("true"); + setGetall_TrainingParticipant_Reduce_Fields_With_Remaining_Paiment_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 email = JSON.parse(x).email; + var nom = JSON.parse(x).nom; + var prenom = JSON.parse(x).prenom; + var apprenant_id = JSON.parse(x).apprenant_id; + + //--- + var node = { + "_id": local_id, + "id": localid, + "label": prenom + " " + nom + " " + email, + "email": email, + "nom": nom, + "prenom": prenom, + "apprenant_id": apprenant_id, + }; + new_data2.push(node); + + // return {"_id": " + str(local_id) + ", "label": " + local_courrier_template_ref_interne + '" , "courrier_template_ref_interne": "' + local_courrier_template_ref_interne + '", "nom_champ_technique": "' + local_nom_champ_technique + '", "nom_champ_fonctionel": "' + local_nom_champ_fonctionel + '","valide": "1" }; + + }); + + //--- + var node = { + "_id": "", + "id": "", + "label": "", + "email": "", + "nom": "", + "prenom": "", + "apprenant_id": "", + }; + new_data2.push(node); + + if (new_data2.length > 0) + setNewGetall_TrainingParticipant_Reduce_Fields_With_Remaining_Paiment_result(new_data2); + + + } + else { + setLoading(false); + setGetall_TrainingParticipant_Reduce_Fields_With_Remaining_Paiment_api("false"); + setGetall_TrainingParticipant_Reduce_Fields_With_Remaining_Paiment_message(res.data.message); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("error"); + } + + }).catch((error) => { + setLoading(false); + + console.warn('Not good man :( Getall_TrainingParticipant_Reduce_Fields_With_Remaining_Paiment = ', error); + setGetall_TrainingParticipant_Reduce_Fields_With_Remaining_Paiment_api("false"); + setdisplay_alert_mysy("1"); + setalert_message(" Impossible de recuperer la liste des inscrits"); + setalert_type("error"); + + }) + } + + + + return ( + +
+ {isLoading &&
+
+
} + + {/*** Affichage des messages d'alerte*/} + {display_alert_mysy && String(display_alert_mysy) === "1" && + + } + {/*** FIN Affichage des messages d'alerte*/} + + + + {/* Dialog affichage historique commande/devis */} + null} + + PaperProps={{ + + + className: classes.paper, // Apply the paper style + style: { + overflowY: 'unset', + position: 'absolute', + // top: '5rem', + margin: "2px", + }, + }} + hideBackdrop={true} + disableScrollLock + classes={{ + paper: classes.dialog + }} + + PaperComponent={PaperComponent} + aria-labelledby="draggable-dialog-title" > + + MySy Information + + +
+
+ +
+ + +
+ + +
+
+ + +
+ + + + + + + + + + +
+
+   +
+ + +
+ +
+
+ +
+ +
+ {/* FIN Dialog affichage historique commande/devis */} + + + {/****** Dialog pour créer une session depuis un devis */} + + null} + + PaperProps={{ + + + className: classes.paper, // Apply the paper style + style: { + overflowY: 'unset', + //position: 'absolute', + //top: default_h + }, + }} + hideBackdrop={true} + disableScrollLock + classes={{ + paper: classes.dialog + }} + + className="displaypartnersession mysy_MuiPaper-root" + + > + + Création Session + + + +
+ + Date début + { + + let local_date = new Date(date).getTime(); + let date_end_session = new Date(new_session_date_fin).getTime(); + let date_start_session = new Date(new_session_date_debut).getTime(); + + /* console.log(" local_date = ", local_date); + console.log(" date_end_session = ", date_end_session); + console.log(" date_start_session = ", date_start_session);*/ + + if (local_date > date_end_session) { + // alert(" La date est après la fin de la session"); + + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(" La date est après la fin de la session"); + setalert_type("error"); + + return; + } + + + setnew_session_date_debut(date); + } + } + showTimeSelect={false} + filterTime={filterPassedTime_start} + dateFormat="dd/MM/yyyy" + className="disabled_style " + + locale={'fr'} + /> + +
+ +
+ + + Date fin + { + + let local_date = new Date(date).getTime(); + let date_end_session = new Date(new_session_date_fin).getTime(); + let date_start_session = new Date(new_session_date_debut).getTime(); + + + + + if (local_date < date_start_session) { + // alert(" La date est avant le début de la session"); + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message("La date est avant le début de la session"); + setalert_type("error"); + return; + } + + + setnew_session_date_fin(date); + } + } + showTimeSelect={false} + filterTime={filterPassedTime_start} + dateFormat="dd/MM/yyyy" + className="disabled_style" + fullWidth + locale={'fr'} + + /> + + +
+ +
Code Session + { + setnew_session_code(e.target.value); + } + } + + /> + +
+ +
Nb Places + { + setnew_session_nb_place(e.target.value); + } + } + + /> + +
+ +
Avec résa. inscriptions + { + setnew_session_with_resa(e.target.checked); + + }} + + /> + +
+ + + +
+ + + + +
+
+ +
+
+ +
+ + + + + +
+ + +
+
+ + + {/****** fin Dialog pour créer une session depuis un devis */} + + + + {/****** Dialog pour cloturer un devis (gerer la perte d'un devis avec motif, ou simple cloture) */} + + null} + + PaperProps={{ + + + className: classes.paper, // Apply the paper style + style: { + overflowY: 'unset', + position: 'absolute', + //top: '5rem', + margin: "2px", + }, + }} + hideBackdrop={true} + disableScrollLock + classes={{ + paper: classes.dialog + }} + + PaperComponent={PaperComponent} + aria-labelledby="draggable-dialog-title" + > + + Cloture devis {String(p_detail_header_ref_interne)} + + + +
Raison Cloture + { + + if (value && value.value) { + setp_new_raison_cloture(value.value); + + } else { + setp_new_raison_cloture(""); + + } + }} + + + renderInput={(params) => + } + /> +
+ + + + + {p_new_raison_cloture && String(p_new_raison_cloture) !== "" && +
Commentaire + { + setp_new_comment_raison_cloture(e.target.value); + } + } + + //label="Commentaire" + //variant="standard" + multiline + minRows={2} + maxRows={2} + rows={2} + + + /> + +
} + + +
+ + + + + + + + +
+ {p_new_raison_cloture && String(p_new_raison_cloture) !== "" &&
+ +
} +
+ +
+ +
+ + +
+
+ + + {/****** Dialog pour cloturer un devis (gerer la perte d'un devis avec motif, ou simple cloture) */} + + + + {/* Dialog pour gerer la signature digitale et ajouter une pièce jointe*/} + null} + + PaperProps={{ + + + className: classes.paper, // Apply the paper style + style: { + overflowY: 'unset', + position: 'absolute', + // top: '5rem', + margin: "2px", + }, + }} + hideBackdrop={true} + disableScrollLock + classes={{ + paper: classes.dialog + }} + + PaperComponent={PaperComponent} + aria-labelledby="draggable-dialog-title" + > + + MySy Information + + + Envoi devis par email + + + + {String(partner_digital_signature_status) === "1" && } + +
+ +
+
+
+
+ +
+ Pièces jointes + +
+ +
+ + {String(props.check_user_acces_right("commande", "write")) === "1" &&
+ +
} + + +
+ + + {tab_convention_pieces_jointes_result &&
+ +
+ Liste des pièces jointes
+ {
+ {tab_convention_pieces_jointes_result && tab_convention_pieces_jointes_result.map((val) => ( +
+
+ + +
+ ))} +
} +
+
} + + + +
+
+ + +
+ + + + + + + +
+
+ + + +
+ + + +
+ +
+
+ +
+ +
+ {/* FIN Dialog pour gerer la signature digitale */} + + + + null} + + PaperProps={{ + + + className: classes.paper, // Apply the paper style + style: { + overflowY: 'unset', + position: 'absolute', + //top: '5rem', + margin: "2px", + }, + }} + hideBackdrop={true} + disableScrollLock + classes={{ + paper: classes.dialog + }} + + PaperComponent={PaperComponent} + aria-labelledby="draggable-dialog-title" + + > + + MySy Information + + + {Dialog_1_message} + + + + + + + + + + + + {/****** Dialog pour la gestion d'un article (formation) */} + null} + + PaperProps={{ + + + className: classes.paper, // Apply the paper style + style: { + overflowY: 'unset', + position: 'absolute', + top: '10rem', + margin: "2px", + maxWidth: 'unset', + width: '50rem' + }, + }} + hideBackdrop={true} + disableScrollLock + classes={{ + paper: classes.dialog + }} + + PaperComponent={PaperComponent} + aria-labelledby="draggable-dialog-title" > + + Edition Détail ligne {String(p_detail_header_type).toLocaleUpperCase()} + + + {/*p_add_line_item = {p_add_line_item}
*/} + + + + {(!selected_order_line_id || String(selected_order_line_id).length < 3) && +
Type Article + + (data).id === String(article_formation_ou_produit))[0].label} + fullWidth + onChange={(event, value) => { + if (value && value.id) { + setarticle_formation_ou_produit(value.id); + setp_add_line_item(""); + setp_add_line_item_qty("1"); + setp_add_line_item_price("0"); + setp_add_line_session_id(""); + setp_add_line_session_code(""); + + + } + }} + + renderInput={(params) => + + } + /> +
+ } + + {/*** Si c'est pour une formation */} + {article_formation_ou_produit && String(article_formation_ou_produit) === "formation" && +
+
+ {New_GetCurrentPartnerClass_result && New_GetCurrentPartnerClass_result.length > 0 && + (p_add_line_item || String(p_add_line_item) === "") && String(p_detail_header_statut_label).toLowerCase() !== "facturé" && +
Formation + (data).internal_url === String(p_add_line_item))[0].label} + + onChange={(event, value) => { + // setp_champ_table(value.nom_champ_technique); + setp_add_line_session_id(""); + + if (value && value.internal_url) { + + setp_add_line_item_price(value.price); + document.getElementsByName("ref_article_unit_price")[0].value = String(value.price); + + + setp_add_line_item(value.internal_url); + setp_add_line_item_internal_url(value.internal_url); + Get_Class_Data(value.internal_url); + setp_add_line_item_title(value.title); + Getall_TrainingSession_For_Given_Class(value._id); + + Recalcul_Item_Amounts(); + + } else { + setp_add_line_item(""); + setp_add_line_item_internal_url(""); + setp_add_line_item_title(""); + setp_add_line_item_price("0"); + document.getElementsByName("ref_article_unit_price")[0].value = "0"; + + } + }} + + + renderInput={(params) => + } + /> + + + +
} + + {(p_add_line_item || String(p_add_line_item) === "") && String(p_detail_header_statut_label).toLowerCase() !== "facturé" + && New_Getall_TrainingSession_For_Given_Class_result && New_Getall_TrainingSession_For_Given_Class_result.length > 0 && +
Session + + + (data)._id === String(p_add_line_session_id))[0].label} + + onChange={(event, value) => { + + if (value && value._id) { + setp_add_line_session_id(value._id); + setp_add_line_session_code(value.code_session); + // Get_List_Inscrit_To_Session(value._id); + Getall_TrainingParticipant_Reduce_Fields_With_Remaining_Paiment(value._id, p_detail_header_client_nom_id); + + } else { + + setp_add_line_session_id(""); + setp_add_line_session_code(""); + setNewGetall_TrainingParticipant_Reduce_Fields_With_Remaining_Paiment_result([]); + setGetall_TrainingParticipant_Reduce_Fields_With_Remaining_Paiment_result([]); + } + }} + + + renderInput={(params) => + } + /> + + + +
} + +
+ {/*(p_add_line_item || String(p_add_line_item) === "") && String(p_detail_header_statut_label).toLowerCase() !== "facturé" + && New_Get_List_Inscrit_To_Session_result && New_Get_List_Inscrit_To_Session_result.length > 0 && +
Inscrit(s) + + { + + setinscrit_session([ + ...fixedVal_inscrit, + ...newValue.filter((i) => fixedVal_inscrit.indexOf(i) === -1), + ]); + + + + }} + value={inscrit_session} + + + + renderInput={(params) => + } + /> + + + +
*/} + + +
+ {New_GetCurrentPartnerClass_result && New_GetCurrentPartnerClass_result.length > 0 && p_add_line_item + && String(p_detail_header_statut_label).toLowerCase() === "facturé" && +
Formation + + (data).internal_url === String(p_add_line_item))[0].label} + + disabled={true} + + renderInput={(params) => + } + /> + + + +
} + + {String(p_detail_header_statut_label).toLowerCase() === "facturé" + && New_Getall_TrainingSession_result && New_Getall_TrainingSession_result.length > 0 && +
Session + + (data).class_internal_url === String(p_add_line_item)) + } + + value={New_Getall_TrainingSession_result.filter((data) => (data)._id === String(p_add_line_session_id))[0].label} + + disabled={true} + + renderInput={(params) => + } + /> + + + +
} + +
+ + {String(p_detail_header_statut_label).toLowerCase() !== "facturé" && +
+ + +
Quantité + + { + setp_add_line_item_qty(e.target.value); + Recalcul_Item_Amounts(); + } + } + type="number" + + /> + +
+ +
Prix Unitaire + { + setp_add_line_item_price(e.target.value); + Recalcul_Item_Amounts(); + } + } + + type="number" + + /> +
+ + +
} + + + + {String(p_detail_header_statut_label).toLowerCase() === "facturé" && + +
+
Quantité + + +
+ +
Prix Unitaire + +
+ +
} + + + + + + {String(p_detail_header_statut_label).toLowerCase() !== "facturé" && + +
+ +
Taux TVA + { + setpartner_taux_tva(e.target.value); + Recalcul_Item_Amounts(); + + } + } + + type="number" + /> +
+ + +
+ val.value === String(p_add_line_item_type_apprenant))[0].label} + onChange={(event, value) => { + if (value && value.id) { + setp_add_line_item_type_apprenant(value.id); + } else { + setp_add_line_item_type_apprenant(""); + } + }} + + renderInput={(params) => + } + /> +
+
} + + {String(p_detail_header_statut_label).toLowerCase() === "facturé" &&
+ + +
Taux TVA + +
+ +
Type apprenant + val.value === String(p_add_line_item_type_apprenant))[0].label} + disabled + type="text" + /> +
+
} + +
} + + + {/*** Si c'est pour un produit ou service */} + {article_formation_ou_produit && String(article_formation_ou_produit) === "produit" && +
+ {/*New_Getall_Partner_Product_Service_result && New_Getall_Partner_Product_Service_result.length > 0 && + (p_add_line_item || String(p_add_line_item) === "") && String(p_detail_header_statut_label).toLowerCase() !== "facturé" && +
Produit & Service + (data)._id === String(p_add_line_item))[0].label} + + onChange={(event, value) => { + // setp_champ_table(value.nom_champ_technique); + if (value && value._id) { + setp_add_line_item(value._id); + setp_add_line_item_internal_url(value._id); + setp_add_line_item_price(value.prix_vente); + setpartner_taux_tva(value.code_taxe); + //Get_Class_Data(value.internal_url); + setp_add_line_item_title(value.code); + } else { + setp_add_line_item(""); + setp_add_line_item_internal_url(""); + setp_add_line_item_title(""); + + } + }} + + + renderInput={(params) => + } + /> +
*/} + + +
+ + {String(p_detail_header_statut_label).toLowerCase() === "facturé" &&
Article + p_add_line_item = {p_add_line_item} + {New_Getall_Partner_Product_Service_result && New_Getall_Partner_Product_Service_result.length > 0 && (data)._id === String(p_add_line_item))[0].label} + + />} + + +
} + + {String(p_detail_header_statut_label).toLowerCase() === "facturé" &&
Quantité + + + +
} + +
+ +
+ + {String(p_detail_header_statut_label).toLowerCase() !== "facturé" && +
+ + {New_Getall_Partner_Product_Service_result && New_Getall_Partner_Product_Service_result.length > 0 && + (p_add_line_item || String(p_add_line_item) === "") && String(p_detail_header_statut_label).toLowerCase() !== "facturé" && +
Produit & Service + (data)._id === String(p_add_line_item))[0].label} + + onChange={(event, value) => { + // setp_champ_table(value.nom_champ_technique); + if (value && value._id) { + setp_add_line_item_price(value.prix_vente); + document.getElementsByName("ref_article_unit_price")[0].value = String(value.prix_vente); + + + setp_add_line_item(value._id); + setp_add_line_item_internal_url(value._id); + + setpartner_taux_tva(value.code_taxe); + + setp_add_line_item_title(value.code); + + + Recalcul_Item_Amounts(); + } else { + setp_add_line_item(""); + setp_add_line_item_internal_url(""); + setp_add_line_item_title(""); + + } + }} + + + renderInput={(params) => + } + /> +
} + + +
} + + {String(p_detail_header_statut_label).toLowerCase() !== "facturé" &&
Quantité + + { + setp_add_line_item_qty(e.target.value); + Recalcul_Item_Amounts(); + } + } + type="number" + + /> + +
} +
+ +
+ + {String(p_detail_header_statut_label).toLowerCase() !== "facturé" &&
Prix Unitaire + { + setp_add_line_item_price(e.target.value); + Recalcul_Item_Amounts(); + } + } + + type="number" + + /> +
} + + {String(p_detail_header_statut_label).toLowerCase() !== "facturé" &&
Taux TVA + { + setpartner_taux_tva(e.target.value); + Recalcul_Item_Amounts(); + } + } + + type="number" + /> +
} + +
+
+ + {String(p_detail_header_statut_label).toLowerCase() === "facturé" &&
Prix Unitaire + +
} + + + {String(p_detail_header_statut_label).toLowerCase() === "facturé" &&
Taux TVA + +
} + +
+ +
} + +
+ {String(p_detail_header_statut_label).toLowerCase() !== "facturé" &&
Type reduction + { + setp_add_line_item_type_reduction(e.target.value); + //console.log(" ## e.target.value = ", e.target.value); + setp_add_line_item_reduction_value("0"); + setp_add_line_item_reduction_total_amount('0'); + setp_add_line_item_reduction_value('0'); + setp_add_line_item_total_amount_ht('0'); + + } + } + + > + Montant   + Pourcentage   + + +
} + + {String(p_detail_header_statut_label).toLowerCase() !== "facturé" &&
Reduction + { + + setp_add_line_item_reduction_value(e.target.value); + Recalcul_Item_Amounts(); + } + } + + type="number" + /> + +
} + +
+ +
+ + {String(p_detail_header_statut_label).toLowerCase() === "facturé" &&
Type reduction + + +
} + + {String(p_detail_header_statut_label).toLowerCase() === "facturé" &&
Reduction + + +
} +
+ + + + + + + +
+
Total Reduction + + +
+ +
Total HT + + +
+ +
+ + {String(p_detail_header_statut_label).toLowerCase() !== "facturé" &&
Commentaire + { + setp_add_line_item_comment(e.target.value); + } + } + //label="Commentaire" + //variant="standard" + multiline + minRows={2} + maxRows={2} + rows={2} + + + /> + +
} + + {String(p_detail_header_statut_label).toLowerCase() === "facturé" &&
Commentaire + + +
} + +
+ + + + + + + + + {String(p_detail_header_statut_label).toLowerCase() !== "facturé" &&
+
+ +
+
+ +
+ +
} + {String(p_detail_header_statut_label).toLowerCase() === "facturé" &&
+
+   +
+
+ +
+ +
} + +
+
+ + {/****** FIN Dialog pour la gestion d'un article (formation) */} + + + + {/********** Dialog pour une entete de commande/devis */} + null} + + PaperProps={{ + + + className: classes.paper, // Apply the paper style + style: { + overflowY: 'unset', + position: 'absolute', + top: '10rem', + margin: "2px", + maxWidth: 'unset', + width: '50rem' + }, + }} + hideBackdrop={true} + disableScrollLock + classes={{ + paper: classes.dialog + }} + + PaperComponent={PaperComponent} + aria-labelledby="draggable-dialog-title" + > + + {Dialog_1_message} + + +
Client + { + if (value && value._id) { + + setp_add_cmd_header_client_id(value._id); + Get_Givent_Partner_Client_Data(value._id); + setclient_selected_paiement_ction_id(value.invoice_condition_paiement_id); + setp_add_cmd_header_condition_paiement_id(value.invoice_condition_paiement_id); + + } + + }} + + renderInput={(params) => + } + /> + +
+ + +
+ +
Date cmd
+ + { + setp_add_cmd_header_date_cmd(format(date, 'dd/MM/yyyy')); + + } + } + showTimeSelect={false} + //filterTime={filterPassedTime_start} + dateFormat="dd/MM/yyyy" + className="disabled_style enable_style" + style={{ "width": "100%" }} + locale={'fr'} + fullWidth + /> +
+ +
Date expiration
+ + { + setp_add_cmd_header_date_expiration_cmd(format(date, 'dd/MM/yyyy')); + + } + } + showTimeSelect={false} + //filterTime={filterPassedTime_start} + dateFormat="dd/MM/yyyy" + className="disabled_style enable_style" + + locale={'fr'} + fullWidth + /> +
+
+
+
Description
+ { + setp_add_cmd_header_description(e.target.value); + + } + } + /> +
+ +
Ref. externe
+ { + setp_add_cmd_header_ref_client(e.target.value); + + } + } + /> +
+ +
+
+ +
Vendeur
+ + { + if (value && value._id) { + setp_add_cmd_header_vendeur_id(value._id); + setp_add_cmd_header_vendeur_id_label(value.label); + + + } else { + setp_add_cmd_header_vendeur_id(""); + setp_add_cmd_header_vendeur_id_label(""); + } + }} + + renderInput={(params) => + } + /> + + {/* { + setp_add_cmd_header_vendeur_id(e.target.value); + + } + } + > + {Getall_Training_Employee_No_Filter_result && + Getall_Training_Employee_No_Filter_result.map((myclient) => ( + + {JSON.parse(myclient).nom}  {JSON.parse(myclient).prenom} + + + ))} + */} +
+ +
Conditions Paiement
+ + {New_Getall_Partner_Paiement_Condition_result && New_Getall_Partner_Paiement_Condition_result.length > 0 && + (data)._id === String(client_selected_paiement_ction_id))[0].label} + options={New_Getall_Partner_Paiement_Condition_result} + onChange={(event, value) => { + + if (value && value._id) { + setp_add_cmd_header_condition_paiement_id(value._id); + setclient_selected_paiement_ction_id(value._id); + + } + + }} + + renderInput={(params) => + } + />} + +
+ +
+ {/*
Type
+ + + + +
*/} + +
+
Emplacement
+ + {New_Emplacement_Filter && New_Emplacement_Filter.length > 0 && (data).value === String(p_add_cmd_header_order_location_type))[0].label} + options={New_Emplacement_Filter} + onChange={(event, value) => { + if (value && value.value) { + + setp_add_cmd_header_order_location_type(value.value); + } else { + setp_add_cmd_header_order_location_type(""); + } + + }} + + renderInput={(params) => + } + />} + + +
+ +
Inclus BPF
+ {inclus_bpf_tab && inclus_bpf_tab.length > 0 && p_add_cmd_header_order_inclus_bpf && (data).value === String(p_add_cmd_header_order_inclus_bpf))[0].label} + options={inclus_bpf_tab} + onChange={(event, value) => { + if (value && value.value) { + setp_add_cmd_header_order_inclus_bpf(value.value); + } else { + setp_add_cmd_header_order_inclus_bpf(""); + } + + }} + + renderInput={(params) => + } + />} + + + +
+
+ +
+
Lieu de formation
+ { + setp_add_cmd_header_lieu_formation(e.target.value); + } + } + + + /> +
+ + +
Commentaire
+ { + setp_add_cmd_header_comment(e.target.value); + + } + } + + + /> +
+
+
 
+ +
+ + + + + + + + +
+
+ +
+
+ +
+ +
+ +
+
+ + {/********** FIN Dialog pour une entete de commande/devis */} + +

Mes Commandes et Devis

+
+
Utilisez les filtres !
+
+
+ {New_Option_Filter && New_Option_Filter.length > 0 && (data).value === String(p_filtre1))[0].label} + options={New_Option_Filter} + onChange={(event, value) => { + if (value && value.value) { + setp_filtre1(value.value); + } else { + setp_filtre1(""); + } + + }} + + renderInput={(params) => + } + />} +
+ + + +
+ {p_filtre1 && + { setp_filtre1_value(e.target.value); }} + InputProps={{ + endAdornment: ( + + { + setp_filtre1_value(""); + }} /> + + ), + }} + + /> + + } +
+ {p_filtre1 && } + {p_filtre1 && } + + +
+ + {p_filtre2 && +
+
+ {New_Option_Filter && New_Option_Filter.length > 0 && (data).value === String(p_filtre2))[0].label} + options={New_Option_Filter} + onChange={(event, value) => { + if (value && value.value) { + setp_filtre2(value.value); + + } + + }} + + renderInput={(params) => + } + />} +
+
+ {String(p_filtre2).length > 2 && + setp_filtre2_value(e.target.value)} + InputProps={{ + endAdornment: ( + + { + setp_filtre2_value(""); + }} /> + + ), + }} + + />} +
+ + {String(p_filtre2).length > 2 && } + + {String(p_filtre2).length > 2 && } + +
+ } + + + {p_filtre3 && +
+
+ {New_Option_Filter && New_Option_Filter.length > 0 && (data).value === String(p_filtre3))[0].label} + options={New_Option_Filter} + onChange={(event, value) => { + if (value && value.value) { + setp_filtre3(value.value); + + } + + }} + + renderInput={(params) => + } + />} +
+
+ {String(p_filtre3).length > 2 && + setp_filtre3_value(e.target.value)} + InputProps={{ + endAdornment: ( + + { + setp_filtre3_value(""); + }} /> + + ), + }} + + />} +
+ + {String(p_filtre2).length > 2 && } + + {String(p_filtre3).length > 2 && } +
+ } + + +
+ +
+ +
+ +
+ + +
+ +
+ +
+
+ +
+
+ {rowss_total_data && rowss_total_data.length > 0 && rowss_total_data.map((val) => ())} + +
+ +
+   + + { + setSelectionModel(newSelectionModel); + /*if (newSelectionModel.length === 1) + handleClick_edit_order_From_Line(newSelectionModel);*/ + if (newSelectionModel.length !== 1) { + clean_order_detail_fields(); + setsubmenu(); + setdisplay_detail_order(); + setadd_One_Order(); + + } + }} + selectionModel={selectionModel} + + localeText={frFR.components.MuiDataGrid.defaultProps.localeText} + rows={rowss.map((item, index) => ( + { + id: index, + _id: JSON.parse(item)._id, + order_header_ref_interne: JSON.parse(item).order_header_ref_interne, + order_header_type: JSON.parse(item).order_header_type, + order_header_status: JSON.parse(item).order_header_status, + order_header_client_id: JSON.parse(item).order_header_client_id, + order_header_client_nom: JSON.parse(item).order_header_client_nom, + order_header_vendeur_id: JSON.parse(item).order_header_vendeur_id, + order_header_vendeur_nom_prenom: JSON.parse(item).order_header_vendeur_nom_prenom, + order_header_date_cmd: JSON.parse(item).order_header_date_cmd, + order_header_date_expiration: JSON.parse(item).order_header_date_expiration, + + } + ))} + + columns={columns} + pageSize={10} + className="datagridclass" + + onRowDoubleClick={(newSelectionModel) => { + + clean_article_detail_fields(); + GetCurrentPartnerClass(); + + setgridline_id(newSelectionModel.row.id); + setp_detail_header_client_nom_id(newSelectionModel.row.order_header_client_id); + handleClick_edit_order_From_Line(newSelectionModel.row.id); + } + } + + rowsPerPageOptions={[10]} + //disableSelectionOnClick + /* components={{ + Toolbar: GridToolbar, + }}*/ + //sx={datagridSx} + getCellClassName={(params) => { + + + //field === "order_header_status" + if (params.field === "order_header_status" && String(params.value) == "0") { + return 'cell--status--brouillon'; + } + + if (params.field === "order_header_status" && String(params.value) == "1") { + + return 'cell--status--encours'; + } + + if (params.field === "order_header_status" && String(params.value) == "2") { + return 'cell--status--traite'; + } + + if (params.field === "order_header_status" && String(params.value) == "3") { + return 'cell--status--facture'; + } + + }} + getRowClassName={(params) => { + + if (String(params.row.status) === "-1") { + return 'line--statut--annule'; + } + if (String(params.row.status) === "0") { + return 'line--statut--preinscrit'; + } + if (String(params.row.status) === "1") { + return 'line--statut--inscrit'; + } + // Pour la gestion de la couleur de zone double cliquée + if (String(params.row.id) === String(gridline_id)) { + return 'line--statut--selected'; + } + else if (parseInt(String(params.row.id)) % 2 === 0) { + return 'line--statut--pair'; + } + else if (parseInt(String(params.row.id)) % 2 !== 0) { + return 'line--statut--impair'; + } + + }} + + + /> + +
+ +
+ +
+ +
+ +
+ + {String(props.check_user_acces_right("commande", "write")) === "1" &&
+ + {/**/} + + + + + {/**/} + + +
} +
+
 
+ + + {String(submenu) === "detail_order" && String(add_One_Order) !== "1" &&
+ +
+
+ +
+ + + {selected_order_header_type && String(selected_order_header_type) !== "devis" && } + {selected_order_header_type && String(selected_order_header_type) === "devis" && } + + {String(history_securite_read) === "1" && } + +
+ + +
+ + +
+ +
+
+ +
+ Infos Générales +
+ +
+ + + + {String(header_submenu) === "main" &&
+
Type
+ { + setp_detail_header_type(e.target.value); + setOrder_data_changed("1"); + } + } + + /> +
+ + {String(order_data_edit_mode) !== "1" &&
Statut + {p_detail_header_order_header_ref_interne && String(p_detail_header_order_header_ref_interne).length > 2 && + +   + + } +
+ + + { + setp_detail_header_statut(e.target.value); + setOrder_data_changed("1"); + } + } + /> + +
} + {String(order_data_edit_mode) === "1" && String(p_detail_header_type) === "commande" &&
Statut
+ + + {New_Status_Filter && New_Status_Filter.length > 0 && (data).value === String(p_detail_header_statut))[0].label} + options={New_Status_Filter} + onChange={(event, value) => { + if (value && value.value) { + + setp_detail_header_statut(value.value); + setOrder_data_changed("1"); + } + + }} + + renderInput={(params) => + } + />} + + + + +
} + {String(order_data_edit_mode) === "1" && String(p_detail_header_type) === "devis" &&
Statut
+ + + {New_Quotation_Status_Filter && New_Quotation_Status_Filter.length > 0 && (data).value === String(p_detail_header_statut))[0].label} + options={New_Quotation_Status_Filter} + onChange={(event, value) => { + if (value && value.value) { + + setp_detail_header_statut(value.value); + setOrder_data_changed("1"); + + + } + + }} + + renderInput={(params) => + } + />} + + + +
} + +
Ref. Interne
+ { + setp_detail_header_ref_interne(e.target.value); + setOrder_data_changed("1"); + } + } + + /> +
+ + + {String(order_data_edit_mode) !== "1" &&
Inclus BPF
+ (data).value === String(p_add_cmd_header_order_inclus_bpf))[0].label} + /> + +
} + + + {String(order_data_edit_mode) === "1" &&
Inclus BPF
+ {inclus_bpf_tab && inclus_bpf_tab.length > 0 && (data).value === String(p_add_cmd_header_order_inclus_bpf))[0].label} + options={inclus_bpf_tab} + onChange={(event, value) => { + setOrder_data_changed("1"); + if (value && value.value) { + setp_add_cmd_header_order_inclus_bpf(value.value); + } else { + setp_add_cmd_header_order_inclus_bpf(""); + } + + }} + + renderInput={(params) => + } + />} +
} + + + + {String(order_data_edit_mode) === "1" &&
+ Conditions Paiement
+ + + {New_Getall_Partner_Paiement_Condition_result && New_Getall_Partner_Paiement_Condition_result.length > 0 && + (data).label === String(p_detail_header_condition_paiement_code))[0].label} + options={New_Getall_Partner_Paiement_Condition_result} + className="disabled_style" + onChange={(event, value) => { + if (value && value._id) { + setp_detail_header_condition_paiement_code(value.code); + setp_detail_header_condition_paiement_id(value._id); + setOrder_data_changed("1"); + } + + }} + + renderInput={(params) => + } + />} + + +
} + {String(order_data_edit_mode) !== "1" &&
Conditions Paiement
+ + +
} + + + {String(order_data_edit_mode) !== "1" &&
Date Cmd
+ +
} + + {String(order_data_edit_mode) === "1" &&
Date Cmd
+ { + setp_detail_header_date_cmd_val(format(date, 'dd/MM/yyyy')); + setOrder_data_changed("1"); + } + } + showTimeSelect={false} + //filterTime={filterPassedTime_start} + dateFormat="dd/MM/yyyy" + className="disabled_style enable_style" + locale={'fr'} + /> +
} + + + {String(order_data_edit_mode) !== "1" &&
Date expiration
+ +
} + + {String(order_data_edit_mode) === "1" &&
Date expiration
+ { + setp_detail_header_date_expiration_val(format(date, 'dd/MM/yyyy')); + setp_detail_header_date_expiration(format(date, 'dd/MM/yyyy')); + setOrder_data_changed("1"); + } + } + showTimeSelect={false} + //filterTime={filterPassedTime_start} + dateFormat="dd/MM/yyyy" + className="disabled_style enable_style" + locale={'fr'} + /> +
} + + + + {String(order_data_edit_mode) !== "1" && } + + {String(order_data_edit_mode) === "1" &&
Nom Client
+ + { + setp_detail_header_client_nom_id(e.target.value); + Get_Givent_Partner_Client_Data(e.target.value); + setOrder_data_changed("1"); + } + } + + > + {Get_List_Partner_Clients_result && + Get_List_Partner_Clients_result.map((myclient) => ( + + {JSON.parse(myclient).nom}   + + + ))} + + +
} + + +
Email Client
+ { + setp_detail_header_email_client(e.target.value); + setOrder_data_changed("1"); + } + } + + /> +
+ + +
Ref. Externe
+ { + setp_detail_header_ref_client(e.target.value); + setOrder_data_changed("1"); + } + } + + /> +
+ +
Description
+ { + setp_detail_header_description(e.target.value); + setOrder_data_changed("1"); + } + } + + /> +
+ +
Lieu de formation
+ { + setp_detail_header_lieu_formation(e.target.value); + setOrder_data_changed("1"); + } + } + + /> +
+ + +
Commentaire
+ { + setp_detail_header_comment(e.target.value); + setOrder_data_changed("1"); + } + } + + /> +
+ + {String(order_data_edit_mode) !== "1" &&
Vendeur
+ { + setp_detail_header_vendeur_nom(e.target.value); + setOrder_data_changed("1"); + } + } + + /> +
} + + {String(order_data_edit_mode) === "1" &&
Vendeur
+ { + setp_detail_header_vendeur_nom_id(e.target.value); + setOrder_data_changed("1"); + } + } + + > + {Getall_Training_Employee_No_Filter_result && + Getall_Training_Employee_No_Filter_result.map((myclient) => ( + + {JSON.parse(myclient).nom}  {JSON.parse(myclient).prenom} + + + ))} + + +
} + + + +
} + + {String(header_submenu) === "detail" &&
+ {/*
+ + + +
*/} + + {/* + {String(order_data_edit_mode) === "1" &&
Type de Reduction (entete)
+ { + setp_detail_header_type_reduction(e.target.value); + setOrder_data_changed("1"); + } + } + + > + Montant   + Pourcentage   + +
} + + {String(order_data_edit_mode) !== "1" &&
Type de Reduction (entete)
+ + +
} + + +
Valeur reduction (entete)
+ { + setp_detail_header_type_reduction_valeur(e.target.value); + setOrder_data_changed("1"); + } + } + + /> +
+ +
Montant Reduction (entete)
+ { + setp_detail_header_montant_reduction(e.target.value); + setOrder_data_changed("1"); + } + } + + /> +
+ +*/} + +
Total Ligne HT avant reduction
+ +
+ +
Total Ligne Reduction
+ +
+ +
Total Ligne HT apres reduction
+ +
+ + +
Total Ligne Taxes
+ +
+ +
Entete : Total reduction
+ +
+ + + +
Entete : Total HT avant reduction d'entete
+ +
+ +
Entete : Total HT apres reduction d'entete
+ +
+ +
} + + {String(header_submenu) === "facturation" &&
+ +
Adresse Facturation
+ { + setp_detail_header_fact_adr(e.target.value); + setOrder_data_changed("1"); + } + } + + /> +
+ +
Code postal
+ { + setp_detail_header_fact_code_postal(e.target.value); + setOrder_data_changed("1"); + } + } + + /> +
+ +
Ville
+ { + setp_detail_header_fact_ville(e.target.value); + setOrder_data_changed("1"); + } + } + + /> +
+ +
Pays
+ { + setp_detail_header_fact_pays(e.target.value); + setOrder_data_changed("1"); + } + } + + /> +
+ + + +
Adresse Livraison
+ { + setp_detail_header_liv_adr(e.target.value); + setOrder_data_changed("1"); + } + } + + /> +
+ +
Code postal
+ { + setp_detail_header_liv_code_postal(e.target.value); + setOrder_data_changed("1"); + } + } + + /> +
+ +
Ville
+ { + sep_detail_header_liv_ville(e.target.value); + setOrder_data_changed("1"); + } + } + + /> +
+ +
Pays
+ { + setp_detail_header_liv_pays(e.target.value); + setOrder_data_changed("1"); + } + } + + /> +
+ + +
} + + {String(header_submenu) === "order_header_relance" &&
+ + + {String(order_data_edit_mode) !== "1" &&
Relance Automatique
+ (data).id === String(p_detail_header_devis_relance_auto))[0].label} + + /> +
} + + {String(order_data_edit_mode) === "1" && New_Option_Oui_Non &&
Relance Automatique
+ (data).id === String(p_detail_header_devis_relance_auto))[0].label} + onChange={(event, value) => { + if (value && value.value) { + setp_detail_header_devis_relance_auto(value.value); + + } else { + setp_detail_header_devis_relance_auto(""); + } + setOrder_data_changed("1"); + }} + + renderInput={(params) => + } + /> + + + +
} + + + {String(order_data_edit_mode) !== "1" && } + + {String(order_data_edit_mode) === "1" && New_Option_Frequence_Relance &&
+ + + Fréquence de relance (en jour)
+ { + setp_detail_header_devis_frequence_relance(e.target.value); + setOrder_data_changed("1"); + } + } + + /> +
} + + + + {String(order_data_edit_mode) !== "1" &&
Nombre Relance
+ +
} + + {String(order_data_edit_mode) === "1" &&
Nombre Relance
+ { + setp_detail_header_devis_nb_relance(e.target.value); + setOrder_data_changed("1"); + } + } + /> +
} + +
+
Les relances effectuées
+
+ + + {Quotation_list_relance && + Quotation_list_relance.map((relance, index) => ( + +
+ {relance.date_relance && relance.mesg_relance && } +
+ ))} + +
+
+ + +
} + + + {String(header_submenu) === "historique" &&
+ +
} + + + + + + + +
+
+
+ + +
+ +
+
+
+ +
+ Actions +
+ +
+ + + + {String(props.check_user_acces_right("commande", "write")) === "1" && String(p_detail_header_statut_label).toLowerCase() === "brouillon" && + String(p_detail_header_statut_label).toLowerCase() !== "facturé" && + } + + {String(props.check_user_acces_right("commande", "write")) === "1" && String(p_detail_header_statut_label).toLowerCase() === "en cours" && + String(p_detail_header_type).toLowerCase() === "commande" && + } + + + {String(props.check_user_acces_right("commande", "write")) === "1" && String(selected_order_header_type) === "commande" && + String(p_detail_header_statut_label).toLowerCase() === "traité" && + Facturer + } + + modal + nested + position="center center" + > + {close => ( +
+ +
MySy Information
+
+ {' '} + + En confirmant cette opération, vous allez lancer le processus de facturation.
+
+ + + +
+
+ + +
+
+ +
+
+
+ )} +
+ + } + + + {String(props.check_user_acces_right("commande", "write")) === "1" && String(selected_order_header_type) === "devis" && + (p_detail_header_statut === "1" || p_detail_header_statut === "3") && + Facturer + } + + modal + nested + position="center center" + > + {close => ( +
+ +
MySy Information
+
+ {' '} + + En confirmant cette opération, vous allez lancer le processus de facturation.
+
+ + + +
+
+ + +
+
+ +
+
+
+ )} +
+ + } + + + + + {/*String(props.check_user_acces_right("commande", "write")) === "1" && String(selected_order_header_type) === "devis" && + (String(p_detail_header_statut_label).toLowerCase().trim() === "en cours" || String(p_detail_header_statut_label).toLowerCase().trim() === "gagné") && + String(p_detail_header_order_header_ref_interne) === "" && + + */} + + {String(selected_order_header_type) === "devis" && + (String(p_detail_header_statut_label).toLowerCase().trim() === "en cours" || String(p_detail_header_statut_label).toLowerCase().trim() === "gagné") && + String(p_detail_header_order_header_ref_interne) !== "" && + + } + + + {String(props.check_user_acces_right("commande", "write")) === "1" && String(selected_order_header_type) === "devis" && String(p_detail_header_statut_label).toLowerCase() === "en cours" && + Valider et Reserver + } + + modal + nested + position="center center" + > + {close => ( +
+ +
MySy Information
+
+ {' '} + + En confirmant cette opération, vous allez valider le devis et reserver automatiquement les places dans la session
+ +
+
+
+ + +
+
+ +
+
+
+ )} +
+ + } + + {String(props.check_user_acces_right("commande", "write")) === "1" && String(p_detail_header_statut_label).toLowerCase() !== "facturé" && } + + + {String(props.check_user_acces_right("commande", "write")) === "1" && String(p_detail_header_statut_label).toLowerCase() !== "traité" && + String(p_detail_header_statut_label).toLowerCase() !== "facturé" && + Supprimer } + + modal + nested + position="center center" + > + {close => ( +
+ +
MySy Information
+
+ {' '} + + En confirmant cette opération, le document sera définitivement supprimé.
+ +
+
+
+ + +
+
+ +
+
+
+ )} +
+ } + {String(p_detail_header_statut_label).toLowerCase() !== "traité" && + String(p_detail_header_statut_label).toLowerCase() !== "facturé" && + String(selected_order_header_type) === "devis" && + + } + +

+ {String(p_detail_header_statut_label).toLowerCase() === "en cours" && + + } + + + {String(props.check_user_acces_right("commande", "write")) === "1" && String(p_detail_header_statut_label).toLowerCase() !== "brouillon" && } + {String(props.check_user_acces_right("commande", "write")) === "1" && String(p_detail_header_statut_label).toLowerCase() !== "brouillon" && } + +

+ + {String(p_detail_header_devis_date_validation).length > 5 && } + {String(p_detail_header_devis_date_envoi).length > 5 && } + + + {(!p_detail_header_devis_date_validation || String(p_detail_header_devis_date_validation).length < 5) && } + {(!p_detail_header_devis_date_envoi || String(p_detail_header_devis_date_envoi).length < 5) && } + + + + + + +
+
+
+ +
+ +
+ {String(header_submenu) === "main" &&
+
Type
+ { + setp_detail_header_type(e.target.value); + setOrder_data_changed("1"); + } + } + + /> +
+ + {String(order_data_edit_mode) !== "1" &&
Statut + {p_detail_header_order_header_ref_interne && String(p_detail_header_order_header_ref_interne).length > 2 && + +   + + } +
+ + + { + setp_detail_header_statut(e.target.value); + setOrder_data_changed("1"); + } + } + /> + +
} + {String(order_data_edit_mode) === "1" && String(p_detail_header_type) === "commande" &&
Statut
+ + + {New_Status_Filter && New_Status_Filter.length > 0 && (data).value === String(p_detail_header_statut))[0].label} + options={New_Status_Filter} + onChange={(event, value) => { + if (value && value.value) { + + setp_detail_header_statut(value.value); + setOrder_data_changed("1"); + } + + }} + + renderInput={(params) => + } + />} + + + + +
} + {String(order_data_edit_mode) === "1" && String(p_detail_header_type) === "devis" &&
Statut
+ + + {New_Quotation_Status_Filter && New_Quotation_Status_Filter.length > 0 && (data).value === String(p_detail_header_statut))[0].label} + options={New_Quotation_Status_Filter} + onChange={(event, value) => { + if (value && value.value) { + + setp_detail_header_statut(value.value); + setOrder_data_changed("1"); + + + } + + }} + + renderInput={(params) => + } + />} + + + +
} + +
Ref. Interne
+ { + setp_detail_header_ref_interne(e.target.value); + setOrder_data_changed("1"); + } + } + + /> +
+ + + {String(order_data_edit_mode) !== "1" &&
Inclus BPF
+ (data).value === String(p_add_cmd_header_order_inclus_bpf))[0].label} + /> + +
} + + + {String(order_data_edit_mode) === "1" &&
Inclus BPF
+ {inclus_bpf_tab && inclus_bpf_tab.length > 0 && (data).value === String(p_add_cmd_header_order_inclus_bpf))[0].label} + options={inclus_bpf_tab} + onChange={(event, value) => { + setOrder_data_changed("1"); + if (value && value.value) { + setp_add_cmd_header_order_inclus_bpf(value.value); + } else { + setp_add_cmd_header_order_inclus_bpf(""); + } + + }} + + renderInput={(params) => + } + />} +
} + + + + {String(order_data_edit_mode) === "1" &&
+ Conditions Paiement
+ + + {New_Getall_Partner_Paiement_Condition_result && New_Getall_Partner_Paiement_Condition_result.length > 0 && + (data).label === String(p_detail_header_condition_paiement_code))[0].label} + options={New_Getall_Partner_Paiement_Condition_result} + className="disabled_style" + onChange={(event, value) => { + if (value && value._id) { + setp_detail_header_condition_paiement_code(value.code); + setp_detail_header_condition_paiement_id(value._id); + setOrder_data_changed("1"); + } + + }} + + renderInput={(params) => + } + />} + + +
} + {String(order_data_edit_mode) !== "1" &&
Conditions Paiement
+ + +
} + + + {String(order_data_edit_mode) !== "1" &&
Date Cmd
+ +
} + + {String(order_data_edit_mode) === "1" &&
Date Cmd
+ { + setp_detail_header_date_cmd_val(format(date, 'dd/MM/yyyy')); + setOrder_data_changed("1"); + } + } + showTimeSelect={false} + //filterTime={filterPassedTime_start} + dateFormat="dd/MM/yyyy" + className="disabled_style enable_style" + locale={'fr'} + /> +
} + + + {String(order_data_edit_mode) !== "1" &&
Date expiration
+ +
} + + {String(order_data_edit_mode) === "1" &&
Date expiration
+ { + setp_detail_header_date_expiration_val(format(date, 'dd/MM/yyyy')); + setp_detail_header_date_expiration(format(date, 'dd/MM/yyyy')); + setOrder_data_changed("1"); + } + } + showTimeSelect={false} + //filterTime={filterPassedTime_start} + dateFormat="dd/MM/yyyy" + className="disabled_style enable_style" + locale={'fr'} + /> +
} + + + + {String(order_data_edit_mode) !== "1" && } + + {String(order_data_edit_mode) === "1" &&
Nom Client
+ + { + setp_detail_header_client_nom_id(e.target.value); + Get_Givent_Partner_Client_Data(e.target.value); + setOrder_data_changed("1"); + } + } + + > + {Get_List_Partner_Clients_result && + Get_List_Partner_Clients_result.map((myclient) => ( + + {JSON.parse(myclient).nom}   + + + ))} + + +
} + + +
Email Client
+ { + setp_detail_header_email_client(e.target.value); + setOrder_data_changed("1"); + } + } + + /> +
+ + +
Ref. Externe
+ { + setp_detail_header_ref_client(e.target.value); + setOrder_data_changed("1"); + } + } + + /> +
+ +
Description
+ { + setp_detail_header_description(e.target.value); + setOrder_data_changed("1"); + } + } + + /> +
+ +
Lieu de formation
+ { + setp_detail_header_lieu_formation(e.target.value); + setOrder_data_changed("1"); + } + } + + /> +
+ + +
Commentaire
+ { + setp_detail_header_comment(e.target.value); + setOrder_data_changed("1"); + } + } + + /> +
+ + {String(order_data_edit_mode) !== "1" &&
Vendeur
+ { + setp_detail_header_vendeur_nom(e.target.value); + setOrder_data_changed("1"); + } + } + + /> +
} + + {String(order_data_edit_mode) === "1" &&
Vendeur
+ { + setp_detail_header_vendeur_nom_id(e.target.value); + setOrder_data_changed("1"); + } + } + + > + {Getall_Training_Employee_No_Filter_result && + Getall_Training_Employee_No_Filter_result.map((myclient) => ( + + {JSON.parse(myclient).nom}  {JSON.parse(myclient).prenom} + + + ))} + + +
} + + + +
} + + {String(header_submenu) === "detail" &&
+ {/*
+ + + +
*/} + + {/* + {String(order_data_edit_mode) === "1" &&
Type de Reduction (entete)
+ { + setp_detail_header_type_reduction(e.target.value); + setOrder_data_changed("1"); + } + } + + > + Montant   + Pourcentage   + +
} + + {String(order_data_edit_mode) !== "1" &&
Type de Reduction (entete)
+ + +
} + + +
Valeur reduction (entete)
+ { + setp_detail_header_type_reduction_valeur(e.target.value); + setOrder_data_changed("1"); + } + } + + /> +
+ +
Montant Reduction (entete)
+ { + setp_detail_header_montant_reduction(e.target.value); + setOrder_data_changed("1"); + } + } + + /> +
+ +*/} + +
Total Ligne HT avant reduction
+ +
+ +
Total Ligne Reduction
+ +
+ +
Total Ligne HT apres reduction
+ +
+ + +
Total Ligne Taxes
+ +
+ +
Entete : Total reduction
+ +
+ + + +
Entete : Total HT avant reduction d'entete
+ +
+ +
Entete : Total HT apres reduction d'entete
+ +
+ +
} + + {String(header_submenu) === "facturation" &&
+ +
Adresse Facturation
+ { + setp_detail_header_fact_adr(e.target.value); + setOrder_data_changed("1"); + } + } + + /> +
+ +
Code postal
+ { + setp_detail_header_fact_code_postal(e.target.value); + setOrder_data_changed("1"); + } + } + + /> +
+ +
Ville
+ { + setp_detail_header_fact_ville(e.target.value); + setOrder_data_changed("1"); + } + } + + /> +
+ +
Pays
+ { + setp_detail_header_fact_pays(e.target.value); + setOrder_data_changed("1"); + } + } + + /> +
+ + + +
Adresse Livraison
+ { + setp_detail_header_liv_adr(e.target.value); + setOrder_data_changed("1"); + } + } + + /> +
+ +
Code postal
+ { + setp_detail_header_liv_code_postal(e.target.value); + setOrder_data_changed("1"); + } + } + + /> +
+ +
Ville
+ { + sep_detail_header_liv_ville(e.target.value); + setOrder_data_changed("1"); + } + } + + /> +
+ +
Pays
+ { + setp_detail_header_liv_pays(e.target.value); + setOrder_data_changed("1"); + } + } + + /> +
+ + +
} + + {String(header_submenu) === "order_header_relance" &&
+ + + {String(order_data_edit_mode) !== "1" &&
Relance Automatique
+ (data).id === String(p_detail_header_devis_relance_auto))[0].label} + + /> +
} + + {String(order_data_edit_mode) === "1" && New_Option_Oui_Non &&
Relance Automatique
+ (data).id === String(p_detail_header_devis_relance_auto))[0].label} + onChange={(event, value) => { + if (value && value.value) { + setp_detail_header_devis_relance_auto(value.value); + + } else { + setp_detail_header_devis_relance_auto(""); + } + setOrder_data_changed("1"); + }} + + renderInput={(params) => + } + /> + + + +
} + + + {String(order_data_edit_mode) !== "1" && } + + {String(order_data_edit_mode) === "1" && New_Option_Frequence_Relance &&
+ + + Fréquence de relance (en jour)
+ { + setp_detail_header_devis_frequence_relance(e.target.value); + setOrder_data_changed("1"); + } + } + + /> +
} + + + + {String(order_data_edit_mode) !== "1" &&
Nombre Relance
+ +
} + + {String(order_data_edit_mode) === "1" &&
Nombre Relance
+ { + setp_detail_header_devis_nb_relance(e.target.value); + setOrder_data_changed("1"); + } + } + /> +
} + +
+
Les relances effectuées
+
+ + + {Quotation_list_relance && + Quotation_list_relance.map((relance, index) => ( + +
+ {relance.date_relance && relance.mesg_relance && } +
+ ))} + +
+
+ + +
} + + + {String(header_submenu) === "historique" &&
+ +
} + + + +
+ + +
+ + {String(props.check_user_acces_right("commande", "write")) === "1" && String(p_detail_header_statut_label).toLowerCase() === "brouillon" && + String(p_detail_header_statut_label).toLowerCase() !== "facturé" && + } + + {String(props.check_user_acces_right("commande", "write")) === "1" && String(p_detail_header_statut_label).toLowerCase() === "en cours" && + String(p_detail_header_type).toLowerCase() === "commande" && + } + + + {String(props.check_user_acces_right("commande", "write")) === "1" && String(selected_order_header_type) === "commande" && + String(p_detail_header_statut_label).toLowerCase() === "traité" && + Facturer + } + + modal + nested + position="center center" + > + {close => ( +
+ +
MySy Information
+
+ {' '} + + En confirmant cette opération, vous allez lancer le processus de facturation.
+
+ + + +
+
+ + +
+
+ +
+
+
+ )} +
+ + } + + + {String(props.check_user_acces_right("commande", "write")) === "1" && String(selected_order_header_type) === "devis" && + (p_detail_header_statut === "1" || p_detail_header_statut === "3") && + Facturer + } + + modal + nested + position="center center" + > + {close => ( +
+ +
MySy Information
+
+ {' '} + + En confirmant cette opération, vous allez lancer le processus de facturation.
+
+ + + +
+
+ + +
+
+ +
+
+
+ )} +
+ + } + + + + + {/*String(props.check_user_acces_right("commande", "write")) === "1" && String(selected_order_header_type) === "devis" && + (String(p_detail_header_statut_label).toLowerCase().trim() === "en cours" || String(p_detail_header_statut_label).toLowerCase().trim() === "gagné") && + String(p_detail_header_order_header_ref_interne) === "" && + + */} + + {String(selected_order_header_type) === "devis" && + (String(p_detail_header_statut_label).toLowerCase().trim() === "en cours" || String(p_detail_header_statut_label).toLowerCase().trim() === "gagné") && + String(p_detail_header_order_header_ref_interne) !== "" && + + } + + + {String(props.check_user_acces_right("commande", "write")) === "1" && String(selected_order_header_type) === "devis" && String(p_detail_header_statut_label).toLowerCase() === "en cours" && + Valider et Reserver + } + + modal + nested + position="center center" + > + {close => ( +
+ +
MySy Information
+
+ {' '} + + En confirmant cette opération, vous allez valider le devis et reserver automatiquement les places dans la session
+ +
+
+
+ + +
+
+ +
+
+
+ )} +
+ + } + + {String(props.check_user_acces_right("commande", "write")) === "1" && String(p_detail_header_statut_label).toLowerCase() !== "facturé" && } + + + {String(props.check_user_acces_right("commande", "write")) === "1" && String(p_detail_header_statut_label).toLowerCase() !== "traité" && + String(p_detail_header_statut_label).toLowerCase() !== "facturé" && + Supprimer } + + modal + nested + position="center center" + > + {close => ( +
+ +
MySy Information
+
+ {' '} + + En confirmant cette opération, le document sera définitivement supprimé.
+ +
+
+
+ + +
+
+ +
+
+
+ )} +
+ } + {String(p_detail_header_statut_label).toLowerCase() !== "traité" && + String(p_detail_header_statut_label).toLowerCase() !== "facturé" && + String(selected_order_header_type) === "devis" && + + } + +

+ {String(p_detail_header_statut_label).toLowerCase() === "en cours" && + + } + + + {String(props.check_user_acces_right("commande", "write")) === "1" && String(p_detail_header_statut_label).toLowerCase() !== "brouillon" && } + {String(props.check_user_acces_right("commande", "write")) === "1" && String(p_detail_header_statut_label).toLowerCase() !== "brouillon" && } + +

+ + {String(p_detail_header_devis_date_validation).length > 5 && } + {String(p_detail_header_devis_date_envoi).length > 5 && } + + + {(!p_detail_header_devis_date_validation || String(p_detail_header_devis_date_validation).length < 5) && } + {(!p_detail_header_devis_date_envoi || String(p_detail_header_devis_date_envoi).length < 5) && } + + + +
+ +
+ + +
+
+   +
+ {String(Order_data_changed) === "1" && String(order_data_edit_mode) === "1" &&
+ /!\ Pensez à enregistrer les modifications +
} +
+ + {String(Order_data_changed) === "1" && String(order_data_edit_mode) === "1" &&
+ + + +
} + + {String(order_data_edit_mode) === "1" &&
+ +
} +
+ + + {String(props.check_user_acces_right("commande", "write")) === "1" && String(order_data_edit_mode) !== "1" && String(p_detail_header_statut_label).toLowerCase() !== "facturé" &&
+ + + +
} +
+   +
+
+
+ +
+ +
+ {String(props.check_user_acces_right("commande", "write")) === "1" && } + +
+   + + { + setselectionModel_order_lines(newSelectionModel); + /*if (newSelectionModel.length === 1) + handleClick_edit_order_From_Line(newSelectionModel); + if (newSelectionModel.length !== 1) { + setsubmenu(); + setdisplay_detail_order(); + setadd_One_Order(); + }*/ + }} + selectionModel={selectionModel_order_lines} + + localeText={frFR.components.MuiDataGrid.defaultProps.localeText} + rows={rows_order_lines.map((item, index) => ( + { + id: index, + _id: JSON.parse(item)._id, + order_line_formation: JSON.parse(item).order_line_formation, + order_line_qty: JSON.parse(item).order_line_qty, + order_line_status: JSON.parse(item).order_line_status, + order_line_prix_unitaire: JSON.parse(item).order_line_prix_unitaire, + order_header_id: JSON.parse(item).order_header_id, + order_line_session_id: JSON.parse(item).order_line_session_id, + order_line_session_code: JSON.parse(item).order_line_session_code_session, + order_header_ref_interne: JSON.parse(item).order_header_ref_interne, + order_line_type: JSON.parse(item).order_line_type, + order_line_formation_title: JSON.parse(item).title, + order_line_formation_duration: JSON.parse(item).duration_concat, + order_line_comment: JSON.parse(item).order_line_comment, + order_line_formation_external_code: JSON.parse(item).order_line_formation_external_code, + order_line_type_article: JSON.parse(item).order_line_type_article, + order_line_montant_hors_taxes: JSON.parse(item).order_line_montant_hors_taxes, + related_order_internal_ref: JSON.parse(item).related_order_internal_ref, + + order_line_tax_amount: JSON.parse(item).order_line_tax_amount, + order_line_montant_toutes_taxes: JSON.parse(item).order_line_montant_toutes_taxes, + + order_line_taux_taxe: JSON.parse(item).order_line_taux_taxe, + order_line_class_id: JSON.parse(item).class_id, + + order_line_type_reduction: JSON.parse(item).order_line_type_reduction, + order_line_type_valeur: JSON.parse(item).order_line_type_valeur, + order_line_montant_reduction: JSON.parse(item).order_line_montant_reduction, + + } + ))} + + columns={columns_order_lines} + pageSize={10} + className="datagridclass" + + + onRowDoubleClick={(newSelectionModel) => { + + + // console.log(" ## newSelectionModel = ", newSelectionModel.row.order_line_class_id) + if (newSelectionModel.row.order_line_class_id && newSelectionModel.row.order_line_class_id.length > 3) { + Getall_TrainingSession_For_Given_Class(newSelectionModel.row.order_line_class_id) + } + Display_Detail_Order_Line_doubleclick(newSelectionModel); + + }} + + rowsPerPageOptions={[10]} + //disableSelectionOnClick + components={{ + Toolbar: GridToolbar, + }} + + getEstimatedRowHeight={() => 200} + getRowHeight={() => "auto"} + + + /> + +
+ +
+ +
+
+ + +
+
} +
+ + +
+ ) +} + + +export default Partner_Commande_ARG; + + +const local_css = ` + +:root { + --bg: #f6f8fb; + --card: #ffffff; + --text: #0f172a; + --muted: #64748b; + --border: #e5e7eb; + --shadow: 0 10px 25px rgba(2, 6, 23, .06); + --green-700: #0f6b53; + --green-600: #167a5e; + --green-100: #e9f7f1; + --blue-600: #2563eb; + --radius: 14px; + --radius-sm: 10px; +} + .Grid_2_col{ + margin-top: 12px; + display:grid; + grid-template-columns: 1.2fr 1fr; + gap: 14px; + padding:5px; +} + +.Grid_2_col_sub_colone { + background: #fff; + border: 1px solid #e5e7eb; + border-radius: 14px; + box-shadow: 0 6px 18px rgba(2,6,23,.04); + padding: 0px; + display: flex; + flex-direction: column; + gap: 14px; +} + + .Grid_1_col{ + margin-top: 12px; + display:grid; + grid-template-columns: 1fr; + gap: 14px; + padding:5px; +} + +.Grid_2_col_sub_colone_header { + background: #dbeafe; + border-top-right-radius: 10px; + border-top-left-radius: 10px; + text-align: center; + font-family: DM Sans; + font-weight: 700; + height: 2rem; + padding-top: 5px; + font-size: 15px; +} + +.Grid_2_col_sub_colone_bottom_menu{ + +} + +.card__header{ +background: #e2e8f0; + font-size: small; + text-align: center; +} + +.card__title{ + display:flex; + align-items:center; + gap: 10px; +} + +.card__icon{ + width: 34px; + height: 34px; + display:grid; + place-items:center; + border-radius: 12px; + background:#eff6ff; + border:1px solid #dbeafe; +} + +.card__header h2{ + margin:0; + font-size: 15px; + letter-spacing: -0.01em; +} + +.card__actions{ display:flex; align-items:center; gap:8px; } + +.block_detail_action{ +width: 100%; + float: left; + background: #fafafa; + padding: 10px; + border: unset; + border-radius: 10px; + } + + .react-datepicker-wrapper{ +width: 100%; + } + + .datepicker_complement { + margin: 0px !important; + width: 100% !important; +} + + +`; \ No newline at end of file diff --git a/src/components/Partner_Facture.js b/src/components/Partner_Facture.js index ad935ec..9d2ea91 100644 --- a/src/components/Partner_Facture.js +++ b/src/components/Partner_Facture.js @@ -84,6 +84,38 @@ import { IconButton } from '@material-ui/core'; import CancelPresentationIcon from '@mui/icons-material/CancelPresentation'; import Module_Alert_Confirmation from "./Module_Alert_Confirmation"; +import { + LayoutDashboard, + CalendarDays, + Users, + GraduationCap, + Receipt, + BookOpen, + BarChart3, + Settings, + FileText, + CreditCard, + AlertCircle, + Pencil, + Search, + RotateCcw, + Download, + Columns3, + Filter, + AlignJustify, + Printer, + Send, + History, + XCircle, + ChevronRight, + ChevronDown, + Bell, + Eye, + MoreVertical, + FolderOpen, + Menu, +} from "lucide-react"; + function PaperComponent(props) { return ( { const columns = [ { field: '_id', headerName: '_id', hide: true, disableExport: true, }, { field: 'id', headerName: 'id', hide: true, disableExport: true }, + { field: 'eye_status', headerName: 'eye_status',hide: true, disableExport: true }, + { field: 'eye_echeance', headerName: 'eye_echeance', hide: true, disableExport: true }, + { + field: 'local_status', headerName: 'Statut', width: 150, hide: false, editable: false, + renderCell: (cellValues) => { + return ( +
+ {cellValues.row.eye_status && cellValues.row.eye_status === "retard" && En retard } + +
+ + ); + } + }, + { field: 'invoice_header_ref_interne', headerName: 'Num Facture', minWidth: 200, flex: 1, hide: false, editable: false, }, { field: 'order_header_ref_interne', headerName: 'Réf. Cmd', minWidth: 200, flex: 1, hide: true, editable: false }, { field: 'invoice_header_type', headerName: 'Type', width: 100, hide: false, editable: false }, { field: 'invoice_date', headerName: 'Date Facture', width: 150, hide: false, editable: false }, - { field: 'invoice_date_echeance', headerName: 'Echéance', width: 150, hide: false, editable: false }, + { + field: 'invoice_date_echeance', headerName: 'Echéance', width: 150, hide: false, editable: false, + renderCell: (cellValues) => { + return ( +
+ {cellValues.row.eye_echeance && parseFloat(cellValues.row.eye_echeance) < 7 && {cellValues.row.invoice_date_echeance} } + {!cellValues.row.eye_echeance || parseFloat(cellValues.row.eye_echeance) >= 7 && {cellValues.row.invoice_date_echeance} } + +
+ + ); + } + }, { field: 'order_header_client_id', headerName: 'Client_Id', width: 150, hide: true, editable: false, disableExport: true }, { field: 'order_header_client_nom', headerName: 'Nom Client', minWidth: 150, flex: 1 }, @@ -2402,6 +2461,7 @@ const Partner_Facture = (props) => { if (facture_mail_type && facture_mail_type === "aquited") { form.append("invoice_regeneration", "1"); + form.append("invoice_aquite", "1"); } for (let i = 0; i < tab_invoice_mail_pieces_jointes_result.length; i++) { @@ -4362,7 +4422,7 @@ const Partner_Facture = (props) => { const stored_cookie = getCookie('tokenmysypart'); form.append("token", stored_cookie); form.append("archive", "0"); - form.append("is_ftion_initiale", "2"); + form.append("is_ftion_initiale", "2"); var myurl = process.env.REACT_APP_API_URL + "myclass/api/get_partner_class/"; @@ -5349,6 +5409,46 @@ const Partner_Facture = (props) => { }) } + const stats = [ + { + id: 1, + title: "Factures émises", + value: "337", + trend: "+12% vs mois dernier", + trendType: "positive", + icon: , + iconClass: "is-blue", + }, + { + id: 2, + title: "À payer", + value: "18 900,00 €", + trend: "+8% vs mois dernier", + trendType: "positive", + icon: , + iconClass: "is-amber", + }, + { + id: 3, + title: "En retard", + value: "4 800,00 €", + trend: "+3% vs mois dernier", + trendType: "negative", + icon: , + iconClass: "is-red", + }, + { + id: 4, + title: "Brouillons", + value: "8", + trend: "Stable vs mois dernier", + trendType: "neutral", + icon: , + iconClass: "is-purple", + }, + ]; + + return (
@@ -5955,7 +6055,7 @@ const Partner_Facture = (props) => { {article_formation_ou_produit && String(article_formation_ou_produit) === "formation" &&
- + {New_GetCurrentPartnerClass_result && New_GetCurrentPartnerClass_result.length > 0 && (p_add_line_item || String(p_add_line_item) === "") && String(p_detail_header_statut_label).toLowerCase() !== "facturé" &&
Formation @@ -5966,7 +6066,7 @@ const Partner_Facture = (props) => { fullWidth disabled={Boolean(parseInt(is_document_invoiced))} options={New_GetCurrentPartnerClass_result} - value={New_GetCurrentPartnerClass_result.filter((data) => (data).internal_url === String(p_add_line_item))[0].label} + value={New_GetCurrentPartnerClass_result.filter((data) => (data).internal_url === String(p_add_line_item))[0].label} onChange={(event, value) => { // setp_champ_table(value.nom_champ_technique); @@ -6384,7 +6484,7 @@ const Partner_Facture = (props) => {
{String(p_detail_header_statut_label).toLowerCase() === "facturé" &&
Article - + {New_Getall_Partner_Product_Service_result && New_Getall_Partner_Product_Service_result.length > 0 && { setdisplay_detail_invoice(""); Getall_Parter_Invoice_With_Filter(); - console.log(" éééé ") + }} >Rechercher @@ -8728,6 +8828,51 @@ const Partner_Facture = (props) => {
+ +
+
+ +
+
+
+ Factures émises + {rowss_total_data.length > 0 && rowss_total_data[0].nb_header_invoice && {rowss_total_data[0].nb_header_invoice}} +
+
+ +
+
+
+ Non échues + {rowss_total_data.length > 0 && rowss_total_data[0].total_a_payer && {local_format_monetaire(String(rowss_total_data[0].total_a_payer))} TTC} +
+
+ +
+
+
+ En retard + {rowss_total_data.length > 0 && rowss_total_data[0].total_en_retard && {local_format_monetaire(String(rowss_total_data[0].total_en_retard))} TTC} +
+
+ +
+
+
+ Brouillons + {rowss_total_data.length > 0 && rowss_total_data[0].nb_header_invoice_bouillon && {String(rowss_total_data[0].nb_header_invoice_bouillon)}} +
+
+ + + + + +
+
+ + +
@@ -8755,9 +8900,6 @@ const Partner_Facture = (props) => { fontWeight: 'light', }, - - - /*"& .MuiDataGrid-virtualScrollerRenderZone": { "& .MuiDataGrid-row": { "&:nth-child(2n)": { backgroundColor: "rgba(235, 235, 235, .7)" } @@ -8862,6 +9004,9 @@ const Partner_Facture = (props) => { credit_note_ref: JSON.parse(item).credit_note_ref, invoice_header_origin: JSON.parse(item).invoice_header_origin, + eye_status: JSON.parse(item).eye_status, + eye_echeance: JSON.parse(item).eye_echeance, + } ))} @@ -8945,6 +9090,8 @@ const Partner_Facture = (props) => {
+ +
 
{String(display_detail_invoice) === "1" &&
@@ -10867,4 +11014,50 @@ width: 100%; margin: 0px !important; width: 100% !important; } + +.stats-grid { display: grid; grid-template-columns: repeat(4, minmax(180px, 1fr)); gap: 18px; margin-bottom: 18px;align-content: center; + align-items: center; } +.stat-card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 20px; display: flex; align-items: center; gap: 16px; box-shadow: var(--shadow-card); } +.stat-card__icon { width: 58px; height: 58px; border-radius: 18px; display: grid; place-items: center; flex-shrink: 0; } +.stat-card__content { display: flex; flex-direction: column; gap: 4px; } +.stat-card__label { color: var(--text-soft); font-size: 14px; font-weight: 600; } +.stat-card__value { font-size: 18px; line-height: 1.1; color: #0a2a4d; font-family: 'DM Sans'; } +.stat-card__trend { font-size: 13px; font-weight: 600; } +.stat-card__trend.positive { color: var(--success); } +.stat-card__trend.negative { color: var(--danger); } +.stat-card__trend.neutral { color: var(--text-faint); } +.stat-card__icon { width: 58px; height: 58px; border-radius: 18px; display: grid; place-items: center; flex-shrink: 0; } + +:root { + --sidebar-bg: #072b46; + --sidebar-bg-2: #0b3556; + --sidebar-text: rgba(255, 255, 255, 0.88); + --sidebar-text-soft: rgba(255, 255, 255, 0.62); + --primary: #2d6df6; + --primary-dark: #1f59d1; + --primary-soft: #e9f0ff; + --success: #1fa971; + --success-soft: #e9f8f2; + --warning: #f59e0b; + --warning-soft: #fff4df; + --danger: #ef4444; + --danger-soft: #feecec; + --purple: #8b5cf6; + --purple-soft: #f2ecff; + --text: #16324f; + --text-soft: #6a7f95; + --text-faint: #8fa1b5; + --border: #e7edf5; + --background: #f5f8fc; + --surface: #ffffff; + --surface-2: #fbfdff; + --radius-lg: 18px; + --shadow-card: 0 8px 24px rgba(15, 45, 74, 0.06); + --shadow-soft: 0 4px 12px rgba(15, 45, 74, 0.04); +} + + .is-blue { background: #eaf1ff; color: var(--primary); } +.is-amber { background: #fff3df; color: var(--warning); } +.is-red { background: #fdeaea; color: var(--danger); } +.is-purple { background: #f0eafe; color: var(--purple); } `; \ No newline at end of file diff --git a/src/styles/components/_partner_commande.scss b/src/styles/components/_partner_commande.scss index 1c2be23..bdd5800 100644 --- a/src/styles/components/_partner_commande.scss +++ b/src/styles/components/_partner_commande.scss @@ -276,6 +276,7 @@ color: black; width: 100%; height: 2rem !important; + min-width: auto !important; } @@ -883,6 +884,7 @@ color: black; width: 100%; height: 2rem !important; + min-width: auto !important; } @@ -1513,6 +1515,7 @@ color: black; width: 100%; height: 2rem !important; + min-width: auto !important; } @@ -2059,6 +2062,7 @@ color: black; width: 100% !important; height: 2rem !important; + min-width: auto !important; }