From c758a46d948d5de2e81d02a3636e79a0916fbaf9 Mon Sep 17 00:00:00 2001 From: Cherif Date: Sun, 22 Feb 2026 18:24:12 +0100 Subject: [PATCH] 22/02/26 - 20h --- src/components/DisplayPartnerPromotion.js | 4 + src/components/DisplayPartnerSession.js | 16 +- src/components/Partner_Facture.js | 915 +++++++++++++++++++++- src/components/UpdatePartnerInfo_v2.js | 4 +- 4 files changed, 890 insertions(+), 49 deletions(-) diff --git a/src/components/DisplayPartnerPromotion.js b/src/components/DisplayPartnerPromotion.js index 54acd9c..8cbe9fc 100644 --- a/src/components/DisplayPartnerPromotion.js +++ b/src/components/DisplayPartnerPromotion.js @@ -3927,6 +3927,8 @@ const DisplayPartnerPromotion = (props) => { } function submenu_preinscrit() { + setselectionModel_preinsc([]); + setSelectionModel_insc([]); setsubmenu("preinscrit"); GetListePreinscrit(selected_session_id, selected_internal_url); @@ -3934,6 +3936,8 @@ const DisplayPartnerPromotion = (props) => { } function submenu_inscrit() { + setselectionModel_preinsc([]); + setSelectionModel_insc([]); setsubmenu("inscrit"); GetListeInscrit(selected_session_id, selected_internal_url); diff --git a/src/components/DisplayPartnerSession.js b/src/components/DisplayPartnerSession.js index b57da2f..aabd358 100644 --- a/src/components/DisplayPartnerSession.js +++ b/src/components/DisplayPartnerSession.js @@ -3937,6 +3937,10 @@ const DisplayPartnerSession = (props) => { } function submenu_preinscrit() { + + setselectionModel_preinsc([]); + setSelectionModel_insc([]); + Get_List_Partner_Clients(); setsubmenu("preinscrit"); GetListePreinscrit(selected_session_id, selected_internal_url); @@ -3945,6 +3949,8 @@ const DisplayPartnerSession = (props) => { } function submenu_inscrit() { + setselectionModel_preinsc([]); + setSelectionModel_insc([]); Get_List_Partner_Clients(); setsubmenu("inscrit"); @@ -25487,7 +25493,7 @@ const DisplayPartnerSession = (props) => { } + modal + nested + position="center center" + > + {close => ( +
+ +
MySy Information
+
+ {' '} + + En confirmant cette opération, le document sera définitivement supprimé.
+ +
+
+
+ + +
+
+ +
+
+
+ )} + } + + + ); + } + } + + ] const columns_invoice_lines = [ { field: '_id', headerName: '_id', hide: true, editable: false }, { field: 'id', headerName: 'id', hide: true, editable: false }, + { field: 'invoice_line_type', headerName: 'invoice_line_type', hide: true, editable: false }, { field: 'order_line_formation', headerName: 'intenal_url', width: 0, hide: true, editable: false }, { field: 'order_line_formation_title', headerName: 'Titre', width: 250, hide: false, editable: false, flex: 1, @@ -254,13 +321,14 @@ const Partner_Facture = (props) => { { field: 'order_line_type_article', headerName: 'Type Article', width: 100, hide: true, editable: false }, { - field: "Detail", headerName: 'Voir detail', + field: "Detail", headerName: 'Voir détail', renderCell: (cellValues) => { return ( } + 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, }, ] @@ -345,6 +477,122 @@ const Partner_Facture = (props) => { ] + const [Delete_Draft_Invoice_Header_AndLine_Data_api, setDelete_Draft_Invoice_Header_AndLine_Data_api] = useState(); + const [Delete_Draft_Invoice_Header_AndLine_Data_message, setDelete_Draft_Invoice_Header_AndLine_Data_message] = useState(); + const [Delete_Draft_Invoice_Header_AndLine_Data_result, setDelete_Draft_Invoice_Header_AndLine_Data_result] = useState(); + function Delete_Draft_Invoice_Header_AndLine_Data(event, cellValues) { + + var invoice_id = cellValues.row._id; + + var form = new FormData(); + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("invoice_header_id", invoice_id); + + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Delete_Partner_Draft_Invoice/"; + + setLoading(true); + axios.post(myurl, form).then(res => { + //console.log(" In Delete_Draft_Invoice_Header_AndLine_Data res.data.status = " + res.data.status); + //console.log(" In Delete_Draft_Invoice_Header_AndLine_Data res.data.message r_class = " + res.data.message); + + setLoading(false); + if (String(res.data.status) === String("true")) { + setDelete_Draft_Invoice_Header_AndLine_Data_api("true"); + setDelete_Draft_Invoice_Header_AndLine_Data_result(res.data.message); + + setdisplay_detail_invoice(""); + clean_order_detail_fields(); + + Getall_Parter_Invoice_No_Filter(); + + + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("success"); + } + else { + setDelete_Draft_Invoice_Header_AndLine_Data_api("false"); + setDelete_Draft_Invoice_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); + + setDelete_Draft_Invoice_Header_AndLine_Data_api("false"); + setdisplay_alert_mysy("1"); + setalert_message(" Impossible de supprimer le document"); + setalert_type("error"); + }) + } + + + const [Delete_Draft_Invoice_Line_Data_api, setDelete_Draft_Invoice_Line_Data_api] = useState(); + const [Delete_Draft_Invoice_Line_Data_message, setDelete_Draft_Invoice_Line_Data_message] = useState(); + const [Delete_Draft_Invoice_Line_Data_result, setDelete_Draft_Invoice_Line_Data_result] = useState(); + function Delete_Draft_Invoice_Line_Data(event, cellValues) { + + var partner_invoice_line = cellValues.row._id; + + var form = new FormData(); + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("invoice_header_id", selected_id); + form.append("partner_invoice_line", partner_invoice_line); + + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Delete_Partner_Draft_Invoice_Line/"; + + setLoading(true); + axios.post(myurl, form).then(res => { + //console.log(" In Delete_Draft_Invoice_Line_Data res.data.status = " + res.data.status); + //console.log(" In Delete_Draft_Invoice_Line_Data res.data.message r_class = " + res.data.message); + + setLoading(false); + if (String(res.data.status) === String("true")) { + setDelete_Draft_Invoice_Line_Data_api("true"); + setDelete_Draft_Invoice_Line_Data_result(res.data.message); + + setdisplay_detail_invoice(""); + clean_order_detail_fields(); + + Display_Detail_Invoice_data(selected_id); + + + // alert(res.data.message); + setdisplay_alert_mysy("1"); + setalert_message(res.data.message); + setalert_type("success"); + } + else { + setDelete_Draft_Invoice_Line_Data_api("false"); + setDelete_Draft_Invoice_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); + + setDelete_Draft_Invoice_Line_Data_api("false"); + setdisplay_alert_mysy("1"); + setalert_message(" Impossible de supprimer la ligne"); + setalert_type("error"); + }) + } + const [handleClick_delete_Paiement_api, sethandleClick_delete_Paiement_api] = useState(); const [handleClick_delete_Paiement_message, sethandleClick_delete_Paiement_message] = useState(); const [handleClick_delete_Paiement_result, sethandleClick_delete_Paiement_result] = useState(); @@ -400,13 +648,19 @@ const Partner_Facture = (props) => { } + + const [is_document_invoiced, setis_document_invoiced] = useState("1"); + + const [selectionModel_paiement, setselectionModel_paiement] = React.useState([]); const [gridline_paiment_id, setgridline_paiment_id] = useState(""); - const [selected_invoice_line_id, setselected_invoice_line_id] = useState(); + const [selected_invoice_line_id, setselected_invoice_line_id] = useState(""); const [p_add_line_item, setp_add_line_item] = useState(); + const [p_add_line_invoice_line_type, setp_add_line_invoice_line_type] = useState(); + const [p_add_line_item_type_article, setp_add_line_item_type_article] = useState(""); const [p_add_line_item_internal_url, setp_add_line_item_internal_url] = useState(); @@ -574,21 +828,62 @@ const Partner_Facture = (props) => { function Display_Detail_Invoice_Line(event, cellValues) { + setarticle_formation_ou_produit(cellValues.row.order_line_type_article); + var invoice_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_invoice_line_id(invoice_line_id); setp_add_line_item(order_line_formation); + + setp_add_line_item_internal_url(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_invoice_line_type(String(cellValues.row.invoice_line_type)); + + Get_Given_Line_Of_Partner_Invoice_Line_Data(invoice_line_id, invoice_internal_ref); + + + setDialog_Detail_Article_open(true); + + //alert(" afficher le detail de la ligne " + String(order_line_id)); + + } + + + + function Display_Detail_Invoice_Line_From_datagrid(line) { + + var invoice_line_id = String(line._id); + + var order_line_formation = String(line.order_line_formation); + var order_line_qty = String(line.order_line_qty); + var order_line_prix_unitaire = String(line.order_line_prix_unitaire); + + setarticle_formation_ou_produit(line.order_line_type_article); + setselected_invoice_line_id(invoice_line_id); + + setp_add_line_item(order_line_formation); + + setp_add_line_item_internal_url(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(line.order_line_status)); + setp_add_line_item_type(String(line.order_line_type)); + setp_add_line_item_comment(String(line.order_line_comment)); + + setp_add_line_invoice_line_type(String(line.invoice_line_type)); Get_Given_Line_Of_Partner_Invoice_Line_Data(invoice_line_id, invoice_internal_ref); @@ -618,7 +913,7 @@ const Partner_Facture = (props) => { if (String(res.data.status) === "true") { //console.log(" In Get_Given_Line_Of_Partner_Invoice_Line_Data res.data.status = " + res.data.status); - //console.log(" In Get_Given_Line_Of_Partner_Invoice_Line_Data res.data.message r_class = " + res.data.message); + // console.log(" In Get_Given_Line_Of_Partner_Invoice_Line_Data res.data.message r_class = " + res.data.message); setGet_Given_Line_Of_Partner_Invoice_Line_Data_api("true"); setGet_Given_Line_Of_Partner_Invoice_Line_Data_result(res.data.message); @@ -626,8 +921,12 @@ const Partner_Facture = (props) => { var mylocal_order = JSON.parse(res.data.message); - if (mylocal_order.title) { - setp_add_line_item(mylocal_order.title); + if (mylocal_order.order_line_formation) { + setp_add_line_item(mylocal_order.order_line_formation); + setp_add_line_item_internal_url(mylocal_order.order_line_formation); + } else { + setp_add_line_item(""); + setp_add_line_item_internal_url(""); } if (mylocal_order.order_line_type_article) { @@ -641,6 +940,9 @@ const Partner_Facture = (props) => { setp_add_line_item_qty(mylocal_order.order_line_qty); } + if (mylocal_order.invoice_line_type) { + setp_add_line_invoice_line_type(mylocal_order.invoice_line_type); + } if (mylocal_order.order_line_prix_unitaire) { @@ -752,7 +1054,10 @@ const Partner_Facture = (props) => { ; } else { - alert(" Aucune ligne de facture recuperée"); + setdisplay_alert_mysy("1"); + setalert_message(" Aucune ligne de facture recuperée"); + setalert_type("error"); + } @@ -3443,6 +3748,7 @@ const Partner_Facture = (props) => { form.append("invoice_date", p_detail_header_invoice_date); form.append("order_header_condition_paiement_id", p_detail_header_condition_paiement_id); form.append("order_header_ref_client", p_detail_header_ref_client); + form.append("order_header_vendeur_id", p_detail_header_vendeur_id); if (!p_detail_header_client_id || String(p_detail_header_client_id).length < 2) { @@ -3629,6 +3935,8 @@ const Partner_Facture = (props) => { setp_add_line_item_total_amount_ttc(""); setp_add_line_item_type_apprenant(""); + setp_add_line_invoice_line_type(""); + // setpartner_taux_tva("20"); setselected_order_line_id(""); @@ -4257,7 +4565,7 @@ const Partner_Facture = (props) => { 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("invoice_line_id", selected_order_line_id); + form.append("invoice_line_id", selected_invoice_line_id); form.append("order_header_ref_interne", order_internal_ref); form.append("invoice_header_id", selected_id); form.append("invoice_line_status", p_add_line_item_status); @@ -4481,9 +4789,220 @@ const Partner_Facture = (props) => { setp_add_line_session_code(""); setp_add_line_item_type_apprenant(""); + setp_add_line_invoice_line_type(""); + setinscrit_session([]) } + const [Dialog_Rech_Apprenant_Et_Facture_open, setDialog_Rech_Apprenant_Et_Facture_open] = useState(false); + + const Close_Dialog_Rech_Apprenant_Et_Facture_open = () => { + // clean_order_detail_fields(); + setDialog_Rech_Apprenant_Et_Facture_open(false); + }; + + + const [invoice_inscrit_selected_session_id, setinvoice_inscrit_selected_session_id] = useState(""); + const [invoice_inscrit_selected_inscrit_id, setinvoice_inscrit_selected_inscrit_id] = useState(""); + const [invoice_inscrit_selected_total_facture, setinvoice_inscrit_selected_total_facture] = useState(""); + + const [invoice_inscrit_selected_reste_a_facture, setinvoice_inscrit_selected_reste_a_facture] = useState(""); + const [invoice_inscrit_selected_frais_inscription, setinvoice_inscrit_selected_frais_inscription] = useState(""); + + + + const [NewGetall_TrainingParticipant_Reduce_Fields_result, setNewGetall_TrainingParticipant_Reduce_Fields_result] = useState([{ + "_id": "", + "id": "", + "label": "", + "email": "", + "nom": "", + "prenom": "", + "apprenant_id": "", + }]); + + const [Getall_TrainingParticipant_Reduce_Fields_api, setGetall_TrainingParticipant_Reduce_Fields_api] = useState(); + const [Getall_TrainingParticipant_Reduce_Fields_message, setGetall_TrainingParticipant_Reduce_Fields_message] = useState(); + const [Getall_TrainingParticipant_Reduce_Fields_result, setGetall_TrainingParticipant_Reduce_Fields_result] = useState([]); + function Getall_TrainingParticipant_Reduce_Fields(local_session_id) { + + var form = new FormData(); + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("session_id", local_session_id); + + //console.log(" ### Getall_TrainingParticipant_Reduce_Fields form = ", form) + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_Insription_From_Session_id_Reduice_Fields_With_Filter/"; + + + 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 res.data.status = " + res.data.status); + //console.log(" In Getall_TrainingParticipant_Reduce_Fields res.data.message r_class = " + res.data.message); + setGetall_TrainingParticipant_Reduce_Fields_api("true"); + setGetall_TrainingParticipant_Reduce_Fields_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_result(new_data2); + + + } + else { + setLoading(false); + setGetall_TrainingParticipant_Reduce_Fields_api("false"); + setGetall_TrainingParticipant_Reduce_Fields_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 = ', error); + setGetall_TrainingParticipant_Reduce_Fields_api("false"); + setdisplay_alert_mysy("1"); + setalert_message(" Impossible de recuperer la liste des inscrits"); + setalert_type("error"); + + }) + } + + + + const [NewGetall_TrainingParticipant_List_Invoices_result, setNewGetall_TrainingParticipant_List_Invoices_result] = useState([]); + + const [Getall_TrainingParticipant_List_Invoices_api, setGetall_TrainingParticipant_List_Invoices_api] = useState(); + const [Getall_TrainingParticipant_List_Invoices_message, setGetall_TrainingParticipant_List_Invoices_message] = useState(); + const [Getall_TrainingParticipant_List_Invoices_result, setGetall_TrainingParticipant_List_Invoices_result] = useState([]); + function Getall_TrainingParticipant_List_Invoices(local_inscrit_id) { + + var form = new FormData(); + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("inscription_id", local_inscrit_id); + + //console.log(" ### Getall_TrainingParticipant_List_Invoices form = ", form) + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_Given_Inscrit_Invoices/"; + + + setLoading(true); + axios.post(myurl, form).then(res => { + + setLoading(false); + if (String(res.data.status) === String("true")) { + setLoading(false); + //console.log(" In Getall_TrainingParticipant_List_Invoices res.data.status = " + res.data.status); + // console.log(" In Getall_TrainingParticipant_List_Invoices res.data.message r_class = " + res.data.message); + setGetall_TrainingParticipant_List_Invoices_api("true"); + setGetall_TrainingParticipant_List_Invoices_result(res.data.message); + + var local_json = JSON.parse(res.data.message); + + var total_facture_ligne = local_json.total_facture_line; + setinvoice_inscrit_selected_total_facture(total_facture_ligne); + + setinvoice_inscrit_selected_reste_a_facture(local_json.reste_a_facturer); + setinvoice_inscrit_selected_frais_inscription(local_json.frais_inscription); + + + var new_data2 = []; + const new_data = local_json.liste_facture.map((x) => { + + //--- + var invoice_header_ref_interne = (x).invoice_header_ref_interne; + var invoice_date = (x).invoice_date; + var order_line_montant_hors_taxes = (x).order_line_montant_hors_taxes; + + + + //--- + var node = { + "invoice_header_ref_interne": invoice_header_ref_interne, + "invoice_date": invoice_date, + "order_line_montant_hors_taxes": order_line_montant_hors_taxes, + "total_facture_ligne": total_facture_ligne, + }; + 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" }; + + }); + + + if (new_data2.length > 0) + setNewGetall_TrainingParticipant_List_Invoices_result(new_data2); + + + } + else { + setLoading(false); + setGetall_TrainingParticipant_List_Invoices_api("false"); + setGetall_TrainingParticipant_List_Invoices_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_List_Invoices = ', error); + setGetall_TrainingParticipant_List_Invoices_api("false"); + setdisplay_alert_mysy("1"); + setalert_message(" Impossible de recuperer la liste des factures de l'inscrit"); + setalert_type("error"); + + }) + } + return (
@@ -4504,6 +5023,197 @@ const Partner_Facture = (props) => { + {/********** Dialog pour recherche Apprenant puis facture */} + 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" + > + + Nouvelle facture Apprenant + + +
+
Promotion
+ (data)._id === String(p_add_line_session_id))[0].label} + onChange={(event, value) => { + setinvoice_inscrit_selected_inscrit_id(""); + setNewGetall_TrainingParticipant_List_Invoices_result([]); + setGetall_TrainingParticipant_List_Invoices_result([]); + + if (value && value._id) { + setinvoice_inscrit_selected_session_id(value._id); + Getall_TrainingParticipant_Reduce_Fields(value._id); + } else { + setinvoice_inscrit_selected_session_id(""); + setGetall_TrainingParticipant_Reduce_Fields_result([[{ + "_id": "", + "id": "", + "label": "", + "email": "", + "nom": "", + "prenom": "", + "apprenant_id": "", + }]]) + } + + + }} + + renderInput={(params) => + } + /> +
+ +
Inscrit
+ {NewGetall_TrainingParticipant_Reduce_Fields_result && NewGetall_TrainingParticipant_Reduce_Fields_result.length > 0 && (data)._id === String(invoice_inscrit_selected_inscrit_id))[0].label} + onChange={(event, value) => { + if (value && value._id) { + setinvoice_inscrit_selected_inscrit_id(value._id); + Getall_TrainingParticipant_List_Invoices(value._id) + } else { + setinvoice_inscrit_selected_inscrit_id(""); + setNewGetall_TrainingParticipant_List_Invoices_result([]); + setGetall_TrainingParticipant_List_Invoices_result([]); + } + + + }} + + renderInput={(params) => + } + />} + +
+
+ + + {NewGetall_TrainingParticipant_List_Invoices_result && NewGetall_TrainingParticipant_List_Invoices_result.length > 0 &&
+
+ +
+
+ +
+ Liste des factures - {invoice_inscrit_selected_total_facture} € +
+ +
+ {NewGetall_TrainingParticipant_List_Invoices_result.map((invoice) => ( +
    Le {invoice.invoice_date}, ref. {invoice.invoice_header_ref_interne}, + montant : {invoice.order_line_montant_hors_taxes} €
+ ))} + +
+
+
+ + + +
+
} +
 
+ + {invoice_inscrit_selected_inscrit_id && invoice_inscrit_selected_inscrit_id.length > 5 &&
+
Saisir le montant à facturer ( reste à facturer = {invoice_inscrit_selected_reste_a_facture} € )
+ { + + }} + + /> +
+ + +
} + + +
 
+ +
+ + + + + + + + +
+
+ +
+
+ +
+ +
+ +
+
+ + {/********** FIN Dialog pour recherche Apprenant puis facture */} + {/********** Dialog pour une entete de Facture */} { // value={p_add_cmd_header_vendeur_id_label} onChange={(event, value) => { if (value && value._id) { - p_detail_header_vendeur_id(value._id); + setp_detail_header_vendeur_id(value._id); } else { setp_detail_header_vendeur_id(""); @@ -4686,14 +5396,14 @@ const Partner_Facture = (props) => { name="paiement_condition" id="paiement_condition" fullWidth - value={New_Getall_Partner_Paiement_Condition_result.filter((data) => (data)._id === String(p_detail_paiement_id))[0].label} + value={New_Getall_Partner_Paiement_Condition_result.filter((data) => (data)._id === String(p_detail_header_condition_paiement_id))[0].label} options={New_Getall_Partner_Paiement_Condition_result} onChange={(event, value) => { if (value && value._id) { - setp_detail_paiement_id(value._id); + setp_detail_header_condition_paiement_id(value._id); } else { - setp_detail_paiement_id("") + setp_detail_header_condition_paiement_id("") } }} @@ -4818,7 +5528,6 @@ const Partner_Facture = (props) => { {/*p_add_line_item = {p_add_line_item}
*/} - {(!selected_order_line_id || String(selected_order_line_id).length < 3) &&
Type Article @@ -4829,6 +5538,7 @@ const Partner_Facture = (props) => { //className="disabled_style enable_style" options={New_Option_formation_produit} + disabled={Boolean(parseInt(is_document_invoiced))} value={New_Option_formation_produit.filter((data) => (data).id === String(article_formation_ou_produit))[0].label} fullWidth onChange={(event, value) => { @@ -4840,6 +5550,8 @@ const Partner_Facture = (props) => { setp_add_line_session_id(""); setp_add_line_session_code(""); + setp_add_line_invoice_line_type(""); + } }} @@ -4866,6 +5578,7 @@ const Partner_Facture = (props) => { name="ref_article" id="ref_article" 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} @@ -4919,6 +5632,7 @@ const Partner_Facture = (props) => { name="ref_session" id="ref_session" fullWidth + disabled={Boolean(parseInt(is_document_invoiced))} options={New_Getall_TrainingSession_For_Given_Class_result} value={New_Getall_TrainingSession_For_Given_Class_result.filter((data) => (data)._id === String(p_add_line_session_id))[0].label} @@ -4999,10 +5713,11 @@ const Partner_Facture = (props) => { name="ref_article" id="ref_article" 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} - disabled={true} + renderInput={(params) => { name="ref_session" id="ref_session" fullWidth + disabled={Boolean(parseInt(is_document_invoiced))} options={New_Getall_TrainingSession_result.filter((data) => (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) => { } } type="number" + disabled={Boolean(parseInt(is_document_invoiced))} /> @@ -5088,6 +5805,7 @@ const Partner_Facture = (props) => { } type="number" + disabled={Boolean(parseInt(is_document_invoiced))} />
@@ -5112,8 +5830,8 @@ const Partner_Facture = (props) => { //variant="standard" value={p_add_line_item_qty} - disabled type="text" + disabled={Boolean(parseInt(is_document_invoiced))} />
@@ -5129,8 +5847,9 @@ const Partner_Facture = (props) => { fullWidth //variant="standard" value={p_add_line_item_price} - disabled + type="text" + disabled={Boolean(parseInt(is_document_invoiced))} /> @@ -5162,7 +5881,7 @@ const Partner_Facture = (props) => { } } - + disabled={Boolean(parseInt(is_document_invoiced))} type="number" /> @@ -5175,6 +5894,7 @@ const Partner_Facture = (props) => { id="detail_type_apprenant" // className="disabled_style" options={New_type_apprenant} + disabled={Boolean(parseInt(is_document_invoiced))} value={New_type_apprenant.filter((val) => val.value === String(p_add_line_item_type_apprenant))[0].label} onChange={(event, value) => { if (value && value.id) { @@ -5208,7 +5928,7 @@ const Partner_Facture = (props) => { //variant="standard" value={partner_taux_tva} - disabled={true} + disabled={Boolean(parseInt(is_document_invoiced))} type="number" /> @@ -5225,7 +5945,7 @@ const Partner_Facture = (props) => { fullWidth //variant="standard" value={New_type_apprenant.filter((val) => val.value === String(p_add_line_item_type_apprenant))[0].label} - disabled + disabled={Boolean(parseInt(is_document_invoiced))} type="text" /> @@ -5284,7 +6004,7 @@ const Partner_Facture = (props) => { margin="dense" id="ref_article" //label="Article" - disabled + disabled={Boolean(parseInt(is_document_invoiced))} fullWidth //variant="standard" value={New_Getall_Partner_Product_Service_result.filter((data) => (data)._id === String(p_add_line_item))[0].label} @@ -5306,7 +6026,7 @@ const Partner_Facture = (props) => { //variant="standard" value={p_add_line_item_qty} - disabled + disabled={Boolean(parseInt(is_document_invoiced))} type="text" /> @@ -5330,7 +6050,7 @@ const Partner_Facture = (props) => { fullWidth options={New_Getall_Partner_Product_Service_result} value={New_Getall_Partner_Product_Service_result.filter((data) => (data)._id === String(p_add_line_item))[0].label} - + disabled={Boolean(parseInt(is_document_invoiced))} onChange={(event, value) => { // setp_champ_table(value.nom_champ_technique); if (value && value._id) { @@ -5384,7 +6104,7 @@ const Partner_Facture = (props) => { } } type="number" - + disabled={Boolean(parseInt(is_document_invoiced))} /> } @@ -5408,7 +6128,7 @@ const Partner_Facture = (props) => { Recalcul_Item_Amounts(); } } - + disabled={Boolean(parseInt(is_document_invoiced))} type="number" /> @@ -5431,7 +6151,7 @@ const Partner_Facture = (props) => { Recalcul_Item_Amounts(); } } - + disabled={Boolean(parseInt(is_document_invoiced))} type="number" /> } @@ -5450,7 +6170,7 @@ const Partner_Facture = (props) => { fullWidth //variant="standard" value={p_add_line_item_price} - disabled + disabled={Boolean(parseInt(is_document_invoiced))} type="text" /> } @@ -5468,7 +6188,7 @@ const Partner_Facture = (props) => { //variant="standard" value={partner_taux_tva} - disabled={true} + disabled={Boolean(parseInt(is_document_invoiced))} type="number" /> @@ -5487,6 +6207,7 @@ const Partner_Facture = (props) => { //label="Type reduction" select fullWidth + disabled={Boolean(parseInt(is_document_invoiced))} //variant="standard" value={p_add_line_item_type_reduction} onChange={(e) => { @@ -5523,7 +6244,7 @@ const Partner_Facture = (props) => { Recalcul_Item_Amounts(); } } - + disabled={Boolean(parseInt(is_document_invoiced))} type="number" /> @@ -5543,7 +6264,7 @@ const Partner_Facture = (props) => { fullWidth //variant="standard" value={p_add_line_item_type_reduction} - disabled + disabled={Boolean(parseInt(is_document_invoiced))} /> @@ -5559,7 +6280,7 @@ const Partner_Facture = (props) => { fullWidth //variant="standard" value={p_add_line_item_reduction_value} - disabled + disabled={Boolean(parseInt(is_document_invoiced))} type="text" /> @@ -5627,7 +6348,7 @@ const Partner_Facture = (props) => { minRows={2} maxRows={2} rows={2} - + disabled={Boolean(parseInt(is_document_invoiced))} /> @@ -5650,7 +6371,7 @@ const Partner_Facture = (props) => { minRows={2} maxRows={2} rows={2} - disabled + disabled={Boolean(parseInt(is_document_invoiced))} /> @@ -5670,21 +6391,21 @@ const Partner_Facture = (props) => { - {String(p_detail_header_statut_label).toLowerCase() !== "facturé" &&
+ {String(is_document_invoiced) !== "1" &&
+ className="bton_enreg_dialog">{selected_invoice_line_id.length > 3 && "Mettre à jour"} {selected_invoice_line_id.length <= 3 && "Ajouter"}
} - {String(p_detail_header_statut_label).toLowerCase() === "facturé" &&
+ {String(is_document_invoiced) === "1" &&
 
@@ -7250,12 +7971,20 @@ const Partner_Facture = (props) => { onRowDoubleClick={(newSelectionModel) => { + GetCurrentPartnerClass(); + Getall_Partner_Paiement_Condition(); setInvoice_data_changed(""); setInvoice_data_edit_mode(""); - + Getall_Partner_Product_Service(); setgridline_id(newSelectionModel.row.id); setp_detail_header_client_nom_id(newSelectionModel.row.order_header_client_id); handleClick_edit_invoice_From_Line(newSelectionModel.row.id); + + if (newSelectionModel.row.invoice_header_type === "brouillon") { + setis_document_invoiced("0"); + } else { + setis_document_invoiced("1"); + } } } selectionModel={selectionModel} @@ -7352,7 +8081,10 @@ const Partner_Facture = (props) => { -
} - +
) } export default Partner_Facture; + +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_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; + } +`; \ No newline at end of file diff --git a/src/components/UpdatePartnerInfo_v2.js b/src/components/UpdatePartnerInfo_v2.js index 21f2f8c..c87266f 100644 --- a/src/components/UpdatePartnerInfo_v2.js +++ b/src/components/UpdatePartnerInfo_v2.js @@ -643,7 +643,7 @@ function UpdatePartnerInfo_v2(props) { 'adr_street', 'nom', 'contact_tel', 'contact_nom', 'contact_prenom', 'contact_mail', 'email', 'website', 'website', - 'isqualiopi', 'iscertifvoltaire',] + 'isqualiopi', 'iscertifvoltaire', 'isdatadock'] for (let i = 0; i < list_fields.length; i++) { if (document.getElementsByName(String(list_fields[i])) && document.getElementsByName(String(list_fields[i]))[0]) { @@ -667,7 +667,7 @@ function UpdatePartnerInfo_v2(props) { 'adr_street', 'nom', 'contact_tel', 'contact_nom', 'contact_prenom', 'contact_mail', 'email', 'website', 'website', - 'isqualiopi', 'iscertifvoltaire',] + 'isqualiopi', 'iscertifvoltaire', 'isdatadock'] for (let i = 0; i < list_fields.length; i++) { if (document.getElementsByName(String(list_fields[i])) && document.getElementsByName(String(list_fields[i]))[0]) {