Application Mobile de Workflow d'Approbation d'Entreprise

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.

  1. 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'
           });
       }
   });
}
   
  1. 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);
   }
}
   
  1. 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();
}
   
  1. 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')}`;
   }
}
   
  1. 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++;
           }
       }
   });
}
   

Étiquettes: workflow approbation application mobile flux de travail gestion d'entreprise

Publié le 11 septembre à 10h49