Commit 36b9985b3624675af01a785b0996cbac1dd54105

Authored by yvan.ni
1 parent 5f5f53a6

优惠促销送赠品的优化

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 }