Commit 137fe81ee032b9babd06fda371f328ff89650a31
Merge branch 'dev' of http://git.vipzhuang.cn/wxd/MShopWeApp into test
Showing
16 changed files
with
841 additions
and
444 deletions
packageB/pages/zuhegou/index/index.js
| @@ -597,6 +597,16 @@ Page({ | @@ -597,6 +597,16 @@ Page({ | ||
| 597 | return | 597 | return |
| 598 | } | 598 | } |
| 599 | 599 | ||
| 600 | + if(this.data.act.zh_num>0 && this.data.act.zh_num<=this.data.act.zh_buy_num){ | ||
| 601 | + wx.showToast({ | ||
| 602 | + title: '组合总数不足!', | ||
| 603 | + icon: 'none', | ||
| 604 | + duration: 2000 | ||
| 605 | + }) | ||
| 606 | + return | ||
| 607 | + } | ||
| 608 | + | ||
| 609 | + | ||
| 600 | //说明是加入购物车是时候 | 610 | //说明是加入购物车是时候 |
| 601 | this.data.is_zuhe_addcart = 1; | 611 | this.data.is_zuhe_addcart = 1; |
| 602 | if (!haveAdded) { | 612 | if (!haveAdded) { |
| @@ -640,14 +650,18 @@ Page({ | @@ -640,14 +650,18 @@ Page({ | ||
| 640 | return false; | 650 | return false; |
| 641 | } else { | 651 | } else { |
| 642 | //先判断一下线下库存 | 652 | //先判断一下线下库存 |
| 643 | - th.check_pk_store_conut(function(){ | ||
| 644 | - th.setData({ | ||
| 645 | - is_no_pipei: 0 | ||
| 646 | - }); | ||
| 647 | - th.check_is_in_cart(function () { | ||
| 648 | - th.add_cart_func(); | 653 | + |
| 654 | + th.chect_act_zh_num(function (){ | ||
| 655 | + th.check_pk_store_conut(function(){ | ||
| 656 | + th.setData({ | ||
| 657 | + is_no_pipei: 0 | ||
| 658 | + }); | ||
| 659 | + th.check_is_in_cart(function () { | ||
| 660 | + th.add_cart_func(); | ||
| 661 | + }) | ||
| 649 | }) | 662 | }) |
| 650 | }) | 663 | }) |
| 664 | + | ||
| 651 | } | 665 | } |
| 652 | } else { | 666 | } else { |
| 653 | 667 | ||
| @@ -2023,6 +2037,13 @@ Page({ | @@ -2023,6 +2037,13 @@ Page({ | ||
| 2023 | 2037 | ||
| 2024 | // -- 加入之前,先判断有没有在购物车中,没有商品就添加 -- | 2038 | // -- 加入之前,先判断有没有在购物车中,没有商品就添加 -- |
| 2025 | check_is_in_cart: function (func) { | 2039 | check_is_in_cart: function (func) { |
| 2040 | + | ||
| 2041 | + var act=this.data.act; | ||
| 2042 | + if(act.zh_num>0 && act.zh_num<=act.zh_buy_num){ | ||
| 2043 | + func(); | ||
| 2044 | + return false; | ||
| 2045 | + } | ||
| 2046 | + | ||
| 2026 | var th = this; | 2047 | var th = this; |
| 2027 | var index = th.data.sele_index; | 2048 | var index = th.data.sele_index; |
| 2028 | var txt = "list[" + index + "].haveAdded"; | 2049 | var txt = "list[" + index + "].haveAdded"; |
| @@ -2200,105 +2221,113 @@ Page({ | @@ -2200,105 +2221,113 @@ Page({ | ||
| 2200 | var delete_num = 0; | 2221 | var delete_num = 0; |
| 2201 | var zhqty_len = 0; //几个超量倍增 | 2222 | var zhqty_len = 0; //几个超量倍增 |
| 2202 | var be = parseInt(no_in_arr.length / this.data.act.zhbuyqty); //看一下是几倍 | 2223 | var be = parseInt(no_in_arr.length / this.data.act.zhbuyqty); //看一下是几倍 |
| 2203 | - if (this.data.act.is_bzyh && zhqty_bz.length > 0) { | ||
| 2204 | - if (zhqty_bz.length > 1) { | ||
| 2205 | - let zhqty_bz_arr = []; | ||
| 2206 | - let zhqty_bz_flag = this.zhqty_bz_fun(zhqty_bz, be, zhqty_bz_arr); | ||
| 2207 | - | ||
| 2208 | - if (zhqty_bz_flag) { | ||
| 2209 | - for (let i = 0; i < zhqty_bz.length; i++) { | ||
| 2210 | - var vv = zhqty_bz[i]; | ||
| 2211 | - for (let j = 0; j < be * vv['zhqty']; j++) { | ||
| 2212 | - let index = no_in_arr.findIndex(i => { | ||
| 2213 | - return vv.goods_id === i.goods_id | ||
| 2214 | - }) | ||
| 2215 | - if (index > -1) { | ||
| 2216 | - delete_num++ | ||
| 2217 | - no_in_arr.splice(index, 1) | 2224 | + //如果有总数控制的时候 |
| 2225 | + if(this.data.act.zh_num){ | ||
| 2226 | + var be1=this.data.act.zh_num-this.data.act.zh_buy_num-1; | ||
| 2227 | + if(be1<be) be=be1; | ||
| 2228 | + } | ||
| 2229 | + if(be){ | ||
| 2230 | + if (this.data.act.is_bzyh && zhqty_bz.length > 0) { | ||
| 2231 | + if (zhqty_bz.length > 1) { | ||
| 2232 | + let zhqty_bz_arr = []; | ||
| 2233 | + let zhqty_bz_flag = this.zhqty_bz_fun(zhqty_bz, be, zhqty_bz_arr); | ||
| 2234 | + | ||
| 2235 | + if (zhqty_bz_flag) { | ||
| 2236 | + for (let i = 0; i < zhqty_bz.length; i++) { | ||
| 2237 | + var vv = zhqty_bz[i]; | ||
| 2238 | + for (let j = 0; j < be * vv['zhqty']; j++) { | ||
| 2239 | + let index = no_in_arr.findIndex(i => { | ||
| 2240 | + return vv.goods_id === i.goods_id | ||
| 2241 | + }) | ||
| 2242 | + if (index > -1) { | ||
| 2243 | + delete_num++ | ||
| 2244 | + no_in_arr.splice(index, 1) | ||
| 2245 | + } | ||
| 2218 | } | 2246 | } |
| 2219 | } | 2247 | } |
| 2220 | - } | ||
| 2221 | - } else { | ||
| 2222 | - zhqty_len = 1; | ||
| 2223 | - let min_bz_num = Math.min.apply(Math, zhqty_bz_arr.map(function (o) { | ||
| 2224 | - return o['num']; | ||
| 2225 | - })); | ||
| 2226 | - let new_arr = zhqty_bz_arr.filter(ii => { | ||
| 2227 | - return ii['num'] == min_bz_num; | ||
| 2228 | - }) | ||
| 2229 | - var vv = new_arr[0]; | ||
| 2230 | - var bz_num = be * new_arr[0].zhqty; //超量倍增 | ||
| 2231 | - var num = min_bz_num - new_arr[0].zhqty; //购买数量减去超量 | ||
| 2232 | - bz_num_ok = bz_num - num; | ||
| 2233 | - if (bz_num_ok <= 0) { | ||
| 2234 | - //超量倍增满足,超量倍增就等于倍数 | ||
| 2235 | - bz_num_ok = bz_num; | ||
| 2236 | } else { | 2248 | } else { |
| 2237 | - //超量倍增不满足,倍数要减去多出得 | ||
| 2238 | - // be=be-bz_num_ok; | ||
| 2239 | - if (num % vv.zhqty == 0) { | ||
| 2240 | - be = num / vv.zhqty; | 2249 | + zhqty_len = 1; |
| 2250 | + let min_bz_num = Math.min.apply(Math, zhqty_bz_arr.map(function (o) { | ||
| 2251 | + return o['num']; | ||
| 2252 | + })); | ||
| 2253 | + let new_arr = zhqty_bz_arr.filter(ii => { | ||
| 2254 | + return ii['num'] == min_bz_num; | ||
| 2255 | + }) | ||
| 2256 | + var vv = new_arr[0]; | ||
| 2257 | + var bz_num = be * new_arr[0].zhqty; //超量倍增 | ||
| 2258 | + var num = min_bz_num - new_arr[0].zhqty; //购买数量减去超量 | ||
| 2259 | + bz_num_ok = bz_num - num; | ||
| 2260 | + if (bz_num_ok <= 0) { | ||
| 2261 | + //超量倍增满足,超量倍增就等于倍数 | ||
| 2262 | + bz_num_ok = bz_num; | ||
| 2241 | } else { | 2263 | } else { |
| 2242 | - be = Math.floor(num / vv.zhqty) | 2264 | + //超量倍增不满足,倍数要减去多出得 |
| 2265 | + // be=be-bz_num_ok; | ||
| 2266 | + if (num % vv.zhqty == 0) { | ||
| 2267 | + be = num / vv.zhqty; | ||
| 2268 | + } else { | ||
| 2269 | + be = Math.floor(num / vv.zhqty) | ||
| 2270 | + } | ||
| 2271 | + bz_num_ok = be * vv.zhqty; | ||
| 2243 | } | 2272 | } |
| 2244 | - bz_num_ok = be * vv.zhqty; | ||
| 2245 | - } | ||
| 2246 | 2273 | ||
| 2247 | - for (let i = 0; i < zhqty_bz.length; i++) { | ||
| 2248 | - let item1 = zhqty_bz[i]; | ||
| 2249 | - for (let j = 0; j < be * item1['zhqty']; j++) { | 2274 | + for (let i = 0; i < zhqty_bz.length; i++) { |
| 2275 | + let item1 = zhqty_bz[i]; | ||
| 2276 | + for (let j = 0; j < be * item1['zhqty']; j++) { | ||
| 2277 | + let index = no_in_arr.findIndex(i => { | ||
| 2278 | + return item1.goods_id === i.goods_id | ||
| 2279 | + }) | ||
| 2280 | + if (index > -1) { | ||
| 2281 | + // delete_num++ | ||
| 2282 | + no_in_arr.splice(index, 1) | ||
| 2283 | + } | ||
| 2284 | + } | ||
| 2285 | + } | ||
| 2286 | + aprice += be * aprice; | ||
| 2287 | + } | ||
| 2288 | + } else { | ||
| 2289 | + var vv = zhqty_bz[0]; | ||
| 2290 | + var bz_num = be * vv.zhqty; //超量倍增 | ||
| 2291 | + var num = vv['num'] - vv.zhqty; //购买数量减去超量 | ||
| 2292 | + if (num > 0) { | ||
| 2293 | + bz_num_ok = bz_num - num; | ||
| 2294 | + if (bz_num_ok <= 0) { | ||
| 2295 | + //超量倍增满足,超量倍增就等于倍数 | ||
| 2296 | + bz_num_ok = bz_num; | ||
| 2297 | + } else { | ||
| 2298 | + //超量倍增不满足,倍数要减去多出得 | ||
| 2299 | + // be=be-bz_num_ok; | ||
| 2300 | + if (num % vv.zhqty == 0) { | ||
| 2301 | + be = num / vv.zhqty; | ||
| 2302 | + } else { | ||
| 2303 | + be = Math.floor(num / vv.zhqty) | ||
| 2304 | + } | ||
| 2305 | + bz_num_ok = be * vv.zhqty; | ||
| 2306 | + } | ||
| 2307 | + for (let j = 0; j < bz_num_ok; j++) { | ||
| 2250 | let index = no_in_arr.findIndex(i => { | 2308 | let index = no_in_arr.findIndex(i => { |
| 2251 | - return item1.goods_id === i.goods_id | 2309 | + return vv.goods_id === i.goods_id |
| 2252 | }) | 2310 | }) |
| 2253 | if (index > -1) { | 2311 | if (index > -1) { |
| 2254 | - // delete_num++ | 2312 | + delete_num++ |
| 2255 | no_in_arr.splice(index, 1) | 2313 | no_in_arr.splice(index, 1) |
| 2256 | } | 2314 | } |
| 2257 | } | 2315 | } |
| 2258 | - } | ||
| 2259 | - aprice += be * aprice; | ||
| 2260 | - } | ||
| 2261 | - } else { | ||
| 2262 | - var vv = zhqty_bz[0]; | ||
| 2263 | - var bz_num = be * vv.zhqty; //超量倍增 | ||
| 2264 | - var num = vv['num'] - vv.zhqty; //购买数量减去超量 | ||
| 2265 | - if (num > 0) { | ||
| 2266 | - bz_num_ok = bz_num - num; | ||
| 2267 | - if (bz_num_ok <= 0) { | ||
| 2268 | - //超量倍增满足,超量倍增就等于倍数 | ||
| 2269 | - bz_num_ok = bz_num; | ||
| 2270 | } else { | 2316 | } else { |
| 2271 | - //超量倍增不满足,倍数要减去多出得 | ||
| 2272 | - // be=be-bz_num_ok; | ||
| 2273 | - if (num % vv.zhqty == 0) { | ||
| 2274 | - be = num / vv.zhqty; | ||
| 2275 | - } else { | ||
| 2276 | - be = Math.floor(num / vv.zhqty) | ||
| 2277 | - } | ||
| 2278 | - bz_num_ok = be * vv.zhqty; | ||
| 2279 | - } | ||
| 2280 | - for (let j = 0; j < bz_num_ok; j++) { | ||
| 2281 | - let index = no_in_arr.findIndex(i => { | ||
| 2282 | - return vv.goods_id === i.goods_id | ||
| 2283 | - }) | ||
| 2284 | - if (index > -1) { | ||
| 2285 | - delete_num++ | ||
| 2286 | - no_in_arr.splice(index, 1) | ||
| 2287 | - } | 2317 | + zhqty_len = 1; |
| 2288 | } | 2318 | } |
| 2289 | - } else { | ||
| 2290 | - zhqty_len = 1; | ||
| 2291 | } | 2319 | } |
| 2292 | } | 2320 | } |
| 2293 | - } | ||
| 2294 | - if (!zhqty_len) { | ||
| 2295 | - //多个超量就不用pop了 | ||
| 2296 | - aprice += be * aprice; | ||
| 2297 | - let pop_num = be * this.data.act.zhbuyqty - delete_num; | ||
| 2298 | - for (var m = 0; m < pop_num; m++) { | ||
| 2299 | - no_in_arr.pop(); | 2321 | + if (!zhqty_len) { |
| 2322 | + //多个超量就不用pop了 | ||
| 2323 | + aprice += be * aprice; | ||
| 2324 | + let pop_num = be * this.data.act.zhbuyqty - delete_num; | ||
| 2325 | + for (var m = 0; m < pop_num; m++) { | ||
| 2326 | + no_in_arr.pop(); | ||
| 2327 | + } | ||
| 2300 | } | 2328 | } |
| 2301 | } | 2329 | } |
| 2330 | + | ||
| 2302 | } | 2331 | } |
| 2303 | 2332 | ||
| 2304 | //算一下剩余的钱 | 2333 | //算一下剩余的钱 |
| @@ -2518,5 +2547,38 @@ Page({ | @@ -2518,5 +2547,38 @@ Page({ | ||
| 2518 | } | 2547 | } |
| 2519 | } | 2548 | } |
| 2520 | return zhqty_bz_flag; | 2549 | return zhqty_bz_flag; |
| 2550 | + }, | ||
| 2551 | + | ||
| 2552 | + chect_act_zh_num(func){ | ||
| 2553 | + var userInfo = getApp().globalData.userInfo; | ||
| 2554 | + //获取活动信息 | ||
| 2555 | + var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" + this.data.id + "/" + userInfo.user_id; | ||
| 2556 | + getApp().request.get(url, { | ||
| 2557 | + success: function (e) { | ||
| 2558 | + if (e.data.code == 0 && e.data.data) { | ||
| 2559 | + var t_act=e.data.data; | ||
| 2560 | + if(t_act.zh_num>0 && t_act.zh_num<=t_act.zh_buy_num){ | ||
| 2561 | + wx.showToast({ | ||
| 2562 | + title: '组合活动不足!', | ||
| 2563 | + icon: 'none', | ||
| 2564 | + duration: 2000 | ||
| 2565 | + }) | ||
| 2566 | + return false; | ||
| 2567 | + } | ||
| 2568 | + func(); | ||
| 2569 | + | ||
| 2570 | + }else{ | ||
| 2571 | + wx.showToast({ | ||
| 2572 | + title: '未找到活动!', | ||
| 2573 | + icon: 'none', | ||
| 2574 | + duration: 2000 | ||
| 2575 | + }) | ||
| 2576 | + } | ||
| 2577 | + | ||
| 2578 | + } | ||
| 2579 | + }) | ||
| 2521 | } | 2580 | } |
| 2581 | + | ||
| 2582 | + | ||
| 2583 | + | ||
| 2522 | }) | 2584 | }) |
| 2523 | \ No newline at end of file | 2585 | \ No newline at end of file |
packageC/pages/presell/goodsInfo/goodsInfo.js
| @@ -1731,8 +1731,9 @@ Page({ | @@ -1731,8 +1731,9 @@ Page({ | ||
| 1731 | var now = ut.gettimestamp(); | 1731 | var now = ut.gettimestamp(); |
| 1732 | var rq_data = { | 1732 | var rq_data = { |
| 1733 | store_id: o.stoid, | 1733 | store_id: o.stoid, |
| 1734 | - sku: gd.sku, | ||
| 1735 | - more_spec: gd.more_spec, | 1734 | + //sku: gd.sku, |
| 1735 | + //more_spec: gd.more_spec, | ||
| 1736 | + goods_id:g_id, | ||
| 1736 | isonsale: 1, | 1737 | isonsale: 1, |
| 1737 | is_on_sale: 1, | 1738 | is_on_sale: 1, |
| 1738 | pageSize: 500, | 1739 | pageSize: 500, |
packageE/pages/cart/cart2/cart2.js
| @@ -147,7 +147,8 @@ Page({ | @@ -147,7 +147,8 @@ Page({ | ||
| 147 | appoint_pick_keyid: '', | 147 | appoint_pick_keyid: '', |
| 148 | is_pre_cut:0, //是否可以使用预存 0是不可以1的可以 | 148 | is_pre_cut:0, //是否可以使用预存 0是不可以1的可以 |
| 149 | 149 | ||
| 150 | - coll_prom:{} //搭配活动存储 | 150 | + coll_prom:{}, //搭配活动存储 |
| 151 | + yh_is_xz_yh:{},//优惠促销优惠券使用开关 | ||
| 151 | 152 | ||
| 152 | }, | 153 | }, |
| 153 | onLoad: function (t) { | 154 | onLoad: function (t) { |
| @@ -714,6 +715,10 @@ Page({ | @@ -714,6 +715,10 @@ Page({ | ||
| 714 | //---是不是购买等级卡成功的返回---等级卡显示的判断--- | 715 | //---是不是购买等级卡成功的返回---等级卡显示的判断--- |
| 715 | var is_card_back = getApp().globalData.is_card_back; | 716 | var is_card_back = getApp().globalData.is_card_back; |
| 716 | 717 | ||
| 718 | + | ||
| 719 | + //-- 判断组合购是总数量是不是存在 -- | ||
| 720 | + var no_zh_num={}; | ||
| 721 | + | ||
| 717 | for (var i = 0; i < carr.length; i++) { | 722 | for (var i = 0; i < carr.length; i++) { |
| 718 | var item1 = carr[i]; | 723 | var item1 = carr[i]; |
| 719 | //把已经购买了多少见的内容填入 | 724 | //把已经购买了多少见的内容填入 |
| @@ -753,19 +758,44 @@ Page({ | @@ -753,19 +758,44 @@ Page({ | ||
| 753 | item1.is_post_temp=res.data.data.is_post_temp; | 758 | item1.is_post_temp=res.data.data.is_post_temp; |
| 754 | } | 759 | } |
| 755 | }) | 760 | }) |
| 756 | - } | ||
| 757 | - | 761 | + } |
| 762 | + | ||
| 758 | //要把优惠活动加入,prom_goods_map中,赠品不要运算,代发商品不算优惠 | 763 | //要把优惠活动加入,prom_goods_map中,赠品不要运算,代发商品不算优惠 |
| 759 | if (item1.prom_type == 3 && item1.is_gift != 1 && !item1.whsle_id) { | 764 | if (item1.prom_type == 3 && item1.is_gift != 1 && !item1.whsle_id) { |
| 760 | - // th.check_is_youhui(item1.goods_id, item1.pick_id); | ||
| 761 | - await th.add_prom_goods_map(item1); | 765 | + // th.check_is_youhui(item1.goods_id, item1.pick_id); |
| 766 | + //增加优惠活动次数限制 | ||
| 767 | + let limit_num= await th.getprom(item1) //活动限制次数 | ||
| 768 | + | ||
| 769 | + if(!limit_num){ | ||
| 770 | + await th.add_prom_goods_map(item1); | ||
| 771 | + // item1.prom_id='' | ||
| 772 | + // item1.prom_type='' | ||
| 773 | + }else{ | ||
| 774 | + let user_pre_buynum = await th.getUserBuyPromNum_pre(item1.prom_id) //用户已经参与次数 | ||
| 775 | + if(user_pre_buynum<limit_num){ | ||
| 776 | + await th.add_prom_goods_map(item1); | ||
| 777 | + }else{ | ||
| 778 | + // await th.add_prom_goods_map(item1); | ||
| 779 | + item1.prom_id='' | ||
| 780 | + item1.prom_type='' | ||
| 781 | + } | ||
| 782 | + } | ||
| 762 | } | 783 | } |
| 763 | 784 | ||
| 764 | - //要把组合购的东西拿出来算一下 | 785 | + //-- 如果组合购的总数量不足的处理 -- |
| 786 | + if(no_zh_num[item1.prom_id] && item1.prom_type == 7){ | ||
| 787 | + item1.prom_type = 0; | ||
| 788 | + item1.prom_type1 = 0; | ||
| 789 | + item1.prom_id = 0; | ||
| 790 | + item1.prom_id1 = 0 | ||
| 791 | + } | ||
| 792 | + | ||
| 793 | + //要把组合购的东西拿出来算一下,同时组合购的总数量要有存在 | ||
| 765 | if (item1.prom_type == 7) { | 794 | if (item1.prom_type == 7) { |
| 766 | if (!th.data.zuhe_map_good[item1.prom_id]) { | 795 | if (!th.data.zuhe_map_good[item1.prom_id]) { |
| 767 | var isok = 1; | 796 | var isok = 1; |
| 768 | var is_flag = 1; | 797 | var is_flag = 1; |
| 798 | + var store_count_ok=1; | ||
| 769 | //如果有组合购 | 799 | //如果有组合购 |
| 770 | var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" + item1.prom_id + '/' + getApp().globalData.userInfo.user_id; | 800 | var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" + item1.prom_id + '/' + getApp().globalData.userInfo.user_id; |
| 771 | await getApp().request.promiseGet(url, {}).then(res => { | 801 | await getApp().request.promiseGet(url, {}).then(res => { |
| @@ -778,39 +808,61 @@ Page({ | @@ -778,39 +808,61 @@ Page({ | ||
| 778 | isok = 0; | 808 | isok = 0; |
| 779 | } | 809 | } |
| 780 | item1.act = res.data.data; | 810 | item1.act = res.data.data; |
| 781 | - th.data.zhhe_act_map[item1.prom_id] = res.data.data; | 811 | + |
| 812 | + //-- 在这里要判断一下活动的组合购总数量 -- | ||
| 813 | + if(item1.act.zh_num>0 && item1.act.zh_buy_num>=item1.act.zh_num){ | ||
| 814 | + store_count_ok = 0; | ||
| 815 | + no_zh_num[item1.prom_id]=1; | ||
| 816 | + //-- 清理一下活动的状态 -- | ||
| 817 | + item1.prom_type = 0; | ||
| 818 | + item1.prom_type1 = 0; | ||
| 819 | + item1.prom_id = 0; | ||
| 820 | + item1.prom_id1 = 0 | ||
| 821 | + | ||
| 822 | + }else{ | ||
| 823 | + th.data.zhhe_act_map[item1.prom_id] = res.data.data; | ||
| 824 | + } | ||
| 825 | + | ||
| 782 | } else { | 826 | } else { |
| 783 | //未找到商品的活动 | 827 | //未找到商品的活动 |
| 784 | is_flag = 0; | 828 | is_flag = 0; |
| 785 | } | 829 | } |
| 786 | }) | 830 | }) |
| 831 | + | ||
| 787 | if (!isok) { | 832 | if (!isok) { |
| 788 | getApp().my_warnning("组合购的活动已经过期", 0, th); | 833 | getApp().my_warnning("组合购的活动已经过期", 0, th); |
| 789 | return false; | 834 | return false; |
| 790 | } | 835 | } |
| 791 | - var url1 = "/api/weshop/prom/zhbuyGoods/page"; | ||
| 792 | - var req_data = { | ||
| 793 | - page: 1, | ||
| 794 | - pageSize: 2000, | ||
| 795 | - store_id: os.stoid, | ||
| 796 | - zh_id: item1.prom_id, | ||
| 797 | - } | ||
| 798 | - await getApp().request.promiseGet(url1, { | ||
| 799 | - data: req_data | ||
| 800 | - }).then(res => { | ||
| 801 | - if (ut.ajax_ok(res)) { | ||
| 802 | - var gdlist = res.data.data.pageData; | ||
| 803 | - gdlist.forEach(i => { | ||
| 804 | - if (item1.goods_id == i.goods_id && !is_flag) { | ||
| 805 | - item1.prom_type = 0; | ||
| 806 | - item1.prom_type1 = 0; | ||
| 807 | - item1.prom_id = 0; | ||
| 808 | - item1.prom_id1 = 0 | 836 | + |
| 837 | + //------ 先增组合活动的总数量的时候 ------- | ||
| 838 | + if(store_count_ok) { | ||
| 839 | + var url1 = "/api/weshop/prom/zhbuyGoods/page"; | ||
| 840 | + var req_data = { | ||
| 841 | + page: 1, | ||
| 842 | + pageSize: 2000, | ||
| 843 | + store_id: os.stoid, | ||
| 844 | + zh_id: item1.prom_id, | ||
| 845 | + } | ||
| 846 | + await getApp().request.promiseGet(url1, { | ||
| 847 | + data: req_data | ||
| 848 | + }).then(res => { | ||
| 849 | + if (ut.ajax_ok(res)) { | ||
| 850 | + var gdlist = res.data.data.pageData; | ||
| 851 | + gdlist.forEach(i => { | ||
| 852 | + if (item1.goods_id == i.goods_id && !is_flag) { | ||
| 853 | + item1.prom_type = 0; | ||
| 854 | + item1.prom_type1 = 0; | ||
| 855 | + item1.prom_id = 0; | ||
| 856 | + item1.prom_id1 = 0 | ||
| 857 | + } | ||
| 858 | + }) | ||
| 859 | + th.data.zuhe_map_good[item1.prom_id] = gdlist; | ||
| 809 | } | 860 | } |
| 810 | }) | 861 | }) |
| 811 | - th.data.zuhe_map_good[item1.prom_id] = gdlist; | ||
| 812 | - } | ||
| 813 | - }) | 862 | + } |
| 863 | + | ||
| 864 | + | ||
| 865 | + | ||
| 814 | } | 866 | } |
| 815 | else { | 867 | else { |
| 816 | item1.act = th.data.zhhe_act_map[item1.prom_id]; | 868 | item1.act = th.data.zhhe_act_map[item1.prom_id]; |
| @@ -3982,6 +4034,7 @@ Page({ | @@ -3982,6 +4034,7 @@ Page({ | ||
| 3982 | 4034 | ||
| 3983 | var order_prom_list_cart = th.data.order_prom_list_cart; | 4035 | var order_prom_list_cart = th.data.order_prom_list_cart; |
| 3984 | 4036 | ||
| 4037 | + | ||
| 3985 | //--组装推送数据-- | 4038 | //--组装推送数据-- |
| 3986 | for (var i = 0; i < order_prom_list_cart.length; i++) { | 4039 | for (var i = 0; i < order_prom_list_cart.length; i++) { |
| 3987 | var t_item = order_prom_list_cart[i]; | 4040 | var t_item = order_prom_list_cart[i]; |
| @@ -4119,6 +4172,8 @@ Page({ | @@ -4119,6 +4172,8 @@ Page({ | ||
| 4119 | var df_room_ids = ""; | 4172 | var df_room_ids = ""; |
| 4120 | 4173 | ||
| 4121 | 4174 | ||
| 4175 | + //此单的组合活动汇总 | ||
| 4176 | + var zh_map_count={}; | ||
| 4122 | var check_map = {}; | 4177 | var check_map = {}; |
| 4123 | let groupchat_ids=[] | 4178 | let groupchat_ids=[] |
| 4124 | //-------------让商品添加到商品列表-------------------- | 4179 | //-------------让商品添加到商品列表-------------------- |
| @@ -4179,6 +4234,7 @@ Page({ | @@ -4179,6 +4234,7 @@ Page({ | ||
| 4179 | case 7: | 4234 | case 7: |
| 4180 | goods.prom_type = 7; | 4235 | goods.prom_type = 7; |
| 4181 | goods.prom_id = g_item.prom_id; | 4236 | goods.prom_id = g_item.prom_id; |
| 4237 | + zh_map_count[g_item.prom_id]= (zh_map_count[g_item.prom_id]?zh_map_count[g_item.prom_id]:0)+goods.goods_num; //汇总一下组合购的活动 | ||
| 4182 | break | 4238 | break |
| 4183 | default: | 4239 | default: |
| 4184 | goods.prom_type = 0; | 4240 | goods.prom_type = 0; |
| @@ -4264,7 +4320,27 @@ Page({ | @@ -4264,7 +4320,27 @@ Page({ | ||
| 4264 | } | 4320 | } |
| 4265 | 4321 | ||
| 4266 | 4322 | ||
| 4267 | - | 4323 | + //-- 如果订单中有组合购,要统计到倍增的情况 --- |
| 4324 | + if(Object.keys(zh_map_count).length){ | ||
| 4325 | + var zhlist=[]; | ||
| 4326 | + | ||
| 4327 | + for (var kf in zh_map_count) { | ||
| 4328 | + | ||
| 4329 | + var zh_act_th=th.data.zhhe_act_map[kf]; | ||
| 4330 | + var ite={zhid:kf,zhnum:1}; | ||
| 4331 | + | ||
| 4332 | + if(zh_act_th.is_bz){ | ||
| 4333 | + if(zh_map_count[kf]>zh_act_th.zhbuyqty){ | ||
| 4334 | + ite.zhnum=zh_map_count[kf]/zh_act_th.zhbuyqty; | ||
| 4335 | + } | ||
| 4336 | + } | ||
| 4337 | + | ||
| 4338 | + zhlist.push(ite); | ||
| 4339 | + | ||
| 4340 | + } | ||
| 4341 | + | ||
| 4342 | + item.zhlist=zhlist; | ||
| 4343 | + } | ||
| 4268 | 4344 | ||
| 4269 | //如果房间号不为空的时候 | 4345 | //如果房间号不为空的时候 |
| 4270 | if (room_ids != "") item.room_ids = ut.sub_last(room_ids); | 4346 | if (room_ids != "") item.room_ids = ut.sub_last(room_ids); |
| @@ -4364,6 +4440,8 @@ Page({ | @@ -4364,6 +4440,8 @@ Page({ | ||
| 4364 | } | 4440 | } |
| 4365 | 4441 | ||
| 4366 | var str = JSON.stringify(pdata); | 4442 | var str = JSON.stringify(pdata); |
| 4443 | + console.log(str,'aaaaaaaaaaaaaaa'); | ||
| 4444 | + //return false; | ||
| 4367 | 4445 | ||
| 4368 | wx.showLoading({ title: "加载中" }); | 4446 | wx.showLoading({ title: "加载中" }); |
| 4369 | th.setData({ submit: 1, }) | 4447 | th.setData({ submit: 1, }) |
| @@ -5545,50 +5623,96 @@ Page({ | @@ -5545,50 +5623,96 @@ Page({ | ||
| 5545 | return !check; | 5623 | return !check; |
| 5546 | }, | 5624 | }, |
| 5547 | //立即购买获取优惠活动的内容 | 5625 | //立即购买获取优惠活动的内容 |
| 5548 | - buy_now_prom_goods: function (prom_id, arr, func) { | 5626 | + buy_now_prom_goods: async function (prom_id, arr, func) { |
| 5549 | var th = this; | 5627 | var th = this; |
| 5550 | var price = arr.shop_price * arr.goods_num; | 5628 | var price = arr.shop_price * arr.goods_num; |
| 5551 | var prom = null; | 5629 | var prom = null; |
| 5552 | var gg = to.get_b_now(); | 5630 | var gg = to.get_b_now(); |
| 5553 | - getApp().request.promiseGet("/api/weshop/promgoods/get/" + os.stoid + "/" + prom_id, {}).then(res => { | 5631 | + getApp().request.promiseGet("/api/weshop/promgoods/get/" + os.stoid + "/" + prom_id, {}).then( async res => { |
| 5554 | 5632 | ||
| 5555 | if (res.data.code == 0) { | 5633 | if (res.data.code == 0) { |
| 5556 | prom = res.data.data; | 5634 | prom = res.data.data; |
| 5557 | - let min_value = 0 | ||
| 5558 | - if (prom && prom.is_xz_yh) { | ||
| 5559 | - let arr = prom.promGoodsList || [] | ||
| 5560 | - arr.map(item => { | ||
| 5561 | - if (min_value) { | ||
| 5562 | - min_value = item.condition | ||
| 5563 | - } else { | ||
| 5564 | - if (min_value < item.condition) { | ||
| 5565 | - min_value = item.condition | 5635 | + if(prom && prom.limit_num*1){ |
| 5636 | + let user_pre_buynum=await th.getUserBuyPromNum_pre(prom.id) | ||
| 5637 | + if (user_pre_buynum>=prom.limit_num) { | ||
| 5638 | + arr.prom_price=null; | ||
| 5639 | + arr.prom_id=""; | ||
| 5640 | + arr.prom_type=""; | ||
| 5641 | + if(prom.is_xz_yh){ | ||
| 5642 | + arr.is_xz_yh=prom.is_xz_yh | ||
| 5643 | + } | ||
| 5644 | + func(arr); | ||
| 5645 | + }else{ | ||
| 5646 | + let min_value = 0 | ||
| 5647 | + if (prom && prom.is_xz_yh) { | ||
| 5648 | + let arr = prom.promGoodsList || [] | ||
| 5649 | + arr.map(item => { | ||
| 5650 | + if (min_value) { | ||
| 5651 | + min_value = item.condition | ||
| 5652 | + } else { | ||
| 5653 | + if (min_value < item.condition) { | ||
| 5654 | + min_value = item.condition | ||
| 5655 | + } | ||
| 5656 | + } | ||
| 5657 | + }) | ||
| 5658 | + if (arr.length > 0) { | ||
| 5659 | + if (arr[0].prom_type == 0) { | ||
| 5660 | + if (price < min_value) { | ||
| 5661 | + prom.is_xz_yh = 0 | ||
| 5662 | + } | ||
| 5663 | + } else { | ||
| 5664 | + if (arr.goods_num < min_value) { | ||
| 5665 | + prom.is_xz_yh = 0 | ||
| 5666 | + } | ||
| 5667 | + } | ||
| 5566 | } | 5668 | } |
| 5567 | } | 5669 | } |
| 5568 | - }) | ||
| 5569 | - if (arr.length > 0) { | ||
| 5570 | - if (arr[0].prom_type == 0) { | ||
| 5571 | - if (price < min_value) { | ||
| 5572 | - prom.is_xz_yh = 0 | 5670 | + return getApp().request.promiseGet("/api/weshop/goods/getDiscount", { |
| 5671 | + data: { | ||
| 5672 | + price: parseFloat(price).toFixed(2), | ||
| 5673 | + prom_id: prom_id, | ||
| 5674 | + goods_num: arr.goods_num, | ||
| 5675 | + user_id: getApp().globalData.user_id, | ||
| 5676 | + is_bz: prom.is_bz | ||
| 5573 | } | 5677 | } |
| 5574 | - } else { | ||
| 5575 | - if (arr.goods_num < min_value) { | ||
| 5576 | - prom.is_xz_yh = 0 | 5678 | + }) |
| 5679 | + } | ||
| 5680 | + }else{ | ||
| 5681 | + let min_value = 0 | ||
| 5682 | + if (prom && prom.is_xz_yh) { | ||
| 5683 | + let arr = prom.promGoodsList || [] | ||
| 5684 | + arr.map(item => { | ||
| 5685 | + if (min_value) { | ||
| 5686 | + min_value = item.condition | ||
| 5687 | + } else { | ||
| 5688 | + if (min_value < item.condition) { | ||
| 5689 | + min_value = item.condition | ||
| 5690 | + } | ||
| 5691 | + } | ||
| 5692 | + }) | ||
| 5693 | + if (arr.length > 0) { | ||
| 5694 | + if (arr[0].prom_type == 0) { | ||
| 5695 | + if (price < min_value) { | ||
| 5696 | + prom.is_xz_yh = 0 | ||
| 5697 | + } | ||
| 5698 | + } else { | ||
| 5699 | + if (arr.goods_num < min_value) { | ||
| 5700 | + prom.is_xz_yh = 0 | ||
| 5701 | + } | ||
| 5577 | } | 5702 | } |
| 5578 | } | 5703 | } |
| 5579 | } | 5704 | } |
| 5705 | + //------------------- | ||
| 5706 | + return getApp().request.promiseGet("/api/weshop/goods/getDiscount", { | ||
| 5707 | + data: { | ||
| 5708 | + price: parseFloat(price).toFixed(2), | ||
| 5709 | + prom_id: prom_id, | ||
| 5710 | + goods_num: arr.goods_num, | ||
| 5711 | + user_id: getApp().globalData.user_id, | ||
| 5712 | + is_bz: prom.is_bz | ||
| 5713 | + } | ||
| 5714 | + }) | ||
| 5580 | } | 5715 | } |
| 5581 | - | ||
| 5582 | - //------------------- | ||
| 5583 | - return getApp().request.promiseGet("/api/weshop/goods/getDiscount", { | ||
| 5584 | - data: { | ||
| 5585 | - price: parseFloat(price).toFixed(2), | ||
| 5586 | - prom_id: prom_id, | ||
| 5587 | - goods_num: arr.goods_num, | ||
| 5588 | - user_id: getApp().globalData.user_id, | ||
| 5589 | - is_bz: prom.is_bz | ||
| 5590 | - } | ||
| 5591 | - }) | ||
| 5592 | } else { | 5716 | } else { |
| 5593 | func(arr); | 5717 | func(arr); |
| 5594 | } | 5718 | } |
| @@ -5660,6 +5784,38 @@ Page({ | @@ -5660,6 +5784,38 @@ Page({ | ||
| 5660 | func(arr); | 5784 | func(arr); |
| 5661 | }) | 5785 | }) |
| 5662 | }, | 5786 | }, |
| 5787 | + //优惠促销用户参与次数 | ||
| 5788 | + async getUserBuyPromNum_pre(prom_id){ | ||
| 5789 | + var userInfo = getApp().globalData.userInfo; | ||
| 5790 | + var url = `/api/weshop/ordergoods/getUserBuyPromNum?is_all=1&store_id=${os.stoid}&user_id=${userInfo.user_id}&prom_type=3&prom_id=${prom_id}`; | ||
| 5791 | + let res = await getApp().request.promiseGet(url, { | ||
| 5792 | + data:{} | ||
| 5793 | + }); | ||
| 5794 | + let user_pre_buynum=0 | ||
| 5795 | + if(res.data.code==0 && res.data.data){ | ||
| 5796 | + user_pre_buynum=res.data.data.userbuynum | ||
| 5797 | + } | ||
| 5798 | + return user_pre_buynum | ||
| 5799 | + }, | ||
| 5800 | + //获取优惠活动 | ||
| 5801 | + async getprom(item){ | ||
| 5802 | + | ||
| 5803 | + let prom_id=item.prom_id | ||
| 5804 | + let pickup_id=item.pick_id | ||
| 5805 | + let limit_num=0 | ||
| 5806 | + await getApp().request.promiseGet("/api/weshop/promgoods/get/" + oo.stoid + "/" + prom_id, {}).then(res => { | ||
| 5807 | + if (res.data.code == 0) { | ||
| 5808 | + let prom = res.data.data; | ||
| 5809 | + limit_num =prom.limit_num | ||
| 5810 | + let yh_is_xz_yh=this.data.yh_is_xz_yh | ||
| 5811 | + yh_is_xz_yh[pickup_id]=prom.is_xz_yh | ||
| 5812 | + this.setData({ | ||
| 5813 | + ['yh_is_xz_yh']:yh_is_xz_yh | ||
| 5814 | + }) | ||
| 5815 | + } | ||
| 5816 | + }) | ||
| 5817 | + return limit_num | ||
| 5818 | + }, | ||
| 5663 | //--检查订单优惠-- | 5819 | //--检查订单优惠-- |
| 5664 | check_is_order_prom: function (condition, func, pick) { | 5820 | check_is_order_prom: function (condition, func, pick) { |
| 5665 | var th = this; | 5821 | var th = this; |
| @@ -5682,7 +5838,7 @@ Page({ | @@ -5682,7 +5838,7 @@ Page({ | ||
| 5682 | var pickid = item.pick_id; | 5838 | var pickid = item.pick_id; |
| 5683 | var map = th.data.prom_goods_map; | 5839 | var map = th.data.prom_goods_map; |
| 5684 | var obj = map[pickid]; | 5840 | var obj = map[pickid]; |
| 5685 | - | 5841 | + |
| 5686 | if (map[pickid]) { | 5842 | if (map[pickid]) { |
| 5687 | if (map[pickid][item.prom_id]) { | 5843 | if (map[pickid][item.prom_id]) { |
| 5688 | 5844 | ||
| @@ -5701,6 +5857,7 @@ Page({ | @@ -5701,6 +5857,7 @@ Page({ | ||
| 5701 | 5857 | ||
| 5702 | } else { | 5858 | } else { |
| 5703 | var prom = null; | 5859 | var prom = null; |
| 5860 | + | ||
| 5704 | await getApp().request.promiseGet("/api/weshop/promgoods/get/" + os.stoid + "/" + item.prom_id, {}).then(res => { | 5861 | await getApp().request.promiseGet("/api/weshop/promgoods/get/" + os.stoid + "/" + item.prom_id, {}).then(res => { |
| 5705 | if (res.data.code == 0) { | 5862 | if (res.data.code == 0) { |
| 5706 | prom = res.data.data; | 5863 | prom = res.data.data; |
| @@ -5745,6 +5902,7 @@ Page({ | @@ -5745,6 +5902,7 @@ Page({ | ||
| 5745 | } else { | 5902 | } else { |
| 5746 | var ob = {}; | 5903 | var ob = {}; |
| 5747 | var prom = null; | 5904 | var prom = null; |
| 5905 | + | ||
| 5748 | await getApp().request.promiseGet("/api/weshop/promgoods/get/" + os.stoid + "/" + item.prom_id, {}).then(res => { | 5906 | await getApp().request.promiseGet("/api/weshop/promgoods/get/" + os.stoid + "/" + item.prom_id, {}).then(res => { |
| 5749 | if (res.data.code == 0) { | 5907 | if (res.data.code == 0) { |
| 5750 | prom = res.data.data; | 5908 | prom = res.data.data; |
packageE/pages/cart/cart2/cart2.wxml
| @@ -241,7 +241,7 @@ | @@ -241,7 +241,7 @@ | ||
| 241 | </view> | 241 | </view> |
| 242 | 242 | ||
| 243 | <!-----使用优惠券------> | 243 | <!-----使用优惠券------> |
| 244 | - <view class="xc-coupon-frame flex-center" data-bn="0" bindtap="open_coupon_list" wx:if="{{(item.quan_list && item.quan_list.length>0) || get_by_quan_list_cart[item.pickup_id]!=null && item.can_num>0}}" data-cind="{{pidx}}" data-pickid="{{item.pickup_id}}"> | 244 | + <view class="xc-coupon-frame flex-center" data-bn="0" bindtap="open_coupon_list" wx:if="{{!(yh_is_xz_yh[item.pickup_id]) && ((item.quan_list && item.quan_list.length>0 ) || get_by_quan_list_cart[item.pickup_id]!=null && item.can_num>0)}}" data-cind="{{pidx}}" data-pickid="{{item.pickup_id}}"> |
| 245 | <view class="work-frame flex-space-between"> | 245 | <view class="work-frame flex-space-between"> |
| 246 | <view class="work">优惠券<text class="quan_num_show fs20">{{item.can_num}}张可用</text></view> | 246 | <view class="work">优惠券<text class="quan_num_show fs20">{{item.can_num}}张可用</text></view> |
| 247 | <view class="xc-right-frame"> | 247 | <view class="xc-right-frame"> |
packageE/pages/cart/cart2/ladder_calculate.js
| @@ -43,6 +43,7 @@ module.exports = { | @@ -43,6 +43,7 @@ module.exports = { | ||
| 43 | for (var j = 0; j < item.cart_num; j++) { | 43 | for (var j = 0; j < item.cart_num; j++) { |
| 44 | no_in_arr.push({ | 44 | no_in_arr.push({ |
| 45 | price: item.goods_price, | 45 | price: item.goods_price, |
| 46 | + goods_market_price:item.goods_market_price, | ||
| 46 | offline_price: item.offline_price, | 47 | offline_price: item.offline_price, |
| 47 | goods_id: item.goods_id, | 48 | goods_id: item.goods_id, |
| 48 | shop_price: item.shop_price, | 49 | shop_price: item.shop_price, |
| @@ -65,7 +66,7 @@ module.exports = { | @@ -65,7 +66,7 @@ module.exports = { | ||
| 65 | if (no_in_arr.length == 0) break; | 66 | if (no_in_arr.length == 0) break; |
| 66 | let item_j =ladder_list[j]; | 67 | let item_j =ladder_list[j]; |
| 67 | var end = no_in_arr.pop(); | 68 | var end = no_in_arr.pop(); |
| 68 | - var new_price = parseInt(item_j.discount_field) == 1 ? end.shop_price : end.price; | 69 | + var new_price = parseInt(item_j.discount_field) == 2?end.goods_market_price:(parseInt(item_j.discount_field) == 1 ? end.shop_price : end.price); |
| 69 | var account=new_price * parseFloat(item_j.discount) / 10; | 70 | var account=new_price * parseFloat(item_j.discount) / 10; |
| 70 | aprice +=account; | 71 | aprice +=account; |
| 71 | 72 | ||
| @@ -240,7 +241,6 @@ module.exports = { | @@ -240,7 +241,6 @@ module.exports = { | ||
| 240 | } | 241 | } |
| 241 | } | 242 | } |
| 242 | 243 | ||
| 243 | - | ||
| 244 | } | 244 | } |
| 245 | } | 245 | } |
| 246 | 246 |
packageE/pages/cart/cart2/zh_calculate.js
| @@ -148,107 +148,118 @@ module.exports = { | @@ -148,107 +148,118 @@ module.exports = { | ||
| 148 | no_in_arr.pop(); | 148 | no_in_arr.pop(); |
| 149 | } | 149 | } |
| 150 | } | 150 | } |
| 151 | + | ||
| 151 | //看一下剩下的数量有没有满足组合购的要求,以及要不要倍增 | 152 | //看一下剩下的数量有没有满足组合购的要求,以及要不要倍增 |
| 152 | if (act.is_bz && no_in_arr.length >= act.zhbuyqty) { | 153 | if (act.is_bz && no_in_arr.length >= act.zhbuyqty) { |
| 153 | var bz_num_ok = 0; //超量倍增是否满足 | 154 | var bz_num_ok = 0; //超量倍增是否满足 |
| 154 | var zhqty_len = 0; //几个超量倍增 | 155 | var zhqty_len = 0; //几个超量倍增 |
| 155 | var delete_num=0; | 156 | var delete_num=0; |
| 156 | - let be = parseInt(no_in_arr.length / act.zhbuyqty); //看一下是几倍 | ||
| 157 | - if (act.is_bzyh && zhqty_bz.length > 0) { | ||
| 158 | - if (zhqty_bz.length > 1) { | ||
| 159 | - let zhqty_bz_arr = []; | ||
| 160 | - let zhqty_bz_flag=this.zhqty_bz_fun(zhqty_bz,be,zhqty_bz_arr); | ||
| 161 | - if (zhqty_bz_flag) { | ||
| 162 | - for (let i = 0; i < zhqty_bz.length; i++) { | ||
| 163 | - var vv = zhqty_bz[i]; | ||
| 164 | - for (let j = 0; j < be * vv['zhqty']; j++) { | ||
| 165 | - let index = no_in_arr.findIndex(i => { | ||
| 166 | - return vv.goods_id === i.goods_id | ||
| 167 | - }) | ||
| 168 | - if (index > -1) { | ||
| 169 | - delete_num++ | ||
| 170 | - no_in_arr.splice(index, 1) | 157 | + |
| 158 | + //看一下是几倍 | ||
| 159 | + let be = parseInt(no_in_arr.length / act.zhbuyqty); | ||
| 160 | + //如果有总数控制的时候 | ||
| 161 | + if(act.zh_num){ | ||
| 162 | + var be1=act.zh_num-act.zh_buy_num-1; | ||
| 163 | + if(be1<be) be=be1; | ||
| 164 | + } | ||
| 165 | + | ||
| 166 | + if(be) { | ||
| 167 | + if (act.is_bzyh && zhqty_bz.length > 0) { | ||
| 168 | + if (zhqty_bz.length > 1) { | ||
| 169 | + let zhqty_bz_arr = []; | ||
| 170 | + let zhqty_bz_flag = this.zhqty_bz_fun(zhqty_bz, be, zhqty_bz_arr); | ||
| 171 | + if (zhqty_bz_flag) { | ||
| 172 | + for (let i = 0; i < zhqty_bz.length; i++) { | ||
| 173 | + var vv = zhqty_bz[i]; | ||
| 174 | + for (let j = 0; j < be * vv['zhqty']; j++) { | ||
| 175 | + let index = no_in_arr.findIndex(i => { | ||
| 176 | + return vv.goods_id === i.goods_id | ||
| 177 | + }) | ||
| 178 | + if (index > -1) { | ||
| 179 | + delete_num++ | ||
| 180 | + no_in_arr.splice(index, 1) | ||
| 181 | + } | ||
| 171 | } | 182 | } |
| 172 | } | 183 | } |
| 173 | - } | ||
| 174 | - } else { | ||
| 175 | - zhqty_len=1; | ||
| 176 | - let min_bz_num = Math.min.apply(Math, zhqty_bz_arr.map(function (o) { | ||
| 177 | - return o['num']; | ||
| 178 | - })); | ||
| 179 | - let new_arr = zhqty_bz_arr.filter(ii => { | ||
| 180 | - return ii['num'] == min_bz_num; | ||
| 181 | - }) | ||
| 182 | - var vv = new_arr[0]; | ||
| 183 | - var bz_num = be * new_arr[0].zhqty; //超量倍增 | ||
| 184 | - var num = min_bz_num - new_arr[0].zhqty; //购买数量减去超量 | ||
| 185 | - bz_num_ok = bz_num - num; | ||
| 186 | - if (bz_num_ok <= 0) { | ||
| 187 | - //超量倍增满足,超量倍增就等于倍数 | ||
| 188 | - bz_num_ok = bz_num; | ||
| 189 | } else { | 184 | } else { |
| 190 | - //超量倍增不满足,倍数要减去多出得 | ||
| 191 | - // be=be-bz_num_ok; | ||
| 192 | - if (num % vv.zhqty == 0) { | ||
| 193 | - be = num / vv.zhqty; | 185 | + zhqty_len = 1; |
| 186 | + let min_bz_num = Math.min.apply(Math, zhqty_bz_arr.map(function (o) { | ||
| 187 | + return o['num']; | ||
| 188 | + })); | ||
| 189 | + let new_arr = zhqty_bz_arr.filter(ii => { | ||
| 190 | + return ii['num'] == min_bz_num; | ||
| 191 | + }) | ||
| 192 | + var vv = new_arr[0]; | ||
| 193 | + var bz_num = be * new_arr[0].zhqty; //超量倍增 | ||
| 194 | + var num = min_bz_num - new_arr[0].zhqty; //购买数量减去超量 | ||
| 195 | + bz_num_ok = bz_num - num; | ||
| 196 | + if (bz_num_ok <= 0) { | ||
| 197 | + //超量倍增满足,超量倍增就等于倍数 | ||
| 198 | + bz_num_ok = bz_num; | ||
| 194 | } else { | 199 | } else { |
| 195 | - be = Math.floor(num / vv.zhqty) | 200 | + //超量倍增不满足,倍数要减去多出得 |
| 201 | + // be=be-bz_num_ok; | ||
| 202 | + if (num % vv.zhqty == 0) { | ||
| 203 | + be = num / vv.zhqty; | ||
| 204 | + } else { | ||
| 205 | + be = Math.floor(num / vv.zhqty) | ||
| 206 | + } | ||
| 207 | + bz_num_ok = be * vv.zhqty; | ||
| 208 | + } | ||
| 209 | + | ||
| 210 | + for (let i = 0; i < zhqty_bz.length; i++) { | ||
| 211 | + let item1 = zhqty_bz[i]; | ||
| 212 | + for (let j = 0; j < be * item1['zhqty']; j++) { | ||
| 213 | + let index = no_in_arr.findIndex(i => { | ||
| 214 | + return item1.goods_id === i.goods_id | ||
| 215 | + }) | ||
| 216 | + if (index > -1) { | ||
| 217 | + // delete_num++ | ||
| 218 | + no_in_arr.splice(index, 1) | ||
| 219 | + } | ||
| 220 | + } | ||
| 196 | } | 221 | } |
| 197 | - bz_num_ok = be * vv.zhqty; | 222 | + aprice += be * aprice; |
| 198 | } | 223 | } |
| 199 | - | ||
| 200 | - for(let i = 0; i < zhqty_bz.length; i++){ | ||
| 201 | - let item1=zhqty_bz[i]; | ||
| 202 | - for (let j = 0; j < be * item1['zhqty']; j++) { | 224 | + } else { |
| 225 | + var vv = zhqty_bz[0]; | ||
| 226 | + var bz_num = be * vv.zhqty; //超量倍增 | ||
| 227 | + var num = vv['num'] - vv.zhqty; //购买数量减去超量 | ||
| 228 | + if (num > 0) { | ||
| 229 | + bz_num_ok = bz_num - num; | ||
| 230 | + if (bz_num_ok <= 0) { | ||
| 231 | + //超量倍增满足,超量倍增就等于倍数 | ||
| 232 | + bz_num_ok = bz_num; | ||
| 233 | + } else { | ||
| 234 | + //超量倍增不满足,倍数要减去多出得 | ||
| 235 | + // be=be-bz_num_ok; | ||
| 236 | + if (num % vv.zhqty == 0) { | ||
| 237 | + be = num / vv.zhqty; | ||
| 238 | + } else { | ||
| 239 | + be = Math.floor(num / vv.zhqty) | ||
| 240 | + } | ||
| 241 | + bz_num_ok = be * vv.zhqty; | ||
| 242 | + } | ||
| 243 | + for (let j = 0; j < bz_num_ok; j++) { | ||
| 203 | let index = no_in_arr.findIndex(i => { | 244 | let index = no_in_arr.findIndex(i => { |
| 204 | - return item1.goods_id === i.goods_id | 245 | + return vv.goods_id === i.goods_id |
| 205 | }) | 246 | }) |
| 206 | if (index > -1) { | 247 | if (index > -1) { |
| 207 | - // delete_num++ | 248 | + delete_num++ |
| 208 | no_in_arr.splice(index, 1) | 249 | no_in_arr.splice(index, 1) |
| 209 | } | 250 | } |
| 210 | } | 251 | } |
| 211 | - } | ||
| 212 | - aprice += be * aprice; | ||
| 213 | - } | ||
| 214 | - } else { | ||
| 215 | - var vv = zhqty_bz[0]; | ||
| 216 | - var bz_num = be * vv.zhqty; //超量倍增 | ||
| 217 | - var num = vv['num'] - vv.zhqty; //购买数量减去超量 | ||
| 218 | - if (num > 0) { | ||
| 219 | - bz_num_ok = bz_num - num; | ||
| 220 | - if (bz_num_ok <= 0) { | ||
| 221 | - //超量倍增满足,超量倍增就等于倍数 | ||
| 222 | - bz_num_ok = bz_num; | ||
| 223 | } else { | 252 | } else { |
| 224 | - //超量倍增不满足,倍数要减去多出得 | ||
| 225 | - // be=be-bz_num_ok; | ||
| 226 | - if (num % vv.zhqty == 0) { | ||
| 227 | - be = num / vv.zhqty; | ||
| 228 | - } else { | ||
| 229 | - be = Math.floor(num / vv.zhqty) | ||
| 230 | - } | ||
| 231 | - bz_num_ok = be * vv.zhqty; | ||
| 232 | - } | ||
| 233 | - for (let j = 0; j < bz_num_ok; j++) { | ||
| 234 | - let index = no_in_arr.findIndex(i => { | ||
| 235 | - return vv.goods_id === i.goods_id | ||
| 236 | - }) | ||
| 237 | - if (index > -1) { | ||
| 238 | - delete_num++ | ||
| 239 | - no_in_arr.splice(index, 1) | ||
| 240 | - } | 253 | + zhqty_len = 1; |
| 241 | } | 254 | } |
| 242 | - } else { | ||
| 243 | - zhqty_len = 1; | ||
| 244 | } | 255 | } |
| 245 | } | 256 | } |
| 246 | - } | ||
| 247 | - if (!zhqty_len) { | ||
| 248 | - aprice += be * act.zhprice; | ||
| 249 | - let pop_num = be * act.zhbuyqty - delete_num; | ||
| 250 | - for (var m = 0; m < pop_num; m++) { | ||
| 251 | - no_in_arr.pop(); | 257 | + if (!zhqty_len) { |
| 258 | + aprice += be * act.zhprice; | ||
| 259 | + let pop_num = be * act.zhbuyqty - delete_num; | ||
| 260 | + for (var m = 0; m < pop_num; m++) { | ||
| 261 | + no_in_arr.pop(); | ||
| 262 | + } | ||
| 252 | } | 263 | } |
| 253 | } | 264 | } |
| 254 | 265 |
packageE/pages/user/nick_avatar/nick_avatar.js
| @@ -56,57 +56,60 @@ Page({ | @@ -56,57 +56,60 @@ Page({ | ||
| 56 | save_data() { | 56 | save_data() { |
| 57 | 57 | ||
| 58 | var that=this; | 58 | var that=this; |
| 59 | + setTimeout(()=>{ | ||
| 60 | + if (!this.data.ob.head_pic) { | ||
| 61 | + wx.showToast({ | ||
| 62 | + title: '请选择头像', | ||
| 63 | + icon: 'none', | ||
| 64 | + duration: 2000 | ||
| 65 | + }); | ||
| 66 | + return false; | ||
| 67 | + } | ||
| 59 | 68 | ||
| 60 | - if (!this.data.ob.head_pic) { | ||
| 61 | - wx.showToast({ | ||
| 62 | - title: '请选择头像', | ||
| 63 | - icon: 'none', | ||
| 64 | - duration: 2000 | ||
| 65 | - }); | ||
| 66 | - return false; | ||
| 67 | - } | ||
| 68 | - | ||
| 69 | - if (!this.data.ob.nickname) { | ||
| 70 | - wx.showToast({ | ||
| 71 | - title: '请输入昵称', | ||
| 72 | - icon: 'none', | ||
| 73 | - duration: 2000 | 69 | + if (!this.data.ob.nickname) { |
| 70 | + wx.showToast({ | ||
| 71 | + title: '请输入昵称', | ||
| 72 | + icon: 'none', | ||
| 73 | + duration: 2000 | ||
| 74 | + }); | ||
| 75 | + return false; | ||
| 76 | + } | ||
| 77 | + | ||
| 78 | + if (this.data.load) return false; | ||
| 79 | + this.setData({load: 1}) | ||
| 80 | + | ||
| 81 | + wx.showLoading(); | ||
| 82 | + | ||
| 83 | + getApp().request.put("/api/weshop/users/update", { | ||
| 84 | + data: { | ||
| 85 | + store_id: os.stoid, | ||
| 86 | + user_id: getApp().globalData.user_id, | ||
| 87 | + nickname: this.data.ob.nickname, | ||
| 88 | + head_pic: this.data.ob.head_pic | ||
| 89 | + | ||
| 90 | + }, | ||
| 91 | + success: function (su) { | ||
| 92 | + | ||
| 93 | + setTimeout(()=>{ | ||
| 94 | + wx.hideLoading(); | ||
| 95 | + if (su.data.code == 0) { | ||
| 96 | + wx.navigateBack({delta: 1}) | ||
| 97 | + }else{ | ||
| 98 | + that.setData({load: 0}) | ||
| 99 | + wx.showToast({ | ||
| 100 | + title: su.data.msg, | ||
| 101 | + icon: 'none', | ||
| 102 | + duration: 2000 | ||
| 103 | + }); | ||
| 104 | + } | ||
| 105 | + },1000) | ||
| 106 | + | ||
| 107 | + | ||
| 108 | + } | ||
| 74 | }); | 109 | }); |
| 75 | - return false; | ||
| 76 | - } | ||
| 77 | - | ||
| 78 | - if (this.data.load) return false; | ||
| 79 | - this.setData({load: 1}) | ||
| 80 | - | ||
| 81 | - | ||
| 82 | - wx.showLoading(); | ||
| 83 | - getApp().request.put("/api/weshop/users/update", { | ||
| 84 | - data: { | ||
| 85 | - store_id: os.stoid, | ||
| 86 | - user_id: getApp().globalData.user_id, | ||
| 87 | - nickname: this.data.ob.nickname, | ||
| 88 | - head_pic: this.data.ob.head_pic | ||
| 89 | - | ||
| 90 | - }, | ||
| 91 | - success: function (su) { | ||
| 92 | - | ||
| 93 | - setTimeout(()=>{ | ||
| 94 | - wx.hideLoading(); | ||
| 95 | - if (su.data.code == 0) { | ||
| 96 | - wx.navigateBack({delta: 1}) | ||
| 97 | - }else{ | ||
| 98 | - that.setData({load: 0}) | ||
| 99 | - wx.showToast({ | ||
| 100 | - title: su.data.msg, | ||
| 101 | - icon: 'none', | ||
| 102 | - duration: 2000 | ||
| 103 | - }); | ||
| 104 | - } | ||
| 105 | - },1000) | 110 | + },500) |
| 106 | 111 | ||
| 107 | 112 | ||
| 108 | - } | ||
| 109 | - }); | ||
| 110 | } | 113 | } |
| 111 | 114 | ||
| 112 | 115 |
pages/cart/cart/cart.js
| @@ -548,7 +548,80 @@ Page({ | @@ -548,7 +548,80 @@ Page({ | ||
| 548 | }) | 548 | }) |
| 549 | item.goods_num = cbuy; | 549 | item.goods_num = cbuy; |
| 550 | } | 550 | } |
| 551 | - | 551 | + |
| 552 | + //-- 如果有优惠促销,和阶梯促销,要看下有没有组合购,搭配购,看一下优惠促销和阶梯促销谁是指定商品参与的 -- | ||
| 553 | + if(item.prom_type==0 || item.prom_type==3 || item.prom_type==10){ | ||
| 554 | + | ||
| 555 | + var c_prom_type=0; | ||
| 556 | + var c_prom_id=0; | ||
| 557 | + | ||
| 558 | + //因为有全场优惠活动,商品参加的活动还未开始 | ||
| 559 | + var url_ch_more_act = "/api/weshop/activitylist/getGoodActInfo"; | ||
| 560 | + var req_data_m = { | ||
| 561 | + store_id: os.stoid, goodsidlist: item.goods_id, is_detail: 1, user_id: user_id | ||
| 562 | + }; | ||
| 563 | + await getApp().request.promiseGet(url_ch_more_act, { data: req_data_m }).then(async function (res) { | ||
| 564 | + if (res.data.code == 0 && res.data.data && res.data.data.length) { | ||
| 565 | + //-- 先看一下有没有组合购 -- | ||
| 566 | + var zh_fd=res.data.data.filter(function (e) { | ||
| 567 | + return e.prom_type==7; | ||
| 568 | + }) | ||
| 569 | + if(zh_fd && zh_fd.length){ | ||
| 570 | + c_prom_type=zh_fd[0].prom_type; | ||
| 571 | + c_prom_id=zh_fd[0].act_id; | ||
| 572 | + return; | ||
| 573 | + } | ||
| 574 | + | ||
| 575 | + //-- 先看一下有没有搭配购 -- | ||
| 576 | + var dp_fd=res.data.data.filter(function (e) { | ||
| 577 | + return e.prom_type==5; | ||
| 578 | + }) | ||
| 579 | + if(dp_fd && dp_fd.length){ | ||
| 580 | + c_prom_type=dp_fd[0].prom_type; | ||
| 581 | + c_prom_id=dp_fd[0].act_id; | ||
| 582 | + return; | ||
| 583 | + } | ||
| 584 | + | ||
| 585 | + //-- 先看一下有没有指定优惠促销 -- | ||
| 586 | + var yh_fd=res.data.data.filter(function (e) { | ||
| 587 | + return e.prom_type==3 && e.good_object==1; | ||
| 588 | + }) | ||
| 589 | + if(yh_fd && yh_fd.length){ | ||
| 590 | + c_prom_type=yh_fd[0].prom_type; | ||
| 591 | + c_prom_id=yh_fd[0].act_id; | ||
| 592 | + return; | ||
| 593 | + } | ||
| 594 | + | ||
| 595 | + //-- 先看一下有没有指定阶梯促销 -- | ||
| 596 | + var jt_fd=res.data.data.filter(function (e) { | ||
| 597 | + return e.prom_type==10 && e.good_object==1; | ||
| 598 | + }) | ||
| 599 | + if(jt_fd && jt_fd.length){ | ||
| 600 | + c_prom_type=jt_fd[0].prom_type; | ||
| 601 | + c_prom_id=jt_fd[0].act_id; | ||
| 602 | + } | ||
| 603 | + | ||
| 604 | + } | ||
| 605 | + }) | ||
| 606 | + | ||
| 607 | + if(c_prom_type && (c_prom_type!=item.prom_type || c_prom_id!=item.prom_id )){ | ||
| 608 | + item.prom_type=c_prom_type; | ||
| 609 | + item.prom_id=c_prom_id; | ||
| 610 | + //-- 购物车更新 -- | ||
| 611 | + var updata1 = { | ||
| 612 | + id: item.id, | ||
| 613 | + prom_type: c_prom_type, | ||
| 614 | + prom_id:c_prom_id, | ||
| 615 | + store_id: os.stoid, | ||
| 616 | + user_id: getApp().globalData.userInfo.user_id | ||
| 617 | + }; | ||
| 618 | + getApp().request.put("/api/weshop/cart/update", { | ||
| 619 | + data: updata1, | ||
| 620 | + }) | ||
| 621 | + } | ||
| 622 | + | ||
| 623 | + } | ||
| 624 | + | ||
| 552 | //判断如果是普通商品,后面参加活动了,变成失效商品 | 625 | //判断如果是普通商品,后面参加活动了,变成失效商品 |
| 553 | if (item.prom_type == 0 ) { | 626 | if (item.prom_type == 0 ) { |
| 554 | 627 | ||
| @@ -838,6 +911,10 @@ Page({ | @@ -838,6 +911,10 @@ Page({ | ||
| 838 | if (ut.gettimestamp() < res.data.data.start_time) { | 911 | if (ut.gettimestamp() < res.data.data.start_time) { |
| 839 | isok = 0; | 912 | isok = 0; |
| 840 | } | 913 | } |
| 914 | + if(res.data.data.zh_num>0 && res.data.data.zh_num<=res.data.data.zh_buy_num){ | ||
| 915 | + isok = 0; | ||
| 916 | + } | ||
| 917 | + | ||
| 841 | act = res.data.data; | 918 | act = res.data.data; |
| 842 | 919 | ||
| 843 | } else { | 920 | } else { |
| @@ -3837,12 +3914,19 @@ Page({ | @@ -3837,12 +3914,19 @@ Page({ | ||
| 3837 | if (th.data.promgoods_map[p_item[0]]) { | 3914 | if (th.data.promgoods_map[p_item[0]]) { |
| 3838 | prom = th.data.promgoods_map[p_item[0]]; | 3915 | prom = th.data.promgoods_map[p_item[0]]; |
| 3839 | } else { | 3916 | } else { |
| 3917 | + | ||
| 3840 | await getApp().request.promiseGet("/api/weshop/promgoods/get/" + os.stoid + "/" + p_item[0], {}).then(res => { | 3918 | await getApp().request.promiseGet("/api/weshop/promgoods/get/" + os.stoid + "/" + p_item[0], {}).then(res => { |
| 3841 | if (res.data.code == 0) { | 3919 | if (res.data.code == 0) { |
| 3842 | prom = res.data.data; | 3920 | prom = res.data.data; |
| 3843 | } | 3921 | } |
| 3844 | }) | 3922 | }) |
| 3845 | } | 3923 | } |
| 3924 | + let limit_num=0 | ||
| 3925 | + let user_pre_buynum=0 | ||
| 3926 | + if (prom && prom.limit_num) { | ||
| 3927 | + limit_num=prom.limit_num; | ||
| 3928 | + user_pre_buynum = await this.getUserBuyPromNum_pre(prom.id) | ||
| 3929 | + } | ||
| 3846 | //如果活动已经结束 | 3930 | //如果活动已经结束 |
| 3847 | if (!prom || prom.is_end || prom.end_time < ut.gettimestamp()) { | 3931 | if (!prom || prom.is_end || prom.end_time < ut.gettimestamp()) { |
| 3848 | for (var ii in list.goods) { | 3932 | for (var ii in list.goods) { |
| @@ -3856,7 +3940,7 @@ Page({ | @@ -3856,7 +3940,7 @@ Page({ | ||
| 3856 | } | 3940 | } |
| 3857 | continue; | 3941 | continue; |
| 3858 | } | 3942 | } |
| 3859 | - | 3943 | + |
| 3860 | if (!th.data.promgoods_map[p_item[0]]) th.data.promgoods_map[p_item[0]] = prom; | 3944 | if (!th.data.promgoods_map[p_item[0]]) th.data.promgoods_map[p_item[0]] = prom; |
| 3861 | //---读取打折的详情--- | 3945 | //---读取打折的详情--- |
| 3862 | var ob = p_item[1]; | 3946 | var ob = p_item[1]; |
| @@ -3880,36 +3964,37 @@ Page({ | @@ -3880,36 +3964,37 @@ Page({ | ||
| 3880 | if (!promgoods_list) continue; | 3964 | if (!promgoods_list) continue; |
| 3881 | th.data.promgoods_list[p_item[0]] = promgoods_list; | 3965 | th.data.promgoods_list[p_item[0]] = promgoods_list; |
| 3882 | } | 3966 | } |
| 3883 | - | ||
| 3884 | - for (var i in promgoods_list) { | ||
| 3885 | - var item = promgoods_list[i]; | ||
| 3886 | - if (item.prom_type == 0) { | ||
| 3887 | - if (ob.price < item.condition) { | ||
| 3888 | - var elem = { | ||
| 3889 | - prom_id: prom.id, | ||
| 3890 | - diff_type: item.prom_type, | ||
| 3891 | - diff: (item.condition - ob.price).toFixed(2), | ||
| 3892 | - content: JSON.parse(item.preferential_type) | 3967 | + |
| 3968 | + if (!limit_num || user_pre_buynum<limit_num) { | ||
| 3969 | + for (var i in promgoods_list) { | ||
| 3970 | + var item = promgoods_list[i]; | ||
| 3971 | + if (item.prom_type == 0) { | ||
| 3972 | + if (ob.price < item.condition) { | ||
| 3973 | + var elem = { | ||
| 3974 | + prom_id: prom.id, | ||
| 3975 | + diff_type: item.prom_type, | ||
| 3976 | + diff: (item.condition - ob.price).toFixed(2), | ||
| 3977 | + content: JSON.parse(item.preferential_type) | ||
| 3978 | + } | ||
| 3979 | + make_up_arr.push(elem); | ||
| 3980 | + break; | ||
| 3893 | } | 3981 | } |
| 3894 | - make_up_arr.push(elem); | ||
| 3895 | - break; | ||
| 3896 | - } | ||
| 3897 | - } else { | ||
| 3898 | - if (ob.num < item.condition) { | ||
| 3899 | - var elem = { | ||
| 3900 | - prom_id: prom.id, | ||
| 3901 | - diff_type: item.prom_type, | ||
| 3902 | - diff: (item.condition - ob.num).toFixed(2), | ||
| 3903 | - content: JSON.parse(item.preferential_type) | 3982 | + } else { |
| 3983 | + if (ob.num < item.condition) { | ||
| 3984 | + var elem = { | ||
| 3985 | + prom_id: prom.id, | ||
| 3986 | + diff_type: item.prom_type, | ||
| 3987 | + diff: (item.condition - ob.num).toFixed(2), | ||
| 3988 | + content: JSON.parse(item.preferential_type) | ||
| 3989 | + } | ||
| 3990 | + make_up_arr.push(elem); | ||
| 3991 | + break; | ||
| 3904 | } | 3992 | } |
| 3905 | - make_up_arr.push(elem); | ||
| 3906 | - break; | ||
| 3907 | } | 3993 | } |
| 3908 | } | 3994 | } |
| 3909 | } | 3995 | } |
| 3910 | 3996 | ||
| 3911 | 3997 | ||
| 3912 | - | ||
| 3913 | //-- 只有在单赠品的时候,才要进行计算 -- | 3998 | //-- 只有在单赠品的时候,才要进行计算 -- |
| 3914 | await getApp().request.promiseGet("/api/weshop/goods/getDiscount", { | 3999 | await getApp().request.promiseGet("/api/weshop/goods/getDiscount", { |
| 3915 | data: { | 4000 | data: { |
| @@ -4059,7 +4144,19 @@ Page({ | @@ -4059,7 +4144,19 @@ Page({ | ||
| 4059 | } | 4144 | } |
| 4060 | 4145 | ||
| 4061 | }, | 4146 | }, |
| 4062 | - | 4147 | + //优惠促销用户参与次数 |
| 4148 | + async getUserBuyPromNum_pre(prom_id){ | ||
| 4149 | + var userInfo = getApp().globalData.userInfo; | ||
| 4150 | + var url = `/api/weshop/ordergoods/getUserBuyPromNum?store_id=${os.stoid}&user_id=${userInfo.user_id}&prom_type=3&prom_id=${prom_id}`; | ||
| 4151 | + let res = await getApp().request.promiseGet(url, { | ||
| 4152 | + data:{} | ||
| 4153 | + }); | ||
| 4154 | + let user_pre_buynum=0 | ||
| 4155 | + if(res.data.code==0 && res.data.data){ | ||
| 4156 | + user_pre_buynum=res.data.data.userbuynum | ||
| 4157 | + } | ||
| 4158 | + return user_pre_buynum | ||
| 4159 | + }, | ||
| 4063 | async all_check_prom_activity() { | 4160 | async all_check_prom_activity() { |
| 4064 | this.data.duo_zp_num_arr = {}; | 4161 | this.data.duo_zp_num_arr = {}; |
| 4065 | for (var i in this.data.requestData) { | 4162 | for (var i in this.data.requestData) { |
| @@ -4146,6 +4243,12 @@ Page({ | @@ -4146,6 +4243,12 @@ Page({ | ||
| 4146 | } | 4243 | } |
| 4147 | }) | 4244 | }) |
| 4148 | } | 4245 | } |
| 4246 | + let limit_num=0 | ||
| 4247 | + let user_pre_buynum=0 | ||
| 4248 | + if (prom && prom.limit_num) { | ||
| 4249 | + limit_num=prom.limit_num; | ||
| 4250 | + user_pre_buynum = await this.getUserBuyPromNum_pre(prom.id) | ||
| 4251 | + } | ||
| 4149 | //如果活动已经结束 | 4252 | //如果活动已经结束 |
| 4150 | if (!prom || prom.is_end || prom.end_time < ut.gettimestamp()) { | 4253 | if (!prom || prom.is_end || prom.end_time < ut.gettimestamp()) { |
| 4151 | for (var ii in list.goods) { | 4254 | for (var ii in list.goods) { |
| @@ -4159,7 +4262,7 @@ Page({ | @@ -4159,7 +4262,7 @@ Page({ | ||
| 4159 | } | 4262 | } |
| 4160 | continue; | 4263 | continue; |
| 4161 | } | 4264 | } |
| 4162 | - | 4265 | + |
| 4163 | if (!th.data.promgoods_map[p_item[0]]) th.data.promgoods_map[p_item[0]] = prom; | 4266 | if (!th.data.promgoods_map[p_item[0]]) th.data.promgoods_map[p_item[0]] = prom; |
| 4164 | //---读取打折的详情--- | 4267 | //---读取打折的详情--- |
| 4165 | var ob = p_item[1]; | 4268 | var ob = p_item[1]; |
| @@ -4183,30 +4286,31 @@ Page({ | @@ -4183,30 +4286,31 @@ Page({ | ||
| 4183 | if (!promgoods_list) continue; | 4286 | if (!promgoods_list) continue; |
| 4184 | th.data.promgoods_list[p_item[0]] = promgoods_list; | 4287 | th.data.promgoods_list[p_item[0]] = promgoods_list; |
| 4185 | } | 4288 | } |
| 4186 | - | ||
| 4187 | - for (var i in promgoods_list) { | ||
| 4188 | - var item = promgoods_list[i]; | ||
| 4189 | - if (item.prom_type == 0) { | ||
| 4190 | - if (ob.price < item.condition) { | ||
| 4191 | - var elem = { | ||
| 4192 | - prom_id: prom.id, | ||
| 4193 | - diff_type: item.prom_type, | ||
| 4194 | - diff: (item.condition - ob.price).toFixed(2), | ||
| 4195 | - content: JSON.parse(item.preferential_type) | 4289 | + if (!limit_num || user_pre_buynum<limit_num) { |
| 4290 | + for (var i in promgoods_list) { | ||
| 4291 | + var item = promgoods_list[i]; | ||
| 4292 | + if (item.prom_type == 0) { | ||
| 4293 | + if (ob.price < item.condition) { | ||
| 4294 | + var elem = { | ||
| 4295 | + prom_id: prom.id, | ||
| 4296 | + diff_type: item.prom_type, | ||
| 4297 | + diff: (item.condition - ob.price).toFixed(2), | ||
| 4298 | + content: JSON.parse(item.preferential_type) | ||
| 4299 | + } | ||
| 4300 | + make_up_arr.push(elem); | ||
| 4301 | + break; | ||
| 4196 | } | 4302 | } |
| 4197 | - make_up_arr.push(elem); | ||
| 4198 | - break; | ||
| 4199 | - } | ||
| 4200 | - } else { | ||
| 4201 | - if (ob.num < item.condition) { | ||
| 4202 | - var elem = { | ||
| 4203 | - prom_id: prom.id, | ||
| 4204 | - diff_type: item.prom_type, | ||
| 4205 | - diff: (item.condition - ob.num).toFixed(2), | ||
| 4206 | - content: JSON.parse(item.preferential_type) | 4303 | + } else { |
| 4304 | + if (ob.num < item.condition) { | ||
| 4305 | + var elem = { | ||
| 4306 | + prom_id: prom.id, | ||
| 4307 | + diff_type: item.prom_type, | ||
| 4308 | + diff: (item.condition - ob.num).toFixed(2), | ||
| 4309 | + content: JSON.parse(item.preferential_type) | ||
| 4310 | + } | ||
| 4311 | + make_up_arr.push(elem); | ||
| 4312 | + break; | ||
| 4207 | } | 4313 | } |
| 4208 | - make_up_arr.push(elem); | ||
| 4209 | - break; | ||
| 4210 | } | 4314 | } |
| 4211 | } | 4315 | } |
| 4212 | } | 4316 | } |
pages/cart/cart/ladder_calculate.js
| @@ -107,7 +107,7 @@ module.exports = { | @@ -107,7 +107,7 @@ module.exports = { | ||
| 107 | all_num += item.cart_num; | 107 | all_num += item.cart_num; |
| 108 | for (var j = 0; j < item.cart_num; j++) { | 108 | for (var j = 0; j < item.cart_num; j++) { |
| 109 | no_in_arr.push({ | 109 | no_in_arr.push({ |
| 110 | - price: item.goods_price,offline_price:item.offline_price,goods_id:item.goods_id,shop_price:item.shop_price | 110 | + price: item.goods_price,offline_price:item.offline_price,goods_id:item.goods_id,shop_price:item.shop_price,goods_market_price:item.goods_market_price |
| 111 | }) | 111 | }) |
| 112 | } | 112 | } |
| 113 | } | 113 | } |
| @@ -123,7 +123,7 @@ module.exports = { | @@ -123,7 +123,7 @@ module.exports = { | ||
| 123 | if(no_in_arr.length==0) break; | 123 | if(no_in_arr.length==0) break; |
| 124 | let item_j=act.ladder_list[j]; | 124 | let item_j=act.ladder_list[j]; |
| 125 | var end=no_in_arr.pop(); | 125 | var end=no_in_arr.pop(); |
| 126 | - var new_price=parseInt(item_j.discount_field)==1?end.shop_price:end.price; | 126 | + var new_price = parseInt(item_j.discount_field) == 2?end.goods_market_price:(parseInt(item_j.discount_field) == 1 ? end.shop_price : end.price); |
| 127 | aprice+=new_price* parseFloat(item_j.discount)/10; | 127 | aprice+=new_price* parseFloat(item_j.discount)/10; |
| 128 | lev++; | 128 | lev++; |
| 129 | } | 129 | } |
pages/cart/cart/zh_calculate.js
| @@ -239,105 +239,115 @@ module.exports = { | @@ -239,105 +239,115 @@ module.exports = { | ||
| 239 | var delete_num = 0; | 239 | var delete_num = 0; |
| 240 | var zhqty_len = 0; //几个超量倍增 | 240 | var zhqty_len = 0; //几个超量倍增 |
| 241 | var be = parseInt(no_in_arr.length / act.zhbuyqty); //看一下是几倍 | 241 | var be = parseInt(no_in_arr.length / act.zhbuyqty); //看一下是几倍 |
| 242 | - if (act.is_bzyh && zhqty_bz.length > 0) { | ||
| 243 | - if (zhqty_bz.length > 1) { | ||
| 244 | - let zhqty_bz_arr = []; | ||
| 245 | - let zhqty_bz_flag=this.zhqty_bz_fun(zhqty_bz,be,zhqty_bz_arr); | ||
| 246 | - | ||
| 247 | - if (zhqty_bz_flag) { | ||
| 248 | - for (let i = 0; i < zhqty_bz.length; i++) { | ||
| 249 | - var vv = zhqty_bz[i]; | ||
| 250 | - for (let j = 0; j < be * vv['zhqty']; j++) { | ||
| 251 | - let index = no_in_arr.findIndex(i => { | ||
| 252 | - return vv.goods_id === i.goods_id | ||
| 253 | - }) | ||
| 254 | - if (index > -1) { | ||
| 255 | - delete_num++ | ||
| 256 | - no_in_arr.splice(index, 1) | 242 | + |
| 243 | + //如果有总数控制的时候 | ||
| 244 | + if(act.zh_num){ | ||
| 245 | + var be1=act.zh_num-act.zh_buy_num-1; | ||
| 246 | + if(be1<be) be=be1; | ||
| 247 | + } | ||
| 248 | + | ||
| 249 | + if(be){ | ||
| 250 | + if (act.is_bzyh && zhqty_bz.length > 0) { | ||
| 251 | + if (zhqty_bz.length > 1) { | ||
| 252 | + let zhqty_bz_arr = []; | ||
| 253 | + let zhqty_bz_flag=this.zhqty_bz_fun(zhqty_bz,be,zhqty_bz_arr); | ||
| 254 | + | ||
| 255 | + if (zhqty_bz_flag) { | ||
| 256 | + for (let i = 0; i < zhqty_bz.length; i++) { | ||
| 257 | + var vv = zhqty_bz[i]; | ||
| 258 | + for (let j = 0; j < be * vv['zhqty']; j++) { | ||
| 259 | + let index = no_in_arr.findIndex(i => { | ||
| 260 | + return vv.goods_id === i.goods_id | ||
| 261 | + }) | ||
| 262 | + if (index > -1) { | ||
| 263 | + delete_num++ | ||
| 264 | + no_in_arr.splice(index, 1) | ||
| 265 | + } | ||
| 257 | } | 266 | } |
| 258 | } | 267 | } |
| 259 | - } | ||
| 260 | - } else { | ||
| 261 | - zhqty_len=1; | ||
| 262 | - let min_bz_num = Math.min.apply(Math, zhqty_bz_arr.map(function (o) { | ||
| 263 | - return o['num']; | ||
| 264 | - })); | ||
| 265 | - let new_arr = zhqty_bz_arr.filter(ii => { | ||
| 266 | - return ii['num'] == min_bz_num; | ||
| 267 | - }) | ||
| 268 | - var vv = new_arr[0]; | ||
| 269 | - var bz_num = be * new_arr[0].zhqty; //超量倍增 | ||
| 270 | - var num = min_bz_num - new_arr[0].zhqty; //购买数量减去超量 | ||
| 271 | - bz_num_ok = bz_num - num; | ||
| 272 | - if (bz_num_ok <= 0) { | ||
| 273 | - //超量倍增满足,超量倍增就等于倍数 | ||
| 274 | - bz_num_ok = bz_num; | ||
| 275 | } else { | 268 | } else { |
| 276 | - //超量倍增不满足,倍数要减去多出得 | ||
| 277 | - // be=be-bz_num_ok; | ||
| 278 | - if (num % vv.zhqty == 0) { | ||
| 279 | - be = num / vv.zhqty; | 269 | + zhqty_len=1; |
| 270 | + let min_bz_num = Math.min.apply(Math, zhqty_bz_arr.map(function (o) { | ||
| 271 | + return o['num']; | ||
| 272 | + })); | ||
| 273 | + let new_arr = zhqty_bz_arr.filter(ii => { | ||
| 274 | + return ii['num'] == min_bz_num; | ||
| 275 | + }) | ||
| 276 | + var vv = new_arr[0]; | ||
| 277 | + var bz_num = be * new_arr[0].zhqty; //超量倍增 | ||
| 278 | + var num = min_bz_num - new_arr[0].zhqty; //购买数量减去超量 | ||
| 279 | + bz_num_ok = bz_num - num; | ||
| 280 | + if (bz_num_ok <= 0) { | ||
| 281 | + //超量倍增满足,超量倍增就等于倍数 | ||
| 282 | + bz_num_ok = bz_num; | ||
| 280 | } else { | 283 | } else { |
| 281 | - be = Math.floor(num / vv.zhqty) | 284 | + //超量倍增不满足,倍数要减去多出得 |
| 285 | + // be=be-bz_num_ok; | ||
| 286 | + if (num % vv.zhqty == 0) { | ||
| 287 | + be = num / vv.zhqty; | ||
| 288 | + } else { | ||
| 289 | + be = Math.floor(num / vv.zhqty) | ||
| 290 | + } | ||
| 291 | + bz_num_ok = be * vv.zhqty; | ||
| 292 | + } | ||
| 293 | + | ||
| 294 | + for(let i = 0; i < zhqty_bz.length; i++){ | ||
| 295 | + let item1=zhqty_bz[i]; | ||
| 296 | + for (let j = 0; j < be * item1['zhqty']; j++) { | ||
| 297 | + let index = no_in_arr.findIndex(i => { | ||
| 298 | + return item1.goods_id === i.goods_id | ||
| 299 | + }) | ||
| 300 | + if (index > -1) { | ||
| 301 | + // delete_num++ | ||
| 302 | + no_in_arr.splice(index, 1) | ||
| 303 | + } | ||
| 304 | + } | ||
| 282 | } | 305 | } |
| 283 | - bz_num_ok = be * vv.zhqty; | 306 | + aprice += be * aprice; |
| 284 | } | 307 | } |
| 285 | - | ||
| 286 | - for(let i = 0; i < zhqty_bz.length; i++){ | ||
| 287 | - let item1=zhqty_bz[i]; | ||
| 288 | - for (let j = 0; j < be * item1['zhqty']; j++) { | 308 | + } else { |
| 309 | + var vv = zhqty_bz[0]; | ||
| 310 | + var bz_num = be * vv.zhqty; //超量倍增 | ||
| 311 | + var num = vv['num'] - vv.zhqty; //购买数量减去超量 | ||
| 312 | + if (num > 0) { | ||
| 313 | + bz_num_ok = bz_num - num; | ||
| 314 | + if (bz_num_ok <= 0) { | ||
| 315 | + //超量倍增满足,超量倍增就等于倍数 | ||
| 316 | + bz_num_ok = bz_num; | ||
| 317 | + } else { | ||
| 318 | + //超量倍增不满足,倍数要减去多出得 | ||
| 319 | + // be=be-bz_num_ok; | ||
| 320 | + if (num % vv.zhqty == 0) { | ||
| 321 | + be = num / vv.zhqty; | ||
| 322 | + } else { | ||
| 323 | + be = Math.floor(num / vv.zhqty) | ||
| 324 | + } | ||
| 325 | + bz_num_ok = be * vv.zhqty; | ||
| 326 | + } | ||
| 327 | + for (let j = 0; j < bz_num_ok; j++) { | ||
| 289 | let index = no_in_arr.findIndex(i => { | 328 | let index = no_in_arr.findIndex(i => { |
| 290 | - return item1.goods_id === i.goods_id | 329 | + return vv.goods_id === i.goods_id |
| 291 | }) | 330 | }) |
| 292 | if (index > -1) { | 331 | if (index > -1) { |
| 293 | - // delete_num++ | 332 | + delete_num++ |
| 294 | no_in_arr.splice(index, 1) | 333 | no_in_arr.splice(index, 1) |
| 295 | } | 334 | } |
| 296 | } | 335 | } |
| 297 | - } | ||
| 298 | - aprice += be * aprice; | ||
| 299 | - } | ||
| 300 | - } else { | ||
| 301 | - var vv = zhqty_bz[0]; | ||
| 302 | - var bz_num = be * vv.zhqty; //超量倍增 | ||
| 303 | - var num = vv['num'] - vv.zhqty; //购买数量减去超量 | ||
| 304 | - if (num > 0) { | ||
| 305 | - bz_num_ok = bz_num - num; | ||
| 306 | - if (bz_num_ok <= 0) { | ||
| 307 | - //超量倍增满足,超量倍增就等于倍数 | ||
| 308 | - bz_num_ok = bz_num; | ||
| 309 | } else { | 336 | } else { |
| 310 | - //超量倍增不满足,倍数要减去多出得 | ||
| 311 | - // be=be-bz_num_ok; | ||
| 312 | - if (num % vv.zhqty == 0) { | ||
| 313 | - be = num / vv.zhqty; | ||
| 314 | - } else { | ||
| 315 | - be = Math.floor(num / vv.zhqty) | ||
| 316 | - } | ||
| 317 | - bz_num_ok = be * vv.zhqty; | ||
| 318 | - } | ||
| 319 | - for (let j = 0; j < bz_num_ok; j++) { | ||
| 320 | - let index = no_in_arr.findIndex(i => { | ||
| 321 | - return vv.goods_id === i.goods_id | ||
| 322 | - }) | ||
| 323 | - if (index > -1) { | ||
| 324 | - delete_num++ | ||
| 325 | - no_in_arr.splice(index, 1) | ||
| 326 | - } | 337 | + zhqty_len = 1; |
| 327 | } | 338 | } |
| 328 | - } else { | ||
| 329 | - zhqty_len = 1; | ||
| 330 | } | 339 | } |
| 331 | } | 340 | } |
| 332 | - } | ||
| 333 | 341 | ||
| 334 | - if (!zhqty_len) { | ||
| 335 | - aprice += be * act.zhprice; | ||
| 336 | - let pop_num = be * act.zhbuyqty - delete_num; | ||
| 337 | - for (var m = 0; m < pop_num; m++) { | ||
| 338 | - no_in_arr.pop(); | 342 | + if (!zhqty_len) { |
| 343 | + aprice += be * act.zhprice; | ||
| 344 | + let pop_num = be * act.zhbuyqty - delete_num; | ||
| 345 | + for (var m = 0; m < pop_num; m++) { | ||
| 346 | + no_in_arr.pop(); | ||
| 347 | + } | ||
| 339 | } | 348 | } |
| 340 | } | 349 | } |
| 350 | + | ||
| 341 | } | 351 | } |
| 342 | //算一下剩余的钱 | 352 | //算一下剩余的钱 |
| 343 | if (no_in_arr.length) { | 353 | if (no_in_arr.length) { |
pages/goods/goodsInfo/goodsInfo.js
| @@ -267,6 +267,7 @@ Page({ | @@ -267,6 +267,7 @@ Page({ | ||
| 267 | base_nor_prom_type:0, | 267 | base_nor_prom_type:0, |
| 268 | base_nor_prom_id:0, | 268 | base_nor_prom_id:0, |
| 269 | base_nor_goods_id:0, | 269 | base_nor_goods_id:0, |
| 270 | + user_pre_buynum:0, //用户优惠促销参与次数 | ||
| 270 | }, | 271 | }, |
| 271 | 272 | ||
| 272 | //------初始化加载---------- | 273 | //------初始化加载---------- |
| @@ -1540,7 +1541,21 @@ Page({ | @@ -1540,7 +1541,21 @@ Page({ | ||
| 1540 | }) | 1541 | }) |
| 1541 | // return userbuynum | 1542 | // return userbuynum |
| 1542 | }, | 1543 | }, |
| 1543 | - | 1544 | + //优惠促销用户参与次数 |
| 1545 | + async getUserBuyPromNum_pre(prom_id){ | ||
| 1546 | + var userInfo = getApp().globalData.userInfo; | ||
| 1547 | + var url = `/api/weshop/ordergoods/getUserBuyPromNum?is_all=1&store_id=${os.stoid}&user_id=${userInfo.user_id}&prom_type=3&prom_id=${prom_id}`; | ||
| 1548 | + let res = await getApp().request.promiseGet(url, { | ||
| 1549 | + data:{} | ||
| 1550 | + }); | ||
| 1551 | + let user_pre_buynum=0 | ||
| 1552 | + if(res.data.code==0 && res.data.data){ | ||
| 1553 | + user_pre_buynum=res.data.data.userbuynum | ||
| 1554 | + } | ||
| 1555 | + this.setData({ | ||
| 1556 | + user_pre_buynum | ||
| 1557 | + }) | ||
| 1558 | + }, | ||
| 1544 | //-- 加入购物的函数 -- | 1559 | //-- 加入购物的函数 -- |
| 1545 | add_cart_func: function (t) { | 1560 | add_cart_func: function (t) { |
| 1546 | var i = getApp().request; | 1561 | var i = getApp().request; |
| @@ -1973,7 +1988,7 @@ Page({ | @@ -1973,7 +1988,7 @@ Page({ | ||
| 1973 | } | 1988 | } |
| 1974 | 1989 | ||
| 1975 | //如果有搭配购的时候的时候 | 1990 | //如果有搭配购的时候的时候 |
| 1976 | - if(th.data.zh_act && newd.prom_type==0){ | 1991 | + if(th.data.zh_act && (!th.data.zh_act.zh_num || th.data.zh_act.zh_buy_num>th.data.zh_act.zh_num ) && newd.prom_type==0){ |
| 1977 | newd.prom_type = 7; | 1992 | newd.prom_type = 7; |
| 1978 | newd.prom_id = th.data.zh_act.id; | 1993 | newd.prom_id = th.data.zh_act.id; |
| 1979 | } | 1994 | } |
| @@ -7461,7 +7476,7 @@ Page({ | @@ -7461,7 +7476,7 @@ Page({ | ||
| 7461 | getApp().pre_img(this.data.sele_g.original_img); | 7476 | getApp().pre_img(this.data.sele_g.original_img); |
| 7462 | }, | 7477 | }, |
| 7463 | 7478 | ||
| 7464 | - is_show_more_buy: function () { | 7479 | + is_show_more_buy: async function () { |
| 7465 | var prom_goods = this.data.prom_goods; | 7480 | var prom_goods = this.data.prom_goods; |
| 7466 | var per_price = this.data.sele_g.shop_price | 7481 | var per_price = this.data.sele_g.shop_price |
| 7467 | if (this.data.card_field && this.data.sele_g[this.data.card_field] > 0) { | 7482 | if (this.data.card_field && this.data.sele_g[this.data.card_field] > 0) { |
| @@ -7485,7 +7500,10 @@ Page({ | @@ -7485,7 +7500,10 @@ Page({ | ||
| 7485 | } | 7500 | } |
| 7486 | } | 7501 | } |
| 7487 | } | 7502 | } |
| 7488 | - | 7503 | + //获取用户参与优惠促销的次数 |
| 7504 | + if(con && con.prom_id){ | ||
| 7505 | + await this.getUserBuyPromNum_pre(con.prom_id); | ||
| 7506 | + } | ||
| 7489 | this.setData({ | 7507 | this.setData({ |
| 7490 | hui_condition: con | 7508 | hui_condition: con |
| 7491 | }); | 7509 | }); |
| @@ -7724,6 +7742,11 @@ Page({ | @@ -7724,6 +7742,11 @@ Page({ | ||
| 7724 | isok = 0; | 7742 | isok = 0; |
| 7725 | } | 7743 | } |
| 7726 | 7744 | ||
| 7745 | + //还未开始 | ||
| 7746 | + if (res.data.data.zh_num>0 && res.data.data.zh_num<=res.data.data.zh_buy_num ) { | ||
| 7747 | + isok = 0; | ||
| 7748 | + } | ||
| 7749 | + | ||
| 7727 | } else { | 7750 | } else { |
| 7728 | //未找到商品的活动 | 7751 | //未找到商品的活动 |
| 7729 | isok = 0; | 7752 | isok = 0; |
pages/goods/goodsInfo/goodsInfo.wxml
| @@ -507,7 +507,7 @@ | @@ -507,7 +507,7 @@ | ||
| 507 | <view class="fs28 f1" wx:for="{{prom_goods}}"> | 507 | <view class="fs28 f1" wx:for="{{prom_goods}}"> |
| 508 | <view> | 508 | <view> |
| 509 | <text class="prom_condition"> | 509 | <text class="prom_condition"> |
| 510 | - <text class="fill-box">消费满{{item.condition}}{{item.prom_type==1 ? '件':'元'}}</text>享优惠 | 510 | + <text class="fill-box">消费满{{item.condition}}{{item.prom_type==1 ? '件':'元'}}</text>享优惠(每人{{item.limit_num ? '限参与'+item.limit_num+'次' : '参与不限次' }}) |
| 511 | </text> | 511 | </text> |
| 512 | </view> | 512 | </view> |
| 513 | 513 | ||
| @@ -1346,7 +1346,7 @@ | @@ -1346,7 +1346,7 @@ | ||
| 1346 | </view> | 1346 | </view> |
| 1347 | </view> | 1347 | </view> |
| 1348 | <!-- 提示再买多少优惠 --> | 1348 | <!-- 提示再买多少优惠 --> |
| 1349 | - <view style="margin-top: 35rpx;color:#333;font-size:28rpx;" wx:if="{{hui_condition && openSpecModal_ind==2}}"> | 1349 | + <view style="margin-top: 35rpx;color:#333;font-size:28rpx;" wx:if="{{hui_condition && openSpecModal_ind==2 && (!hui_condition.limit_num || user_pre_buynum<hui_condition.limit_num)}}"> |
| 1350 | 再买{{hui_condition.need}} | 1350 | 再买{{hui_condition.need}} |
| 1351 | <text wx:if="{{hui_condition.money}}">,免{{hui_condition.money}}元</text> | 1351 | <text wx:if="{{hui_condition.money}}">,免{{hui_condition.money}}元</text> |
| 1352 | <text wx:if="{{hui_condition.sale}}">,打{{hui_condition.sale}}折</text> | 1352 | <text wx:if="{{hui_condition.sale}}">,打{{hui_condition.sale}}折</text> |
pages/goods/goodsList/goodsList.js
| @@ -41,6 +41,7 @@ Page({ | @@ -41,6 +41,7 @@ Page({ | ||
| 41 | fil_nation_state:0, | 41 | fil_nation_state:0, |
| 42 | fil_brand_state:0, | 42 | fil_brand_state:0, |
| 43 | fil_price_state:0, | 43 | fil_price_state:0, |
| 44 | + limit_num:0, | ||
| 44 | }, | 45 | }, |
| 45 | 46 | ||
| 46 | onLoad: function(t) { | 47 | onLoad: function(t) { |
| @@ -125,6 +126,9 @@ Page({ | @@ -125,6 +126,9 @@ Page({ | ||
| 125 | th.set_prom_list(arr); | 126 | th.set_prom_list(arr); |
| 126 | } | 127 | } |
| 127 | }) | 128 | }) |
| 129 | + if (t.prom_id) { | ||
| 130 | + this.getprom(t.prom_id) | ||
| 131 | + } | ||
| 128 | } | 132 | } |
| 129 | 133 | ||
| 130 | //--- 阶梯优惠活动的凑单 --- | 134 | //--- 阶梯优惠活动的凑单 --- |
| @@ -236,7 +240,18 @@ Page({ | @@ -236,7 +240,18 @@ Page({ | ||
| 236 | onShow:function () { | 240 | onShow:function () { |
| 237 | getApp().check_can_share(); | 241 | getApp().check_can_share(); |
| 238 | }, | 242 | }, |
| 239 | - | 243 | + //获取优惠活动 |
| 244 | + async getprom(prom_id){ | ||
| 245 | + await getApp().request.promiseGet("/api/weshop/promgoods/get/" + oo.stoid + "/" + prom_id, {}).then(res => { | ||
| 246 | + if (res.data.code == 0) { | ||
| 247 | + let prom = res.data.data; | ||
| 248 | + let limit_num =prom.limit_num | ||
| 249 | + this.setData({ | ||
| 250 | + limit_num | ||
| 251 | + }) | ||
| 252 | + } | ||
| 253 | + }) | ||
| 254 | + }, | ||
| 240 | //设置优惠券的 | 255 | //设置优惠券的 |
| 241 | set_prom_list:async function(arr){ | 256 | set_prom_list:async function(arr){ |
| 242 | var th=this; | 257 | var th=this; |
pages/goods/goodsList/goodsList.wxml
| 1 | <wxs module="g_filter" src="../search/g_filter.wxs"></wxs> | 1 | <wxs module="g_filter" src="../search/g_filter.wxs"></wxs> |
| 2 | <view class="container" wx:if="{{show_all}}"> | 2 | <view class="container" wx:if="{{show_all}}"> |
| 3 | <view> | 3 | <view> |
| 4 | + | ||
| 4 | <block wx:for="{{prom_goods_list}}"> | 5 | <block wx:for="{{prom_goods_list}}"> |
| 5 | <view class="fs30 ellipsis-1" style="padding: 20rpx 30rpx"> | 6 | <view class="fs30 ellipsis-1" style="padding: 20rpx 30rpx"> |
| 7 | + <text style="color: red;" wx:if="{{index==0 && limit_num>0}}">每人限参与{{limit_num}}次;</text> | ||
| 6 | 满{{item.condition}}<text space="{{true}}" wx:if="{{item.prom_type==0}}">元 </text> <text space="{{true}}" wx:else>件 </text> | 8 | 满{{item.condition}}<text space="{{true}}" wx:if="{{item.prom_type==0}}">元 </text> <text space="{{true}}" wx:else>件 </text> |
| 7 | <text space="{{true}}" wx:if="{{item.content.is_money && item.content.is_money!='0'}}">减{{item.content.money}}元 </text> | 9 | <text space="{{true}}" wx:if="{{item.content.is_money && item.content.is_money!='0'}}">减{{item.content.money}}元 </text> |
| 8 | <text space="{{true}}" wx:if="{{item.content.is_sale && item.content.is_sale!='0'}}">打{{item.content.sale}}折 </text> | 10 | <text space="{{true}}" wx:if="{{item.content.is_sale && item.content.is_sale!='0'}}">打{{item.content.sale}}折 </text> |
pages/user/order_detail/order_detail.js
| @@ -1222,26 +1222,31 @@ Page({ | @@ -1222,26 +1222,31 @@ Page({ | ||
| 1222 | b_item.price = prom.price; | 1222 | b_item.price = prom.price; |
| 1223 | } | 1223 | } |
| 1224 | break; | 1224 | break; |
| 1225 | - case 6: | ||
| 1226 | - b_item.is_pd_normal = 1; | ||
| 1227 | - break; | ||
| 1228 | - case 7: | ||
| 1229 | - //如果有组合购 | ||
| 1230 | - var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" + good.prom_id + "/" + getApp().globalData.userInfo.user_id; | ||
| 1231 | - await getApp().request.promiseGet(url, {}).then(res => { | ||
| 1232 | - if (res.data.code == 0 && res.data.data) { | ||
| 1233 | - if (res.data.data.is_show == 1 && res.data.data.is_end == 0 | ||
| 1234 | - && ut.gettimestamp() < res.data.data.end_time | ||
| 1235 | - && ut.gettimestamp() > res.data.data.start_time | ||
| 1236 | - ) { | ||
| 1237 | - b_item.prom_type = 7; | ||
| 1238 | - b_item.prom_id = res.data.data.id; | ||
| 1239 | - good.prom_type = 7; | ||
| 1240 | - good.prom_id = res.data.data.id; | ||
| 1241 | - } | ||
| 1242 | - } | ||
| 1243 | - }) | ||
| 1244 | - break; | 1225 | + case 6: |
| 1226 | + b_item.is_pd_normal = 1; | ||
| 1227 | + break; | ||
| 1228 | + case 7: | ||
| 1229 | + //如果有组合购 | ||
| 1230 | + var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" + good.prom_id + "/" + getApp().globalData.userInfo.user_id; | ||
| 1231 | + await getApp().request.promiseGet(url, {}).then(res => { | ||
| 1232 | + if (res.data.code == 0 && res.data.data) { | ||
| 1233 | + | ||
| 1234 | + var t_act=res.data.data; | ||
| 1235 | + if(!t_act.zh_num || t_act.zh_num>t_act.zh_buy_num) { | ||
| 1236 | + | ||
| 1237 | + if (res.data.data.is_show == 1 && res.data.data.is_end == 0 | ||
| 1238 | + && ut.gettimestamp() < res.data.data.end_time | ||
| 1239 | + && ut.gettimestamp() > res.data.data.start_time | ||
| 1240 | + ) { | ||
| 1241 | + b_item.prom_type = 7; | ||
| 1242 | + b_item.prom_id = res.data.data.id; | ||
| 1243 | + good.prom_type = 7; | ||
| 1244 | + good.prom_id = res.data.data.id; | ||
| 1245 | + } | ||
| 1246 | + } | ||
| 1247 | + } | ||
| 1248 | + }) | ||
| 1249 | + break; | ||
| 1245 | case 10: | 1250 | case 10: |
| 1246 | 1251 | ||
| 1247 | var url = `/api/weshop/prom/ladderForm/getNew/${os.stoid}/${user_id}/${good.prom_id}`; | 1252 | var url = `/api/weshop/prom/ladderForm/getNew/${os.stoid}/${user_id}/${good.prom_id}`; |
| @@ -1252,7 +1257,7 @@ Page({ | @@ -1252,7 +1257,7 @@ Page({ | ||
| 1252 | } | 1257 | } |
| 1253 | }) | 1258 | }) |
| 1254 | break; | 1259 | break; |
| 1255 | - } | 1260 | + } |
| 1256 | 1261 | ||
| 1257 | 1262 | ||
| 1258 | //如果有优惠促销的时候,要看下商品的优惠活动有没有过期 | 1263 | //如果有优惠促销的时候,要看下商品的优惠活动有没有过期 |
pages/user/order_list/order_list.js
| @@ -1583,13 +1583,16 @@ Page({ | @@ -1583,13 +1583,16 @@ Page({ | ||
| 1583 | var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" + good.prom_id + "/" + getApp().globalData.userInfo.user_id; | 1583 | var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" + good.prom_id + "/" + getApp().globalData.userInfo.user_id; |
| 1584 | await getApp().request.promiseGet(url, {}).then(res => { | 1584 | await getApp().request.promiseGet(url, {}).then(res => { |
| 1585 | if (res.data.code == 0 && res.data.data) { | 1585 | if (res.data.code == 0 && res.data.data) { |
| 1586 | - if (res.data.data.is_show == 1 && res.data.data.is_end == 0 | ||
| 1587 | - && ut.gettimestamp() < res.data.data.end_time | ||
| 1588 | - && ut.gettimestamp() > res.data.data.start_time | ||
| 1589 | - ) { | ||
| 1590 | - b_item.prom_type = 7; | ||
| 1591 | - b_item.prom_id = res.data.data.id; | 1586 | + var t_act=res.data.data; |
| 1587 | + if(!t_act.zh_num || t_act.zh_num>t_act.zh_buy_num) { | ||
| 1588 | + if (res.data.data.is_show == 1 && res.data.data.is_end == 0 | ||
| 1589 | + && ut.gettimestamp() < res.data.data.end_time | ||
| 1590 | + && ut.gettimestamp() > res.data.data.start_time | ||
| 1591 | + ) { | ||
| 1592 | + b_item.prom_type = 7; | ||
| 1593 | + b_item.prom_id = res.data.data.id; | ||
| 1592 | 1594 | ||
| 1595 | + } | ||
| 1593 | } | 1596 | } |
| 1594 | } | 1597 | } |
| 1595 | }) | 1598 | }) |