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,8 +798,8 @@ Page({ | ||
798 | //-- 剔除赠品的数据,等到确定活动是优惠促销的时候,在显示赠品, 赠品直接删除 -- | 798 | //-- 剔除赠品的数据,等到确定活动是优惠促销的时候,在显示赠品, 赠品直接删除 -- |
799 | var new_arr=[]; | 799 | var new_arr=[]; |
800 | for (var ir = 0; ir < carr.length; ir++) { | 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 | getApp().request.delete(url, { | 803 | getApp().request.delete(url, { |
804 | success: function (t) {} | 804 | success: function (t) {} |
805 | }); | 805 | }); |
@@ -810,6 +810,22 @@ Page({ | @@ -810,6 +810,22 @@ Page({ | ||
810 | } | 810 | } |
811 | carr=new_arr; | 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 | var arr = new Array(); | 831 | var arr = new Array(); |
@@ -913,11 +929,14 @@ Page({ | @@ -913,11 +929,14 @@ Page({ | ||
913 | for (var j = 0; j < arr.length; j++) { | 929 | for (var j = 0; j < arr.length; j++) { |
914 | if (arr[j].pickup_id == pcid) { | 930 | if (arr[j].pickup_id == pcid) { |
915 | if (item.is_gift != 1) { | 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 | var e_t = 0, dis_t = 0;//物流方式,配送方式 | 940 | var e_t = 0, dis_t = 0;//物流方式,配送方式 |
922 | if (item.distr_type == 0) { | 941 | if (item.distr_type == 0) { |
923 | dis_t = sto.distr_type; | 942 | dis_t = sto.distr_type; |
@@ -2006,6 +2025,81 @@ Page({ | @@ -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 | calc_per: async function (c_arr) { | 2103 | calc_per: async function (c_arr) { |
2010 | 2104 | ||
2011 | var send_gf = {}; | 2105 | var send_gf = {}; |
@@ -2032,6 +2126,8 @@ Page({ | @@ -2032,6 +2126,8 @@ Page({ | ||
2032 | var ob = th.data.prom_goods_map[pickid]; | 2126 | var ob = th.data.prom_goods_map[pickid]; |
2033 | for (var ii in ob) { | 2127 | for (var ii in ob) { |
2034 | var item_map = ob[ii]; | 2128 | var item_map = ob[ii]; |
2129 | + var b=1; | ||
2130 | + | ||
2035 | //if (item_map.bs == undefined || item_map.bs == null) { | 2131 | //if (item_map.bs == undefined || item_map.bs == null) { |
2036 | if (!item_map.hasOwnProperty('cy_cx')) { | 2132 | if (!item_map.hasOwnProperty('cy_cx')) { |
2037 | //等待,获取一下优惠活动的信息 | 2133 | //等待,获取一下优惠活动的信息 |
@@ -2076,6 +2172,9 @@ Page({ | @@ -2076,6 +2172,9 @@ Page({ | ||
2076 | item_map.uniform_exp_sum = get_data.goodsinfo.uniform_exp_sum; | 2172 | item_map.uniform_exp_sum = get_data.goodsinfo.uniform_exp_sum; |
2077 | item_map.whsle_id = get_data.goodsinfo.whsle_id; | 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 | item_map.s_libao = get_data.libao; | 2179 | item_map.s_libao = get_data.libao; |
2081 | item_map.s_lb_num = get_data.lb_num; | 2180 | item_map.s_lb_num = get_data.lb_num; |
@@ -2114,12 +2213,6 @@ Page({ | @@ -2114,12 +2213,6 @@ Page({ | ||
2114 | duo_zp_num_arr[item_map.prom_id] = t_zp_num; | 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 | } else item_map.cy_cx = 0; | 2217 | } else item_map.cy_cx = 0; |
2125 | }) | 2218 | }) |
pages/cart/cart/cart.js
@@ -666,12 +666,12 @@ Page({ | @@ -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 | th.disInvalid(item); | 670 | th.disInvalid(item); |
671 | continue; | 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 | th.disInvalid(item); | 675 | th.disInvalid(item); |
676 | continue; | 676 | continue; |
677 | } | 677 | } |