diff --git a/pages/cart/cart/cart.js b/pages/cart/cart/cart.js index 7a5ad0c..c6ddec8 100644 --- a/pages/cart/cart/cart.js +++ b/pages/cart/cart/cart.js @@ -356,7 +356,6 @@ Page({ }) } } - //--判断优惠活动有没有过期,-- else if (item.prom_type == 3) { var isok = 1,is_g_prom=0; @@ -436,8 +435,6 @@ Page({ if (!isok) continue; - - } else if (item.prom_type == 7) { if(!th.data.zuhe_map[item.prom_id]){ @@ -599,9 +596,79 @@ Page({ }); item.prom_type=3; item.prom_id=r_data.promGoodsLists[0].prom_id; + }else if(r_data.ladderLists){ + var url = '/api/weshop/cart/update'; + getApp().request.put(url, { + data:{id:item.id,store_id:oo.stoid,prom_type:10,prom_id:r_data.ladderLists[0].form_id} + }); + item.prom_type=10; + item.prom_id=r_data.ladderLists[0].form_id; + } } }) + + //如果是阶梯购的时候 + if(item.prom_type==10){ + if(!th.data.ladder_map[item.prom_id]){ + //如果有阶梯购,要判断身份 + var isok = 1; + var is_flag=1; + var act=null; + var url="/api/weshop/prom/ladderForm/getNew/"+os.stoid+"/"+user_id+"/"+item.prom_id; + await getApp().request.promiseGet(url, {}).then(res => { + console.log(res,1000); + if(res.data.code==0 && res.data.data){ + if(res.data.data.isuse!=1){ + isok=0; + } + //如果活动已经结束 + if(res.data.data.is_end==1){ + isok=0; + } + //已经结束 + if(ut.gettimestamp()>res.data.data.end_time){ + isok=0; + } + //还未开始 + if(ut.gettimestamp() { + if (rs1.data.code==0 && rs1.data.data) { + var gdlist = rs1.data.data; + th.data.ladder_map[item.prom_id].ladder_list=gdlist; + } + }) + } + //直接把活动赋值给元素 + if(th.data.ladder_map[item.prom_id] && th.data.ladder_map[item.prom_id]!=-1 ){ + item.act=th.data.ladder_map[item.prom_id]; + } + } + } all_num += item.goods_num; @@ -1442,8 +1509,7 @@ Page({ if(car && car.length>0){ th.data.in_zhact_gdmap={}; for (var a = 0; a < car.length; a++) { - var item = car[a].goods, - is_s_sele = 1; + var item = car[a].goods,is_s_sele = 1; var offline_price=0; var offline_num=0; for (var c = 0; c < item.length; c++) { diff --git a/pages/cart/cart2/cart2.js b/pages/cart/cart2/cart2.js index 1424176..c16c5c0 100644 --- a/pages/cart/cart2/cart2.js +++ b/pages/cart/cart2/cart2.js @@ -631,6 +631,7 @@ Page({ } arr[j].exp_type = e_t; if (e_t == 0) th.setData({is_all_zt: 0}); + else if(e_t==1) th.setData({is_all_zt: 1}); //} //-- 把等级卡会优惠多少钱装进去 -- @@ -2543,6 +2544,15 @@ Page({ //房间号的ids var room_ids = ""; + + //-- 把券的钱,写入从表 --- + if (t_item.quan_youhui_list && t_item.coupon_price) { + for (var kk in t_item.quan_youhui_list) { + var you_item = t_item.quan_youhui_list[kk]; + //-- 对券的价格进行平摊 -- + await th.split_set_goods_quanprice(you_item,t_item); + } + } //-------------让商品添加到商品列表-------------------- for (var k = 0; k < t_item.goods.length; k++) { var g_item = t_item.goods[k]; @@ -2566,17 +2576,6 @@ Page({ goods.pricing_type = g_item.pricing_type; } - //--把券的钱,写入从表--- - if (t_item.quan_youhui_list && t_item.coupon_price) { - for (var kk in t_item.quan_youhui_list) { - var you_item = t_item.quan_youhui_list[kk]; - if (g_item.prom_type!=7 && g_item.erpwareid == you_item.WareId) { - goods.quan_num = you_item.WareCashSum; - goods.quan_no = you_item.CashRepNo; - } - } - } - //--判断活动的类型-- switch (g_item.prom_type) { case 1: @@ -4039,6 +4038,73 @@ Page({ go_url:function (e) { var url = e.currentTarget.dataset.url; getApp().goto(url); + }, + + //进行对商品的平摊g_item是单个商品,you_item是这个商品分多少优惠券的钱,goods是商品列表 + split_set_goods_quanprice:async function (you_item,t_item) { + var coupon_price=t_item.coupon_price; + var goods=t_item.goods; + var arr=[]; + //判断是不是有goods_id重复 + for(var i=0;i { + if (res.data.code == 0) { + pt_res = res.data.data; + } + }) + if (pt_res) { + var q_s_num = 0; + for (var i in pt_res) { + var idx = pt_res[i].idx; + //有account的实收价,就要用account实收价 + var price=(t_item.goods[idx].account?t_item.goods[idx].account:t_item.goods[idx].goods_price); + price=(price - pt_res[i].fisrt_account)* t_item.goods[idx].goods_num; + t_item.goods[idx].quan_num =price; + + t_item.goods[idx].quan_num =Math.floor(t_item.goods[idx].quan_num * 100) / 100; + t_item.goods[idx].quan_no=t_item.quan_no; + q_s_num += t_item.goods[idx].quan_num; + } + + if (q_s_num > parseFloat(coupon_price) || q_s_num < parseFloat(coupon_price)){ + for (var ik in arr) { + if (arr[ik].goods_num == 1) { + var id = arr[ik].idx; + var pri=Math.floor(coupon_price*100)/100-Math.floor(q_s_num*100)/100 + t_item.goods[id].quan_num+=pri; + break; + } + } + } + } } diff --git a/pages/cart/cart2/ladder_calculate.js b/pages/cart/cart2/ladder_calculate.js index 44ad99a..4c23827 100644 --- a/pages/cart/cart2/ladder_calculate.js +++ b/pages/cart/cart2/ladder_calculate.js @@ -67,7 +67,8 @@ module.exports = { //-- 单个文件新增 -- let new_g = JSON.parse(JSON.stringify(end.item)); new_g.goods_num = 1; - new_g.account = account.toFixed(2); + //如果有平摊到单品的时候,account要显示 + if(!th.data.ispt_goods) new_g.account = account.toFixed(2); new_g.discount = item_j.discount; new_g.goods_price =new_price; new_g.ladder_list_id =item_j.id; @@ -184,7 +185,7 @@ module.exports = { return dest; }, - //-- 平摊组合购的价格 -- + //-- 组装阶梯购的价格 -- calc_split_price: async function (c_arr, th) { //-- 循环处理 -- for (var k in c_arr) { diff --git a/pages/goods/goodsInfo/goodsInfo.js b/pages/goods/goodsInfo/goodsInfo.js index 1222ad8..676e1b0 100644 --- a/pages/goods/goodsInfo/goodsInfo.js +++ b/pages/goods/goodsInfo/goodsInfo.js @@ -5734,6 +5734,32 @@ Page({ success: function (res) { if (res.data.code == 0) { var r_data = res.data.data; + + if(r_data.ladderLists){ + var act_id=r_data.ladderLists[0].form_id; + //-- 判断会员能不能参与阶梯促销 -- + getApp().request.promiseGet("/api/weshop/prom/ladderForm/getNew/" + os.stoid+"/"+user_id + "/"+act_id, { + }).then(res=>{ + if(res.data.code==0 && res.data.data){ + var prom_content=""; + for(let jj in r_data.ladderLists){ + if(r_data.ladderLists[jj].discount==10){ + prom_content+="第"+(parseInt(jj)+1)+"件原价,"; + }else{ + prom_content+="第"+(parseInt(jj)+1)+"件"+r_data.ladderLists[jj].discount+"折,"; + } + } + prom_content=ut.sub_last(prom_content); + th.data.prom_type=10; + th.data.prom_id=act_id; + th.setData({ + jieti_prom:prom_content, + ladder_act_id:act_id + }) + } + }) + } + th.setData({ prom_goods: r_data.promGoodsLists, }) diff --git a/pages/goods/goodsList/goodsList.js b/pages/goods/goodsList/goodsList.js index 4bd71dd..42a60cc 100644 --- a/pages/goods/goodsList/goodsList.js +++ b/pages/goods/goodsList/goodsList.js @@ -69,7 +69,13 @@ Page({ if (0 != t.is_new && t.is_new != undefined) { url += "&is_new=" + t.is_new; } if (0 != t.is_hot && t.is_hot != undefined) { url += "&is_hot=" + t.is_hot; } - if (0 != t.ladder_id && t.ladder_id != undefined) { url += "&ladder_id=" + t.ladder_id; } + if (0 != t.ladder_id && t.ladder_id != undefined) { + url += "&ladder_id=" + t.ladder_id; + this.setData({ + ladder_id:t.ladder_id, + baseUrl:url, + }) + } var user_id=getApp().globalData.user_id; if(!user_id) user_id=0; diff --git a/pages/goods/goodsList/goodsList.wxml b/pages/goods/goodsList/goodsList.wxml index d8011d4..d42e021 100644 --- a/pages/goods/goodsList/goodsList.wxml +++ b/pages/goods/goodsList/goodsList.wxml @@ -19,7 +19,7 @@ - 搜索店铺商品 + 搜索店铺商品 diff --git a/pages/goods/search/search.js b/pages/goods/search/search.js index ae5119f..0423a75 100644 --- a/pages/goods/search/search.js +++ b/pages/goods/search/search.js @@ -108,7 +108,13 @@ Page({ if (0 != t.brand_id && t.brand_id!=undefined){ url += "&brand_id=" + t.brand_id;} if (0 != t.nation_id && t.nation_id!=undefined) { url += "&nation_id=" + t.nation_id;} if (0 != t.max_price && t.max_price!=undefined) { url += "&min_pirce=" + t.min_pirce + "&max_price=" + t.max_price;} - + if (0 != t.ladder_id && t.ladder_id != undefined) { + url += "&ladder_id=" + t.ladder_id; + this.setData({ + baseUrl:url, + + }) + } if (url != this.data.baseUrl) return this.requestSearch(url); this.openSearchModal(); // 获取历史搜索记录 @@ -200,23 +206,43 @@ Page({ break } if(url!=null && url!=''){ - await getApp().request.promiseGet(url, {}).then(res => { + await getApp().request.promiseGet(url, {}).then(async res => { var prom =null; - if(res && res.data) prom=res.data.data; - if (prom != null && prom.is_end==0 && prom.end_time>now && (prom.start_time{ + let pd_list=pd.data.data.pageData; + if(res.data.code==0 && pd_list.length>0){ + flag =pd_list.some(pd=>{ + return pd.goods_id==item.goods_id + }) + } + if (prom != null && prom.is_end==0 && prom.end_time>now && flag && (prom.start_time 优惠活动 - ¥ {{order.discount_amount}}元 + ¥ {{filters.toFix(order.discount_amount,2)}}元 + + + + 阶梯优惠活动 + ¥ {{filters.toFix(order.ladder_amount,2)}}元