19/03/2024 - 17h30
parent
d9f83fa846
commit
e6d2de7871
|
@ -129,6 +129,7 @@ const DisplayDetailClass_new_v2 = (props) => {
|
||||||
|
|
||||||
async function funclocaltoken() {
|
async function funclocaltoken() {
|
||||||
|
|
||||||
|
|
||||||
if (action && String(action).toLocaleLowerCase() !== "inscription" &&
|
if (action && String(action).toLocaleLowerCase() !== "inscription" &&
|
||||||
String(action).toLocaleLowerCase() !== "information") {
|
String(action).toLocaleLowerCase() !== "information") {
|
||||||
|
|
||||||
|
@ -173,6 +174,7 @@ const DisplayDetailClass_new_v2 = (props) => {
|
||||||
}
|
}
|
||||||
fetchData();
|
fetchData();
|
||||||
|
|
||||||
|
|
||||||
GetCurrentClass_trainingsession();
|
GetCurrentClass_trainingsession();
|
||||||
Display();
|
Display();
|
||||||
GetAssociatedTraning();
|
GetAssociatedTraning();
|
||||||
|
@ -338,7 +340,7 @@ const DisplayDetailClass_new_v2 = (props) => {
|
||||||
|
|
||||||
axios.post(myurl, form).then(res => {
|
axios.post(myurl, form).then(res => {
|
||||||
console.log(" In Display res.data.status = " + res.data.status);
|
console.log(" In Display res.data.status = " + res.data.status);
|
||||||
//console.log(" In Display res.data.message = " + res.data.message);
|
console.log(" In Display res.data.message = " + res.data.message);
|
||||||
if (String(res.data.status) === String("true")) {
|
if (String(res.data.status) === String("true")) {
|
||||||
|
|
||||||
if (res.data.message.length > 0) {
|
if (res.data.message.length > 0) {
|
||||||
|
|
|
@ -24,6 +24,9 @@ import CheckOut from "./CheckOut";
|
||||||
import PaymentMethod from "./PaymentMethode";
|
import PaymentMethod from "./PaymentMethode";
|
||||||
import { IoAddCircleOutline } from "react-icons/io5";
|
import { IoAddCircleOutline } from "react-icons/io5";
|
||||||
import fileDownload from 'js-file-download'
|
import fileDownload from 'js-file-download'
|
||||||
|
import img_loading_spin from "./../mysy_img/mysy_spin_loading.gif";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
function Facture(props) {
|
function Facture(props) {
|
||||||
|
|
||||||
|
@ -37,6 +40,7 @@ function Facture(props) {
|
||||||
const [selectedpacks, setselectedpacks] = useState("");
|
const [selectedpacks, setselectedpacks] = useState("");
|
||||||
const [currentpack, setcurrentpack] = useState(props.currentpack);
|
const [currentpack, setcurrentpack] = useState(props.currentpack);
|
||||||
|
|
||||||
|
const [isLoading, setLoading] = useState();
|
||||||
|
|
||||||
const columns = [
|
const columns = [
|
||||||
{ field: 'id', headerName: 'id', hide: true },
|
{ field: 'id', headerName: 'id', hide: true },
|
||||||
|
@ -71,6 +75,7 @@ function Facture(props) {
|
||||||
|
|
||||||
function handleClick(event, cellValues) {
|
function handleClick(event, cellValues) {
|
||||||
|
|
||||||
|
setLoading(true);
|
||||||
var nom_facture = cellValues.row.num_facture + ".pdf";
|
var nom_facture = cellValues.row.num_facture + ".pdf";
|
||||||
//form.append("token","K3cw63eKokKSbV4spjQ48SUNnfy80yrXfA");
|
//form.append("token","K3cw63eKokKSbV4spjQ48SUNnfy80yrXfA");
|
||||||
const stored_cookie = getCookie('tokenmysypart');
|
const stored_cookie = getCookie('tokenmysypart');
|
||||||
|
@ -83,8 +88,15 @@ function Facture(props) {
|
||||||
|
|
||||||
axios.get(url, { responseType: 'blob', },)
|
axios.get(url, { responseType: 'blob', },)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
|
|
||||||
fileDownload(res.data, nom_facture)
|
fileDownload(res.data, nom_facture)
|
||||||
})
|
setLoading(false);
|
||||||
|
}).catch((error) => {
|
||||||
|
setLoading(false);
|
||||||
|
console.error('Error:', error);
|
||||||
|
|
||||||
|
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -564,6 +576,9 @@ function Facture(props) {
|
||||||
const [packprice, setpackprice] = useState();
|
const [packprice, setpackprice] = useState();
|
||||||
return (
|
return (
|
||||||
<div className="facture">
|
<div className="facture">
|
||||||
|
{isLoading && <div className="loader-container">
|
||||||
|
<div className="mysy_spinner"> <img src={img_loading_spin} /> </div>
|
||||||
|
</div>}
|
||||||
|
|
||||||
{String(gotocheckout) === String("1") && <div>
|
{String(gotocheckout) === String("1") && <div>
|
||||||
<Button onClick={returntoorder} className="btn_retour_ps"> Retour aux produits & Services </Button>
|
<Button onClick={returntoorder} className="btn_retour_ps"> Retour aux produits & Services </Button>
|
||||||
|
|
|
@ -221,10 +221,10 @@ const Module_Editique = (props) => {
|
||||||
form.append("related_collection", props.related_collection);
|
form.append("related_collection", props.related_collection);
|
||||||
form.append("related_collection_recid", props.related_collection_recid);
|
form.append("related_collection_recid", props.related_collection_recid);
|
||||||
|
|
||||||
console.log(" Lancement de l'action server ...Action_Server_", api_name)
|
|
||||||
|
|
||||||
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Action_Server_" + String(api_name) + "/";
|
var myurl = process.env.REACT_APP_API_URL + "myclass/api/Action_Server_" + String(api_name) + "/";
|
||||||
console.log(" myurl...", myurl)
|
|
||||||
|
|
||||||
return;
|
return;
|
||||||
setLoading(true);
|
setLoading(true);
|
||||||
|
@ -253,6 +253,11 @@ const Module_Editique = (props) => {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var date_today_90j = new Date();
|
||||||
|
date_today_90j.setDate(date_today_90j.getDate() + 90);
|
||||||
|
|
||||||
|
const [is_session_invoiced, setis_session_invoiced] = useState("0");
|
||||||
|
const [session_date_debut, setsession_date_debut] = useState(date_today_90j.toLocaleDateString('fr-FR'));
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
|
||||||
|
@ -738,6 +743,15 @@ const Module_Editique = (props) => {
|
||||||
setselected_internal_url(mylocaltraining.class_internal_url);
|
setselected_internal_url(mylocaltraining.class_internal_url);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (mylocaltraining.invoiced_statut) {
|
||||||
|
setis_session_invoiced(mylocaltraining.invoiced_statut);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mylocaltraining.date_debut) {
|
||||||
|
setsession_date_debut(mylocaltraining.date_debut);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
} else if (String(res.data.status) === String("Err_Connexion")) {
|
} else if (String(res.data.status) === String("Err_Connexion")) {
|
||||||
|
@ -1003,6 +1017,20 @@ const Module_Editique = (props) => {
|
||||||
setDialog_FACTURATION_FORMATION_open(false);
|
setDialog_FACTURATION_FORMATION_open(false);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
const [MSG_INFO_TEXT, setMSG_INFO_TEXT] = React.useState(false);
|
||||||
|
|
||||||
|
const [Dialog_MSG_INFO_open, setDialog_MSG_INFO_open] = React.useState(false);
|
||||||
|
const Dialog_MSG_INFO_handleClose = () => {
|
||||||
|
//alert(" Utiliser le bouton 'fermer' ");
|
||||||
|
//setOpen(false);
|
||||||
|
};
|
||||||
|
|
||||||
|
const Dialog_MSG_INFO_handleClose_buton = () => {
|
||||||
|
setDialog_MSG_INFO_open(false);
|
||||||
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|
||||||
<div className="module_editique">
|
<div className="module_editique">
|
||||||
|
@ -1065,6 +1093,46 @@ const Module_Editique = (props) => {
|
||||||
|
|
||||||
</Dialog>
|
</Dialog>
|
||||||
|
|
||||||
|
{/* Dialog pour gerer les MSG_INFO */}
|
||||||
|
<Dialog
|
||||||
|
open={Dialog_MSG_INFO_open}
|
||||||
|
onClose={Dialog_MSG_INFO_handleClose}
|
||||||
|
className="displaypartnersession"
|
||||||
|
>
|
||||||
|
|
||||||
|
<DialogTitle>MySy Information</DialogTitle>
|
||||||
|
<DialogContent className="DialogContent_width" style={{ "minHeight": "5rem" }}>
|
||||||
|
<DialogContentText>
|
||||||
|
|
||||||
|
|
||||||
|
<div style={{ "textAlign": "left" }}>
|
||||||
|
{MSG_INFO_TEXT}
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</DialogContentText>
|
||||||
|
|
||||||
|
|
||||||
|
</DialogContent>
|
||||||
|
|
||||||
|
<DialogActions>
|
||||||
|
<div className="div_row">
|
||||||
|
<div className="div_row_gauche">
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="div_row_droite" style={{ "textAlign": 'center' }}>
|
||||||
|
<Button onClick={Dialog_MSG_INFO_handleClose_buton} className="bton_annule_dialog" >Fermer</Button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</DialogActions>
|
||||||
|
|
||||||
|
</Dialog>
|
||||||
|
{/* FIN Dialog pour gerer les MSG_INFO */}
|
||||||
|
|
||||||
|
|
||||||
{/* Dialog pour gerer les CONF_INSCRIPTION */}
|
{/* Dialog pour gerer les CONF_INSCRIPTION */}
|
||||||
<Dialog
|
<Dialog
|
||||||
open={Dialog_CONF_INSCRIPTION_open}
|
open={Dialog_CONF_INSCRIPTION_open}
|
||||||
|
@ -1956,6 +2024,7 @@ const Module_Editique = (props) => {
|
||||||
Getall_Editable_Document_By_Partner_By_Collection_result.map((document) => (
|
Getall_Editable_Document_By_Partner_By_Collection_result.map((document) => (
|
||||||
|
|
||||||
<div className="div_row" style={{ "height": "3rem", "marginLeft": "5px", "marginRight": "5px" }}>
|
<div className="div_row" style={{ "height": "3rem", "marginLeft": "5px", "marginRight": "5px" }}>
|
||||||
|
|
||||||
<div className="bton_action_server" style={{ width: "45%", float: "left", height: "2.5rem", paddingTop: "10px" }} onClick={(e) => {
|
<div className="bton_action_server" style={{ width: "45%", float: "left", height: "2.5rem", paddingTop: "10px" }} onClick={(e) => {
|
||||||
|
|
||||||
|
|
||||||
|
@ -1970,9 +2039,35 @@ const Module_Editique = (props) => {
|
||||||
|
|
||||||
if (String(JSON.parse(document).courrier_template_ref_interne) === "CONVENTION_STAGIAIRE_ENTREPRISE" ||
|
if (String(JSON.parse(document).courrier_template_ref_interne) === "CONVENTION_STAGIAIRE_ENTREPRISE" ||
|
||||||
String(JSON.parse(document).courrier_template_ref_interne) === "CONVENTION_STAGIAIRE_INDIVIDUELLE") {
|
String(JSON.parse(document).courrier_template_ref_interne) === "CONVENTION_STAGIAIRE_INDIVIDUELLE") {
|
||||||
|
|
||||||
|
// Verifier que la date de la session n'est pas passée
|
||||||
|
var date_eval = new Date(moment(session_date_debut, "DD/MM/YYYY"));
|
||||||
|
var diff = date_eval.getTime() - Date.now();
|
||||||
|
|
||||||
|
if (diff <= 0) {
|
||||||
|
setMSG_INFO_TEXT("Cette session a déjà commencé. Il n'est plus possible d'éditer une convention")
|
||||||
|
setDialog_MSG_INFO_open(true);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if (String(is_session_invoiced) === "1") {
|
||||||
|
setMSG_INFO_TEXT("Cette session est en cours de facturation. Il n'est plus possible d'éditer une convention")
|
||||||
|
setDialog_MSG_INFO_open(true);
|
||||||
|
|
||||||
|
}
|
||||||
|
else if (String(is_session_invoiced) === "2") {
|
||||||
|
setMSG_INFO_TEXT("Cette session a déjà été facturée. Il n'est plus possible d'éditer une convention")
|
||||||
|
setDialog_MSG_INFO_open(true);
|
||||||
|
|
||||||
|
} else {
|
||||||
Get_List_Stagiaire_Conventions(String(JSON.parse(document).courrier_template_ref_interne), String(JSON.parse(document).courrier_template_nom), String(JSON.parse(document).courrier_template_type_doc)
|
Get_List_Stagiaire_Conventions(String(JSON.parse(document).courrier_template_ref_interne), String(JSON.parse(document).courrier_template_nom), String(JSON.parse(document).courrier_template_type_doc)
|
||||||
);
|
);
|
||||||
setDialog_convention_open(true);
|
setDialog_convention_open(true);
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (String(JSON.parse(document).courrier_template_ref_interne) === "EMARGEMENT_FORMATION") {
|
else if (String(JSON.parse(document).courrier_template_ref_interne) === "EMARGEMENT_FORMATION") {
|
||||||
setDialog_EMARGEMENT_FORMATION_open(true);
|
setDialog_EMARGEMENT_FORMATION_open(true);
|
||||||
|
@ -1984,10 +2079,35 @@ const Module_Editique = (props) => {
|
||||||
|
|
||||||
else if (String(JSON.parse(document).courrier_template_ref_interne) === "CONVOCATION_STAGIAIRE") {
|
else if (String(JSON.parse(document).courrier_template_ref_interne) === "CONVOCATION_STAGIAIRE") {
|
||||||
|
|
||||||
|
// Verifier que la date de la session n'est pas passée
|
||||||
|
var date_eval = new Date(moment(session_date_debut, "DD/MM/YYYY"));
|
||||||
|
var diff = date_eval.getTime() - Date.now();
|
||||||
|
|
||||||
|
if (diff <= 0) {
|
||||||
|
setMSG_INFO_TEXT("Cette session a déjà commencé. Il n'est plus possible d'éditer une convocation")
|
||||||
|
setDialog_MSG_INFO_open(true);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (String(is_session_invoiced) === "1") {
|
||||||
|
setMSG_INFO_TEXT("Cette session est en cours de facturation. Il n'est plus possible d'éditer une convocation")
|
||||||
|
setDialog_MSG_INFO_open(true);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
else if (String(is_session_invoiced) === "2") {
|
||||||
|
setMSG_INFO_TEXT("Cette session a déjà été facturée. Il n'est plus possible d'éditer une convocation")
|
||||||
|
setDialog_MSG_INFO_open(true);
|
||||||
|
|
||||||
|
} else {
|
||||||
|
|
||||||
Get_List_Stagiaire_Convocations(String(JSON.parse(document).courrier_template_ref_interne), String(JSON.parse(document).courrier_template_nom), String(JSON.parse(document).courrier_template_type_doc)
|
Get_List_Stagiaire_Convocations(String(JSON.parse(document).courrier_template_ref_interne), String(JSON.parse(document).courrier_template_nom), String(JSON.parse(document).courrier_template_type_doc)
|
||||||
);
|
);
|
||||||
|
|
||||||
setDialog_CONVOCATION_STAGIAIRE_open(true);
|
setDialog_CONVOCATION_STAGIAIRE_open(true);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
else if (String(JSON.parse(document).courrier_template_ref_interne) === "CONF_INSCRIPTION") {
|
else if (String(JSON.parse(document).courrier_template_ref_interne) === "CONF_INSCRIPTION") {
|
||||||
setDialog_CONF_INSCRIPTION_open(true);
|
setDialog_CONF_INSCRIPTION_open(true);
|
||||||
|
|
|
@ -143,7 +143,7 @@ function ProduitsServices() {
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="critere_droite">
|
{/*<div className="critere_droite">
|
||||||
<span className="span1"> Periodicité </span>
|
<span className="span1"> Periodicité </span>
|
||||||
<button
|
<button
|
||||||
onClick={Clik_bton_mensuel}
|
onClick={Clik_bton_mensuel}
|
||||||
|
@ -159,18 +159,104 @@ function ProduitsServices() {
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div> */}
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div className="div_row">
|
<div className="div_row">
|
||||||
<div className="div_row_description">
|
<div className="div_row_description">
|
||||||
<div className="div_basique_header">
|
<div className="div_basique_header" style={{ "background": "#E9ECEF" }}> Produits & Services </div>
|
||||||
|
<hr style={{ "margin": "1px" }} />
|
||||||
|
<div style={{ "marginBottom": "0px", "fontSize": "small" }} className="block_vide_produit_service">
|
||||||
|
<nav style={{ "marginBottom": "0.8rem", "fontSize": "small", "textAlign": 'center', "fontWeight": "700" }}> </nav>
|
||||||
|
<nav> </nav>
|
||||||
|
<nav> </nav>
|
||||||
|
<nav> </nav>
|
||||||
</div>
|
</div>
|
||||||
<div style={{ "marginBottom": "1rem", "background": "#E9ECEF" }}>
|
<div className="produits_service_label height_publication_header">
|
||||||
Produits & Services
|
<b> Gestion Administrative & Pédagogique </b>
|
||||||
</div>
|
</div>
|
||||||
|
<div className="produits_service_label height_gestion_admin">
|
||||||
|
<b>Gestion administrative</b>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>Publication catalogue formations (intranet / API)</li>
|
||||||
|
<li>Gestion des Inscriptions (mise en attente, motif annulation, etc) </li>
|
||||||
|
<li>Gestion des Sessions (planifiée, à la demande)</li>
|
||||||
|
<li>Gestion avis participants</li>
|
||||||
|
<li>Gestion des employés et du matériel pédagogique</li>
|
||||||
|
<li>Émargement électronique</li>
|
||||||
|
<li>Gestion des agendas & réservation de matériel (salles, projecteurs, etc)</li>
|
||||||
|
<li>Personnalisation et versionning des documents (convention, convocation, ...)</li>
|
||||||
|
<li>Edition automatique des document liés à la formation (Convention, convocation, Programme…)</li>
|
||||||
|
<li>Gestion automatique et manuelle des séquences de formations </li>
|
||||||
|
<li>Gestion des absences</li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="produits_service_label height_publication_header">
|
||||||
|
<b> Gestion relation client (CRM) </b>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="produits_service_label height_gestion_crm">
|
||||||
|
<b>Gestion relation client (CRM) </b>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>Gestion clients & Contacts</li>
|
||||||
|
<li>Affectation et Suivi tâches</li>
|
||||||
|
<li>Affectation et Suivi tâches</li>
|
||||||
|
<li>Catalogue prix clients</li>
|
||||||
|
<li>Devis & Commandes (envoi électronique) </li>
|
||||||
|
<li>Facturation</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="produits_service_label height_publication_header">
|
||||||
|
<b> Hébergement de formations (LMS) </b>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div className="produits_service_label height_intranet">
|
||||||
|
<b>Intranet personnalisé</b>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>Mise en place d’un site web (intranet) personnalisé.</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div className="produits_service_label height_e_learning_persona">
|
||||||
|
<b>Plate-forme de E-learning personnalisée</b>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>Nom de domaine personnalisé</li>
|
||||||
|
<li>Personnalisation de la charte graphique (couleurs & bannière) </li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="produits_service_label height_e_learning">
|
||||||
|
<b>Système de E-learning</b>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>Echange prof / apprenant (courriel interne)</li>
|
||||||
|
<li>Espace enseignant</li>
|
||||||
|
<li>Espace apprenant</li>
|
||||||
|
<li>Evaluation (note)</li>
|
||||||
|
<li>Gestion planning</li>
|
||||||
|
<li>Travaux dirigés & pratiques</li>
|
||||||
|
<li>Session live virtuelle</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div className="produits_service_label height_publication_header">
|
<div className="produits_service_label height_publication_header">
|
||||||
<b> Moteur de Recherche </b>
|
<b> Moteur de Recherche </b>
|
||||||
</div>
|
</div>
|
||||||
|
@ -234,85 +320,56 @@ function ProduitsServices() {
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div className="produits_service_label height_publication_header">
|
|
||||||
<b> Gestion Administrative & Pédagogique </b>
|
|
||||||
</div>
|
|
||||||
<div className="produits_service_label height_gestion_admin">
|
|
||||||
<b>Gestion administrative</b>
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
<li>Publication catalogue formations (intranet / API)</li>
|
|
||||||
<li>Gestion des Inscriptions (mise en attente, motif annulation, etc) </li>
|
|
||||||
<li>Gestion des Sessions (planifiée, à la demande)</li>
|
|
||||||
<li>Gestion avis participants</li>
|
|
||||||
<li>Gestion des employés et du matériel pédagogique</li>
|
|
||||||
<li>Émargement électronique</li>
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div className="produits_service_label height_gestion_crm">
|
|
||||||
<b>Gestion relation client (CRM) </b>
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
<li>Gestion clients</li>
|
|
||||||
<li>Affectation et Suivi tâches</li>
|
|
||||||
<li>Catalogue prix clients</li>
|
|
||||||
<li>Devis & Commandes (envoi électronique) </li>
|
|
||||||
<li>Facturation</li>
|
|
||||||
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className="produits_service_label height_publication_header">
|
|
||||||
<b> Hébergement de formations (LMS) </b>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<div className="produits_service_label height_intranet">
|
|
||||||
<b>Intranet personnalisé</b>
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
<li>Mise en place d’un site web (intranet) personnalisé.</li>
|
|
||||||
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
<div className="produits_service_label height_e_learning_persona">
|
|
||||||
<b>Plate-forme de E-learning personnalisée</b>
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
<li>Nom de domaine personnalisé</li>
|
|
||||||
<li>Personnalisation de la charte graphique (couleurs & bannière) </li>
|
|
||||||
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className="produits_service_label height_e_learning">
|
|
||||||
<b>Système de E-learning</b>
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
<li>Echange prof / apprenant (courriel interne)</li>
|
|
||||||
<li>Espace apprenant</li>
|
|
||||||
<li>Evaluation (note)</li>
|
|
||||||
<li>Gestion planning</li>
|
|
||||||
<li>Travaux dirigés & pratiques</li>
|
|
||||||
<li>Session live virtuelle</li>
|
|
||||||
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="div_row_basique">
|
<div className="div_row_basique">
|
||||||
<div className="div_basique_header"> Découverte </div>
|
<div className="div_basique_header"> Indépendant </div>
|
||||||
<hr style={{ "margin": "1px" }} />
|
<hr style={{ "margin": "1px" }} />
|
||||||
<div style={{ "marginBottom": "0px", "fontSize": "small" }}>
|
<div style={{ "marginBottom": "0px", "fontSize": "small" }}>
|
||||||
Pour chaque Formation
|
<nav style={{ "marginBottom": "0.8rem", "fontSize": "small", "textAlign": 'center', "fontWeight": "700" }}> Moins de 25 Sessions / an </nav>
|
||||||
|
<nav> Sans engagement</nav>
|
||||||
|
<nav> 2 Utilisateurs </nav>
|
||||||
|
<nav> </nav>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div className="produits_service_label height_publication_header">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div className="produits_service_tick height_gestion_admin">
|
||||||
|
<img src={tick_ok} alt="OK" className="tick_ok_ko" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="produits_service_label height_publication_header">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="produits_service_tick height_gestion_crm">
|
||||||
|
<img src={tick_ok} alt="OK" className="tick_ok_ko" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="produits_service_label height_publication_header">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div className="produits_service_tick height_intranet">
|
||||||
|
<img src={tick_ko} alt="KO" className="tick_ok_ko" />
|
||||||
|
</div>
|
||||||
|
<div className="produits_service_tick height_e_learning_persona">
|
||||||
|
<img src={tick_ok} alt="OK" className="tick_ok_ko" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="produits_service_tick height_e_learning">
|
||||||
|
<img src={tick_ok} alt="OK" className="tick_ok_ko" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div className="produits_service_label height_publication_header">
|
<div className="produits_service_label height_publication_header">
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
@ -323,7 +380,7 @@ function ProduitsServices() {
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="produits_service_tick height_price_1">
|
<div className="produits_service_tick height_price_1">
|
||||||
<img src={tick_ok} alt="OK" className="tick_ok_ko" />
|
<img src={tick_ko} alt="KO" className="tick_ok_ko" />
|
||||||
</div>
|
</div>
|
||||||
<div className="produits_service_tick height_affichage_ftion">
|
<div className="produits_service_tick height_affichage_ftion">
|
||||||
<img src={tick_ko} alt="KO" className="tick_ok_ko" />
|
<img src={tick_ko} alt="KO" className="tick_ok_ko" />
|
||||||
|
@ -337,37 +394,10 @@ function ProduitsServices() {
|
||||||
<img src={tick_ko} alt="KO" className="tick_ok_ko" />
|
<img src={tick_ko} alt="KO" className="tick_ok_ko" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="produits_service_label height_publication_header">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<div className="produits_service_tick height_gestion_admin">
|
|
||||||
<img src={tick_ko} alt="KO" className="tick_ok_ko" />
|
|
||||||
</div>
|
|
||||||
<div className="produits_service_tick height_gestion_crm">
|
|
||||||
<img src={tick_ko} alt="KO" className="tick_ok_ko" />
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className="produits_service_label height_publication_header">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<div className="produits_service_tick height_intranet">
|
|
||||||
<img src={tick_ko} alt="KO" className="tick_ok_ko" />
|
|
||||||
</div>
|
|
||||||
<div className="produits_service_tick height_e_learning_persona">
|
|
||||||
<img src={tick_ko} alt="KO" className="tick_ok_ko" />
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className="produits_service_tick height_e_learning">
|
|
||||||
<img src={tick_ko} alt="KO" className="tick_ok_ko" />
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<div className="div_row_basique_price">
|
<div className="div_row_basique_price">
|
||||||
Gratuit 15 jours
|
150 HT €/mois
|
||||||
</div>
|
</div>
|
||||||
<div className="div_row_basique_price">
|
<div className="div_row_basique_price">
|
||||||
|
|
||||||
|
@ -390,8 +420,46 @@ function ProduitsServices() {
|
||||||
<div className="div_standard_header"> Standard </div>
|
<div className="div_standard_header"> Standard </div>
|
||||||
<hr style={{ "margin": "0.2rem" }} />
|
<hr style={{ "margin": "0.2rem" }} />
|
||||||
<div style={{ "marginBottom": "0.8rem", "fontSize": "small" }}>
|
<div style={{ "marginBottom": "0.8rem", "fontSize": "small" }}>
|
||||||
Pour chaque Formation
|
<nav style={{ "marginBottom": "0.8rem", "fontSize": "small", "textAlign": 'center', "fontWeight": "700" }}> De 26 à 200 Sessions / an </nav>
|
||||||
|
<nav> Sans engagement</nav>
|
||||||
|
<nav> Utilisateurs illimités </nav>
|
||||||
|
<nav> </nav>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div className="produits_service_label height_publication_header">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div className="produits_service_tick height_gestion_admin">
|
||||||
|
<img src={tick_ok} alt="OK" className="tick_ok_ko" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="produits_service_label height_publication_header">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="produits_service_tick height_gestion_crm">
|
||||||
|
<img src={tick_ok} alt="OK" className="tick_ok_ko" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="produits_service_label height_publication_header">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div className="produits_service_tick height_intranet">
|
||||||
|
<img src={tick_ko} alt="KO" className="tick_ok_ko" />
|
||||||
|
</div>
|
||||||
|
<div className="produits_service_tick height_e_learning_persona">
|
||||||
|
<img src={tick_ok} alt="OK" className="tick_ok_ko" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="produits_service_tick height_e_learning">
|
||||||
|
<img src={tick_ok} alt="OK" className="tick_ok_ko" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div className="produits_service_label height_publication_header">
|
<div className="produits_service_label height_publication_header">
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
@ -416,37 +484,11 @@ function ProduitsServices() {
|
||||||
<img src={tick_ko} alt="KO" className="tick_ok_ko" />
|
<img src={tick_ko} alt="KO" className="tick_ok_ko" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="produits_service_label height_publication_header">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<div className="produits_service_tick height_gestion_admin">
|
|
||||||
<img src={tick_ok} alt="OK" className="tick_ok_ko" />
|
|
||||||
</div>
|
|
||||||
<div className="produits_service_tick height_gestion_crm">
|
|
||||||
<img src={tick_ko} alt="KO" className="tick_ok_ko" />
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className="produits_service_label height_publication_header">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<div className="produits_service_tick height_intranet">
|
|
||||||
<img src={tick_ko} alt="KO" className="tick_ok_ko" />
|
|
||||||
</div>
|
|
||||||
<div className="produits_service_tick height_e_learning_persona">
|
|
||||||
<img src={tick_ko} alt="KO" className="tick_ok_ko" />
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className="produits_service_tick height_e_learning">
|
|
||||||
<img src={tick_ko} alt="KO" className="tick_ok_ko" />
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<div className="div_row_standard_price">
|
<div className="div_row_standard_price">
|
||||||
50 HT €/mois
|
299 HT €/mois
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -471,7 +513,42 @@ function ProduitsServices() {
|
||||||
<div className="div_gold_header"> Gold </div>
|
<div className="div_gold_header"> Gold </div>
|
||||||
<hr style={{ "margin": "0.2rem" }} />
|
<hr style={{ "margin": "0.2rem" }} />
|
||||||
<div style={{ "marginBottom": "0.8rem", "fontSize": "small" }}>
|
<div style={{ "marginBottom": "0.8rem", "fontSize": "small" }}>
|
||||||
Pour chaque Formation
|
<nav style={{ "marginBottom": "0.8rem", "fontSize": "small", "textAlign": 'center', "fontWeight": "700" }}> A partir de 201 Sessions / an </nav>
|
||||||
|
<nav> Sans engagement</nav>
|
||||||
|
<nav> Utilisateurs illimités </nav>
|
||||||
|
<nav> </nav>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="produits_service_label height_publication_header">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div className="produits_service_tick height_gestion_admin">
|
||||||
|
<img src={tick_ok} alt="OK" className="tick_ok_ko" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="produits_service_label height_publication_header">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div className="produits_service_tick height_gestion_crm">
|
||||||
|
<img src={tick_ok} alt="OK" className="tick_ok_ko" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="produits_service_label height_publication_header">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div className="produits_service_tick height_intranet">
|
||||||
|
<img src={tick_ok} alt="OK" className="tick_ok_ko" />
|
||||||
|
</div>
|
||||||
|
<div className="produits_service_tick height_e_learning_persona">
|
||||||
|
<img src={tick_ok} alt="OK" className="tick_ok_ko" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="produits_service_tick height_e_learning">
|
||||||
|
<img src={tick_ok} alt="OK" className="tick_ok_ko" />
|
||||||
</div>
|
</div>
|
||||||
<div className="produits_service_label height_publication_header">
|
<div className="produits_service_label height_publication_header">
|
||||||
|
|
||||||
|
@ -497,37 +574,12 @@ function ProduitsServices() {
|
||||||
<img src={tick_ok} alt="OK" className="tick_ok_ko" />
|
<img src={tick_ok} alt="OK" className="tick_ok_ko" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="produits_service_label height_publication_header">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<div className="produits_service_tick height_gestion_admin">
|
|
||||||
<img src={tick_ok} alt="OK" className="tick_ok_ko" />
|
|
||||||
</div>
|
|
||||||
<div className="produits_service_tick height_gestion_crm">
|
|
||||||
<img src={tick_ok} alt="OK" className="tick_ok_ko" />
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className="produits_service_label height_publication_header">
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<div className="produits_service_tick height_intranet">
|
|
||||||
<img src={tick_ok} alt="OK" className="tick_ok_ko" />
|
|
||||||
</div>
|
|
||||||
<div className="produits_service_tick height_e_learning_persona">
|
|
||||||
<img src={tick_ok} alt="OK" className="tick_ok_ko" />
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div className="produits_service_tick height_e_learning">
|
|
||||||
<img src={tick_ok} alt="OK" className="tick_ok_ko" />
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<div className="div_row_gold_price">
|
<div className="div_row_gold_price">
|
||||||
90 € HT /mois
|
A partir de 599 € HT /mois
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -558,7 +610,7 @@ function ProduitsServices() {
|
||||||
|
|
||||||
<div className="bton_envoyer_precision" onClick={sendEmail}>
|
<div className="bton_envoyer_precision" onClick={sendEmail}>
|
||||||
|
|
||||||
Vous souhaitez avoir des précisions, contactez nous. {<SendIcon />}
|
Vous souhaitez avoir des précisions, un <b> Devis </b> contactez nous. {<SendIcon />}
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 35 KiB After Width: | Height: | Size: 49 KiB |
Binary file not shown.
After Width: | Height: | Size: 35 KiB |
Binary file not shown.
After Width: | Height: | Size: 27 KiB |
|
@ -38,7 +38,7 @@
|
||||||
|
|
||||||
.mysy_spinner {
|
.mysy_spinner {
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
border: 1px solid black;
|
//border: 1px solid black;
|
||||||
opacity: 100%;
|
opacity: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
|
|
||||||
.mysy_spinner {
|
.mysy_spinner {
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
border: 1px solid black;
|
//border: 1px solid black;
|
||||||
opacity: 100%;
|
opacity: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
|
|
||||||
.mysy_spinner {
|
.mysy_spinner {
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
border: 1px solid black;
|
//border: 1px solid black;
|
||||||
opacity: 100%;
|
opacity: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
|
|
||||||
.mysy_spinner {
|
.mysy_spinner {
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
border: 1px solid black;
|
//border: 1px solid black;
|
||||||
opacity: 100%;
|
opacity: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
|
|
||||||
.mysy_spinner {
|
.mysy_spinner {
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
border: 1px solid black;
|
//border: 1px solid black;
|
||||||
opacity: 100%;
|
opacity: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
|
|
||||||
.mysy_spinner {
|
.mysy_spinner {
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
border: 1px solid black;
|
//border: 1px solid black;
|
||||||
opacity: 100%;
|
opacity: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -549,6 +549,10 @@
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.block_vide_produit_service{
|
||||||
|
height: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1091,7 +1095,7 @@
|
||||||
|
|
||||||
|
|
||||||
.height_gestion_admin {
|
.height_gestion_admin {
|
||||||
height: 13rem !important;
|
height: 24rem !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.height_appel_offre {
|
.height_appel_offre {
|
||||||
|
@ -1135,6 +1139,10 @@
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.block_vide_produit_service{
|
||||||
|
height: 7rem;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@media only screen and (min-width: 992px) and (max-width: 1199px) {
|
@media only screen and (min-width: 992px) and (max-width: 1199px) {
|
||||||
|
@ -1679,7 +1687,7 @@
|
||||||
|
|
||||||
|
|
||||||
.height_gestion_admin {
|
.height_gestion_admin {
|
||||||
height: 11rem !important;
|
height: 22rem !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.height_appel_offre {
|
.height_appel_offre {
|
||||||
|
@ -1724,6 +1732,11 @@
|
||||||
color: white;
|
color: white;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.block_vide_produit_service{
|
||||||
|
height: 8rem;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@media only screen and (min-width: 1200px) {
|
@media only screen and (min-width: 1200px) {
|
||||||
|
@ -1962,7 +1975,7 @@
|
||||||
|
|
||||||
|
|
||||||
.height_gestion_admin {
|
.height_gestion_admin {
|
||||||
height: 11rem !important;
|
height: 18rem !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.height_appel_offre {
|
.height_appel_offre {
|
||||||
|
@ -1982,7 +1995,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.height_gestion_crm {
|
.height_gestion_crm {
|
||||||
height: 9rem !important;
|
height: 12rem !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -2311,5 +2324,10 @@
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.block_vide_produit_service{
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// end media
|
||||||
|
}
|
Loading…
Reference in New Issue