Browse Source

[Administration] Distributions : correctif mise à jour des prix au moment des changements de quantité

develop
Guillaume Bourgeois 5 months ago
parent
commit
721e09a49d
1 changed files with 23 additions and 2 deletions
  1. +23
    -2
      backend/web/js/vuejs/distribution-index.js

+ 23
- 2
backend/web/js/vuejs/distribution-index.js View File

@@ -1000,6 +1000,25 @@ if($(selector).length) {
return thePrice;
}
},
isFromQuantityExceeded: function(order, idProduct, theQuantity) {
var product = this.getProduct(idProduct);
var pricesArray = order.productOrder[idProduct].prices;
var unitCoefficient = this.getUnitCoefficient(product.unit);
if (theQuantity) {
theQuantity = theQuantity / unitCoefficient;
}

if(pricesArray) {
for (var i = 0; i < pricesArray.length; i++) {
var fromQuantity = pricesArray[i].from_quantity;
if (fromQuantity && fromQuantity <= theQuantity) {
return true;
}
}
}

return false;
},
getProduct: function (idProduct) {
for (var i = 0; i < this.products.length; i++) {
if (this.products[i].id == idProduct) {
@@ -1208,8 +1227,10 @@ if($(selector).length) {
}

Vue.set(this.order.productOrder[id_product], 'quantity', theQuantity);
Vue.set(this.order.productOrder[id_product], 'price', app.getBestProductPrice(this.order, id_product, theQuantity, false));
Vue.set(this.order.productOrder[id_product], 'price_with_tax', app.getBestProductPrice(this.order, id_product, theQuantity, true));
if(app.isFromQuantityExceeded(this.order, id_product, theQuantity)) {
Vue.set(this.order.productOrder[id_product], 'price', app.getBestProductPrice(this.order, id_product, theQuantity, false));
Vue.set(this.order.productOrder[id_product], 'price_with_tax', app.getBestProductPrice(this.order, id_product, theQuantity, true));
}
}

this.updateProductOrders(false);

Loading…
Cancel
Save