ddd
parent
559e1a1f72
commit
803b3efe4a
|
@ -477,7 +477,8 @@ const CRM_Opportunite = (props) => {
|
|||
"description": "",
|
||||
"rang": ""
|
||||
};
|
||||
new_data2.push(node);
|
||||
|
||||
local_opport_chanel.push(node);
|
||||
|
||||
if (new_data2.length > 0) {
|
||||
setNew_Getall_Partner_CRM_Opport_Step_result(new_data2);
|
||||
|
@ -525,6 +526,13 @@ const CRM_Opportunite = (props) => {
|
|||
Getall_Partner_CRM_Opport_Step();
|
||||
Getall_Partner_CRM_Opportunite();
|
||||
|
||||
Get_List_Partner_Clients();
|
||||
|
||||
window.scrollTo({
|
||||
top: 0,
|
||||
behavior: "smooth",
|
||||
});
|
||||
|
||||
}, []);
|
||||
|
||||
|
||||
|
@ -557,15 +565,15 @@ const CRM_Opportunite = (props) => {
|
|||
const [p_detail_probabilite_gain, setp_detail_probabilite_gain] = useState("");
|
||||
const [p_detail_priorite, setp_detail_priorite] = useState();
|
||||
|
||||
const [p_detail_partner_client_id, setp_detail_partner_client_id] = useState();
|
||||
const [p_detail_contact_civilite, setp_detail_contact_civilite] = useState();
|
||||
const [p_detail_partner_client_id, setp_detail_partner_client_id] = useState("");
|
||||
const [p_detail_contact_civilite, setp_detail_contact_civilite] = useState("");
|
||||
const [p_detail_contact_nom, setp_detail_contact_nom] = useState();
|
||||
const [p_detail_contact_email, setp_detail_contact_email] = useState();
|
||||
const [p_detail_contact_telephone, setp_detail_contact_telephone] = useState();
|
||||
|
||||
const [p_detail_commentaire, setp_detail_commentaire] = useState();
|
||||
const [p_detail_vendeur_id, setp_detail_vendeur_id] = useState();
|
||||
const [p_detail_statut, setp_detail_statut] = useState();
|
||||
const [p_detail_statut, setp_detail_statut] = useState("");
|
||||
const [p_detail_date_fermeture, setp_detail_date_fermeture] = useState();
|
||||
|
||||
function clear_detail_fields() {
|
||||
|
@ -604,10 +612,10 @@ const CRM_Opportunite = (props) => {
|
|||
|
||||
}
|
||||
|
||||
const [Update_Crm_Opportunite_api, setUpdate_Crm_Opportunite_api] = useState();
|
||||
const [Update_Crm_Opportunite_message, setUpdate_Crm_Opportunite_message] = useState();
|
||||
const [Update_Crm_Opportunite_result, setUpdate_Crm_Opportunite_result] = useState();
|
||||
function Update_Crm_Opportunite() {
|
||||
const [Add_Update_Crm_Opportunite_api, setAdd_Update_Crm_Opportunite_api] = useState();
|
||||
const [Add_Update_Crm_Opportunite_message, setAdd_Update_Crm_Opportunite_message] = useState();
|
||||
const [Add_Update_Crm_Opportunite_result, setAdd_Update_Crm_Opportunite_result] = useState();
|
||||
function Add_Update_Crm_Opportunite() {
|
||||
var form = new FormData();
|
||||
//form.append("token","K3cw63eKokKSbV4spjQ48SUNnfy80yrXfA");
|
||||
|
||||
|
@ -618,7 +626,7 @@ const CRM_Opportunite = (props) => {
|
|||
form.append("description", p_detail_description);
|
||||
form.append("statut", p_detail_statut);
|
||||
|
||||
form.append("opport_id", selected_id);
|
||||
|
||||
|
||||
if (p_detail_revenu_cible)
|
||||
form.append("revenu_cible", p_detail_revenu_cible);
|
||||
|
@ -683,17 +691,26 @@ const CRM_Opportunite = (props) => {
|
|||
|
||||
|
||||
|
||||
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Update_CRM_Opportunite/";
|
||||
var myurl = "";
|
||||
|
||||
if (selected_id && String(selected_id).length > 2) {
|
||||
form.append("opport_id", selected_id);
|
||||
myurl = process.env.REACT_APP_API_URL + "myclass/api/Update_CRM_Opportunite/";
|
||||
} else {
|
||||
myurl = process.env.REACT_APP_API_URL + "myclass/api/Add_CRM_Opportunite/";
|
||||
}
|
||||
|
||||
console.log(" #### myurl = ", myurl)
|
||||
|
||||
setLoading(true);
|
||||
axios.post(myurl, form).then(res => {
|
||||
//console.log(" In Update_Crm_Opportunite res.data.status = " + res.data.status);
|
||||
//console.log(" In Update_Crm_Opportunite res.data.message r_class = " + res.data.message);
|
||||
//console.log(" In Add_Update_Crm_Opportunite res.data.status = " + res.data.status);
|
||||
//console.log(" In Add_Update_Crm_Opportunite res.data.message r_class = " + res.data.message);
|
||||
|
||||
setLoading(false);
|
||||
if (String(res.data.status) === String("true")) {
|
||||
setUpdate_Crm_Opportunite_api("true");
|
||||
setUpdate_Crm_Opportunite_result(res.data.message);
|
||||
setAdd_Update_Crm_Opportunite_api("true");
|
||||
setAdd_Update_Crm_Opportunite_result(res.data.message);
|
||||
|
||||
Getall_Partner_CRM_Opport_Step();
|
||||
Getall_Partner_CRM_Opportunite();
|
||||
|
@ -713,24 +730,24 @@ const CRM_Opportunite = (props) => {
|
|||
|
||||
}
|
||||
else {
|
||||
setUpdate_Crm_Opportunite_api("false");
|
||||
setUpdate_Crm_Opportunite_message(res.data.message);
|
||||
setAdd_Update_Crm_Opportunite_api("false");
|
||||
setAdd_Update_Crm_Opportunite_message(res.data.message);
|
||||
alert(res.data.message);
|
||||
}
|
||||
|
||||
}).catch((error) => {
|
||||
setLoading(false);
|
||||
console.warn('UpdateStagiaireData : Not good man :( Update_Crm_Opportunite = ' + error);
|
||||
setUpdate_Crm_Opportunite_api("false");
|
||||
console.warn('UpdateStagiaireData : Not good man :( Add_Update_Crm_Opportunite = ' + error);
|
||||
setAdd_Update_Crm_Opportunite_api("false");
|
||||
alert(" Impossible de mettre à jour l'opportunité");
|
||||
|
||||
})
|
||||
}
|
||||
|
||||
const [Update_Crm_Opportunite_Status_api, setUpdate_Crm_Opportunite_Status_api] = useState();
|
||||
const [Update_Crm_Opportunite_Status_message, setUpdate_Crm_Opportunite_Status_message] = useState();
|
||||
const [Update_Crm_Opportunite_Status_result, setUpdate_Crm_Opportunite_Status_result] = useState();
|
||||
function Update_Crm_Opportunite_Status(local_opport_id, new_status) {
|
||||
const [Add_Update_Crm_Opportunite_Status_api, setAdd_Update_Crm_Opportunite_Status_api] = useState();
|
||||
const [Add_Update_Crm_Opportunite_Status_message, setAdd_Update_Crm_Opportunite_Status_message] = useState();
|
||||
const [Add_Update_Crm_Opportunite_Status_result, setAdd_Update_Crm_Opportunite_Status_result] = useState();
|
||||
function Add_Update_Crm_Opportunite_Status(local_opport_id, new_status) {
|
||||
var form = new FormData();
|
||||
//form.append("token","K3cw63eKokKSbV4spjQ48SUNnfy80yrXfA");
|
||||
|
||||
|
@ -741,17 +758,17 @@ const CRM_Opportunite = (props) => {
|
|||
form.append("opport_id", local_opport_id);
|
||||
|
||||
|
||||
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Update_CRM_Opportunite/";
|
||||
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Add_Update_Crm_Opportunite/";
|
||||
|
||||
setLoading(true);
|
||||
axios.post(myurl, form).then(res => {
|
||||
//console.log(" In Update_Crm_Opportunite_Status res.data.status = " + res.data.status);
|
||||
//console.log(" In Update_Crm_Opportunite_Status res.data.message r_class = " + res.data.message);
|
||||
//console.log(" In Add_Update_Crm_Opportunite_Status res.data.status = " + res.data.status);
|
||||
//console.log(" In Add_Update_Crm_Opportunite_Status res.data.message r_class = " + res.data.message);
|
||||
|
||||
//setLoading(false);
|
||||
if (String(res.data.status) === String("true")) {
|
||||
setUpdate_Crm_Opportunite_Status_api("true");
|
||||
setUpdate_Crm_Opportunite_Status_result(res.data.message);
|
||||
setAdd_Update_Crm_Opportunite_Status_api("true");
|
||||
setAdd_Update_Crm_Opportunite_Status_result(res.data.message);
|
||||
|
||||
Getall_Partner_CRM_Opport_Step();
|
||||
Getall_Partner_CRM_Opportunite();
|
||||
|
@ -764,15 +781,15 @@ const CRM_Opportunite = (props) => {
|
|||
|
||||
}
|
||||
else {
|
||||
setUpdate_Crm_Opportunite_Status_api("false");
|
||||
setUpdate_Crm_Opportunite_Status_message(res.data.message);
|
||||
setAdd_Update_Crm_Opportunite_Status_api("false");
|
||||
setAdd_Update_Crm_Opportunite_Status_message(res.data.message);
|
||||
alert(res.data.message);
|
||||
}
|
||||
|
||||
}).catch((error) => {
|
||||
//setLoading(false);
|
||||
console.warn('UpdateStagiaireData : Not good man :( Update_Crm_Opportunite_Status = ' + error);
|
||||
setUpdate_Crm_Opportunite_Status_api("false");
|
||||
console.warn('UpdateStagiaireData : Not good man :( Add_Update_Crm_Opportunite_Status = ' + error);
|
||||
setAdd_Update_Crm_Opportunite_Status_api("false");
|
||||
alert(" Impossible de mettre à jour l'opportunité");
|
||||
|
||||
})
|
||||
|
@ -797,6 +814,85 @@ const CRM_Opportunite = (props) => {
|
|||
|
||||
}
|
||||
|
||||
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);
|
||||
|
||||
var node = {
|
||||
"_id": "",
|
||||
"id": "",
|
||||
"label": "",
|
||||
"nom": "",
|
||||
"raison_sociale": "",
|
||||
"invoice_condition_paiement_id": "",
|
||||
|
||||
};
|
||||
new_data2.push(node);
|
||||
|
||||
}
|
||||
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 [Get_Given_Opportunite_Data_api, setGet_Given_Opportunite_Data_api] = useState();
|
||||
const [Get_Given_Opportunite_Data_message, setGet_Given_Opportunite_Data_message] = useState();
|
||||
const [Get_Given_Opportunite_Data_result, setGet_Given_Opportunite_Data_result] = useState();
|
||||
|
@ -983,7 +1079,7 @@ const CRM_Opportunite = (props) => {
|
|||
});
|
||||
|
||||
setTaskStatus(newTasks);
|
||||
Update_Crm_Opportunite_Status(id, status);
|
||||
Add_Update_Crm_Opportunite_Status(id, status);
|
||||
|
||||
},
|
||||
[tasks]
|
||||
|
@ -1011,6 +1107,24 @@ const CRM_Opportunite = (props) => {
|
|||
{ "id": "", "label": "", "value": "" },
|
||||
]
|
||||
|
||||
const New_Option_Civilite = [
|
||||
{
|
||||
value: 'M',
|
||||
label: 'M',
|
||||
},
|
||||
{
|
||||
value: 'Mme',
|
||||
label: 'Mme',
|
||||
},
|
||||
{
|
||||
value: 'Neutre',
|
||||
label: 'Neutre',
|
||||
},
|
||||
{
|
||||
value: '',
|
||||
label: '',
|
||||
},
|
||||
];
|
||||
|
||||
const [opport_changed, setopport_changed] = useState("0");
|
||||
|
||||
|
@ -1024,6 +1138,14 @@ const CRM_Opportunite = (props) => {
|
|||
}
|
||||
|
||||
|
||||
function submenu_add_one_crm_opport() {
|
||||
Getall_Partner_CRM_Opport_Step();
|
||||
Getall_Partner_CRM_Opportunite();
|
||||
clear_detail_fields();
|
||||
setselected_id("");
|
||||
setDialog_OPPORTUNITE_open(true);
|
||||
|
||||
}
|
||||
return (
|
||||
<div className="crm_opportunite">
|
||||
|
||||
|
@ -1085,10 +1207,148 @@ const CRM_Opportunite = (props) => {
|
|||
|
||||
</div>
|
||||
|
||||
<div className="session_caract_Dialog" > Client
|
||||
{New_Get_List_Partner_Clients_result && New_Get_List_Partner_Clients_result.length > 0 &&
|
||||
|
||||
<Autocomplete
|
||||
disablePortal
|
||||
id="dialog_opport_ref_client"
|
||||
Name="dialog_opport_ref_client"
|
||||
|
||||
className="disabled_style"
|
||||
|
||||
options={New_Get_List_Partner_Clients_result}
|
||||
value={New_Get_List_Partner_Clients_result.filter((data) => (data)._id === String(p_detail_partner_client_id))[0].label}
|
||||
|
||||
onChange={(event, value) => {
|
||||
if (value && value._id) {
|
||||
|
||||
setp_detail_partner_client_id(value._id);
|
||||
setp_detail_contact_civilite("");
|
||||
setp_detail_contact_nom("");
|
||||
setp_detail_contact_email("");
|
||||
setp_detail_contact_telephone("")
|
||||
|
||||
} else {
|
||||
setp_detail_partner_client_id("");
|
||||
}
|
||||
|
||||
}}
|
||||
|
||||
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une option"
|
||||
inputProps={{ ...params.inputProps, style: { fontSize: 12, height: "1.4rem" } }}
|
||||
|
||||
/>
|
||||
}
|
||||
/>}
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
{String(p_detail_partner_client_id).length < 2 &&
|
||||
<div className="session_caract_Dialog" > Civilité
|
||||
|
||||
<Autocomplete
|
||||
disablePortal
|
||||
name="dialog_opport_nom_contact"
|
||||
id="dialog_opport_nom_contact"
|
||||
className="disabled_style"
|
||||
options={New_Option_Civilite}
|
||||
value={New_Option_Civilite.filter((data) => (data).value === String(p_detail_contact_civilite))[0].label}
|
||||
|
||||
onChange={(event, value) => {
|
||||
if (value && value.value) {
|
||||
setp_detail_contact_civilite(value.value);
|
||||
setopport_changed("1");
|
||||
|
||||
} else {
|
||||
setp_detail_contact_civilite("");
|
||||
setopport_changed("1");
|
||||
|
||||
}
|
||||
}}
|
||||
|
||||
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une option"
|
||||
inputProps={{ ...params.inputProps, style: { fontSize: 12, height: "1.4rem" } }}
|
||||
|
||||
/>
|
||||
}
|
||||
/>
|
||||
|
||||
</div>
|
||||
}
|
||||
|
||||
|
||||
{String(p_detail_partner_client_id).length < 2 &&
|
||||
<div className="session_caract_Dialog" > Nom Contact
|
||||
<TextField
|
||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||
|
||||
name="dialog_opport_nom_contact"
|
||||
id="dialog_opport_nom_contact"
|
||||
|
||||
className="disabled_style"
|
||||
|
||||
value={p_detail_contact_nom}
|
||||
onChange={(e) => {
|
||||
setp_detail_contact_nom(e.target.value);
|
||||
setopport_changed("1");
|
||||
}
|
||||
}
|
||||
/>
|
||||
|
||||
</div>
|
||||
}
|
||||
|
||||
{String(p_detail_partner_client_id).length < 2 &&
|
||||
<div className="session_caract_Dialog" > Email Contact
|
||||
<TextField
|
||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||
|
||||
name="dialog_opport_nom_contact"
|
||||
id="dialog_opport_nom_contact"
|
||||
|
||||
className="disabled_style"
|
||||
|
||||
value={p_detail_contact_email}
|
||||
onChange={(e) => {
|
||||
setp_detail_contact_email(e.target.value);
|
||||
setopport_changed("1");
|
||||
}
|
||||
}
|
||||
/>
|
||||
|
||||
</div>
|
||||
}
|
||||
|
||||
|
||||
|
||||
{String(p_detail_partner_client_id).length < 2 &&
|
||||
<div className="session_caract_Dialog" > Téléphone Contact
|
||||
<TextField
|
||||
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
|
||||
|
||||
name="dialog_opport_nom_contact"
|
||||
id="dialog_opport_nom_contact"
|
||||
|
||||
className="disabled_style"
|
||||
|
||||
value={p_detail_contact_telephone}
|
||||
onChange={(e) => {
|
||||
setp_detail_contact_telephone(e.target.value);
|
||||
setopport_changed("1");
|
||||
}
|
||||
}
|
||||
/>
|
||||
|
||||
</div>
|
||||
}
|
||||
|
||||
|
||||
|
||||
<div className="session_caract_Dialog" > Statut<br />
|
||||
{New_Option_Status && New_Option_Status.length > 0 &&
|
||||
p_detail_statut && String(p_detail_statut).length > 2 && <Autocomplete
|
||||
<Autocomplete
|
||||
disablePortal
|
||||
name="dialog_opport_status"
|
||||
id="dialog_opport_status"
|
||||
|
@ -1226,16 +1486,26 @@ const CRM_Opportunite = (props) => {
|
|||
<DialogActions>
|
||||
<div className="div_row">
|
||||
<div className="div_row_gauche">
|
||||
<Button onClick={(e) => {
|
||||
Update_Crm_Opportunite();
|
||||
|
||||
|
||||
{selected_id && String(selected_id).length > 2 && <Button onClick={(e) => {
|
||||
Add_Update_Crm_Opportunite();
|
||||
Dialog_OPPORTUNITE_handleClose_buton();
|
||||
|
||||
}}
|
||||
className="bton_enreg_dialog">Mettre à jour </Button>
|
||||
className="bton_enreg_dialog">Mettre à jour </Button>}
|
||||
|
||||
|
||||
{String(selected_id).length < 2 && <Button onClick={(e) => {
|
||||
Add_Update_Crm_Opportunite();
|
||||
Dialog_OPPORTUNITE_handleClose_buton();
|
||||
|
||||
}}
|
||||
className="bton_enreg_dialog">Ajouter </Button>}
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div className="div_row_droite" style={{ "textAlign": 'center' }}>
|
||||
<Button onClick={Dialog_OPPORTUNITE_handleClose_buton} className="bton_annule_dialog" >Fermer</Button>
|
||||
</div>
|
||||
|
@ -1254,7 +1524,8 @@ const CRM_Opportunite = (props) => {
|
|||
</div>
|
||||
|
||||
|
||||
{String(display_view) === "list" && <div className="div_row">
|
||||
{
|
||||
String(display_view) === "list" && <div className="div_row">
|
||||
<div className="session_data">
|
||||
<div style={{ "border": "None" }}>
|
||||
|
||||
|
@ -1460,11 +1731,13 @@ const CRM_Opportunite = (props) => {
|
|||
<div className="div_row"> </div>
|
||||
|
||||
|
||||
</div>}
|
||||
</div>
|
||||
}
|
||||
|
||||
<div className="div_row" ref={myRef} id="myRef"> </div>
|
||||
|
||||
{String(display_view) !== "list" && <div className="div_row"> Affichage Kanban
|
||||
{
|
||||
String(display_view) !== "list" && <div className="div_row"> Affichage Kanban
|
||||
<DndProvider backend={HTML5Backend}>
|
||||
<section style={classes.board}>
|
||||
{Opportunite_chanel.map(channel => (
|
||||
|
@ -1522,7 +1795,7 @@ const CRM_Opportunite = (props) => {
|
|||
}
|
||||
|
||||
|
||||
<Button variant="outlined" onClick={"submenu_add_one_materiel"}
|
||||
<Button variant="outlined" onClick={submenu_add_one_crm_opport}
|
||||
className="detail_class_submenu bton_add_session"
|
||||
id='menu_import_participant' name='menu_import_participant'>Ajout 1 Opportunités
|
||||
<IoAddCircleOutline style={{ "fontSize": "x-large", "color": "green" }} />
|
||||
|
@ -1540,7 +1813,8 @@ const CRM_Opportunite = (props) => {
|
|||
</div>
|
||||
<div className="div_row"> </div>
|
||||
|
||||
</div>}
|
||||
</div>
|
||||
}
|
||||
</div >
|
||||
);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue