Commit 44d592d516cd07a7f450881f7de758336c1af954
1 parent
e927fc36
1. 即使不平摊 ,在计算使用优惠券时,商品的实收都要平摊来计算
2. 指定单品优惠券的使用优化
Showing
2 changed files
with
65 additions
and
15 deletions
pages/cart/cart2/c_filter.wxs
| ... | ... | @@ -15,6 +15,7 @@ var filters = { |
| 15 | 15 | if(ind==2) return "blue"; |
| 16 | 16 | if(ind==11) return "green"; |
| 17 | 17 | if(ind==12) return "blue"; |
| 18 | + if(ind==20) return "green"; | |
| 18 | 19 | return ""; |
| 19 | 20 | }, |
| 20 | 21 | setbgcolor: function (ind) { |
| ... | ... | @@ -23,6 +24,7 @@ var filters = { |
| 23 | 24 | if (ind == 2) return "#a3bcff"; |
| 24 | 25 | if (ind == 11) return "#59e1d2"; |
| 25 | 26 | if (ind == 12) return "#a3bcff"; |
| 27 | + if (ind == 20) return "#6d87cd"; | |
| 26 | 28 | return ""; |
| 27 | 29 | }, |
| 28 | 30 | |
| ... | ... | @@ -32,6 +34,7 @@ var filters = { |
| 32 | 34 | if (ind == 2) return "品类"; |
| 33 | 35 | if (ind == 11) return "用途"; |
| 34 | 36 | if (ind == 12) return "分类1"; |
| 37 | + if (ind == 20) return "指定单品"; | |
| 35 | 38 | return ""; |
| 36 | 39 | }, |
| 37 | 40 | get_type_card:function(ind){ |
| ... | ... | @@ -40,6 +43,7 @@ var filters = { |
| 40 | 43 | if (ind == 2) return "指定品类"; |
| 41 | 44 | if (ind == 11) return "指定用途"; |
| 42 | 45 | if (ind == 12) return "指定分类1"; |
| 46 | + if (ind == 20) return "指定单品"; | |
| 43 | 47 | return ""; |
| 44 | 48 | }, |
| 45 | 49 | format_huiche:function (text) { | ... | ... |
pages/cart/cart2/cart2.js
| ... | ... | @@ -707,8 +707,7 @@ Page({ |
| 707 | 707 | } |
| 708 | 708 | |
| 709 | 709 | //-- 如果系统要平摊到单品 -- |
| 710 | - if(!th.data.ispt_goods){ | |
| 711 | - | |
| 710 | + //if(!th.data.ispt_goods){ | |
| 712 | 711 | var pt_data={ |
| 713 | 712 | 'prom_id':item_map.prom_id, |
| 714 | 713 | 'dis': parseFloat((item_map.price-item_map.prom_price).toFixed(2)), |
| ... | ... | @@ -722,11 +721,15 @@ Page({ |
| 722 | 721 | if(pt_res){ |
| 723 | 722 | for (var io in item_map.goods){ |
| 724 | 723 | //平摊赋值 |
| 725 | - item_map.goods[io].account=th.arr_get_goods(item_map.goods[io].goods_id,pt_res).fisrt_account; | |
| 726 | - item_map.goods[io].account_yu=th.arr_get_goods(item_map.goods[io].goods_id,pt_res).fisrt_account_yu; | |
| 724 | + item_map.goods[io].account_fir=th.arr_get_goods(item_map.goods[io].goods_id,pt_res).fisrt_account; | |
| 725 | + item_map.goods[io].account_yu_fir=th.arr_get_goods(item_map.goods[io].goods_id,pt_res).fisrt_account_yu; | |
| 726 | + if(!th.data.ispt_goods){ | |
| 727 | + item_map.goods[io].account=item_map.goods[io].account_fir; | |
| 728 | + item_map.goods[io].account_yu=item_map.goods[io].account_yu_fir; | |
| 729 | + } | |
| 727 | 730 | } |
| 728 | 731 | } |
| 729 | - } | |
| 732 | + // } | |
| 730 | 733 | |
| 731 | 734 | o_price-=(item_map.price-item_map.prom_price); |
| 732 | 735 | //如果有限制使用优惠券,就要减掉参与的活动商品的钱 |
| ... | ... | @@ -738,6 +741,8 @@ Page({ |
| 738 | 741 | if(item[j].prom_type==3 && item[j].prom_id==item_map.prom_id){ |
| 739 | 742 | item[j].is_xz_yh= item_map.is_xz_yh; |
| 740 | 743 | item[j].is_past= item_map.is_past; |
| 744 | + item[j].account_fir= th.item_map_get_goods(item[j].goods_id,item_map).account_fir; | |
| 745 | + item[j].account_yu_fir= th.item_map_get_goods(item[j].goods_id,item_map).account_yu_fir; | |
| 741 | 746 | item[j].account= th.item_map_get_goods(item[j].goods_id,item_map).account; |
| 742 | 747 | item[j].account_yu= th.item_map_get_goods(item[j].goods_id,item_map).account_yu; |
| 743 | 748 | } |
| ... | ... | @@ -2134,17 +2139,60 @@ Page({ |
| 2134 | 2139 | |
| 2135 | 2140 | /*--点击选择券--*/ |
| 2136 | 2141 | sele_quan_item:function(e) { |
| 2142 | + | |
| 2143 | + var ind = e.currentTarget.dataset.ind; | |
| 2144 | + var quan_item=this.data.selected_quan_list[ind]; | |
| 2145 | + var pickid=this.data.selected_quan_pick; //现在选择的是哪一个门店 | |
| 2146 | + //--如果券是单品使用的时候-- | |
| 2147 | + if(quan_item.UseObjectType=="20"){ | |
| 2148 | + //---只有多件购买的时候才要计算,//购物车购买和搭配勾的时候--- | |
| 2149 | + var gg=getApp().get_b_now(); | |
| 2150 | + if(this.data.is_b_now==0 || this.data.gg.prom_type==5){ | |
| 2151 | + var arr=this.data.order_prom_list_cart; | |
| 2152 | + var t_pk_item=null; | |
| 2153 | + for(var ii in arr){ | |
| 2154 | + var ep=arr[ii]; | |
| 2155 | + if(pickid==ep.pickup_id){ | |
| 2156 | + t_pk_item=ep; break; | |
| 2157 | + } | |
| 2158 | + } | |
| 2159 | + //--寻找券指定的商品-- | |
| 2160 | + var gd=null; | |
| 2161 | + if(t_pk_item){ | |
| 2162 | + var goods=t_pk_item.goods; | |
| 2163 | + for(var gid in goods){ | |
| 2164 | + if(quan_item.UseObjectID==goods[gid].erpwareid){ gd=goods[gid]; } | |
| 2165 | + } | |
| 2166 | + } | |
| 2167 | + if(!gd){ | |
| 2168 | + getApp().my_warnning("未找到指定商品使用",0,this,600); | |
| 2169 | + return false; | |
| 2170 | + } | |
| 2171 | + //计算价格,如果有平摊的实收要计算实收的金额 | |
| 2172 | + var item_price=gd.goods_price*gd.goods_num; | |
| 2173 | + //-- 如果有平摊下去,有实收价格的时候,就要用account_fir来计算价格 -- | |
| 2174 | + if(gd.account_fir!=null && gd.account_fir!=undefined){ | |
| 2175 | + item_price=gd.account_fir*gd.goods_num; | |
| 2176 | + } | |
| 2177 | + | |
| 2178 | + if(item_price< parseFloat(quan_item.BuySum)){ | |
| 2179 | + getApp().my_warnning("该单品金额没有大于等于"+quan_item.BuySum+"元时不能使用优惠券",0,this,600); | |
| 2180 | + return false; | |
| 2181 | + } | |
| 2182 | + } | |
| 2183 | + } | |
| 2184 | + | |
| 2137 | 2185 | var no_use=e.currentTarget.dataset.no, quanlist=this.data.selected_quan_list; |
| 2138 | 2186 | //---所有的券的显示红色选择都清理一遍--- |
| 2139 | - for(var ind in quanlist){ | |
| 2140 | - quanlist[ind].show_red=0; | |
| 2187 | + for(var i in quanlist){ | |
| 2188 | + quanlist[i].show_red=0; | |
| 2141 | 2189 | } |
| 2142 | 2190 | this.setData({selected_quan_list:quanlist}); |
| 2143 | 2191 | var by_quanlist=this.data.get_by_quan_list; |
| 2144 | 2192 | if(by_quanlist){ |
| 2145 | 2193 | //---所有的券的显示红色选择都清理一遍--- |
| 2146 | - for(var ind in by_quanlist){ | |
| 2147 | - by_quanlist[ind].show_red=0; | |
| 2194 | + for(var inb in by_quanlist){ | |
| 2195 | + by_quanlist[inb].show_red=0; | |
| 2148 | 2196 | } |
| 2149 | 2197 | this.setData({get_by_quan_list:by_quanlist}); |
| 2150 | 2198 | } |
| ... | ... | @@ -2173,11 +2221,9 @@ Page({ |
| 2173 | 2221 | return; |
| 2174 | 2222 | } |
| 2175 | 2223 | |
| 2176 | - var ind = e.currentTarget.dataset.ind; | |
| 2177 | - | |
| 2178 | - var quan_item = this.data.selected_quan_list[ind]; | |
| 2224 | + | |
| 2225 | + | |
| 2179 | 2226 | var txt = "selected_quan_list[" + ind + "].show_red"; |
| 2180 | - | |
| 2181 | 2227 | var obj = {}; |
| 2182 | 2228 | obj[txt] = 1; |
| 2183 | 2229 | if (quan_item.show_red) { |
| ... | ... | @@ -2527,8 +2573,8 @@ Page({ |
| 2527 | 2573 | is_xz_yh=0; |
| 2528 | 2574 | var item_price=gd.goods_price*gd.goods_num; |
| 2529 | 2575 | //-- 如果有平摊下去,有实收价格的时候,就要用account来计算价格 -- |
| 2530 | - if(gd.account!=null && gd.account!=undefined){ | |
| 2531 | - item_price=gd.account*gd.goods_num; | |
| 2576 | + if(gd.account_fir!=null && gd.account_fir!=undefined){ | |
| 2577 | + item_price=gd.account_fir*gd.goods_num; | |
| 2532 | 2578 | } |
| 2533 | 2579 | ckeck_quan_price+=item_price; |
| 2534 | 2580 | ... | ... |