Commit 2c19577491fe54eef2b326a64c1302b9e6ea6dca
1 parent
78ed38ba
Statistiques client
Showing
2 changed files
with
47 additions
and
10 deletions
Show diff stats
index.html
@@ -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 |
js/init.js
@@ -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 | - |