Commit 452948f35936f110b83b1f1a8048fc41015f1cd9
Merge branch 'test' of http://git.vipzhuang.cn/wxd/MShopWeApp into qa
Showing
12 changed files
with
243 additions
and
44 deletions
components/promate_pop/promate_pop.wxss
packageB/pages/evaluate/evaluate.js
... | ... | @@ -26,7 +26,8 @@ Page({ |
26 | 26 | is_act:0, //是否能购获取图片 |
27 | 27 | actId:0, //活动ID |
28 | 28 | giftBagId:0, //礼包ID |
29 | - ftype:0 | |
29 | + ftype:0, | |
30 | + isdg:0, //是否是导购 | |
30 | 31 | |
31 | 32 | }, |
32 | 33 | //点击星级 |
... | ... | @@ -242,6 +243,11 @@ Page({ |
242 | 243 | this.setData({ftype:parseInt(options.fromtype)}) ; |
243 | 244 | if(options.fromtype==4 || options.fromtype==1 ) th.judge_act(); |
244 | 245 | } |
246 | + if (options.isdg) { | |
247 | + this.setData({ | |
248 | + isdg:options.isdg | |
249 | + }) | |
250 | + } | |
245 | 251 | //th.query_bea(); |
246 | 252 | |
247 | 253 | var userinfo=getApp().globalData.userInfo; |
... | ... | @@ -288,8 +294,9 @@ Page({ |
288 | 294 | console.log(id,"订单", this.data.number); |
289 | 295 | |
290 | 296 | var ty=this.data.ftype?this.data.ftype:2; |
297 | + var isdg = this.data.isdg | |
291 | 298 | wx.redirectTo({ |
292 | - url: "/pages/giftpack/evaluategift/evaluategift?actId="+id+ "&orderType="+ty+"&orderNumber="+this.data.number+"&isdg=1" | |
299 | + url: "/pages/giftpack/evaluategift/evaluategift?actId="+id+ "&orderType="+ty+"&orderNumber="+this.data.number+"&isdg="+isdg | |
293 | 300 | }); |
294 | 301 | |
295 | 302 | }, | ... | ... |
packageD/pages/user/coupons/coupons.wxml
... | ... | @@ -64,8 +64,8 @@ |
64 | 64 | </view> |
65 | 65 | </view> |
66 | 66 | <view class="c-info arrow-down {{detail.isShowDetails ? 'active':''}}" bindtap="clickDetails" data-index="{{idx}}"> |
67 | - <view class="{{detail.isShowDetails ? '':'ellipsis-1x'}}" wx:if="{{detail.Remark1!=''}}"><text style="margin-right: 15rpx">使用说明:</text>{{filter.getNum(detail.Sum)}}元优惠券,{{(detail.UseObjectID==null || detail.UseObjectID=='')?"全场通用":"仅限"+(detail.UseObjectName)+"使用"}},满 {{detail.BuySum==null || detail.BuySum==''?filter.getNum(0):filter.getNum(detail.BuySum)}}元使用 {{detail.region_list_name==null || detail.region_list_name==''?"":",不包邮地区:"+region_list_name}};{{detail.Remark1}};活动名称:{{detail.ActName}}、活动编号:{{detail.ActNo}}</view> | |
68 | - <view class="{{detail.isShowDetails ? '':'ellipsis-1x'}}" wx:else><text style="margin-right: 15rpx">使用说明:</text> {{filter.getNum(detail.Sum)}}元优惠券,{{(detail.UseObjectID==null || detail.UseObjectID=='')?"全场通用":"仅限"+(detail.UseObjectName)+"使用"}},满 {{detail.BuySum==null || detail.BuySum==''?filter.getNum(0):filter.getNum(detail.BuySum)}}元使用 {{detail.region_list_name==null || detail.region_list_name==''?"":",不包邮地区:"+region_list_name}};活动名称:{{detail.ActName}}、活动编号:{{detail.ActNo}}</view> | |
67 | + <view class="{{detail.isShowDetails ? '':'ellipsis-1x'}}" wx:if="{{detail.Remark1!=''}}"><text style="margin-right: 15rpx">使用说明:</text>{{filter.getNum(detail.Sum)}}元优惠券,{{(detail.UseObjectID==null || detail.UseObjectID=='')?"全场通用":"仅限"+(detail.UseObjectName)+"使用"}},满 {{detail.BuySum==null || detail.BuySum==''?filter.getNum(0):filter.getNum(detail.BuySum)}}元使用 {{detail.region_list_name==null || detail.region_list_name==''?"":",不包邮地区:"+region_list_name}};{{detail.Remark1}};活动名称:{{detail.ActName}}、活动编号:{{detail.ActNo}}、使用场景:{{ (detail.UseRange && detail.UseRange !=0) ? (detail.UseRange==1 ? '仅线下可用' : '仅线上可用') :'通用'}}</view> | |
68 | + <view class="{{detail.isShowDetails ? '':'ellipsis-1x'}}" wx:else><text style="margin-right: 15rpx">使用说明:</text> {{filter.getNum(detail.Sum)}}元优惠券,{{(detail.UseObjectID==null || detail.UseObjectID=='')?"全场通用":"仅限"+(detail.UseObjectName)+"使用"}},满 {{detail.BuySum==null || detail.BuySum==''?filter.getNum(0):filter.getNum(detail.BuySum)}}元使用 {{detail.region_list_name==null || detail.region_list_name==''?"":",不包邮地区:"+region_list_name}};活动名称:{{detail.ActName}}、活动编号:{{detail.ActNo}}、使用场景:{{(detail.UseRange && detail.UseRange !=0) ? (detail.UseRange==1 ? '仅线下可用' : '仅线上可用') :'通用'}}</view> | |
69 | 69 | </view> |
70 | 70 | </block> |
71 | 71 | </view> | ... | ... |
packageE/pages/cart/cart2/cart2.js
... | ... | @@ -1294,7 +1294,7 @@ Page({ |
1294 | 1294 | await m_cx.cart_cx_group(th, arr[k].goods, c_item, 0, 0, (show_can_cx) => { |
1295 | 1295 | |
1296 | 1296 | arr[k].show_can_cx = show_can_cx; |
1297 | - }) | |
1297 | + },2) | |
1298 | 1298 | } else { |
1299 | 1299 | var show_can_cx = this.data.cartlist[k].show_can_cx; |
1300 | 1300 | //-- 多促销活动的优化 -- | ... | ... |
pages/cart/cart/cart.js
... | ... | @@ -855,6 +855,7 @@ Page({ |
855 | 855 | item.selected = 0; |
856 | 856 | item.erpwareid = good.erpwareid; //要同步下线商品的id |
857 | 857 | item.shop_price = good.shop_price; //要同步下线商品的id |
858 | + item.init_goods_price=good.goods_price; | |
858 | 859 | |
859 | 860 | //-- 读出每一种商品的所有的活动,方便后面的活动切换使用 -- |
860 | 861 | if (item.prom_type == 0) |
... | ... | @@ -1559,6 +1560,10 @@ Page({ |
1559 | 1560 | var fir = 0; |
1560 | 1561 | for (var j = 0; j < item.length; j++) { |
1561 | 1562 | if (item[j].is_gift) continue; |
1563 | + | |
1564 | + //把价格还原 | |
1565 | + item[j].goods_price=item[j].init_goods_price; | |
1566 | + | |
1562 | 1567 | var obj = JSON.parse(JSON.stringify(item[j])); |
1563 | 1568 | var gd_info=obj; |
1564 | 1569 | |
... | ... | @@ -2078,6 +2083,7 @@ Page({ |
2078 | 2083 | this.data.btn_click = 1; |
2079 | 2084 | var garr = e.data.service_data; |
2080 | 2085 | |
2086 | + //之前没有选中,代表现在要选中 | |
2081 | 2087 | if (!a.selected) { |
2082 | 2088 | |
2083 | 2089 | //如果是标记的时候 |
... | ... | @@ -2385,7 +2391,7 @@ Page({ |
2385 | 2391 | //不需要修改价格 |
2386 | 2392 | await m_cx.cart_cx_group(th, ite1, car[a], 0, n_ok, (show_can_cx) => { |
2387 | 2393 | rd_arr.push(show_can_cx) |
2388 | - },1) | |
2394 | + }) | |
2389 | 2395 | } |
2390 | 2396 | |
2391 | 2397 | if(car.length>1 && c_ind>-1){ |
... | ... | @@ -2393,7 +2399,7 @@ Page({ |
2393 | 2399 | //检验和设置商品的最终是以 取用什么活动,因为多促销 |
2394 | 2400 | await m_cx.cart_cx_group(th, ite2, car[c_ind], 0, n_ok, (show_can_cx) => { |
2395 | 2401 | rd_arr[c_ind]=show_can_cx; |
2396 | - },1) | |
2402 | + }) | |
2397 | 2403 | } |
2398 | 2404 | |
2399 | 2405 | for (var a = 0; a < car.length; a++) { |
... | ... | @@ -4012,7 +4018,7 @@ Page({ |
4012 | 4018 | |
4013 | 4019 | //如果会员是等级会员,商品有等级价,且不是活动商品 |
4014 | 4020 | if (card_field && val[card_field] > 0 && |
4015 | - ((val.prom_type == 0 && g_arr[i].prom_type == 0) || g_arr[i].prom_type == 3 || g_arr[i].prom_type == 5 || g_arr[i].prom_type == 7 || g_arr[i].prom_type == 10)) { | |
4021 | + ((val.prom_type == 0 && g_arr[i].prom_type == 0) || g_arr[i].prom_type == 5 || g_arr[i].prom_type == 7 || g_arr[i].prom_type == 10)) { | |
4016 | 4022 | if (g_arr[i].goods_price != val[card_field]) { |
4017 | 4023 | isok = 0; |
4018 | 4024 | gname = val.goods_name; |
... | ... | @@ -5104,8 +5110,11 @@ Page({ |
5104 | 5110 | |
5105 | 5111 | var th = this; |
5106 | 5112 | var car = JSON.parse(JSON.stringify(this.data.requestData)); |
5107 | - var item = car[c_idx].goods, | |
5108 | - is_s_sele = 1; | |
5113 | + var item = car[c_idx].goods, is_s_sele = 1; | |
5114 | + | |
5115 | + for (var i = 0; i < item.length; i++) { | |
5116 | + item[i].goods_price = item[i].init_goods_price; | |
5117 | + } | |
5109 | 5118 | |
5110 | 5119 | var is_has_other = 0; |
5111 | 5120 | for (var ii = 0; ii < car.length; ii++) { |
... | ... | @@ -5126,15 +5135,16 @@ Page({ |
5126 | 5135 | } |
5127 | 5136 | //-- 让选择进入对应 -- |
5128 | 5137 | for (var i = 0; i < item.length; i++) { |
5129 | - if (sele_arr.hasOwnProperty(i)) { | |
5130 | - item[i].selected = sele_arr[i]; | |
5131 | - } | |
5138 | + if (sele_arr.hasOwnProperty(i)) { | |
5139 | + item[i].selected = sele_arr[i]; | |
5140 | + } | |
5132 | 5141 | } |
5142 | + | |
5133 | 5143 | //-- 先批量判断一下活动的类型,同时要同步跟新 -- |
5134 | 5144 | m_cx.cart_cx_group(this, item, car[c_idx], 0, 0, (show_can_cx) => { |
5135 | 5145 | car[c_idx].show_can_cx = show_can_cx; |
5136 | 5146 | th.cx_check_ok2(func, car); |
5137 | - },1); | |
5147 | + }); | |
5138 | 5148 | |
5139 | 5149 | }, |
5140 | 5150 | |
... | ... | @@ -5257,6 +5267,7 @@ Page({ |
5257 | 5267 | } |
5258 | 5268 | } |
5259 | 5269 | } |
5270 | + | |
5260 | 5271 | func({ |
5261 | 5272 | 'code': 0, |
5262 | 5273 | 'msg': '成功' | ... | ... |
pages/cart/cart/cart.wxml
... | ... | @@ -193,16 +193,7 @@ |
193 | 193 | <view class="flex jc_sb fs28" wx:for="{{item.make_up_arr}}" style="margin-bottom: 20rpx" > |
194 | 194 | <view class="ellipsis-1" style="width: 80%">再买<text class="co-red">{{item.diff}}<text wx:if="{{item.diff_type==0}}">元</text> |
195 | 195 | <text wx:if="{{item.diff_type==1}}">件</text> |
196 | - </text>, | |
197 | - <text wx:if="{{item.content.is_money==1}}">免{{item.content.money}}元|</text> | |
198 | - <text wx:if="{{item.content.is_sale==1}}">打{{item.content.sale}}折|</text> | |
199 | - <text wx:if="{{item.content.is_past==1}}">包邮|</text> | |
200 | - <text wx:if="{{item.content.is_coupon==1}}">送优惠券|</text> | |
201 | - <text wx:if="{{item.content.is_int==1}}">送积分|</text> | |
202 | - <text wx:if="{{item.content.is_gift==1}}">送赠品|</text> | |
203 | - <text wx:if="{{item.content.is_libao==1}}">送礼包|</text> | |
204 | - <text wx:if="{{item.content.is_zxlibao==1}}">送专享礼包|</text> | |
205 | - <text wx:if="{{item.content.is_monthgiftbag==1}}">送每月礼包|</text> | |
196 | + </text>,{{g_filter.map_str(item.content)}} | |
206 | 197 | <text></text> |
207 | 198 | </view> |
208 | 199 | <view class="co-red" data-prom_id="{{item.prom_id}}" bindtap="go_cou_dang">去凑单></view> | ... | ... |
pages/cart/cart/g_filter.wxs
... | ... | @@ -35,6 +35,22 @@ var g_filters = { |
35 | 35 | if([1,2,4,6,8,9].indexOf(items.prom_type)>-1) return false; |
36 | 36 | if(!show_can_cx) return false; |
37 | 37 | return true; |
38 | + }, | |
39 | + | |
40 | + //判断一下文件末尾的|号,促销显示送的内容 | |
41 | + map_str:function (content){ | |
42 | + var string=''; | |
43 | + if(content.is_money==1) string+='免'+content.money+'元|'; | |
44 | + if(content.is_sale==1) string+="打"+content.sale+"折|"; | |
45 | + if(content.is_past==1) string+= "包邮|"; | |
46 | + if(content.is_coupon==1) string+="送优惠券|"; | |
47 | + if(content.is_int==1) string+="送积分|"; | |
48 | + if(content.is_gift==1) string+="送赠品|"; | |
49 | + if(content.is_libao==1) string+="送礼包|"; | |
50 | + if(content.is_zxlibao==1) string+="送专享礼包|"; | |
51 | + if(content.is_monthgiftbag==1) string+="送每月礼包|"; | |
52 | + string=string.substring(0,string.length-1); | |
53 | + return string | |
38 | 54 | } |
39 | 55 | |
40 | 56 | } |
... | ... | @@ -44,5 +60,6 @@ module.exports = { |
44 | 60 | end_time: g_filters.end_time, |
45 | 61 | toFix: g_filters.toFix, |
46 | 62 | is_more_act: g_filters.is_more_act, |
47 | - check_show:g_filters.check_show | |
63 | + check_show:g_filters.check_show, | |
64 | + map_str:g_filters.map_str | |
48 | 65 | } |
49 | 66 | \ No newline at end of file | ... | ... |
pages/giftpack/evaluategift/evaluategift.js
... | ... | @@ -189,6 +189,9 @@ Page({ |
189 | 189 | "giftBagId": th.data.giftBagId, |
190 | 190 | "buyFrom": 2 |
191 | 191 | }; |
192 | + if (th.data.isdg) { | |
193 | + json.isdg=th.data.isdg | |
194 | + } | |
192 | 195 | var data = JSON.stringify(json); |
193 | 196 | var url = th.data.url + "/api/weshop/marketing/free/receive/gift/record/insert"; |
194 | 197 | getApp().request.json_post(url, json, | ... | ... |
pages/user/index/index.js
... | ... | @@ -174,8 +174,11 @@ Page({ |
174 | 174 | if (item.is_sy == 0) { |
175 | 175 | var now = Date.parse(new Date()); now = now / 1000; |
176 | 176 | if (item.end_time < now) { |
177 | - th.setData({ is_no_plus: 0 }) | |
177 | + th.setData({ is_no_plus: 0 }) | |
178 | + }else{ | |
179 | + th.setData({ is_no_plus: 1 }) | |
178 | 180 | } |
181 | + | |
179 | 182 | }else if(item.is_sy == 1){ |
180 | 183 | th.setData({ is_no_plus: 1 }) |
181 | 184 | } | ... | ... |
pages/user/order_detail/order_detail.js
... | ... | @@ -822,6 +822,17 @@ Page({ |
822 | 822 | }) |
823 | 823 | |
824 | 824 | |
825 | + if(gg.prom_type==3){ | |
826 | + var prom_pc=null; | |
827 | + await getApp().request.promiseGet("/api/weshop/promgoods/get/" + os.stoid + "/" + gg.prom_id, {}).then(res => { | |
828 | + if (res.data.code == 0) { prom_pc = res.data.data; } | |
829 | + }) | |
830 | + | |
831 | + if(prom_pc){ | |
832 | + gg.discount_field=prom_pc.discount_field; | |
833 | + } | |
834 | + } | |
835 | + | |
825 | 836 | if ((gg.prom_type == 1 || gg.prom_type == 2 || gg.prom_type == 4 || gg.prom_type == 6 || gg.prom_type == 8 || gg.prom_type == 9) |
826 | 837 | && !good.is_collocation && !good.is_gift && !good.is_integral_normal && !good.is_pd_normal) { |
827 | 838 | var prom = null; |
... | ... | @@ -922,6 +933,36 @@ Page({ |
922 | 933 | yh_check=0; |
923 | 934 | } |
924 | 935 | } |
936 | + | |
937 | + //--- 要判断一下优惠促销的商品的限购 --- | |
938 | + if(yh_check){ | |
939 | + var pro_gd_limit_num=0; | |
940 | + var p_limit_rs= await getApp().request.promisePost('/api/weshop/promgoods/getPromGoodsLimitNum',{ | |
941 | + data:{ | |
942 | + store_id:os.stoid,goods_id:gg.goods_id,prom_id:gg.prom_id,prom_type:3 | |
943 | + } | |
944 | + }) | |
945 | + if(p_limit_rs && p_limit_rs.data.code==0){ | |
946 | + pro_gd_limit_num=p_limit_rs.data.data | |
947 | + } | |
948 | + //-- 如果有商品限购的时候 -- | |
949 | + if(pro_gd_limit_num>0){ | |
950 | + var pro_by_num=0; | |
951 | + var lrs= { | |
952 | + store_id: os.stoid,user_id: getApp().globalData.user_id, | |
953 | + goods_id: gg.goods_id, prom_type: 3, | |
954 | + prom_id: gg.prom_id, isnew:1 | |
955 | + }; | |
956 | + var gd_limit_rs=await getApp().promiseGet('/api/weshop/ordergoods/getUserBuyGoodsNum',{data:lrs}); | |
957 | + if(gd_limit_rs && gd_limit_rs.data.code==0){ | |
958 | + pro_by_num=gd_limit_rs.data.data.promgoodsbuynum | |
959 | + } | |
960 | + if(pro_gd_limit_num<=pro_by_num){ | |
961 | + yh_check=0; | |
962 | + } | |
963 | + } | |
964 | + } | |
965 | + | |
925 | 966 | //-- 优惠促销活动没有超出限购的话 -- |
926 | 967 | if(yh_check){ |
927 | 968 | if(!the_yh_map[gg.prom_id]) the_yh_map[gg.prom_id]=[]; |
... | ... | @@ -1043,17 +1084,32 @@ Page({ |
1043 | 1084 | |
1044 | 1085 | //-- 如果会员是等级会员,商品有等级价,且不是活动商品,同时线下取价的要放在最后来判断 -- |
1045 | 1086 | if (!good.is_gift && !good.is_collocation && gg.prom_type != 9) { |
1046 | - if (card_field && gg[card_field] > 0) { | |
1047 | - if (good.goods_price != gg[card_field] && good.offline_cut <= 0) isok = 0; | |
1048 | - if (good.goods_price > gg[card_field] && good.offline_cut > 0) isok = 0; //如果线下价格比较贵,则不通过 | |
1049 | 1087 | |
1050 | - } else { | |
1051 | - if (good.goods_price != gg.shop_price && good.offline_cut <= 0) isok = 0; | |
1052 | - if (good.goods_price > gg.shop_price && good.offline_cut > 0) isok = 0; //如果线下价格比较贵,则不通过 | |
1088 | + //-- 优惠促销的时候控制取价规则 -- | |
1089 | + if(gg.prom_type!=3 || gg.discount_field==undefined || gg.discount_field==0 ) { | |
1090 | + if (card_field && gg[card_field] > 0) { | |
1091 | + if (good.goods_price != gg[card_field] && good.offline_cut <= 0) isok = 0; | |
1092 | + if (good.goods_price > gg[card_field] && good.offline_cut > 0) isok = 0; //如果线下价格比较贵,则不通过 | |
1093 | + | |
1094 | + } else { | |
1095 | + if (good.goods_price != gg.shop_price && good.offline_cut <= 0) isok = 0; | |
1096 | + if (good.goods_price > gg.shop_price && good.offline_cut > 0) isok = 0; //如果线下价格比较贵,则不通过 | |
1097 | + } | |
1098 | + }else{ | |
1099 | + if(good.prom_type==3){ | |
1100 | + switch (gg.discount_field){ | |
1101 | + case 1: | |
1102 | + if (good.goods_price != gg.shop_price) isok = 0; | |
1103 | + break; | |
1104 | + case 2: | |
1105 | + if (good.goods_price != gg.market_price) isok = 0; | |
1106 | + break; | |
1107 | + } | |
1108 | + } | |
1053 | 1109 | } |
1110 | + | |
1054 | 1111 | var is_h = 0; |
1055 | 1112 | if (!isok) { |
1056 | - | |
1057 | 1113 | var content = gg.goods_name + '商品的价格发生了变化,请取消订单重新购买1' |
1058 | 1114 | th.toast(content); |
1059 | 1115 | th.setData({ paying: 0 }); | ... | ... |
pages/user/order_list/order_list.js
... | ... | @@ -17,6 +17,8 @@ var ut = require('../../../utils/util.js'); |
17 | 17 | var t = require("../../../utils/pay.js"); |
18 | 18 | var t_pay = require("../../../utils/pay2.js"); |
19 | 19 | |
20 | + | |
21 | + | |
20 | 22 | Page({ |
21 | 23 | data: { |
22 | 24 | url: e.globalData.setting.url, |
... | ... | @@ -1105,13 +1107,25 @@ Page({ |
1105 | 1107 | return e.s_time < ut.gettimestamp() || (e.warm_uptime && e.warm_uptime < ut.gettimestamp()) |
1106 | 1108 | }) |
1107 | 1109 | if (arr2.length == 1) { |
1108 | - gg.prom_type=arr2[0].prom_type; | |
1109 | - gg.prom_id=arr2[0].act_id; | |
1110 | + gg.prom_type=arr2[0].prom_type; | |
1111 | + gg.prom_id=arr2[0].act_id; | |
1110 | 1112 | } |
1111 | 1113 | } |
1112 | 1114 | }) |
1113 | 1115 | |
1114 | 1116 | |
1117 | + if(gg.prom_type==3){ | |
1118 | + var prom_pc=null; | |
1119 | + await getApp().request.promiseGet("/api/weshop/promgoods/get/" + os.stoid + "/" + gg.prom_id, {}).then(res => { | |
1120 | + if (res.data.code == 0) { prom_pc = res.data.data; } | |
1121 | + }) | |
1122 | + | |
1123 | + if(prom_pc){ | |
1124 | + gg.discount_field=prom_pc.discount_field; | |
1125 | + } | |
1126 | + } | |
1127 | + | |
1128 | + | |
1115 | 1129 | if ((gg.prom_type == 1 || gg.prom_type == 2 || gg.prom_type == 4 || gg.prom_type == 6 || gg.prom_type == 8 || gg.prom_type == 9) |
1116 | 1130 | && !good.is_collocation && !good.is_gift && !good.is_integral_normal && !good.is_pd_normal) { |
1117 | 1131 | var prom = null; |
... | ... | @@ -1211,11 +1225,44 @@ Page({ |
1211 | 1225 | yh_check=0; |
1212 | 1226 | } |
1213 | 1227 | } |
1228 | + | |
1229 | + //--- 要判断一下优惠促销的商品的限购 --- | |
1230 | + if(yh_check){ | |
1231 | + var pro_gd_limit_num=0; | |
1232 | + var p_limit_rs= await getApp().request.promisePost('/api/weshop/promgoods/getPromGoodsLimitNum',{ | |
1233 | + data:{ | |
1234 | + store_id:os.stoid,goods_id:gg.goods_id,prom_id:gg.prom_id,prom_type:3 | |
1235 | + } | |
1236 | + }) | |
1237 | + if(p_limit_rs && p_limit_rs.data.code==0){ | |
1238 | + pro_gd_limit_num=p_limit_rs.data.data | |
1239 | + } | |
1240 | + //-- 如果有商品限购的时候 -- | |
1241 | + if(pro_gd_limit_num>0){ | |
1242 | + var pro_by_num=0; | |
1243 | + var lrs= { | |
1244 | + store_id: os.stoid,user_id: getApp().globalData.user_id, | |
1245 | + goods_id: gg.goods_id, prom_type: 3, | |
1246 | + prom_id: gg.prom_id, isnew:1 | |
1247 | + }; | |
1248 | + var gd_limit_rs=await getApp().promiseGet('/api/weshop/ordergoods/getUserBuyGoodsNum',{data:lrs}); | |
1249 | + if(gd_limit_rs && gd_limit_rs.data.code==0){ | |
1250 | + pro_by_num=gd_limit_rs.data.data.promgoodsbuynum | |
1251 | + } | |
1252 | + if(pro_gd_limit_num<=pro_by_num){ | |
1253 | + yh_check=0; | |
1254 | + } | |
1255 | + } | |
1256 | + } | |
1257 | + | |
1214 | 1258 | //-- 优惠促销活动没有超出限购的话 -- |
1215 | 1259 | if(yh_check){ |
1216 | 1260 | if(!the_yh_map[gg.prom_id]) the_yh_map[gg.prom_id]=[]; |
1217 | 1261 | the_yh_map[gg.prom_id].push(good); |
1218 | 1262 | } |
1263 | + | |
1264 | + good.discount_field=prom.discount_field; | |
1265 | + | |
1219 | 1266 | break |
1220 | 1267 | case 7: |
1221 | 1268 | //获取组合购活动 |
... | ... | @@ -1329,14 +1376,33 @@ Page({ |
1329 | 1376 | |
1330 | 1377 | //-- 如果会员是等级会员,商品有等级价,且不是活动商品,同时线下取价的要放在最后来判断 -- |
1331 | 1378 | if (!good.is_gift && !good.is_collocation && gg.prom_type != 9) { |
1332 | - if (card_field && gg[card_field] > 0) { | |
1333 | - if (good.goods_price != gg[card_field] && good.offline_cut <= 0) isok = 0; | |
1334 | - if (good.goods_price > gg[card_field] && good.offline_cut > 0) isok = 0; //如果线下价格比较贵,则不通过 | |
1335 | 1379 | |
1336 | - } else { | |
1337 | - if (good.goods_price != gg.shop_price && good.offline_cut <= 0) isok = 0; | |
1338 | - if (good.goods_price > gg.shop_price && good.offline_cut > 0) isok = 0; //如果线下价格比较贵,则不通过 | |
1380 | + | |
1381 | + //-- 优惠促销的时候控制取价规则 -- | |
1382 | + if(gg.prom_type!=3 || gg.discount_field==undefined || gg.discount_field==0 ){ | |
1383 | + if (card_field && gg[card_field] > 0) { | |
1384 | + if (good.goods_price != gg[card_field] && good.offline_cut <= 0) isok = 0; | |
1385 | + if (good.goods_price > gg[card_field] && good.offline_cut > 0) isok = 0; //如果线下价格比较贵,则不通过 | |
1386 | + | |
1387 | + } else { | |
1388 | + if (good.goods_price != gg.shop_price && good.offline_cut <= 0) isok = 0; | |
1389 | + if (good.goods_price > gg.shop_price && good.offline_cut > 0) isok = 0; //如果线下价格比较贵,则不通过 | |
1390 | + } | |
1391 | + }else{ | |
1392 | + | |
1393 | + if(good.prom_type==3){ | |
1394 | + switch (gg.discount_field){ | |
1395 | + case 1: | |
1396 | + if (good.goods_price != gg.shop_price) isok = 0; | |
1397 | + break; | |
1398 | + case 2: | |
1399 | + if (good.goods_price != gg.market_price) isok = 0; | |
1400 | + break; | |
1401 | + } | |
1402 | + } | |
1339 | 1403 | } |
1404 | + | |
1405 | + | |
1340 | 1406 | var is_h = 0; |
1341 | 1407 | if (!isok) { |
1342 | 1408 | ... | ... |
utils/more_cx.js
... | ... | @@ -364,8 +364,29 @@ module.exports = { |
364 | 364 | return g_item.goods_id==ck_prom_type.goods[b].goods_id && [0,3,5,7,10].indexOf(g_item.prom_type)>-1; |
365 | 365 | }) |
366 | 366 | if(fg>-1){ |
367 | + | |
368 | + goods[fg].goods_price = goods[fg].init_goods_price; | |
367 | 369 | goods[fg].prom_type=ck_prom_type.prom_type; |
368 | 370 | goods[fg].prom_id=ck_prom_type.prom_id; |
371 | + | |
372 | + if(ck_prom_type.prom_type==3){ | |
373 | + let ffd=th.data.in_yhact[ck_prom_type.prom_id]; | |
374 | + let f_price = goods[fg].goods_price; | |
375 | + if (ffd.discount_field != undefined) { | |
376 | + switch (ffd.discount_field) { | |
377 | + case 0: | |
378 | + f_price = goods[fg].goods_price; | |
379 | + break; | |
380 | + case 1: | |
381 | + f_price = goods[fg].shop_price; | |
382 | + break; | |
383 | + case 2: | |
384 | + f_price = goods[fg].goods_market_price; | |
385 | + break; | |
386 | + } | |
387 | + } | |
388 | + goods[fg].goods_price = f_price; | |
389 | + } | |
369 | 390 | } |
370 | 391 | } |
371 | 392 | |
... | ... | @@ -402,8 +423,12 @@ module.exports = { |
402 | 423 | //-- 促销活动对象表,最初的map表,包含活动类型,活动id,goods商品 --- |
403 | 424 | var cx_act_map=[]; |
404 | 425 | for(var i=0; i<goods.length;i++){ |
405 | - //-- 运用深拷贝,避免价格的bug --s | |
406 | - var c_item= JSON.parse(JSON.stringify(goods[i])); | |
426 | + | |
427 | + //商品的价格要还原,只有在购物车时候有init_goods_price,因为购物车要还原 | |
428 | + if(goods[i].init_goods_price!=undefined) | |
429 | + goods[i].goods_price=goods[i].init_goods_price; | |
430 | + //进行深拷贝 | |
431 | + var c_item=JSON.parse(JSON.stringify(goods[i])); | |
407 | 432 | //没有选中 |
408 | 433 | if(!c_item.selected) continue; |
409 | 434 | //如果是秒杀之类是商品 |
... | ... | @@ -526,7 +551,7 @@ module.exports = { |
526 | 551 | for(var f=0;f<t_goods.length;f++){ |
527 | 552 | all_num+=t_goods[f].goods_num; |
528 | 553 | |
529 | - if(!is_no_change) { | |
554 | + if(is_no_change!=1) { | |
530 | 555 | //-- 优惠促销取价的优化 -- |
531 | 556 | let f_price = t_goods[f].goods_price; |
532 | 557 | if (fd.discount_field != undefined) { |
... | ... | @@ -752,6 +777,25 @@ module.exports = { |
752 | 777 | if(fg>-1){ |
753 | 778 | goods[fg].prom_type=ck_prom_type.prom_type; |
754 | 779 | goods[fg].prom_id=ck_prom_type.prom_id; |
780 | + | |
781 | + if(ck_prom_type.prom_type==3 && (is_no_change!=2 || ck_prom_type.is_no_ok!=1) ){ | |
782 | + let ffd=th.data.in_yhact[ck_prom_type.prom_id]; | |
783 | + let f_price = goods[fg].goods_price; | |
784 | + if (ffd.discount_field != undefined) { | |
785 | + switch (ffd.discount_field) { | |
786 | + case 0: | |
787 | + f_price = goods[fg].goods_price; | |
788 | + break; | |
789 | + case 1: | |
790 | + f_price = goods[fg].shop_price; | |
791 | + break; | |
792 | + case 2: | |
793 | + f_price = goods[fg].goods_market_price; | |
794 | + break; | |
795 | + } | |
796 | + } | |
797 | + goods[fg].goods_price = f_price; | |
798 | + } | |
755 | 799 | } |
756 | 800 | } |
757 | 801 | } | ... | ... |