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 | } | ... | ... |