Commit 36b9985b3624675af01a785b0996cbac1dd54105
1 parent
5f5f53a6
优惠促销送赠品的优化
Showing
2 changed files
with
107 additions
and
14 deletions
packageE/pages/cart/cart2/cart2.js
| ... | ... | @@ -798,8 +798,8 @@ Page({ |
| 798 | 798 | //-- 剔除赠品的数据,等到确定活动是优惠促销的时候,在显示赠品, 赠品直接删除 -- |
| 799 | 799 | var new_arr=[]; |
| 800 | 800 | for (var ir = 0; ir < carr.length; ir++) { |
| 801 | - if(carr[ir].is_gift && ) { | |
| 802 | - var url = '/api/weshop/cart/del/' + oo.stoid + '/' + item.id; | |
| 801 | + if(carr[ir].is_gift && carr[ir].id) { | |
| 802 | + var url = '/api/weshop/cart/del/' + oo.stoid + '/' + carr[ir].id; | |
| 803 | 803 | getApp().request.delete(url, { |
| 804 | 804 | success: function (t) {} |
| 805 | 805 | }); |
| ... | ... | @@ -810,6 +810,22 @@ Page({ |
| 810 | 810 | } |
| 811 | 811 | carr=new_arr; |
| 812 | 812 | |
| 813 | + //-- map cy_cx属性要删除 -- | |
| 814 | + var map=this.data.prom_goods_map; | |
| 815 | + if(map){ | |
| 816 | + for (var ky in map) { | |
| 817 | + if(map[ky]){ | |
| 818 | + var ob=map[ky]; | |
| 819 | + for (var ii in ob) { | |
| 820 | + var item_map = ob[ii]; | |
| 821 | + if (item_map.hasOwnProperty('cy_cx')) { | |
| 822 | + delete item_map.cy_cx; | |
| 823 | + } | |
| 824 | + } | |
| 825 | + } | |
| 826 | + } | |
| 827 | + } | |
| 828 | + | |
| 813 | 829 | } |
| 814 | 830 | //按门店分类的数组 |
| 815 | 831 | var arr = new Array(); |
| ... | ... | @@ -913,11 +929,14 @@ Page({ |
| 913 | 929 | for (var j = 0; j < arr.length; j++) { |
| 914 | 930 | if (arr[j].pickup_id == pcid) { |
| 915 | 931 | if (item.is_gift != 1) { |
| 916 | - //确定配送方式 | |
| 917 | - if (arr[j].distr_t == 0) { | |
| 918 | - arr[j].distr_t = car_item.distr_type; | |
| 919 | - } | |
| 932 | + //确定配送方式 | |
| 933 | + if (arr[j].distr_t == 0) { | |
| 934 | + arr[j].distr_t = car_item.distr_type; | |
| 935 | + } | |
| 936 | + }else{ | |
| 937 | + item.distr_type=0; //赠品不控制物流的方式 | |
| 920 | 938 | } |
| 939 | + | |
| 921 | 940 | var e_t = 0, dis_t = 0;//物流方式,配送方式 |
| 922 | 941 | if (item.distr_type == 0) { |
| 923 | 942 | dis_t = sto.distr_type; |
| ... | ... | @@ -2006,6 +2025,81 @@ Page({ |
| 2006 | 2025 | }); |
| 2007 | 2026 | }, |
| 2008 | 2027 | |
| 2028 | + | |
| 2029 | + //寻找活动在列表中的最后一个 | |
| 2030 | + find_pro_last(ord_goods,prom_type,prom_id){ | |
| 2031 | + if(!ord_goods || ord_goods.length==0) return -1; | |
| 2032 | + var len=ord_goods.length; | |
| 2033 | + for(var i=len-1;i>-1;i--){ | |
| 2034 | + var e=ord_goods[i]; | |
| 2035 | + if(e.prom_type==prom_type && e.prom_id==prom_id && e.is_gift!=1){ | |
| 2036 | + return i; | |
| 2037 | + } | |
| 2038 | + } | |
| 2039 | + return -1; | |
| 2040 | + }, | |
| 2041 | + | |
| 2042 | + //寻找活动在列表中的最后一个 | |
| 2043 | + is_has_gift(ord_goods,prom_id){ | |
| 2044 | + if(!ord_goods || ord_goods.length==0) return false; | |
| 2045 | + var len=ord_goods.length; | |
| 2046 | + for(var i=0;i<len;i++){ | |
| 2047 | + var e=ord_goods[i]; | |
| 2048 | + if(e.prom_type==3 && e.prom_id==prom_id && e.is_gift==1){ | |
| 2049 | + return true; | |
| 2050 | + } | |
| 2051 | + } | |
| 2052 | + return false; | |
| 2053 | + }, | |
| 2054 | + | |
| 2055 | + | |
| 2056 | + /** | |
| 2057 | + * | |
| 2058 | + * @param item_map //是门店ID | |
| 2059 | + * @param pickid //是门店ID | |
| 2060 | + * @param i //是购物车索引 | |
| 2061 | + * @param ord_goods 对应的商品列表 | |
| 2062 | + * @param get_data | |
| 2063 | + */ | |
| 2064 | + cart_add_gift(item_map,pickid,i,ord_goods,get_data){ | |
| 2065 | + | |
| 2066 | + var th=this; | |
| 2067 | + var pos=this.find_pro_last(ord_goods,3,item_map.prom_id); | |
| 2068 | + var is_has_gift=this.is_has_gift(ord_goods,item_map.prom_id) | |
| 2069 | + //-- 没有赠品的时候才添加,避免购物车重复出现 -- | |
| 2070 | + if(pos>-1 && !is_has_gift){ | |
| 2071 | + | |
| 2072 | + var newd = { | |
| 2073 | + goods_id: get_data.goods_id, | |
| 2074 | + goods_num: get_data.bs * get_data.zp_num, //是赠品的翻倍 | |
| 2075 | + pick_id: pickid, | |
| 2076 | + user_id: app.globalData.user_id, | |
| 2077 | + store_id: os.stoid, | |
| 2078 | + goods_price: 0, | |
| 2079 | + member_goods_price: 0, | |
| 2080 | + goods_name: get_data.goods_name, | |
| 2081 | + goods_sn: get_data.goodsinfo.goods_sn, | |
| 2082 | + sku: get_data.goodsinfo.sku, | |
| 2083 | + is_gift: 1, | |
| 2084 | + prom_id: item_map.prom_id, | |
| 2085 | + prom_type: 3, | |
| 2086 | + selected: 1, | |
| 2087 | + gift_id: get_data.gift_id, | |
| 2088 | + original_img: th.data.imgUrl + get_data.goodsinfo.original_img | |
| 2089 | + }; | |
| 2090 | + var fd_gd=ord_goods[pos] | |
| 2091 | + | |
| 2092 | + newd.guide_id=fd_gd.guide_id; | |
| 2093 | + newd.guide_type=fd_gd.guide_type; | |
| 2094 | + newd.distr_type=fd_gd.distr_type; | |
| 2095 | + | |
| 2096 | + ord_goods.splice(1,0,newd); | |
| 2097 | + | |
| 2098 | + | |
| 2099 | + } | |
| 2100 | + | |
| 2101 | + }, | |
| 2102 | + | |
| 2009 | 2103 | calc_per: async function (c_arr) { |
| 2010 | 2104 | |
| 2011 | 2105 | var send_gf = {}; |
| ... | ... | @@ -2032,6 +2126,8 @@ Page({ |
| 2032 | 2126 | var ob = th.data.prom_goods_map[pickid]; |
| 2033 | 2127 | for (var ii in ob) { |
| 2034 | 2128 | var item_map = ob[ii]; |
| 2129 | + var b=1; | |
| 2130 | + | |
| 2035 | 2131 | //if (item_map.bs == undefined || item_map.bs == null) { |
| 2036 | 2132 | if (!item_map.hasOwnProperty('cy_cx')) { |
| 2037 | 2133 | //等待,获取一下优惠活动的信息 |
| ... | ... | @@ -2076,6 +2172,9 @@ Page({ |
| 2076 | 2172 | item_map.uniform_exp_sum = get_data.goodsinfo.uniform_exp_sum; |
| 2077 | 2173 | item_map.whsle_id = get_data.goodsinfo.whsle_id; |
| 2078 | 2174 | |
| 2175 | + //-- 购物车添加赠品 -- | |
| 2176 | + th.cart_add_gift(item_map,pickid,i,ord_goods,get_data); | |
| 2177 | + | |
| 2079 | 2178 | } |
| 2080 | 2179 | item_map.s_libao = get_data.libao; |
| 2081 | 2180 | item_map.s_lb_num = get_data.lb_num; |
| ... | ... | @@ -2114,12 +2213,6 @@ Page({ |
| 2114 | 2213 | duo_zp_num_arr[item_map.prom_id] = t_zp_num; |
| 2115 | 2214 | } |
| 2116 | 2215 | } |
| 2117 | - //--- 不是多个赠品赠送的时候, --- | |
| 2118 | - else{ | |
| 2119 | - | |
| 2120 | - } | |
| 2121 | - | |
| 2122 | - | |
| 2123 | 2216 | |
| 2124 | 2217 | } else item_map.cy_cx = 0; |
| 2125 | 2218 | }) | ... | ... |
pages/cart/cart/cart.js
| ... | ... | @@ -666,12 +666,12 @@ Page({ |
| 666 | 666 | }) |
| 667 | 667 | |
| 668 | 668 | //只有一种活动,但是又是秒杀之类是互动,就要失效。不能是普通购买 |
| 669 | - if (prom.length == 1 && [1, 2, 4, 6, 8, 9].indexOf(prom.prom_type) > -1 && !prom.is_integral_normal && !prom.is_pd_normal) { | |
| 669 | + if (prom && prom.length == 1 && [1, 2, 4, 6, 8, 9].indexOf(prom.prom_type) > -1 && !prom.is_integral_normal && !prom.is_pd_normal) { | |
| 670 | 670 | th.disInvalid(item); |
| 671 | 671 | continue; |
| 672 | 672 | } |
| 673 | 673 | //只有秒杀和积分购的时候,不能是普通购买 |
| 674 | - if (prom.length == 2 && [1, 4].indexOf(prom.prom_type) > -1 && [1, 4].indexOf(prom.prom_type) > -1 && !prom.is_integral_normal && !prom.is_pd_normal) { | |
| 674 | + if (prom && prom.length == 2 && [1, 4].indexOf(prom.prom_type) > -1 && [1, 4].indexOf(prom.prom_type) > -1 && !prom.is_integral_normal && !prom.is_pd_normal) { | |
| 675 | 675 | th.disInvalid(item); |
| 676 | 676 | continue; |
| 677 | 677 | } | ... | ... |