From 2a258e6aa91754ce58ef48c6b4fef691055789af Mon Sep 17 00:00:00 2001 From: cherif Date: Mon, 22 Apr 2024 17:31:34 +0200 Subject: [PATCH] 22/04/2024 - 17h30 --- src/components/Module_Editique.js | 64 +------- src/components/Partner_Commande.js | 230 +++++++++++++++++++++++++++- src/styles/components/_partner.scss | 2 +- 3 files changed, 233 insertions(+), 63 deletions(-) diff --git a/src/components/Module_Editique.js b/src/components/Module_Editique.js index 3f04970..b6c9e32 100644 --- a/src/components/Module_Editique.js +++ b/src/components/Module_Editique.js @@ -506,7 +506,7 @@ const Module_Editique = (props) => { } - console.log(" ### url = ", url); + //console.log(" ### url = ", url); //console.log(" nom_fichier_cmd = ", nom_fichier_cmd, " --- selected_session_id = ", selected_session_id, " --- selected_convention_id =", selected_convention_id); setLoading(true); @@ -1877,53 +1877,7 @@ const Module_Editique = (props) => { } - {/* - {String(selected_convention_type) === "email" &&
Type Document aa
- - - - {String(selected_convention_type) === "email" && } - -
} - - {String(selected_convention_type) === "pdf" &&
Type Document bb
- - - - -
} - */} + {String(selected_convention_type) === "email" &&
@@ -1963,19 +1917,7 @@ const Module_Editique = (props) => {
} - {/*String(selected_convention_type) === "email" &&
Recevoir un pré-envoie - - -
- */} + {String(selected_convention_type) === "email" && String(actionmass_ftion_val) !== String("convention") &&
Email destinaitaire diff --git a/src/components/Partner_Commande.js b/src/components/Partner_Commande.js index b34cb52..b3233b8 100644 --- a/src/components/Partner_Commande.js +++ b/src/components/Partner_Commande.js @@ -43,6 +43,9 @@ import img_loading_spin from "./../mysy_img/mysy_spin_loading.gif"; import { Global } from "recharts"; import { FcAddDatabase } from "react-icons/fc"; import { IoAddCircleOutline, IoCloseCircleOutline } from "react-icons/io5"; +import ToggleSwitch from "./ToggleSwitch"; +import ToggleSwitch_v2_mysy from "./ToggleSwitch_v2_mysy"; + const Partner_Commande = (props) => { @@ -583,6 +586,62 @@ const Partner_Commande = (props) => { } + 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("") + }) + } useEffect(() => { @@ -593,6 +652,7 @@ const Partner_Commande = (props) => { Get_Given_Partner_Config_Point_Taux_TVA(); Getall_Partner_Paiement_Condition(); Getall_TrainingSession(); + Getall_Partner_Digital_Sign_Status(); if (document.getElementById('myRef_head')) { var divh = document.getElementById('myRef_head').offsetTop; @@ -894,6 +954,18 @@ const Partner_Commande = (props) => { 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(""); + } + //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); @@ -1637,6 +1709,9 @@ const Partner_Commande = (props) => { 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_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(); @@ -2587,6 +2662,8 @@ const Partner_Commande = (props) => { 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(""); } @@ -2823,6 +2900,11 @@ const Partner_Commande = (props) => { 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"); + } //console.log("### form = ", form); var myurl = process.env.REACT_APP_API_URL + "myclass/api/Send_Partner_Order_By_Email/"; @@ -3085,6 +3167,11 @@ const Partner_Commande = (props) => { 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/"; @@ -3131,6 +3218,19 @@ const Partner_Commande = (props) => { } + + + + 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(); @@ -3345,6 +3445,29 @@ const Partner_Commande = (props) => { { "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); + + + }; + + + return (
@@ -3353,6 +3476,100 @@ const Partner_Commande = (props) => {
} + + {/* Dialog pour gerer la signature digitale */} + + + MySy Information + + + {Dialog_1_message} + + + +
Type Document + + +
+ + + + {String(partner_digital_signature_status) === "1" &&
+ + +
} + + + +
+ + + + +
+
+ + + +
+ + + +
+ +
+
+ +
+ +
+ {/* FIN Dialog pour gerer la signature digitale */} + + + { {String(p_detail_header_statut_label).toLowerCase() !== "brouillon" && } - {String(p_detail_header_statut_label).toLowerCase() !== "brouillon" && } + {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) && } + +
diff --git a/src/styles/components/_partner.scss b/src/styles/components/_partner.scss index 93e6e52..872aee2 100644 --- a/src/styles/components/_partner.scss +++ b/src/styles/components/_partner.scss @@ -2058,7 +2058,7 @@ } .ps-menu-button{ - height: 35px !important; + height: 45px !important; }