15/09/2023 - 12h

recette2
cherif 2023-09-15 12:23:00 +02:00
parent 56ddcecd8a
commit 3445e85948
1 changed files with 1006 additions and 725 deletions

View File

@ -142,13 +142,13 @@ const Partner_Commande = (props) => {
<div className="gest_content">
{' '}
En confirmant cette opération, l'employé sera <i><font color="red"> définitivement supprimé</font></i>. <br />
En confirmant cette opération, le document sera <i><font color="red"> définitivement supprimé</font></i>. <br />
</div>
<div className="gest_actions">
<div style={{ "width": "45%", "float": "left" }}>
<button className="gest_bton_popup" onClick={(event) => {
//handleClick_delete(event, cellValues);
handleClick_delete(event, cellValues);
//console.log('modal closed ');
close();
}}> Valider </button>
@ -291,6 +291,73 @@ const Partner_Commande = (props) => {
]
function handleClick_delete(event, cellValues) {
var local_order_header_id = cellValues.row._id;
var local_order_type = cellValues.row.order_header_type;
Delete_Order_Header_AndLine_Data(local_order_header_id, local_order_type);
}
const [Delete_Order_Header_AndLine_Data_api, setDelete_Order_Header_AndLine_Data_api] = useState();
const [Delete_Order_Header_AndLine_Data_message, setDelete_Order_Header_AndLine_Data_message] = useState();
const [Delete_Order_Header_AndLine_Data_result, setDelete_Order_Header_AndLine_Data_result] = useState();
function Delete_Order_Header_AndLine_Data(local_order_header_id, local_order_type) {
var form = new FormData();
const stored_cookie = getCookie('tokenmysypart');
form.append("token", stored_cookie);
form.append("order_header_id", local_order_header_id);
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Delete_Partner_Order_Header_And_Lines/";
axios.post(myurl, form).then(res => {
//console.log(" In Delete_Order_Header_AndLine_Data res.data.status = " + res.data.status);
//console.log(" In Delete_Order_Header_AndLine_Data res.data.message r_class = " + res.data.message);
if (String(res.data.status) === String("true")) {
setDelete_Order_Header_AndLine_Data_api("true");
setDelete_Order_Header_AndLine_Data_result(res.data.message);
clean_order_detail_fields();
setsubmenu();
setdisplay_detail_order();
setadd_One_Order();
setSelectionModel([]);
Getall_Parter_Orders_No_Filter();
if (myRef_head)
myRef_head.current.scrollIntoView({ behavior: "smooth" });
alert(res.data.message);
}
else {
setDelete_Order_Header_AndLine_Data_api("false");
setDelete_Order_Header_AndLine_Data_message(res.data.message);
alert(res.data.message);
}
}).catch((error) => {
console.log('Delete_Order_Header_AndLine_Data : Not good man :( Delete_Order_Header_AndLine_Data = ' + error);
setDelete_Order_Header_AndLine_Data_api("false");
if (local_order_type == "devis")
alert(" Impossible de supprimer le devis ");
else
alert(" Impossible de supprimer la commande ");
})
}
function Display_Detail_Order_Line(event, cellValues) {
var order_line_id = String(cellValues.row._id);
@ -561,6 +628,7 @@ const Partner_Commande = (props) => {
const myRef_head = useRef(null);
const [selected_id, setselected_id] = useState("");
const [selected_order_line_id, setselected_order_line_id] = useState("");
const [selected_order_header_type, setselected_order_header_type] = useState();
const [order_internal_ref, setorder_internal_ref] = useState("");
function handleClick_edit_order_From_Line(selected_row_id) {
@ -576,6 +644,9 @@ const Partner_Commande = (props) => {
var order_ref = line.order_header_ref_interne;
setorder_internal_ref(order_ref);
var order_header_type = line.order_header_type;
setselected_order_header_type(order_header_type);
//console.log(" ### employe_id = ", employe_id);
Display_Detail_Order_data(order_id);
@ -594,6 +665,8 @@ const Partner_Commande = (props) => {
setadd_One_Order();
setdisplay_detail_order("1");
setsubmenu("detail_order");
clean_order_detail_fields();
setselectionModel_order_lines([]);
Get_Order_Data(order_id);
Get_Partner_Orders_Lines_from_header_id(order_id);
@ -624,8 +697,8 @@ const Partner_Commande = (props) => {
axios.post(myurl, form).then(res => {
if (String(res.data.status) === "true") {
console.log(" In Get_Order_Data res.data.status = " + res.data.status);
console.log(" In Get_Order_Data res.data.message r_class = " + res.data.message);
//console.log(" In Get_Order_Data res.data.status = " + res.data.status);
//console.log(" In Get_Order_Data res.data.message r_class = " + res.data.message);
setGetAttendee_api("true");
setGetAttendee_result(res.data.message);
@ -862,8 +935,8 @@ const Partner_Commande = (props) => {
axios.post(myurl, form).then(res => {
if (String(res.data.status) === String("true")) {
console.log(" In Get_Partner_Orders_Lines_from_header_id res.data.status = " + res.data.status);
console.log(" In Get_Partner_Orders_Lines_from_header_id res.data.message r_class = " + res.data.message);
//console.log(" In Get_Partner_Orders_Lines_from_header_id res.data.status = " + res.data.status);
//console.log(" In Get_Partner_Orders_Lines_from_header_id res.data.message r_class = " + res.data.message);
setGet_Partner_Orders_Lines_from_header_id_api("true");
setGet_Partner_Orders_Lines_from_header_id_result(res.data.message);
setrows_order_lines(res.data.message);
@ -2159,6 +2232,158 @@ const Partner_Commande = (props) => {
})
}
const [Confirm_Order_Data_api, setConfirm_Order_Data_api] = useState();
const [Confirm_Order_Data_message, setConfirm_Order_Data_message] = useState();
const [Confirm_Order_Data_result, setConfirm_Order_Data_result] = useState();
function Confirm_Order_Data() {
var form = new FormData();
const stored_cookie = getCookie('tokenmysypart');
form.append("token", stored_cookie);
form.append("order_header_id", selected_id);
//console.log("### form = ", form);
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Confirm_Partner_Order_Header_And_Lines/";
axios.post(myurl, form).then(res => {
//console.log(" In Add_Update_One_Order_Line_Data res.data.status = " + res.data.status);
//console.log(" In Add_Update_One_Order_Line_Data res.data.message r_class = " + res.data.message);
if (String(res.data.status) === String("true")) {
setConfirm_Order_Data_api("true");
setConfirm_Order_Data_message(res.data.message);
Getall_Training_Employee_No_Filter();
Display_Detail_Order_data(selected_id);
alert(res.data.message);
}
else {
setConfirm_Order_Data_api("false");
setConfirm_Order_Data_message(res.data.message);
alert(res.data.message);
}
}).catch((error) => {
console.warn('Confirm_Order_Data : Not good man :( Confirm_Order_Data = ' + error);
setConfirm_Order_Data_api("false");
if (String(p_add_cmd_header_order_type) === "devis") {
alert(" Impossible de confirmer le devis");
} else if (String(p_add_cmd_header_order_type) === "commande") {
alert(" Impossible de confirmer la commande");
}
})
}
const [Cancel_Order_Data_api, setCancel_Order_Data_api] = useState();
const [Cancel_Order_Data_message, setCancel_Order_Data_message] = useState();
const [Cancel_Order_Data_result, setCancel_Order_Data_result] = useState();
function Cancel_Order_Data() {
var form = new FormData();
const stored_cookie = getCookie('tokenmysypart');
form.append("token", stored_cookie);
form.append("order_header_id", selected_id);
//console.log("### form = ", form);
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Annule_Partner_Order_Header_And_Lines/";
axios.post(myurl, form).then(res => {
//console.log(" In Add_Update_One_Order_Line_Data res.data.status = " + res.data.status);
//console.log(" In Add_Update_One_Order_Line_Data res.data.message r_class = " + res.data.message);
if (String(res.data.status) === String("true")) {
setCancel_Order_Data_api("true");
setCancel_Order_Data_message(res.data.message);
Getall_Training_Employee_No_Filter();
Display_Detail_Order_data(selected_id);
alert(res.data.message);
}
else {
setCancel_Order_Data_api("false");
setCancel_Order_Data_message(res.data.message);
alert(res.data.message);
}
}).catch((error) => {
console.warn('Cancel_Order_Data : Not good man :( Cancel_Order_Data = ' + error);
setCancel_Order_Data_api("false");
if (String(p_add_cmd_header_order_type) === "devis") {
alert(" Impossible d'annuler le devis par email");
} else if (String(p_add_cmd_header_order_type) === "commande") {
alert(" Impossible d'annler la commande ");
}
})
}
const [Convert_Quotation_To_Order_Data_api, setConvert_Quotation_To_Order_Data_api] = useState();
const [Convert_Quotation_To_Order_Data_message, setConvert_Quotation_To_Order_Data_message] = useState();
const [Convert_Quotation_To_Order_Data_result, setConvert_Quotation_To_Order_Data_result] = useState();
function Convert_Quotation_To_Order_Data() {
var form = new FormData();
const stored_cookie = getCookie('tokenmysypart');
form.append("token", stored_cookie);
form.append("order_id", selected_id);
//console.log("### form = ", form);
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Convert_Quotation_to_Order/";
axios.post(myurl, form).then(res => {
//console.log(" In Add_Update_One_Order_Line_Data res.data.status = " + res.data.status);
//console.log(" In Add_Update_One_Order_Line_Data res.data.message r_class = " + res.data.message);
if (String(res.data.status) === String("true")) {
setConvert_Quotation_To_Order_Data_api("true");
setConvert_Quotation_To_Order_Data_message(res.data.message);
clean_all_filters();
Getall_Parter_Orders_No_Filter();
Display_Detail_Order_data(selected_id);
if (myRef_head)
myRef_head.current.scrollIntoView({ behavior: "smooth" });
alert(res.data.message);
}
else {
setConvert_Quotation_To_Order_Data_api("false");
setConvert_Quotation_To_Order_Data_message(res.data.message);
alert(res.data.message);
}
}).catch((error) => {
console.warn('Convert_Quotation_To_Order_Data : Not good man :( Convert_Quotation_To_Order_Data = ' + error);
setConvert_Quotation_To_Order_Data_api("false");
alert(" Impossible de convertir le devis en commande ");
})
}
return (
@ -2972,9 +3197,11 @@ const Partner_Commande = (props) => {
if (newSelectionModel.length === 1)
handleClick_edit_order_From_Line(newSelectionModel);
if (newSelectionModel.length !== 1) {
clean_order_detail_fields();
setsubmenu();
setdisplay_detail_order();
setadd_One_Order();
}
}}
selectionModel={selectionModel}
@ -3109,6 +3336,8 @@ const Partner_Commande = (props) => {
</div>
<div style={{ "width": "100%", "float": "left" }}>
<div style={{ "width": "75%", "float": "left" }}>
{String(header_submenu) !== "detail" && String(header_submenu) !== "facturation" && <div>
<div className="session_caract"> Type<br />
<TextField
@ -3486,7 +3715,6 @@ const Partner_Commande = (props) => {
</div>}
{String(header_submenu) === "detail" && <div>
<h3> Affichage détail header </h3>
<div className="div_row">
<Button variant="outlined" onClick={Compute_Order_Header_Price} className="detail_class_submenu" id='order_header_main' name='order_header_main'>Mettre a jour prix</Button>
<Button variant="outlined" onClick={print_order_pdf} className="detail_class_submenu" id='order_header_main' name='order_header_main'>Imprimer pdf</Button>
@ -3708,7 +3936,6 @@ const Partner_Commande = (props) => {
</div>}
{String(header_submenu) === "facturation" && <div>
<h3> Affichage données de facturation </h3>
<div> Facturation :
<div className="session_caract"> Adresse <br />
<TextField
@ -3891,6 +4118,60 @@ const Partner_Commande = (props) => {
</div>
</div>}
</div>
<div style={{ "width": "23%", "float": "left", "textAlign": "right", "paddingTop": "2rem" }}>
<Button variant="outlined" onClick={Confirm_Order_Data} className="detail_class_submenu bton_add_session"> Confirmer </Button>
{String(selected_order_header_type) === "devis" && <Button variant="outlined" onClick={Convert_Quotation_To_Order_Data} className="detail_class_submenu bton_add_session"> Convertir en Cmd </Button>}
<Button variant="outlined" onClick={Cancel_Order_Data} className="detail_class_submenu bton_add_session"> Annuler </Button>
<Popup
trigger={<Button variant="outlined" className="detail_class_submenu bton_add_session"> Supprimer </Button>}
modal
nested
position="center center"
>
{close => (
<div>
<button className="gest_close" onClick={close}>
&times;
</button>
<div className="gest_header"> MySy Information </div>
<div className="gest_content">
{' '}
En confirmant cette opération, le document sera <i><font color="red"> définitivement supprimé</font></i>. <br />
</div>
<div className="gest_actions">
<div style={{ "width": "45%", "float": "left" }}>
<button className="gest_bton_popup" onClick={(event) => {
Delete_Order_Header_AndLine_Data(selected_id, selected_order_header_type);
//console.log('modal closed ');
close();
}}> Valider </button>
</div>
<div style={{ "width": "45%", "float": "right" }}>
<button
className="gest_bton_popup"
onClick={() => {
//console.log('modal closed ');
close();
}}
>
Annuler
</button>
</div>
</div>
</div>
)}
</Popup>
</div>
</div>
<div>