Commit 2c19577491fe54eef2b326a64c1302b9e6ea6dca

Authored by Geoffrey PREUD'HOMME
1 parent 78ed38ba

Statistiques client

Showing 2 changed files with 47 additions and 10 deletions   Show diff stats
@@ -100,17 +100,17 @@ @@ -100,17 +100,17 @@
100 </div> 100 </div>
101 <ul class="right hide-on-med-and-down"> 101 <ul class="right hide-on-med-and-down">
102 <li v-if="moi.connecte"> 102 <li v-if="moi.connecte">
103 - <a class="dropdown-button" href="#utilisateurs" @click="page = 'gestion'"> 103 + <a class="dropdown-button" @click="changerPage('gestion', 'utilisateurs')">
104 <i class="material-icons">perm_identity</i> {{ moi.login }} (<i class="material-icons">timer</i> {{ timer }}) 104 <i class="material-icons">perm_identity</i> {{ moi.login }} (<i class="material-icons">timer</i> {{ timer }})
105 </a> 105 </a>
106 </li> 106 </li>
107 <li v-if="connecte && page == 'operations'"> 107 <li v-if="connecte && page == 'operations'">
108 - <a @click="page = 'gestion'"> 108 + <a @click="changerPage('gestion')">
109 <i class="material-icons">settings</i> Gestion 109 <i class="material-icons">settings</i> Gestion
110 </a> 110 </a>
111 </li> 111 </li>
112 <li v-if="connecte && page == 'gestion'"> 112 <li v-if="connecte && page == 'gestion'">
113 - <a @click="page = 'operations'"> 113 + <a @click="changerPage('operations')">
114 <i class="material-icons">play_arrow</i> Opérations 114 <i class="material-icons">play_arrow</i> Opérations
115 </a> 115 </a>
116 </li> 116 </li>
@@ -334,6 +334,7 @@ @@ -334,6 +334,7 @@
334 </div> 334 </div>
335 <div class="collapsible-body"> 335 <div class="collapsible-body">
336 <umodifier :utilisateur="utilisateur"></umodifier> 336 <umodifier :utilisateur="utilisateur"></umodifier>
  337 + <button disabled>Supprimer <todo></todo></button>
337 338
338 <h5>Transactions</h5> 339 <h5>Transactions</h5>
339 <todo></todo> 340 <todo></todo>
@@ -349,7 +350,26 @@ @@ -349,7 +350,26 @@
349 </div> 350 </div>
350 <div id="statistiques"> 351 <div id="statistiques">
351 <h4>Statistiques</h4> 352 <h4>Statistiques</h4>
352 - <todo></todo> 353 + <h5>Plage de temps <todo></todo></h5>
  354 + <p>Du <strong>début</strong> jusqu'à <strong>maintenant</strong></p>
  355 + <button @click="actuStatistiques">Rafraîchir</button>
  356 +
  357 + <h5>Chiffre d'affaires</h5>
  358 + <ul>
  359 + <li><strong>Bénéfices :</strong> {{ statistiques.benefices }} €</li>
  360 + <li><strong>Recettes :</strong> {{ statistiques.recettes }} €</li>
  361 + <li><strong>Dettes :</strong> {{ statistiques.dettes }} €</li>
  362 + </ul>
  363 + <h5>Factures</h5>
  364 + <ul>
  365 + <li><strong>BDE :</strong> {{ statistiques.factureBDE }} €</li>
  366 + </ul>
  367 + <h5>Divers</h5>
  368 + <ul>
  369 + <li><strong>Nombre de clients :</strong> {{ statistiques.clientsNb }}</li>
  370 + <li><strong>Consommations :</strong> {{ statistiques.consommationsNb }}</li>
  371 + <li><strong>Solde moyen :</strong> {{ statistiques.soldeMoy }} €</li>
  372 + </ul>
