31/08/2023 - 21h30
parent
208fbd11cd
commit
34cea2748c
|
@ -1,2 +1,5 @@
|
|||
code_session;date_debut;date_fin;nb_participant;adresse;code_postal;ville;date_debut_inscription;date_fin_inscription;formateur;distanciel;presentiel;prix_session;session_status;lms_class_code
|
||||
session1;25/05/2023;29/05/2024;18;79 Rue de Sèvres;92100;Boulogne-Billancourt;03/01/2023;28/06/2024;EFAI;0;1;2590;1;INTRODUCTIONAUXBASESDEDONNEES
|
||||
formation_code_externe;code_session;date_debut;date_fin;nb_participant;adresse;code_postal;ville;date_debut_inscription;date_fin_inscription;formateur;distanciel;presentiel;prix_session;session_status;lms_class_code;session_etape
|
||||
MYSY_Test_AP;KANA1;11/10/2023;13/10/2023;20;2 passage de la Providence;75020;Paris;01/09/2023;30/09/2023;NBE;1;0;750;1;Apprentissage des Kana;0
|
||||
MYSY_Test_AP;KANA2;14/11/2023;16/11/2023;15;2 passage de la Providence;75020;Paris;01/09/2023;30/09/2023;NBE;1;0;750;1;Apprentissage des Kana;0
|
||||
MYSY_Test_AP;KANA3;21/11/2023;23/11/2023;10;2 passage de la Providence;75020;Paris;01/09/2023;30/09/2023;NBE;1;0;750;1;Perfectionnement;0
|
||||
MYSY_Test_AP;KANA4;28/11/2023;30/11/2023;15;2 passage de la Providence;75020;Paris;01/09/2023;30/09/2023;NBE;1;0;750;1;Perfectionnement;0
|
||||
|
|
|
|
@ -1,2 +0,0 @@
|
|||
formation_code_externe;code_session;date_debut;date_fin;nb_participant;adresse;code_postal;ville;date_debut_inscription;date_fin_inscription;formateur;distanciel;presentiel;prix_session;session_status;lms_class_code;session_etape
|
||||
MYSY_Test_OP;session1;25/10/2023;29/10/2024;18;79 Rue de Sèvres;92100;Boulogne-Billancourt;03/01/2023;28/10/2024;EFAI;0;1;2590;1;INTRODUCTIONAUXBASESDEDONNEES;0
|
|
|
@ -38,7 +38,8 @@ import Emargement from "./pages/emargementOk";
|
|||
import Formation_Cartouche_Com from "./pages/recherche_cartouche_com";
|
||||
import SeDesabonner from './pages/sedesabonner';
|
||||
import OrderConfirmation_3DS from "./pages/orderconfirmation_3DS";
|
||||
import Training_Inactive_Or_Not_Found from "./pages/Traning_Inactif_Or_Not_Exist"
|
||||
import Training_Inactive_Or_Not_Found from "./pages/Traning_Inactif_Or_Not_Exist";
|
||||
import TestUrl_New from "./pages/testurl_new";
|
||||
|
||||
function App() {
|
||||
|
||||
|
@ -69,6 +70,7 @@ function App() {
|
|||
<Route path="/recherche-formation" exact component={Recherche_new_v2} />
|
||||
<Route path="/recherche-formation/ref/:NewSearchText" exact component={Recherche_new_v2} />
|
||||
<Route path="/testurl/:course/:tab" exact component={TestUrl} />
|
||||
<Route path="/testurl_new/:courseid/:tabid" exact component={TestUrl_New} />
|
||||
<Route path="/Display-Detail-formation/:classId" exact component={DisplayDetailClass_new_v2} />
|
||||
<Route path="/Display-Detail-formation/:classId" exact component={DisplayDetailClass_new_v2} />
|
||||
<Route path="/Display-Detail-formation/:classId/:action" exact component={DisplayDetailClass_new_v2} />
|
||||
|
|
|
@ -173,7 +173,7 @@ const DisplayPartnerSession = (props) => {
|
|||
{ 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', align: "center", width: datagrid_columns_size_model1,
|
||||
field: 'taux_remplissage', headerName: 'Remplissage', align: "center", width: datagrid_columns_size_model1,
|
||||
align: "left",
|
||||
renderCell: (params) => {
|
||||
return (
|
||||
|
@ -182,12 +182,12 @@ const DisplayPartnerSession = (props) => {
|
|||
color="success"
|
||||
sx={{ color: "#1bd900" }}
|
||||
variant="determinate"
|
||||
value={(params?.row.taux_replissage * 100).toFixed(2)}
|
||||
value={(params?.row.taux_remplissage * 100).toFixed(2)}
|
||||
/>
|
||||
<Typography
|
||||
variant="body2"
|
||||
color="text.secondary"
|
||||
>{`${(params?.row.taux_replissage * 100).toFixed(0)}%`}</Typography>
|
||||
>{`${(params?.row.taux_remplissage * 100).toFixed(0)}%`}</Typography>
|
||||
</>
|
||||
);
|
||||
},
|
||||
|
@ -4496,7 +4496,7 @@ const DisplayPartnerSession = (props) => {
|
|||
nb_participant: JSON.parse(item).nb_participant,
|
||||
title: JSON.parse(item).title,
|
||||
domaine: JSON.parse(item).domaine,
|
||||
taux_replissage: JSON.parse(item).taux_replissage,
|
||||
taux_remplissage: JSON.parse(item).taux_remplissage,
|
||||
nb_inscrit: JSON.parse(item).nb_inscrit,
|
||||
nb_preinscrit: JSON.parse(item).nb_preinscrit,
|
||||
duration: JSON.parse(item).duration_concat,
|
||||
|
@ -4619,7 +4619,7 @@ const DisplayPartnerSession = (props) => {
|
|||
onChange={liste_sessions_file_change}
|
||||
/>
|
||||
|
||||
<a href='/sample/template_import_session_plusieurs_formations.csv' download>Télécharger un fichier modèle</a>
|
||||
<a href='/sample/template_import_session_formation.csv' download>Télécharger un fichier modèle</a>
|
||||
</div>
|
||||
</div>
|
||||
<div className="div_row"> </div>
|
||||
|
|
|
@ -0,0 +1,94 @@
|
|||
import React, { useState, useEffect, useCallback, useRef } from "react";
|
||||
import axios from "axios";
|
||||
import { Helmet } from "react-helmet";
|
||||
import { useParams } from 'react-router-dom'
|
||||
import Header from "./Header";
|
||||
import { useLocation } from "react-router-dom";
|
||||
import fileDownload from 'js-file-download'
|
||||
import { RichTextEditor } from '@mantine/rte';
|
||||
import { Editor } from '@tinymce/tinymce-react';
|
||||
import Button from '@mui/material/Button';
|
||||
|
||||
|
||||
const TestUrl_New = (props) => {
|
||||
|
||||
const { courseid, tabid } = useParams();
|
||||
const [message, setMessage] = useState(null);
|
||||
const editorRef_programme = useRef(null);
|
||||
const [editorRef_programme_limite, seteditorRef_programme] = useState(1000);
|
||||
const [field_programme, setfield_programme] = useState("");
|
||||
const [editor_tochange, seteditor_tochange] = useState("");
|
||||
|
||||
function editor_keyup() {
|
||||
seteditor_tochange("1");
|
||||
}
|
||||
|
||||
function DataUpdated() {
|
||||
|
||||
}
|
||||
|
||||
function add_text() {
|
||||
console.log(" Ajouter un texte ");
|
||||
editorRef_programme.current.insertContent("<i> OKKK </i> ");
|
||||
}
|
||||
|
||||
return (
|
||||
<div className="testurl_new">
|
||||
<Helmet>
|
||||
<title>testurl_new</title>
|
||||
<meta name="description" content="{this.metaDetails.description}" />
|
||||
<meta name="keywords" content="{this.metaDetails.keywords}" />
|
||||
</Helmet>
|
||||
|
||||
<Header />
|
||||
|
||||
<div className="div_mobile">
|
||||
<h3> Page de test * testurl_new </h3>
|
||||
parametres courseid = {courseid}, tabid = {tabid}
|
||||
<br />
|
||||
<div className="div_row">
|
||||
<div style={{ "width": "48%", "marginLeft": "1rem", "float": "left" }}>
|
||||
<div className="titre_training_text"> Programme (max 1000 caractères) </div>
|
||||
<Editor
|
||||
id="cherif"
|
||||
onInit={(evt, editor) => editorRef_programme.current = editor}
|
||||
initialValue={field_programme}
|
||||
onKeyUp={editor_keyup}
|
||||
onEditorChange={(newValue, editor) => {
|
||||
if (String(editor_tochange) === "1") {
|
||||
//alert(" change");
|
||||
DataUpdated();
|
||||
seteditor_tochange("");
|
||||
}
|
||||
}}
|
||||
init={{
|
||||
resize: false,
|
||||
height: 300,
|
||||
menubar: false,
|
||||
plugins: [
|
||||
'advlist autolink lists link image charmap print preview anchor',
|
||||
'searchreplace visualblocks code fullscreen',
|
||||
'insertdatetime media table paste code help wordcount'
|
||||
],
|
||||
|
||||
content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:14px; }'
|
||||
}}
|
||||
/>
|
||||
|
||||
</div>
|
||||
<div style={{ "width": "48%", "marginLeft": "1rem", "float": "left" }}>
|
||||
<div className="titre1"> Action </div>
|
||||
<Button className="bton_enreg" onClick={add_text}
|
||||
>Ajouter text 'OKKK'
|
||||
|
||||
</Button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div >
|
||||
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
export default TestUrl_New;
|
|
@ -0,0 +1,12 @@
|
|||
import TestUrl_New from "../components/TestUrl_new";
|
||||
import Navigation from "../components/Navigation";
|
||||
export default function Recherche() {
|
||||
return (
|
||||
<div>
|
||||
|
||||
<Navigation />
|
||||
<TestUrl_New />
|
||||
|
||||
</div>
|
||||
);
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
|
||||
import TestUrl_New from "../components/TestUrl_new";
|
||||
import Navigation from "../components/Navigation";
|
||||
export default function Recherche() {
|
||||
return (
|
||||
<div>
|
||||
|
||||
<Navigation />
|
||||
<TestUrl_New />
|
||||
|
||||
</div>
|
||||
);
|
||||
}
|
File diff suppressed because it is too large
Load Diff
|
@ -75,4 +75,5 @@
|
|||
@import "./components/global_mysy_css";
|
||||
@import "./components/employes";
|
||||
@import "./components/materiels";
|
||||
@import "./components/testurl_new";
|
||||
|
||||
|
|
Loading…
Reference in New Issue