small changes

This commit is contained in:
TLRZ Seyfferth 2018-01-11 14:57:10 +01:00
parent 49146a8ba6
commit 2c3f00d476
4 changed files with 65 additions and 41 deletions

View File

@ -38,82 +38,90 @@
<div class="col s12" id="article"> <div class="col s12" id="article">
<div v-for="(a, index) in articles" class="card"> <div v-for="(a, index) in articles" class="card">
<div class="card-content row"> <div class="card-content row">
<span class="card-title">{{ a.name }}</span>
<div class="input-field inline col s12"> <div class="input-field inline col s12">
<input v-model="a.name" placeholder="Artikelname" class="validate" :id="'a_name_'+index"> <input v-model="a.name" placeholder="Artikelname" class="validate" :id="'a_name_'+index">
<label :for="'a_name_'+index" class="active">Name</label> <label :for="'a_name_'+index" class="active">Name</label>
</div> </div>
<div class="input-field col s10"> <div class="input-field col s8">
<input v-model.number="a.content.size" placeholder="Gesamtinhalt" type="number" class="validate" step="0.01" :id="'a_csize_'+index"> <input v-model.number="a.content.size" placeholder="Gesamtinhalt" type="number" class="validate" step="0.01" :id="'a_csize_'+index">
<label :for="'a_csize_'+index" class="active">Gesamtinhalt</label> <label :for="'a_csize_'+index" class="active">Gesamtinhalt</label>
</div> </div>
<div class="input-field col s2"> <div class="input-field col s4">
<input v-model="a.dimension" placeholder="Dimension" class="validate" :id="'a_dim_'+index" max="5"> <input v-model="a.dimension" placeholder="Dimension" class="validate" :id="'a_dim_'+index" max="5">
<label :for="'a_dim_'+index" class="active">Dimension</label> <label :for="'a_dim_'+index" class="active">Dimension</label>
<span class="helper-text">z.B. Liter(l), Stück(Stk.)</span> <span class="helper-text">z.B. Liter(l), Stück(Stk.)</span>
</div> </div>
<div class="input-field col s7"> <div class="input-field col s4">
<input v-model.number="a.portion.size" placeholder="Gesamtinhalt" type="number" class="validate" step="0.01" :id="'a_psize_'+index" max="5"> <input v-model.number="a.portion.size" placeholder="Gesamtinhalt" type="number" class="validate" step="0.01" :id="'a_psize_'+index" max="5">
<label :for="'a_psize_'+index" class="active">Portionsinhalt</label> <label :for="'a_psize_'+index" class="active">Portionsinhalt</label>
</div> </div>
<div class="input-field col s2"> <div class="input-field col s4">
<input v-model="a.portion.type" placeholder="Art" class="validate" :id="'a_ptype_'+index" max="5"> <input v-model="a.portion.type" placeholder="Art" class="validate" :id="'a_ptype_'+index" max="5">
<label :for="'a_ptype_'+index" class="active">Portionsbezeichnung</label> <label :for="'a_ptype_'+index" class="active">Portionsbezeichnung</label>
</div> </div>
<div class="input-field col s3"> <div class="input-field col s4">
<input v-model.number="a.portion.price" placeholder="Preis" type="number" step="0.01" class="validate" :id="'a_pprice_'+index" max="5"> <input v-model.number="a.portion.price" placeholder="Preis" type="number" step="0.01" class="validate" :id="'a_pprice_'+index">
<label :for="'a_pprice_'+index" class="active">Portionspreis</label> <label :for="'a_pprice_'+index" class="active">Portionspreis in €</label>
</div> </div>
<div class="col s12 right"> <div class="col s12 right">
<span class="right">Gesamtpreis {{ a.ContentPrice | currency }}</span> <span class="right">Gesamtpreis {{ a.ContentPrice | currency }}</span>
</div> </div>
</div>
<div class="card-action">
<a class="" href="#">Artikel löschen</a>
</div> </div>
</div> </div>
<div slot="footer"> <div slot="footer">
<button class="btn waves-effect waves-light" @click="addArticle">Artikel hinzufügen</button>
</div> </div>
</div> </div>
<div class="col s12" id="inventory"> <div class="col s12" id="inventory">
<div v-for="(a, index) in inventory.ug" class="row hoverable"> <div v-for="(a, index) in inventory.ug" class="card hoverable">
<div class="col m2">{{ a.article.name }} <br/> {{a.article.portion.price.toFixed(2)}} €</div> <div class="card-content row">
<div class="col s12 m8"> <div class="col s12 m2">{{ a.article.name }}</div>
<div class="input-field inline"> <div class="input-field col s6 m2">
<input v-model.number="a.start" placeholder="Anfang" title="Anfang" type="number" :step="a.StepSize"> <input v-model.number="a.start" placeholder="Anfang" title="Anfang" type="number" :step="a.StepSize" :id="'i_s_'+index">
<label :for="'i_s_'+index" class="active">Beginn</label>
</div> </div>
<div class="input-field inline"> <div class="input-field col s6 m2 inline">
<input v-model.number="a.fetched" placeholder="Zugang" title="Zugang" type="number" :step="a.StepSize"> <input v-model.number="a.fetched" placeholder="Zugang" title="Zugang" type="number" :step="a.StepSize" :id="'i_f_'+index">
<label :for="'i_f_'+index" class="active">Zugang</label>
</div> </div>
<div class="input-field inline"> <div class="input-field col s6 m2">
<input v-model.number="a.end" placeholder="Ende" title="Ende" type="number" :step="a.StepSize"> <input v-model.number="a.end" placeholder="Ende" title="Ende" type="number" :step="a.StepSize" :id="'i_e_'+index">
<label :for="'i_e_'+index" class="active">Ende</label>
</div> </div>
<div class="input-field inline"> <div class="input-field col s6 m2">
<input v-model.number="a.lost" placeholder="Verlust" title="Verlust" type="number" :step="a.StepSize"> <input v-model.number="a.lost" placeholder="Verlust" title="Verlust" type="number" :step="a.StepSize" :id="'i_l_'+index">
<label :for="'i_l_'+index" class="active">Verlust</label>
</div> </div>
<div class="col m2 right right-align"> <b>{{a.article.portion.price | currency }} &times; {{ a.Sold | number(a.PortionPrecision) }} {{ a.article.PortionType }} <br/>&equals; {{ a.Sale | currency }}</b></div>
</div> </div>
<div class="col m2 right">{{ a.Sold | number }} {{ a.article.PortionType }} <br/> {{ a.Sale | currency }}</div>
</div> </div>
<div class="row teal lighten-2"> <div class="card teal lighten-2 white-text">
<div class="col right"> <div class="card-content right-align">
{{ sales_ug | currency }} <h5>Gesamtsumme: {{ sales_ug | currency }}</h5>
</div> </div>
</div> </div>
</div> </div>
<div class="col s12" id="calc"> <div class="col s12" id="calc">
<div class="row"> <div class="row">
<div class="col s12 m4"> <div class="col s12 m4 card darken-4 grey grey-text text-lighten-2">
<table class="darken-4 grey"> <table class="card-content">
<tr v-for="item in bonned(bon)"> <tr v-for="item in bonned(bon)">
<td class="right">{{ item.count }} &times;</td> <td class="right">{{ item.count }} &times;</td>
<td>{{ item.name }}</td> <td>{{ item.name }}</td>
<td class="right">{{ item.price * item.count | currency }}</td> <td class="right">{{ item.price * item.count | currency }}</td>
</tr> </tr>
<tr class=""> <tr class="white-text">
<td class="right">{{ bon_sum > 0 ?bon_sum: "" }}</td> <th class="right">{{ bon_sum > 0 ?bon_sum: "" }}</th>
<td>{{ bon_sum > 0 ? "Artikel": ""}}</td> <th>{{ bon_sum > 0 ? "Artikel": ""}}</th>
<th class="right">{{ bon_price }}</th> <th class="right">{{ bon_price }}</th>
</tr> </tr>
</table> </table>
@ -121,9 +129,13 @@
<div class="col s12 m8"> <div class="col s12 m8">
<div class="row"> <div class="row">
<div class="col s4" v-for="a in bon"> <div class="col s4" v-for="a in bon">
<button class="waves-effect waves-light btn-large col s12" @click="a.count++;">{{ a.name }}</button> <button class="waves-effect waves-light btn-large btn-flat col s12" @click="a.count++;">{{ a.name }}</button>
</div>
</div>
<div class="row">
<div class="col s4">
<button class="waves-effect waves-light btn-large orange col s12" @click="resetBon">Reset</button>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
@ -136,7 +148,12 @@
<i class="large material-icons">more</i> <i class="large material-icons">more</i>
</a> </a>
<ul> <ul>
<li><a href="#" class="btn-floating" @click="storeArticles"><i class="material-icons">save</i></a></li> <li>
<a href="#" class="btn-floating" @click="storeArticles"><i class="material-icons">save</i></a>
</li>
<li>
<a href="#" class="btn-floating" @click="addArticle" title=""><i class="material-icons">add</i>Artikel hinzufügen</button>
</li>
</ul> </ul>
</div> </div>
</div> </div>

