forked from DGNum/gestioCOF
Add total boxes to new inventory view + fix/clean
- Add total boxes in cellar and bar to new inventory view. - On this view, table is "minified". - Revert background color for some templates. - Clean some margin (responsively). - Clean tab pills on account read.
This commit is contained in:
parent
6de0844d28
commit
739990cdb6
3 changed files with 141 additions and 111 deletions
|
@ -114,22 +114,6 @@ textarea {
|
||||||
padding: 0 !important;
|
padding: 0 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.panel-md-margin{
|
|
||||||
background-color: white;
|
|
||||||
overflow:hidden;
|
|
||||||
padding-left: 15px;
|
|
||||||
padding-right: 15px;
|
|
||||||
padding-bottom: 15px;
|
|
||||||
padding-top: 1px;
|
|
||||||
}
|
|
||||||
|
|
||||||
@media (min-width: 992px) {
|
|
||||||
.panel-md-margin{
|
|
||||||
margin:8px;
|
|
||||||
background-color: white;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.col-content-left, .col-content-right {
|
.col-content-left, .col-content-right {
|
||||||
padding:0;
|
padding:0;
|
||||||
}
|
}
|
||||||
|
@ -194,20 +178,18 @@ textarea {
|
||||||
text-align:center;
|
text-align:center;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@media (min-width: 768px) {
|
@media (min-width: 768px) {
|
||||||
.content-right {
|
.content-right {
|
||||||
margin: 0 15px;
|
margin: 15px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.content-right-block {
|
.content-right-block {
|
||||||
padding-bottom:5px;
|
|
||||||
position:relative;
|
position:relative;
|
||||||
}
|
}
|
||||||
|
|
||||||
.content-right-block:last-child {
|
.content-right-block > div:not(.buttons-title) {
|
||||||
padding-bottom:15px;
|
background: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
.content-right-block .buttons-title {
|
.content-right-block .buttons-title {
|
||||||
|
@ -229,9 +211,8 @@ textarea {
|
||||||
|
|
||||||
.content-right-block h3 {
|
.content-right-block h3 {
|
||||||
border-bottom: 1px solid #c8102e;
|
border-bottom: 1px solid #c8102e;
|
||||||
margin: 20px 15px 15px;
|
margin: 0px 15px 15px;
|
||||||
padding-bottom: 10px;
|
padding: 20px 20px 10px;
|
||||||
padding-left: 20px;
|
|
||||||
font-size:25px;
|
font-size:25px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -239,12 +220,18 @@ textarea {
|
||||||
* Pages tableaux seuls
|
* Pages tableaux seuls
|
||||||
*/
|
*/
|
||||||
|
|
||||||
.content-center > div {
|
.content-center {
|
||||||
background:#fff;
|
background:#fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@media (min-width: 992px) {
|
||||||
|
.content-center {
|
||||||
|
margin: 15px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.content-center tbody tr:not(.section) td {
|
.content-center tbody tr:not(.section) td {
|
||||||
padding:0px 5px !important;
|
padding:0px 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.content-center .table .form-control {
|
.content-center .table .form-control {
|
||||||
|
@ -252,7 +239,15 @@ textarea {
|
||||||
height:28px;
|
height:28px;
|
||||||
margin:3px 0px;
|
margin:3px 0px;
|
||||||
}
|
}
|
||||||
.content-center .auth-form {
|
|
||||||
|
.content-center .table-condensed input.form-control {
|
||||||
|
margin: 0 !important;
|
||||||
|
border-top: 0;
|
||||||
|
border-bottom: 0;
|
||||||
|
border-radius: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-center .auth-form {
|
||||||
margin:15px;
|
margin:15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -577,15 +572,21 @@ thead .tooltip {
|
||||||
|
|
||||||
/* Inventaires */
|
/* Inventaires */
|
||||||
|
|
||||||
|
#inventoryform input[type=number] {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
.inventory_modified {
|
.inventory_modified {
|
||||||
background:rgba(236,100,0,0.15);
|
background:rgba(236,100,0,0.15);
|
||||||
}
|
}
|
||||||
|
|
||||||
.stock_diff {
|
.stock_diff {
|
||||||
padding-left: 5px;
|
padding-left: 5px;
|
||||||
color:#C8102E;
|
color:#C8102E;
|
||||||
}
|
}
|
||||||
|
|
||||||
.inventory_update {
|
.inventory_update {
|
||||||
display:none;
|
display: none;
|
||||||
|
width: 50px;
|
||||||
|
margin: 0 auto;
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,7 +23,7 @@ $(document).ready(function() {
|
||||||
"{% url 'kfet.account.stat.balance.list' trigramme=account.trigramme %}",
|
"{% url 'kfet.account.stat.balance.list' trigramme=account.trigramme %}",
|
||||||
$("#stat_balance")
|
$("#stat_balance")
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
@ -55,39 +55,33 @@ $(document).ready(function() {
|
||||||
<div class="col-sm-8 col-md-9 col-content-right">
|
<div class="col-sm-8 col-md-9 col-content-right">
|
||||||
{% include "kfet/base_messages.html" %}
|
{% include "kfet/base_messages.html" %}
|
||||||
<div class="content-right">
|
<div class="content-right">
|
||||||
<div class="content-right-block">
|
<div class="tab-content">
|
||||||
<div class="col-sm-12 nopadding">
|
{% if account.user == request.user %}
|
||||||
{% if account.user == request.user %}
|
<div class="content-right-block tab-pane fade in active" id="tab_stats">
|
||||||
<div class='tab-content'>
|
<h2>Statistiques</h2>
|
||||||
<div class="tab-pane fade in active" id="tab_stats">
|
<div>
|
||||||
<h2>Statistiques</h2>
|
<h3>Ma balance</h3>
|
||||||
<div class="panel-md-margin">
|
<div id="stat_balance"></div>
|
||||||
<h3>Ma balance</h3>
|
<h3>Ma consommation</h3>
|
||||||
<div id="stat_balance"></div>
|
<div id="stat_last"></div>
|
||||||
<h3>Ma consommation</h3>
|
</div>
|
||||||
<div id="stat_last"></div>
|
</div><!-- content-right-block -->
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="tab-pane fade" id="tab_history">
|
|
||||||
{% endif %}
|
|
||||||
{% if addcosts %}
|
|
||||||
<h2>Gagné des majorations</h2>
|
|
||||||
<div>
|
|
||||||
<ul>
|
|
||||||
{% for addcost in addcosts %}
|
|
||||||
<li>{{ addcost.date|date:'l j F' }}: +{{ addcost.sum_addcosts }}€</li>
|
|
||||||
{% endfor %}
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
|
||||||
<h2>Historique</h2>
|
|
||||||
<div id="history"></div>
|
|
||||||
{% if account.user == request.user %}
|
|
||||||
</div>
|
|
||||||
</div><!-- tab-content -->
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</div><!-- col-sm-12 -->
|
<div class="content-right-block tab-pane fade {% if account.user != request.user %}in active{% endif %}" id="tab_history">
|
||||||
</div><!-- content-right-block -->
|
{% if addcosts %}
|
||||||
|
<h2>Gagné des majorations</h2>
|
||||||
|
<div>
|
||||||
|
<ul>
|
||||||
|
{% for addcost in addcosts %}
|
||||||
|
<li>{{ addcost.date|date:'l j F' }}: +{{ addcost.sum_addcosts }}€</li>
|
||||||
|
{% endfor %}
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
<h2>Historique</h2>
|
||||||
|
<div id="history"></div>
|
||||||
|
</div><!-- content-right-block -->
|
||||||
|
</div><!-- tab-content -->
|
||||||
</div><!-- content-right-->
|
</div><!-- content-right-->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -13,24 +13,25 @@
|
||||||
{% block content %}
|
{% block content %}
|
||||||
|
|
||||||
{% include 'kfet/base_messages.html' %}
|
{% include 'kfet/base_messages.html' %}
|
||||||
<div class="content-center">
|
<div class="row">
|
||||||
<div>
|
<div class="col-sm-12 col-md-8 col-md-offset-2 nopadding">
|
||||||
<form id='inventoryform' action="" method="post">
|
<div class="content-center">
|
||||||
<table class="table text-center">
|
<form id='inventoryform' action="" method="post">
|
||||||
<thead>
|
<table class="table table-condensed text-center">
|
||||||
<tr>
|
<thead>
|
||||||
<td>Article</td>
|
<tr>
|
||||||
<td>Quantité par caisse</td>
|
<td>Article</td>
|
||||||
<td>Stock Théorique</td>
|
<td>Quantité par caisse</td>
|
||||||
<td>Caisses en réserve</td>
|
<td>Stock théorique</td>
|
||||||
<td>Caisses en arrière</td>
|
<td>Caisses en réserve</td>
|
||||||
<td>Vrac</td>
|
<td>Caisses en arrière</td>
|
||||||
<td>Stock total</td>
|
<td>Vrac</td>
|
||||||
<td>Compte terminé</td>
|
<td>Stock total</td>
|
||||||
</tr>
|
<td>Compte terminé</td>
|
||||||
</thead>
|
</tr>
|
||||||
<tbody>
|
</thead>
|
||||||
{% for form in formset %}
|
<tbody>
|
||||||
|
{% for form in formset %}
|
||||||
{% ifchanged form.category %}
|
{% ifchanged form.category %}
|
||||||
<tr class='section'>
|
<tr class='section'>
|
||||||
<td>{{ form.category_name }}</td>
|
<td>{{ form.category_name }}</td>
|
||||||
|
@ -41,42 +42,68 @@
|
||||||
{{ form.article }}
|
{{ form.article }}
|
||||||
<td class='name'>{{ form.name }}</td>
|
<td class='name'>{{ form.name }}</td>
|
||||||
<td class='box_capacity'>{{ form.box_capacity }}</td>
|
<td class='box_capacity'>{{ form.box_capacity }}</td>
|
||||||
<td><span class='current_stock'>{{ form.stock_old }}</span><span class='stock_diff'></span></td>
|
<td>
|
||||||
<td class='box_cellar'>
|
<span class='current_stock'>{{ form.stock_old }}</span><span class='stock_diff'></span>
|
||||||
<div class='col-md-2'></div>
|
</td>
|
||||||
<div class='col-md-8'>
|
<td class='box_cellar nopadding'>
|
||||||
<input type='number' class='form-control' step='1'>
|
<input type='number' class='form-control' step='1'>
|
||||||
|
</td>
|
||||||
|
<td class='box_bar nopadding'>
|
||||||
|
<input type='number' class='form-control' step='1'>
|
||||||
|
</td>
|
||||||
|
<td class='misc nopadding'>
|
||||||
|
<input type='number' class='form-control' step='1'>
|
||||||
|
</td>
|
||||||
|
<td class='stock_new nopadding'>
|
||||||
|
{{ form.stock_new | attr:"readonly"| add_class:"form-control" }}
|
||||||
|
</td>
|
||||||
|
<td class='finished'>
|
||||||
|
<div class="inventory_update">
|
||||||
|
<button type='button' class='btn-sm btn-primary'>MàJ</button>
|
||||||
|
</div>
|
||||||
|
<div class="inventory_done">
|
||||||
|
<input type='checkbox' class='form_control'>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
<td class='box_bar'>
|
|
||||||
<div class='col-md-offset-2 col-md-8'><input type='number' class='form-control' step='1'></div>
|
|
||||||
</td>
|
|
||||||
<td class='misc'>
|
|
||||||
<div class='col-md-offset-2 col-md-8'><input type='number' class='form-control' step='1'></div>
|
|
||||||
</td>
|
|
||||||
<td class='stock_new'>
|
|
||||||
<div class='col-md-offset-2 col-md-8'>{{ form.stock_new | attr:"readonly"| add_class:"form-control" }}</div>
|
|
||||||
<div class='col-md-2 inventory_update'><button type='button' class='btn-sm btn-primary'>MàJ</button></div>
|
|
||||||
</td>
|
|
||||||
<td class='finished'><input type='checkbox' class='form_control'></td>
|
|
||||||
</tr>
|
</tr>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</tbody>
|
<tr class="section">
|
||||||
</table>
|
<td>Totaux</td>
|
||||||
{{ formset.management_form }}
|
<td colspan="2"></td>
|
||||||
{% if not perms.kfet.add_inventory %}
|
<td class="total_box_cellar"></td>
|
||||||
<div class='auth-form form-horizontal'>
|
<td class="total_box_bar"></td>
|
||||||
{% include "kfet/form_authentication_snippet.html" %}
|
<td colspan="3"></td>
|
||||||
</div>
|
</tr>
|
||||||
{% endif %}
|
</tbody>
|
||||||
<input type="submit" value="Enregistrer" class="btn btn-primary btn-lg btn-block">
|
</table>
|
||||||
{% csrf_token %}
|
{{ formset.management_form }}
|
||||||
</form>
|
{% if not perms.kfet.add_inventory %}
|
||||||
|
<div class='auth-form form-horizontal'>
|
||||||
|
{% include "kfet/form_authentication_snippet.html" %}
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
<input type="submit" value="Enregistrer" class="btn btn-primary btn-lg btn-block">
|
||||||
|
{% csrf_token %}
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
|
function init_total(type) {
|
||||||
|
update_total(type);
|
||||||
|
$('.'+type+' input').on('input', () => update_total(type));
|
||||||
|
}
|
||||||
|
|
||||||
|
function update_total(type) {
|
||||||
|
var total = 0;
|
||||||
|
$('.'+type+' input').each(function() {
|
||||||
|
total += +$(this).val();
|
||||||
|
});
|
||||||
|
$('.total_'+type).text(total);
|
||||||
|
}
|
||||||
|
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
|
@ -106,6 +133,7 @@ $(document).ready(function() {
|
||||||
function update_stock($line, update_count) {
|
function update_stock($line, update_count) {
|
||||||
$line.removeClass('inventory_modified');
|
$line.removeClass('inventory_modified');
|
||||||
$line.find('.inventory_update').hide();
|
$line.find('.inventory_update').hide();
|
||||||
|
$line.find('.inventory_done').show();
|
||||||
|
|
||||||
var old_stock = +$line.find('.current_stock').text()
|
var old_stock = +$line.find('.current_stock').text()
|
||||||
var stock_diff = +$line.find('.stock_diff').text();
|
var stock_diff = +$line.find('.stock_diff').text();
|
||||||
|
@ -117,9 +145,9 @@ $(document).ready(function() {
|
||||||
$line.find('.misc input').val(old_misc + stock_diff)
|
$line.find('.misc input').val(old_misc + stock_diff)
|
||||||
.trigger('input');
|
.trigger('input');
|
||||||
}
|
}
|
||||||
|
|
||||||
var id = $line.find('input[type="hidden"]').val();
|
var id = $line.find('input[type="hidden"]').val();
|
||||||
conflicts.delete(parseInt(id));
|
conflicts.delete(parseInt(id));
|
||||||
}
|
}
|
||||||
|
|
||||||
$('.finished input').change(function() {
|
$('.finished input').change(function() {
|
||||||
|
@ -132,6 +160,12 @@ $(document).ready(function() {
|
||||||
update_stock($line, true);
|
update_stock($line, true);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Total row
|
||||||
|
*/
|
||||||
|
|
||||||
|
init_total('box_cellar');
|
||||||
|
init_total('box_bar');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Websocket
|
* Websocket
|
||||||
|
@ -147,6 +181,7 @@ $(document).ready(function() {
|
||||||
|
|
||||||
//Realigning input and displaying update button
|
//Realigning input and displaying update button
|
||||||
$line.find('.inventory_update').show();
|
$line.find('.inventory_update').show();
|
||||||
|
$line.find('.inventory_done').hide();
|
||||||
|
|
||||||
//Displaying stock changes
|
//Displaying stock changes
|
||||||
var stock = $line.find('.current_stock').text();
|
var stock = $line.find('.current_stock').text();
|
||||||
|
@ -159,7 +194,7 @@ $(document).ready(function() {
|
||||||
});
|
});
|
||||||
|
|
||||||
$('input[type="submit"]').on("click", function(e) {
|
$('input[type="submit"]').on("click", function(e) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
|
|
||||||
if (conflicts.size) {
|
if (conflicts.size) {
|
||||||
content = '';
|
content = '';
|
||||||
|
|
Loading…
Reference in a new issue