+ +
diff --git a/src/components/AddPartnerClient.js b/src/components/AddPartnerClient.js index 02a000d..746e179 100644 --- a/src/components/AddPartnerClient.js +++ b/src/components/AddPartnerClient.js @@ -93,6 +93,17 @@ import { Plus, Download, Eye, + UserRound, + Landmark, + SlidersHorizontal, + ChevronDown, + Check, + Target, + BriefcaseBusiness, + Handshake, + ReceiptEuro, + CircleEllipsis + } from "lucide-react"; function PaperComponent(props) { @@ -172,6 +183,9 @@ const AddParnerClient = (props) => { const [p_client_comment, setp_client_comment] = useState(""); + const [p_client_responsable_compte_id, setp_client_responsable_compte_id] = useState(""); + + const [p_client_responsable_compte_nom_prenom, setp_client_responsable_compte_nom_prenom] = useState(""); const [p_client_siret, setclient_siret] = useState(""); const [p_client_tva, setclient_tva] = useState(""); @@ -412,6 +426,7 @@ const AddParnerClient = (props) => { const [importmessage, setimportmessage] = useState(""); async function submenu_donnee_client() { + Get_Client_Diverses_Data(); setsubmenu("submenu_donnee_client"); /* Ceci est super crade, fair eun wait de pour attendre l'afficage avant de desacitcation si on a desactiver, mais bon ... on avance. @@ -1040,7 +1055,226 @@ const AddParnerClient = (props) => { }) } + const [New_Getall_Training_Employee_No_Filter_result, setNew_Getall_Training_Employee_No_Filter_result] = useState([{ + "_id": "", + "id": "", + "label": "", + "nom": "", + "prenom": "", + "ismanager": "" + }]); + 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 => { + + setLoading(true); + + if (String(res.data.status) === String("true")) { + setLoading(false); + //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) => { + setLoading(false); + 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"); + + setdisplay_alert_mysy("1"); + setalert_message(" Impossible de recuperer la liste des employés"); + setalert_type("error"); + //setmyApimyApiMessage("") + }) + } + + + const [client_12_ca, setclient_12_ca] = useState(""); + const [client_12_nb_invoice, setclient_12_nb_invoice] = useState(""); + const [client_12_reste_a_payer, setclient_12_reste_a_payer] = useState(""); + const [client_12_retard_a_payer, setclient_12_retard_a_payer] = useState(""); + const [client_12_attente_paiement, setclient_12_attente_paiement] = useState(""); + const [client_12_deja_paye, setclient_12_deja_paye] = useState(""); + const [client_12_activite_3, setclient_12_activite_3] = useState([]); + + const [client_12_taux_encaissement, setclient_12_taux_encaissement] = useState(""); + + + const [New_Get_Client_Diverses_Data_result, setNew_Get_Client_Diverses_Data_result] = useState([]); + + const [Get_Client_Diverses_Data_api, setGet_Client_Diverses_Data_api] = useState(); + const [Get_Client_Diverses_Data_message, setGet_Client_Diverses_Data_message] = useState(); + const [Get_Client_Diverses_Data_result, setGet_Client_Diverses_Data_result] = useState(); + function Get_Client_Diverses_Data(event) { + + var form = new FormData(); + const stored_cookie = getCookie('tokenmysypart'); + + + form.append("token", stored_cookie); + form.append("filter_client_id", props.client_id); + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_Parner_Divers_Invoice_Data_12/"; + + axios.post(myurl, form).then(res => { + //console.log(" In Get_Client_Diverses_Data res.data.status = " + res.data.status); + //console.log(" In Get_Client_Diverses_Data res.data.message r_class = " + res.data.message); + + if (String(res.data.status) === String("true")) { + setGet_Client_Diverses_Data_api("true"); + setGet_Client_Diverses_Data_result(res.data.message); + + var new_data2 = []; + const new_data = res.data.message.map((x) => { + + if (JSON.parse(x).total_montant_CA_TTC) { + setclient_12_ca(local_format_monetaire(JSON.parse(x).total_montant_CA_TTC)) + } else { + setclient_12_ca("") + } + + if (JSON.parse(x).total_nb_facture) { + setclient_12_nb_invoice(JSON.parse(x).total_nb_facture) + } else { + setclient_12_nb_invoice("") + } + + if (JSON.parse(x).total_montant_a_payer) { + setclient_12_reste_a_payer(local_format_monetaire(JSON.parse(x).total_montant_a_payer)) + } else { + setclient_12_reste_a_payer("") + } + + if (JSON.parse(x).total_montant_deja_paye) { + setclient_12_deja_paye(local_format_monetaire(JSON.parse(x).total_montant_deja_paye)) + } else { + setclient_12_deja_paye("") + } + + + if (JSON.parse(x).total_montant_attente_payement) { + setclient_12_attente_paiement(local_format_monetaire(JSON.parse(x).total_montant_attente_payement)) + } else { + setclient_12_attente_paiement("") + } + + if (JSON.parse(x).taux_encaissement) { + setclient_12_taux_encaissement(JSON.parse(x).taux_encaissement) + } else { + setclient_12_taux_encaissement("") + } + + if (JSON.parse(x).tab_activite) { + setclient_12_activite_3(JSON.parse(x).tab_activite) + } else { + setclient_12_activite_3([]) + } + + if (JSON.parse(x).total_montant_en_retard) { + setclient_12_retard_a_payer(local_format_monetaire(JSON.parse(x).total_montant_en_retard)) + } else { + setclient_12_retard_a_payer("") + } + + + new_data2.push(x) + + }); + + + if (new_data2.length > 0) + setNew_Get_Client_Diverses_Data_result(new_data2); + else + setNew_Get_Client_Diverses_Data_result([]) + + + } + else if (String(res.data.status) === String("Err_Connexion")) { + alert('Erreur: ' + res.data.message); + history.push("/Connexion"); + } + else { + setGet_Client_Diverses_Data_api("false"); + setGet_Client_Diverses_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_Client_Diverses_Data = ', error); + setGet_Client_Diverses_Data_api("false"); + //alert(" Impossible de récupérer les types de clients"); + + setdisplay_alert_mysy("1"); + setalert_message(" Impossible de récupérer les données diverses du client"); + setalert_type("error"); + }) + } useEffect(() => { Get_List_Client_Type(); @@ -1049,7 +1283,7 @@ const AddParnerClient = (props) => { Get_List_Of_All_PJ(props.client_id); Get_List_Type_Financeur(); Get_List_Type_Pouvoir_Public(); - + Getall_Training_Employee_No_Filter(); if (String(props.new_customer) !== "1") { @@ -1073,6 +1307,8 @@ const AddParnerClient = (props) => { setp_new_pwd(""); setp_conf_new_login(""); + Get_Client_Diverses_Data(); + }, [props.client_mail,]); @@ -1098,7 +1334,7 @@ const AddParnerClient = (props) => { axios.post(myurl, form).then(res => { if (String(res.data.status) === String("true")) { //console.log(" In fillfield res.data.status = " + res.data.status); - //console.log(" In fillfield res.data.message = " + res.data.message); + // console.log(" In fillfield res.data.message = " + res.data.message); setfillfield_api("true"); setfillfield_result(res.data.message); var mylocalclient = JSON.parse(res.data.message); @@ -1132,33 +1368,55 @@ const AddParnerClient = (props) => { setclient_raison_sociale(""); } + + + + setp_client_is_company("0"); if (mylocalclient.is_company) { setp_client_is_company(mylocalclient.is_company); - } + if (mylocalclient.is_company === "1") + setSelectedType("entreprise"); + + else if (mylocalclient.is_company === "0") + setSelectedType("particulier"); + + else if (mylocalclient.is_company === "2") + setSelectedType("public"); + + } setp_detail_archive("0"); if (mylocalclient.archive) { setp_detail_archive(mylocalclient.archive); } + if (mylocalclient.is_prospect && mylocalclient.is_prospect === "1") { + setselected_Actor_Type("prospect") + } - if (String(mylocalclient.is_financeur) === "1") + if (String(mylocalclient.is_financeur) === "1") { setp_client_is_financeur(true); + setselected_Actor_Type("financier") + } else setp_client_is_financeur(false); - if (String(mylocalclient.is_client) === "1") + if (String(mylocalclient.is_client) === "1") { setp_client_is_client(true); + setselected_Actor_Type("client") + } else setp_client_is_client(false); - if (String(mylocalclient.is_fournisseur) === "1") + if (String(mylocalclient.is_fournisseur) === "1") { setp_client_is_fournisseur(true); + setselected_Actor_Type("fournisseur") + } else setp_client_is_fournisseur(false); @@ -1220,6 +1478,19 @@ const AddParnerClient = (props) => { setclient_tva(""); + + if (mylocalclient.responsable_compte_id) + setp_client_responsable_compte_id(mylocalclient.responsable_compte_id); + else + setp_client_responsable_compte_id(""); + + + if (mylocalclient.responsable_compte_nom_prenom) + setp_client_responsable_compte_nom_prenom(mylocalclient.responsable_compte_nom_prenom); + else + setp_client_responsable_compte_nom_prenom(""); + + if (mylocalclient.type_financeur_id) setp_client_type_financeur(mylocalclient.type_financeur_id); else @@ -1754,6 +2025,11 @@ const AddParnerClient = (props) => { document.getElementsByName("client_tva")[0].style.backgroundColor = "#ECEFF1"; } + if (document.getElementsByName("client_responsable_compte") && document.getElementsByName("client_responsable_compte")[0]) { + document.getElementsByName("client_responsable_compte")[0].disabled = true; + document.getElementsByName("client_responsable_compte")[0].style.backgroundColor = "#ECEFF1"; + } + if (document.getElementsByName("client_website") && document.getElementsByName("client_website")[0]) { document.getElementsByName("client_website")[0].disabled = true; document.getElementsByName("client_website")[0].style.backgroundColor = "#ECEFF1"; @@ -1849,6 +2125,11 @@ const AddParnerClient = (props) => { document.getElementsByName("client_tva")[0].style.backgroundColor = "#FFFFFF"; } + if (document.getElementsByName("client_responsable_compte")) { + document.getElementsByName("client_responsable_compte")[0].disabled = false; + document.getElementsByName("client_responsable_compte")[0].style.backgroundColor = "#FFFFFF"; + } + if (document.getElementsByName("client_website")) { document.getElementsByName("client_website")[0].disabled = false; document.getElementsByName("client_website")[0].style.backgroundColor = "#FFFFFF"; @@ -2121,6 +2402,9 @@ const AddParnerClient = (props) => { } form.append("tva", client_tva); + + form.append("responsable_compte_id", p_client_responsable_compte_id); + var client_website = "" if (document.getElementsByName("client_website")) { client_website = document.getElementsByName("client_website")[0].value; @@ -2321,6 +2605,8 @@ const AddParnerClient = (props) => { } form.append("tva", client_tva); + form.append("responsable_compte_id", p_client_responsable_compte_id); + var client_website = "" if (document.getElementsByName("client_website")) { client_website = document.getElementsByName("client_website")[0].value; @@ -4173,6 +4459,92 @@ const AddParnerClient = (props) => { color: "purple", }, ]; + + const clientTypes = [ + { + id: "entreprise", + title: "Entreprise", + description: "Société privée, association ou organisation à but lucratif.", + icon: Building2, + mysy_id: "1", + }, + { + id: "particulier", + title: "Particulier", + description: "Personne physique, indépendant ou particulier.", + icon: UserRound, + mysy_id: "0", + }, + { + id: "public", + title: "Pouvoir Public", + description: "Organisme public, administration ou établissement public.", + icon: Landmark, + mysy_id: "2", + }, + ]; + + const actorTypes = [ + { + id: "prospect", + title: "Prospect", + description: "Contact ou organisation à convertir", + icon: Target, + color: "#F59E0B", + bgColor: "#FFF7E6", + }, + { + id: "client", + title: "Client", + description: "Entreprise, particulier ou organisme client", + icon: BriefcaseBusiness, + color: "#104277", + bgColor: "#EAF2FF", + }, + { + id: "fournisseur", + title: "Fournisseur", + description: "Prestataire, formateur ou sous-traitant", + icon: Handshake, + color: "#7C3AED", + bgColor: "#F3E8FF", + }, + { + id: "financier", + title: "Financier", + description: "OPCO, financeur ou organisme payeur", + icon: Landmark, + color: "#008F5A", + bgColor: "#EAFBF3", + }, + ]; + + const [selected_Actor_Type, setselected_Actor_Type] = useState("client"); + + const [selectedType, setSelectedType] = useState("entreprise"); + function SelectField({ label, options = [] }) { + return ( +