View File

@ -11,10 +11,10 @@ accounting.settings = {
thousand: ".", thousand: ".",
decimal : "," decimal : ","
} }
} };
$(document).ready(function(){ $(document).ready(function(){
$('.tabs').tabs(); $('.tabs').tabs();
$('.fixed-action-btn').floatingActionButton(); $('.fixed-action-btn').floatingActionButton();
}) });

View File

@ -50,6 +50,10 @@ InventoryArticle.prototype = {
get StepSize() { get StepSize() {
singlePack = this.article.Portions == 1; singlePack = this.article.Portions == 1;
return singlePack ? 1 : 0.05; return singlePack ? 1 : 0.05;
},
get PortionPrecision() {
singlePack = this.article.Portions == 1;
return singlePack ? 0 : 2;
} }
}; };

View File

@ -1,8 +1,9 @@
Vue.filter('currency', function(money){ Vue.filter('currency', function(money){
return accounting.formatMoney(money); return accounting.formatMoney(money);
}); });
Vue.filter('number', function(number){ Vue.filter('number', function(number, precision = 2){
return accounting.formatNumber(number);
return accounting.formatNumber(number, precision);
}); });
var app = new Vue({ var app = new Vue({
@ -73,8 +74,10 @@ var app = new Vue({
M.updateTextFields(); M.updateTextFields();
}); });
}, },
bonArticle: function(article) { resetBon: function(article) {
this.bon.forEach(function (item){
item.count = 0;
});
}, },
bonned: function (items) { bonned: function (items) {
return items.filter(function (item) { return items.filter(function (item) {