25/12/2024 - 14h

recette2
cherif 2024-12-25 14:17:48 +01:00
parent 232cbd53e9
commit 3353e9df61
3 changed files with 240 additions and 38 deletions

View File

@ -760,7 +760,13 @@ const DistplayPartnerTraningsPage = (props) => {
aria-controls={open ? 'long-menu' : undefined}
aria-expanded={open ? 'true' : undefined}
aria-haspopup="true"
onClick={handleClick_option_button_vertical}
// onClick={handleClick_option_button_vertical}
onClick={(e) => {
handleClick_option_button_vertical(e);
setworking_cellValues(cellValues);
}}
>
<MoreVertIcon />
</IconButton>
@ -796,7 +802,7 @@ const DistplayPartnerTraningsPage = (props) => {
}
else if (option && String(option) === "Editer") {
handleClick(e, cellValues);
handleClick(e, working_cellValues);
}
else if (option && String(option) === "Pub. E-Learning") {
@ -804,7 +810,7 @@ const DistplayPartnerTraningsPage = (props) => {
}
else if (option && String(option) === "Visualiser") {
Visualiser(e, cellValues);
Visualiser(e, working_cellValues);
}
}}
@ -963,6 +969,8 @@ const DistplayPartnerTraningsPage = (props) => {
},
]
const [working_cellValues, setworking_cellValues] = useState(false);
const [dialogOpen_supp, setdialogOpen_supp] = useState(false);
const Dialog_menuitem_close_supp = () => {
setdialogOpen_supp(false)

View File

@ -1552,7 +1552,7 @@ const Module_Editique = (props) => {
</div>
{(String(selected_convention_type) === "email" || String(selected_convention_type) === "pdf") && <div className="session_caract_Dialog" > Choisir une convention
{(String(selected_convention_type) === "email" || String(selected_convention_type) === "pdf") && <div className="session_caract_Dialog" > Choisir une convocation
<Autocomplete
disablePortal
name="event_dialog_version_convention"

View File

@ -142,26 +142,59 @@ const Modules_Mes_Documents = (props) => {
const columns = [
{ field: '_id', headerName: '_id', Width: 100, hide: false, editable: false, },
{ field: 'id', headerName: 'id',Width: 100, hide: false, editable: false, },
{ field: 'file_extention', headerName: 'file_extention', Width: 100, hide: false, editable: false, },
{ field: '_id', headerName: '_id', hide: true, editable: false },
{ field: 'id', headerName: 'id', hide: true, editable: false },
{ field: 'file_extention', hide: true, editable: false },
{ field: 'file_name', headerName: 'file_name', hide: true, disableExport: true },
{ field: 'file_business_object', headerName: 'file_business_object', minWidth: 200, flex: 1, hide: false, editable: false, },
{ field: 'object_owner_collection', headerName: 'object_owner_collection', minWidth: 200,flex: 1, hide: false, editable: false },
{ field: 'type_document', headerName: 'type_document', minWidth: 200,flex: 1, hide: false, editable: false },
{
field: 'bton_vertif', headerName: 'Gestion', minWidth: 50, flex: 1, maxWidth: 100, hideable: true, hide: false, editable: false, align: "center",
field: 'created_date', headerName: 'Date Creation', Width: 100, flex: 1, hide: false, editable: false,
renderCell: (cellValues) => {
return (
<nav style={{ width: '100%', 'textAlign': 'left' }}>
{String(cellValues.row.created_date).substring(0, 10)}
</nav>)
},
},
{ field: 'file_business_object', headerName: 'file_business_object', minWidth: 200, flex: 1, hide: false, editable: false, },
{ field: 'object_owner_collection', headerName: 'object_owner_collection', minWidth: 200, flex: 1, hide: false, editable: false },
{ field: 'client_raison_sociale', headerName: 'client_raison_sociale', minWidth: 200, flex: 1, hide: false, editable: false },
{ field: 'client_nom', headerName: 'client_nom', minWidth: 150, flex: 1, hide: false, editable: false },
{
field: 'type_document', headerName: 'type_document', minWidth: 100, flex: 1, hide: false, editable: false,
renderCell: (cellValues) => {
return (
<nav style={{ width: '100%', 'textAlign': 'left' }}>
{String(cellValues.row.type_document).charAt(0).toUpperCase() + String(cellValues.row.type_document).slice(1)}
</nav>)
},
},
{
field: 'bton_vertif', headerName: 'Gestion', minWidth: 50, flex: 1, maxWidth: 100, hideable: true, hide: false, editable: false, align: "center",
renderCell: (cellValues,) => {
return (
<nav style={{ width: '100%', 'textAlign': 'center' }}>
<IconButton
aria-label="more"
id="long-button"
aria-controls={open ? 'long-menu' : undefined}
aria-expanded={open ? 'true' : undefined}
aria-haspopup="true"
onClick={handleClick_option_button_vertical}
onClick={(e) => {
handleClick_option_button_vertical(e);
setprint_doc_id(cellValues.row._id);
setprint_file_extention(cellValues.row.file_extention);
setprint_file_business_object(cellValues.row.file_business_object);
}}
>
<MoreVertIcon />
</IconButton>
@ -172,7 +205,12 @@ const Modules_Mes_Documents = (props) => {
}}
anchorEl={anchorEl}
open={open}
onClose={handleClose_option_button_vertical}
onClick={(e) => {
console.log(" OKKK ");
}}
slotProps={{
paper: {
style: {
@ -189,12 +227,12 @@ const Modules_Mes_Documents = (props) => {
<MenuItem key={option}
onClick={(e) => {
//handleClose_option_button_vertical(e, option);
setAnchorEl(null);
if (option && String(option) === "Télécharger") {
setselected_id(cellValues.row._id);
print_document_pdf(cellValues.row._id, cellValues.row.file_extention, cellValues.row.file_business_object);
print_document_pdf(print_doc_id, print_file_extention, print_file_business_object);
}
setAnchorEl(null);
}}
>
@ -210,11 +248,15 @@ const Modules_Mes_Documents = (props) => {
]
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('tokenmysych');
var nom_fichier_cmd = String(file_business_object)+"."+String(file_extention);
console.log(" nom_fichier_cmd = ", nom_fichier_cmd, " --- doc_id = ", doc_id);
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/" + stored_cookie + "/" + doc_id;
@ -325,12 +367,11 @@ const Modules_Mes_Documents = (props) => {
setsubmenu();
setSelectionModel([]);
setselectionModel_invoice_lines([]);
// Getall_Parter_Invoice_No_Filter();
setdisplay_detail_invoice();
setgridline_id("");
Get_List_Of_All_PJ();
}
function clean_order_detail_fields() {
@ -390,11 +431,23 @@ const Modules_Mes_Documents = (props) => {
const New_Option_Filter = [
{ "id": "ref_interne_invoice", "label": "Num Facture", "value": "ref_interne_invoice" },
{ "id": "ref_interne_cmd", "label": "Ref. Interne Cmd", "value": "ref_interne_cmd" },
{ "id": "ref_externe", "label": "Ref. Externe Cmd (chez le client)", "value": "ref_externe" },
{ "id": "client_nom", "label": "Nom Client", "value": "client_nom" },
{ "id": "formation", "label": "Lié a la Formation (code externe)", "value": "formation" },
{ "id": "filter_type_document", "label": "Type Document", "value": "filter_type_document" },
{ "id": "filter_nom_client", "label": "Nom Client", "value": "filter_nom_client" },
{ "id": "date_create_start_date", "label": "Crée après (jj/mm/aaaa) ", "value": "date_create_start_date" },
{ "id": "date_create_end_date", "label": "Crée avant (jj/mm/aaaa)", "value": "date_create_end_date" },
{ "id": "filter_formation_external_code", "label": "Lié a la Formation (code externe)", "value": "filter_formation_external_code" },
{ "id": "filter_session_code", "label": "Lié a la session (code session)", "value": "filter_session_code" },
{ "id": "", "label": "", "value": "" },
{ "id": "1", "label": "", "value": "1" }, // Cette ligne pour couvrir l'ajout d'une ligne de filter. C'est fait expres.
]
const Option_Type_Document = [
{ "id": "devis", "label": "Devis", "value": "devis" },
{ "id": "convention", "label": "Convention", "value": "convention" },
{ "id": "convocation", "label": "Convocation", "value": "convocation" },
{ "id": "attestation", "label": "Attestation", "value": "attestation" },
{ "id": "autre", "label": "Autre", "value": "autre" },
{ "id": "", "label": "", "value": "" },
{ "id": "1", "label": "", "value": "1" }, // Cette ligne pour couvrir l'ajout d'une ligne de filter. C'est fait expres.
]
@ -588,12 +641,12 @@ const Modules_Mes_Documents = (props) => {
//console.log(" ## result['status'] = ", result['status'])
if (String(result['status']) === String("true")) {
//console.log('Message :', result['message']);
// console.log('Message :', result['message']);
setGet_List_Of_All_PJ_result(result['message']);
setGet_List_Of_All_PJ_api("true");
setRows(result['message']);
}
else {
@ -641,6 +694,72 @@ const Modules_Mes_Documents = (props) => {
}
const [Get_All_Documents_With_Filter_api, setGet_All_Documents_With_Filter_api] = useState();
const [Get_All_Documents_With_Filter_message, setGet_All_Documents_With_Filter_message] = useState();
const [Get_All_Documents_With_Filter_result, setGet_All_Documents_With_Filter_result] = useState();
function Get_All_Documents_With_Filter(local_client_id) {
setgridline_id("");
var form = new FormData();
const stored_cookie = getCookie('tokenmysych');
form.append("token", stored_cookie);
// Recuperation des parametres
var filtre1 = p_filtre1;
var filtre2 = p_filtre2;
var filtre3 = p_filtre3;
var filtre1_value = "";
var filtre2_value = "";
var filtre3_value = "";
// Recuperation des valeurs de filtres
if (p_filtre1_value) {
filtre1_value = p_filtre1_value;
form.append(filtre1, filtre1_value);
}
if (p_filtre2_value) {
filtre2_value = p_filtre2_value;
form.append(filtre2, filtre2_value);
}
if (p_filtre3_value) {
filtre3_value = p_filtre3_value;
form.append(filtre3, filtre3_value);
}
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Get_List_object_owner_collection_Stored_Files_With_Filter/";
axios.post(myurl, form).then(res => {
if (String(res.data.status) === String("true")) {
//console.log(" In Get_All_Documents_With_Filter res.data.status = " + res.data.status);
// console.log(" In Get_All_Documents_With_Filter res.data.message r_class = " + res.data.message);
setGet_All_Documents_With_Filter_api("true");
setGet_All_Documents_With_Filter_result(res.data.message);
setRows(res.data.message);
//setRows_total_data(JSON.parse(res.data.total_data));
}
else {
setGet_All_Documents_With_Filter_api("false");
setGet_All_Documents_With_Filter_message(res.data.message);
alert(res.data.message);
}
}).catch((error) => {
console.warn('Not good man :( Get_All_Documents_With_Filter = ', error);
setGet_All_Documents_With_Filter_api("false");
alert(" Impossible de recuperer la liste des factures");
//setm yApimyApiMessage("")
})
}
/***
* IMPORTANT
* Ce module permet d'afficher et telecharger tous les documents qui sont dans la collection 'download_files', c'est à dire :
@ -691,13 +810,12 @@ const Modules_Mes_Documents = (props) => {
}
/>}
</div>
<div className="div_row_droite texte_area_filter_value" >
{p_filtre1 &&
{p_filtre1 && String(p_filtre1) !== "filter_type_document" &&
<TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
required
@ -726,7 +844,33 @@ const Modules_Mes_Documents = (props) => {
/>
}
{p_filtre1 && String(p_filtre1) === "filter_type_document" &&
<Autocomplete
disablePortal
name="filtre1_value"
id="filtre1_value"
className="disabled_style"
options={Option_Type_Document}
onChange={(event, value) => {
if (value && value.value) {
setp_filtre1_value(value.value);
} else {
setp_filtre1_value("");
}
}}
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une option"
inputProps={{ ...params.inputProps, style: { fontSize: 12, height: "1.4rem" } }}
/>
}
/>
}
</div>
{p_filtre1 && <div className='filter_bton_add'>
<Tooltip className="tooltip_css" id="my-tooltip01" style={{ "fontSize": "12px" }} />
<a data-tooltip-id="my-tooltip01" data-tooltip-html="Ajouter une nouvelle ligne de filtre">
@ -763,7 +907,6 @@ const Modules_Mes_Documents = (props) => {
onChange={(event, value) => {
if (value && value.value) {
setp_filtre2(value.value);
}
}}
@ -776,7 +919,7 @@ const Modules_Mes_Documents = (props) => {
/>}
</div>
<div className="div_row_droite texte_area_filter_value" style={{ "marginTop": "0.5rem" }}>
{String(p_filtre2).length > 2 &&
{String(p_filtre2).length > 2 && String(p_filtre2) !== "filter_type_document" &&
<TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
required
@ -803,6 +946,30 @@ const Modules_Mes_Documents = (props) => {
}}
/>}
{String(p_filtre2).length > 2 && String(p_filtre2) === "filter_type_document" &&
<Autocomplete
disablePortal
name="filtre2_value"
id="filtre2_value"
className="disabled_style"
options={Option_Type_Document}
onChange={(event, value) => {
if (value && value.value) {
setp_filtre2_value(value.value);
} else {
setp_filtre2_value("");
}
}}
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une option"
inputProps={{ ...params.inputProps, style: { fontSize: 12, height: "1.4rem" } }}
/>
}
/>}
</div>
{String(p_filtre2).length > 2 && <div className='filter_bton_add' >
@ -859,7 +1026,8 @@ const Modules_Mes_Documents = (props) => {
/>}
</div>
<div className="div_row_droite texte_area_filter_value" style={{ "marginTop": "0.5rem" }}>
{String(p_filtre3).length > 2 &&
{String(p_filtre3).length > 2 && String(p_filtre3) !== "filter_type_document" &&
<TextField
sx={{ '& legend': { display: 'none' }, '& fieldset': { top: 0 }, }}
required
@ -886,6 +1054,30 @@ const Modules_Mes_Documents = (props) => {
}}
/>}
{String(p_filtre3).length > 2 && String(p_filtre3) === "filter_type_document" &&
<Autocomplete
disablePortal
name="filtre3_value"
id="filtre3_value"
className="disabled_style"
options={Option_Type_Document}
onChange={(event, value) => {
if (value && value.value) {
setp_filtre3_value(value.value);
} else {
setp_filtre3_value("");
}
}}
renderInput={(params) => <TextField {...params} label="" placeholder="Choisir une option"
inputProps={{ ...params.inputProps, style: { fontSize: 12, height: "1.4rem" } }}
/>
}
/>}
</div>
{String(p_filtre2).length > 2 && <div className='filter_bton_add' >
@ -916,7 +1108,7 @@ const Modules_Mes_Documents = (props) => {
<div className="div_row" ref={myRef_head} id="myRef_head" style={{ "border": "None", "color": "orange", "textAlign": "center" }}>
<div className="div_row_gauche" style={{ "textAlign": 'left', 'marginLeft': '15px' }}>
<Button variant="contained" className="bton_enreg" onClick={"Getall_Parter_Invoice_With_Filter"}>Rechercher
<Button variant="contained" className="bton_enreg" onClick={Get_All_Documents_With_Filter}>Rechercher
</Button>
</div>
@ -935,7 +1127,7 @@ const Modules_Mes_Documents = (props) => {
<div className="session_data">
<div style={{ "border": "None" }}>
<div style={{ height: 550, width: '100%', paddingRight: '5px' }}>
&nbsp;
@ -1019,7 +1211,7 @@ const Modules_Mes_Documents = (props) => {
onRowDoubleClick={(newSelectionModel) => {
setgridline_id(newSelectionModel.row.id);
// setp_detail_header_client_nom_id(newSelectionModel.row.order_header_client_id);
// setp_detail_header_client_nom_id(newSelectionModel.row.order_header_client_id);
// handleClick_edit_invoice_From_Line(newSelectionModel.row.id);
}
}
@ -1035,7 +1227,9 @@ const Modules_Mes_Documents = (props) => {
object_owner_collection: JSON.parse(item).object_owner_collection,
type_document: JSON.parse(item).type_document,
file_extention: JSON.parse(item).file_extention,
client_raison_sociale: JSON.parse(item).client_raison_sociale,
client_nom: JSON.parse(item).client_nom,
created_date: JSON.parse(item).created_date,
}
))}
@ -1082,7 +1276,7 @@ const Modules_Mes_Documents = (props) => {
<div className="div_row" > &nbsp;</div>
{/* <div className="div_row" style={{ "border": "None", paddingRight: '10px' }}>
{/* <div className="div_row" style={{ "border": "None", paddingRight: '10px' }}>
{Get_List_Of_All_PJ_result && <div className="div_row" style={{ "padding": "5px" }}>
<div className="div_row">