recette2
cherif 2024-09-06 15:44:09 +02:00
parent 4a78dfba68
commit 27046bfce7
8 changed files with 1211 additions and 257 deletions

View File

@ -4654,7 +4654,8 @@ const AddParnerClient = (props) => {
{String(submenu).trim() === "submenu_activite" && <div className="training_data"> {String(submenu).trim() === "submenu_activite" && <div className="training_data">
< PartnerClientActivite email={p_client_email} conntected_employee_id={props.conntected_employee_id} /> <PartnerClientActivite email={p_client_email} conntected_employee_id={props.conntected_employee_id}
related_collection={"partner_client"} />
</div>} </div>}
{String(submenu).trim() === "submenu_piece_jointe" && <div className="training_data"> {String(submenu).trim() === "submenu_piece_jointe" && <div className="training_data">

View File

@ -527,9 +527,7 @@ const CRM_Opportunite = (props) => {
local_opport_chanel_label[String(local_opport_chanel[i])] = temp_val[0].toUpperCase() + temp_val.slice(1); local_opport_chanel_label[String(local_opport_chanel[i])] = temp_val[0].toUpperCase() + temp_val.slice(1);
} }
setOpportunite_chanel_label(local_opport_chanel_label); setOpportunite_chanel_label(local_opport_chanel_label);
} }
else { else {
setGetall_Partner_CRM_Opport_Step_api("false"); setGetall_Partner_CRM_Opport_Step_api("false");
@ -1358,6 +1356,8 @@ const CRM_Opportunite = (props) => {
// MySy Comment : quand on change la position d'une tache, dans cette fonction on appel l'api de mise à jour // MySy Comment : quand on change la position d'une tache, dans cette fonction on appel l'api de mise à jour
const changeTaskStatus = useCallback( const changeTaskStatus = useCallback(
(id, status) => { (id, status) => {
let task = tasks.find(task => task._id === id); let task = tasks.find(task => task._id === id);
const taskIndex = tasks.indexOf(task); const taskIndex = tasks.indexOf(task);
task = { ...task, status }; task = { ...task, status };
@ -1958,7 +1958,7 @@ const CRM_Opportunite = (props) => {
<Button onClick={Dialog_OPPORTUNITE_handleClose_buton} className="bton_annule_dialog" >Fermer</Button> <Button onClick={Dialog_OPPORTUNITE_handleClose_buton} className="bton_annule_dialog" >Fermer</Button>
</div> </div>
<div className="div_row"> {selected_id && String(selected_id).length > 2 && <div className="div_row">
<div className="div_row" style={{ "textAlign": "center", "marginTop": "10px" }}> <div className="div_row" style={{ "textAlign": "center", "marginTop": "10px" }}>
<Button onClick={(e) => { <Button onClick={(e) => {
const response = window.confirm("Confirmez-vous la suppression de l'opportunité ?"); const response = window.confirm("Confirmez-vous la suppression de l'opportunité ?");
@ -1971,7 +1971,7 @@ const CRM_Opportunite = (props) => {
</div> </div>
</div> </div>}
</div> </div>
</DialogActions> </DialogActions>

View File

@ -191,6 +191,8 @@ const Module_Activite = (props) => {
} }
const [nb_activite_en_retard, setnb_activite_en_retard] = useState("");
// Recuperation des activités du client d'un partner // Recuperation des activités du client d'un partner
const [Get_List_Activite_Of_client_Part_api, setGet_List_Activite_Of_client_Part_api] = useState(); const [Get_List_Activite_Of_client_Part_api, setGet_List_Activite_Of_client_Part_api] = useState();
const [Get_List_Activite_Of_client_Part_message, setGet_List_Activite_Of_client_Part_message] = useState(); const [Get_List_Activite_Of_client_Part_message, setGet_List_Activite_Of_client_Part_message] = useState();
@ -216,7 +218,7 @@ const Module_Activite = (props) => {
if (String(res.data.status) === String("true")) { if (String(res.data.status) === String("true")) {
setGet_List_Activite_Of_client_Part_api("true"); setGet_List_Activite_Of_client_Part_api("true");
setGet_List_Activite_Of_client_Part_result(res.data.message); setGet_List_Activite_Of_client_Part_result(res.data.message);
setnb_activite_en_retard(res.data.nb_activite_en_retard);
} }
else if (String(res.data.status) === String("Err_Connexion")) { else if (String(res.data.status) === String("Err_Connexion")) {
alert('Erreur: ' + res.data.message); alert('Erreur: ' + res.data.message);

View File

@ -125,6 +125,21 @@ import Partner_Product_Service from "./Partner_Product_Service";
import Module_Email_Management from "./Module_Email_Management"; import Module_Email_Management from "./Module_Email_Management";
import ForwardToInboxIcon from '@mui/icons-material/ForwardToInbox'; import ForwardToInboxIcon from '@mui/icons-material/ForwardToInbox';
import Badge from '@mui/material/Badge';
import { styled } from '@mui/material/styles';
import IconButton from '@mui/material/IconButton';
import ShoppingCartIcon from '@mui/icons-material/ShoppingCart';
const StyledBadge = styled(Badge)(({ theme }) => ({
'& .MuiBadge-badge': {
right: 0,
top: 0,
border: `2px solid ${theme.palette.background.paper}`,
padding: '0 4px',
},
}));
const Partner = (props) => { const Partner = (props) => {
const { commingmenu, commingpack } = useParams(); const { commingmenu, commingpack } = useParams();
const [myApiResponse, setmyApiResponse] = useState(""); const [myApiResponse, setmyApiResponse] = useState("");
@ -525,7 +540,7 @@ const Partner = (props) => {
setmenu("monactivite"); setmenu("monactivite");
setapiexcelimportmessage(); setapiexcelimportmessage();
setformation_file_name(); setformation_file_name();
history.push("/Partner/infopartner"); history.push("/Partner/monactivite");
document.body.style.backgroundColor = "#ffffff"; document.body.style.backgroundColor = "#ffffff";
inactive_active_menu_header("monactivite"); inactive_active_menu_header("monactivite");
@ -1200,6 +1215,8 @@ const Partner = (props) => {
const [formation_initiale, setformation_initiale] = useState(""); const [formation_initiale, setformation_initiale] = useState("");
const [document_super_admin, setdocument_super_admin] = useState(""); const [document_super_admin, setdocument_super_admin] = useState("");
const [conntected_employee_activite_retard, setconntected_employee_activite_retard] = useState("");
const [conntected_employee_email, setconntected_employee_email] = useState("");
const [conntected_employee_id, setconntected_employee_id] = useState(""); const [conntected_employee_id, setconntected_employee_id] = useState("");
function GetPartnerNameFromToken(event) { function GetPartnerNameFromToken(event) {
@ -1217,6 +1234,13 @@ const Partner = (props) => {
//console.log(" In GetPartnerNameFromToken res.data.message = " + res.data.message); //console.log(" In GetPartnerNameFromToken res.data.message = " + res.data.message);
setparntername(JSON.parse(res.data.message).nom); setparntername(JSON.parse(res.data.message).nom);
setconntected_employee_email(JSON.parse(res.data.message).email);
if (JSON.parse(res.data.message).nb_activite_retard)
setconntected_employee_activite_retard(JSON.parse(res.data.message).nb_activite_retard)
else
setconntected_employee_activite_retard("")
if (JSON.parse(res.data.message).pack_service) { if (JSON.parse(res.data.message).pack_service) {
@ -1495,6 +1519,10 @@ const Partner = (props) => {
} }
function update_nb_activite_en_retard(new_val) {
setconntected_employee_activite_retard(String(new_val));
}
return ( return (
<div className="partner"> <div className="partner">
@ -1591,6 +1619,7 @@ const Partner = (props) => {
<label for="files" className="label">Changer image</label> <label for="files" className="label">Changer image</label>
</div>} </div>}
{isimgSelected && <div className="nonlable"> {isimgSelected && <div className="nonlable">
@ -1598,12 +1627,30 @@ const Partner = (props) => {
</div>} </div>}
{String(part_is_partner_admin_account) === "1" && <div className="nom_prenom"> {parntername && <b> {parntername}&nbsp;-&nbsp;{String(partnerPackService).toUpperCase()} ({parnternbformation})</b>} {String(part_is_partner_admin_account) === "1" && <div className="nom_prenom">
{parntername && <nav>
<b> {parntername}&nbsp;-&nbsp;{String(partnerPackService).toUpperCase()} ({parnternbformation})</b> &nbsp; &nbsp;
{conntected_employee_activite_retard && parseFloat(conntected_employee_activite_retard) > 0 &&
<StyledBadge badgeContent={conntected_employee_activite_retard} color="secondary" style={{ "cursor": "pointer" }}
onClick={(event) => {
monactivite_func();
}}></StyledBadge>}
</nav>}
{!parntername && <b> Partenaire </b>} </div>} {!parntername && <b> Partenaire </b>} </div>}
{String(part_is_partner_admin_account) !== "1" && <div className="nom_prenom"> {parnter_user_employee} {String(part_is_partner_admin_account) !== "1" && <div className="nom_prenom">
{!parntername && <b> Utilisateur </b>} </div>} {parnter_user_employee}
{!parntername && <b> Utilisateur </b>} &nbsp; &nbsp;
{conntected_employee_activite_retard && parseFloat(conntected_employee_activite_retard) > 0 &&
<StyledBadge badgeContent={conntected_employee_activite_retard} color="secondary" style={{ "cursor": "pointer" }}
onClick={(event) => {
monactivite_func();
}}></StyledBadge>}
</div>}
{String(formation_initiale) === "1" && <div className="nom_prenom"> Ftion Initiale {String(formation_initiale) === "1" && <div className="nom_prenom"> Ftion Initiale
@ -1615,6 +1662,8 @@ const Partner = (props) => {
<div> <div>
<Sidebar className="my_sidebar"> <Sidebar className="my_sidebar">
<Menu className="my_menu"> <Menu className="my_menu">
<SubMenu label="Mon Compte" className="my_chart" id="my_account" name="my_account" icon={<AccountBalanceIcon color={"primary"} />} style={{ overflow: 'hidden' }}> <SubMenu label="Mon Compte" className="my_chart" id="my_account" name="my_account" icon={<AccountBalanceIcon color={"primary"} />} style={{ overflow: 'hidden' }}>
{String(menu) !== "infopartner" && <MenuItem onClick={PersonnalData} className="sousmenu" icon={<FcHome className="icone_menu" />}> MES INFORMATIONS </MenuItem>} {String(menu) !== "infopartner" && <MenuItem onClick={PersonnalData} className="sousmenu" icon={<FcHome className="icone_menu" />}> MES INFORMATIONS </MenuItem>}
{String(menu) === "infopartner" && <MenuItem onClick={PersonnalData} className="sousmenu_selected" icon={<FcHome className="icone_menu" />}> MES INFORMATIONS </MenuItem>} {String(menu) === "infopartner" && <MenuItem onClick={PersonnalData} className="sousmenu_selected" icon={<FcHome className="icone_menu" />}> MES INFORMATIONS </MenuItem>}
@ -2361,7 +2410,8 @@ const Partner = (props) => {
} }
{String(menu) === "monactivite" && <div className="div_droite"> {String(menu) === "monactivite" && <div className="div_droite">
<PartnerClientActivite conntected_employee_id={conntected_employee_id} check_user_acces_right={check_user_acces_right} email={""} /> <PartnerClientActivite conntected_employee_id={conntected_employee_id} check_user_acces_right={check_user_acces_right}
email={conntected_employee_email} related_collection={"partnair_account"} update_nb_activite_en_retard={update_nb_activite_en_retard} />
</div> </div>
} }

File diff suppressed because it is too large Load Diff

View File

@ -50,12 +50,11 @@
text-align: center; text-align: center;
margin-bottom: 0.8rem; margin-bottom: 0.8rem;
color: white; color: white;
cursor: pointer; cursor: unset;
font-style: italic; font-style: italic;
background-color: gray; background-color: gray;
font-weight: normal; font-weight: normal;
float: left; padding: 2px !important;
width: 100%;
} }
@ -281,7 +280,12 @@
float: left; float: left;
margin-bottom: 1.5rem; margin-bottom: 1.5rem;
} }
.mode_affichage {
width: 25%;
float: right;
cursor: pointer;
}
} }
@ -317,12 +321,11 @@
text-align: center; text-align: center;
margin-bottom: 0.8rem; margin-bottom: 0.8rem;
color: white; color: white;
cursor: pointer; cursor: unset;
font-style: italic; font-style: italic;
background-color: gray; background-color: gray;
font-weight: normal; font-weight: normal;
float: left; padding: 2px !important;
width: 100%;
} }
@ -519,6 +522,8 @@
border-top-right-radius: 10px !important; border-top-right-radius: 10px !important;
height: 8rem !important; height: 8rem !important;
font-size: small; font-size: small;
width: 96%;
margin-left: 2%;
} }
.scroll_mysy { .scroll_mysy {
@ -548,6 +553,15 @@
float: left; float: left;
margin-bottom: 1.5rem; margin-bottom: 1.5rem;
} }
.mode_affichage {
width: 15%;
float: right;
cursor: pointer;
}
} }
@media only screen and (min-width: 992px) and (max-width: 1199px) { @media only screen and (min-width: 992px) and (max-width: 1199px) {
@ -582,12 +596,11 @@
text-align: center; text-align: center;
margin-bottom: 0.8rem; margin-bottom: 0.8rem;
color: white; color: white;
cursor: pointer; cursor: unset;
font-style: italic; font-style: italic;
background-color: gray; background-color: gray;
font-weight: normal; font-weight: normal;
float: left; padding: 2px !important;
width: 100%;
} }
@ -778,6 +791,8 @@
border-top-right-radius: 10px !important; border-top-right-radius: 10px !important;
height: 8rem !important; height: 8rem !important;
font-size: small; font-size: small;
width: 96%;
margin-left: 2%;
} }
.detail_activite:hover { .detail_activite:hover {
@ -814,6 +829,13 @@
margin-bottom: 1.5rem; margin-bottom: 1.5rem;
} }
.mode_affichage {
width: 12%;
float: right;
cursor: pointer;
}
} }
@media only screen and (min-width: 1200px) { @media only screen and (min-width: 1200px) {
@ -849,12 +871,11 @@
text-align: center; text-align: center;
margin-bottom: 0.8rem; margin-bottom: 0.8rem;
color: white; color: white;
cursor: pointer; cursor: unset;
font-style: italic; font-style: italic;
background-color: gray; background-color: gray;
font-weight: normal; font-weight: normal;
float: left; padding: 2px !important;
width: 100%;
} }
@ -1061,7 +1082,8 @@
vertical-align: middle; vertical-align: middle;
padding: 5px; padding: 5px;
text-align: left; text-align: left;
width: 20rem; width: 96%;
margin-left: 2%;
border-radius: 10px !important; border-radius: 10px !important;
height: 7rem !important; height: 7rem !important;
font-size: small; font-size: small;
@ -1105,6 +1127,11 @@
padding-top: 0px !important; padding-top: 0px !important;
padding-bottom: 0px !important; padding-bottom: 0px !important;
} }
.mode_affichage {
width: 8%;
float: right;
cursor: pointer;
}
} }