From c014c3a8b162d5e642b7883f4013fa1861b3e846 Mon Sep 17 00:00:00 2001 From: abson Date: Tue, 11 Jan 2022 09:18:13 +0800 Subject: [PATCH] 超量倍增 --- packageA/pages/checkin/checkin.wxml | 61 ++++++++++++++++++++++++++++++------------------------------- packageB/pages/zuhegou/index/index.js | 164 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------------------------------------- pages/cart/cart/zh_calculate.js | 74 +++++++++++++++++++++++++++++++++++++++++++++----------------------------- pages/cart/cart2/zh_calculate.js | 77 ++++++++++++++++++++++++++++++++++++++++++++++------------------------------- pages/goods/goodsInfo/goodsInfo.js | 1 + pages/team/team_success/team_success.js | 11 +++++++++-- 6 files changed, 221 insertions(+), 167 deletions(-) diff --git a/packageA/pages/checkin/checkin.wxml b/packageA/pages/checkin/checkin.wxml index ac082ff..82cc42f 100644 --- a/packageA/pages/checkin/checkin.wxml +++ b/packageA/pages/checkin/checkin.wxml @@ -91,41 +91,40 @@ - - - - - - - - - - - + + + + + + + + - - - - - + + + + + + + + + + - - + + + + 小积分大作为 + 积分抵用现金,积少成多 + + + 去购物 Go! + + + - - - - - + diff --git a/packageB/pages/zuhegou/index/index.js b/packageB/pages/zuhegou/index/index.js index 6293095..af5ec6c 100644 --- a/packageB/pages/zuhegou/index/index.js +++ b/packageB/pages/zuhegou/index/index.js @@ -1914,7 +1914,7 @@ Page({ var need_to_buy = 0; var data = this.data.list; var all_zhqty = 0; //所有商品要求起购数之后 - var zhqty_bz=[]; //超量 + var zhqty_bz = []; //超量 var no_in_arr = []; for (var i in data) { var item = data[i]; @@ -1965,91 +1965,107 @@ Page({ //看一下剩下的数量有没有满足组合购的要求,以及要不要倍增 if (this.data.act.is_bz && no_in_arr.length >= this.data.act.zhbuyqty) { - var bz_num_ok=0; //超量倍增是否满足 - var delete_num=0; - var zhqty_len=0; //几个超量倍增 + var bz_num_ok = 0; //超量倍增是否满足 + var delete_num = 0; + var zhqty_len = 0; //几个超量倍增 var be = parseInt(no_in_arr.length / this.data.act.zhbuyqty); //看一下是几倍 - if(this.data.act.is_bzyh && zhqty_bz.length > 0 ){ - if(zhqty_bz.length>1){ - zhqty_len=1; - let min_bz_num= Math.min.apply(Math, zhqty_bz.map(function(o) {return o['num']})); - let new_arr=zhqty_bz.filter(ii=>{ - return ii['num']==min_bz_num + if (this.data.act.is_bzyh && zhqty_bz.length > 0) { + if (zhqty_bz.length > 1) { + let zhqty_bz_arr = []; + let zhqty_bz_flag = zhqty_bz.every((item1, i) => { + var bz_num = be * item1['zhqty']; //超量倍增 + var num = item1['num'] - item1['zhqty']; //购买数量减去超量 + if (bz_num > num) { + zhqty_bz_arr.push(item1); + zhqty_bz.splice(i, 1) + } + return bz_num <= num; }) - var vv=new_arr[0]; - // be=new_arr[0].zhqty; - var bz_num=be*new_arr[0].zhqty; //超量倍增 - var num=min_bz_num-new_arr[0].zhqty; //购买数量减去超量 - // if(num > 0){ - bz_num_ok=bz_num-num; - if(bz_num_ok <= 0){ + if (zhqty_bz_flag) { + for (let i = 0; i < zhqty_bz.length; i++) { + var vv = zhqty_bz[i]; + for (let j = 0; j < be * vv['zhqty']; j++) { + let index = no_in_arr.findIndex(i => { + return vv.goods_id === i.goods_id + }) + if (index > -1) { + delete_num++ + no_in_arr.splice(index, 1) + } + } + } + } else { + let min_bz_num = Math.min.apply(Math, zhqty_bz_arr.map(function (o) { + return o['num'] + })); + let new_arr = zhqty_bz_arr.filter(ii => { + return ii['num'] == min_bz_num + }) + var vv = new_arr[0]; + var bz_num = be * new_arr[0].zhqty; //超量倍增 + var num = min_bz_num - new_arr[0].zhqty; //购买数量减去超量 + bz_num_ok = bz_num - num; + if (bz_num_ok <= 0) { //超量倍增满足,超量倍增就等于倍数 - bz_num_ok=bz_num; - }else{ + bz_num_ok = bz_num; + } else { //超量倍增不满足,倍数要减去多出得 - // be=be-bz_num_ok; - if(num % vv.zhqty == 0){ - be=num/vv.zhqty; - // bz_num_ok=num; - }else{ - be = Math.floor(num/vv.zhqty) - // bz_num_ok=be * vv.zhqty ; - } - bz_num_ok=be * vv.zhqty ; + // be=be-bz_num_ok; + if (num % vv.zhqty == 0) { + be = num / vv.zhqty; + } else { + be = Math.floor(num / vv.zhqty) + } + bz_num_ok = be * vv.zhqty; } - for(let i=0;i{ - return vv.goods_id===i.goods_id - }) - if(index > -1){ - delete_num++ - no_in_arr.splice(index,1) - } - } + + for (let j = 0; j < bz_num_ok; j++) { + let index = no_in_arr.findIndex(i => { + return vv.goods_id === i.goods_id + }) + if (index > -1) { + delete_num++ + no_in_arr.splice(index, 1) + } } - // } - aprice += be * aprice; - }else{ - var vv=zhqty_bz[0]; - var bz_num=be*vv.zhqty; //超量倍增 - var num=vv['num']-vv.zhqty; //购买数量减去超量 - if(num > 0){ - bz_num_ok=bz_num-num; - if(bz_num_ok <= 0){ - //超量倍增满足,超量倍增就等于倍数 - bz_num_ok=bz_num; - }else{ - //超量倍增不满足,倍数要减去多出得 - // be=be-bz_num_ok; - if(num % vv.zhqty == 0){ - be=num/vv.zhqty; - // bz_num_ok=num; - }else{ - be = Math.floor(num/vv.zhqty) - // bz_num_ok=be * vv.zhqty; - } - bz_num_ok=be * vv.zhqty; + } + } else { + var vv = zhqty_bz[0]; + var bz_num = be * vv.zhqty; //超量倍增 + var num = vv['num'] - vv.zhqty; //购买数量减去超量 + if (num > 0) { + bz_num_ok = bz_num - num; + if (bz_num_ok <= 0) { + //超量倍增满足,超量倍增就等于倍数 + bz_num_ok = bz_num; + } else { + //超量倍增不满足,倍数要减去多出得 + // be=be-bz_num_ok; + if (num % vv.zhqty == 0) { + be = num / vv.zhqty; + } else { + be = Math.floor(num / vv.zhqty) } - for(let j=0;j{ - return vv.goods_id===i.goods_id - }) - if(index > -1){ - delete_num++ - no_in_arr.splice(index,1) - } + bz_num_ok = be * vv.zhqty; + } + for (let j = 0; j < bz_num_ok; j++) { + let index = no_in_arr.findIndex(i => { + return vv.goods_id === i.goods_id + }) + if (index > -1) { + delete_num++ + no_in_arr.splice(index, 1) } - }else{ - zhqty_len=1; } - } + } else { + zhqty_len = 1; + } + } } - if(!zhqty_len){ + if (!zhqty_len) { //多个超量就不用pop了 aprice += be * aprice; - let pop_num=be * this.data.act.zhbuyqty - delete_num; + let pop_num = be * this.data.act.zhbuyqty - delete_num; for (var m = 0; m < pop_num; m++) { no_in_arr.pop(); } diff --git a/pages/cart/cart/zh_calculate.js b/pages/cart/cart/zh_calculate.js index acd9faa..04fae18 100644 --- a/pages/cart/cart/zh_calculate.js +++ b/pages/cart/cart/zh_calculate.js @@ -238,36 +238,54 @@ module.exports = { var be = parseInt(no_in_arr.length / act.zhbuyqty); //看一下是几倍 if (act.is_bzyh && zhqty_bz.length > 0) { if (zhqty_bz.length > 1) { - zhqty_len = 1; - let min_bz_num = Math.min.apply(Math, zhqty_bz.map(function (o) { - return o['num'] - })); - let new_arr = zhqty_bz.filter(ii => { - return ii['num'] == min_bz_num + let zhqty_bz_arr = []; + let zhqty_bz_flag = zhqty_bz.every((item1, i) => { + var bz_num = be * item1['zhqty']; //超量倍增 + var num = item1['num'] - item1['zhqty']; //购买数量减去超量 + if (bz_num > num) { + zhqty_bz_arr.push(item1); + zhqty_bz.splice(i, 1) + } + return bz_num <= num; }) - var vv = new_arr[0]; - // be=new_arr[0].zhqty; - var bz_num = be * new_arr[0].zhqty; //超量倍增 - var num = min_bz_num - new_arr[0].zhqty; //购买数量减去超量 - // if(num > 0){ - bz_num_ok = bz_num - num; - if (bz_num_ok <= 0) { - //超量倍增满足,超量倍增就等于倍数 - bz_num_ok = bz_num; + if (zhqty_bz_flag) { + for (let i = 0; i < zhqty_bz.length; i++) { + var vv = zhqty_bz[i]; + for (let j = 0; j < be * vv['zhqty']; j++) { + let index = no_in_arr.findIndex(i => { + return vv.goods_id === i.goods_id + }) + if (index > -1) { + delete_num++ + no_in_arr.splice(index, 1) + } + } + } } else { - //超量倍增不满足,倍数要减去多出得 - // be=be-bz_num_ok; - if (num % vv.zhqty == 0) { - be = num / vv.zhqty; - // bz_num_ok = num; + let min_bz_num = Math.min.apply(Math, zhqty_bz_arr.map(function (o) { + return o['num'] + })); + let new_arr = zhqty_bz_arr.filter(ii => { + return ii['num'] == min_bz_num + }) + var vv = new_arr[0]; + var bz_num = be * new_arr[0].zhqty; //超量倍增 + var num = min_bz_num - new_arr[0].zhqty; //购买数量减去超量 + bz_num_ok = bz_num - num; + if (bz_num_ok <= 0) { + //超量倍增满足,超量倍增就等于倍数 + bz_num_ok = bz_num; } else { - be = Math.floor(num / vv.zhqty) - // bz_num_ok = num - (be * vv.zhqty); + //超量倍增不满足,倍数要减去多出得 + // be=be-bz_num_ok; + if (num % vv.zhqty == 0) { + be = num / vv.zhqty; + } else { + be = Math.floor(num / vv.zhqty) + } + bz_num_ok = be * vv.zhqty; } - bz_num_ok = be * vv.zhqty; - } - for (let i = 0; i < zhqty_bz.length; i++) { - var vv = zhqty_bz[i]; + for (let j = 0; j < bz_num_ok; j++) { let index = no_in_arr.findIndex(i => { return vv.goods_id === i.goods_id @@ -278,9 +296,7 @@ module.exports = { } } } - // } - aprice += be * aprice; - } else { + } else { var vv = zhqty_bz[0]; var bz_num = be * vv.zhqty; //超量倍增 var num = vv['num'] - vv.zhqty; //购买数量减去超量 diff --git a/pages/cart/cart2/zh_calculate.js b/pages/cart/cart2/zh_calculate.js index aeff617..0475ca1 100644 --- a/pages/cart/cart2/zh_calculate.js +++ b/pages/cart/cart2/zh_calculate.js @@ -151,50 +151,65 @@ module.exports = { let be = parseInt(no_in_arr.length / act.zhbuyqty); //看一下是几倍 if (act.is_bzyh && zhqty_bz.length > 0) { if (zhqty_bz.length > 1) { - zhqty_len = 1; - let min_bz_num = Math.min.apply(Math, zhqty_bz.map(function (o) { - return o['num'] - })); - let new_arr = zhqty_bz.filter(ii => { - return ii['num'] == min_bz_num + let zhqty_bz_arr = []; + let zhqty_bz_flag = zhqty_bz.every((item1, i) => { + var bz_num = be * item1['zhqty']; //超量倍增 + var num = item1['num'] - item1['zhqty']; //购买数量减去超量 + if (bz_num > num) { + zhqty_bz_arr.push(item1); + zhqty_bz.splice(i, 1) + } + return bz_num <= num; }) - var vv = new_arr[0]; - // be=new_arr[0].zhqty; - var bz_num = be * new_arr[0].zhqty; //超量倍增 - var num = min_bz_num - new_arr[0].zhqty; //购买数量减去超量 - // if(num > 0){ - bz_num_ok = bz_num - num; - if (bz_num_ok <= 0) { - //超量倍增满足,超量倍增就等于倍数 - bz_num_ok = bz_num; + if (zhqty_bz_flag) { + for (let i = 0; i < zhqty_bz.length; i++) { + var vv = zhqty_bz[i]; + for (let j = 0; j < be * vv['zhqty']; j++) { + let index = no_in_arr.findIndex(i => { + return vv.goods_id === i.goods_id + }) + if (index > -1) { + delete_num++ + no_in_arr.splice(index, 1) + } + } + } } else { - //超量倍增不满足,倍数要减去多出得 - // be=be-bz_num_ok; - if (num % vv.zhqty == 0) { - be = num / vv.zhqty; - // bz_num_ok = num; + let min_bz_num = Math.min.apply(Math, zhqty_bz_arr.map(function (o) { + return o['num'] + })); + let new_arr = zhqty_bz_arr.filter(ii => { + return ii['num'] == min_bz_num + }) + var vv = new_arr[0]; + var bz_num = be * new_arr[0].zhqty; //超量倍增 + var num = min_bz_num - new_arr[0].zhqty; //购买数量减去超量 + bz_num_ok = bz_num - num; + if (bz_num_ok <= 0) { + //超量倍增满足,超量倍增就等于倍数 + bz_num_ok = bz_num; } else { - be = Math.floor(num / vv.zhqty) - // bz_num_ok = num - (be * vv.zhqty); + //超量倍增不满足,倍数要减去多出得 + // be=be-bz_num_ok; + if (num % vv.zhqty == 0) { + be = num / vv.zhqty; + } else { + be = Math.floor(num / vv.zhqty) + } + bz_num_ok = be * vv.zhqty; } - bz_num_ok = be * vv.zhqty; - } - for (let i = 0; i < zhqty_bz.length; i++) { - var vv = zhqty_bz[i]; + for (let j = 0; j < bz_num_ok; j++) { let index = no_in_arr.findIndex(i => { return vv.goods_id === i.goods_id }) - if(index > -1){ + if (index > -1) { delete_num++ no_in_arr.splice(index, 1) } - } } - // } - aprice += be * aprice; - } else { + } else { var vv = zhqty_bz[0]; var bz_num = be * vv.zhqty; //超量倍增 var num = vv['num'] - vv.zhqty; //购买数量减去超量 diff --git a/pages/goods/goodsInfo/goodsInfo.js b/pages/goods/goodsInfo/goodsInfo.js index 101635a..ed3a012 100644 --- a/pages/goods/goodsInfo/goodsInfo.js +++ b/pages/goods/goodsInfo/goodsInfo.js @@ -706,6 +706,7 @@ Page({ //---展示--- onShow: function () { var goods_list = null, th = this, that = this; + this.data.is_go_to_team_show=0; var show_prew_img = this.data.show_prew_img if (show_prew_img) { show_prew_img = 0; diff --git a/pages/team/team_success/team_success.js b/pages/team/team_success/team_success.js index c784df9..0bb3b38 100644 --- a/pages/team/team_success/team_success.js +++ b/pages/team/team_success/team_success.js @@ -183,6 +183,14 @@ Page({ await getApp().request.promiseGet("/api/weshop/teamlist/get/" + os.stoid + "/" + pt_prom_id, { data: { } }).then(res => { + if(res.data.code==0){ + teamlist=res.data.data; + this.setData({ + teamlist:teamlist + }); + var nt =ut.gettimestamp(); + teamlist.status=0; + if (nt >= teamlist.start_time) teamlist.status = 1; goods_id = res.data.data.goods_id; id = res.data.data.id; @@ -200,10 +208,9 @@ Page({ }) max_num=max; min_price=pri; - } - + } //获取商品信息 getApp().request.promiseGet("/api/weshop/goods/get/" + os.stoid + "/" + goods_id, { }).then(res => { -- libgit2 0.21.4