From 22eaf4528fc828ba6da0f46f39f4435632ae55f0 Mon Sep 17 00:00:00 2001 From: Cherif Date: Sun, 14 Jun 2026 11:55:42 +0200 Subject: [PATCH] 14/06/2026 - 12h --- src/components/AddClassManual.js | 4 +- src/components/AddPartnerClient.js | 15 +- src/components/Apprenant.js | 18 +- src/components/Autre_RH.js | 10 +- src/components/Config_Document.js | 119 ++--- src/components/Config_Document_Super_Admin.js | 271 ++++++------ src/components/Employes.js | 16 +- src/components/Module_Absence.js | 366 ++++++++++++++- src/components/Module_ENT_Absence.js | 416 ++++++++++++++++-- src/components/Module_Ent_Mes_Formations.js | 6 +- .../Module_Evaluation_Positionnement.js | 29 +- .../Module_Relance_Client_Facture.js | 281 ++++++++++-- .../Module_Session_Planification.js | 4 +- src/components/Modules_Mes_Documents.js | 2 - src/components/Partner_Client.js | 8 +- 15 files changed, 1246 insertions(+), 319 deletions(-) diff --git a/src/components/AddClassManual.js b/src/components/AddClassManual.js index 3a9f921..77724ec 100644 --- a/src/components/AddClassManual.js +++ b/src/components/AddClassManual.js @@ -11704,7 +11704,9 @@ const AddClassManual = (props) => { id="competence_nom" name="competence_nom" fullWidth - + sx={{ + backgroundColor: "#FFF", + }} options={New_Getall_Employee_Statistic_Question_List_result} value={New_Getall_Employee_Statistic_Question_List_result.filter((data) => (data)._id === String(selected_statistic_question_id))[0].label} diff --git a/src/components/AddPartnerClient.js b/src/components/AddPartnerClient.js index 079f6f5..8b698e5 100644 --- a/src/components/AddPartnerClient.js +++ b/src/components/AddPartnerClient.js @@ -990,14 +990,7 @@ const AddParnerClient = (props) => { }) } - const [New_Getall_Training_Employee_No_Filter_result, setNew_Getall_Training_Employee_No_Filter_result] = useState([{ - "_id": "", - "id": "", - "label": "", - "nom": "", - "prenom": "", - "ismanager": "" - }]); + const [New_Getall_Training_Employee_No_Filter_result, setNew_Getall_Training_Employee_No_Filter_result] = useState([]); const [Getall_Training_Employee_No_Filter_api, setGetall_Training_Employee_No_Filter_api] = useState(); const [Getall_Training_Employee_No_Filter_message, setGetall_Training_Employee_No_Filter_message] = useState(); @@ -4088,8 +4081,8 @@ const AddParnerClient = (props) => { setLoading(false); if (String(res.data.status) === String("true")) { //console.log(" In Get_All_Paiement_of_Client res.data.status = " + res.data.status); - console.log(" In Get_All_Paiement_of_Client res.data.message r_class = " + res.data.message); - console.log(" In Get_All_Paiement_of_Client res.data.total_payed_amount r_class = " + res.data.total_payed_amount); + // console.log(" In Get_All_Paiement_of_Client res.data.message r_class = " + res.data.message); + // console.log(" In Get_All_Paiement_of_Client res.data.total_payed_amount r_class = " + res.data.total_payed_amount); setGet_All_Paiement_of_Client_api("true"); setGet_All_Paiement_of_Client_result(res.data.message); setNew_Get_All_Paiement_Total_Payed(res.data.total_payed_amount); @@ -7910,7 +7903,7 @@ const AddParnerClient = (props) => {
- Rôle principal exist + Rôle principal
 
diff --git a/src/components/Apprenant.js b/src/components/Apprenant.js index 928b582..c8d287d 100644 --- a/src/components/Apprenant.js +++ b/src/components/Apprenant.js @@ -8723,11 +8723,11 @@ const Apprenant = (props) => {
-
+
  { ))} columns={columns} - pageSize={10} + pageSize={20} className="datagridclass" onRowDoubleClick={(newSelectionModel) => { @@ -8853,7 +8853,7 @@ const Apprenant = (props) => { - rowsPerPageOptions={[10]} + rowsPerPageOptions={[20]} disableSelectionOnClick /* components={{ Toolbar: GridToolbar, @@ -10151,7 +10151,7 @@ const Apprenant = (props) => { }} disabled={false} className="disabled_style enable_style" - value={p_detail_nom} + value={p_detail_nom_fille} onChange={(e) => { setp_detail_nom_fille(e.target.value); setapprenant_data_changed("1"); @@ -11192,11 +11192,11 @@ const Apprenant = (props) => {
-
+
  { ))} columns={columns_suivi_pedagogique} - pageSize={10} + pageSize={20} className="datagridclass" onRowDoubleClick={(newSelectionModel) => { @@ -11264,7 +11264,7 @@ const Apprenant = (props) => { - rowsPerPageOptions={[10]} + rowsPerPageOptions={[20]} disableSelectionOnClick components={{ Toolbar: GridToolbar, diff --git a/src/components/Autre_RH.js b/src/components/Autre_RH.js index 54a2ecc..5b6f659 100644 --- a/src/components/Autre_RH.js +++ b/src/components/Autre_RH.js @@ -9170,6 +9170,9 @@ const Autre_RH = (props) => { id="combo-box-demo" className="block_en_mass_select" fullWidth + sx={{ + backgroundColor: "#FFF", + }} options={New_Option} onChange={(event, value) => { if (value && value.value) { @@ -12029,6 +12032,9 @@ const Autre_RH = (props) => { id="combo-box-demo" className="block_en_mass_select" fullWidth + sx={{ + backgroundColor: "#FFF", + }} options={New_Option_Evaluation_Masse} onChange={(event, value) => { if (value && value.value) { @@ -12811,7 +12817,9 @@ const Autre_RH = (props) => { name="competence_nom" fullWidth - + sx={{ + backgroundColor: "#FFF", + }} options={New_Getall_Employee_Statistic_Question_List_result} value={New_Getall_Employee_Statistic_Question_List_result.filter((data) => (data)._id === String(selected_statistic_question_id))[0].label} diff --git a/src/components/Config_Document.js b/src/components/Config_Document.js index 8313f5e..b1a393a 100644 --- a/src/components/Config_Document.js +++ b/src/components/Config_Document.js @@ -2424,19 +2424,19 @@ const Config_Documents = (props) => { }} renderInput={(params) => @@ -2538,19 +2538,19 @@ const Config_Documents = (props) => { }} renderInput={(params) => @@ -2661,11 +2661,11 @@ const Config_Documents = (props) => {
-
+
  { "& .MuiDataGrid-columnHeaders": { - backgroundColor: "#dfe8f2", - color: "#0a2a4d", - fontSize: '14px', - fontFamily:'DM Sans', + backgroundColor: "#dfe8f2", + color: "#0a2a4d", + fontSize: '14px', + fontFamily: 'DM Sans', }, '& .line--statut--selected': { @@ -2738,7 +2738,7 @@ const Config_Documents = (props) => { ))} columns={columns} - pageSize={10} + pageSize={20} className="datagridclass" onRowDoubleClick={(newSelectionModel) => { @@ -2748,7 +2748,7 @@ const Config_Documents = (props) => { }} - rowsPerPageOptions={[10]} + rowsPerPageOptions={[20]} //disableSelectionOnClick components={{ Toolbar: GridToolbar, @@ -3151,8 +3151,8 @@ const Config_Documents = (props) => { height: 700, menubar: true, plugins: [ - 'advlist', 'autolink', 'lists', 'link', 'image', 'charmap', 'preview', 'anchor', 'searchreplace', - 'visualblocks', 'code', 'fullscreen', 'insertdatetime', 'media', 'table', 'code', 'help', 'wordcount', + 'advlist', 'autolink', 'lists', 'link', 'image', 'charmap', 'preview', 'anchor', 'searchreplace', + 'visualblocks', 'code', 'fullscreen', 'insertdatetime', 'media', 'table', 'code', 'help', 'wordcount', 'lists', 'link', 'image', 'charmap', 'preview', 'anchor', 'searchreplace', 'visualblocks', ], @@ -3183,8 +3183,8 @@ const Config_Documents = (props) => { menubar: true, readonly: 1, plugins: [ - 'advlist', 'autolink', 'lists', 'link', 'image', 'charmap', 'preview', 'anchor', 'searchreplace', - 'visualblocks', 'code', 'fullscreen', 'insertdatetime', 'media', 'table', 'code', 'help', 'wordcount', + 'advlist', 'autolink', 'lists', 'link', 'image', 'charmap', 'preview', 'anchor', 'searchreplace', + 'visualblocks', 'code', 'fullscreen', 'insertdatetime', 'media', 'table', 'code', 'help', 'wordcount', 'lists', 'link', 'image', 'charmap', 'preview', 'anchor', 'searchreplace', 'visualblocks', ], @@ -3240,8 +3240,8 @@ const Config_Documents = (props) => { height: 700, menubar: true, plugins: [ - 'advlist', 'autolink', 'lists', 'link', 'image', 'charmap', 'preview', 'anchor', 'searchreplace', - 'visualblocks', 'code', 'fullscreen', 'insertdatetime', 'media', 'table', 'code', 'help', 'wordcount', + 'advlist', 'autolink', 'lists', 'link', 'image', 'charmap', 'preview', 'anchor', 'searchreplace', + 'visualblocks', 'code', 'fullscreen', 'insertdatetime', 'media', 'table', 'code', 'help', 'wordcount', 'lists', 'link', 'image', 'charmap', 'preview', 'anchor', 'searchreplace', 'visualblocks', ], @@ -3278,8 +3278,8 @@ const Config_Documents = (props) => { height: 700, menubar: true, plugins: [ - 'advlist', 'autolink', 'lists', 'link', 'image', 'charmap', 'preview', 'anchor', 'searchreplace', - 'visualblocks', 'code', 'fullscreen', 'insertdatetime', 'media', 'table', 'code', 'help', 'wordcount', + 'advlist', 'autolink', 'lists', 'link', 'image', 'charmap', 'preview', 'anchor', 'searchreplace', + 'visualblocks', 'code', 'fullscreen', 'insertdatetime', 'media', 'table', 'code', 'help', 'wordcount', 'lists', 'link', 'image', 'charmap', 'preview', 'anchor', 'searchreplace', 'visualblocks', ], @@ -3406,19 +3406,20 @@ const Config_Documents = (props) => { }} renderInput={(params) => @@ -3633,8 +3634,8 @@ const Config_Documents = (props) => { height: 700, menubar: true, plugins: [ - 'advlist', 'autolink', 'lists', 'link', 'image', 'charmap', 'preview', 'anchor', 'searchreplace', - 'visualblocks', 'code', 'fullscreen', 'insertdatetime', 'media', 'table', 'code', 'help', 'wordcount', + 'advlist', 'autolink', 'lists', 'link', 'image', 'charmap', 'preview', 'anchor', 'searchreplace', + 'visualblocks', 'code', 'fullscreen', 'insertdatetime', 'media', 'table', 'code', 'help', 'wordcount', 'lists', 'link', 'image', 'charmap', 'preview', 'anchor', 'searchreplace', 'visualblocks', ], @@ -3675,8 +3676,8 @@ const Config_Documents = (props) => { height: 700, menubar: true, plugins: [ - 'advlist', 'autolink', 'lists', 'link', 'image', 'charmap', 'preview', 'anchor', 'searchreplace', - 'visualblocks', 'code', 'fullscreen', 'insertdatetime', 'media', 'table', 'code', 'help', 'wordcount', + 'advlist', 'autolink', 'lists', 'link', 'image', 'charmap', 'preview', 'anchor', 'searchreplace', + 'visualblocks', 'code', 'fullscreen', 'insertdatetime', 'media', 'table', 'code', 'help', 'wordcount', 'lists', 'link', 'image', 'charmap', 'preview', 'anchor', 'searchreplace', 'visualblocks', ], diff --git a/src/components/Config_Document_Super_Admin.js b/src/components/Config_Document_Super_Admin.js index 05deace..6db4fd4 100644 --- a/src/components/Config_Document_Super_Admin.js +++ b/src/components/Config_Document_Super_Admin.js @@ -31,7 +31,7 @@ import { IoMdAddCircle, IoIosRemoveCircleOutline } from "react-icons/io"; import { Fab } from "@material-ui/core"; import fileDownload from 'js-file-download' import { AiTwotoneEdit, AiTwotoneSave } from "react-icons/ai"; -import Checkbox from '@mui/material/Checkbox'; +import Checkbox from '@mui/material/Checkbox'; import Autocomplete from '@mui/material/Autocomplete'; import { IoAddCircleOutline, IoCloseCircleOutline } from "react-icons/io5"; @@ -137,66 +137,66 @@ const Config_Documents_Super_Admin = (props) => { ); } },*/ - /* { - field: "delete", headerName: 'Supprimer', - renderCell: (cellValues) => { - return ( - - { - // handleClick_delete(event, cellValues); - }} - > - - - } - modal - nested - position="center center" - > - {close => ( -
- -
MySy Information
-
- {' '} - - En confirmant cette opération, le document sera définitivement supprimé.
- -
-
-
- - -
-
- -
-
-
- )} -
- - - ); - } - }*/ + /* { + field: "delete", headerName: 'Supprimer', + renderCell: (cellValues) => { + return ( + + { + // handleClick_delete(event, cellValues); + }} + > + + + } + modal + nested + position="center center" + > + {close => ( +
+ +
MySy Information
+
+ {' '} + + En confirmant cette opération, le document sera définitivement supprimé.
+ +
+
+
+ + +
+
+ +
+
+
+ )} +
+ + + ); + } + }*/ ] @@ -2056,7 +2056,7 @@ const Config_Documents_Super_Admin = (props) => { if (file_size > 10000000) { alert("Le fichier ne doit pas depasser un 1 Méga octets"); - + return; } @@ -2156,7 +2156,7 @@ const Config_Documents_Super_Admin = (props) => { > - MySy Information + MySy Information {Dialog_1_message} @@ -2176,7 +2176,7 @@ const Config_Documents_Super_Admin = (props) => { className="displaypartnersession" > - MySy Information + MySy Information
Type Document @@ -2273,7 +2273,7 @@ const Config_Documents_Super_Admin = (props) => { -

Configuration documents (Admin)

+

Configuration documents (Admin)

Utilisez les filtres !
@@ -2295,19 +2295,19 @@ const Config_Documents_Super_Admin = (props) => { }} renderInput={(params) => @@ -2409,19 +2409,19 @@ const Config_Documents_Super_Admin = (props) => { }} renderInput={(params) => @@ -2532,11 +2532,11 @@ const Config_Documents_Super_Admin = (props) => {
-
+
  { "& .MuiDataGrid-columnHeaders": { - backgroundColor: "#dfe8f2", - color: "#0a2a4d", - fontSize: '14px', - fontFamily:'DM Sans', + backgroundColor: "#dfe8f2", + color: "#0a2a4d", + fontSize: '14px', + fontFamily: 'DM Sans', }, '& .line--statut--selected': { @@ -2610,7 +2610,7 @@ const Config_Documents_Super_Admin = (props) => { ))} columns={columns} - pageSize={10} + pageSize={20} className="datagridclass" onRowDoubleClick={(newSelectionModel) => { @@ -2620,7 +2620,7 @@ const Config_Documents_Super_Admin = (props) => { }} - rowsPerPageOptions={[10]} + rowsPerPageOptions={[20]} //disableSelectionOnClick components={{ Toolbar: GridToolbar, @@ -2686,7 +2686,7 @@ const Config_Documents_Super_Admin = (props) => { {String(display_detail_document) === "1" && String(add_one_document) !== "1" &&
-

Détail document {p_detail_nom}

+

Détail document {p_detail_nom}

@@ -2752,11 +2752,11 @@ const Config_Documents_Super_Admin = (props) => { {String(partner_document_data_edit_mode) !== "1" && String(p_detail_type_doc) === "email" &&
Joindre en PDF
- +
} @@ -2798,7 +2798,7 @@ const Config_Documents_Super_Admin = (props) => { }} /> -
} +
} {String(partner_document_data_edit_mode) === "1" &&
Version par defaut
@@ -3024,8 +3024,8 @@ const Config_Documents_Super_Admin = (props) => { height: 700, menubar: true, plugins: [ - 'advlist', 'autolink', 'lists', 'link', 'image', 'charmap', 'preview', 'anchor', 'searchreplace', - 'visualblocks', 'code', 'fullscreen', 'insertdatetime', 'media', 'table', 'code', 'help', 'wordcount', + 'advlist', 'autolink', 'lists', 'link', 'image', 'charmap', 'preview', 'anchor', 'searchreplace', + 'visualblocks', 'code', 'fullscreen', 'insertdatetime', 'media', 'table', 'code', 'help', 'wordcount', 'lists', 'link', 'image', 'charmap', 'preview', 'anchor', 'searchreplace', 'visualblocks', ], @@ -3056,8 +3056,8 @@ const Config_Documents_Super_Admin = (props) => { menubar: true, readonly: 1, plugins: [ - 'advlist', 'autolink', 'lists', 'link', 'image', 'charmap', 'preview', 'anchor', 'searchreplace', - 'visualblocks', 'code', 'fullscreen', 'insertdatetime', 'media', 'table', 'code', 'help', 'wordcount', + 'advlist', 'autolink', 'lists', 'link', 'image', 'charmap', 'preview', 'anchor', 'searchreplace', + 'visualblocks', 'code', 'fullscreen', 'insertdatetime', 'media', 'table', 'code', 'help', 'wordcount', 'lists', 'link', 'image', 'charmap', 'preview', 'anchor', 'searchreplace', 'visualblocks', ], @@ -3079,7 +3079,7 @@ const Config_Documents_Super_Admin = (props) => {
- {p_detail_joint_pdf === true && p_detail_type_doc === "email" &&
+ {p_detail_joint_pdf === true && p_detail_type_doc === "email" &&
} - {p_detail_joint_pdf === true && p_detail_type_doc === "email" && String(document_principal_ou_corp_mail) === "2" && + {p_detail_joint_pdf === true && p_detail_type_doc === "email" && String(document_principal_ou_corp_mail) === "2" &&
Modifier le Corps du mail
@@ -3113,8 +3113,8 @@ const Config_Documents_Super_Admin = (props) => { height: 700, menubar: true, plugins: [ - 'advlist', 'autolink', 'lists', 'link', 'image', 'charmap', 'preview', 'anchor', 'searchreplace', - 'visualblocks', 'code', 'fullscreen', 'insertdatetime', 'media', 'table', 'code', 'help', 'wordcount', + 'advlist', 'autolink', 'lists', 'link', 'image', 'charmap', 'preview', 'anchor', 'searchreplace', + 'visualblocks', 'code', 'fullscreen', 'insertdatetime', 'media', 'table', 'code', 'help', 'wordcount', 'lists', 'link', 'image', 'charmap', 'preview', 'anchor', 'searchreplace', 'visualblocks', ], @@ -3151,8 +3151,8 @@ const Config_Documents_Super_Admin = (props) => { height: 700, menubar: true, plugins: [ - 'advlist', 'autolink', 'lists', 'link', 'image', 'charmap', 'preview', 'anchor', 'searchreplace', - 'visualblocks', 'code', 'fullscreen', 'insertdatetime', 'media', 'table', 'code', 'help', 'wordcount', + 'advlist', 'autolink', 'lists', 'link', 'image', 'charmap', 'preview', 'anchor', 'searchreplace', + 'visualblocks', 'code', 'fullscreen', 'insertdatetime', 'media', 'table', 'code', 'help', 'wordcount', 'lists', 'link', 'image', 'charmap', 'preview', 'anchor', 'searchreplace', 'visualblocks', ], @@ -3198,7 +3198,7 @@ const Config_Documents_Super_Admin = (props) => { {String(partner_document_data_edit_mode) !== "1" &&
-   +  
} @@ -3216,7 +3216,7 @@ const Config_Documents_Super_Admin = (props) => {
} {String(display_detail_document) !== "1" && String(add_one_document) === "1" &&
-

Personnaliser un nouveau document

+

Personnaliser un nouveau document

Choisir le document à ajouter
@@ -3238,19 +3238,20 @@ const Config_Documents_Super_Admin = (props) => { }} renderInput={(params) => @@ -3332,7 +3333,7 @@ const Config_Documents_Super_Admin = (props) => { {String(p_one_detail_type_doc) === "email" &&
Joindre en PDF
- {
- {p_detail_joint_pdf === true && p_detail_type_doc === "email" &&
+ {p_detail_joint_pdf === true && p_detail_type_doc === "email" &&
} - {p_detail_joint_pdf === true && p_detail_type_doc === "email" && String(document_principal_ou_corp_mail) === "2" && + {p_detail_joint_pdf === true && p_detail_type_doc === "email" && String(document_principal_ou_corp_mail) === "2" &&
Créer le Corps du mail
@@ -3465,8 +3466,8 @@ const Config_Documents_Super_Admin = (props) => { height: 700, menubar: true, plugins: [ - 'advlist', 'autolink', 'lists', 'link', 'image', 'charmap', 'preview', 'anchor', 'searchreplace', - 'visualblocks', 'code', 'fullscreen', 'insertdatetime', 'media', 'table', 'code', 'help', 'wordcount', + 'advlist', 'autolink', 'lists', 'link', 'image', 'charmap', 'preview', 'anchor', 'searchreplace', + 'visualblocks', 'code', 'fullscreen', 'insertdatetime', 'media', 'table', 'code', 'help', 'wordcount', 'lists', 'link', 'image', 'charmap', 'preview', 'anchor', 'searchreplace', 'visualblocks', ], @@ -3507,8 +3508,8 @@ const Config_Documents_Super_Admin = (props) => { height: 700, menubar: true, plugins: [ - 'advlist', 'autolink', 'lists', 'link', 'image', 'charmap', 'preview', 'anchor', 'searchreplace', - 'visualblocks', 'code', 'fullscreen', 'insertdatetime', 'media', 'table', 'code', 'help', 'wordcount', + 'advlist', 'autolink', 'lists', 'link', 'image', 'charmap', 'preview', 'anchor', 'searchreplace', + 'visualblocks', 'code', 'fullscreen', 'insertdatetime', 'media', 'table', 'code', 'help', 'wordcount', 'lists', 'link', 'image', 'charmap', 'preview', 'anchor', 'searchreplace', 'visualblocks', ], diff --git a/src/components/Employes.js b/src/components/Employes.js index 08c48fb..6c8e64e 100644 --- a/src/components/Employes.js +++ b/src/components/Employes.js @@ -10187,11 +10187,11 @@ const Employes = (props) => {
-
+
  { }} - rowsPerPageOptions={[10]} + rowsPerPageOptions={[15]} disableSelectionOnClick components={{ Toolbar: GridToolbar, @@ -10420,6 +10420,9 @@ const Employes = (props) => { id="combo-box-demo" className="block_en_mass_select" fullWidth + sx={{ + backgroundColor: "#FFF", + }} options={New_Option} onChange={(event, value) => { if (value && value.value) { @@ -13836,6 +13839,9 @@ const Employes = (props) => { id="combo-box-demo" className="block_en_mass_select" fullWidth + sx={{ + backgroundColor: "#FFF", + }} options={New_Option_Evaluation_Masse} onChange={(event, value) => { if (value && value.value) { @@ -14611,7 +14617,9 @@ const Employes = (props) => { name="competence_nom" fullWidth - + sx={{ + backgroundColor: "#FFF", + }} options={New_Getall_Employee_Statistic_Question_List_result} value={New_Getall_Employee_Statistic_Question_List_result.filter((data) => (data)._id === String(selected_statistic_question_id))[0].label} diff --git a/src/components/Module_Absence.js b/src/components/Module_Absence.js index 439ba12..f565e88 100644 --- a/src/components/Module_Absence.js +++ b/src/components/Module_Absence.js @@ -21,7 +21,14 @@ import { BsCheck2Circle } from "react-icons/bs"; import Box from '@mui/material/Box'; import { FlagTriangleRight } from 'lucide-react'; import { CiBoxList } from "react-icons/ci"; - +import { + Clock, + User, + UserCheck, + UserX, + Hourglass, + MinusCircle, +} from "lucide-react"; import Dialog from '@mui/material/Dialog'; import DialogActions from '@mui/material/DialogActions'; import DialogContent from '@mui/material/DialogContent'; @@ -583,7 +590,7 @@ const Module_Absence = (props) => { //console.log(eventInfo); return ( <> -
{eventInfo.timeText}
+ {/*<>
{eventInfo.timeText}
{eventInfo.event.extendedProps.justified && eventInfo.event.extendedProps.justified === "true" && } @@ -593,11 +600,73 @@ const Module_Absence = (props) => {
- {eventInfo.event.title && <> {eventInfo.event.title}
} - {eventInfo.event.extendedProps.code_session && <> {eventInfo.event.extendedProps.code_session}
} + {eventInfo.event.title && <> {eventInfo.event.title}
} + {eventInfo.event.extendedProps.code_session && <> {eventInfo.event.extendedProps.code_session}
} + */} + + {eventInfo.event.extendedProps.justified && eventInfo.event.extendedProps.justified === "true" && +
+
+ +
+
+ + {eventInfo.timeText} +
+ + +
+ +
+
{eventInfo.event.title}
+
{eventInfo.event.extendedProps.code_session}
+
+ +
+
+ +
+ +
+
Justifiée
+
+
+
} + + + {!eventInfo.event.extendedProps.justified || eventInfo.event.extendedProps.justified !== "true" && +
+
+ +
+
+ + {eventInfo.timeText} +
+ + +
+ +
+
{eventInfo.event.title}
+
{eventInfo.event.extendedProps.code_session}
+
+ +
+
+ +
+ +
+
Non justifiée
+
+
+
} + + ) }; @@ -1677,6 +1746,7 @@ const Module_Absence = (props) => {   { const stored_cookie = getCookie('tokenmysych'); form.append("token", stored_cookie); form.append("apprenant_id", props.apprenant_id); + form.append("inscription_id", props.inscription_id); var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_Ent_Student_Absence/"; @@ -427,6 +435,7 @@ const Module_ENT_Absence = (props) => { const stored_cookie = getCookie('tokenmysych'); form.append("token", stored_cookie); form.append("apprenant_id", props.apprenant_id); + form.append("inscription_id", props.inscription_id); var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_Ent_Student_total_Heure_Absence/"; @@ -705,7 +714,7 @@ const Module_ENT_Absence = (props) => { //console.log(eventInfo); return ( <> -
{eventInfo.timeText}
+ {/*<>
{eventInfo.timeText}
{eventInfo.event.extendedProps.justified && eventInfo.event.extendedProps.justified === "true" && } @@ -716,9 +725,66 @@ const Module_ENT_Absence = (props) => {
{eventInfo.event.title && <> {eventInfo.event.title}
} +*/} + + {eventInfo.event.extendedProps.justified && eventInfo.event.extendedProps.justified === "true" && +
+
+ +
+
+ + {eventInfo.timeText} +
+
+
+
{eventInfo.event.title}
+
{eventInfo.event.extendedProps.code_session}
+
+ +
+
+ +
+ +
+
Justifiée
+
+
+
} + + + {!eventInfo.event.extendedProps.justified || eventInfo.event.extendedProps.justified !== "true" && +
+
+ +
+
+ + {eventInfo.timeText} +
+ + +
+ +
+
{eventInfo.event.title}
+
{eventInfo.event.extendedProps.code_session}
+
+ +
+
+ +
+ +
+
Non justifiée
+
+
+
} ) @@ -923,7 +989,7 @@ const Module_ENT_Absence = (props) => { useEffect(() => { - + console.log(" INSCRIT ID = ", props.inscription_id); // Get_Connected_User_List_Agenda_Events(); //Get_Partner_Debut_Fin_Journee(); Get_ENT_Apprenant_Absence(); @@ -1224,32 +1290,8 @@ const Module_ENT_Absence = (props) => { -
@@ -1258,14 +1300,7 @@ const Module_ENT_Absence = (props) => {
} @@ -3252,7 +3252,9 @@ const Module_Ent_Mes_Formations = (props) => { + class_id={selected_id} + inscription_id={selected_inscription_id} + />
} diff --git a/src/components/Module_Evaluation_Positionnement.js b/src/components/Module_Evaluation_Positionnement.js index 2ec21c4..ed4a149 100644 --- a/src/components/Module_Evaluation_Positionnement.js +++ b/src/components/Module_Evaluation_Positionnement.js @@ -1124,19 +1124,19 @@ const Module_Evaluation_Positionnement = (props) => { }} renderInput={(params) => @@ -1368,6 +1368,9 @@ const Module_Evaluation_Positionnement = (props) => { id="combo-box-demo" className="block_en_mass_select" fullWidth + sx={{ + backgroundColor: "#FFF", + }} options={New_Option_q_position_Masse} onChange={(event, value) => { if (value && value.value) { diff --git a/src/components/Module_Relance_Client_Facture.js b/src/components/Module_Relance_Client_Facture.js index d6fba0a..0a1277d 100644 --- a/src/components/Module_Relance_Client_Facture.js +++ b/src/components/Module_Relance_Client_Facture.js @@ -51,7 +51,8 @@ import 'react-tooltip/dist/react-tooltip.css' import TextareaAutosize from '@mui/material/TextareaAutosize'; import Module_Alert_Confirmation from "./Module_Alert_Confirmation"; - +import VisibilityIcon from '@mui/icons-material/Visibility'; +import ArrowCircleDownIcon from '@mui/icons-material/ArrowCircleDown'; const useStyles = makeStyles((theme) => ({ @@ -202,13 +203,52 @@ const Module_Relance_Client_Facture = (props) => { { field: '_id', headerName: '_id', hide: true, disableExport: true, }, { field: 'id', headerName: 'id', hide: true, disableExport: true }, { field: 'client_id', headerName: 'client_id', hide: true, disableExport: true }, - { field: 'relance_date', headerName: 'Date Relance', maxwidth: 250, flex: 1, hide: false, editable: false }, + { field: 'stored_document_id', headerName: 'stored_document_id', hide: true, disableExport: true }, + { field: 'strored_document_file_extention', headerName: 'strored_document_file_extention', hide: true, disableExport: true }, + { field: 'strored_document_file_business_object', headerName: 'strored_document_file_business_object', hide: true, disableExport: true }, + + + { field: 'relance_date', headerName: 'Date Relance', maxwidth: 200, flex: 1, hide: false, editable: false }, { field: 'total_reste_to_paye', headerName: 'Montant Rel.', maxwidth: 250, flex: 1, hide: false, editable: false, align: 'right', headerAlign: "right", renderCell: (params) => , }, - { field: 'relance_level', headerName: 'Niveau Relance', hide: false, minWidth: 200, flex: 1, editable: false, renderCell: (params) => , align: 'center', headerAlign: "center" }, - + { field: 'relance_level', headerName: 'Niveau Relance', hide: false, minWidth: 200, flex: 1, editable: false, renderCell: (params) => , align: 'center', headerAlign: "center" }, + + { field: 'mode_envoi', headerName: 'Envoi par', hide: false, minWidth: 150, flex: 1, editable: false, renderCell: (params) => , align: 'center', headerAlign: "center" }, + + + { + field: 'Visualiser', headerName: 'Visualiser', minWidth: 50, flex: 1, maxWidth: 100, hide: false, editable: false, + renderCell: (cellValues) => { + return ( + + ) + }, + + }, + + { + field: 'Télécharger', headerName: 'Télécharger', minWidth: 50, flex: 1, maxWidth: 100, hide: false, editable: false, + renderCell: (cellValues) => { + return ( + + ) + }, + + }, ] @@ -229,6 +269,37 @@ const Module_Relance_Client_Facture = (props) => { renderCell: (params) => , }, + /*{ + field: 'Visualiser', headerName: 'Visualiser', minWidth: 50, flex: 1, maxWidth: 100, hide: false, editable: false, + renderCell: (cellValues) => { + return ( + + ) + }, + + }, + + { + field: 'Télécharger', headerName: 'Télécharger', minWidth: 50, flex: 1, maxWidth: 100, hide: false, editable: false, + renderCell: (cellValues) => { + return ( + + ) + }, + + },*/ ] @@ -252,7 +323,7 @@ const Module_Relance_Client_Facture = (props) => { axios.post(myurl, form).then(res => { //console.log(" In Get_List_Relance_Client_Facture res.data.status = " + res.data.status); - // console.log(" In Get_List_Relance_Client_Facture res.data.message r_class = " + res.data.message); + // console.log(" In Get_List_Relance_Client_Facture res.data.message r_class = " + res.data.message); if (String(res.data.status) === String("true")) { setGet_List_Relance_Client_Facture_api("true"); @@ -842,6 +913,78 @@ const Module_Relance_Client_Facture = (props) => { }) } + function preview_document_pdf(doc_id, file_extention, file_business_object) { + + var part_cookie = getCookie('tokenmysypart'); + + + var nom_fichier_cmd = String(file_business_object) + "." + String(file_extention); + // console.log(" nom_fichier_cmd = ", nom_fichier_cmd, " --- doc_id = ", doc_id); + + var url = process.env.REACT_APP_API_URL + "myclass/api/Get_Stored_Downloaded_File_From_Id/" + part_cookie + "/" + doc_id; + + //console.log(" nom_fichier_cmd = ", nom_fichier_cmd, " --- selected_id = ", selected_id, " --- url =", url); + + axios.get(url, { responseType: 'blob', },) + .then((res) => { + + const blob = new Blob([res.data], { type: 'application/pdf' }); + const url = URL.createObjectURL(blob); + setselected_doc_img(url); + + // fileDownload(res.data, nom_fichier_cmd) + }).catch((error) => { + console.error('Error:', error); + + }); + } + + + + const [print_doc_id, setprint_doc_id] = useState(""); + const [print_file_extention, setprint_file_extention] = useState(""); + const [print_file_business_object, setprint_file_business_object] = useState(""); + function print_document_pdf(doc_id, file_extention, file_business_object) { + + + const stored_cookie = getCookie('tokenmysypart'); + + var nom_fichier_cmd = String(file_business_object) + "." + String(file_extention); + // console.log(" stored_cookie = ", stored_cookie, " --- doc_id = ", doc_id); + + var url = process.env.REACT_APP_API_URL + "myclass/api/Get_Stored_Downloaded_File_From_Id/" + stored_cookie + "/" + doc_id; + + //console.log(" nom_fichier_cmd = ", nom_fichier_cmd, " --- selected_id = ", selected_id, " --- url =", url); + + axios.get(url, { responseType: 'blob', },) + .then((res) => { + fileDownload(res.data, nom_fichier_cmd) + }).catch((error) => { + console.error('Error:', error); + + }); + } + + const [Dialog_Preview_Doc_message, setDialog_Preview_Doc_message] = React.useState(false); + const [Dialog_Preview_Doc_open, setDialog_Preview_Doc_open] = React.useState(false); + function Dialog_Preview_Doc_handle_change_participant_session(message) { + setDialog_Preview_Doc_message(message); + setDialog_Preview_Doc_open(true); + } + + const Dialog_Preview_Doc_handleClose = () => { + + }; + + const Dialog_Preview_Doc_handleClose_buton = () => { + setDialog_Preview_Doc_open(false); + }; + + const [selected_doc_name, setselected_doc_name] = React.useState(""); + const [selected_doc_img, setselected_doc_img] = React.useState(""); + + + return (
@@ -860,6 +1003,70 @@ const Module_Relance_Client_Facture = (props) => { } {/*** FIN Affichage des messages d'alerte*/} + {/***** Dialog Preview Image */} + null} + + PaperProps={{ + + + className: classes.paper, // Apply the paper style + style: { + overflowY: 'unset', + position: 'absolute', + top: '7rem', + margin: "2px", + width: '50rem', + maxWidth: 'unset', + background: '#efefef', + borderRadius: '20px!important' + }, + }} + hideBackdrop={true} + disableScrollLock + classes={{ + paper: classes.dialog + }} + + PaperComponent={PaperComponent} + aria-labelledby="draggable-dialog-title" + > + + {selected_doc_name} + + + {Dialog_Preview_Doc_message} + + +

+ + {selected_doc_img && + } + +
+ +
+ + + + + + + +
+ + {/***** FIN Dialog Preview Image */} + + + {/* Dialog pour gerer les Relance_Client */} { } }} renderInput={(params) => @@ -975,19 +1182,19 @@ const Module_Relance_Client_Facture = (props) => { }} renderInput={(params) => + sx={{ + "& .MuiOutlinedInput-root": { + "& fieldset": { + border: "solid #e8eef6 1px;", + }, + "&:hover fieldset": { + border: "solid #e8eef6 1px;", + }, + "&.Mui-focused fieldset": { + border: "solid #e8eef6 1px;", + }, + }, + }} /> } /> @@ -1298,7 +1505,7 @@ const Module_Relance_Client_Facture = (props) => { }} componentsProps={{ toolbar: { data_colums: columns_facture_retard } }} - // checkboxSelection + // checkboxSelection disableSelectionOnClick onSelectionModelChange={(newSelectionModel) => { setselectionModel_relance(newSelectionModel); @@ -1457,7 +1664,7 @@ const Module_Relance_Client_Facture = (props) => { }} componentsProps={{ toolbar: { data_colums: columns_relances } }} - // checkboxSelection + // checkboxSelection disableSelectionOnClick onSelectionModelChange={(newSelectionModel) => { setselectionModel_relance(newSelectionModel); @@ -1489,12 +1696,18 @@ const Module_Relance_Client_Facture = (props) => { relance_date: JSON.parse(item).relance_date, relance_level: JSON.parse(item).relance_level, total_reste_to_paye: JSON.parse(item).total_reste_to_paye, + mode_envoi: JSON.parse(item).mode_envoi, + + stored_document_id: JSON.parse(item).stored_document_id, + strored_document_file_extention: JSON.parse(item).strored_document_file_extention, + strored_document_file_business_object: JSON.parse(item).strored_document_file_business_object, + } ))} onRowDoubleClick={(newSelectionModel) => { - console.log(" ## newSelectionModel = ", newSelectionModel.row.total_reste_to_paye) + // console.log(" ## newSelectionModel = ", newSelectionModel.row.total_reste_to_paye) }} columns={columns_relances} diff --git a/src/components/Module_Session_Planification.js b/src/components/Module_Session_Planification.js index 269f082..d55f245 100644 --- a/src/components/Module_Session_Planification.js +++ b/src/components/Module_Session_Planification.js @@ -7702,7 +7702,7 @@ const Module_Session_Planification = (props) => { {display_view && String(display_view) === "list" &&
-
+
  { { - - const [print_doc_id, setprint_doc_id] = useState(""); const [print_file_extention, setprint_file_extention] = useState(""); const [print_file_business_object, setprint_file_business_object] = useState(""); diff --git a/src/components/Partner_Client.js b/src/components/Partner_Client.js index 606233f..349bdf6 100644 --- a/src/components/Partner_Client.js +++ b/src/components/Partner_Client.js @@ -1950,12 +1950,12 @@ const Partner_Client = (props) => {
-
+
  { ))} columns={columns_clients} - pageSize={10} + pageSize={20} className="datagridclass" - rowsPerPageOptions={[10]} + rowsPerPageOptions={[20]} //disableSelectionOnClick checkboxSelection components={{