Ce document présente des exemples de code pour une aplication mobile d'entreprise axée sur la gestion des flux de travail et des approbations.
- Section des Notifications
Cette section gère l'affichage des messages et ntoifications pour l'utilisateur. Le code ci-dessous montre comment récupérer et afficher une liste de messages reçus.
function chargerMessagesRecus() {
const params = `pageNumber=${numeroPage}&taillePage=${taillePage}&typeMessage=${api.pageParam.typeMessage}`;
api.ajax({
url: `http://${api.getStorage('serveur')}/hqwl/core/funcs/sms/act/HQWLSmsTestAct/acceptedPadSms.act?${params}`,
method: 'get'
}, (retour, erreur) => {
if (retour && retour.etatRetour === "0") {
const modeleMessage = api.byId('modeleListeMessages');
if (modeleMessage) {
const generateurModele = doT.template(modeleMessage.innerHTML);
const listeMessages = api.byId('listeMessages');
listeMessages.innerHTML = generateurModele(retour.donneesRetour.donneesPage);
numeroPage++;
}
} else {
api.openWin({
name: 'connexion',
url: 'connexion.html'
});
}
});
}
- Section Annuaire
Cette partie de l'application permet de consulter l'annuaire de l'entreprise. Le code récupère la liste des utilisateurs, potentiellement filtrée pour une sélection dans un flux de travail.
function initialiserAnnuaire() {
const parametres = "filtreUtilisateur=0&choixProcessus=3&idFlux=685&idExecution=";
api.ajax({
url: `http://${api.getStorage('serveur')}/hqwl/core/funcs/workflow/act/HQWLWorkUserSelectAct/getPadOpUser.act?${parametres}`,
method: 'get'
}, (retour, erreur) => {
if (retour && retour.etatRetour === "0") {
const modeleAnnuaire = api.byId('modeleAnnuaire');
if (modeleAnnuaire) {
const generateurModele = doT.template(modeleAnnuaire.innerHTML);
const listeUtilisateurs = api.byId('listeUtilisateurs');
listeUtilisateurs.innerHTML = generateurModele(regrouperDonneesUtilisateur(retour.donneesRetour));
}
} else {
api.openWin({
name: 'connexion',
url: 'connexion.html'
});
}
});
if (api.pageParam.selectionMultiple === 'true') {
api.byId('piedPage').style.display = '';
setTimeout('configurerCasesSelection()', 200);
}
}
- Section Applications
Cette section sert de tableau de bord centralisant les informations clés et les alertes de différentes applications internes.
function chargerTableauBord() {
chargerComptageFluxApprobation();
chargerComptageMessagesInternes();
chargerComptageMessagesEmails();
chargerComptageNotifications();
}
- Section Mon Profil
Gère l'affichage des informations personnelles de l'utilsiateur connecté, y compris le nom, l'avatar et la localisation.
function mettreAJourInfosUtilisateur() {
const nomUtilisateur = api.getStorage('compte');
api.byId('nomCompteUtilisateur').innerHTML = nomUtilisateur || 'Se connecter';
let urlAvatar = api.getStorage('avatar') || '../image/mon/profil_defaut.png';
api.imageCache({ url: urlAvatar }, (retour, erreur) => {
api.byId('avatarUtilisateur').src = retour.url;
});
const ville = api.getStorage('ville');
if (ville) {
api.byId('localisationUtilisateur').innerHTML = 'Lieu de résidence : ' + ville;
} else {
api.byId('localisationUtilisateur').innerHTML = `${api.getStorage('nomDepartement')} ${api.getStorage('nomRole')}`;
}
}
- Section Approbations
Affiche les éléments en attente d'approbation dans le cadre des processus de flux de travail de l'entreprise.
function chargerApprobations() {
const parametres = "&pageActuelle=1&taillePage=" + taillePage;
api.ajax({
url: `http://${api.getStorage('serveur')}/hqwl/pda/workflow/act/HQWLPdaWorkflowAct/approve.act?P=1&indicateurProcessus=2&typeRequete=json${parametres}`,
method: 'get'
}, (retour, erreur) => {
if (retour && retour.etatRetour === "0") {
const modeleApprobation = api.byId('modeleApprobation');
if (modeleApprobation) {
const generateurModele = doT.template(modeleApprobation.innerHTML);
const listeApprobations = api.byId('listeApprobations');
listeApprobations.innerHTML = generateurModele(retour.donneesRetour);
numeroPage++;
}
}
});
}