16/08/23 - 22h

recette2
cherif 2023-08-16 22:49:05 +02:00
parent 9af7f9982c
commit a6c8b907c3
11 changed files with 1749 additions and 226 deletions

View File

@ -100,12 +100,15 @@ const DisplayPartnerSession = (props) => {
},
}));
const [datagrid_columns_size_model1, setdatagrid_columns_size_model1] = useState(200);
const [datagrid_columns_size_model2, setdatagrid_columns_size_model2] = useState(80);
const columns = [
{ field: 'id', headerName: 'id', hide: true },
{ field: 'class_internal_url', headerName: 'class_internal_url', hide: true },
{ field: 'code_session', headerName: 'Code session', hide: false, width: 150, },
{ field: 'code_session', headerName: 'Code session', hide: false, width: datagrid_columns_size_model1, },
{
field: 'statut', headerName: 'Statut', hide: false,
field: 'statut', headerName: 'Statut', hide: false, width: datagrid_columns_size_model1,
valueFormatter: (params) => {
if (String(params.value) === "0")
return "Actif";
@ -117,7 +120,7 @@ const DisplayPartnerSession = (props) => {
},
{
field: 'etape', headerName: 'Etape', hide: false, width: 150,
field: 'etape', headerName: 'Etape', hide: false, width: datagrid_columns_size_model1,
valueFormatter: (params) => {
if (String(params.value) === "0")
return "Projet";
@ -137,14 +140,14 @@ const DisplayPartnerSession = (props) => {
},
{ field: 'date_debut', headerName: 'Date debut', hide: false },
{ field: 'date_fin', headerName: 'Datefin', width: 100, hideable: false, flex: 1 },
{ field: 'distantiel', headerName: 'Distantiel', width: 50, hideable: false, flex: 1 },
{ field: 'presentiel', headerName: 'Presentiel', width: 50, flex: 1 },
{ field: 'formateur', headerName: 'Formateur', width: 150, flex: 1, hide: true, hideable: true, },
{ field: 'nb_participant', headerName: 'Nb Parti.', width: 100, align: "center", flex: 1 },
{ field: 'date_debut', headerName: 'Date debut', hide: false, width: datagrid_columns_size_model2, },
{ field: 'date_fin', headerName: 'Datefin', hideable: false, width: datagrid_columns_size_model2, },
{ field: 'distantiel', headerName: 'Distantiel', hideable: false, width: datagrid_columns_size_model2, },
{ field: 'presentiel', headerName: 'Presentiel', width: datagrid_columns_size_model2, },
{ field: 'formateur', headerName: 'Formateur', width: datagrid_columns_size_model1, hide: true, hideable: true, },
{ field: 'nb_participant', headerName: 'Nb Parti.', width: datagrid_columns_size_model2, align: "center", },
{
field: 'taux_replissage', headerName: 'Replissage', width: 100, align: "center", flex: 0.8,
field: 'taux_replissage', headerName: 'Replissage', align: "center", width: datagrid_columns_size_model1,
align: "left",
renderCell: (params) => {
return (
@ -163,12 +166,12 @@ const DisplayPartnerSession = (props) => {
);
},
},
{ field: 'nb_inscrit', headerName: 'Inscrits', width: 100, align: "center", flex: 1, hide: true, hideable: true, },
{ field: 'nb_preinscrit', headerName: 'Preinscrits', width: 100, align: "center", flex: 1, hide: true, hideable: true, },
{ field: 'prix_session', headerName: 'Prix', width: 100, align: "center", flex: 1 },
{ field: 'title', headerName: 'Formation', width: 100, align: "center", flex: 1, hide: true, hideable: true, },
{ field: 'domaine', headerName: 'Domaine', width: 100, align: "center", flex: 1, hide: true, hideable: true, },
{ field: 'duration', headerName: 'Durée', width: 100, align: "center", flex: 1 },
{ field: 'nb_inscrit', headerName: 'Inscrits', width: datagrid_columns_size_model2, align: "center", hide: true, hideable: true, },
{ field: 'nb_preinscrit', headerName: 'Preinscrits', width: datagrid_columns_size_model2, align: "center", hide: true, hideable: true, },
{ field: 'prix_session', headerName: 'Prix', width: datagrid_columns_size_model2, align: "center", },
{ field: 'title', headerName: 'Formation', width: datagrid_columns_size_model1, align: "center", hide: true, hideable: true, },
{ field: 'domaine', headerName: 'Domaine', width: datagrid_columns_size_model1, align: "center", hide: true, hideable: true, },
{ field: 'duration', headerName: 'Durée', width: datagrid_columns_size_model2, align: "center", },
]
@ -515,12 +518,12 @@ const DisplayPartnerSession = (props) => {
var filtre3_value = "";
// Recuperation des valeurs de filtres
if (p_filtre1_value ) {
if (p_filtre1_value) {
filtre1_value = p_filtre1_value;
form.append(filtre1, filtre1_value);
}
if (p_filtre2_value ) {
if (p_filtre2_value) {
filtre2_value = p_filtre2_value;
form.append(filtre2, filtre2_value);
}
@ -535,7 +538,7 @@ const DisplayPartnerSession = (props) => {
// Verification s'il faut faire une recherche avec une option like.
//console.log(" p_filtre1 = ", p_filtre1, " filtre1_value = ", filtre1_value);
if (p_filtre1_value || p_filtre2_value) {
if (p_filtre1_value || p_filtre2_value) {
myurl = process.env.REACT_APP_API_URL + "myclass/api/GetAllValideSessionPartner_List_filter_like/";
}
@ -653,6 +656,11 @@ const DisplayPartnerSession = (props) => {
Getall_TrainingSession();
GetAttestation_Certif();
let windowWidth = window.innerWidth;
if (windowWidth < 1001) {
setdatagrid_columns_size_model2(10);
}
}, [])
@ -834,6 +842,11 @@ const DisplayPartnerSession = (props) => {
function submenu_add_one_session() {
setaddOneSession("1");
setEdite_session("0");
submenu_detail_session();
if (myRef.current) {
myRef.current.scrollIntoView({ behavior: "smooth" });
}
}
@ -3594,13 +3607,14 @@ const DisplayPartnerSession = (props) => {
setp_filtre2_value();
Getall_TrainingSession_no_filter();
}
const myRef = useRef(null)
return (
<div className="displaypartnersession">
<h3> Vos sessions de formation </h3>
<h3> Vos sessions de formation </h3>
<div className="titre1"> Utilisez les filtres !</div>
<div className="div_row" style={{ "marginBottom": "5px" }}>
<div className="div_row_gauche texte_area_filter" >
@ -3725,7 +3739,7 @@ const DisplayPartnerSession = (props) => {
/>}
</div>
{String(p_filtre2).length > 3 && <div className='filter_bton_add'>
<Tooltip id="my-tooltip04" style={{ "fontSize": "12px" }} />
@ -3768,11 +3782,12 @@ const DisplayPartnerSession = (props) => {
<div className="session_data">
<div style={{ "border": "None" }}>
<div style={{ height: 500, width: '100%' }}>
<div style={{ height: 500, width: '100%', paddingRight: '1px' }}>
<Box
sx={{
height: 500,
width: '100%',
paddingRight: '1px',
'& .cell--presentiel': {
backgroundColor: '#a2cf6e',
color: '#1a3e72',
@ -3848,8 +3863,8 @@ const DisplayPartnerSession = (props) => {
checkboxSelection
onSelectionModelChange={(newSelectionModel) => {
setSelectionModel(newSelectionModel);
handleClick_edit_session_From_Line(newSelectionModel);
if (newSelectionModel.length === 1)
handleClick_edit_session_From_Line(newSelectionModel);
}}
selectionModel={selectionModel}
@ -3997,7 +4012,7 @@ const DisplayPartnerSession = (props) => {
</div>
<div className="div_row"> &nbsp;</div>
<div className="div_row">
<Button variant="outlined" onClick={submenu_detail_session} className="detail_class_submenu" id='detail_session' name='detail_session'>Détail Session</Button>
<Button variant="outlined" ref={myRef} onClick={submenu_detail_session} className="detail_class_submenu" id='detail_session' name='detail_session'>Détail Session</Button>
<Button variant="outlined" onClick={submenu_preinscrit} className="detail_class_submenu" id='preinscrit' name='preinscrit'>Preinscription ({String(nb_stagiaire_Preinscrit)}) </Button>
<Button variant="outlined" onClick={submenu_inscrit} className="detail_class_submenu" id='inscrit' name='inscrit'>Inscription ({String(nb_stagiaire_Inscrit)}) </Button>
@ -4632,10 +4647,10 @@ const DisplayPartnerSession = (props) => {
</div>}
{String(addOneSession) === "1" && <div className="div_row session_data" style={{ "border": "None", "backgroundColor": "#F0F0F0" }}>
{String(addOneSession) === "1" && <div className="div_row session_data" style={{ "border": "None", "backgroundColor": "#F0F0F0" }} >
<h5> Ajout d'une session de formation</h5>
<div className="session_caract"> Choisir une formation *<br />
<div className="session_caract" > Choisir une formation *<br />
<TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
required

View File

@ -25,6 +25,7 @@ import InputAdornment from '@mui/material/InputAdornment';
import Box from '@mui/material/Box';
import 'react-tooltip/dist/react-tooltip.css'
import { Tooltip } from 'react-tooltip'
import { FcCancel, FcApproval, FcAcceptDatabase, FcPrint } from "react-icons/fc";
const DistplayPartnerTraningsPage = (props) => {
@ -220,23 +221,42 @@ const DistplayPartnerTraningsPage = (props) => {
});
}
const [ismobilephone_columns_hide, setismobilephone_columns_hide] = useState(false);
const [datagrid_columns_size_model1, setdatagrid_columns_size_model1] = useState(200);
const [datagrid_columns_size_model2, setdatagrid_columns_size_model2] = useState(80);
const columns = [
{ field: 'id', headerName: 'id', hide: true },
{ field: 'lms_class_code', headerName: 'lms_class_code', hide: true },
{ field: 'zone_diffusion', headerName: 'zone_diffusion', hide: true },
{ field: 'internal_url', headerName: 'internal_url', hide: true },
{ field: 'external_code', headerName: 'Code Formation', width: 200, hideable: false, flex: 1 },
{ field: 'title', headerName: 'Titre', width: 100, hideable: false, flex: 1 },
{ field: 'url', headerName: 'lien', width: 150, flex: 1 },
{ field: 'description', headerName: 'Description', width: 150, flex: 1 },
{ field: 'price', headerName: 'Prix', width: 100, align: "center", flex: 1 },
{ field: 'published', headerName: 'Publié', width: 100, align: "center", flex: 1 },
{ field: 'external_code', headerName: 'Code Formation', width: datagrid_columns_size_model1, hideable: false, resizable: true },
{ field: 'title', headerName: 'Titre', width: datagrid_columns_size_model1, hideable: false, },
{ field: 'domain', headerName: 'Domaine', width: datagrid_columns_size_model1, hideable: true, },
{ field: 'metier', headerName: 'Métier', width: datagrid_columns_size_model1, hideable: true, hide: true },
{ field: 'url', headerName: 'lien', width: datagrid_columns_size_model1, hideable: true, hide: true },
{ field: 'description', headerName: 'Description', width: datagrid_columns_size_model1, hide: ismobilephone_columns_hide, resizable: true, flex: 1 },
{ field: 'price', headerName: 'Prix', width: datagrid_columns_size_model2, align: "center", resizable: true, hide: ismobilephone_columns_hide },
{
field: "management", headerName: 'Gestion',
field: 'published', headerName: 'Publié', width: datagrid_columns_size_model2, align: "center", resizable: true,
valueFormatter: (params) => {
if (String(params.value) === "0")
return "Non";
else if (String(params.value) === "1")
return "Oui";
else
return "?";
},
},
{
field: "management", headerName: 'Gestion', width: datagrid_columns_size_model2,
renderCell: (cellValues) => {
return (
<Button
<Button style={{ "marginLeft": "auto", "marginRight": "auto", "cursor":"pointer" }}
onClick={(event) => {
handleClickManagement(event, cellValues);
@ -250,11 +270,11 @@ const DistplayPartnerTraningsPage = (props) => {
}
},
{
field: "visual", headerName: 'Visualiser',
field: "visual", headerName: 'Visualiser', width: datagrid_columns_size_model2,
renderCell: (cellValues) => {
return (
<Button
<Button style={{ "marginLeft": "auto", "marginRight": "auto", "cursor":"pointer" }}
onClick={(event) => {
Visualiser(event, cellValues);
@ -268,11 +288,11 @@ const DistplayPartnerTraningsPage = (props) => {
}
},
{
field: "Print", headerName: 'Editer',
field: "Print", headerName: 'Editer', width: datagrid_columns_size_model2,
renderCell: (cellValues) => {
return (
<Button
<Button style={{ "marginLeft": "auto", "marginRight": "auto", "cursor":"pointer" }}
onClick={(event) => {
handleClick(event, cellValues);
@ -287,7 +307,7 @@ const DistplayPartnerTraningsPage = (props) => {
},
{
field: "push_to_lms", headerName: 'Push Elearning',
field: "push_to_lms", headerName: 'Push Elearning', width: datagrid_columns_size_model2,
renderCell: (cellValues) => {
return (
<nav>
@ -295,7 +315,7 @@ const DistplayPartnerTraningsPage = (props) => {
<Popup
trigger={<Button
trigger={<Button style={{ "marginLeft": "auto", "marginRight": "auto", "cursor":"pointer" }}
onClick={(event) => {
handlepush_to_lms(event, cellValues);
@ -680,6 +700,7 @@ const DistplayPartnerTraningsPage = (props) => {
}
const [ismobilephone, setismobilephone] = useState();
useEffect(() => {
//GetAllClass();
GetAllClass_new();
@ -687,6 +708,12 @@ const DistplayPartnerTraningsPage = (props) => {
top: 0,
behavior: "smooth",
});
let windowWidth = window.innerWidth;
if (windowWidth < 1001) {
setismobilephone_columns_hide(true);
setdatagrid_columns_size_model2(10);
}
}, []);
function Clearselectedfilt1() {
@ -773,6 +800,101 @@ const DistplayPartnerTraningsPage = (props) => {
}
const datagridSx = {
borderRadius: 2,
marginRight: 1,
marginLeft: 1,
border: 0,
overflowX: 'scroll',
"& .MuiDataGrid-main": { borderRadius: 0 },
/*'& div[data-rowIndex][role="row"]:nth-of-type(5n-4)': {
color: "blue",
fontSize: 18,
//risky
minHeight: "60px !important",
height: 60,
"& div": {
minHeight: "60px !important",
height: 60,
lineHeight: "59px !important"
}
},*/
"& .MuiDataGrid-virtualScrollerRenderZone": {
"& .MuiDataGrid-row": {
"&:nth-child(2n)": { backgroundColor: "rgba(235, 235, 235, .7)" }
}
},
"& .MuiDataGrid-columnHeaders": {
backgroundColor: "#c8cfd5",
color: "black",
fontSize: 16
}
};
const [actionmass_ftion_val, setactionmass_ftion_val] = useState();
const actionmass_ftion = (event) => {
const value = event.target.value;
if (String(value) === "publier" || String(value) === "depublier" || String(value) === "supprmier") {
setactionmass_ftion_val(value);
}
else {
setactionmass_ftion_val();
}
}
function GetSelectedRows_ftion_Ids() {
var tab_tmp = []
for (var i = 0; i < selectionModel.length; i++) {
//console.log(" ### selectionModel_insc[i] = ", selectionModel_insc[i]);
var myid = parseInt(String(selectionModel[i]));
//var line = JSON.parse(rowss[myid]);
tab_tmp.push(myid);
}
return tab_tmp;
}
async function actionmass_ftion_Traitemet() {
var liste_formation = GetSelectedRowsTraining();
console.log(" liste_formation = ", liste_formation);
console.log(" actionmass_ftion_val = ", actionmass_ftion_val);
if (String(actionmass_ftion_val) === String("depublier")) {
Unpublish_class(liste_formation);
GetAllClass_WOfilter();
window.location.reload();
}
else if (String(actionmass_ftion_val) === String("publier")) {
Publish_class(liste_formation);
GetAllClass_WOfilter();
window.location.reload();
}
else if (String(actionmass_ftion_val) === String("supprimer")) {
Delete_class(liste_formation);
GetAllClass_WOfilter();
window.location.reload();
}
}
const sleep = (milliseconds) => {
return new Promise(resolve => setTimeout(resolve, milliseconds))
}
return (
<div className='displaypartnertrainingpagination'>
@ -844,7 +966,7 @@ const DistplayPartnerTraningsPage = (props) => {
}}
/>
}
}
</div>
{p_filtre1 && <div className='filter_bton_add'>
@ -1014,12 +1136,12 @@ const DistplayPartnerTraningsPage = (props) => {
{<div className="div_row" style={{ "border": "None", "color": "orange", "textAlign": "center" }}>
<div className="div_row_gauche" style={{ "textAlign": 'left', 'marginLeft': '15px' }}>
<div className="div_row_gauche">
<Button variant="contained" className="bton_enreg" onClick={GetAllClass_new}>Rechercher
</Button>
</div>
<div className="div_row_droite" style={{ "textAlign": 'right', 'marginRight': '15px' }}>
<div className="div_row_droite">
<Button variant="contained" className="bton_annule" onClick={clean_all_filters}>Annuler
</Button>
@ -1028,16 +1150,17 @@ const DistplayPartnerTraningsPage = (props) => {
</div>}
<div className="div_row"> &nbsp; </div>
<div>
<div style={{ height: "850px", "width":"100%"}}>
{String(myApiResponse) === "False" && <div className='koUpdateData'>
Impossible de traiter la demande
</div>}
{String(myApiResponse) === "True" &&
<div style={{ height: 700, width: '100%' }}>
<div style={{ height: 800, width: '100%', paddingRight: '1px' }}>
<Box
sx={{
height: 300,
height: 700,
width: '100%',
paddingRight: '2px',
'& .cell--published': {
backgroundColor: '#a2cf6e',
color: '#1a3e72',
@ -1075,6 +1198,8 @@ const DistplayPartnerTraningsPage = (props) => {
zone_diffusion: JSON.parse(item).zone_diffusion_str,
external_code: JSON.parse(item).external_code,
title: parse((JSON.parse(item).title).replace(/(<([^>]+)>)/ig, '')),
domain: JSON.parse(item).domaine,
metier: JSON.parse(item).metier,
url: JSON.parse(item).url,
price: JSON.parse(item).price,
description: parse((JSON.parse(item).description).replace(/(<([^>]+)>)/ig, '')),
@ -1083,15 +1208,18 @@ const DistplayPartnerTraningsPage = (props) => {
}
))}
columns={columns}
pageSize={10}
className="datagridclass"
rowsPerPageOptions={[10]}
disableSelectionOnClick
//disableSelectionOnClick
components={{
Toolbar: GridToolbar,
}}
sx={datagridSx}
getCellClassName={(params) => {
if (params.field === 'published' && String(params.value) === "1") {
return 'cell--published';
@ -1115,23 +1243,87 @@ const DistplayPartnerTraningsPage = (props) => {
/>
</Box>
<br />
{selectionModel && selectionModel.length >= 1 && <div style={{ "width": "50%", "float": "left" }}>
<nav className='traitement_mass'>Traitement en masse</nav>
&nbsp;<select
id={"actionmass"} name={"actionmass"}
onChange={ActionMass}
className="action_mass">
<option selected value="n/a">Action</option>
<option value="publier">Publier</option>
<option value="depublier">Depublier</option>
<option value="supprimer">Supprimer</option>
</select>
</div>
}
</div>}
</div>
<br />
<div className="div_row">
{selectionModel && selectionModel.length >= 1 && <div className="block_en_mass">
<nav >Traitement en masse </nav>
&nbsp;
<TextField
select
InputLabelProps={{
shrink: true,
}}
inputProps={{ min: "0", max: "1", step: "1" }}
disabled={false}
className="block_en_mass_select"
value={actionmass_ftion_val}
onChange={actionmass_ftion}
>
<MenuItem value="" style={{ "paddingLeft": "5px", "textAlign": "left" }}>Action &nbsp;&nbsp;</MenuItem>
<MenuItem value="publier" style={{ "paddingLeft": "5px", "textAlign": "left" }}>Publier &nbsp;</MenuItem>
<MenuItem value="depublier" style={{ "paddingLeft": "5px", "textAlign": "left" }}>Dépublier &nbsp;</MenuItem>
<MenuItem value="supprmier" style={{ "paddingLeft": "5px", "textAlign": "left" }}>Supprimer &nbsp;</MenuItem>
</TextField>
{actionmass_ftion_val && <nav className='block_en_mass_bton_action'>
<Popup
trigger={<Button className="bton_enreg" style={{ "width": "90%" }}>
<FcAcceptDatabase /> Traiter
</Button>}
modal
nested
position="center center"
>
{close => (
<div>
<button className="gest_close" onClick={close}>
&times;
</button>
<div className="gest_header"> MySy Information </div>
<div className="gest_content">
{' '}
Confirmer l'action <b> {actionmass_ftion_val} </b> en masse.
</div>
<div className="gest_actions">
<div style={{ "width": "45%", "float": "left" }}>
<button className="gest_bton_popup" onClick={(event) => {
actionmass_ftion_Traitemet();
close();
}}> Valider </button>
</div>
<div style={{ "width": "45%", "float": "right" }}>
<button
className="gest_bton_popup"
onClick={() => {
//console.log('modal closed ');
close();
}}
>
Annuler
</button>
</div>
</div>
</div>
)}
</Popup>
</nav>
}
</div>}
</div>
</div>

View File

@ -1602,7 +1602,7 @@ function GestionAdministrative(props) {
const stored_cookie = getCookie('tokenmysypart');
form.append("token", stored_cookie);
form.append("class_internal_url", internal_url);
form.append("formation_session_id", mysession);
form.append("code_session", mysession);
form.append("date_debut", format(SessionstartDate, 'dd/MM/yyyy kk:mm:ss'));
form.append("date_fin", format(SessionendDate, 'dd/MM/yyyy kk:mm:ss'));
form.append("prix_session", prix_session);
@ -1794,7 +1794,7 @@ function GestionAdministrative(props) {
const stored_cookie = getCookie('tokenmysypart');
form.append("token", stored_cookie);
form.append("class_internal_url", internal_url);
form.append("formation_session_id", code_session);
form.append("code_session", code_session);
form.append("date_debut", format(one_SessionstartDate, 'dd/MM/yyyy kk:mm:ss'));
form.append("date_fin", format(one_SessionendDate, 'dd/MM/yyyy kk:mm:ss'));
form.append("prix_session", prix_session);
@ -4486,8 +4486,8 @@ function GestionAdministrative(props) {
GetCurrentClass_trainingsession_result.map((session) => (
<option value={(JSON.parse(session).formation_session_id)} className="select_option_css">
{(JSON.parse(session).formation_session_id) && (JSON.parse(session).formation_session_id) + " - "}
<option value={(JSON.parse(session).code_session)} className="select_option_css">
{(JSON.parse(session).code_session) && (JSON.parse(session).code_session) + " - "}
{(JSON.parse(session).session_ondemande) === "1" && " A la Demande - "}
{(!JSON.parse(session).session_ondemande || JSON.parse(session).session_ondemande === "0") &&
(JSON.parse(session).date_debut).substring(0, 10) + " au " + (JSON.parse(session).date_fin).substring(0, 10)}
@ -4516,7 +4516,7 @@ function GestionAdministrative(props) {
GetCurrentClass_trainingsession_result.map((session) => (
<option value={(JSON.parse(session).formation_session_id)} className="select_option_css">
<option value={(JSON.parse(session).code_session)} className="select_option_css">
{(JSON.parse(session).session_ondemande) === "1" && " A la Demande - "}
{(!JSON.parse(session).session_ondemande || JSON.parse(session).session_ondemande === "0") &&
(JSON.parse(session).date_debut).substring(0, 10) + " au " + (JSON.parse(session).date_fin).substring(0, 10)}

View File

@ -236,7 +236,7 @@ const Partner = (props) => {
if (action && list_menu.includes(action)) {
setmenu(action);
console.log(" 222 action =", action);
if (action && orderid && packs && String("ordervalide")) {
CheckSalesOrder();
}
@ -712,9 +712,9 @@ const Partner = (props) => {
{String(menu) === "mes_sessions" && <div className="sousmenu_selected" onClick={DiplaySessionList} ><FcFlowChart className="icone_menu" /> MES SESSIONS</div>}
<hr className="my_hr" />
{String(menu) !== "mes_stagiaires" && <div className="sousmenu" onClick={DiplayStagiaireList} > <FcReading className="icone_menu" /> MES STAGIAIRES </div>}
{/*{String(menu) !== "mes_stagiaires" && <div className="sousmenu" onClick={DiplayStagiaireList} > <FcReading className="icone_menu" /> MES STAGIAIRES </div>}
{String(menu) === "mes_stagiaires" && <div className="sousmenu_selected" onClick={DiplayStagiaireList} ><FcReading className="icone_menu" /> MES STAGIAIRES</div>}
<hr className="my_hr" />
<hr className="my_hr" /> */}
{String(menu) !== "abonnement" && <div className="sousmenu" onClick={Abonnement_func} > <FcKey className="icone_menu" /> ABONNEMENT </div>}
{String(menu) === "abonnement" && <div className="sousmenu_selected" onClick={Abonnement_func} > <FcKey className="icone_menu" /> ABONNEMENT </div>}
@ -743,7 +743,7 @@ const Partner = (props) => {
{String(menu) === "mes_clients" && <div className="sousmenu_selected" onClick={mes_clients_func}> &nbsp;&nbsp; <FcBusinesswoman className="icone_menu" />&nbsp;MES CLIENTS</div>}
</div>
<div>
{/*<div>
<hr className="my_hr" />
{String(menu) !== "mes_devis" && <div className="sousmenu" onClick={"mes_devis_func"}>&nbsp;&nbsp;<FcCandleSticks className="icone_menu" />&nbsp;MES DEVIS</div>}
{String(menu) === "mes_devis" && <div className="sousmenu_selected" onClick={"mes_devis_func"}> &nbsp;&nbsp; <FcCandleSticks className="icone_menu" />&nbsp;MES DEVIS</div>}
@ -757,9 +757,9 @@ const Partner = (props) => {
<div>
<hr className="my_hr" />
{String(menu) !== "mes_cmd" && <div className="sousmenu" onClick={"mes_cmd_func"}>&nbsp;&nbsp;<FcKindle className="icone_menu" />&nbsp;MES FACTURES</div>}
{String(menu) === "mes_cmd" && <div className="sousmenu_selected" onClick={"mes_cmd_func"}> &nbsp;&nbsp; <FcCollect FcKindle="icone_menu" />&nbsp;MES FACTURES</div>}
</div>
{String(menu) !== "mes_facture" && <div className="sousmenu" onClick={"mes_cmd_func"}>&nbsp;&nbsp;<FcKindle className="icone_menu" />&nbsp;MES FACTURES</div>}
{String(menu) === "mes_facture" && <div className="sousmenu_selected" onClick={"mes_cmd_func"}> &nbsp;&nbsp; <FcCollect FcKindle="icone_menu" />&nbsp;MES FACTURES</div>}
</div>*/}
<div class="separator"> Espace E-Learning </div>

View File

@ -59,19 +59,27 @@ const PartnerClientActivite = (props) => {
}
const [current_activite_recid, setcurrent_activite_recid] = useState("");
const [addactivite, setaddactivite] = useState("0");
const [show_all_activite_list, setshow_all_activite_list] = useState("1");
const [showactivite_detail, setshowactivite_detail] = useState();
const [add_one_activite, setadd_one_activite] = useState("");
function Add_Activite() {
setdatamodification_activite("0");
setformedit_mode_activite("0");
setcurrent_activite_recid("");
//clean_contact_set_values();
setaddactivite("1");
setadd_one_activite("1");
setshowactivite_detail();
setshow_all_activite_list();
Clear_activite_P_fields();
}
function Close_Activite() {
setaddactivite("0");
setshowactivite_detail("0");
setdatamodification_activite("0");
setformedit_mode_activite("0");
setcurrent_activite_recid("");
@ -81,8 +89,12 @@ const PartnerClientActivite = (props) => {
}
function retour_liste_Activite() {
setaddactivite("0");
setshowactivite_detail();
setadd_one_activite();
setshow_all_activite_list("1");
setcurrent_activite_recid("");
setformedit_mode_activite("0");
}
const [datamodification_activite, setdatamodification_activite] = useState("0");
@ -219,7 +231,7 @@ const PartnerClientActivite = (props) => {
// Fonction d'ajout d'un activité
// Fonction de mise à jour d'une activité
const [recordPartnerClient_Activite_Data_api, setrecordPartnerClient_Activite_Data_api] = useState("");
const [recordPartnerClient_Activite_Data_result, setrecordPartnerClient_Activite_Data_result] = useState("");
const [recordPartnerClient_Activite_Data_message, setrecordPartnerClient_Activite_Data_message] = useState("");
@ -259,23 +271,18 @@ const PartnerClientActivite = (props) => {
activite_detail = document.getElementsByName("activite_detail")[0].value;
}
if (activite_detail.length > 500) {
alert(" Le champ 'Description' comporte plus de 500 caractères ");
alert(" Le champ 'Détail' comporte plus de 500 caractères ");
return;
}
var myurl = "";
if (current_activite_recid && String(current_activite_recid).length > 3) {
// Il s'agit d'un mise à jour. on a une valeur dans le current_activite_recid
myurl = process.env.REACT_APP_API_URL + "myclass/api/Update_activite/";
form.append("activite_recid", current_activite_recid);
} else {
// Il s'agit d'un ajout d'une nouvelle activité. on a rien dans le current_activite_recid
myurl = process.env.REACT_APP_API_URL + "myclass/api/Add_activite/";
form.append("related_collection", "partner_client");
form.append("related_collection_owner_email", props.email);
}
// Il s'agit d'un mise à jour. on a une valeur dans le current_activite_recid
myurl = process.env.REACT_APP_API_URL + "myclass/api/Update_activite/";
form.append("activite_recid", current_activite_recid);
axios.post(myurl, form).then(res => {
if (String(res.data.status) === String("true")) {
@ -284,7 +291,7 @@ const PartnerClientActivite = (props) => {
setrecordPartnerClient_Activite_Data_api("true");
setrecordPartnerClient_Activite_Data_result(res.data.message);
setaddactivite("0");
setshowactivite_detail("0");
Get_List_Activite_Of_client_Part();
alert(res.data.message);
setdatamodification_activite("0");
@ -315,13 +322,99 @@ const PartnerClientActivite = (props) => {
})
}
// Fonction d'ajout d'un activité
const [record_One_PartnerClient_Activite_Data_api, setrecord_One_PartnerClient_Activite_Data_api] = useState("");
const [record_One_PartnerClient_Activite_Data_result, setrecord_One_PartnerClient_Activite_Data_result] = useState("");
const [record_One_PartnerClient_Activite_Data_message, setrecord_One_PartnerClient_Activite_Data_message] = useState("");
function record_One_PartnerClient_Activite_Data(event) {
var form = new FormData();
const stored_cookie = getCookie('tokenmysypart');
form.append("token", stored_cookie);
form.append("description", one_activite_description);
form.append("detail", one_activite_detail);
form.append("deadline", format(one_activite_deadline, 'dd/MM/yyyy'));
form.append("type", one_activite_type);
form.append("status", one_activite_status);
// Controle d'integrité des infos
if (one_activite_description.length == 0) {
alert(" Le champ 'Description' est vide ");
return;
}
if (one_activite_description.length > 255) {
alert(" Le champ 'Description' comporte plus de 255 caractères ");
return;
}
if (one_activite_detail.length > 255) {
alert(" Le champ 'Détail' comporte plus de 255 caractères ");
return;
}
var myurl = "";
// Il s'agit d'un ajout d'une nouvelle activité. on a rien dans le current_activite_recid
myurl = process.env.REACT_APP_API_URL + "myclass/api/Add_activite/";
form.append("related_collection", "partner_client");
form.append("related_collection_owner_email", props.email);
axios.post(myurl, form).then(res => {
if (String(res.data.status) === String("true")) {
//console.log(" In recordPartnerClient_Activite_Data res.data.status = " + res.data.status);
//console.log(" In recordPartnerClient_Activite_Data res.data.message = " + res.data.message);
setrecord_One_PartnerClient_Activite_Data_api("true");
setrecord_One_PartnerClient_Activite_Data_result(res.data.message);
setshowactivite_detail("0");
Get_List_Activite_Of_client_Part();
alert(res.data.message);
setdatamodification_activite("0");
setformedit_mode_activite("0");
setcurrent_activite_recid("");
retour_liste_Activite();
}
else if (String(res.data.status) === String("Err_Connexion")) {
alert('Erreur: ' + res.data.message);
history.push("/Connexion");
return;
}
else {
setrecord_One_PartnerClient_Activite_Data_api("false");
setrecord_One_PartnerClient_Activite_Data_message(res.data.message);
alert(res.data.message);
}
}).catch((error) => {
console.warn('Not good man :( recordPartnerClient_Activite_Data = ', error);
setrecord_One_PartnerClient_Activite_Data_api("false");
setrecord_One_PartnerClient_Activite_Data_message(" Impossible d'ajouter l'activité ")
alert(" Impossible d'ajouter/mettre à jour l'activité ");
})
}
const [Display_Part_Client_Activite_api, setDisplay_Part_Client_Activite_api] = useState("");
const [Display_Part_Client_Activite_result, setDisplay_Part_Client_Activite_result] = useState("");
const [Display_Part_Client_Activite_message, setDisplay_Part_Client_Activite_message] = useState("");
async function Display_Part_Client_Activite(event) {
var myactivity_recid = event.currentTarget.getAttribute('recid');
var myactivity_recid = event.currentTarget.getAttribute('recid');
var form = new FormData();
@ -341,7 +434,11 @@ const PartnerClientActivite = (props) => {
setDisplay_Part_Client_Activite_api("true");
setDisplay_Part_Client_Activite_result(res.data.message);
setaddactivite("1");
setshowactivite_detail("1");
setshow_all_activite_list();
setadd_one_activite();
var mylocalclient_activite = JSON.parse(res.data.message);
@ -428,27 +525,27 @@ const PartnerClientActivite = (props) => {
await sleep(5);
if (document.getElementsByName("activite_description")) {
if (document.getElementsByName("activite_description")[0]) {
document.getElementsByName("activite_description")[0].disabled = true;
document.getElementsByName("activite_description")[0].style.backgroundColor = "#ECEFF1";
}
if (document.getElementsByName("activite_deadline")) {
if (document.getElementsByName("activite_deadline")[0]) {
document.getElementsByName("activite_deadline")[0].disabled = true;
document.getElementsByName("activite_deadline")[0].style.backgroundColor = "#ECEFF1";
}
if (document.getElementsByName("activite_type")) {
if (document.getElementsByName("activite_type")[0]) {
document.getElementsByName("activite_type")[0].disabled = true;
document.getElementsByName("activite_type")[0].style.backgroundColor = "#ECEFF1";
}
if (document.getElementsByName("activite_status")) {
if (document.getElementsByName("activite_status")[0]) {
document.getElementsByName("activite_status")[0].disabled = true;
document.getElementsByName("activite_status")[0].style.backgroundColor = "#ECEFF1";
}
if (document.getElementsByName("activite_detail")) {
if (document.getElementsByName("activite_detail")[0]) {
document.getElementsByName("activite_detail")[0].disabled = true;
document.getElementsByName("activite_detail")[0].style.backgroundColor = "#ECEFF1";
}
@ -520,68 +617,104 @@ const PartnerClientActivite = (props) => {
}
const [one_activite_description, setone_activite_description] = useState();
const [one_activite_deadline, setone_activite_deadline] = useState();
const [one_activite_type, setone_activite_type] = useState();
const [one_activite_status, setone_activite_status] = useState();
const [one_activite_detail, setone_activite_detail] = useState();
function Close_add_one_activite() {
setone_activite_description();
setone_activite_deadline();
setone_activite_type();
setone_activite_status();
setone_activite_detail();
setshowactivite_detail();
setshowactivite_detail();
setadd_one_activite();
setshow_all_activite_list("1");
setcurrent_activite_recid("");
setformedit_mode_activite("0");
}
return (
<div className="partner_client_activite" >
<div className="div_row">
{String(addactivite) === "0" && <div className="div_row" style={{ "marginLeft": "5px", "marginRight": "5px" }}>
<div className="div_row" onClick={Add_Activite} style={{ "cursor": "pointer" }}> <AiOutlineUserAdd /> Ajouter une activité </div>
<div className="div_row">
{String(show_all_activite_list) === "1" && String(showactivite_detail) !== "1" && String(add_one_activite) !== "1" &&
<div className="div_row" style={{ "marginLeft": "5px", "marginRight": "5px" }}>
<div className="div_row" onClick={Add_Activite} style={{ "cursor": "pointer" }}> <AiOutlineUserAdd /> Ajouter une activité </div>
<div className="div_row">
<div className="block_all_activite">
{Get_List_Activite_Of_client_Part_result && String(Get_List_Activite_Of_client_Part_api) === "true" &&
Get_List_Activite_Of_client_Part_result.map((client) => (
<nav className="block_activite">
{String(String(JSON.parse(client).status)) === "1" &&
<nav onClick={Display_Part_Client_Activite} recid={String(JSON.parse(client).recid)}>
<nav recid={String(JSON.parse(client).recid)} onClick={Display_Part_Client_Activite} className="detail_activite">
<nav className="detail_header" recid={String(JSON.parse(client).recid)} > {String(JSON.parse(client).deadline)} : {String(JSON.parse(client).type)}</nav>
<nav recid={String(JSON.parse(client).recid)} >
<i>FAIT </i> <br />
{(JSON.parse(client).description).substring(0, 50)}<br />
{(JSON.parse(client).detail).substring(0, 50)}<br />
<nav className="detail_header" style={{"background":"#32cd32"}} recid={String(JSON.parse(client).recid)} > {String(JSON.parse(client).deadline)} : {String(JSON.parse(client).type)}</nav>
<nav className="detail_activite" style={{"background":"#32cd32"}} recid={String(JSON.parse(client).recid)} >
<i>FAIT</i><br />
{String(JSON.parse(client).description)} <br />
{String(JSON.parse(client).detail)} <br />
</nav>
</nav>}
</nav>
</nav>}
{String(String(JSON.parse(client).status)) === "0" &&
<nav recid={String(JSON.parse(client).recid)} onClick={Display_Part_Client_Activite} className="detail_activite">
<nav className="detail_header" recid={String(JSON.parse(client).recid)} > {String(JSON.parse(client).deadline)} : {String(JSON.parse(client).type)}</nav>
<nav recid={String(JSON.parse(client).recid)} >
{String(String(JSON.parse(client).status)) === "0" &&
<nav recid={String(JSON.parse(client).recid)} onClick={Display_Part_Client_Activite}>
{parseInt(String(JSON.parse(client).retard)) < 0 && <i style={{ "color": "red" }}> RETARD de {String(JSON.parse(client).retard)} jours <br /></i>}
{parseInt(String(JSON.parse(client).retard)) > 0 && <i> DANS {String(JSON.parse(client).retard)} jours <br /></i>}
{parseInt(String(JSON.parse(client).retard)) == 0 && <i style={{ "color": "orange" }}> AUJOURD'HUI <br /></i>}
<nav className="detail_header" recid={String(JSON.parse(client).recid)} > {String(JSON.parse(client).deadline)} : {String(JSON.parse(client).type)}</nav>
<nav className="detail_activite" recid={String(JSON.parse(client).recid)} >
<i>EN COURS </i> <br />
{String(JSON.parse(client).description)} <br />
{String(JSON.parse(client).detail)} <br />
</nav>
</nav>}
{(JSON.parse(client).description).substring(0, 50)}<br />
{(JSON.parse(client).detail).substring(0, 50)}<br />
</nav>
</nav>}
{String(String(JSON.parse(client).status)) === "-1" &&
<nav recid={String(JSON.parse(client).recid)} onClick={Display_Part_Client_Activite}>
<nav recid={String(JSON.parse(client).recid)} onClick={Display_Part_Client_Activite} className="detail_activite">
<nav className="detail_header" recid={String(JSON.parse(client).recid)} > {String(JSON.parse(client).deadline)} : {String(JSON.parse(client).type)}</nav>
<nav recid={String(JSON.parse(client).recid)} >
<i>ANNULE </i> <br />
{(JSON.parse(client).description).substring(0, 50)}<br />
{(JSON.parse(client).detail).substring(0, 50)}<br />
</nav>
</nav>}
<nav className="detail_header" style={{"background":"#FAF9F6"}} recid={String(JSON.parse(client).recid)}> {String(JSON.parse(client).deadline)} : {String(JSON.parse(client).type)}</nav>
<nav className="detail_activite"style={{"background":"#FAF9F6"}} recid={String(JSON.parse(client).recid)}>
<i>ANNULER </i><br />
{String(JSON.parse(client).description)} <br />
{String(JSON.parse(client).detail)} <br />
</nav>
</nav>}
</nav>
))}
</div>
</div>
</div>}
{String(addactivite) === "1" && <div className="div_row" style={{ "marginLeft": "5px", "marginRight": "5px" }} onChange={DataUpdated_Activite_Data}>
</div>
</div>}
{String(showactivite_detail) === "1" && <div className="div_row" style={{ "marginLeft": "5px", "marginRight": "5px" }} onChange={DataUpdated_Activite_Data}>
<div className="training_caract">
<TextField
required
name="activite_description"
label="Description"
label="Description "
InputLabelProps={{
shrink: true,
}}
@ -596,7 +729,7 @@ const PartnerClientActivite = (props) => {
{String(formedit_mode_activite) === "1" && <div className="training_caract">
Date souhaitée
<nav style={{ "fontSize": "11px" }}> Date souhaitée</nav>
<DatePicker
name="activite_deadline"
id="activite_deadline"
@ -734,7 +867,7 @@ const PartnerClientActivite = (props) => {
<Button variant="contained" color="success" className="bton_enreg " onClick={recordPartnerClient_Activite_Data}>Enregistrer &nbsp; <AiTwotoneSave /> </Button>
</div>
<div className="div_row_droite" style={{ "textAlign": "right" }}>
<Button variant="contained" color="success" className="bton_annule" onClick={Close_Activite}>Annuler</Button>
<Button variant="contained" color="success" className="bton_annule" onClick={retour_liste_Activite}>Annuler</Button>
</div>
</div>
}
@ -754,6 +887,123 @@ const PartnerClientActivite = (props) => {
</div>}
{String(add_one_activite) === "1" && <div className="div_row" style={{ "marginLeft": "5px", "marginRight": "5px" }} >
<div className="training_caract">
<TextField
required
name="activite_description"
label="Description "
InputLabelProps={{
shrink: true,
}}
disabled={false}
className="disabled_style"
value={one_activite_description}
onChange={(e) => setone_activite_description(e.target.value)}
/>
</div>
<div className="training_caract">
<nav style={{ "fontSize": "11px" }}> Date souhaitée </nav>
<DatePicker
name="activite_deadline"
id="activite_deadline"
selected={one_activite_deadline}
onChange={(date) => {
setone_activite_deadline(date);
}
}
showTimeSelect={false}
filterTime={filterPassedTime_start}
dateFormat="dd/MM/yyyy"
className="disabled_style enable_style"
locale='fr-FR'
/>
</div>
<div className="training_caract">
<TextField
required
select
name="activite_type"
label="Type d'activité"
InputLabelProps={{
shrink: true,
}}
disabled={false}
className="disabled_style"
value={one_activite_type}
onChange={(e) => setone_activite_type(e.target.value)} >
{type_activite_list.map((option) => (
<MenuItem key={option.value} value={option.value} >
{option.label} &nbsp; <br />
</MenuItem>
))}
</TextField>
</div>
<div className="training_caract">
<TextField
required
select
name="activite_status"
label="Statut"
InputLabelProps={{
shrink: true,
}}
disabled={false}
className="disabled_style"
value={one_activite_status}
onChange={(e) => setone_activite_status(e.target.value)} >
{activite_status_list.map((option) => (
<MenuItem key={option.value} value={option.value} >
{option.label} &nbsp; <br />
</MenuItem>
))}
</TextField>
</div>
<div className="training_caract" style={{ "width": "105%" }}>
<TextField
required
name="activite_detail"
label="Détail"
multiline
rows={3}
InputLabelProps={{
shrink: true,
}}
disabled={false}
className="disabled_style"
value={one_activite_detail}
onChange={(e) => setone_activite_detail(e.target.value)}
/>
</div>
<div className="div_row" style={{ "border": "None" }}>
&nbsp;
</div>
<div className="div_row">
<div className="div_row_gauche">
<Button variant="contained" color="success" className="bton_enreg " onClick={record_One_PartnerClient_Activite_Data}>Enregistrer &nbsp; <AiTwotoneSave /> </Button>
</div>
<div className="div_row_droite" style={{ "textAlign": "right" }}>
<Button variant="contained" color="success" className="bton_annule" onClick={Close_add_one_activite}>Annuler</Button>
</div>
</div>
</div>}
</div>
</div >

View File

@ -19,7 +19,7 @@ import downarrow from "../mysy_img/downarrow.png";
import uparrow from "../mysy_img/uparrow.png";
import excel_icone from "../mysy_img/excel_icone.png";
import participants from "../mysy_img/participants.png";
import Box from '@mui/material/Box';
import Footer from "./Fotter";
import { confirmAlert } from 'react-confirm-alert'; // Import
import { useCookies } from "react-cookie";
@ -60,14 +60,14 @@ const Partner_Client = (props) => {
const columns_clients = [
{ field: 'id', headerName: 'id', hide: true },
{ field: 'email', headerName: 'email', width: 100, hideable: false, flex: 1 },
{ field: 'nom', headerName: 'nom', width: 100, hide: false, editable: true },
{ field: 'nom', headerName: 'nom', width: 100, hide: false, editable: true, flex: 1 },
{
field: "update", headerName: 'Modifier',
renderCell: (cellValues) => {
return (
<div style={{ "marginLeft": "auto", "marginRight": "auto", }} onClick={(event) => {
<div style={{ "marginLeft": "auto", "marginRight": "auto", "cursor": "pointer" }} onClick={(event) => {
handleClick_modifier(event, cellValues);
}}>
<FcAcceptDatabase style={{ "fontSize": "x-large" }} />
@ -81,7 +81,7 @@ const Partner_Client = (props) => {
renderCell: (cellValues) => {
return (
<div style={{ "marginLeft": "auto", "marginRight": "auto", }} onClick={(event) => {
<div style={{ "marginLeft": "auto", "marginRight": "auto", "cursor": "pointer" }} onClick={(event) => {
handleClick_supprimer(event, cellValues);
}}>
<FcDeleteDatabase style={{ "fontSize": "x-large" }} />
@ -154,6 +154,8 @@ const Partner_Client = (props) => {
})
}
function close_detail_client() {
setEdite_Client("0");
@ -220,7 +222,7 @@ const Partner_Client = (props) => {
alert(result['message']);
Get_List_Partner_Clients();
} else if (String(result['status']) === String("Err_Connexion")) {
alert('Erreur: ' + result['message']);
history.push("/Connexion");
@ -240,6 +242,46 @@ const Partner_Client = (props) => {
};
const datagridSx = {
borderRadius: 2,
marginRight: 1,
marginLeft: 1,
border: 0,
"& .MuiDataGrid-main": { borderRadius: 0 },
/*'& div[data-rowIndex][role="row"]:nth-of-type(5n-4)': {
color: "blue",
fontSize: 18,
//risky
minHeight: "60px !important",
height: 60,
"& div": {
minHeight: "60px !important",
height: 60,
lineHeight: "59px !important"
}
},*/
"& .MuiDataGrid-virtualScrollerRenderZone": {
"& .MuiDataGrid-row": {
"&:nth-child(2n)": { backgroundColor: "rgba(235, 235, 235, .7)" }
}
},
"& .MuiDataGrid-columnHeaders": {
backgroundColor: "#c8cfd5",
color: "black",
fontSize: 16
}
};
function handleClick_edit_session_From_Line(selected_row_id) {
if (rows_list_clients[selected_row_id]) {
var line = JSON.parse(rows_list_clients[selected_row_id]);
var clientmail = String(line.email);
setClient_email(clientmail);
setEdite_Client("1");
}
}
return (
@ -303,31 +345,53 @@ const Partner_Client = (props) => {
/>
</div>
<DataGrid
<Box
sx={{
height: 500,
width: '100%',
paddingRight: '1px',
'& .cell--presentiel': {
backgroundColor: '#a2cf6e',
color: '#1a3e72',
fontWeight: 'bold',
},
localeText={frFR.components.MuiDataGrid.defaultProps.localeText}
rows={rows_list_clients.map((item, index) => (
{
id: index,
email: JSON.parse(item).email,
nom: JSON.parse(item).nom,
}
))}
columns={columns_clients}
pageSize={10}
className="datagridclass"
rowsPerPageOptions={[10]}
disableSelectionOnClick
components={{
Toolbar: GridToolbar,
}}
>
<DataGrid
localeText={frFR.components.MuiDataGrid.defaultProps.localeText}
rows={rows_list_clients.map((item, index) => (
{
id: index,
email: JSON.parse(item).email,
nom: JSON.parse(item).nom,
}
))}
/>
columns={columns_clients}
pageSize={10}
className="datagridclass"
rowsPerPageOptions={[10]}
//disableSelectionOnClick
checkboxSelection
components={{
Toolbar: GridToolbar,
}}
sx={datagridSx}
onSelectionModelChange={(newSelectionModel) => {
setSelectionModel(newSelectionModel);
if( newSelectionModel.length === 1)
handleClick_edit_session_From_Line(newSelectionModel);
}}
selectionModel={selectionModel}
/>
</Box>
<br />
@ -337,7 +401,7 @@ const Partner_Client = (props) => {
</div>
<div className="titre1"> Grid des clients</div>
{/*<div className="titre1"> Grid des clients</div>
<div className="div_row" style={{ "marginLeft": "5px", "marginRight": "5px" }}>
<div className="client_grid">
@ -356,6 +420,7 @@ const Partner_Client = (props) => {
))}
</div>
</div>
*/}
</div>

View File

@ -105,6 +105,7 @@
width: 100% !important;
height: 3rem !important;
margin: 5px !important;
border: none !important;
}
.css-1sqnrkk-MuiInputBase-input-MuiOutlinedInput-input,
@ -458,6 +459,7 @@
width: 95% !important;
height: 3rem !important;
margin: 2px !important;
border: none !important;
}
.css-1sqnrkk-MuiInputBase-input-MuiOutlinedInput-input,
@ -871,6 +873,7 @@
width: 90% !important;
height: 3rem !important;
margin: 5px !important;
border: none !important;
}
.css-1sqnrkk-MuiInputBase-input-MuiOutlinedInput-input,
@ -1291,6 +1294,7 @@
width: 90% !important;
height: 3rem !important;
margin: 5px !important;
border: none !important;
}
.css-1sqnrkk-MuiInputBase-input-MuiOutlinedInput-input,

View File

@ -421,6 +421,194 @@
box-shadow: 5px 1px 5px 1px rgb(0 0 0 / 25%);
}
.tick_ok_ko {
max-width: 3%;
cursor: pointer;
padding-top: 4px;
}
.texte_area {
float: left;
width: 47% !important;
font-size: x-small !important;
font-family: "verdana", "Quicksand", "Signika", sans-serif;
margin: 0.4rem !important;
margin-top: 0px !important;
margin-bottom: 1.5rem !important;
}
.texte_area_filter {
float: left;
width: 100% !important;
font-size: x-small !important;
font-family: "verdana", "Quicksand", "Signika", sans-serif;
margin-top: 0px !important;
margin-bottom: 2px !important;
}
.texte_area_filter_value {
float: left !important;
width: 100% !important;
font-size: x-small !important;
font-family: "verdana", "Quicksand", "Signika", sans-serif;
margin: 0.4rem !important;
margin-top: 0px !important;
margin-bottom: 2px !important;
}
.filter_bton_add {
float: left;
width: 40% !important;
font-size: xx-large !important;
margin: 0.4rem !important;
margin-top: 0px !important;
margin-bottom: 2px !important;
text-align: right;
cursor: pointer;
}
.div_row {
float: left;
border-width: 0.01rem;
width: 100%;
border-radius: 1rem;
}
.div_row_gauche {
float: left;
width: 100%;
border-radius: 1rem;
text-align: left;
}
.div_row_droite {
float: left;
width: 100%;
border-radius: 1rem;
text-align: left;
}
.bton_suppr {
background: transparent;
color: red;
border-radius: 5rem;
font-size: small;
text-align: center;
height: 2.5rem;
width: 100%;
margin-left: 10px;
margin-right: 10px;
margin-bottom: 1rem !important;
}
.bton_enreg {
border-radius: 5rem;
font-size: small;
background: #81BC3A !important;
text-align: center;
height: 2.5rem;
width: 100%;
color: white;
margin-bottom: 1rem !important;
}
.bton_edit {
border-radius: 5rem;
font-size: small;
background: black !important;
text-align: right;
height: 2.5rem;
width: 100%;
color: white;
margin-bottom: 1rem !important;
}
.bton_annule {
border-radius: 5rem;
font-size: small;
background: lightgray !important;
text-align: right;
height: 2.5rem;
width: 100%;
color: black;
margin-bottom: 1rem !important;
}
.css-1t10bd6-MuiFormControl-root-MuiTextField-root fieldset {
border-color: transparent !important;
border-radius: 20px !important;
}
.disabled_style {
//background-color: #ECEFF1;
font-size: small !important;
color: black;
width: 100% !important;
height: 3.5rem !important;
//border: none !important;
border-radius: 5px;
background: white;
border: solid gainsboro 1px;
}
.training_caract {
width: 100%;
float: left;
}
.css-1t8l2tu-MuiInputBase-input-MuiOutlinedInput-input .Mui-disabled {
font: inherit;
letter-spacing: inherit;
color: currentColor;
border: 0;
box-sizing: content-box;
background: none;
background-color: rgba(0, 0, 0, 0);
margin: 0;
-webkit-tap-highlight-color: transparent;
display: block;
min-width: 0;
width: 100%;
-webkit-animation-name: mui-auto-fill-cancel;
animation-name: mui-auto-fill-cancel;
-webkit-animation-duration: 10ms;
animation-duration: 10ms;
height: 3rem !important;
padding: 0 !important;
padding-left: 5px !important;
}
.css-11u53oe-MuiSelect-select-MuiInputBase-input-MuiOutlinedInput-input {
padding: 1px !important;
}
.block_en_mass {
width: 100%;
float: left;
margin-bottom: 1rem;
}
.block_en_mass_select {
width: 100%;
float: left;
margin-bottom: 1rem;
}
.block_en_mass_bton_action {
width: 100%;
float: left;
margin-bottom: 1rem;
padding-top: 0.5rem !important;
}
}
@media only screen and (min-width: 601px) and (max-width: 991px) {
@ -436,32 +624,6 @@
font-style: italic;
}
.div_row {
float: left;
//border: 1px solid black;
border-width: 0.01rem;
width: 100%;
margin-bottom: 1rem;
border-radius: 1rem;
}
.div_row_gauche {
float: left;
// border:1px solid black;
// border-width:0.01rem;
//width: 45%;
border-radius: 1rem;
}
.div_row_droite {
float: right;
//border:1px solid black;
//border-width:0.01rem;
width: 45%;
border-radius: 1rem;
text-align: right;
}
.selectsession {
width: 90%;
height: 3rem;
@ -508,7 +670,7 @@
margin-right: 1rem;
padding: 0.3rem;
margin-bottom: 0.5rem;
width: 10.5rem;
width: 11rem;
text-align: center;
border: 1px solid #9cf;
color: #3b3e40;
@ -681,7 +843,7 @@
.bton_add_session {
background: #c8cfd5;
color: black;
width: 30%;
width: 50%;
}
.bton_import_excel {
@ -691,7 +853,7 @@
}
.div_row_gauche_etendu {
width: 80%;
width: 80% !important;
}
.icon_excel {
@ -822,6 +984,207 @@
box-shadow: 5px 1px 5px 1px rgb(0 0 0 / 25%);
}
.tick_ok_ko {
max-width: 3%;
cursor: pointer;
padding-top: 4px;
}
.texte_area {
float: left;
width: 47% !important;
font-size: x-small !important;
font-family: "verdana", "Quicksand", "Signika", sans-serif;
margin: 0.4rem !important;
margin-top: 0px !important;
margin-bottom: 1.5rem !important;
}
.texte_area_filter {
float: left;
width: 40% !important;
font-size: x-small !important;
font-family: "verdana", "Quicksand", "Signika", sans-serif;
margin: 0.4rem !important;
margin-top: 0px !important;
margin-bottom: 2px !important;
}
.texte_area_filter_value {
float: left !important;
width: 40% !important;
font-size: x-small !important;
font-family: "verdana", "Quicksand", "Signika", sans-serif;
margin: 0.4rem !important;
margin-top: 0px !important;
margin-bottom: 2px !important;
}
.filter_bton_add {
float: left;
width: 5% !important;
font-size: large !important;
margin: 0.4rem !important;
margin-top: 0px !important;
margin-bottom: 2px !important;
text-align: right;
cursor: pointer;
margin-top: 1rem !important;
}
.div_row {
float: left;
//border: 1px solid black;
border-width: 0.01rem;
width: 100%;
//margin-bottom: 1rem;
border-radius: 1rem;
}
.div_row_gauche {
float: left;
// border:1px solid black;
// border-width:0.01rem;
width: 45%;
border-radius: 1rem;
text-align: left;
}
.div_row_droite {
float: right;
//border:1px solid black;
//border-width:0.01rem;
width: 45%;
border-radius: 1rem;
text-align: right;
}
.bton_suppr {
background: transparent;
color: red;
border-radius: 5rem;
font-size: small;
text-align: center;
height: 2.5rem;
width: 40%;
margin-left: 10px;
margin-right: 10px;
min-width: 15rem;
}
.bton_enreg {
border-radius: 5rem;
font-size: small;
background: #81BC3A !important;
text-align: center;
height: 2.5rem;
width: 40%;
color: white;
margin-left: 10px;
margin-right: 10px;
min-width: 15rem;
}
.bton_edit {
border-radius: 5rem;
font-size: small;
background: black !important;
text-align: right;
height: 2.5rem;
width: 40%;
color: white;
margin-left: 10px;
margin-right: 10px;
min-width: 15rem;
}
.bton_annule {
border-radius: 5rem;
font-size: small;
background: lightgray !important;
text-align: right;
height: 2.5rem;
width: 40%;
color: black;
margin-left: 10px;
margin-right: 10px;
min-width: 15rem;
}
.css-1t10bd6-MuiFormControl-root-MuiTextField-root fieldset {
border-color: transparent !important;
border-radius: 20px !important;
}
.disabled_style {
//background-color: #ECEFF1;
font-size: small !important;
color: black;
width: 90% !important;
height: 3.5rem !important;
margin: 5px !important;
//border: none !important;
border-radius: 5px;
background: white;
border: solid gainsboro 1px;
padding-top: 0.5rem !important;
border: none !important;
}
.training_caract {
width: 30%;
padding: 5px;
float: left;
}
.css-1t8l2tu-MuiInputBase-input-MuiOutlinedInput-input .Mui-disabled {
font: inherit;
letter-spacing: inherit;
color: currentColor;
border: 0;
box-sizing: content-box;
background: none;
background-color: rgba(0, 0, 0, 0);
margin: 0;
-webkit-tap-highlight-color: transparent;
display: block;
min-width: 0;
width: 100%;
-webkit-animation-name: mui-auto-fill-cancel;
animation-name: mui-auto-fill-cancel;
-webkit-animation-duration: 10ms;
animation-duration: 10ms;
height: 3rem !important;
padding: 0 !important;
padding-left: 5px !important;
}
.css-11u53oe-MuiSelect-select-MuiInputBase-input-MuiOutlinedInput-input {
padding: 1px !important;
}
.block_en_mass {
width: 50%;
float: left;
margin-bottom: 1rem;
}
.block_en_mass_select {
width: 45%;
float: left;
margin-bottom: 1rem;
}
.block_en_mass_bton_action {
width: 45%;
float: left;
margin-bottom: 1rem;
padding-top: 0.5rem !important;
}
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
@ -1224,6 +1587,69 @@
.bton_image_class:hover {
box-shadow: 5px 1px 5px 1px rgb(0 0 0 / 25%);
}
.tick_ok_ko {
max-width: 3%;
cursor: pointer;
padding-top: 4px;
}
.texte_area {
float: left;
width: 47% !important;
font-size: x-small !important;
font-family: "verdana", "Quicksand", "Signika", sans-serif;
margin: 0.4rem !important;
margin-top: 0px !important;
margin-bottom: 1.5rem !important;
}
.texte_area_filter {
float: left;
width: 40% !important;
font-size: x-small !important;
font-family: "verdana", "Quicksand", "Signika", sans-serif;
margin: 0.4rem !important;
margin-top: 0px !important;
margin-bottom: 2px !important;
}
.texte_area_filter_value {
float: left !important;
width: 40% !important;
font-size: x-small !important;
font-family: "verdana", "Quicksand", "Signika", sans-serif;
margin: 0.4rem !important;
margin-top: 0px !important;
margin-bottom: 2px !important;
}
.filter_bton_add {
float: left;
width: 5% !important;
font-size: xx-large !important;
margin: 0.4rem !important;
margin-top: 0px !important;
margin-bottom: 2px !important;
text-align: right;
cursor: pointer;
}
.titre1 {
font-family: "Quicksand", "Signika", sans-serif;
font-size: medium;
text-align: center;
margin-bottom: 0.8rem;
color: white;
cursor: pointer;
font-style: italic;
background-color: gray;
font-weight: normal;
}
}
@media only screen and (min-width: 1200px) {
@ -1755,6 +2181,13 @@
font-weight: normal;
}
.file_ariane{
font-size: large;
font-weight: 600;
width: 100%;
text-align: center;
}
}
// end media

View File

@ -225,7 +225,7 @@
}
.bton_rechercher {
width: 50%;
width: 100%;
background: #81BC3A;
padding: 0.3rem;
border-radius: 5rem;
@ -236,6 +236,180 @@
color: white;
}
.texte_area_filter {
float: left;
width: 100% !important;
font-size: x-small !important;
font-family: "verdana", "Quicksand", "Signika", sans-serif;
margin-top: 0px !important;
margin-bottom: 2px !important;
}
.texte_area_filter_value {
float: left !important;
width: 100% !important;
font-size: x-small !important;
font-family: "verdana", "Quicksand", "Signika", sans-serif;
margin: 0.4rem !important;
margin-top: 0px !important;
margin-bottom: 2px !important;
}
.filter_bton_add {
float: left;
width: 40% !important;
font-size: xx-large !important;
margin: 0.4rem !important;
margin-top: 0px !important;
margin-bottom: 2px !important;
text-align: right;
cursor: pointer;
}
.div_row {
float: left;
border-width: 0.01rem;
width: 100%;
border-radius: 1rem;
}
.div_row_gauche {
float: left;
width: 100%;
border-radius: 1rem;
text-align: left;
}
.div_row_droite {
float: left;
width: 100%;
border-radius: 1rem;
text-align: left;
}
.bton_suppr {
background: transparent;
color: red;
border-radius: 5rem;
font-size: small;
text-align: center;
height: 2.5rem;
width: 100%;
margin-left: 10px;
margin-right: 10px;
margin-bottom: 1rem !important;
}
.bton_enreg {
border-radius: 5rem;
font-size: small;
background: #81BC3A !important;
text-align: center;
height: 2.5rem;
width: 100%;
color: white;
margin-bottom: 1rem !important;
}
.bton_edit {
border-radius: 5rem;
font-size: small;
background: black !important;
text-align: right;
height: 2.5rem;
width: 100%;
color: white;
margin-bottom: 1rem !important;
}
.bton_annule {
border-radius: 5rem;
font-size: small;
background: lightgray !important;
text-align: right;
height: 2.5rem;
width: 100%;
color: black;
margin-bottom: 1rem !important;
}
.css-1t10bd6-MuiFormControl-root-MuiTextField-root fieldset {
border-color: transparent !important;
border-radius: 20px !important;
}
.disabled_style {
//background-color: #ECEFF1;
font-size: small !important;
color: black;
width: 100% !important;
height: 3.5rem !important;
//border: none !important;
border-radius: 5px;
background: white;
border: solid gainsboro 1px;
}
.training_caract {
width: 100%;
float: left;
}
.css-1t8l2tu-MuiInputBase-input-MuiOutlinedInput-input .Mui-disabled {
font: inherit;
letter-spacing: inherit;
color: currentColor;
border: 0;
box-sizing: content-box;
background: none;
background-color: rgba(0, 0, 0, 0);
margin: 0;
-webkit-tap-highlight-color: transparent;
display: block;
min-width: 0;
width: 100%;
-webkit-animation-name: mui-auto-fill-cancel;
animation-name: mui-auto-fill-cancel;
-webkit-animation-duration: 10ms;
animation-duration: 10ms;
height: 3rem !important;
padding: 0 !important;
padding-left: 5px !important;
}
.css-11u53oe-MuiSelect-select-MuiInputBase-input-MuiOutlinedInput-input {
padding: 1px !important;
}
.block_en_mass {
width: 100%;
float: left;
margin-bottom: 1rem;
}
.block_en_mass_select {
width: 100%;
float: left;
margin-bottom: 1rem;
}
.block_en_mass_bton_action {
width: 100%;
float: left;
margin-bottom: 1rem;
padding-top: 0.5rem !important;
}
}
@media only screen and (min-width: 601px) and (max-width: 991px) {
@ -424,6 +598,192 @@
color: white;
letter-spacing: 3px;
}
.texte_area_filter {
float: left;
width: 40% !important;
font-size: x-small !important;
font-family: "verdana", "Quicksand", "Signika", sans-serif;
margin: 0.4rem !important;
margin-top: 0px !important;
margin-bottom: 2px !important;
}
.texte_area_filter_value {
float: left !important;
width: 40% !important;
font-size: x-small !important;
font-family: "verdana", "Quicksand", "Signika", sans-serif;
margin: 0.4rem !important;
margin-top: 0px !important;
margin-bottom: 2px !important;
}
.filter_bton_add {
float: left;
width: 5% !important;
font-size: large !important;
margin: 0.4rem !important;
margin-top: 0px !important;
margin-bottom: 2px !important;
text-align: right;
cursor: pointer;
margin-top: 1rem !important;
}
.div_row {
float: left;
//border: 1px solid black;
border-width: 0.01rem;
width: 100%;
//margin-bottom: 1rem;
border-radius: 1rem;
}
.div_row_gauche {
float: left;
// border:1px solid black;
// border-width:0.01rem;
width: 45%;
border-radius: 1rem;
text-align: left;
}
.div_row_droite {
float: right;
//border:1px solid black;
//border-width:0.01rem;
width: 45%;
border-radius: 1rem;
text-align: right;
}
.bton_suppr {
background: transparent;
color: red;
border-radius: 5rem;
font-size: small;
text-align: center;
height: 2.5rem;
width: 40%;
margin-left: 10px;
margin-right: 10px;
min-width: 15rem;
}
.bton_enreg {
border-radius: 5rem;
font-size: small;
background: #81BC3A !important;
text-align: center;
height: 2.5rem;
width: 40%;
color: white;
margin-left: 10px;
margin-right: 10px;
min-width: 15rem;
}
.bton_edit {
border-radius: 5rem;
font-size: small;
background: black !important;
text-align: right;
height: 2.5rem;
width: 40%;
color: white;
margin-left: 10px;
margin-right: 10px;
min-width: 15rem;
}
.bton_annule {
border-radius: 5rem;
font-size: small;
background: lightgray !important;
text-align: right;
height: 2.5rem;
width: 40%;
color: black;
margin-left: 10px;
margin-right: 10px;
min-width: 15rem;
}
.css-1t10bd6-MuiFormControl-root-MuiTextField-root fieldset {
border-color: transparent !important;
border-radius: 20px !important;
}
.disabled_style {
//background-color: #ECEFF1;
font-size: small !important;
color: black;
width: 90% !important;
height: 3.5rem !important;
margin: 5px !important;
//border: none !important;
border-radius: 5px;
background: white;
border: solid gainsboro 1px;
padding-top: 0.5rem !important;
}
.training_caract {
width: 30%;
padding: 5px;
float: left;
}
.css-1t8l2tu-MuiInputBase-input-MuiOutlinedInput-input .Mui-disabled {
font: inherit;
letter-spacing: inherit;
color: currentColor;
border: 0;
box-sizing: content-box;
background: none;
background-color: rgba(0, 0, 0, 0);
margin: 0;
-webkit-tap-highlight-color: transparent;
display: block;
min-width: 0;
width: 100%;
-webkit-animation-name: mui-auto-fill-cancel;
animation-name: mui-auto-fill-cancel;
-webkit-animation-duration: 10ms;
animation-duration: 10ms;
height: 3rem !important;
padding: 0 !important;
padding-left: 5px !important;
}
.css-11u53oe-MuiSelect-select-MuiInputBase-input-MuiOutlinedInput-input {
padding: 1px !important;
}
.block_en_mass {
width: 50%;
float: left;
margin-bottom: 1rem;
}
.block_en_mass_select {
width: 45%;
float: left;
margin-bottom: 1rem;
}
.block_en_mass_bton_action {
width: 45%;
float: left;
margin-bottom: 1rem;
padding-top: 0.5rem !important;
}
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
@ -613,6 +973,192 @@
letter-spacing: 3px;
}
.texte_area_filter {
float: left;
width: 40% !important;
font-size: x-small !important;
font-family: "verdana", "Quicksand", "Signika", sans-serif;
margin: 0.4rem !important;
margin-top: 0px !important;
margin-bottom: 2px !important;
}
.texte_area_filter_value {
float: left !important;
width: 40% !important;
font-size: x-small !important;
font-family: "verdana", "Quicksand", "Signika", sans-serif;
margin: 0.4rem !important;
margin-top: 0px !important;
margin-bottom: 2px !important;
}
.filter_bton_add {
float: left;
width: 5% !important;
font-size: x-large !important;
margin: 0.4rem !important;
margin-top: 0px !important;
margin-bottom: 2px !important;
text-align: right;
cursor: pointer;
margin-top: 0.5rem !important;
}
.div_row {
float: left;
//border: 1px solid black;
border-width: 0.01rem;
width: 100%;
//margin-bottom: 1rem;
border-radius: 1rem;
}
.div_row_gauche {
float: left;
// border:1px solid black;
// border-width:0.01rem;
width: 45%;
border-radius: 1rem;
text-align: left;
}
.div_row_droite {
float: right;
//border:1px solid black;
//border-width:0.01rem;
width: 45%;
border-radius: 1rem;
text-align: right;
}
.bton_suppr {
background: transparent;
color: red;
border-radius: 5rem;
font-size: small;
text-align: center;
height: 2.5rem;
width: 40%;
margin-left: 10px;
margin-right: 10px;
min-width: 15rem;
}
.bton_enreg {
border-radius: 5rem;
font-size: small;
background: #81BC3A !important;
text-align: center;
height: 2.5rem;
width: 40%;
color: white;
margin-left: 10px;
margin-right: 10px;
min-width: 15rem;
}
.bton_edit {
border-radius: 5rem;
font-size: small;
background: black !important;
text-align: right;
height: 2.5rem;
width: 40%;
color: white;
margin-left: 10px;
margin-right: 10px;
min-width: 15rem;
}
.bton_annule {
border-radius: 5rem;
font-size: small;
background: lightgray !important;
text-align: right;
height: 2.5rem;
width: 40%;
color: black;
margin-left: 10px;
margin-right: 10px;
min-width: 15rem;
}
.css-1t10bd6-MuiFormControl-root-MuiTextField-root fieldset {
border-color: transparent !important;
border-radius: 20px !important;
}
.disabled_style {
//background-color: #ECEFF1;
font-size: small !important;
color: black;
width: 90% !important;
height: 3.5rem !important;
margin: 5px !important;
//border: none !important;
border-radius: 5px;
background: white;
border: solid gainsboro 1px;
padding-top: 0.5rem !important;
}
.training_caract {
width: 30%;
padding: 5px;
float: left;
}
.css-1t8l2tu-MuiInputBase-input-MuiOutlinedInput-input .Mui-disabled {
font: inherit;
letter-spacing: inherit;
color: currentColor;
border: 0;
box-sizing: content-box;
background: none;
background-color: rgba(0, 0, 0, 0);
margin: 0;
-webkit-tap-highlight-color: transparent;
display: block;
min-width: 0;
width: 100%;
-webkit-animation-name: mui-auto-fill-cancel;
animation-name: mui-auto-fill-cancel;
-webkit-animation-duration: 10ms;
animation-duration: 10ms;
height: 3rem !important;
padding: 0 !important;
padding-left: 5px !important;
}
.css-11u53oe-MuiSelect-select-MuiInputBase-input-MuiOutlinedInput-input {
padding: 1px !important;
}
.block_en_mass {
width: 50%;
float: left;
margin-bottom: 1rem;
}
.block_en_mass_select {
width: 45%;
float: left;
margin-bottom: 1rem;
}
.block_en_mass_bton_action {
width: 45%;
float: left;
margin-bottom: 1rem;
padding-top: 0.5rem !important;
}
}
@media only screen and (min-width: 1200px) {
@ -821,10 +1367,10 @@
margin: 0.4rem !important;
margin-top: 0px !important;
margin-bottom: 2px !important;
}
.filter_bton_add {
float: left;
width: 5% !important;
@ -852,6 +1398,7 @@
// border-width:0.01rem;
width: 45%;
border-radius: 1rem;
text-align: left;
}
.div_row_droite {
@ -929,6 +1476,7 @@
background: white;
border: solid gainsboro 1px;
padding-top: 0.5rem !important;
border: none !important;
}
.training_caract {
@ -963,6 +1511,26 @@
padding: 1px !important;
}
.block_en_mass {
width: 50%;
float: left;
margin-bottom: 1rem;
}
.block_en_mass_select {
width: 45%;
float: left;
margin-bottom: 1rem;
}
.block_en_mass_bton_action {
width: 45%;
float: left;
margin-bottom: 1rem;
padding-top: 0.5rem !important;
}
}
// end media

View File

@ -187,7 +187,7 @@
float: center;
//border: 1px solid black;
border-width: 0.01rem;
width: 95%;
width: 97%;
height: auto;
margin: auto;
padding: 5px;
@ -316,7 +316,7 @@
z-index: 50;
width: 100%;
float: left;
margin-top: 5rem;
margin-top: 15rem;
}
.menuPrincipal {

View File

@ -12,7 +12,7 @@
font-style: italic;
}
@media only screen and (max-width: 600px) {
@media only screen and (max-width: 600px) {
.div_row {
float: left;
//border:0px solid black;
@ -509,7 +509,7 @@
padding-right: 1rem !important;
}
.block_all_activite{
.block_all_activite {
width: 100%;
float: left;
border-width: 0.01rem;
@ -523,7 +523,7 @@
}
.block_activite{
.block_activite {
width: 50%;
float: left;
margin-bottom: 1rem;
@ -736,9 +736,9 @@
.detail_header {
display: inline-block;
color: #808080;
border: 1px solid #CCC;
background: #b3cee5;
color: green;
border: none;
background: white;
box-shadow: 1px 1px 10px 1px rgb(0 0 0 / 15%);
cursor: pointer;
vertical-align: middle;
@ -752,9 +752,9 @@
.detail_activite {
display: inline-block;
color: #808080;
border: 1px solid #CCC;
background: #b3cee5;
color: green;
border: none;
background: white;
box-shadow: 1px 1px 10px 1px rgb(0 0 0 / 15%);
cursor: pointer;
vertical-align: middle;
@ -778,7 +778,7 @@
padding-right: 1rem !important;
}
.block_all_activite{
.block_all_activite {
width: 100%;
float: left;
border-width: 0.01rem;
@ -792,7 +792,7 @@
}
.block_all_activite{
.block_all_activite {
width: 100%;
float: left;
border-width: 0.01rem;
@ -806,7 +806,7 @@
}
.block_activite{
.block_activite {
width: 50%;
float: left;
margin-bottom: 1.5rem;
@ -1021,34 +1021,30 @@
.detail_header {
display: inline-block;
color: #808080;
border: 1px solid #CCC;
background: #b3cee5;
box-shadow: 1px 1px 10px 1px rgb(0 0 0 / 15%);
cursor: pointer;
vertical-align: middle;
padding: 5px;
text-align: left;
font-weight: bold;
width: 10rem;
border-top-right-radius: 5px !important;
color: green;
border: none;
font-weight: 600;
font-size: small;
width: 100%;
margin-bottom: 0.5rem !important;
text-align: left;
}
.detail_activite {
display: inline-block;
color: #808080;
border: 1px solid #CCC;
background: #b3cee5;
color: black;
border: none;
background: white;
box-shadow: 1px 1px 10px 1px rgb(0 0 0 / 15%);
cursor: pointer;
vertical-align: middle;
padding: 5px;
text-align: left;
min-width: 20rem !important;
border-top-right-radius: 10px !important;
height: 5rem !important;
width: 20rem;
border-radius: 10px !important;
height: 7rem !important;
font-size: small;
padding-bottom: 10px;
}
.detail_activite:hover {
@ -1063,7 +1059,7 @@
padding-right: 1rem !important;
}
.block_all_activite{
.block_all_activite {
width: 100%;
float: left;
border-width: 0.01rem;
@ -1077,7 +1073,7 @@
}
.block_activite{
.block_activite {
width: 30%;
float: left;
margin-bottom: 1rem;
@ -1085,7 +1081,7 @@
}
// end media
// end media
.css-1v4ccyo {
height: 3rem !important;
}