353 </div> 373 </div>
354 </div> 374 </div>
355 </div> 375 </div>
@@ -372,7 +392,6 @@ @@ -372,7 +392,6 @@
372 </div> 392 </div>
373 </script> 393 </script>
374 <script type="text/template" id="u_modifier"> 394 <script type="text/template" id="u_modifier">
375 - <h5>Changer de droit</h5>  
376 <form @change="u_droit(utilisateur)"> 395 <form @change="u_droit(utilisateur)">
377 <p> 396 <p>
378 <input :name="'droit_' + utilisateur.login" type="radio" :id="'droit_' + utilisateur.login + '_1'" v-model="utilisateur.droit" value="1" :disabled="moi.droit < 3"/> 397 <input :name="'droit_' + utilisateur.login" type="radio" :id="'droit_' + utilisateur.login + '_1'" v-model="utilisateur.droit" value="1" :disabled="moi.droit < 3"/>
@@ -387,7 +406,6 @@ @@ -387,7 +406,6 @@
387 <label :for="'droit_' + utilisateur.login + '_3'">Président</label> 406 <label :for="'droit_' + utilisateur.login + '_3'">Président</label>
388 </p> 407 </p>
389 </form> 408 </form>
390 - <h5>Changer de mot de passe</h5>  
391 <form @submit="u_mdp(utilisateur)"> 409 <form @submit="u_mdp(utilisateur)">
392 <div class="input-field"> 410 <div class="input-field">
393 <i class="material-icons prefix">vpn_key</i> 411 <i class="material-icons prefix">vpn_key</i>
@@ -396,7 +414,6 @@ @@ -396,7 +414,6 @@
396 </div> 414 </div>
397 <button :disabled="!utilisateur.mdp">Changer de mot de passe</button> 415 <button :disabled="!utilisateur.mdp">Changer de mot de passe</button>
398 </form> 416 </form>
399 - <h5> Changer de carte </h5>  
400 <form @submit="u_carte(utilisateur)"> 417 <form @submit="u_carte(utilisateur)">
401 <div class="input-field"> 418 <div class="input-field">
402 <i class="material-icons prefix">credit_card</i> 419 <i class="material-icons prefix">credit_card</i>
@@ -408,8 +425,8 @@ @@ -408,8 +425,8 @@
408 </script> 425 </script>
409 426
410 <!-- Scripts--> 427 <!-- Scripts-->
411 - <script src="lib/jquery/dist/jquery.min.js"></script>  
412 - <script src="lib/Materialize/dist/js/materialize.min.js"></script> 428 + <script src="lib/jquery/dist/jquery.js"></script>
  429 + <script src="lib/Materialize/dist/js/materialize.js"></script>
413 <script src="lib/vue/dist/vue.js"></script> 430 <script src="lib/vue/dist/vue.js"></script>
414 <script src="js/init.js"></script> 431 <script src="js/init.js"></script>
415 432
@@ -51,6 +51,7 @@ var app = new Vue({ @@ -51,6 +51,7 @@ var app = new Vue({
51 clients: [], 51 clients: [],
52 transactions: [], 52 transactions: [],
53 utilisateurs: [], 53 utilisateurs: [],
  54 + statistiques: {},
54 }, 55 },
55 methods: { 56 methods: {
56 // API 57 // API
@@ -114,6 +115,20 @@ var app = new Vue({ @@ -114,6 +115,20 @@ var app = new Vue({
114 } 115 }
115 }) 116 })
116 }, 117 },
  118 + actuStatistiques: function() {
  119 + var that = this
  120 + this.api("statistiques", {}, function(retour, donnees) {
  121 + switch(retour) {
  122 + case "ok":
  123 + that.statistiques = donnees
  124 + break;
  125 +
  126 + default:
  127 + that.erreur(retour, donnees);
  128 + break;
  129 + }
  130 + })
  131 + },
117 132
118 // Affichage 133 // Affichage
119 modal: function(nom) { 134 modal: function(nom) {
@@ -127,6 +142,12 @@ var app = new Vue({ @@ -127,6 +142,12 @@ var app = new Vue({
127 this.erreurMessage = donnees.message 142 this.erreurMessage = donnees.message
128 $("#modalErreur").openModal(); 143 $("#modalErreur").openModal();
129 }, 144 },
  145 + changerPage: function(page, onglet) {
  146 + this.page = page
  147 + if (typeof(onglet) == 'string') {
  148 + $('ul.tabs').tabs('select_tab', onglet);
  149 + }
  150 + },
130 annuler: function(id) { 151 annuler: function(id) {
131 var that = this 152 var that = this
132 this.api("annuler", {idTransaction: id}, function(retour, donnees) { 153 this.api("annuler", {idTransaction: id}, function(retour, donnees) {
@@ -377,4 +398,3 @@ setInterval(function actualiserDate() { @@ -377,4 +398,3 @@ setInterval(function actualiserDate() {
377 app.$data.date = Math.floor(Date.now()/1000) 398 app.$data.date = Math.floor(Date.now()/1000)
378 }, 1000); 399 }, 1000);
379 400
380 -