From 59b5dba3ee8ff424f44eb06c6d2bf746b3f4cbfc Mon Sep 17 00:00:00 2001 From: cherif Date: Thu, 14 Dec 2023 16:16:27 +0100 Subject: [PATCH] 14/12/2023 - 16h16 --- src/components/AddClassManual.js | 103 +++++++- src/components/AddPartnerClient.js | 224 ++++++++++++++--- src/components/Employes.js | 238 ++++++++++++++---- src/components/GestionAdministrative.js | 11 +- src/components/Partner_Client.js | 12 +- src/styles/components/_addpartnerclient.scss | 16 +- .../components/_partner_client_activite.scss | 4 - 7 files changed, 506 insertions(+), 102 deletions(-) diff --git a/src/components/AddClassManual.js b/src/components/AddClassManual.js index baf6ac7..81208da 100644 --- a/src/components/AddClassManual.js +++ b/src/components/AddClassManual.js @@ -228,7 +228,7 @@ const AddClassManual = (props) => { var myurl = process.env.REACT_APP_API_URL + "myclass/api/delete_Class_by_internal_url/"; - + setLoading(true); fetch( myurl, { @@ -238,6 +238,7 @@ const AddClassManual = (props) => { ) .then((response) => response.json()) .then((result) => { + setLoading(false); //console.log('Success:', result['message'], "result['status'] = ", result['status']); setimportmessage(result['message']); setmyApiResponse(result['status']); @@ -291,6 +292,7 @@ const AddClassManual = (props) => { }) .catch((error) => { + setLoading(false); console.error('Error:', error); setmyApiResponse("false"); }); @@ -313,7 +315,10 @@ const AddClassManual = (props) => { 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"); @@ -326,6 +331,7 @@ const AddClassManual = (props) => { } }).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"); @@ -338,6 +344,7 @@ const AddClassManual = (props) => { Get_Partner_Object_Specific_Fields("myclass"); Getall_Training_Employee_No_Filter(); + Get_List_Niveau_Formation(); setfield_description(""); setfield_objectif(""); @@ -406,8 +413,10 @@ const AddClassManual = (props) => { var myurl = process.env.REACT_APP_API_URL + "myclass/api/get_partner_class/"; + setLoading(true); axios.post(myurl, form).then(res => { if (String(res.data.status) === String("true")) { + setLoading(false); //console.log(" In get_partner_class res.data.status = " + res.data.status); //console.log(" In get_partner_class res.data.message r_class = " + res.data.message); setmyApiResponse("True"); @@ -499,10 +508,10 @@ const AddClassManual = (props) => { setmycertif("0"); if (mylocaltraining.class_level) { - document.getElementsByName("class_level")[0].value = mylocaltraining.class_level; + setp_class_level(mylocaltraining.class_level); } else - document.getElementsByName("class_level")[0].value = "2"; + setp_class_level("2"); if (mylocaltraining.price) @@ -627,6 +636,7 @@ const AddClassManual = (props) => { }).catch((error) => { + setLoading(false); console.warn('Not good man :( mysearchtext = '); setmyApiResponse("False"); //setmyApimyApiMessage("") @@ -681,7 +691,7 @@ const AddClassManual = (props) => { var distentiel = document.getElementsByName("distentiel")[0].value; var domaine = document.getElementsByName("domaine")[0].value; var mypublier = document.getElementsByName("published")[0].value; - var niveau_ftion = document.getElementsByName("class_level")[0].value; + var niveau_ftion = p_class_level; var price = document.getElementsByName("price")[0].value; var duree = document.getElementsByName("duree")[0].value; var url = document.getElementsByName("url")[0].value; @@ -936,7 +946,7 @@ const AddClassManual = (props) => { function Get_List_Metiers() { var form = new FormData(); var myurl = process.env.REACT_APP_API_URL + "myclass/api/get_List_metier_formation/"; - + setLoading(true); fetch(myurl, { method: 'POST', @@ -944,6 +954,7 @@ const AddClassManual = (props) => { }) .then((data) => data.json()) .then((data) => { + setLoading(false); //console.log(' IN Get_List_Metiers Success:', data['message'], "data['status'] = ", data['status']); if (String(data['status']) === String("true")) { @@ -957,6 +968,7 @@ const AddClassManual = (props) => { } }).catch((error) => { + setLoading(false); console.error('Error Get_List_Metiers :', error); setGet_List_Metiers_api("false"); }); @@ -1074,7 +1086,7 @@ const AddClassManual = (props) => { form.append("token", stored_cookie); form.append("class_external_code", class_external_code); form.append("type", "partner"); - + setLoading(true); fetch( process.env.REACT_APP_API_URL + "myclass/api/DeleteRecodedClassImage/", { @@ -1083,6 +1095,7 @@ const AddClassManual = (props) => { } ).then((response) => response.json()) .then((result) => { + setLoading(false); //console.log(' removeRecodedClassImage : status:', result['status']); //console.log('removeRecodedClassImage : Success:', result['message']); @@ -1107,6 +1120,7 @@ const AddClassManual = (props) => { }) .catch((error) => { + setLoading(false); console.error('Error:'); setisimgclassSelected(true); setisimgclassdeleted("0"); @@ -1134,6 +1148,7 @@ const AddClassManual = (props) => { formData.append("class_external_code", class_external_code); formData.append("type", "partner"); + setLoading(true); fetch( process.env.REACT_APP_API_URL + "myclass/api/recordClassImage/", { @@ -1142,6 +1157,7 @@ const AddClassManual = (props) => { } ).then((response) => response.json()) .then((result) => { + setLoading(false); //console.log('status:', result['status']); //console.log('Success:', result['message']); setisimgclassSelected(false); @@ -1157,6 +1173,7 @@ const AddClassManual = (props) => { }) .catch((error) => { + setLoading(false); console.error('Error:'); setisimgclassSelected(true); setisimgclassSaved("0"); @@ -1185,10 +1202,11 @@ const AddClassManual = (props) => { form.append("type", "partner"); form.append("class_external_code", class_external_code); - + setLoading(true); axios.post(myurl, form).then(res => { if (res.data.status != "False") { + setLoading(false); //console.log(" getClassImage : In test res.data.status = " + res.data.status); //console.log(" getClassImage: res.data.message.img = " + res.data.message); @@ -1210,6 +1228,7 @@ const AddClassManual = (props) => { //alert("4"); } }).catch((error) => { + setLoading(false); console.warn('getClassImage ee: Not good man :( getClassImage = '); setisclassimage("False"); setuserimgclassprofil(""); @@ -1348,10 +1367,11 @@ const AddClassManual = (props) => { form.append("object_name", local_collection_obj_metier); var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_Partner_Object_Specific_Valide_Displayed_Fields/"; - + setLoading(true); axios.post(myurl, form).then(res => { if (String(res.data.status) === String("true")) { + setLoading(false); //console.log(" In Get_Partner_Object_Specific_Fields res.data.status = " + res.data.status); //console.log(" In Get_Partner_Object_Specific_Fields res.data.message r_class = " + res.data.message); @@ -1370,6 +1390,7 @@ const AddClassManual = (props) => { } }).catch((error) => { + setLoading(false); console.warn('Not good man :( Get_Partner_Object_Specific_Fields = ', error); setGet_Partner_Object_Specific_Fields_api("false"); alert(" Impossible de recuperer la liste des collection et champs personnalisables"); @@ -1378,6 +1399,49 @@ const AddClassManual = (props) => { } + const [Get_List_Niveau_Formation_api, setGet_List_Niveau_Formation_api] = useState(); + const [Get_List_Niveau_Formation_message, setGet_List_Niveau_Formation_message] = useState(); + const [Get_List_Niveau_Formation_result, setGet_List_Niveau_Formation_result] = useState([]); + function Get_List_Niveau_Formation() { + var form = new FormData(); + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_List_Class_Niveau_Formation/"; + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + + setLoading(true); + fetch(myurl, + { + method: 'POST', + body: form, + }) + .then((data) => data.json()) + .then((data) => { + setLoading(false); + //console.log(' IN Get_List_Niveau_Formation Success:', data['message'], "data['status'] = ", data['status']); + + if (String(data['status']) === String("true")) { + setGet_List_Niveau_Formation_api("true"); + setGet_List_Niveau_Formation_result(data['message']); + + } + else { + setGet_List_Niveau_Formation_api("false"); + setGet_List_Niveau_Formation_message(data['message']); + alert(data['message']) + } + + }).catch((error) => { + setLoading(false); + console.error('Error Get_List_Niveau_Formation :', error); + setGet_List_Niveau_Formation_api("false"); + alert(" Impossible de récupérer la liste des niveaux de formation"); + + }); + + } + + + //const [rows_champs_specifics, setrows_champs_specifics] = useState([]); // Cas spécifique de cette page. @@ -1457,6 +1521,8 @@ const AddClassManual = (props) => { const [p_formateur_id, setp_formateur_id] = useState(""); const [p_formateur_label, setp_formateur_label] = useState(""); + const [p_class_level, setp_class_level] = useState(""); + return (
@@ -1623,14 +1689,31 @@ const AddClassManual = (props) => { + value={p_class_level} + onChange={(e) => { + setp_class_level(e.target.value); + DataUpdated(); + } + } + > + + {Get_List_Niveau_Formation_result && + Get_List_Niveau_Formation_result.map((niveau) => ( + + {JSON.parse(niveau).description}  + + + ))} + +
diff --git a/src/components/AddPartnerClient.js b/src/components/AddPartnerClient.js index 56bb286..ca7fef6 100644 --- a/src/components/AddPartnerClient.js +++ b/src/components/AddPartnerClient.js @@ -1,42 +1,28 @@ import React, { useRef, useState, useEffect } from "react"; -import Box from '@mui/material/Box'; + import TextField from '@mui/material/TextField'; import MenuItem from '@mui/material/MenuItem'; -import { confirmAlert } from 'react-confirm-alert'; // Import + import 'react-confirm-alert/src/react-confirm-alert.css'; // Import css import Button from '@mui/material/Button'; import axios from "axios"; import DeleteIcon from '@mui/icons-material/Delete'; import { getCookie, setCookie } from 'react-use-cookie'; -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 { ConstructionOutlined, PropaneSharp } from "@mui/icons-material"; import { useHistory } from "react-router-dom"; -import CheckOut from "./CheckOut"; - import "react-draft-wysiwyg/dist/react-draft-wysiwyg.css"; -import { RichTextEditor } from '@mantine/rte'; -import { Editor } from '@tinymce/tinymce-react'; -import { IoArrowUndoCircle } from "react-icons/io5"; + import { GrUserAdmin, GrOrderedList } from "react-icons/gr"; -import parse from 'html-react-parser'; import 'react-tooltip/dist/react-tooltip.css' import { Tooltip } from 'react-tooltip' - -import GestionAdministrative from "./GestionAdministrative"; -import { IoMdAddCircle, IoIosRemoveCircleOutline } from "react-icons/io"; -import { Fab } from "@material-ui/core"; -import { ConsoleView } from "react-device-detect"; -import fileDownload from 'js-file-download' +import { CiEdit, CiTrash } from "react-icons/ci"; import { IoAddCircleOutline, IoCloseCircleOutline } from "react-icons/io5"; import { AiOutlineUserAdd } from "react-icons/ai"; import PartnerClientActivite from "./PartnerClient_Activite"; import Popup from 'reactjs-popup'; import 'reactjs-popup/dist/index.css'; - +import ToggleSwitch from "./ToggleSwitch"; const AddParnerClient = (props) => { const history = useHistory(); @@ -380,6 +366,7 @@ const AddParnerClient = (props) => { const [addcontact, setaddcontact] = useState("0"); function Add_Contact() { + setis_contact_include_com(false); setdatamodification_contact("0"); setformedit_mode_contact("1"); clean_contact_set_values(); @@ -396,6 +383,7 @@ const AddParnerClient = (props) => { setdatamodification_invoice("0"); setformedit_mode_contact("0"); setcurrent_contact_recid(""); + setis_contact_include_com(false); } const [Get_List_Client_Type_api, setGet_List_Client_Type_api] = useState(); @@ -413,8 +401,8 @@ const AddParnerClient = (props) => { var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_Client_Type_List/"; axios.post(myurl, form).then(res => { - console.log(" In Get_List_Client_Type res.data.status = " + res.data.status); - console.log(" In Get_List_Client_Type res.data.message r_class = " + res.data.message); + //console.log(" In Get_List_Client_Type res.data.status = " + res.data.status); + //console.log(" In Get_List_Client_Type res.data.message r_class = " + res.data.message); if (String(res.data.status) === String("true")) { setGet_List_Client_Type_api("true"); @@ -536,7 +524,7 @@ const AddParnerClient = (props) => { setp_client_type_id(mylocalclient.client_type_id); setp_client_type_label(mylocalclient.client_type_code); - }else{ + } else { setp_client_type_id(""); setp_client_type_label(""); } @@ -1695,6 +1683,7 @@ const AddParnerClient = (props) => { function retour_liste_contact() { setaddcontact("0"); + setdatamodification_contact('0'); } @@ -1866,6 +1855,12 @@ const AddParnerClient = (props) => { } form.append("adr_pays", contact_pays); + var include_com = "0" + if (is_contact_include_com) { + include_com = "1"; + } + form.append("include_com", include_com); + var contact_telephone = "" if (document.getElementsByName("contact_telephone")) { @@ -1890,7 +1885,8 @@ const AddParnerClient = (props) => { Get_List_Contact_Of_client_Part(); setaddcontact("0"); - setdatamodification_contact("") + setdatamodification_contact(""); + setis_contact_include_com(false) alert(res.data.message); @@ -1947,8 +1943,8 @@ const AddParnerClient = (props) => { 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); + //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(); @@ -1976,6 +1972,15 @@ const AddParnerClient = (props) => { setp_contact_prenom(""); + setis_contact_include_com(false); + if (mylocalclient_contact.include_com){ + + if (String(mylocalclient_contact.include_com) === "1") + setis_contact_include_com(true); + } + + + if (mylocalclient_contact.siret) setcontact_siret(mylocalclient_contact.siret); else @@ -2068,6 +2073,65 @@ const AddParnerClient = (props) => { } + const [Delete_Part_Client_Contact_api, setDelete_Part_Client_Contact_api] = useState(""); + const [Delete_Part_Client_Contact_result, setDelete_Part_Client_Contact_result] = useState(""); + const [Delete_Part_Client_Contact_message, setDelete_Part_Client_Contact_message] = useState(""); + function Delete_Part_Client_Contact(event) { + + + var form = new FormData(); + + var contactmail = event.currentTarget.getAttribute('contactmail'); + + var contact_id = event.currentTarget.getAttribute('contact_id'); + + setelected_contact_id(contact_id); + + const stored_cookie = getCookie('tokenmysypart'); + form.append("token", stored_cookie); + form.append("_id", contact_id); + + form.append("related_collection", "partner_client"); + form.append("related_collection_owner_id", props.client_id); + + //console.log(" ### contactmail = ", contactmail); + + var myurl = process.env.REACT_APP_API_URL + "myclass/api/Delete_Given_Contact/"; + + axios.post(myurl, form).then(res => { + if (String(res.data.status) === String("true")) { + //console.log(" In Delete_Part_Client_Contact res.data.status = " + res.data.status); + //console.log(" In Delete_Part_Client_Contact res.data.message = " + res.data.message); + setDelete_Part_Client_Contact_api("true"); + setDelete_Part_Client_Contact_result(res.data.message); + Get_List_Contact_Of_client_Part(); + + + + } + else if (String(res.data.status) === String("Err_Connexion")) { + alert('Erreur: ' + res.data.message); + history.push("/Connexion"); + return; + } + else { + + setDelete_Part_Client_Contact_api("false"); + setDelete_Part_Client_Contact_message(res.data.message); + alert(res.data.message); + + } + + + }).catch((error) => { + console.warn('Not good man :( Delete_Part_Client_Contact = ', error); + setDelete_Part_Client_Contact_result("false"); + setDelete_Part_Client_Contact_message(" Impossible de recuperer les detail du contact") + alert(" Impossible de supprimer le contact"); + + }) + } + const [is_contact_include_com, setis_contact_include_com] = useState(false); return (
@@ -2403,7 +2467,7 @@ const AddParnerClient = (props) => { onChange={(e) => { setp_client_type_id(e.target.value); - + }} > @@ -2722,11 +2786,84 @@ 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) => ( -
- {(JSON.parse(client).nom || JSON.parse(client).prenom) && } - {JSON.parse(client).fonction && } - {JSON.parse(client).email && } - {JSON.parse(client).telephone && } +
+ {(JSON.parse(client).nom || JSON.parse(client).prenom) && + + + + } + modal + nested + position="center center" + > + {close => ( +
+ +
MySy Information
+
+ {' '} + + En confirmant cette opération, le contact sera définitivement supprimé.
+ + +
+
+
+ + +
+
+ +
+
+
+ )} + + + + + + + } + +
+
+
+
@@ -2975,6 +3112,31 @@ const AddParnerClient = (props) => { />
+ +
+
+
+ + +
+ + + +
+
 
diff --git a/src/components/Employes.js b/src/components/Employes.js index 3707753..99b3c25 100644 --- a/src/components/Employes.js +++ b/src/components/Employes.js @@ -318,6 +318,10 @@ const Employes = (props) => { { field: 'date_fin', headerName: 'Au', width: 150, hide: false, }, { field: 'type_contrat', headerName: 'Type Contrat', flex: 1, hide: false, width: 150, }, { field: 'type_employe', headerName: 'Type Employé', flex: 1, hide: false, width: 150, }, + { field: 'qte', headerName: 'Quanité', flex: 1, hide: true, width: 150, }, + { field: 'cout', headerName: 'Prix', flex: 1, hide: true, width: 150, }, + { field: 'comment', headerName: 'Commentaire', flex: 1, hide: true, width: 150, }, + { field: "delete", headerName: 'Supprimer', @@ -515,14 +519,14 @@ const Employes = (props) => { form.append("rh_id", local_employe_id); - var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_List_Employee_Contrat/"; - + setLoading(true); axios.post(myurl, form).then(res => { if (String(res.data.status) === String("true")) { + setLoading(false); //console.log(" In Getall_Employee_Contrat res.data.status = " + res.data.status); //console.log(" In Getall_Employee_Contrat res.data.message r_class = " + res.data.message); setGetall_Employee_Contrat_api("true"); @@ -536,6 +540,7 @@ const Employes = (props) => { } }).catch((error) => { + setLoading(false); console.warn('Not good man :( Getall_Employee_Contrat = ', error); setGetall_Employee_Contrat_api("false"); alert(" Impossible de recuperer les contrat de l'employé"); @@ -545,6 +550,47 @@ const Employes = (props) => { + + const [Getall_Employee_Type_Contrat_api, setGetall_Employee_Type_Contrat_api] = useState(); + const [Getall_Employee_Type_Contrat_message, setGetall_Employee_Type_Contrat_message] = useState(); + const [Getall_Employee_Type_Contrat_result, setGetall_Employee_Type_Contrat_result] = useState([]); + function Getall_Employee_Type_Contrat() { + + 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_Type_Contrat_List/"; + + setLoading(true); + axios.post(myurl, form).then(res => { + + if (String(res.data.status) === String("true")) { + setLoading(false); + //console.log(" In Getall_Employee_Type_Contrat res.data.status = " + res.data.status); + //console.log(" In Getall_Employee_Type_Contrat res.data.message r_class = " + res.data.message); + setGetall_Employee_Type_Contrat_api("true"); + setGetall_Employee_Type_Contrat_result(res.data.message); + + } + else { + setGetall_Employee_Type_Contrat_api("false"); + setGetall_Employee_Type_Contrat_message(res.data.message); + alert(res.data.message) + } + + }).catch((error) => { + setLoading(false); + console.warn('Not good man :( Getall_Employee_Type_Contrat = ', error); + setGetall_Employee_Type_Contrat_api("false"); + alert(" Impossible de recuperer les contrat de l'employé"); + //setmyApimyApiMessage("") + }) + } + + function clean_all_filters() { setp_filtre1(); setp_filtre1_value(); @@ -705,6 +751,9 @@ const Employes = (props) => { //console.log(" ### employe_id = ", employe_id); Display_Detail_Employe(employe_id); + Get_List_Managers(); + Get_List_RH_Profils(); + Get_Employee_Related_Target_Collection_Data(); if (document.getElementById('myRef')) { var divh = document.getElementById('myRef').offsetTop; @@ -2142,11 +2191,22 @@ const Employes = (props) => { const [Employee_data_changed, setEmployee_data_changed] = useState(); const [add_One_Employee, setadd_One_Employee] = useState(); + + const myRef_new_employee = useRef(null) + function submenu_add_one_employee() { setdisplay_detail_employe(); setadd_One_Employee("1"); setsubmenu("detail_employe"); + if (document.getElementById('myRef_new_employee')) { + var divh = document.getElementById('myRef_new_employee').offsetTop; + window.scrollTo({ + top: divh, + behavior: "smooth", + }); + } + } function Annule_add_one_Employee() { @@ -3795,10 +3855,12 @@ const Employes = (props) => { const Dialog_employe_contrat_handleClose_buton = () => { - setp_employe_contrat_type_contrat(); - setp_employe_contrat_type_employe(); - setp_employe_contrat_cout(); - setp_employe_contrat_groupe_prix_achat_id(); + setp_employe_contrat_type_contrat(""); + setp_employe_contrat_type_employe(""); + setp_employe_contrat_cout(""); + setp_employe_contrat_comment(""); + setp_employe_contrat_groupe_prix_achat_id(""); + setp_employe_contrat_quantite(""); setp_employe_contrat_date_debut(new Date().toLocaleDateString('fr-FR')); setp_employe_contrat_date_fin(date_today_90j.toLocaleDateString('fr-FR')); setselected_contrat_id(""); @@ -3874,8 +3936,10 @@ const Employes = (props) => { const [p_employe_contrat_type_employe, setp_employe_contrat_type_employe] = useState(""); const [p_employe_contrat_cout, setp_employe_contrat_cout] = useState(""); const [p_employe_contrat_groupe_prix_achat_id, setp_employe_contrat_groupe_prix_achat_id] = useState(""); + const [p_employe_contrat_quantite, setp_employe_contrat_quantite] = useState(""); const [p_employe_contrat_date_debut, setp_employe_contrat_date_debut] = useState(new Date().toLocaleDateString('fr-FR')); const [p_employe_contrat_date_fin, setp_employe_contrat_date_fin] = useState(date_today_90j.toLocaleDateString('fr-FR')); + const [p_employe_contrat_comment, setp_employe_contrat_comment] = useState(""); const [Get_Partner_Purchase_Prices_api, setGet_Partner_Purchase_Prices_api] = useState(); const [Get_Partner_Purchase_Prices_message, setGet_Partner_Purchase_Prices_message] = useState(); @@ -3930,10 +3994,21 @@ const Employes = (props) => { setp_employe_contrat_type_contrat(line.type_contrat); setp_employe_contrat_type_employe(line.type_employe); setp_employe_contrat_cout(line.cout); + + setp_employe_contrat_comment(line.comment); + + setp_employe_contrat_groupe_prix_achat_id(line.groupe_prix_achat_id); + setp_employe_contrat_quantite(line.qte); + + if (String(line.qte) !== "") + settype_contrat_qte("1"); + setp_employe_contrat_date_debut(line.date_debut); setp_employe_contrat_date_fin(line.date_fin); + + Getall_Employee_Type_Contrat(); setDialog_employe_contrat_open(true); } @@ -3949,6 +4024,9 @@ const Employes = (props) => { const stored_cookie = getCookie('tokenmysypart'); form.append("token", stored_cookie); + if (String(p_employe_contrat_comment).length > 255) { + alert(" Le commentaire du contrat ne doit pas depasser 255 caractères") + } var myurl = ""; @@ -3962,7 +4040,9 @@ const Employes = (props) => { form.append("type_contrat", p_employe_contrat_type_contrat); form.append("type_employe", p_employe_contrat_type_employe); form.append("cout", p_employe_contrat_cout); + form.append("quantite", p_employe_contrat_quantite); form.append("groupe_prix_achat_id", p_employe_contrat_groupe_prix_achat_id); + form.append("comment", p_employe_contrat_comment); @@ -3976,7 +4056,9 @@ const Employes = (props) => { form.append("type_contrat", p_employe_contrat_type_contrat); form.append("type_employe", p_employe_contrat_type_employe); form.append("cout", p_employe_contrat_cout); + form.append("quantite", p_employe_contrat_quantite); form.append("groupe_prix_achat_id", p_employe_contrat_groupe_prix_achat_id); + form.append("comment", p_employe_contrat_comment); } setLoading(true); @@ -4019,6 +4101,7 @@ const Employes = (props) => { } const myRef_contrat = useRef(null) + const [type_contrat_qte, settype_contrat_qte] = useState(); return (
@@ -4232,12 +4315,20 @@ const Employes = (props) => { onChange={(e) => { setp_employe_contrat_type_contrat(e.target.value); setdialog_contrat_data_changed("1"); + var result2 = Getall_Employee_Type_Contrat_result.filter((val) => JSON.parse(val).code === String(e.target.value)); + settype_contrat_qte(JSON.parse(result2[0]).quantitatif); + } } > - CDI   - CDD   - Autre   + {Getall_Employee_Type_Contrat_result && + Getall_Employee_Type_Contrat_result.map((step) => ( + + {JSON.parse(step).description}  + + + ))}
@@ -4314,47 +4405,79 @@ const Employes = (props) => {
-
Groupe de Prix d'Achat - + +
Groupe de Prix d'Achat + { - setp_employe_contrat_groupe_prix_achat_id(e.target.value); - setdialog_contrat_data_changed("1"); - } - } - > - {Get_Partner_Purchase_Prices_result && - Get_Partner_Purchase_Prices_result.map((myclient) => ( - - {JSON.parse(myclient).code_groupe_prix}  + value={p_employe_contrat_groupe_prix_achat_id} + onChange={(e) => { + setp_employe_contrat_groupe_prix_achat_id(e.target.value); + setdialog_contrat_data_changed("1"); + } + } + > + {Get_Partner_Purchase_Prices_result && + Get_Partner_Purchase_Prices_result.map((myclient) => ( + + {JSON.parse(myclient).code_groupe_prix}  - + - ))} - - Autre + ))} + + Autre - + - + +
+
+ + + + {String(type_contrat_qte) === "1" &&
Quantité + + + { + setp_employe_contrat_quantite(e.target.value); + setdialog_contrat_data_changed("1"); + } + } + /> +
+ } + {String(p_employe_contrat_groupe_prix_achat_id) === "" &&
Prix + + + { } } /> +
} +
Commentaire + { + if (String(e.target.value).length <= 255) { + setp_employe_contrat_cout(e.target.value); + setdialog_contrat_data_changed("1"); + } + } + } + /> +
+ {String(dialog_contrat_data_changed) === "1" &&
/!\ Pensez à enregistrer les modifications @@ -5723,7 +5869,7 @@ const Employes = (props) => {
} - + {String(submenu) === "detail_employe" && String(add_One_Employee) === "1" &&
@@ -7024,6 +7170,10 @@ const Employes = (props) => { date_fin: JSON.parse(item).date_fin, type_contrat: JSON.parse(item).type_contrat, type_employe: JSON.parse(item).type_employe, + qte: JSON.parse(item).quantite, + cout: JSON.parse(item).cout, + comment: JSON.parse(item).comment, + } ))} @@ -7058,14 +7208,18 @@ const Employes = (props) => {
-
+
  @@ -638,7 +640,7 @@ const Partner_Client = (props) => { color: "black", fontSize: 14 }, - + '& .line--statut--selected': { backgroundColor: '#FBF2EF', color: 'black', @@ -702,10 +704,10 @@ const Partner_Client = (props) => { if (String(params.row.id) === String(gridline_id)) { return 'line--statut--selected'; } - else if( parseInt(String(params.row.id)) % 2 === 0){ + else if (parseInt(String(params.row.id)) % 2 === 0) { return 'line--statut--pair'; } - else if( parseInt(String(params.row.id)) % 2 !== 0){ + else if (parseInt(String(params.row.id)) % 2 !== 0) { return 'line--statut--impair'; } }} diff --git a/src/styles/components/_addpartnerclient.scss b/src/styles/components/_addpartnerclient.scss index e8a730d..aed6f1b 100644 --- a/src/styles/components/_addpartnerclient.scss +++ b/src/styles/components/_addpartnerclient.scss @@ -14,7 +14,7 @@ @media only screen and (max-width: 600px) { - + .div_row { float: left; //border:0px solid black; @@ -189,7 +189,7 @@ } @media only screen and (min-width: 601px) and (max-width: 991px) { - + .div_row { float: left; //border:0px solid black; @@ -364,7 +364,7 @@ } @media only screen and (min-width: 992px) and (max-width: 1199px) { - + .div_row { float: left; //border:0px solid black; @@ -630,7 +630,7 @@ margin: 5px !important; margin-bottom: 1rem !important; } - + .bton_suppr { background: transparent; color: red; @@ -713,6 +713,14 @@ } } + // end media + .hr_break { + border: 5px solid grey; + } + + .switch{ + max-height: 1.5rem !important; + } .contact_grid { margin-right: 10px !important; diff --git a/src/styles/components/_partner_client_activite.scss b/src/styles/components/_partner_client_activite.scss index 9ba5ce6..7e806e7 100644 --- a/src/styles/components/_partner_client_activite.scss +++ b/src/styles/components/_partner_client_activite.scss @@ -192,7 +192,6 @@ border: none !important; background: none !important; box-shadow: 1px 1px 10px 1px rgb(0 0 0 / 15%); - cursor: pointer; vertical-align: middle; padding: 10px; text-align: left; @@ -460,7 +459,6 @@ border: none !important; background: none !important; box-shadow: 1px 1px 10px 1px rgb(0 0 0 / 15%); - cursor: pointer; vertical-align: middle; padding: 10px; text-align: left; @@ -726,7 +724,6 @@ border: none !important; background: none !important; box-shadow: 1px 1px 10px 1px rgb(0 0 0 / 15%); - cursor: pointer; vertical-align: middle; padding: 10px; text-align: left; @@ -1014,7 +1011,6 @@ border: none !important; background: none !important; box-shadow: 1px 1px 10px 1px rgb(0 0 0 / 15%); - cursor: pointer; vertical-align: middle; padding: 10px; text-align: left;