17/07/2024 - 11h30

recette2
cherif 2024-07-17 11:16:33 +02:00
parent 3838a87879
commit 5eed52a57e
8 changed files with 246 additions and 171 deletions

View File

@ -6135,7 +6135,7 @@ const AddClassManual = (props) => {
<br /> <br />
{Global_Getall_Qry_Survey_Data_result_JSON && <div> {Global_Getall_Qry_Survey_Data_result_JSON && <div>
Nombre total d'enquetes sur la période : {Global_Getall_Qry_Survey_Data_result_JSON['global_nb_question_response']} <br /> Nombre total d'enquêtes sur la période : {Global_Getall_Qry_Survey_Data_result_JSON['global_nb_question_response']} <br />
{String(selected_statistic_question_type) === "Somme" && {String(selected_statistic_question_type) === "Somme" &&
<nav> <nav>
@ -6145,7 +6145,7 @@ const AddClassManual = (props) => {
{String(selected_statistic_question_type) === "Moyenne" && {String(selected_statistic_question_type) === "Moyenne" &&
<nav> <nav>
Somme totale d'enquetes sur la période : {Global_Getall_Qry_Survey_Data_result_JSON['global_somme_question_response']} <br /> Somme totale d'enquêtes sur la période : {Global_Getall_Qry_Survey_Data_result_JSON['global_somme_question_response']} <br />
Moyenne Globale sur la période : {Global_Getall_Qry_Survey_Data_result_JSON['global_moyenne_question_response']} <br /> Moyenne Globale sur la période : {Global_Getall_Qry_Survey_Data_result_JSON['global_moyenne_question_response']} <br />
</nav>} </nav>}

View File

@ -743,6 +743,7 @@ const DisplayPartnerSession = (props) => {
<div style={{ paddingLeft: "5px", paddingRight: "10px", "display": "block", wordBreak: "break-all" }}> <div style={{ paddingLeft: "5px", paddingRight: "10px", "display": "block", wordBreak: "break-all" }}>
{New_civilite && New_civilite.length > 0 && cellValues.row.civilite && {New_civilite && New_civilite.length > 0 && cellValues.row.civilite &&
<nav> <nav>
{New_civilite.filter((data) => (data).id === String(cellValues.row.civilite))[0].label} {New_civilite.filter((data) => (data).id === String(cellValues.row.civilite))[0].label}
</nav> </nav>

View File

@ -10567,7 +10567,7 @@ const Employes = (props) => {
<br /> <br />
{Global_Getall_Qry_Survey_Data_result_JSON && <div> {Global_Getall_Qry_Survey_Data_result_JSON && <div>
Nombre total d'enquetes sur la période : {Global_Getall_Qry_Survey_Data_result_JSON['global_nb_question_response']} <br /> Nombre total d'enquêtes sur la période : {Global_Getall_Qry_Survey_Data_result_JSON['global_nb_question_response']} <br />
{String(selected_statistic_question_type) === "Somme" && {String(selected_statistic_question_type) === "Somme" &&
<nav> <nav>
@ -10577,8 +10577,10 @@ const Employes = (props) => {
{String(selected_statistic_question_type) === "Moyenne" && {String(selected_statistic_question_type) === "Moyenne" &&
<nav> <nav>
Somme totale d'enquetes sur la période : {Global_Getall_Qry_Survey_Data_result_JSON['global_somme_question_response']} <br /> Somme totale d'enquêtes sur la période : {Global_Getall_Qry_Survey_Data_result_JSON['global_somme_question_response']} <br />
Moyenne Globale sur la période : {Global_Getall_Qry_Survey_Data_result_JSON['global_moyenne_question_response']} <br /> Moyenne Globale sur la période : {Global_Getall_Qry_Survey_Data_result_JSON['global_moyenne_question_response']} <br />
</nav>} </nav>}
</div>} </div>}

View File

@ -789,6 +789,11 @@ const Module_Session_Evaluation = (props) => {
}) })
} }
const [Survey_formateur_evaluation_nom_prenom, setSurvey_formateur_evaluation_nom_prenom] = useState("");
const [Getall_Survey_formateur_evaluation_By_Session_api, setGetall_Survey_formateur_evaluation_By_Session_api] = useState(); const [Getall_Survey_formateur_evaluation_By_Session_api, setGetall_Survey_formateur_evaluation_By_Session_api] = useState();
const [Getall_Survey_formateur_evaluation_By_Session_message, setGetall_Survey_formateur_evaluation_By_Session_message] = useState(); const [Getall_Survey_formateur_evaluation_By_Session_message, setGetall_Survey_formateur_evaluation_By_Session_message] = useState();
const [Getall_Survey_formateur_evaluation_By_Session_result, setGetall_Survey_formateur_evaluation_By_Session_result] = useState([]); const [Getall_Survey_formateur_evaluation_By_Session_result, setGetall_Survey_formateur_evaluation_By_Session_result] = useState([]);
@ -814,6 +819,15 @@ const Module_Session_Evaluation = (props) => {
if (String(res.data.status) === String("true")) { if (String(res.data.status) === String("true")) {
// console.log(" In Getall_Survey_formateur_evaluation_By_Session res.data.status = " + res.data.status); // console.log(" In Getall_Survey_formateur_evaluation_By_Session res.data.status = " + res.data.status);
//console.log(" In Getall_Survey_formateur_evaluation_By_Session res.data.message r_class = " + res.data.message); //console.log(" In Getall_Survey_formateur_evaluation_By_Session res.data.message r_class = " + res.data.message);
//console.log(" In Getall_Survey_formateur_evaluation_By_Session res.data.message r_class[0] = " + res.data.message[0]);
if (res.data.message[0]) {
var local_jon = JSON.parse(res.data.message[0]);
//console.log(" ### local_jon = ", local_jon);
setSurvey_formateur_evaluation_nom_prenom(local_jon['rh_prenom'] + " " + local_jon['rh_nom'])
}
setGetall_Survey_formateur_evaluation_By_Session_api("true"); setGetall_Survey_formateur_evaluation_By_Session_api("true");
setGetall_Survey_formateur_evaluation_By_Session_result(res.data.message); setGetall_Survey_formateur_evaluation_By_Session_result(res.data.message);
setRows_evaluation_formateur(res.data.message); setRows_evaluation_formateur(res.data.message);
@ -2189,7 +2203,7 @@ const Module_Session_Evaluation = (props) => {
<div className="div_row" style={{ "textAlign": "right", "marginTop": "0.5rem", "width": "100%", "float": "right" }}> <div className="div_row" style={{ "textAlign": "right", "marginTop": "0.5rem", "width": "100%", "float": "right" }}>
<div className="titre1"> Evaluation à Enseignant </div> <div className="titre1"> Evaluation Enseignant <b> {Survey_formateur_evaluation_nom_prenom} </b> </div>
<div style={{ width: "100%", float: "left" }}> <div style={{ width: "100%", float: "left" }}>

View File

@ -1051,7 +1051,7 @@ const Mon_Tableau_De_Bord = (props) => {
<div className="div_row"> <div className="div_row">
<Button variant="outlined" onClick={submenu_montbd} className="detail_class_submenu" id='montbd' name='montbd' >Mon tableau de bord </Button> {/* <Button variant="outlined" onClick={submenu_montbd} className="detail_class_submenu" id='montbd' name='montbd' >Mon tableau de bord </Button> */}
<Button variant="outlined" onClick={submenu_rapport_activite} className="detail_class_submenu" id='rapport_activite' name='rapport_activite' >Rapport Activite </Button> <Button variant="outlined" onClick={submenu_rapport_activite} className="detail_class_submenu" id='rapport_activite' name='rapport_activite' >Rapport Activite </Button>
<Button variant="outlined" onClick={submenu_rapport_financier} className="detail_class_submenu" id='rapport_financier' name='rapport_financier' >Rapports Financiers </Button> <Button variant="outlined" onClick={submenu_rapport_financier} className="detail_class_submenu" id='rapport_financier' name='rapport_financier' >Rapports Financiers </Button>
<Button variant="outlined" onClick={submenu_rapport_rh} className="detail_class_submenu" id='rapport_rh' name='rapport_rh' >Ressources Humaine </Button> <Button variant="outlined" onClick={submenu_rapport_rh} className="detail_class_submenu" id='rapport_rh' name='rapport_rh' >Ressources Humaine </Button>
@ -1677,15 +1677,19 @@ const Mon_Tableau_De_Bord = (props) => {
<div > <div >
{JSON.parse(my_data).total_duration && {JSON.parse(my_data).total_duration &&
<nav style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%", "fontWeight": "600", "fontSize": "1.3rem", <nav style={{
"color":'#6495ED' }}> "paddingLeft": "5px", "textAlign": "left", "width": "100%", "fontWeight": "600", "fontSize": "1.3rem",
"color": '#6495ED'
}}>
Durée totale : {JSON.parse(my_data).total_duration} Durée totale : {JSON.parse(my_data).total_duration}
</nav>} </nav>}
{JSON.parse(my_data).total_cost && {JSON.parse(my_data).total_cost &&
<nav style={{ "paddingLeft": "5px", "textAlign": "left", "width": "100%", "fontWeight": "600", "fontSize": "1.3rem", <nav style={{
"color":'#FF7F50', "marginBottom":"10px" }}> "paddingLeft": "5px", "textAlign": "left", "width": "100%", "fontWeight": "600", "fontSize": "1.3rem",
"color": '#FF7F50', "marginBottom": "10px"
}}>
Coût total : {JSON.parse(my_data).total_cost} Coût total : {JSON.parse(my_data).total_cost}
</nav>} </nav>}

View File

@ -238,8 +238,42 @@ const Partner_Commande = (props) => {
{ field: 'order_header_ref_interne', headerName: 'Ref_Interne', hide: true, editable: false }, { field: 'order_header_ref_interne', headerName: 'Ref_Interne', hide: true, editable: false },
{ field: 'order_line_type', headerName: 'Type', width: 100, hide: false, editable: false }, { field: 'order_line_type', headerName: 'Type', width: 100, hide: false, editable: false },
{ field: 'order_line_type_article', headerName: 'Type Article', width: 100, hide: false, editable: false }, { field: 'order_line_type_article', headerName: 'Type Article', width: 100, hide: false, editable: false },
{ field: 'related_order_internal_ref', headerName: 'Cmd. Associé', width: 100, hide: true, editable: false },
{ {
field: 'order_line_status', headerName: 'Statut', width: 150, hide: false, editable: false, field: 'order_line_status', headerName: 'Statut', width: 150, hide: false, editable: false,
renderCell: (cellValues) => {
return (
<div style={{ paddingLeft: "5px", paddingRight: "15px", "display": "block", wordBreak: "break-all" }}>
{cellValues.row.order_line_status && String(cellValues.row.order_line_status) === "-1" && "Annulé"}
{cellValues.row.order_line_status && String(cellValues.row.order_line_status) === "0" && "Brouillon"}
{cellValues.row.order_line_status && String(cellValues.row.order_line_status) === "1" && "En cours"}
{cellValues.row.order_line_status && String(cellValues.row.order_line_status) === "2"
&& String(cellValues.row.order_line_type) === "commande" && "Traité"}
{cellValues.row.order_line_status && String(cellValues.row.order_line_status) === "2"
&& String(cellValues.row.order_line_type) === "devis" && "Fermé"}
{cellValues.row.order_line_status && String(cellValues.row.order_line_status) === "3"
&& String(cellValues.row.order_line_type) === "commande" && "Facturé"}
{cellValues.row.order_line_status && String(cellValues.row.order_line_status) === "3"
&& String(cellValues.row.order_line_type) === "devis" && "Gagné"}
{cellValues.row.order_line_status && String(cellValues.row.order_line_status) === "4"
&& String(cellValues.row.order_line_type) === "devis" && "Perdu"}
</div>
);
},
valueFormatter: (params) => { valueFormatter: (params) => {
if (String(params.value) === "-1") if (String(params.value) === "-1")
return "Annulé"; return "Annulé";
@ -3156,7 +3190,7 @@ const Partner_Commande = (props) => {
function Recalcul_Item_Amounts() { function Recalcul_Item_Amounts() {
var qty = parseFloat(document.getElementById("ref_article_qty").value); var qty = parseFloat(document.getElementById("ref_article_qty").value);
var unit_price = parseFloat(document.getElementById("ref_article_unit_price").value); var unit_price = parseFloat(document.getElementById("ref_article_unit_price").value);
var total_base1 = (unit_price * qty).toFixed(3); var total_base1 = (unit_price * qty).toFixed(2);
var total_reduction = 0; var total_reduction = 0;
@ -3171,13 +3205,13 @@ const Partner_Commande = (props) => {
if (String(p_add_line_item_type_reduction) === "fixe") { if (String(p_add_line_item_type_reduction) === "fixe") {
console.log("fixe : p_add_line_item_reduction_value = ", reduct_value); console.log("fixe : p_add_line_item_reduction_value = ", reduct_value);
total_reduction = (parseFloat(String(reduct_value)) * qty).toFixed(3); total_reduction = (parseFloat(String(reduct_value)) * qty).toFixed(2);
} if (String(p_add_line_item_type_reduction) === "percent") { } if (String(p_add_line_item_type_reduction) === "percent") {
console.log("percent p_add_line_item_reduction_value = ", reduct_value); console.log("percent p_add_line_item_reduction_value = ", reduct_value);
total_reduction = ((unit_price * parseFloat(String(reduct_value)) * qty) / 100).toFixed(3); total_reduction = ((unit_price * parseFloat(String(reduct_value)) * qty) / 100).toFixed(2);
} }
@ -3185,8 +3219,8 @@ const Partner_Commande = (props) => {
//console.log(" ### qty = ", qty, " ### unit_price = ", unit_price, " ### total_base1 = ", total_base1, " ### total_reduction = ", total_reduction, " ### reduct_value = ", reduct_value); //console.log(" ### qty = ", qty, " ### unit_price = ", unit_price, " ### total_base1 = ", total_base1, " ### total_reduction = ", total_reduction, " ### reduct_value = ", reduct_value);
var montant_taxe_tva = ((total_base1 - total_reduction) * [parseFloat(String(partner_taux_tva)) / 100]).toFixed(3); var montant_taxe_tva = ((total_base1 - total_reduction) * [parseFloat(String(partner_taux_tva)) / 100]).toFixed(2);
var montant_ttc = ((total_base1 - total_reduction) * (1 + [parseFloat(String(partner_taux_tva)) / 100])).toFixed(3); //(total_base2 + montant_taxe_tva).toFixed(2); var montant_ttc = ((total_base1 - total_reduction) * (1 + [parseFloat(String(partner_taux_tva)) / 100])).toFixed(2); //(total_base2 + montant_taxe_tva).toFixed(2);
setp_add_line_item_reduction_total_amount(String(total_reduction)); setp_add_line_item_reduction_total_amount(String(total_reduction));
setp_add_line_item_total_amount_ht(String(total_base1)); setp_add_line_item_total_amount_ht(String(total_base1));
@ -6712,8 +6746,25 @@ const Partner_Commande = (props) => {
String(p_detail_header_statut_label).toLowerCase() === "traité" && String(p_detail_header_statut_label).toLowerCase() === "traité" &&
<Button variant="outlined" onClick={Invoice_Order_Data} className="detail_class_submenu bton_add_sous_menu_cmd_gauche"> Facturer </Button>} <Button variant="outlined" onClick={Invoice_Order_Data} className="detail_class_submenu bton_add_sous_menu_cmd_gauche"> Facturer </Button>}
{String(selected_order_header_type) === "devis" && String(p_detail_header_statut_label).toLowerCase() === "en cours" &&
<Button variant="outlined" onClick={Convert_Quotation_To_Order_Data} className="detail_class_submenu bton_add_sous_menu_cmd_gauche"> Convertir en Cmd </Button>} {String(selected_order_header_type) === "devis" &&
(String(p_detail_header_statut_label).toLowerCase().trim() === "en cours" || String(p_detail_header_statut_label).toLowerCase().trim() === "gagné") &&
String(p_detail_header_order_header_ref_interne) === "" &&
<Button variant="outlined" onClick={Convert_Quotation_To_Order_Data} className="detail_class_submenu bton_add_sous_menu_cmd_gauche"> Convertir en Cmd </Button>
}
{String(selected_order_header_type) === "devis" &&
(String(p_detail_header_statut_label).toLowerCase().trim() === "en cours" || String(p_detail_header_statut_label).toLowerCase().trim() === "gagné") &&
String(p_detail_header_order_header_ref_interne) !== "" &&
<Button variant="outlined" className="detail_class_submenu bton_add_sous_menu_cmd_gauche">
<Tooltip className="tooltip_css" id="info_ref_cmd_01" style={{ "fontSize": "12px" }} />
<a data-tooltip-id="info_ref_cmd_01" data-tooltip-html=" Ce devis est associé à la ce numero de commande ">
Cmd: {p_detail_header_order_header_ref_interne} &nbsp;
<FcInfo /> </a>
</Button>
}
{String(selected_order_header_type) === "devis" && String(p_detail_header_statut_label).toLowerCase() === "en cours" && {String(selected_order_header_type) === "devis" && String(p_detail_header_statut_label).toLowerCase() === "en cours" &&
<Popup <Popup
@ -6975,6 +7026,7 @@ const Partner_Commande = (props) => {
order_line_formation_external_code: JSON.parse(item).order_line_formation_external_code, order_line_formation_external_code: JSON.parse(item).order_line_formation_external_code,
order_line_type_article: JSON.parse(item).order_line_type_article, order_line_type_article: JSON.parse(item).order_line_type_article,
order_line_montant_hors_taxes: JSON.parse(item).order_line_montant_hors_taxes, order_line_montant_hors_taxes: JSON.parse(item).order_line_montant_hors_taxes,
related_order_internal_ref: JSON.parse(item).related_order_internal_ref,
} }
))} ))}

View File

@ -1021,7 +1021,7 @@ const Partner_Facture = (props) => {
var line = JSON.parse(rowss[selected_row_id]); var line = JSON.parse(rowss[selected_row_id]);
//console.log("### line = ", line); console.log("### line = ", line);
var invoice_id = line._id; var invoice_id = line._id;
setselected_id(invoice_id); setselected_id(invoice_id);

View File

@ -1812,7 +1812,7 @@ const Partner_Product_Service = (props) => {
<Button variant="outlined" onClick={submenu_ressource_associe} className="detail_class_submenu" id='ressource_associe' name='affectation'>Ressources Associées </Button> <Button variant="outlined" onClick={submenu_ressource_associe} className="detail_class_submenu" id='ressource_associe' name='affectation'>Ressources Associées </Button>
*/} */}
</div> </div>
<nav style={{ "border": "None", "fontSize": "22px", "fontWeight": "600" }}> Ajouter un nouveau materiel </nav> <nav style={{ "border": "None", "fontSize": "22px", "fontWeight": "600" }}> Ajouter un nouveau produit/service </nav>
<div className="session_data" > <div className="session_data" >
<div className="session_caract"> <b>Code produit </b> <br /> <div className="session_caract"> <b>Code produit </b> <br />
<TextField <TextField
@ -1903,7 +1903,7 @@ const Partner_Product_Service = (props) => {
/> />
</div> </div>
<div className="session_caract"> Code Taxe<br /> <div className="session_caract"> Taux TVA<br />
<TextField <TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }} sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
required required
@ -1914,6 +1914,8 @@ const Partner_Product_Service = (props) => {
shrink: true, shrink: true,
}} }}
disabled={false} disabled={false}
type={"number"}
inputProps={{ min: "1", max: "999999", step: "0.1" }}
className="disabled_style" className="disabled_style"
value={p_one_detail_code_taxe} value={p_one_detail_code_taxe}
onChange={(e) => { onChange={(e) => {