28/07/23 - 19h

recette2
cherif 2023-07-28 19:43:51 +02:00
parent 824c4ab6a3
commit 9c06e58c74
2 changed files with 503 additions and 28 deletions

View File

@ -12,7 +12,7 @@ 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 { PropaneSharp } from "@mui/icons-material";
import { ConstructionOutlined, PropaneSharp } from "@mui/icons-material";
import { useHistory } from "react-router-dom";
import CheckOut from "./CheckOut";
@ -44,6 +44,9 @@ const AddParnerClient = (props) => {
const [datamodification_invoice, setdatamodification_invoice] = useState("0");
const [formedit_mode_invoice, setformedit_mode_invoice] = useState("0");
const [datamodification_contact, setdatamodification_contact] = useState("0");
const [formedit_mode_contact, setformedit_mode_contact] = useState("0");
const [p_client_email, setclient_email] = useState("");
const [p_client_nom, setclient_nom] = useState("");
@ -317,6 +320,18 @@ const AddParnerClient = (props) => {
Enable_invoice_fields();
}
function DataUpdated_Contact_Data() {
setdatamodification_contact("1");
}
function DataEditMode_Contact_Data() {
setformedit_mode_contact("1");
Enable_contact_fields();
}
function AnnulerEdit_Invoice_Data() {
setformedit_mode_invoice("0");
setdatamodification_invoice("0");
@ -346,11 +361,20 @@ const AddParnerClient = (props) => {
const [addcontact, setaddcontact] = useState("0");
function Add_Contact() {
setdatamodification_contact("0");
setformedit_mode_contact("0");
clean_contact_set_values();
setaddcontact("1");
}
function Close_Contact() {
setaddcontact("0");
setdatamodification_contact("0");
setformedit_mode_contact("0");
clear_contact_fields();
clean_contact_set_values();
setdatamodification_invoice("0");
setformedit_mode_contact("0");
}
@ -726,8 +750,8 @@ const AddParnerClient = (props) => {
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_List_Entity_Contact/";
axios.post(myurl, form).then(res => {
console.log(" In Get_List_Contact_Of_client_Part res.data.status = " + res.data.status);
console.log(" In Get_List_Contact_Of_client_Part res.data.message r_class = " + res.data.message);
//console.log(" In Get_List_Contact_Of_client_Part res.data.status = " + res.data.status);
//console.log(" In Get_List_Contact_Of_client_Part res.data.message r_class = " + res.data.message);
if (String(res.data.status) === String("true")) {
setGet_List_Contact_Of_client_Part_api("true");
@ -931,6 +955,125 @@ const AddParnerClient = (props) => {
}
async function Disable_contact_fields() {
await sleep(5);
if (document.getElementsByName("contact_email")) {
document.getElementsByName("contact_email")[0].disabled = true;
document.getElementsByName("contact_email")[0].style.backgroundColor = "#ECEFF1";
}
if (document.getElementsByName("contact_nom")) {
document.getElementsByName("contact_nom")[0].disabled = true;
document.getElementsByName("contact_nom")[0].style.backgroundColor = "#ECEFF1";
}
if (document.getElementsByName("contact_prenom")) {
document.getElementsByName("contact_prenom")[0].disabled = true;
document.getElementsByName("contact_prenom")[0].style.backgroundColor = "#ECEFF1";
}
if (document.getElementsByName("contact_siret")) {
document.getElementsByName("contact_siret")[0].disabled = true;
document.getElementsByName("contact_siret")[0].style.backgroundColor = "#ECEFF1";
}
if (document.getElementsByName("contact_tva")) {
document.getElementsByName("contact_tva")[0].disabled = true;
document.getElementsByName("contact_tva")[0].style.backgroundColor = "#ECEFF1";
}
if (document.getElementsByName("contact_adresse")) {
document.getElementsByName("contact_adresse")[0].disabled = true;
document.getElementsByName("contact_adresse")[0].style.backgroundColor = "#ECEFF1";
}
if (document.getElementsByName("contact_ville")) {
document.getElementsByName("contact_ville")[0].disabled = true;
document.getElementsByName("contact_ville")[0].style.backgroundColor = "#ECEFF1";
}
if (document.getElementsByName("contact_code_postal")) {
document.getElementsByName("contact_code_postal")[0].disabled = true;
document.getElementsByName("contact_code_postal")[0].style.backgroundColor = "#ECEFF1";
}
if (document.getElementsByName("contact_pays")) {
document.getElementsByName("contact_pays")[0].disabled = true;
document.getElementsByName("contact_pays")[0].style.backgroundColor = "#ECEFF1";
}
if (document.getElementsByName("contact_telephone")) {
document.getElementsByName("contact_telephone")[0].disabled = true;
document.getElementsByName("contact_telephone")[0].style.backgroundColor = "#ECEFF1";
}
if (document.getElementsByName("contact_telephone_mobile")) {
document.getElementsByName("contact_telephone_mobile")[0].disabled = true;
document.getElementsByName("contact_telephone_mobile")[0].style.backgroundColor = "#ECEFF1";
}
}
function Enable_contact_fields() {
if (document.getElementsByName("contact_email")) {
document.getElementsByName("contact_email")[0].disabled = false;
document.getElementsByName("contact_email")[0].style.backgroundColor = "#FFFFFF";
}
if (document.getElementsByName("contact_nom")) {
document.getElementsByName("contact_nom")[0].disabled = false;
document.getElementsByName("contact_nom")[0].style.backgroundColor = "#FFFFFF";
}
if (document.getElementsByName("contact_prenom")) {
document.getElementsByName("contact_prenom")[0].disabled = false;
document.getElementsByName("contact_prenom")[0].style.backgroundColor = "#FFFFFF";
}
if (document.getElementsByName("contact_siret")) {
document.getElementsByName("contact_siret")[0].disabled = false;
document.getElementsByName("contact_siret")[0].style.backgroundColor = "#FFFFFF";
}
if (document.getElementsByName("contact_tva")) {
document.getElementsByName("contact_tva")[0].disabled = false;
document.getElementsByName("contact_tva")[0].style.backgroundColor = "#FFFFFF";
}
if (document.getElementsByName("contact_adresse")) {
document.getElementsByName("contact_adresse")[0].disabled = false;
document.getElementsByName("contact_adresse")[0].style.backgroundColor = "#FFFFFF";
}
if (document.getElementsByName("contact_ville")) {
document.getElementsByName("contact_ville")[0].disabled = false;
document.getElementsByName("contact_ville")[0].style.backgroundColor = "#FFFFFF";
}
if (document.getElementsByName("contact_code_postal")) {
document.getElementsByName("contact_code_postal")[0].disabled = false;
document.getElementsByName("contact_code_postal")[0].style.backgroundColor = "#FFFFFF";
}
if (document.getElementsByName("contact_pays")) {
document.getElementsByName("contact_pays")[0].disabled = false;
document.getElementsByName("contact_pays")[0].style.backgroundColor = "#FFFFFF";
}
if (document.getElementsByName("contact_telephone")) {
document.getElementsByName("contact_telephone")[0].disabled = false;
document.getElementsByName("contact_telephone")[0].style.backgroundColor = "#FFFFFF";
}
if (document.getElementsByName("contact_telephone_mobile")) {
document.getElementsByName("contact_telephone_mobile")[0].disabled = false;
document.getElementsByName("contact_telephone_mobile")[0].style.backgroundColor = "#FFFFFF";
}
}
function confirm_add_user() {
confirmAlert({
@ -1429,6 +1572,323 @@ const AddParnerClient = (props) => {
props.close_detail_client();
}
function retour_liste_contact(){
setaddcontact("0");
}
function clean_contact_set_values(){
setp_contact_email("");
setp_contact_nom("");
setp_contact_prenom("");
setcontact_siret("");
setcontact_tva("");
setcontact_adresse("");
setcontact_ville("");
setcontact_code_postal("");
setcontact_pays("");
setcontact_telephone("");
setp_contact_telephone_mobile("")
}
function clear_contact_fields() {
if (document.getElementsByName("contact_email")) {
document.getElementsByName("contact_email")[0].value = "";
}
if (document.getElementsByName("contact_nom")) {
document.getElementsByName("contact_nom")[0].value = "";
}
if (document.getElementsByName("contact_prenom")) {
document.getElementsByName("contact_prenom")[0].value = "";
}
if (document.getElementsByName("contact_siret")) {
document.getElementsByName("contact_siret")[0].value = "";
}
if (document.getElementsByName("contact_tva")) {
document.getElementsByName("contact_tva")[0].value = "";
}
if (document.getElementsByName("contact_adresse")) {
document.getElementsByName("contact_adresse")[0].value = "";
}
if (document.getElementsByName("contact_ville")) {
document.getElementsByName("contact_ville")[0].value = "";
}
if (document.getElementsByName("contact_code_postal")) {
document.getElementsByName("contact_code_postal")[0].value = "";
}
if (document.getElementsByName("contact_pays")) {
document.getElementsByName("contact_pays")[0].value = "";
}
if (document.getElementsByName("contact_telephone")) {
document.getElementsByName("contact_telephone")[0].value = "";
}
if (document.getElementsByName("contact_telephone_mobile")) {
document.getElementsByName("contact_telephone_mobile")[0].value = "";
}
}
// Fonction de mise à jour des données de facturation
const [recordPartnerClient_Contact_Data_api, setrecordPartnerClient_Contact_Data_api] = useState("");
const [recordPartnerClient_Contact_Data_result, setrecordPartnerClient_Contact_Data_result] = useState("");
const [recordPartnerClient_Contact_Data_message, setrecordPartnerClient_Contact_Data_message] = useState("");
function recordPartnerClient_Contact_Data(event) {
var form = new FormData();
const stored_cookie = getCookie('tokenmysypart');
form.append("token", stored_cookie);
// Recupeation des données à enregister
form.append("related_collection", "partner_client");
form.append("related_collection_owner_email", p_client_email);
// Données de contact du client du partner
var contact_email = ""
if (document.getElementsByName("contact_email")) {
contact_email = document.getElementsByName("contact_email")[0].value;
}
form.append("email", contact_email);
var contact_nom = ""
if (document.getElementsByName("contact_nom")) {
contact_nom = document.getElementsByName("contact_nom")[0].value;
}
form.append("nom", contact_nom);
var contact_prenom = ""
if (document.getElementsByName("contact_prenom")) {
contact_prenom = document.getElementsByName("contact_prenom")[0].value;
}
form.append("prenom", contact_prenom);
var contact_siret = ""
if (document.getElementsByName("contact_siret")) {
contact_siret = document.getElementsByName("contact_siret")[0].value;
}
form.append("siret", contact_siret);
var contact_tva = ""
if (document.getElementsByName("contact_tva")) {
contact_tva = document.getElementsByName("contact_tva")[0].value;
}
form.append("tva", contact_tva);
var contact_adresse = ""
if (document.getElementsByName("contact_adresse")) {
contact_adresse = document.getElementsByName("contact_adresse")[0].value;
}
form.append("adr_adresse", contact_adresse);
var contact_ville = ""
if (document.getElementsByName("contact_ville")) {
contact_ville = document.getElementsByName("contact_ville")[0].value;
}
form.append("adr_ville", contact_ville);
var contact_code_postal = ""
if (document.getElementsByName("contact_code_postal")) {
contact_code_postal = document.getElementsByName("contact_code_postal")[0].value;
}
form.append("adr_code_postal", contact_code_postal);
var contact_pays = ""
if (document.getElementsByName("contact_pays")) {
contact_pays = document.getElementsByName("contact_pays")[0].value;
}
form.append("adr_pays", contact_pays);
var contact_telephone = ""
if (document.getElementsByName("contact_telephone")) {
contact_telephone = document.getElementsByName("contact_telephone")[0].value;
}
form.append("telephone", contact_telephone);
var contact_telephone_mobile = ""
if (document.getElementsByName("contact_telephone_mobile")) {
contact_telephone_mobile = document.getElementsByName("contact_telephone_mobile")[0].value;
}
form.append("telephone_mobile", contact_telephone_mobile);
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Add_Contact/";
axios.post(myurl, form).then(res => {
if (String(res.data.status) === String("true")) {
//console.log(" In recordPartnerClient_Contact_Data res.data.status = " + res.data.status);
//console.log(" In recordPartnerClient_Contact_Data res.data.message = " + res.data.message);
setrecordPartnerClient_Contact_Data_api("true");
setrecordPartnerClient_Contact_Data_result(res.data.message);
Get_List_Contact_Of_client_Part();
setaddcontact("0");
alert(res.data.message);
}
else if (String(res.data.status) === String("Err_Connexion")) {
alert('Erreur: ' + res.data.message);
history.push("/Connexion");
return;
}
else {
setrecordPartnerClient_Contact_Data_api("false");
setrecordPartnerClient_Contact_Data_message(res.data.message);
alert(res.data.message);
}
}).catch((error) => {
console.warn('Not good man :( recordPartnerClient_Contact_Data = ', error);
setrecordPartnerClient_Contact_Data_result("false");
setrecordPartnerClient_Contact_Data_message(" Impossible de recuperer les informations du client")
alert(" Impossible de recuperer les informations du client");
})
}
const [Display_Part_Client_Contact_api, setDisplay_Part_Client_Contact_api] = useState("");
const [Display_Part_Client_Contact_result, setDisplay_Part_Client_Contact_result] = useState("");
const [Display_Part_Client_Contact_message, setDisplay_Part_Client_Contact_message] = useState("");
async function Display_Part_Client_Contact(event) {
var form = new FormData();
const stored_cookie = getCookie('tokenmysypart');
form.append("token", stored_cookie);
form.append("email", event.target.id);
// Recupeation des données à enregister
form.append("related_collection", "partner_client");
form.append("related_collection_owner_email", p_client_email);
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_Given_Contact/";
axios.post(myurl, form).then(res => {
if (String(res.data.status) === String("true")) {
console.log(" In Display_Part_Client_Contact res.data.status = " + res.data.status);
console.log(" In Display_Part_Client_Contact res.data.message = " + res.data.message);
setDisplay_Part_Client_Contact_api("true");
setDisplay_Part_Client_Contact_result(res.data.message);
Get_List_Contact_Of_client_Part();
setaddcontact("1");
var mylocalclient_contact = JSON.parse(res.data.message);
if (mylocalclient_contact) {
// Remplissage des doonées du contact
if (mylocalclient_contact.nom)
setp_contact_nom(mylocalclient_contact.nom);
else
setp_contact_nom("");
if (mylocalclient_contact.email)
setp_contact_email(mylocalclient_contact.email);
else
setp_contact_email("");
if (mylocalclient_contact.prenom)
setp_contact_prenom(mylocalclient_contact.prenom);
else
setp_contact_prenom("");
if (mylocalclient_contact.siret)
setcontact_siret(mylocalclient_contact.siret);
else
setcontact_siret("");
if (mylocalclient_contact.tva)
setcontact_tva(mylocalclient_contact.tva);
else
setcontact_tva("");
if (mylocalclient_contact.adr_adresse)
setcontact_adresse(mylocalclient_contact.adr_adresse);
else
setcontact_adresse("");
if (mylocalclient_contact.adr_ville)
setcontact_ville(mylocalclient_contact.adr_ville);
else
setcontact_ville("");
if (mylocalclient_contact.adr_code_postal)
setcontact_code_postal(mylocalclient_contact.adr_code_postal);
else
setcontact_code_postal("");
if (mylocalclient_contact.adr_pays)
setcontact_pays(mylocalclient_contact.adr_pays);
else
setcontact_pays("");
if (mylocalclient_contact.telephone)
setcontact_telephone(mylocalclient_contact.telephone);
else
setcontact_telephone("");
if (mylocalclient_contact.telephone_mobile)
setp_contact_telephone_mobile(mylocalclient_contact.telephone_mobile);
else
setp_contact_telephone_mobile("");
}
Disable_contact_fields();
}
else if (String(res.data.status) === String("Err_Connexion")) {
alert('Erreur: ' + res.data.message);
history.push("/Connexion");
return;
}
else {
setDisplay_Part_Client_Contact_api("false");
setDisplay_Part_Client_Contact_message(res.data.message);
alert(res.data.message);
}
}).catch((error) => {
console.warn('Not good man :( Display_Part_Client_Contact = ', error);
setDisplay_Part_Client_Contact_result("false");
setDisplay_Part_Client_Contact_message(" Impossible de recuperer les informations du client")
alert(" Impossible de recuperer les informations du client");
})
}
return (
<div className="add_partner_client">
@ -1980,7 +2440,7 @@ const AddParnerClient = (props) => {
</div>}
{String(submenu).trim() === "submenu_contact" && <div className="training_data" onChange={"DataUpdated_Invoice_Data"}>
{String(submenu).trim() === "submenu_contact" && <div className="training_data">
{String(addcontact) !== "1" && <div className="div_row" style={{ "marginLeft": "5px", "marginRight": "5px" }}>
<div className="div_row" onClick={Add_Contact} style={{ "cursor": "pointer" }}> <AiOutlineUserAdd /> Ajouter un contact </div>
@ -1990,7 +2450,7 @@ const AddParnerClient = (props) => {
{Get_List_Contact_Of_client_Part_result && String(Get_List_Contact_Of_client_Part_api) === "true" &&
Get_List_Contact_Of_client_Part_result.map((client) => (
<div>
<div id={String(JSON.parse(client).email)} onClick={Display_Part_Client_Contact}>
mail = {String(JSON.parse(client).email)} <br />
Tel = {String(JSON.parse(client).telephone)} <br />
@ -2002,9 +2462,7 @@ const AddParnerClient = (props) => {
</div>
</div>}
{String(addcontact) !== "0" && <div className="div_row" style={{ "marginLeft": "5px", "marginRight": "5px" }} >
<h2> Ajout d'un nouveau contact </h2>
{String(addcontact) === "1" && <div className="div_row" style={{ "marginLeft": "5px", "marginRight": "5px" }} onChange={DataUpdated_Contact_Data}>
<div className="training_caract">
<TextField
required
@ -2172,36 +2630,41 @@ const AddParnerClient = (props) => {
/>
</div>
<div className="div_row">
<div className="div_row" style={{ "border": "None" }}>
&nbsp;
</div>
{String(datamodification_contact) === "1" && <div className="div_row">
<div className="koUpdateData" style={{ "color": "orange", "textAlign": "center" }}> /!\ Pensez à enregistrer les modifications</div></div>}
{String(formedit_mode_contact) === "1" && <div className="div_row">
<div className="div_row_gauche">
<Button variant="contained" color="success" className="bton_enreg " onClick={"recordPartnerClient_Invoice_Data"}>Enregistrer &nbsp; <AiTwotoneSave /> </Button>
<Button variant="contained" color="success" className="bton_enreg " onClick={recordPartnerClient_Contact_Data}>Enregistrer &nbsp; <AiTwotoneSave /> </Button>
</div>
<div className="div_row_droite" style={{ "textAlign": "right" }}>
<Button variant="contained" color="success" className="bton_annule" onClick={Close_Contact}>Annuler</Button>
</div>
</div>
}
{String(formedit_mode_contact) !== "1" && <div className="div_row">
<div className="div_row_gauche">
<Button variant="contained" color="success" className="bton_enreg " onClick={retour_liste_contact}>Liste Contact &nbsp; <GrOrderedList /> </Button>
</div>
<div className="div_row_droite" style={{ "textAlign": "right" }}>
<Button variant="contained" color="success" className="bton_edit" onClick={DataEditMode_Contact_Data}> Modifier</Button>
</div>
</div>
}
</div>}
<div className="div_row" style={{ "border": "None" }}>
&nbsp;
</div>
{String(datamodification_invoice) === "1" && <div className="div_row">
<div className="koUpdateData" style={{ "color": "orange", "textAlign": "center" }}> /!\ Pensez à enregistrer les modifications</div></div>}
{String(formedit_mode_invoice) === "1" && <div className="div_row">
<div className="div_row_gauche">
<Button variant="contained" color="success" className="bton_enreg " onClick={recordPartnerClient_Invoice_Data}>Enregistrer &nbsp; <AiTwotoneSave /> </Button>
</div>
<div className="div_row_droite" style={{ "textAlign": "right" }}>
<Button variant="contained" color="success" className="bton_annule" onClick={AnnulerEdit_Invoice_Data}>Annuler</Button>
</div>
</div>
}
</div>}
<div className="div_row" style={{
"border": "None", "marginLeft": "auto", "marginLeft": "auto", "marginRight": "auto", "textAlign": "center",
"marginTop": "1rem", "cursor": "pointer", "marginBottom": "1rem", "marginLeft": "auto", "marginRight": "auto"

View File

@ -184,7 +184,7 @@
}
}
.contact_grid {
margin-right: 10px !important;
margin-left: 10px !important;
@ -210,4 +210,16 @@
box-shadow: 5px 1px 5px 1px rgb(0 0 0 / 25%);
}
.css-1v4ccyo {
height: 3rem !important;
}
.css-1x5jdmq {
height: 3rem !important;
font-size: medium !important;
padding: 0px !important;
padding-left: 5px !important;
padding-right: 5px !important;
}
}