11/05/2026 -22h

branche_01062025
Cherif 2026-05-11 22:15:34 +02:00
parent c79a114eeb
commit a762da8cb5
9 changed files with 2744 additions and 938 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -25458,7 +25458,7 @@ const DisplayPartnerSession = (props) => {
<div style={{ "border": "None" }}>
<h3 style={{ fontFamily: 'DM Sans' }}> Affichage planning </h3>
&nbsp;
<div style={{ "width": "98%", "marginLeft": "5px", }}>
<FullCalendar
height={550}

View File

@ -975,7 +975,7 @@ const Module_Agenda = (props) => {
form.append("event_type", p_detail_event_type);
form.append("justified", p_detail_justified);
//console.log(" form == ", form);
//console.log(" form == ", form);
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Add_Update_Agenda_Event/";
@ -1237,7 +1237,7 @@ const Module_Agenda = (props) => {
{ "id": "1", "label": "Planning", "value": "planning" },
{ "id": "preparation", "label": "Préparation", "value": "preparation" },
{ "id": "suivi", "label": "Suivi/Correction", "value": "suivi" },
{ "id": "eval", "label": "Evaluation", "value": "eval" },
{ "id": "eval", "label": "Evaluation", "value": "eval" },
{ "id": "2", "label": "Autre", "value": "autre" },
]
@ -1461,7 +1461,7 @@ const Module_Agenda = (props) => {
</div>
<nav style={{ "float": "left", "width": "100%" }}>
<div className="session_caract_Dialog" style={{ width: '50%' }}> Debut <br/>
<div className="session_caract_Dialog" style={{ width: '50%' }}> Debut <br />
<DatePicker
name="event_dialog_start"
id="event_dialog_start"
@ -1486,7 +1486,7 @@ const Module_Agenda = (props) => {
</div>
<div className="session_caract_Dialog" style={{ width: '50%' }}> Fin <br/>
<div className="session_caract_Dialog" style={{ width: '50%' }}> Fin <br />
<DatePicker
name="event_dialog_end"
id="event_dialog_end"
@ -1556,113 +1556,93 @@ const Module_Agenda = (props) => {
</IconButton>
<div className="div_row">
{/*** Si l'agenda d'une autre personne, je dois etre autorisé à ecrire */}
{String(agenda_owner_name) !== "Mon Planning" && String(p_filtre1) === "ressource_humaine" && String(props.check_user_acces_right("agenda_employes", "write")) === "1" &&
<div className="div_row_gauche">
{p_detail_event_id && String(p_detail_event_id) !== "" && <Button onClick={Update_One_Agenda_Event} className="bton_enreg_dialog">Mettre à jour</Button>}
{(!p_detail_event_id || String(p_detail_event_id) === "") && <Button onClick={Update_One_Agenda_Event} className="bton_enreg_dialog">Ajouter</Button>}
</div>}
{/*** Si l'agenda d'un materiel, je dois etre autorisé à ecrire */}
{String(agenda_owner_name) !== "Mon Planning" && String(p_filtre1) === "ressource_materielle" && String(props.check_user_acces_right("agenda_materiel_salle", "write")) === "1" &&
<div className="div_row_gauche">
{p_detail_event_id && String(p_detail_event_id) !== "" && <Button onClick={Update_One_Agenda_Event} className="bton_enreg_dialog">Mettre à jour</Button>}
{(!p_detail_event_id || String(p_detail_event_id) === "") && <Button onClick={Update_One_Agenda_Event} className="bton_enreg_dialog">Ajouter</Button>}
</div>}
{/*** Si c'est mon agenda, j'ai tous les droit */}
{String(agenda_owner_name) === "Mon Planning" &&
<div className="div_row_gauche">
{p_detail_event_id && String(p_detail_event_id) !== "" && <Button onClick={Update_One_Agenda_Event} className="bton_enreg_dialog">Mettre à jour</Button>}
{(!p_detail_event_id || String(p_detail_event_id) === "") && <Button onClick={Update_One_Agenda_Event} className="bton_enreg_dialog">Ajouter</Button>}
</div>}
<div className="div_row_droite" style={{ "textAlign": 'center' }}>
<Button onClick={Close_Dialog_Detail_Event_open} className="bton_annule_dialog" >Fermer</Button>
</div>
</div>
{/* <div className="div_row">
{String(setagenda_owner_name) !== "setagenda_owner_name" && String(props.write_access) === "1" && String(p_detail_sequence_session_id) === "" && <div className="div_row_gauche">
{p_detail_event_id && String(p_detail_event_id) !== "" && <Button onClick={Update_One_Agenda_Event} className="bton_enreg_dialog">Mettre à jour</Button>}
{(!p_detail_event_id || String(p_detail_event_id) === "") && <Button onClick={Update_One_Agenda_Event} className="bton_enreg_dialog">Ajouter</Button>}
{/*** Si l'agenda d'une autre personne, je dois etre autorisé à ecrire */}
{String(agenda_owner_name) !== "Mon Planning" && String(p_filtre1) === "ressource_humaine" && String(props.check_user_acces_right("agenda_employes", "write")) === "1" &&
<div className="div_row_gauche">
{p_detail_event_id && String(p_detail_event_id) !== "" && <Button onClick={Update_One_Agenda_Event} className="bton_enreg_dialog" style={{ width: '40%', float: 'left' }}>M.A.J</Button>}
{(!p_detail_event_id || String(p_detail_event_id) === "") && <Button onClick={Update_One_Agenda_Event} className="bton_enreg_dialog" style={{ float: 'left' }}>Ajouter</Button>}
</div>}
<div className="div_row_droite" style={{ "textAlign": 'center' }}>
<Button onClick={Close_Dialog_Detail_Event_open} className="bton_annule_dialog" >Fermer</Button>
</div>
</div>*/}
{/*** Si l'agenda d'un materiel, je dois etre autorisé à ecrire */}
{String(agenda_owner_name) !== "Mon Planning" && String(p_filtre1) === "ressource_materielle" && String(props.check_user_acces_right("agenda_materiel_salle", "write")) === "1" &&
<div className="div_row_gauche">
{p_detail_event_id && String(p_detail_event_id) !== "" && <Button onClick={Update_One_Agenda_Event} className="bton_enreg_dialog" style={{ width: '40%', float: 'left' }}>M.A.J</Button>}
{(!p_detail_event_id || String(p_detail_event_id) === "") && <Button onClick={Update_One_Agenda_Event} className="bton_enreg_dialog" style={{ float: 'left' }}>Ajouter</Button>}
</div>}
{/*** Si c'est mon agenda, j'ai tous les droit */}
{String(agenda_owner_name) === "Mon Planning" &&
<div className="div_row_gauche">
{p_detail_event_id && String(p_detail_event_id) !== "" && <Button onClick={Update_One_Agenda_Event} className="bton_enreg_dialog" style={{ width: '40%', float: 'left' }}>M.A.J</Button>}
{(!p_detail_event_id || String(p_detail_event_id) === "") && <Button onClick={Update_One_Agenda_Event} className="bton_enreg_dialog" style={{ float: 'left' }}>Ajouter</Button>}
</div>}
{String(p_detail_sequence_session_id) !== "" && <div className="div_row_droite" style={{ "textAlign": 'center' }}>
<Button onClick={Close_Dialog_Detail_Event_open} className="bton_annule_dialog" style={{ width: '40%', float: 'right' }}>Fermer</Button>
</div>}
{String(props.write_access) === "1" && String(p_detail_sequence_session_id) === "" && p_detail_event_id && String(p_detail_event_id) !== "" &&
String(agenda_owner_name) !== "Mon Planning" && String(p_filtre1) === "ressource_humaine" && String(props.check_user_acces_right("agenda_employes", "write")) === "1" &&
<div className="div_row_droite" style={{ "textAlign": "center" }}>
<Button onClick={Close_Dialog_Detail_Event_open} className="bton_annule_dialog" style={{ width: '40%', float: 'right' }}>Fermer</Button>
<Button onClick={(e) => {
const response = window.confirm("Confirmez-vous la suppression de l'événement ?");
if (!response) {
return;
}
Delete_One_Agenda_Event();
}
} className="bton_supprime_dialog" style={{ width: '40%', float: 'right' }}>Supprimer</Button>
</div>}
{String(props.write_access) === "1" && String(p_detail_sequence_session_id) === "" && p_detail_event_id && String(p_detail_event_id) !== "" &&
String(agenda_owner_name) !== "Mon Planning" && String(p_filtre1) === "ressource_materielle" && String(props.check_user_acces_right("agenda_materiel_salle", "write")) === "1" &&
<div className="div_row_droite" style={{ "textAlign": "center" }}>
<Button onClick={Close_Dialog_Detail_Event_open} className="bton_annule_dialog" style={{ width: '40%', float: 'right' }}>Fermer</Button>
<Button onClick={(e) => {
const response = window.confirm("Confirmez-vous la suppression de l'événement ?");
if (!response) {
return;
}
Delete_One_Agenda_Event();
}
} className="bton_supprime_dialog" style={{ width: '40%', float: 'right' }}>Supprimer</Button>
</div>}
{String(props.write_access) === "1" && String(p_detail_sequence_session_id) === "" && p_detail_event_id && String(p_detail_event_id) !== "" &&
String(agenda_owner_name) === "Mon Planning" &&
<div className="div_row_droite" style={{ "textAlign": "center" }}>
<Button onClick={Close_Dialog_Detail_Event_open} className="bton_annule_dialog" style={{ width: '40%', float: 'right' }}>Fermer</Button>
<Button onClick={(e) => {
const response = window.confirm("Confirmez-vous la suppression de l'événement ?");
if (!response) {
return;
}
Delete_One_Agenda_Event();
}
} className="bton_supprime_dialog" style={{ width: '40%', float: 'right' }}>Supprimer</Button>
</div>}
</DialogActions>
{String(props.write_access) === "1" && String(p_detail_sequence_session_id) === "" && p_detail_event_id && String(p_detail_event_id) !== "" &&
String(agenda_owner_name) !== "Mon Planning" && String(p_filtre1) === "ressource_humaine" && String(props.check_user_acces_right("agenda_employes", "write")) === "1" &&
<DialogActions>
<div className="div_row" style={{ "textAlign": "center" }}>
<Button onClick={(e) => {
const response = window.confirm("Confirmez-vous la suppression de l'événement ?");
if (!response) {
return;
}
Delete_One_Agenda_Event();
}
} className="bton_supprime_dialog">Supprimer l'événement</Button>
</div>
</DialogActions>}
{String(props.write_access) === "1" && String(p_detail_sequence_session_id) === "" && p_detail_event_id && String(p_detail_event_id) !== "" &&
String(agenda_owner_name) !== "Mon Planning" && String(p_filtre1) === "ressource_materielle" && String(props.check_user_acces_right("agenda_materiel_salle", "write")) === "1" && <DialogActions>
<div className="div_row" style={{ "textAlign": "center" }}>
<Button onClick={(e) => {
const response = window.confirm("Confirmez-vous la suppression de l'événement ?");
if (!response) {
return;
}
Delete_One_Agenda_Event();
}
} className="bton_supprime_dialog">Supprimer l'événement</Button>
</div>
</DialogActions>}
{String(props.write_access) === "1" && String(p_detail_sequence_session_id) === "" && p_detail_event_id && String(p_detail_event_id) !== "" &&
String(agenda_owner_name) === "Mon Planning" && <DialogActions>
<div className="div_row" style={{ "textAlign": "center" }}>
<Button onClick={(e) => {
const response = window.confirm("Confirmez-vous la suppression de l'événement ?");
if (!response) {
return;
}
Delete_One_Agenda_Event();
}
} className="bton_supprime_dialog">Supprimer l'événement</Button>
</div>
</DialogActions>}
{/*String(props.write_access) === "1" && String(p_detail_sequence_session_id) === "" && p_detail_event_id && String(p_detail_event_id) !== "" &&
<DialogActions>
<div className="div_row" style={{ "textAlign": "center" }}>
@ -1826,168 +1806,172 @@ const Module_Agenda = (props) => {
{agenda_owner_name && String(agenda_owner_name) !== "Mon Planning" && tab_selected_users.length === 1 && <h5> Vous êtes sur le planning de <i> {agenda_owner_name} - ({agenda_owner_type}) </i> </h5>}
</div>}
{tab_selected_users.length <= 1 && <div style={{ "width": "98%", "marginLeft": "5px" }}>
&nbsp;
<div className="session_data" id='mysy_calendar' name="mysy_calendar" style={{height:'850', background:'#FFF'}}>
{tab_selected_users.length <= 1 && <div style={{ "width": "98%", "marginLeft": "5px", minHeight:'1100px' }}>
&nbsp;
<FullCalendar
locales={allLocales}
locale={'fr'}
editable
selectable
//events={events}
contentHeight='auto'
events={mysy_events}
<FullCalendar
locales={allLocales}
locale={'fr'}
editable
selectable
//events={events}
contentHeight='auto'
events={mysy_events}
select={handleSelect}
headerToolbar={{
start: "today prev next",
center: "title",
end: "dayGridMonth,timeGridWeek,timeGridDay",
}}
//eventContent={(info) => <EventItem info={info} />}
//plugins={[timeGridPlugin]}
plugins={[timeGridPlugin, daygridPlugin, interactionPlugin,]}
views={["dayGridMonth", "dayGridWeek", "dayGridDay"]}
slotMinTime={Partner_Debut_Journee}
slotMaxTime={Partner_Fin_Journee}
scrollTime='08:00'
displayEventEnd={true}
eventContent={renderEventContent}
eventClick={handleEventClick}
eventColor='#378006'
/>
</div>}
select={handleSelect}
headerToolbar={{
start: "today prev next",
center: "title",
end: "dayGridMonth,timeGridWeek,timeGridDay",
}}
//eventContent={(info) => <EventItem info={info} />}
//plugins={[timeGridPlugin]}
plugins={[timeGridPlugin, daygridPlugin, interactionPlugin,]}
views={["dayGridMonth", "dayGridWeek", "dayGridDay"]}
slotMinTime={Partner_Debut_Journee}
slotMaxTime={Partner_Fin_Journee}
scrollTime='08:00'
displayEventEnd={true}
eventContent={renderEventContent}
eventClick={handleEventClick}
eventColor='#378006'
hiddenDays={[0]}
/>
</div>}
{tab_selected_users.length > 1 && <div>
<Box
sx={{
height: 800,
width: '100%',
paddingRight: '1px',
'& .cell--presentiel': {
backgroundColor: '#a2cf6e',
color: '#1a3e72',
fontWeight: 'bold',
},
{tab_selected_users.length > 1 && <div style={{ "width": "98%", "marginLeft": "5px", minHeight:'1100px' }}>
<Box
sx={{
height: 800,
width: '100%',
paddingRight: '1px',
'& .cell--presentiel': {
backgroundColor: '#a2cf6e',
color: '#1a3e72',
fontWeight: 'bold',
},
[`& .${gridClasses.cell}`]: {
py: 1,
},
[`& .${gridClasses.cell}`]: {
py: 1,
},
}}
>
<div className="div_row" style={{ width: "100%", float: "left", padding: "5px" }}>
<div style={{ width: '100%', float: 'right', textAlign: 'right' }}>
}}
>
<div className="div_row" style={{ width: "100%", float: "left", padding: "5px" }}>
<div style={{ width: '100%', float: 'right', textAlign: 'right' }}>
<div style={{ width: '15rem', float: 'right' }}>
<Button onClick={(event) => {
setvisible_start(moment(visible_start).startOf("hour").add(-10, "hour").toDate());
setvisible_end(moment(visible_end).startOf("hour").add(-10, "hour").toDate());
<div style={{ width: '15rem', float: 'right' }}>
<Button onClick={(event) => {
setvisible_start(moment(visible_start).startOf("hour").add(-10, "hour").toDate());
setvisible_end(moment(visible_end).startOf("hour").add(-10, "hour").toDate());
}} > <ArrowBackIosNewIcon /> </Button> &nbsp; <Button onClick={(event) => {
setvisible_start(moment(visible_start).startOf("hour").add(+10, "hour").toDate());
setvisible_end(moment(visible_end).startOf("hour").add(+10, "hour").toDate());
}} > <ArrowBackIosNewIcon /> </Button> &nbsp; <Button onClick={(event) => {
setvisible_start(moment(visible_start).startOf("hour").add(+10, "hour").toDate());
setvisible_end(moment(visible_end).startOf("hour").add(+10, "hour").toDate());
}} > <ArrowForwardIosIcon /> </Button>
}} > <ArrowForwardIosIcon /> </Button>
</div>
</div>
<Timeline
groups={tab_selected_users}
items={New_Getall_Object_result_Timeline_Item}
// defaultTimeStart={defaultTimeStart}
// defaultTimeEnd={defaultTimeEnd}
visibleTimeStart={visible_start}
visibleTimeEnd={visible_end}
fullUpdate
itemTouchSendsClick={false}
stackItems
itemHeightRatio={0.75}
canMove={true}
canResize={"both"}
onItemDoubleClick={(ItemId) => {
}}
>
<TimelineHeaders>
<DateHeader unit="day"
labelFormat="DD/MM/YYYY"
style={{ height: 50 }} />
<DateHeader unit="hour"
labelFormat="HH:00"
style={{ height: 50 }} />
</TimelineHeaders>
<TimelineMarkers>
<TodayMarker />
<CustomMarker
date={moment().startOf("day").valueOf() + 1000 * 60 * 60 * 2}
/>
<CustomMarker date={moment().add(3, "day").valueOf()}>
{({ styles }) => {
const newStyles = { ...styles, backgroundColor: "blue" };
return <div style={newStyles} />;
}}
</CustomMarker>
<CursorMarker />
</TimelineMarkers>
</Timeline>
<br />
<div style={{ width: '100%', float: 'right', textAlign: 'right' }}>
<div style={{ float: 'right' }}>
<Button onClick={(event) => {
setvisible_start(moment(date_timeline_goto).startOf("hour").add(-3, "hour").toDate());
setvisible_end(moment(date_timeline_goto).startOf("hour").add(15, "hour").toDate());
}} > GO &nbsp; <ExitToAppIcon /> </Button>
</div>
<div style={{ width: '15rem', float: 'right', paddingTop: '5px' }}>
<DatePicker
name="event_dialog_start"
id="event_dialog_start"
selected={date_timeline_goto}
onChange={(date) => {
return setdate_timeline_goto(date);
}
}
className="timeline_datepicker"
locale={'fr'}
showTimeSelect
timeFormat="HH:mm"
timeIntervals={15}
dateFormat="dd/MM/yyyy HH:mm"
is24Hour
/>
</div>
</div>
</div>
<Timeline
groups={tab_selected_users}
items={New_Getall_Object_result_Timeline_Item}
// defaultTimeStart={defaultTimeStart}
// defaultTimeEnd={defaultTimeEnd}
visibleTimeStart={visible_start}
visibleTimeEnd={visible_end}
fullUpdate
itemTouchSendsClick={false}
stackItems
itemHeightRatio={0.75}
canMove={true}
canResize={"both"}
onItemDoubleClick={(ItemId) => {
}}
</Box>
</div >}
>
<TimelineHeaders>
</div>
<DateHeader unit="day"
labelFormat="DD/MM/YYYY"
style={{ height: 50 }} />
<DateHeader unit="hour"
labelFormat="HH:00"
style={{ height: 50 }} />
</TimelineHeaders>
<TimelineMarkers>
<TodayMarker />
<CustomMarker
date={moment().startOf("day").valueOf() + 1000 * 60 * 60 * 2}
/>
<CustomMarker date={moment().add(3, "day").valueOf()}>
{({ styles }) => {
const newStyles = { ...styles, backgroundColor: "blue" };
return <div style={newStyles} />;
}}
</CustomMarker>
<CursorMarker />
</TimelineMarkers>
</Timeline>
<br />
<div style={{ width: '100%', float: 'right', textAlign: 'right' }}>
<div style={{ float: 'right' }}>
<Button onClick={(event) => {
setvisible_start(moment(date_timeline_goto).startOf("hour").add(-3, "hour").toDate());
setvisible_end(moment(date_timeline_goto).startOf("hour").add(15, "hour").toDate());
}} > GO &nbsp; <ExitToAppIcon /> </Button>
</div>
<div style={{ width: '15rem', float: 'right', paddingTop: '5px' }}>
<DatePicker
name="event_dialog_start"
id="event_dialog_start"
selected={date_timeline_goto}
onChange={(date) => {
return setdate_timeline_goto(date);
}
}
className="timeline_datepicker"
locale={'fr'}
showTimeSelect
timeFormat="HH:mm"
timeIntervals={15}
dateFormat="dd/MM/yyyy HH:mm"
is24Hour
/>
</div>
</div>
</div>
</Box>
</div >}
<style>{local_css}</style>
<style>{local_css}</style>
</div >
)
@ -1999,10 +1983,25 @@ export default Module_Agenda;
const local_css = `
.react-datepicker-wrapper{
width: 100%;
}
.fc-event-main{
.fc-event-main{
word-wrap: break-word;
}
.fc .fc-timegrid-slot {
height: 35px !important;
}
.fc .fc-timegrid-slot-label-cushion {
font-size: 13px;
font-weight: 700;
color: #475569;
}
.fc .fc-timegrid-axis-cushion {
font-size: 13px;
color: #64748b;
}
`;

View File

@ -7457,7 +7457,7 @@ const Module_Session_Planification = (props) => {
eventContent={renderEventContent}
eventClick={handleEventClick}
eventChange={handleEventChange}
hiddenDays={[0]}
hiddenDays={[0]}
/>
</div>

View File

@ -3750,11 +3750,7 @@ const Partner = (props) => {
<span>Admin Platefome</span>
</button>
<button type="button" className="footer-link">
<Settings size={16} />
<span>Paramètres</span>
</button>
<button type="button" className="footer-link footer-link-danger" onClick={(event) => {
setDialog_deconnexion_open(true);
}}>

View File

@ -508,7 +508,12 @@ const PartnerClient_Activite_For_Client = (props) => {
}).catch((error) => {
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");
setdisplay_alert_mysy("1");
setalert_message(" Impossible de recuperer la liste des employés");
setalert_type("error");
//setmyApimyApiMessage("")
})
}
@ -531,7 +536,7 @@ const PartnerClient_Activite_For_Client = (props) => {
var new_dead_line_format = "";
if (typeof p_activite_deadline == "object") {
var act_deadline = format(p_activite_deadline, 'dd/MM/yyyy');
var act_deadline = format(p_activite_deadline, 'dd/MM/yyyy HH:mm:ss');
new_dead_line_format = act_deadline;
} else {
new_dead_line_format = p_activite_deadline;
@ -556,17 +561,31 @@ const PartnerClient_Activite_For_Client = (props) => {
// Controle d'integrité des infos
if (p_activite_type.length == 0) {
setdisplay_alert_mysy("1");
setalert_message(" vous devez choisir une type d'activité ");
setalert_type("error");
return;
}
var activite_description = ""
if (document.getElementsByName("activite_description")) {
activite_description = document.getElementsByName("activite_description")[0].value;
}
if (activite_description.length == 0) {
alert(" Le champ 'Description' est vide ");
setdisplay_alert_mysy("1");
setalert_message(" Le champ 'Description' est vide ");
setalert_type("error");
return;
}
if (activite_description.length > 255) {
alert(" Le champ 'Description' comporte plus de 255 caractères ");
setdisplay_alert_mysy("1");
setalert_message(" Le champ 'Description' comporte plus de 255 caractères ");
setalert_type("error");
return;
}
@ -576,7 +595,10 @@ const PartnerClient_Activite_For_Client = (props) => {
activite_detail = document.getElementsByName("activite_detail")[0].value;
}
if (activite_detail.length > 500) {
alert(" Le champ 'Détail' comporte plus de 500 caractères ");
setdisplay_alert_mysy("1");
setalert_message(" Le champ 'Détail' comporte plus de 500 caractères ");
setalert_type("error");
return;
}
@ -634,7 +656,9 @@ const PartnerClient_Activite_For_Client = (props) => {
console.warn('Not good man :( recordPartnerClient_Activite_Data = ', error);
setrecordPartnerClient_Activite_Data_result("false");
setrecordPartnerClient_Activite_Data_message(" Impossible d'ajouter l'activité ")
alert(" Impossible d'ajouter/mettre à jour l'activité ");
setdisplay_alert_mysy("1");
setalert_message(" Impossible d'ajouter/mettre à jour l'activité ");
setalert_type("error");
})
}
@ -1578,7 +1602,7 @@ const PartnerClient_Activite_For_Client = (props) => {
<div className="div_row" style={{ "width": "100%", }}>
{type_activite_list && type_activite_list.length > 0 && <div className="session_caract_Dialog" style={{ "textAlign": "left", "width": "50%", "height": "5rem", "float": "left" }}>
Type d'activité <br />
<b> Type d'activité </b> <br />
<Autocomplete
disablePortal
@ -1592,6 +1616,9 @@ const PartnerClient_Activite_For_Client = (props) => {
if (value && value.value) {
setp_activite_type(value.value);
setdatamodification_activite("1");
} else {
setp_activite_type("");
setdatamodification_activite("1");
}
}}
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une option"
@ -1721,7 +1748,7 @@ const PartnerClient_Activite_For_Client = (props) => {
Dialog_ACTIVITE_handleClose_buton();
}}
className="bton_enreg_dialog">Mettre à jour </Button>}
className="bton_enreg_dialog" style={{ width: '40%', float: 'left' }}>Mettre à jour </Button>}
{String(selected_id).length < 2 && <Button onClick={(e) => {
@ -1729,26 +1756,27 @@ const PartnerClient_Activite_For_Client = (props) => {
Dialog_ACTIVITE_handleClose_buton();
}}
className="bton_enreg_dialog">Ajouter </Button>}
className="bton_enreg_dialog" style={{ width: '40%', float: 'left' }}>Ajouter </Button>}
</div>
<div className="div_row_droite" style={{ "textAlign": 'center' }}>
<Button onClick={Dialog_ACTIVITE_handleClose_buton} className="bton_annule_dialog" >Fermer</Button>
</div>
{String(selected_id).length < 2 && <div className="div_row_droite" style={{ "textAlign": 'center' }}>
<Button onClick={Dialog_ACTIVITE_handleClose_buton} className="bton_annule_dialog" style={{ width: '40%', float: 'right' }}>Fermer</Button>
</div>}
{selected_id && String(selected_id).length > 2 && <div className="div_row">
<div className="div_row" style={{ "textAlign": "center", "marginTop": "10px" }}>
<Button onClick={(e) => {
const response = window.confirm("Confirmez-vous la suppression de l'opportunité ?");
if (!response) {
return;
}
handleClick_delete_Activite_data_from_id(selected_id);
{selected_id && String(selected_id).length > 2 && <div className="div_row_droite">
<Button onClick={Dialog_ACTIVITE_handleClose_buton} className="bton_annule_dialog" style={{ width: '40%', float: 'left' }} >Fermer</Button>
<Button onClick={(e) => {
const response = window.confirm("Confirmez-vous la suppression de l'opportunité ?");
if (!response) {
return;
}
} className="bton_supprime_dialog">Supprimer l'activité</Button>
</div>
handleClick_delete_Activite_data_from_id(selected_id);
}
} className="bton_supprime_dialog" style={{ width: '40%', float: 'left' }}>Supprimer</Button>
</div>}
</div>
@ -2206,7 +2234,7 @@ const PartnerClient_Activite_For_Client = (props) => {
</div>}
{String(formedit_mode_activite) === "1" && type_activite_list && type_activite_list.length > 0 && <div className="training_caract">
Type d'activité <br />
<b> Type d'activité </b><br />
<Autocomplete
disablePortal
@ -2219,6 +2247,8 @@ const PartnerClient_Activite_For_Client = (props) => {
onChange={(event, value) => {
if (value && value.value) {
setp_activite_type(value.value);
} else {
setp_activite_type("");
}
}}
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une option"
@ -2232,7 +2262,7 @@ const PartnerClient_Activite_For_Client = (props) => {
</div>}
{String(formedit_mode_activite) === "0" && <div className="training_caract">
Type d'activité <br />
<b> Type d'activité </b> <br />
<TextField
required
name="activite_type"

View File

@ -138,20 +138,24 @@ const Partner_Client = (props) => {
const columns_clients = [
{ field: 'id', headerName: 'id', hide: true },
{ field: '_id', headerName: '_id', hide: true },
{ field: 'client_facturation_id', headerName: 'client_facturation_id', hide: true },
{ field: 'client_facturation_id', headerName: 'client_facturation_id', hide: true },
{ field: 'responsable_compte_id', headerName: 'responsable_compte_id', hide: true },
{ field: 'raison_sociale', headerName: 'Raison sociale', Width: 200, flex: 1, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'nom', headerName: 'nom', width: 100, hide: false, editable: false, Width: 200, flex: 1, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'email', headerName: 'email', width: 100, width: 200, flex: 1, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'nom', headerName: 'nom', width: 100, hide: true, editable: false, Width: 200, flex: 1, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'email', headerName: 'email', width: 200, flex: 1, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'telephone', headerName: 'Téléphone', width: 100, hide: false, editable: false, width: 100, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'adr_adresse', headerName: 'Adresse', width: 100, hide: true, editable: false, width: 100, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'adr_code_postal', headerName: 'Code Postal', width: 100, hide: false, editable: false, width: 100, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'telephone', headerName: 'Téléphone', width: 150, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'adr_adresse', headerName: 'Adresse', width: 100, hide: true, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'adr_code_postal', headerName: 'Code Postal', width: 100, hide: true, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'adr_ville', headerName: 'Ville', width: 100, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'adr_pays', headerName: 'Pays', width: 100, hide: true, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'client_facturation_raison_sociale', headerName: 'Cl. Facturé', width: 100, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'responsable_compte_nom_prenom', headerName: 'Resp. Compte', flex: 1, maxWidth: 250, hide: false, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'client_facturation_raison_sociale', headerName: 'Cl. Facturé', width: 100, hide: true, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
{ field: 'siret', headerName: 'Siret', width: 100, hide: true, editable: false, renderCell: (params) => <ExpandableCell_50 {...params} />, },
@ -174,7 +178,7 @@ const Partner_Client = (props) => {
},
{
field: 'is_prospect', headerName: 'Pros/Cli', width: 100, hide: false, editable: false,
field: 'is_prospect', headerName: 'Pros/Cli', width: 100, hide: true, editable: false,
renderCell: (cellValues) => {
return (
@ -1347,7 +1351,7 @@ const Partner_Client = (props) => {
<div className="div_row">
<h3 style={{ fontFamily: 'DM Sans' }}> Clients & Organismes Financeurs</h3>
<h3 style={{ fontFamily: 'DM Sans' }}> Clients & Partnenaires</h3>
<div className="titre1"> Utilisez les filtres !</div>
<div>
@ -1853,6 +1857,10 @@ const Partner_Client = (props) => {
client_facturation_id: JSON.parse(item).client_facturation_id,
client_facturation_raison_sociale: JSON.parse(item).client_facturation_raison_sociale,
responsable_compte_id: JSON.parse(item).responsable_compte_id,
responsable_compte_nom_prenom: JSON.parse(item).responsable_compte_nom_prenom,
}
))}
@ -2027,7 +2035,7 @@ const Partner_Client = (props) => {
<Button variant="outlined" onClick={handleClick_add_new_client}
className="detail_class_submenu bton_add_session"
id='menu_one_participant' name='menu_one_participant' style={{ maxWidth: '20rem' }}> Ajout 1 Client / Financeur &nbsp; <img src={participants} alt="ajout un client" className="icon_plus" /> &nbsp;
id='menu_one_participant' name='menu_one_participant' style={{ maxWidth: '20rem' }}> Ajout 1 Client / Partnenaire &nbsp; <img src={participants} alt="ajout un client" className="icon_plus" /> &nbsp;
</Button>
@ -2053,7 +2061,7 @@ const Partner_Client = (props) => {
</div>
{String(Edite_Client) === "1" && <div className="div_row" style={{ "paddingRight": "10px" }}>
{String(Edite_Client) === "1" && <div className="div_row" style={{ "paddingRight": "10px" }}>
<AddParnerClient client_mail={Client_email}
clien_nom={Client_nom}
@ -2066,8 +2074,6 @@ const Partner_Client = (props) => {
</div>}
{String(Edite_Client) === "2" && <div className="div_row">
<div className="titre1"> Nouveau client / financeur</div>
<div ref={myRef_add_client}> &nbsp;</div>
<AddParnerClient client_mail={Client_email}
clien_nom={Client_nom}

View File

@ -10608,9 +10608,9 @@ const Partner_Facture = (props) => {
parseFloat(New_Getall_Invoice_Paiement_Payed_Remain_Amounts_result[0]['remaining_amount']) > 0 && <nav className="block_paiement_montant" style={{ background: "#ffd600" }}>
<nav style={{ "width": '45%', 'float': 'left', "textAlign": 'left', }}><b> Montant Non réglé </b> </nav> <nav style={{ "width": '45%', 'float': 'right', "textAlign": 'right' }}> <b> {New_Getall_Invoice_Paiement_Payed_Remain_Amounts_result[0]['remaining_amount']} </b> </nav> <br />
<nav style={{ "width": '45%', 'float': 'left', "textAlign": 'left' }}> Montant Réglé </nav> <nav style={{ "width": '45%', 'float': 'right', "textAlign": 'right' }}> {New_Getall_Invoice_Paiement_Payed_Remain_Amounts_result[0]['payed_amount']} </nav><br />
<nav style={{ "width": '45%', 'float': 'left', "textAlign": 'left' }}> Montant Total Facture </nav> <nav style={{ "width": '45%', 'float': 'right', "textAlign": 'right' }}> {New_Getall_Invoice_Paiement_Payed_Remain_Amounts_result[0]['total_amount']} </nav> <br />
<nav style={{ "width": '45%', 'float': 'left', "textAlign": 'left', }}><b> Montant Non réglé </b> </nav> <nav style={{ "width": '45%', 'float': 'right', "textAlign": 'right' }}> <b> {local_format_monetaire(New_Getall_Invoice_Paiement_Payed_Remain_Amounts_result[0]['remaining_amount'])} </b> </nav> <br />
<nav style={{ "width": '45%', 'float': 'left', "textAlign": 'left' }}> Montant Réglé </nav> <nav style={{ "width": '45%', 'float': 'right', "textAlign": 'right' }}> {local_format_monetaire(New_Getall_Invoice_Paiement_Payed_Remain_Amounts_result[0]['payed_amount'])} </nav><br />
<nav style={{ "width": '45%', 'float': 'left', "textAlign": 'left' }}> Montant Total Facture </nav> <nav style={{ "width": '45%', 'float': 'right', "textAlign": 'right' }}> {local_format_monetaire(New_Getall_Invoice_Paiement_Payed_Remain_Amounts_result[0]['total_amount'])} </nav> <br />
</nav>}
@ -10621,9 +10621,9 @@ const Partner_Facture = (props) => {
parseFloat(New_Getall_Invoice_Paiement_Payed_Remain_Amounts_result[0]['remaining_amount']) <= 0 && <nav className="block_paiement_montant">
<nav style={{ "width": '45%', 'float': 'left', "textAlign": 'left', 'fontWeight': '700px' }}> Montant Non réglé </nav> <nav style={{ "width": '45%', 'float': 'right', "textAlign": 'right' }}> {New_Getall_Invoice_Paiement_Payed_Remain_Amounts_result[0]['remaining_amount']} </nav> <br />
<nav style={{ "width": '45%', 'float': 'left', "textAlign": 'left' }}> Montant Réglé </nav> <nav style={{ "width": '45%', 'float': 'right', "textAlign": 'right' }}> {New_Getall_Invoice_Paiement_Payed_Remain_Amounts_result[0]['payed_amount']} </nav><br />
<nav style={{ "width": '45%', 'float': 'left', "textAlign": 'left' }}> Montant Total Facture </nav> <nav style={{ "width": '45%', 'float': 'right', "textAlign": 'right' }}> {New_Getall_Invoice_Paiement_Payed_Remain_Amounts_result[0]['total_amount']} </nav> <br />
<nav style={{ "width": '45%', 'float': 'left', "textAlign": 'left', 'fontWeight': '700px' }}> Montant Non réglé </nav> <nav style={{ "width": '45%', 'float': 'right', "textAlign": 'right' }}> {local_format_monetaire(New_Getall_Invoice_Paiement_Payed_Remain_Amounts_result[0]['remaining_amount'])} </nav> <br />
<nav style={{ "width": '45%', 'float': 'left', "textAlign": 'left' }}> Montant Réglé </nav> <nav style={{ "width": '45%', 'float': 'right', "textAlign": 'right' }}> {local_format_monetaire(New_Getall_Invoice_Paiement_Payed_Remain_Amounts_result[0]['payed_amount'])} </nav><br />
<nav style={{ "width": '45%', 'float': 'left', "textAlign": 'left' }}> Montant Total Facture </nav> <nav style={{ "width": '45%', 'float': 'right', "textAlign": 'right' }}> {local_format_monetaire(New_Getall_Invoice_Paiement_Payed_Remain_Amounts_result[0]['total_amount'])} </nav> <br />
</nav>}
</div>}