Browse Source

[Administration] Distribution > édition commande : alerte si quantité max d'un produit dépassée #1023

feature/souke
Guillaume Bourgeois 1 year ago
parent
commit
2ee6a67b88
2 changed files with 21 additions and 4 deletions
  1. +7
    -3
      backend/views/distribution/index.php
  2. +14
    -1
      backend/web/js/vuejs/distribution-index.js

+ 7
- 3
backend/views/distribution/index.php View File

<span class="info-box-icon bg-yellow"><i class="fa fa-clone"></i></span> <span class="info-box-icon bg-yellow"><i class="fa fa-clone"></i></span>
<div class="info-box-content"> <div class="info-box-content">
<span class="info-box-text"> <span class="info-box-text">
{{ countActiveProducts }} Produits<br /><br />
{{ countActiveProducts }} Produits<br />
<template v-if="isOneProductMaximumQuantityExceeded()"><span class="glyphicon glyphicon-alert"></span> Quantités max dépassées<br /></template>
<br />
<button class="btn btn-default" @click="showModalProducts = true">Configurer</button> <button class="btn btn-default" @click="showModalProducts = true">Configurer</button>
</span> </span>
</div> </div>
<button class="btn btn-default" v-else data-active-product="0" :data-id-product="product.id" @click="productActiveClick"><span class="glyphicon glyphicon-remove"></span></button> <button class="btn btn-default" v-else data-active-product="0" :data-id-product="product.id" @click="productActiveClick"><span class="glyphicon glyphicon-remove"></span></button>
</td> </td>
<td>{{ product.name }}</td> <td>{{ product.name }}</td>
<td class="quantity-ordered">{{ product.quantity_ordered ? product.quantity_ordered + ' '+ ((product.unit == 'piece') ? ' p.' : ' '+(product.unit == 'g' || product.unit == 'kg') ? 'kg' : 'litre(s)') : '&empty;' }}</td>
<td class="quantity-ordered">
<span v-if="isProductMaximumQuantityExceeded(product)" class="glyphicon glyphicon-alert"></span>
{{ product.quantity_ordered ? product.quantity_ordered + ' '+ ((product.unit == 'piece') ? ' p.' : ' '+(product.unit == 'g' || product.unit == 'kg') ? 'kg' : 'litre(s)') : '&empty;' }}
</td>
<td class="quantity-max"> <td class="quantity-max">
<div class="input-group"> <div class="input-group">
<input type="text" class="form-control quantity-max" placeholder="&infin;" :data-id-product="product.id" v-model="product.productDistribution[0].quantity_max" @keyup="productQuantityMaxChange" /> <input type="text" class="form-control quantity-max" placeholder="&infin;" :data-id-product="product.id" v-model="product.productDistribution[0].quantity_max" @keyup="productQuantityMaxChange" />
<span class="input-group-addon">{{ (product.unit == 'piece') ? 'p.' : ' '+((product.unit == 'g' || product.unit == 'kg') ? 'kg' : 'litre(s)') }}</span> <span class="input-group-addon">{{ (product.unit == 'piece') ? 'p.' : ' '+((product.unit == 'g' || product.unit == 'kg') ? 'kg' : 'litre(s)') }}</span>
</div> </div>

</td> </td>
</tr> </tr>
</tbody> </tbody>

+ 14
- 1
backend/web/js/vuejs/distribution-index.js View File

} }
} }
this.initCountActiveProducts() ; this.initCountActiveProducts() ;
},
isOneProductMaximumQuantityExceeded: function() {
for(var i= 0; i < this.products.length; i++) {
if(this.isProductMaximumQuantityExceeded(this.products[i])) {
return true;
}
}

return false;
},
isProductMaximumQuantityExceeded: function(product) {
return product.productDistribution[0].quantity_max
&& product.quantity_ordered
&& product.quantity_ordered > product.productDistribution[0].quantity_max;
}, },
pointSaleActiveClick: function(event) { pointSaleActiveClick: function(event) {
var idPointSale = event.currentTarget.getAttribute('data-id-point-sale') ; var idPointSale = event.currentTarget.getAttribute('data-id-point-sale') ;

Loading…
Cancel
Save