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) => (
+
+ ))}
+
+
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é.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ )}
+
+
+
+
+
+
+ }
+
+
+
+
+
+
+ {JSON.parse(client).fonction && {String(JSON.parse(client).fonction)} }
+ {JSON.parse(client).email && {String(JSON.parse(client).email)} }
+ {JSON.parse(client).telephone && {String(JSON.parse(client).telephone)} }
+
@@ -2975,6 +3112,31 @@ const AddParnerClient = (props) => {
/>
+
+
+
+
+
+
+
+
+ {
+ DataUpdated_Contact_Data();
+ setformedit_mode_contact("1");
+ //console.log("is_contact_include_com == ", is_contact_include_com);
+ if (is_contact_include_com === true)
+ setis_contact_include_com(false)
+ else
+ setis_contact_include_com(true)
+
+ }}
+ id="toggleSwitchNav" name="toggleSwitchNav">
+
+
+
+
+
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);
+
}
}
>
-
-
-
+ {Getall_Employee_Type_Contrat_result &&
+ Getall_Employee_Type_Contrat_result.map((step) => (
+
+ ))}
@@ -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) => (
-
- ))}
-
- Autre
+ ))}
+
+ Autre
-
+
-
+
+
+
+
+
+
+ {String(type_contrat_qte) === "1" &&
+ }
+
{String(p_employe_contrat_groupe_prix_achat_id) === "" &&
}
+
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;