diff --git a/packageE/pages/cart/cart2/cart2.js b/packageE/pages/cart/cart2/cart2.js
index 9744f81..79532c9 100644
--- a/packageE/pages/cart/cart2/cart2.js
+++ b/packageE/pages/cart/cart2/cart2.js
@@ -2133,6 +2133,8 @@ Page({
success: async function (tt) {
if (tt.data.code == 0) {
//t.data.data.shop_price = tt.data.data.prom_price;
+
+ gd.shop_price_y=gd.shop_price;
gd.shop_price=t.data.data.shop_price = tt.data.data.prom_user_price;
th.data.ckeck_quan_price = 0;
@@ -2181,6 +2183,9 @@ Page({
}
+ //用深拷贝把商品缓存起来,方便后面使用
+ th.data.old_bn_goods=ut.deep_cp(gd);
+
th.setData({
bn_goods: gd,
bn_pickname: gg.pick_name,
@@ -2209,6 +2214,7 @@ Page({
ut.get_active_info(2,gd.prom_id,os.stoid,function(e){
//t.data.data.shop_price = tt.data.data.prom_price;
+ gd.shop_price_y=gd.shop_price;
gd.shop_price=t.data.data.shop_price = tt.data.data.price;
t.data.data.fir_rate = tt.data.data.fir_rate;
@@ -2248,6 +2254,10 @@ Page({
gd.is_xz_yh = 1;
}
+
+ //用深拷贝把商品缓存起来,方便后面使用
+ th.data.old_bn_goods=ut.deep_cp(gd);
+
th.setData({
bn_goods: gd,
bn_pickname: gg.pick_name,
@@ -3147,22 +3157,17 @@ Page({
var whsle_goods_price = 0;
- var whsle_shop_price = 0;
- var whsle_market_price = 0;
-
var no_zh_all_quan_num=0; //不是组合购商品的使用的优惠券综合
//--------循环计算总价-----------
for (var jc = 0; jc < item.length; jc++) {
if (item[jc].prom_type == 0) { //如果item的prom_type==0,没有如果活动的时候
- th.get_order_prom_map_ck(item,pickid);
+ th.get_order_prom_map_ck(item[jc],pickid);
}
if (item[jc].whsle_id > 0) {
whsle_goods_price += item[jc].goods_price * item[jc].goods_num;
- whsle_shop_price += item[jc].shop_price * item[jc].goods_num;
- whsle_market_price += item[jc].goods_market_price * item[jc].goods_num;
}
var is_no_zh = 0;
@@ -4047,15 +4052,22 @@ Page({
var ord_prom = null;
var is_ord_prom_post = 0;
- if (condition > 0 && th.data.bn_is_order_yh && !th.data.bn_goods.whsle_id) {
- await getApp().request.promiseGet("/api/weshop/promorder/getOrderPromotion", {
- data: { store_id: os.stoid, orderAmount: condition, user_id: getApp().globalData.user_id }
- }).then(res => {
- if (res.data.code == 0) {
- var data = res.data.data;
- ord_prom = data;
- }
- })
+ //一件代发商品不参与订单优惠, 本身商品的活动也有要不要参与优惠促销的设置bn_is_order_yh
+ if (th.data.bn_is_order_yh && !th.data.bn_goods.whsle_id) {
+
+ th.set_by_now_ord_prom(th.data.bn_goods);
+ th.data.order_prom_map_ck[bn_pick].goods_price_all=condition;
+
+ // await getApp().request.promiseGet("/api/weshop/promorder/getOrderPromotion", {
+ // data: { store_id: os.stoid, orderAmount: condition, user_id: getApp().globalData.user_id }
+ // }).then(res => {
+ // if (res.data.code == 0) {
+ // var data = res.data.data;
+ // ord_prom = data;
+ // }
+ // })
+ ord_prom=await th.get_cur_ord_prom(bn_pick);
+
if (ord_prom && ord_prom.is_post_temp) {
is_ord_prom_post = 1;
}
@@ -8492,10 +8504,13 @@ Page({
var cx_prom_group=this.data.cartlist[idx].show_can_cx[gd_key].act_arr;
+ //-- 切换活动的时候,让订单促销参与不选中 --
+ let tt_wd="can_use_ord_prom["+pk+"]";
th.setData({
send_lb:{},
month_lb:{},
- send_gf:{}
+ send_gf:{},
+ [tt_wd]:0
})
th.data.prom_goods_map={};
@@ -8704,6 +8719,9 @@ Page({
//--- 不参与优惠促销的开关 ---
no_cj_prom: function (e) {
+ //避免重复点击
+ if(this.data.submit) return false;
+ this.setData({ submit: 1,same_ok:1 });
this.setData({
send_lb:{},
@@ -8798,6 +8816,9 @@ Page({
//---订单促销累计的数据结构的构建,购物车计算流程的那一部分
get_order_prom_map_ck(item,pickid) {
+ //赠品不计算
+ if(item.is_gift) return false;
+
var order_prom_map_ck= this.data.order_prom_map_ck;
if(!order_prom_map_ck[pickid]){
order_prom_map_ck[pickid]={
@@ -8822,6 +8843,25 @@ Page({
pk_ord_map.goodsList.push(ite);
},
+
+ //-- 秒杀和团购使用 --
+ set_by_now_ord_prom(item){
+ let pickid=this.data.bn_pick;
+ let order_prom_map_ck= this.data.order_prom_map_ck;
+ order_prom_map_ck[pickid]={
+ shop_price_all:0, //手店价的累计
+ market_price_all:0, //市场价的累计
+ goods_price_all:0, //实收价的累计
+ no_ord_price:0, //要累计上不参与订单促销的金额
+ goodsList:[],
+ }
+
+ let pk_ord_map=order_prom_map_ck[pickid];
+ pk_ord_map.shop_price_all += item.shop_price_y * item.buynum;
+ pk_ord_map.market_price_all += item.goods_market_price * item.buynum;
+
+ },
+
//重置订单促销判断累计
re_set_order_prom_map_ck() {
this.data.order_prom_map_ck = {}
@@ -8855,6 +8895,11 @@ Page({
switch (ord_prom.discount_field) {
//实收价的时候
case 0:
+ //要先还原
+ this.setData({
+ [txt1]: 0
+ });
+
if (ord_prom.money > order_prom_map_ck.goods_price_all){
return null;
}
@@ -8862,6 +8907,10 @@ Page({
//手店价的时候
case 1:
if (ord_prom.money > order_prom_map_ck.shop_price_all){
+ //要先还原
+ this.setData({
+ [txt1]: 0
+ });
return null;
}
//要显示订单促销使用的按钮
@@ -8872,6 +8921,10 @@ Page({
//市场价的时候
case 2:
if (ord_prom.money > order_prom_map_ck.market_price_all){
+ //要先还原
+ this.setData({
+ [txt1]: 0
+ });
return null;
}
//要显示订单促销使用的按钮
@@ -8889,6 +8942,10 @@ Page({
//设置能够参与订单促销
set_can_use_ord_prom: function (e) {
+
+ if(this.data.submit) return false;
+ this.setData({ submit: 1,same_ok:1 });
+
let pickid = e.currentTarget.dataset.pd;
let txt = 'can_use_ord_prom[' + pickid + ']';
let can_use = this.data.can_use_ord_prom[pickid] ? this.data.can_use_ord_prom[pickid] : 0;
@@ -8897,7 +8954,6 @@ Page({
})
//购物车进行还原,一下数据的清理的必须的
- let carr = ut.deep_cp(this.data.cartlist_old);
this.setData({
send_lb: {},
month_lb: {},
@@ -8918,8 +8974,54 @@ Page({
//原始数据要有深拷贝不能有地址的牵连
this.data.cartlist_y = JSON.parse(JSON.stringify(goods))
+ //重新调用cart_next,进行下一步计算
+ wx.showLoading({
+ title: "处理中.",
+ mark:true
+ })
//-- 重新计算一下价格 --
this.get_cart_next(null, 1, {prom_type: 0, prom_id: 0});
+ },
+
+ //立即购买的时候,点击订单促销的参与
+ set_can_use_ord_prom_now:function (e){
+
+ if(this.data.submit) return false;
+ this.setData({ submit: 1,same_ok:1 });
+
+ let pickid=this.data.bn_pick;
+ let txt = 'can_use_ord_prom[' + pickid + ']';
+ let can_use = this.data.can_use_ord_prom[pickid] ? this.data.can_use_ord_prom[pickid] : 0;
+ this.setData({
+ [txt]: !can_use
+ })
+
+ let th=this;
+ let good=th.data.bn_goods;
+
+ //如果有要参与订单促销的按钮点击后,要修改商品的价格
+ if(th.data.can_use_ord_prom[pickid]){
+ let discount_field=th.data.show_ord_prom[pickid];
+ switch (discount_field){
+ case 1:
+ good.shop_price=good.shop_price_y;
+ break;
+ case 2:
+ good.shop_price=good.market_price;
+ break;
+ }
+ }else{
+ good=ut.deep_cp(th.data.old_bn_goods);
+ }
+
+ th.setData({
+ bn_goods:good
+ })
+ wx.showLoading({
+ title: "处理中.",
+ mark:true
+ })
+ th.calculatePrice2()
}
diff --git a/packageE/pages/cart/cart2/cart2.wxml b/packageE/pages/cart/cart2/cart2.wxml
index 933a0df..c61ad0f 100644
--- a/packageE/pages/cart/cart2/cart2.wxml
+++ b/packageE/pages/cart/cart2/cart2.wxml
@@ -693,6 +693,14 @@
{{order.store_prom}}
+
+
+
+
+ 参与订单促销
+
+
+