|
@@ -55,6 +55,15 @@ function calculateGoodsPrice(r){
|
|
vm.mz.set(brand,rMap.mz[brand]);
|
|
vm.mz.set(brand,rMap.mz[brand]);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ if(rMap.drjbj){
|
|
|
|
+ if(!vm.halfPrice.get(rMap.drjbj.barcode)){
|
|
|
|
+ vm.halfPrice.set(rMap.drjbj.barcode,1);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
// if(rMap.zhjsp){
|
|
// if(rMap.zhjsp){
|
|
// // 遍历该商品所有可能的组合价商品类型
|
|
// // 遍历该商品所有可能的组合价商品类型
|
|
// for(var data in rMap.zhjsp){
|
|
// for(var data in rMap.zhjsp){
|
|
@@ -77,6 +86,7 @@ function calculateGoodsPrice(r){
|
|
// calculateGoodsByMj(r.goodsDetails,"add");
|
|
// calculateGoodsByMj(r.goodsDetails,"add");
|
|
calculateGoodsByMysy(r.goodsDetails,"add");
|
|
calculateGoodsByMysy(r.goodsDetails,"add");
|
|
calculateGoodsByMz(r.goodsDetails,"add");
|
|
calculateGoodsByMz(r.goodsDetails,"add");
|
|
|
|
+ calculateGoodsByHalfPrice(r.goodsDetails,"add");
|
|
// calculateGoodsByZhjsp(r);
|
|
// calculateGoodsByZhjsp(r);
|
|
|
|
|
|
}
|
|
}
|
|
@@ -112,6 +122,36 @@ function fullReduction(goodsDetails,key){
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+
|
|
|
|
+// ============================= 第二件半价==========================
|
|
|
|
+function calculateGoodsByHalfPrice(goodsDetails,type){
|
|
|
|
+ var half = vm.halfPrice.get(goodsDetails.prodBarcode);
|
|
|
|
+ if(half){
|
|
|
|
+ var discountPrice = goodsDetails.retailPrice / 2;
|
|
|
|
+ if(type == "add"){
|
|
|
|
+ // 等于一的话,不满足条件
|
|
|
|
+ if(half == 1){
|
|
|
|
+ vm.halfPrice.set(goodsDetails.prodBarcode,2);
|
|
|
|
+ }else if(half == 2){
|
|
|
|
+ goodsDetails.actualPaymentAmount = discountPrice;
|
|
|
|
+ goodsDetails.discountedPrice = discountPrice;
|
|
|
|
+ vm.halfPrice.set(goodsDetails.prodBarcode,1);
|
|
|
|
+ }
|
|
|
|
+ }else if(type == "minus"){
|
|
|
|
+ if(half == 2){
|
|
|
|
+ goodsDetails.actualPaymentAmount = goodsDetails.actualPaymentAmount ;
|
|
|
|
+ vm.halfPrice.set(goodsDetails.prodBarcode,1);
|
|
|
|
+ }else if(half == 1){
|
|
|
|
+ goodsDetails.actualPaymentAmount = goodsDetails.actualPaymentAmount - discountPrice;
|
|
|
|
+ goodsDetails.discountedPrice = discountPrice;
|
|
|
|
+ vm.halfPrice.set(goodsDetails.prodBarcode,2);
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+
|
|
// ============================= 满赠 ==============================
|
|
// ============================= 满赠 ==============================
|
|
|
|
|
|
// 满赠
|
|
// 满赠
|
|
@@ -119,6 +159,7 @@ function calculateGoodsByMz(goodsDetails,type){
|
|
// 判断当前支付金额是否满足满赠金额,若满足,直接修改金额为1
|
|
// 判断当前支付金额是否满足满赠金额,若满足,直接修改金额为1
|
|
var mzGoods = vm.mz.get(goodsDetails.prodBarcode);
|
|
var mzGoods = vm.mz.get(goodsDetails.prodBarcode);
|
|
if(mzGoods){
|
|
if(mzGoods){
|
|
|
|
+
|
|
var mzPrice = mzGoods.qualifiedAmount;
|
|
var mzPrice = mzGoods.qualifiedAmount;
|
|
if(mzPrice < vm.actualPrice && !mzGoods.useMz){
|
|
if(mzPrice < vm.actualPrice && !mzGoods.useMz){
|
|
mzGoods.useMz = true;
|
|
mzGoods.useMz = true;
|
|
@@ -468,6 +509,9 @@ let vm = new Vue({
|
|
q: {
|
|
q: {
|
|
name: ''
|
|
name: ''
|
|
},
|
|
},
|
|
|
|
+ // 第二件半价
|
|
|
|
+ halfPrice:new Map(),
|
|
|
|
+
|
|
// 买一送一
|
|
// 买一送一
|
|
mysy: [],
|
|
mysy: [],
|
|
freeBardcode : new Map(),
|
|
freeBardcode : new Map(),
|
|
@@ -499,6 +543,7 @@ let vm = new Vue({
|
|
pendingOrderKeys:[],
|
|
pendingOrderKeys:[],
|
|
// 存储商品信息
|
|
// 存储商品信息
|
|
goodsMap:new Map(),
|
|
goodsMap:new Map(),
|
|
|
|
+ response: "",
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
query: function () {
|
|
query: function () {
|
|
@@ -528,6 +573,7 @@ let vm = new Vue({
|
|
var goodsDetails = JSON.parse(JSON.stringify(vm.goodsMap.get(this.goodsList[i].goodsSn)));
|
|
var goodsDetails = JSON.parse(JSON.stringify(vm.goodsMap.get(this.goodsList[i].goodsSn)));
|
|
calculateGoodsByMj(goodsDetails,"add");
|
|
calculateGoodsByMj(goodsDetails,"add");
|
|
calculateGoodsByMysy(goodsDetails,"add");
|
|
calculateGoodsByMysy(goodsDetails,"add");
|
|
|
|
+ calculateGoodsByHalfPrice(goodsDetails,"add");
|
|
// calculateGoodsByMz(goodsDetails,"add");
|
|
// calculateGoodsByMz(goodsDetails,"add");
|
|
handle(goodsDetails,"add");
|
|
handle(goodsDetails,"add");
|
|
break;
|
|
break;
|
|
@@ -560,6 +606,7 @@ let vm = new Vue({
|
|
goodsDetails.sellVolume = g.sellVolume;
|
|
goodsDetails.sellVolume = g.sellVolume;
|
|
calculateGoodsByMj(goodsDetails,"minus");
|
|
calculateGoodsByMj(goodsDetails,"minus");
|
|
calculateGoodsByMysy(goodsDetails,"minus");
|
|
calculateGoodsByMysy(goodsDetails,"minus");
|
|
|
|
+ calculateGoodsByHalfPrice(goodsDetails,"minus");
|
|
// calculateGoodsByMz(goodsDetails,"minus");
|
|
// calculateGoodsByMz(goodsDetails,"minus");
|
|
goodsDetails.sellVolume = -1;
|
|
goodsDetails.sellVolume = -1;
|
|
goodsDetails.actualPaymentAmount = -goodsDetails.actualPaymentAmount;
|
|
goodsDetails.actualPaymentAmount = -goodsDetails.actualPaymentAmount;
|
|
@@ -605,6 +652,9 @@ let vm = new Vue({
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|
|
|
|
+ if(vm.halfPrice.get(this.goodsList[i].prodBarcode)){
|
|
|
|
+ vm.halfPrice.set(this.goodsList[i].prodBarcode,1);
|
|
|
|
+ }
|
|
var goods = this.goodsList[i];
|
|
var goods = this.goodsList[i];
|
|
console.log(goods);
|
|
console.log(goods);
|
|
vm.totalPrice = vm.totalPrice - (goods.retailPrice * goods.sellVolume);
|
|
vm.totalPrice = vm.totalPrice - (goods.retailPrice * goods.sellVolume);
|
|
@@ -721,6 +771,9 @@ let vm = new Vue({
|
|
vm.actualPrice = 0;
|
|
vm.actualPrice = 0;
|
|
vm.goods={};
|
|
vm.goods={};
|
|
vm.goodsDetail = false;
|
|
vm.goodsDetail = false;
|
|
|
|
+ // 第二件半价
|
|
|
|
+ vm.halfPrice = new Map();
|
|
|
|
+
|
|
// 买一送一
|
|
// 买一送一
|
|
vm.mysy = [];
|
|
vm.mysy = [];
|
|
vm.freeBardcode = new Map();
|
|
vm.freeBardcode = new Map();
|
|
@@ -860,7 +913,7 @@ let vm = new Vue({
|
|
vm.goodsDetailList = r.resultObj.goodsList;
|
|
vm.goodsDetailList = r.resultObj.goodsList;
|
|
vm.currentOrderNo = r.resultObj.orderEntity.id;
|
|
vm.currentOrderNo = r.resultObj.orderEntity.id;
|
|
vm.tax = r.resultObj.tax;
|
|
vm.tax = r.resultObj.tax;
|
|
-
|
|
|
|
|
|
+ vm.response = r.resultObj.response;
|
|
if(vm.orderProcessRecord.eleOrderStartTime){
|
|
if(vm.orderProcessRecord.eleOrderStartTime){
|
|
vm.orderProcessRecord.eleOrderStartTime = parsedate(vm.orderProcessRecord.eleOrderStartTime);
|
|
vm.orderProcessRecord.eleOrderStartTime = parsedate(vm.orderProcessRecord.eleOrderStartTime);
|
|
}
|
|
}
|