Commit 93cd196b1d659a2687025a0ff5034cb935a4208d

Authored by yvan.ni
1 parent a71d8615

多促销的优化

packageE/pages/cart/cart2/cart2.js
@@ -688,7 +688,7 @@ Page({ @@ -688,7 +688,7 @@ Page({
688 var sort_type=''; 688 var sort_type='';
689 689
690 if(!auto_promote_sale){ 690 if(!auto_promote_sale){
691 - sort_type='prom_id'; 691 + sort_type='prom_type';
692 }else{ 692 }else{
693 var auto_promote_sale=auto_promote_sale.split(','); 693 var auto_promote_sale=auto_promote_sale.split(',');
694 //-- 循环处理 -- 694 //-- 循环处理 --
@@ -700,12 +700,12 @@ Page({ @@ -700,12 +700,12 @@ Page({
700 } 700 }
701 701
702 //-- 排序一下,进行升序 -- 702 //-- 排序一下,进行升序 --
703 - function comp(a, b,sort_type) { 703 + function comp(a, b) {
704 return a[sort_type]-b[sort_type]; //升序 704 return a[sort_type]-b[sort_type]; //升序
705 } 705 }
706 706
707 //使用sort排序 707 //使用sort排序
708 - prom_list.sort(comp); 708 + prom_list.sort(comp(sort_type));
709 }, 709 },
710 710
711 //-----真的获取购物车,入口-------- 711 //-----真的获取购物车,入口--------
@@ -1811,11 +1811,11 @@ Page({ @@ -1811,11 +1811,11 @@ Page({
1811 "user_id": user_id, 1811 "user_id": user_id,
1812 } 1812 }
1813 1813
1814 - await getApp().request.promiseGet(url, {data: req_d}).then(res => { 1814 + await getApp().request.promiseGet(url, {data: req_d}).then(e => {
1815 if (e.data.code == 0 && e.data.data && e.data.data.length > 0) { 1815 if (e.data.code == 0 && e.data.data && e.data.data.length > 0) {
1816 var arr = e.data.data; 1816 var arr = e.data.data;
1817 if (arr.length) { 1817 if (arr.length) {
1818 - arr3 = arr.filter(function (e) { 1818 + var arr3 = arr.filter(function (e) {
1819 return e.s_time < ut.gettimestamp() && e.prom_type == 7; 1819 return e.s_time < ut.gettimestamp() && e.prom_type == 7;
1820 }) 1820 })
1821 if (arr3 && arr3.length) { 1821 if (arr3 && arr3.length) {
@@ -1923,7 +1923,7 @@ Page({ @@ -1923,7 +1923,7 @@ Page({
1923 } 1923 }
1924 1924
1925 //调用接口判断优惠, 1925 //调用接口判断优惠,
1926 - var m_res=await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromListNew1/" + os.stoid + "/" + gd.goods_id + "/0" + "/" + user_id, {}); 1926 + var m_res=await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromListNew1/" + os.stoid + "/" + item1.goods_id + "/0" + "/" + user_id, {});
1927 if(m_res && m_res.data.code == 0 && m_res.data.data){ 1927 if(m_res && m_res.data.code == 0 && m_res.data.data){
1928 1928
1929 var r_data = res.data.data; 1929 var r_data = res.data.data;
@@ -7230,7 +7230,6 @@ Page({ @@ -7230,7 +7230,6 @@ Page({
7230 if (cart_commission) { 7230 if (cart_commission) {
7231 th.setData({ cart_commission }); 7231 th.setData({ cart_commission });
7232 } 7232 }
7233 -  
7234 th.data.old_cartlist = cart_arr; 7233 th.data.old_cartlist = cart_arr;
7235 }, 7234 },
7236 7235
@@ -7245,5 +7244,4 @@ Page({ @@ -7245,5 +7244,4 @@ Page({
7245 return false; 7244 return false;
7246 } 7245 }
7247 7246
7248 -  
7249 }); 7247 });
pages/cart/cart/cart.js
@@ -57,6 +57,7 @@ Page({ @@ -57,6 +57,7 @@ Page({
57 async buy_pro_group(item1, is_state) { 57 async buy_pro_group(item1, is_state) {
58 //-- 代发商品不参与任何活动 -- 58 //-- 代发商品不参与任何活动 --
59 if(item1.whsle_id) return false; 59 if(item1.whsle_id) return false;
  60 + var th=this;
60 var url = '/api/weshop/activitylist/listGoodActInfo2New'; 61 var url = '/api/weshop/activitylist/listGoodActInfo2New';
61 var user_id = getApp().globalData.user_id; 62 var user_id = getApp().globalData.user_id;
62 var zh_id = 0; 63 var zh_id = 0;
@@ -69,11 +70,11 @@ Page({ @@ -69,11 +70,11 @@ Page({
69 "user_id": user_id, 70 "user_id": user_id,
70 } 71 }
71 72
72 - await getApp().request.promiseGet(url, {data: req_d}).then(res => { 73 + await getApp().request.promiseGet(url, {data: req_d}).then(e => {
73 if (e.data.code == 0 && e.data.data && e.data.data.length > 0) { 74 if (e.data.code == 0 && e.data.data && e.data.data.length > 0) {
74 var arr = e.data.data; 75 var arr = e.data.data;
75 if (arr.length) { 76 if (arr.length) {
76 - arr3 = arr.filter(function (e) { 77 + var arr3 = arr.filter(function (e) {
77 return e.s_time < ut.gettimestamp() && e.prom_type == 7; 78 return e.s_time < ut.gettimestamp() && e.prom_type == 7;
78 }) 79 })
79 if (arr3 && arr3.length) { 80 if (arr3 && arr3.length) {
@@ -127,6 +128,10 @@ Page({ @@ -127,6 +128,10 @@ Page({
127 128
128 //-- 如果满足条件,才会显示活动 -- 129 //-- 如果满足条件,才会显示活动 --
129 if (is_zh_ok) { 130 if (is_zh_ok) {
  131 +
  132 + //-- 组合的数组填充一下 --
  133 + th.data.zuhe_map[zh_pro0.id] = zh_pro0;
  134 +
130 var url1 = "/api/weshop/prom/zhbuyGoods/page"; 135 var url1 = "/api/weshop/prom/zhbuyGoods/page";
131 var req_data = { 136 var req_data = {
132 page: 1, pageSize: 2000, 137 page: 1, pageSize: 2000,
@@ -143,7 +148,7 @@ Page({ @@ -143,7 +148,7 @@ Page({
143 }) 148 })
144 149
145 var zh_gd_fd = gdlist.find(function (e) { 150 var zh_gd_fd = gdlist.find(function (e) {
146 - return e.goods_id == item.goods_id; 151 + return e.goods_id == item1.goods_id;
147 }) 152 })
148 153
149 if (is_zh_ok) { 154 if (is_zh_ok) {
@@ -181,7 +186,7 @@ Page({ @@ -181,7 +186,7 @@ Page({
181 if (is_state == 1) { 186 if (is_state == 1) {
182 //-- 看有没有必买商品不满足的时候 -- 187 //-- 看有没有必买商品不满足的时候 --
183 var f_gd = gdlist.find(function (e) { 188 var f_gd = gdlist.find(function (e) {
184 - return e.zhqty > 0 && e.goods_id != item.goods_id; 189 + return e.zhqty > 0 && e.goods_id != item1.goods_id;
185 }) 190 })
186 if (f_gd) { 191 if (f_gd) {
187 is_zh_ok = 0; 192 is_zh_ok = 0;
@@ -202,10 +207,10 @@ Page({ @@ -202,10 +207,10 @@ Page({
202 } 207 }
203 208
204 //调用接口判断优惠, 209 //调用接口判断优惠,
205 - var m_res=await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromListNew1/" + os.stoid + "/" + gd.goods_id + "/0" + "/" + user_id, {}); 210 + var m_res=await getApp().request.promiseGet("/api/weshop/goods/getGoodsPromListNew1/" + os.stoid + "/" + item1.goods_id + "/0" + "/" + user_id, {});
206 if(m_res && m_res.data.code == 0 && m_res.data.data){ 211 if(m_res && m_res.data.code == 0 && m_res.data.data){
207 212
208 - var r_data = res.data.data; 213 + var r_data = m_res.data.data;
209 //-- 如果是搭配购的时候 -- 214 //-- 如果是搭配购的时候 --
210 if (r_data.collocationList) { 215 if (r_data.collocationList) {
211 if(!item1.more_cx) item1.more_cx=[]; 216 if(!item1.more_cx) item1.more_cx=[];
@@ -217,10 +222,28 @@ Page({ @@ -217,10 +222,28 @@ Page({
217 //-- 判断会员能不能参与阶梯促销 -- 222 //-- 判断会员能不能参与阶梯促销 --
218 await getApp().request.promiseGet("/api/weshop/prom/ladderForm/getNew/" + os.stoid + "/" + user_id + "/" + act_id, {}).then(res => { 223 await getApp().request.promiseGet("/api/weshop/prom/ladderForm/getNew/" + os.stoid + "/" + user_id + "/" + act_id, {}).then(res => {
219 if (res.data.code == 0 && res.data.data) { 224 if (res.data.code == 0 && res.data.data) {
  225 + th.data.ladder_map[act_id] = res.data.data;
220 if(!item1.more_cx) item1.more_cx=[]; 226 if(!item1.more_cx) item1.more_cx=[];
221 item1.more_cx.push({prom_type:10,prom_id: act_id}); 227 item1.more_cx.push({prom_type:10,prom_id: act_id});
222 } 228 }
223 }) 229 })
  230 +
  231 + if(th.data.ladder_map[act_id]){
  232 + //-- 获取阶梯规则 --
  233 + var url1 = "/api/weshop/prom/ladderList/list";
  234 + var req_data0 = {
  235 + store_id: os.stoid,
  236 + form_id: act_id,
  237 + }
  238 + await getApp().request.promiseGet(url1, {
  239 + data: req_data0
  240 + }).then(rs1 => {
  241 + if (rs1.data.code == 0 && rs1.data.data) {
  242 + var gdlist = rs1.data.data;
  243 + th.data.ladder_map[act_id].ladder_list = gdlist;
  244 + }
  245 + })
  246 + }
224 } 247 }
225 //-- 优惠促销的时候 -- 此时要注意活动的限购次数,以及活动的购买金额或者购买数量有没有满足 248 //-- 优惠促销的时候 -- 此时要注意活动的限购次数,以及活动的购买金额或者购买数量有没有满足
226 if (r_data.promGoodsLists) { 249 if (r_data.promGoodsLists) {
@@ -246,7 +269,7 @@ Page({ @@ -246,7 +269,7 @@ Page({
246 } 269 }
247 }else{ 270 }else{
248 //-- 按数量进行计算 -- 271 //-- 按数量进行计算 --
249 - var all_price = item.goods_price * item1.goods_num; 272 + var all_price = item1.goods_price * item1.goods_num;
250 if (parseFloat(fir_act.condition) > parseFloat(parseFloat(all_price).toFixed(2))) { 273 if (parseFloat(fir_act.condition) > parseFloat(parseFloat(all_price).toFixed(2))) {
251 item1.more_cx.push(push_item); 274 item1.more_cx.push(push_item);
252 } 275 }
@@ -260,7 +283,6 @@ Page({ @@ -260,7 +283,6 @@ Page({
260 } 283 }
261 } 284 }
262 285
263 -  
264 }, 286 },
265 287
266 onLoad: function () { 288 onLoad: function () {
@@ -306,6 +328,7 @@ Page({ @@ -306,6 +328,7 @@ Page({
306 var is_open_offline = json_d.is_pricing_open; 328 var is_open_offline = json_d.is_pricing_open;
307 th.setData({ 329 th.setData({
308 bconfig: e, 330 bconfig: e,
  331 + json_d:json_d,
309 freight_free: e.freight_free, 332 freight_free: e.freight_free,
310 weight_free: e.weight_free, 333 weight_free: e.weight_free,
311 sales_rules: e.sales_rules, 334 sales_rules: e.sales_rules,
@@ -639,6 +662,9 @@ Page({ @@ -639,6 +662,9 @@ Page({
639 var th = this; 662 var th = this;
640 th.data.in_zhact_gdmap = {}; 663 th.data.in_zhact_gdmap = {};
641 th.data.ladder_map = {}; 664 th.data.ladder_map = {};
  665 + th.data.zuhe_map={};
  666 + th.data.zuhe_map_good={};
  667 +
642 var rd = Math.random().toString(36).substr(2, 15); 668 var rd = Math.random().toString(36).substr(2, 15);
643 var user_id = getApp().globalData.user_id; 669 var user_id = getApp().globalData.user_id;
644 670
@@ -1999,9 +2025,6 @@ Page({ @@ -1999,9 +2025,6 @@ Page({
1999 all_num = 0; 2025 all_num = 0;
2000 2026
2001 2027
2002 - th.data.zuhe_map={};  
2003 - th.data.zuhe_map_good={};  
2004 -  
2005 //-- 购物车 -- 2028 //-- 购物车 --
2006 if (car && car.length > 0) { 2029 if (car && car.length > 0) {
2007 th.data.in_zhact_gdmap = {}; 2030 th.data.in_zhact_gdmap = {};
@@ -2009,95 +2032,109 @@ Page({ @@ -2009,95 +2032,109 @@ Page({
2009 2032
2010 var item = car[a].goods, is_s_sele = 1; 2033 var item = car[a].goods, is_s_sele = 1;
2011 //-- 先批量判断一下活动的类型,同时要同步跟新 -- 2034 //-- 先批量判断一下活动的类型,同时要同步跟新 --
2012 - await th.cart_cx_group(item,a);  
2013 -  
2014 - var offline_price = 0;  
2015 - var offline_num = 0;  
2016 - for (var c = 0; c < item.length; c++) {  
2017 - if (item[c].is_gift) continue;  
2018 - all_num += item[c].goods_num;  
2019 -  
2020 - //不管怎么样都要移出去  
2021 - var obj = JSON.parse(JSON.stringify(item[c]));  
2022 - zh_calc.remove_zhprom(car, a, obj);  
2023 - ladder_calc.remove_ladder_prom(car, a, obj);  
2024 -  
2025 - if (item[c].selected == 0) {  
2026 - ischeck = 0;  
2027 - is_s_sele = 0;  
2028 - if (item[c].prom_type == 7) {  
2029 - obj.goods_num = 0;  
2030 - zh_calc.add_zhprom(car, a, obj); 2035 + await th.cart_cx_group(item,car[a],(show_can_cx)=>{
  2036 + var offline_price = 0;
  2037 + var offline_num = 0;
  2038 + for (var c = 0; c < item.length; c++) {
  2039 + if (item[c].is_gift) continue;
  2040 + all_num += item[c].goods_num;
  2041 +
  2042 + if(item[c].prom_type==7){
  2043 + item[c].act=th.data.zuhe_map[item[c].prom_id];
2031 } 2044 }
2032 - if (item[c].prom_type == 10) {  
2033 - obj.goods_num = 0;  
2034 - ladder_calc.add_ladder_prom(car, a, obj); 2045 + if(item[c].prom_type==10){
  2046 + item[c].act=th.data.ladder_map[item[c].prom_id];
2035 } 2047 }
2036 2048
  2049 + //不管怎么样都要移出去
  2050 + var obj = JSON.parse(JSON.stringify(item[c]));
  2051 + zh_calc.remove_zhprom(car, a, obj);
  2052 + ladder_calc.remove_ladder_prom(car, a, obj);
  2053 +
  2054 + if (item[c].selected == 0) {
  2055 + ischeck = 0;
  2056 + is_s_sele = 0;
  2057 + if (item[c].prom_type == 7) {
  2058 + obj.goods_num = 0;
  2059 + zh_calc.add_zhprom(car, a, obj);
  2060 + }
  2061 + if (item[c].prom_type == 10) {
  2062 + obj.goods_num = 0;
  2063 + ladder_calc.add_ladder_prom(car, a, obj);
  2064 + }
2037 2065
2038 - } else {  
2039 - if (item[c].prom_type == 7) {  
2040 - //先把商品放入组合计算的专用的区域  
2041 - console.log('是组合商品---')  
2042 - console.log(car);  
2043 - console.log(a)  
2044 - console.log(obj)  
2045 - console.log('......................')  
2046 - zh_calc.add_zhprom(car, a, obj);  
2047 - } else if (item[c].prom_type == 10) {  
2048 - ladder_calc.add_ladder_prom(car, a, obj);  
2049 - }  
2050 - else {  
2051 - tfeel += item[c].goods_num * item[c].goods_price; 2066 +
  2067 + } else {
  2068 + if (item[c].prom_type == 7) {
  2069 + //先把商品放入组合计算的专用的区域
  2070 + console.log('是组合商品---')
  2071 + console.log(car);
  2072 + console.log(a)
  2073 + console.log(obj)
  2074 + console.log('......................')
  2075 + zh_calc.add_zhprom(car, a, obj);
  2076 + } else if (item[c].prom_type == 10) {
  2077 + ladder_calc.add_ladder_prom(car, a, obj);
  2078 + }
  2079 + else {
  2080 + tfeel += item[c].goods_num * item[c].goods_price;
  2081 + }
  2082 + t_num += item[c].goods_num;
2052 } 2083 }
2053 - t_num += item[c].goods_num;  
2054 - }  
2055 2084
2056 - //-- 如果这个商品是线下取价的时候 --  
2057 - if (item[c].is_offline && item[c].prom_type != 7) {  
2058 - offline_price += (item[c].goods_price - item[c].offline_price) * item[c].goods_num;  
2059 - offline_num += item[c].goods_num; 2085 + //-- 如果这个商品是线下取价的时候 --
  2086 + if (item[c].is_offline && item[c].prom_type != 7) {
  2087 + offline_price += (item[c].goods_price - item[c].offline_price) * item[c].goods_num;
  2088 + offline_num += item[c].goods_num;
  2089 + }
2060 } 2090 }
2061 - }  
2062 2091
2063 - //总的价格,把组合商品的价格拿出来  
2064 - var zh_calc_res = zh_calc.calculate_zh(car, a, th);  
2065 - console.log('.组合价-----------')  
2066 - console.log(zh_calc_res)  
2067 - //总的价格,把阶梯促销商品的价格拿出来  
2068 - var ladder_calc_res = ladder_calc.calculate_ladder(car, a, th); 2092 + //总的价格,把组合商品的价格拿出来
  2093 + var zh_calc_res = zh_calc.calculate_zh(car, a, th);
  2094 + console.log('.组合价-----------')
  2095 + console.log(zh_calc_res)
  2096 + //总的价格,把阶梯促销商品的价格拿出来
  2097 + var ladder_calc_res = ladder_calc.calculate_ladder(car, a, th);
2069 2098
2070 - tfeel += zh_calc_res.tfeel;  
2071 - offline_price += zh_calc_res.offline_price;  
2072 - offline_num += zh_calc_res.offline_num; 2099 + tfeel += zh_calc_res.tfeel;
  2100 + offline_price += zh_calc_res.offline_price;
  2101 + offline_num += zh_calc_res.offline_num;
2073 2102
2074 - tfeel += ladder_calc_res.tfeel;  
2075 - offline_price += ladder_calc_res.offline_price;  
2076 - offline_num += ladder_calc_res.offline_num; 2103 + tfeel += ladder_calc_res.tfeel;
  2104 + offline_price += ladder_calc_res.offline_price;
  2105 + offline_num += ladder_calc_res.offline_num;
2077 2106
2078 - var txt = "requestData[" + a + "].selected";  
2079 - th.setData({  
2080 - [txt]: Number(is_s_sele)  
2081 - }); 2107 + var txt = "requestData[" + a + "].selected";
  2108 + th.setData({
  2109 + [txt]: Number(is_s_sele)
  2110 + });
2082 2111
2083 - //当有线下取价的时候  
2084 - if (offline_price) {  
2085 - var txt1 = "requestData[" + a + "].offline_price";  
2086 - var txt2 = "requestData[" + a + "].offline_num"; 2112 + var txt1 = "requestData[" + a + "].show_can_cx";
2087 th.setData({ 2113 th.setData({
2088 - [txt1]: offline_price.toFixed(2),  
2089 - [txt2]: offline_num, 2114 + [txt1]: show_can_cx
2090 }); 2115 });
2091 - } else {  
2092 - if (car[a].offline_price > 0) { 2116 +
  2117 + //当有线下取价的时候
  2118 + if (offline_price) {
2093 var txt1 = "requestData[" + a + "].offline_price"; 2119 var txt1 = "requestData[" + a + "].offline_price";
2094 var txt2 = "requestData[" + a + "].offline_num"; 2120 var txt2 = "requestData[" + a + "].offline_num";
2095 th.setData({ 2121 th.setData({
2096 - [txt1]: 0,  
2097 - [txt2]: 0 2122 + [txt1]: offline_price.toFixed(2),
  2123 + [txt2]: offline_num,
2098 }); 2124 });
  2125 + } else {
  2126 + if (car[a].offline_price > 0) {
  2127 + var txt1 = "requestData[" + a + "].offline_price";
  2128 + var txt2 = "requestData[" + a + "].offline_num";
  2129 + th.setData({
  2130 + [txt1]: 0,
  2131 + [txt2]: 0
  2132 + });
  2133 + }
2099 } 2134 }
2100 - } 2135 + });
  2136 +
  2137 +
2101 2138
2102 } 2139 }
2103 } 2140 }
@@ -2126,6 +2163,9 @@ Page({ @@ -2126,6 +2163,9 @@ Page({
2126 th.setData({ 2163 th.setData({
2127 [txt]: Number(is_s_sele) 2164 [txt]: Number(is_s_sele)
2128 }); 2165 });
  2166 +
  2167 +
  2168 +
2129 } 2169 }
2130 } 2170 }
2131 2171
@@ -4297,16 +4337,76 @@ Page({ @@ -4297,16 +4337,76 @@ Page({
4297 }, 4337 },
4298 4338
4299 //-- 判读一下促销分组的问题 -- 4339 //-- 判读一下促销分组的问题 --
4300 - async cart_cx_group(goods,index){ 4340 + async cart_cx_group(goods,car_item,func){
  4341 +
  4342 + if(car_item.change_act){
  4343 +
  4344 + car_item.change_act=0;
  4345 + var show_can_cx=car_item.show_can_cx;
  4346 +
  4347 + for(var k in show_can_cx){
  4348 + var k_item=show_can_cx[k];
  4349 + var ck_prom_type=null;
  4350 + //-- 如果是多活动,先把活动按照后台的顺序排序一下,
  4351 + //-- 同时确定一下商品最终要用什么活动来购买计算。 --就是要进行切换 --
  4352 + if(k_item.act_arr.length>1){
  4353 + var json_d =this.data.json_d;
  4354 + var auto_promote_sale=json_d.auto_promote_sale;
  4355 + var sort_type='';
  4356 +
  4357 + if(!auto_promote_sale){
  4358 + sort_type='prom_type';
  4359 + }else{
  4360 + var auto_promote_sale=auto_promote_sale.split(',');
  4361 + //-- 循环处理 --
  4362 + k_item.act_arr.map(function (e){
  4363 + var fd=auto_promote_sale.indexOf(e.prom_type+'');
  4364 + e.sort=fd;
  4365 + })
  4366 + sort_type='sort';
  4367 + }
  4368 + //-- 排序一下,进行升序 --
  4369 + function comp(a, b) {
  4370 + return a[sort_type]-b[sort_type]; //升序
  4371 + }
  4372 + //活动要排序一下
  4373 + k_item.act_arr.sort(comp);
  4374 +
  4375 + //确定一下活动,先看一下有没有选择的活动
  4376 + ck_prom_type=k_item.act_arr.find(function (el){
  4377 + return el.sele;
  4378 + })
  4379 +
  4380 + }
  4381 + //-- 此时已经确定了商品的活动是什么类型的,可以确定购物车中商品的具体活动进行金额的计算 --
  4382 + if(!ck_prom_type) ck_prom_type=k_item.act_arr[0];
  4383 +
  4384 + //-- 此时要把购物车中的商品确定活动 --
  4385 + for (var b=0; b<ck_prom_type.goods.length;b++){
  4386 + //-- 开始查找 --
  4387 + var fg=goods.findIndex(function (g_item){
  4388 + return g_item.goods_id==ck_prom_type.goods[b].goods_id && [0,3,5,7,10].indexOf(g_item.prom_type)>-1;
  4389 + })
  4390 + if(fg>-1){
  4391 + goods[fg].prom_type=ck_prom_type.prom_type;
  4392 + goods[fg].prom_id=ck_prom_type.prom_id;
  4393 + }
  4394 + }
  4395 +
  4396 + }
  4397 +
  4398 + func(show_can_cx);
  4399 + }
  4400 +
4301 var th=this; 4401 var th=this;
4302 - //-- 促销活动对象表 --- 4402 + //-- 促销活动对象表,最初的map表,包含活动类型,活动id,goods商品 ---
4303 var cx_act_map=[]; 4403 var cx_act_map=[];
4304 for(var i=0; i<goods.length;i++){ 4404 for(var i=0; i<goods.length;i++){
4305 var c_item=goods[i]; 4405 var c_item=goods[i];
4306 //没有选中 4406 //没有选中
4307 if(!c_item.selected) continue; 4407 if(!c_item.selected) continue;
4308 //如果是秒杀之类是商品 4408 //如果是秒杀之类是商品
4309 - if([1,2,4,6,8,9].indexOf(c_item.prom_type)) continue; 4409 + if([1,2,4,6,8,9].indexOf(c_item.prom_type)>-1) continue;
4310 4410
4311 //-- 把活动进行规整 -- 4411 //-- 把活动进行规整 --
4312 var more_cx=c_item.more_cx; 4412 var more_cx=c_item.more_cx;
@@ -4319,7 +4419,7 @@ Page({ @@ -4319,7 +4419,7 @@ Page({
4319 if(fd){ 4419 if(fd){
4320 fd.goods.push(c_item); 4420 fd.goods.push(c_item);
4321 }else{ 4421 }else{
4322 - var p_item={key:key,prom_type:c_item.prom_type,prom_id:c_item.prom_id,goods:[],act:n_item}; 4422 + var p_item={key:key,prom_type:n_item.prom_type,prom_id:n_item.prom_id,goods:[],act:n_item};
4323 p_item.goods.push(c_item); 4423 p_item.goods.push(c_item);
4324 cx_act_map.push(p_item); 4424 cx_act_map.push(p_item);
4325 } 4425 }
@@ -4327,16 +4427,13 @@ Page({ @@ -4327,16 +4427,13 @@ Page({
4327 goods[i].prom_type=0; 4427 goods[i].prom_type=0;
4328 goods[i].prom_id=0; 4428 goods[i].prom_id=0;
4329 } 4429 }
4330 -  
4331 //-- 如果活动数量大于1个,那么活动就要排序一下,有商品种类数最多排再前面,降序进行排列 -- 4430 //-- 如果活动数量大于1个,那么活动就要排序一下,有商品种类数最多排再前面,降序进行排列 --
4332 if(cx_act_map.length>1){ 4431 if(cx_act_map.length>1){
4333 //门店分类要排序下 4432 //门店分类要排序下
4334 - function compare() {  
4335 - return function (a, b) { 4433 + function compare(a, b) {
4336 var value1 = a.goods.length; 4434 var value1 = a.goods.length;
4337 var value2 = b.goods.length; 4435 var value2 = b.goods.length;
4338 return value2 - value1; 4436 return value2 - value1;
4339 - }  
4340 } 4437 }
4341 cx_act_map.sort(compare); 4438 cx_act_map.sort(compare);
4342 } 4439 }
@@ -4347,8 +4444,8 @@ Page({ @@ -4347,8 +4444,8 @@ Page({
4347 4444
4348 var item_act_map=cx_act_map[ii]; 4445 var item_act_map=cx_act_map[ii];
4349 //如果活动有交集的时候,商品数量一样多(不是完全相同时,就是参与的商品有交集),就按照后台确定的活动顺序 4446 //如果活动有交集的时候,商品数量一样多(不是完全相同时,就是参与的商品有交集),就按照后台确定的活动顺序
4350 - //如果活动的商品一样(那就是多活动切换),优先计算的活动按照后台确定的活动顺序  
4351 //如果活动商品数量少的和 活动数量多的 有交集,那么数量少的不显示,也不计算 4447 //如果活动商品数量少的和 活动数量多的 有交集,那么数量少的不显示,也不计算
  4448 + //如果活动的商品一样(那就是多活动切换),优先计算的活动按照后台确定的活动顺序
4352 if(!th.check_ok_cx_pro(item_act_map,can_calc_cx)){ 4449 if(!th.check_ok_cx_pro(item_act_map,can_calc_cx)){
4353 continue; 4450 continue;
4354 } 4451 }
@@ -4363,6 +4460,24 @@ Page({ @@ -4363,6 +4460,24 @@ Page({
4363 all_pri+=t_goods[f].goods_num*t_goods[f].goods_price; 4460 all_pri+=t_goods[f].goods_num*t_goods[f].goods_price;
4364 } 4461 }
4365 4462
  4463 + var yh_ok=1;
  4464 + switch (fir_act.prom_type){
  4465 + case 0:
  4466 + if(all_pri<fir_act.condition) {
  4467 + yh_ok=0;
  4468 + }
  4469 + break;
  4470 + case 1:
  4471 + if(all_num<fir_act.condition) {
  4472 + yh_ok=0;
  4473 + }
  4474 + break;
  4475 + }
  4476 +
  4477 + //-- 如果有满足优惠条件的时候 --
  4478 + if(yh_ok){
  4479 + can_calc_cx.push(item_act_map)
  4480 + }
4366 break 4481 break
4367 case 7: 4482 case 7:
4368 //-- 活动列表 -- 4483 //-- 活动列表 --
@@ -4379,7 +4494,7 @@ Page({ @@ -4379,7 +4494,7 @@ Page({
4379 user_id: getApp().globalData.user_id, 4494 user_id: getApp().globalData.user_id,
4380 goods_id: zh_goods[h].goods_id, 4495 goods_id: zh_goods[h].goods_id,
4381 prom_type: 7, 4496 prom_type: 7,
4382 - prom_id: zh_id 4497 + prom_id: item_act_map.prom_id
4383 }, 4498 },
4384 }) 4499 })
4385 if(res.data.code==0 && res.data.data && res.data.data.promgoodsbuynum){ 4500 if(res.data.code==0 && res.data.data && res.data.data.promgoodsbuynum){
@@ -4388,12 +4503,13 @@ Page({ @@ -4388,12 +4503,13 @@ Page({
4388 zh_goods[h].zh_b_num=promgoodsbuynum; 4503 zh_goods[h].zh_b_num=promgoodsbuynum;
4389 } 4504 }
4390 //-- 放到map中 -- 4505 //-- 放到map中 --
4391 - th.data.zuhe_map[item.prom_id] = act;  
4392 - th.data.zuhe_map_good[item.prom_id] = zhact_gdlist; 4506 + th.data.zuhe_map_good[item_act_map.prom_id] = zhact_gdlist;
  4507 + if(!car_item.zh_prom_goods) car_item.zh_prom_goods={};
  4508 + car_item.zh_prom_goods[item_act_map.prom_id] = zhact_gdlist;
4393 4509
4394 var zh_pro0 = null; 4510 var zh_pro0 = null;
4395 //-- 获取活动信息 -- 4511 //-- 获取活动信息 --
4396 - var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" + zh_id + "/" + getApp().globalData.user_id; 4512 + var url = "/api/weshop/prom/zhbuy/get/" + os.stoid + "/" + item_act_map.prom_id + "/" + getApp().globalData.user_id;
4397 await getApp().request.promiseGet(url, {}).then(rh => { 4513 await getApp().request.promiseGet(url, {}).then(rh => {
4398 zh_pro0 = rh.data.data; 4514 zh_pro0 = rh.data.data;
4399 }) 4515 })
@@ -4409,13 +4525,116 @@ Page({ @@ -4409,13 +4525,116 @@ Page({
4409 4525
4410 } 4526 }
4411 4527
  4528 + //-- 此时来给满足条件的活动进行分组~~相同参与商品和数量的归纳再一起, --
  4529 + //-- 同时相同商品数量的活动,还要看取那一个来进行计算金额。 默认的时候是按照后台的顺序。--
  4530 + //-- 有选择的时候,就按照切换选择了什么就按照什么来计算 --
  4531 + var show_can_cx={};
4412 if(can_calc_cx.length){ 4532 if(can_calc_cx.length){
4413 - 4533 + for(var p=0;p<can_calc_cx.length;p++){
  4534 + var ch_map=[];
  4535 + can_calc_cx[p].goods.map(function (gd){
  4536 + ch_map.push(gd.goods_id);
  4537 + })
  4538 + ch_map.sort();
  4539 + //-- 先找一下,有没有参与的商品一模一样的 --
  4540 + var fd=show_can_cx[ch_map.join()];
  4541 + if(fd){
  4542 + //-- 把数组添加进去 --ch_map
  4543 + fd.act_arr.push(can_calc_cx[p])
  4544 + }else{
  4545 + var e={ch_map:ch_map,act_arr:[]};
  4546 + e.act_arr.push(can_calc_cx[p]);
  4547 + show_can_cx[ch_map.join()]=e;
  4548 + }
  4549 + }
4414 } 4550 }
4415 4551
4416 - th.setData({can_calc_cx})  
4417 - } 4552 + for(var k in show_can_cx){
  4553 + var k_item=show_can_cx[k];
  4554 + var ck_prom_type=null;
  4555 + //-- 如果是多活动,先把活动按照后台的顺序排序一下,
  4556 + //-- 同时确定一下商品最终要用什么活动来购买计算。 --就是要进行切换 --
  4557 + if(k_item.act_arr.length>1){
  4558 + var json_d =this.data.json_d;
  4559 + var auto_promote_sale=json_d.auto_promote_sale;
  4560 + var sort_type='';
  4561 +
  4562 + if(!auto_promote_sale){
  4563 + sort_type='prom_type';
  4564 + }else{
  4565 + var auto_promote_sale=auto_promote_sale.split(',');
  4566 + //-- 循环处理 --
  4567 + k_item.act_arr.map(function (e){
  4568 + var fd=auto_promote_sale.indexOf(e.prom_type+'');
  4569 + e.sort=fd;
  4570 + })
  4571 + sort_type='sort';
  4572 + }
  4573 + //-- 排序一下,进行升序 --
  4574 + function comp(a, b) {
  4575 + return a[sort_type]-b[sort_type]; //升序
  4576 + }
  4577 + //活动要排序一下
  4578 + k_item.act_arr.sort(comp);
  4579 +
  4580 + //确定一下活动,先看一下有没有选择的活动
  4581 + ck_prom_type=k_item.act_arr.find(function (el){
  4582 + return el.sele;
  4583 + })
  4584 +
  4585 + }
  4586 + //-- 此时已经确定了商品的活动是什么类型的,可以确定购物车中商品的具体活动进行金额的计算 --
  4587 + if(!ck_prom_type) ck_prom_type=k_item.act_arr[0];
  4588 +
  4589 + //-- 此时要把购物车中的商品确定活动 --
  4590 + for (var b=0; b<ck_prom_type.goods.length;b++){
  4591 + //-- 开始查找 --
  4592 + var fg=goods.findIndex(function (g_item){
  4593 + return g_item.goods_id==ck_prom_type.goods[b].goods_id && [0,3,5,7,10].indexOf(g_item.prom_type)>-1;
  4594 + })
  4595 + if(fg>-1){
  4596 + goods[fg].prom_type=ck_prom_type.prom_type;
  4597 + goods[fg].prom_id=ck_prom_type.prom_id;
  4598 + }
  4599 + }
4418 4600
  4601 + }
4419 4602
  4603 + //-- 显示到前端,并切换 --
  4604 + //th.setData({show_can_cx})
  4605 + //--- 调用回调函数 ---
  4606 + func(show_can_cx);
  4607 + },
  4608 + //-- 查看活动参与的商品是不是有重复交集的地方,是不是一样的商品数量,can_calc_cx这个数组也是按照商品的数量降序排列的--
  4609 + check_ok_cx_pro(item_act_map,can_calc_cx){
  4610 + //-- 加入第一个,返回真 --
  4611 + if(!can_calc_cx.length) return true;
  4612 + var th_goods=item_act_map.goods;
  4613 + for(var i=0;i<can_calc_cx.length;i++){
  4614 + var can_goods=can_calc_cx[i].goods;
  4615 + //计算一下有交集的数量,没有交集,OK
  4616 + var num=this.hasJiao(can_goods,th_goods);
  4617 + if(!num) continue;
  4618 + //计算一下俩个shu
  4619 + if(can_goods.length==th_goods.length && can_goods.length==num){
  4620 + return true;
  4621 + }
  4622 + if(can_goods.length>th_goods.length){
  4623 + return false;
  4624 + }
  4625 + }
  4626 + return true;
  4627 + },
  4628 + //-- 判断是不是有交集,返回交集的数量 --
  4629 + hasJiao(arr1, arr2){
  4630 + var num=0;
  4631 + arr1.map(function (e){
  4632 + var idx=arr2.findIndex(function (g){
  4633 + return g.goods_id==e.goods_id;
  4634 + })
  4635 + if(idx>-1) num++;
  4636 + })
  4637 + return num;
  4638 + }
4420 4639
4421 }); 4640 });
4422 \ No newline at end of file 4641 \ No newline at end of file
pages/cart/cart/cart.wxml
@@ -38,7 +38,7 @@ @@ -38,7 +38,7 @@
38 38
39 <!-- 商品的列表 --> 39 <!-- 商品的列表 -->
40 <block wx:if="{{requestData && requestData.length>0}}"> 40 <block wx:if="{{requestData && requestData.length>0}}">
41 - <block wx:for="{{requestData}}" wx:key="{{index}}" wx:for-index="pidx"> 41 + <block wx:for="{{requestData}}" wx:key="{{index}}" wx:for-item="item" wx:for-index="pidx">
42 <!-- 门店底下的商品 --> 42 <!-- 门店底下的商品 -->
43 <view class="store"> 43 <view class="store">
44 <view class="shmd_m"> 44 <view class="shmd_m">
@@ -53,75 +53,101 @@ @@ -53,75 +53,101 @@
53 </view> 53 </view>
54 54
55 </view> 55 </view>
56 - <view class="order-item" data-item="{{idx}}" wx:for="{{item.goods}}" wx:for-item="items" wx:for-index="idx" wx:key="{{index}}">  
57 - <block wx:if="{{!items.is_gift}}">  
58 - <view bindtap="check_th_item" class="order-raido flex-vertical " data-check="{{items.selected}}" data-item="{{idx}}" data-pitems="{{pidx}}">  
59 - <!--<radio color="red" checked="{{checkAllToggle||items.selected}}"></radio>-->  
60 - <icon wx:if="{{checkAllToggle||items.selected}}" color="red" size="20" type="success"></icon>  
61 - <text wx:else class="icon_no_sele"></text>  
62 - </view>  
63 - </block>  
64 - <block wx:else><view class="order-raido flex-vertical " style="width: 45rpx"></view></block>  
65 56
66 - <navigator class="goods-img rel" bindtap="go_gd" data-item="{{items}}" data-gd="{{items.goods_id}}">  
67 - <image class="wh100" src="{{items.original_img}}" binderror="bind_bnerr2" data-errorimg="requestData[{{pidx}}].goods[{{idx}}].original_img" data-url="{{items.original_img}}"></image>  
68 - <block wx:if="{{items.is_gift}}">  
69 - <view style="background-color:red" class="abs flex-center fs26" wx:if="{{items.is_gift==1}}">赠品</view>  
70 - </block>  
71 - <block wx:else>  
72 - <view class="abs flex-center fs26" wx:if="{{items.distr_type==0}}">自选</view>  
73 - <view class="abs flex-center fs26" wx:if="{{items.distr_type==1}}">自提</view>  
74 - <view class="abs flex-center fs26" wx:if="{{items.distr_type==2}}">物流</view>  
75 - </block>  
76 -  
77 - <block wx:if="{{items.prom_type==7}}">  
78 - <block wx:if="{{items.selected}}">  
79 - <!-- 主要显示限购 -->  
80 - <text wx:if="{{items.zhqty>items.goods_num}}" class="abs2">还需购买{{items.zhqty-items.goods_num}}件</text>  
81 - </block>  
82 - <block wx:else>  
83 - <text wx:if="{{items.zhqty}}" class="abs2">需购买{{items.zhqty}}件</text> 57 + <block wx:for="{{item.goods}}" wx:for-item="items" wx:for-index="idx" wx:key="{{index}}">
  58 + <view class="order-item" data-item="{{idx}}">
  59 + <block wx:if="{{!items.is_gift}}">
  60 + <view bindtap="check_th_item" class="order-raido flex-vertical " data-check="{{items.selected}}" data-item="{{idx}}" data-pitems="{{pidx}}">
  61 + <!--<radio color="red" checked="{{checkAllToggle||items.selected}}"></radio>-->
  62 + <icon wx:if="{{checkAllToggle||items.selected}}" color="red" size="20" type="success"></icon>
  63 + <text wx:else class="icon_no_sele"></text>
  64 + </view>
84 </block> 65 </block>
85 - </block> 66 + <block wx:else><view class="order-raido flex-vertical " style="width: 45rpx"></view></block>
86 67
  68 + <navigator class="goods-img rel" bindtap="go_gd" data-item="{{items}}" data-gd="{{items.goods_id}}">
  69 + <image class="wh100" src="{{items.original_img}}" binderror="bind_bnerr2" data-errorimg="requestData[{{pidx}}].goods[{{idx}}].original_img" data-url="{{items.original_img}}"></image>
  70 + <block wx:if="{{items.is_gift}}">
  71 + <view style="background-color:red" class="abs flex-center fs26" wx:if="{{items.is_gift==1}}">赠品</view>
  72 + </block>
  73 + <block wx:else>
  74 + <view class="abs flex-center fs26" wx:if="{{items.distr_type==0}}">自选</view>
  75 + <view class="abs flex-center fs26" wx:if="{{items.distr_type==1}}">自提</view>
  76 + <view class="abs flex-center fs26" wx:if="{{items.distr_type==2}}">物流</view>
  77 + </block>
87 78
88 - </navigator>  
89 - <view class="goods-cont">  
90 - <view class="goods-name">  
91 - <navigator bindtap="go_gd" class="ellipsis-2 fs30" data-item="{{items}}" data-gd="{{items.goods_id}}">{{items.goods_name}}</navigator> 79 + <block wx:if="{{items.prom_type==7}}">
  80 + <block wx:if="{{items.selected}}">
  81 + <!-- 主要显示限购 -->
  82 + <text wx:if="{{items.zhqty>items.goods_num}}" class="abs2">还需购买{{items.zhqty-items.goods_num}}件</text>
  83 + </block>
  84 + <block wx:else>
  85 + <text wx:if="{{items.zhqty}}" class="abs2">需购买{{items.zhqty}}件</text>
  86 + </block>
  87 + </block>
92 88
93 - <view class="specifications ellipsis-1">  
94 - <view wx:if="{{items.goods_color || items.goods_spec}}">  
95 - {{items.goods_color}}{{items.goods_color?"/":''}}{{items.goods_spec}}</view>  
96 - <view wx:else>规格1</view>  
97 - </view>  
98 - <block wx:if="{{items.is_gift}}">  
99 - <view>{{items.goods_num}}件</view>  
100 - </block>  
101 - <view wx:if="{{items.buyqty>0}}" class="fs22 ml10 c-7b">组合限购{{items.buyqty}}件</view>  
102 - </view>  
103 89
  90 + </navigator>
  91 + <view class="goods-cont">
  92 + <view class="goods-name">
  93 + <navigator bindtap="go_gd" class="ellipsis-2 fs30" data-item="{{items}}" data-gd="{{items.goods_id}}">{{items.goods_name}}</navigator>
104 94
105 - <block wx:if="{{!items.is_gift}}">  
106 - <view class="flex alend jc_sb">  
107 - <view class="goods-price co-red baseline ellipsis-1">  
108 - <view class="fs20">¥</view>  
109 - <view class="fs28">{{items.goods_price}}</view> 95 + <view class="specifications ellipsis-1">
  96 + <view wx:if="{{items.goods_color || items.goods_spec}}">
  97 + {{items.goods_color}}{{items.goods_color?"/":''}}{{items.goods_spec}}</view>
  98 + <view wx:else>规格1</view>
  99 + </view>
  100 + <block wx:if="{{items.is_gift}}">
  101 + <view>{{items.goods_num}}件</view>
  102 + </block>
  103 + <view wx:if="{{items.buyqty>0}}" class="fs22 ml10 c-7b">组合限购{{items.buyqty}}件</view>
  104 + </view>
110 105
111 - <view wx:if="{{items.is_offline}}" class="quan_color flex ai-center"><text>券后 ¥{{g_filter.toFix(items.offline_price,2)}}</text></view>  
112 106
  107 + <block wx:if="{{!items.is_gift}}">
  108 + <view class="flex alend jc_sb">
  109 + <view class="goods-price co-red baseline ellipsis-1">
  110 + <view class="fs20">¥</view>
  111 + <view class="fs28">{{items.goods_price}}</view>
113 112
114 - </view>  
115 - <view class="count">  
116 - <view bindtap="{{items.goods_num <= 1 ? '':'subNum'}}" class="sub fs28 {{items.goods_num <= 1 ? 'active':''}}" data-pitems="{{pidx}}" data-item="{{idx}}">一</view>  
117 - <input class="goodadd" bindblur="valueToNum" data-pitems="{{pidx}}" data-item="{{idx}}"  
118 - bindinput="refresh_input" type="number" value="{{items.goods_num}}"></input>  
119 - <view class="add" bindtap="addNum" data-pitems="{{pidx}}" data-item="{{idx}}">+</view>  
120 - </view> 113 + <view wx:if="{{items.is_offline}}" class="quan_color flex ai-center"><text>券后 ¥{{g_filter.toFix(items.offline_price,2)}}</text></view>
  114 +
  115 +
  116 + </view>
  117 + <view class="count">
  118 + <view bindtap="{{items.goods_num <= 1 ? '':'subNum'}}" class="sub fs28 {{items.goods_num <= 1 ? 'active':''}}" data-pitems="{{pidx}}" data-item="{{idx}}">一</view>
  119 + <input class="goodadd" bindblur="valueToNum" data-pitems="{{pidx}}" data-item="{{idx}}"
  120 + bindinput="refresh_input" type="number" value="{{items.goods_num}}"></input>
  121 + <view class="add" bindtap="addNum" data-pitems="{{pidx}}" data-item="{{idx}}">+</view>
  122 + </view>
  123 + </view>
  124 + </block>
  125 + </view>
121 </view> 126 </view>
122 - </block>  
123 - </view>  
124 - </view> 127 +
  128 + <!-- 验证活动是不是多个,要不要显示切换 -->
  129 + <!-- 新增促销多活动的排版 -->
  130 + <view class="bdt16"
  131 + wx:if="{{g_filter.is_more_act(items,item.show_can_cx) && item.show_can_cx[items.goods_id] && item.show_can_cx[items.goods_id].act_arr.length>1}}">
  132 + <view data-coupon="1" bindtap="switch_cx_group" class="cx-frame flex" style="position: relative">
  133 + <view class="cx-sizs fs30">促销</view>
  134 + <view class="flex ai_c f1 pdh20">
  135 + <view class="xc-coupon-fram" wx:for="{{item.show_can_cx[items.goods_id].act_arr}}" >
  136 + <view wx:if="{{item.prom_type==3}}" class="xc-coupon t-c four-level-word">优惠促销</view>
  137 + <view wx:if="{{item.prom_type==5}}" class="xc-coupon t-c four-level-word">搭配促销</view>
  138 + <view wx:if="{{item.prom_type==7}}" class="xc-coupon t-c four-level-word">组合购</view>
  139 + <view wx:if="{{item.prom_type==10}}" class="xc-coupon t-c four-level-word">阶梯促销</view>
  140 + </view>
  141 + </view>
  142 + <view class="cx-obtain-coupon wsize">
  143 + <text class="bg_jj"></text>
  144 + </view>
  145 + </view>
  146 + </view>
  147 +
  148 + </block >
  149 +
  150 +
125 </view> 151 </view>
126 <!--- 去凑单 --> 152 <!--- 去凑单 -->
127 <view style="margin-top: 20rpx; padding: 0 30rpx"> 153 <view style="margin-top: 20rpx; padding: 0 30rpx">
pages/cart/cart/cart.wxss
@@ -399,3 +399,80 @@ page { @@ -399,3 +399,80 @@ page {
399 text-align: center; line-height: 30rpx; 399 text-align: center; line-height: 30rpx;
400 left: 0;bottom: 0;color: #fff; font-size: 20rpx; 400 left: 0;bottom: 0;color: #fff; font-size: 20rpx;
401 } 401 }
  402 +
  403 +
  404 +.cx-frame {
  405 + /* border-top:3rpx solid #eee; */
  406 + /* width:99%;
  407 + height: 95rpx;
  408 + line-height: 95rpx;
  409 + padding-left:24rpx; */
  410 + padding: 20rpx;
  411 +}
  412 +
  413 +.cx-frame .cx-sizs {
  414 + /* width: 68rpx; */
  415 + /* height: 100%; */
  416 + /* line-height: 100rpx; */
  417 + /* overflow: hidden; */
  418 + /* margin-left: 10rpx; */
  419 +}
  420 +
  421 +.xc-coupon-fram {
  422 + position: relative;
  423 + margin-right: 16rpx;
  424 + /* width:200rpx; */
  425 + /* padding-top:30rpx; */
  426 +
  427 +}
  428 +
  429 +.xc-coupon-fram .xc-coupon {
  430 + /* width:175rpx ;
  431 + height: 40rpx;
  432 + line-height: 40rpx; */
  433 + background-color: #d60021;
  434 + /* margin:0 auto; */
  435 + color: #fff;
  436 + padding: 6rpx 20rpx;
  437 +
  438 +}
  439 +
  440 +.xc-coupon-fram .xc-circular {
  441 + width: 16rpx;
  442 + height: 16rpx;
  443 + background-color: white;
  444 + position: absolute;
  445 + top: 50%;
  446 + /* left: -10rpx; */
  447 + transform: translateY(-50%);
  448 +}
  449 +
  450 +.cx-obtain-coupon {
  451 + /* width: 65rpx;
  452 + height: 100%;
  453 + padding-left:15rpx; */
  454 + color: #d70025;
  455 + display: flex;
  456 + align-items: center;
  457 + /* position: absolute;
  458 + right: 5rpx; */
  459 +}
  460 +
  461 +.bg_jj {
  462 + width: 14rpx;
  463 + height: 14rpx;
  464 + border-top: 2rpx solid #d70026;
  465 + border-right: 2rpx solid #d70026;
  466 + transform: rotateZ(45deg);
  467 + display: inline-block;
  468 + margin-bottom: 3rpx;
  469 +}
  470 +
  471 +.bg_jj.down {
  472 + transform: rotateZ(135deg);
  473 +}
  474 +
  475 +.bg_jj.up {
  476 + transform: rotateZ(-45deg);
  477 + margin-top: 6rpx;
  478 +}
pages/cart/cart/g_filter.wxs
@@ -28,11 +28,19 @@ var g_filters = { @@ -28,11 +28,19 @@ var g_filters = {
28 } 28 }
29 val = parseFloat(val); 29 val = parseFloat(val);
30 return val.toFixed(count) 30 return val.toFixed(count)
31 - } 31 + },
  32 +
  33 + //判断商品是不是有活动切换
  34 + is_more_act:function (items,show_can_cx){
  35 + if([1,2,4,6,8,9].indexOf(items.prom_type)>-1) return false;
  36 + if(!show_can_cx) return false;
  37 + return true;
  38 + }
32 } 39 }
33 module.exports = { 40 module.exports = {
34 has_char: g_filters.has_char, 41 has_char: g_filters.has_char,
35 beg_time: g_filters.beg_time, 42 beg_time: g_filters.beg_time,
36 end_time: g_filters.end_time, 43 end_time: g_filters.end_time,
37 toFix: g_filters.toFix, 44 toFix: g_filters.toFix,
  45 + is_more_act: g_filters.is_more_act,
38 } 46 }
39 \ No newline at end of file 47 \ No newline at end of file
pages/cart/cart/zh_calculate.js
@@ -534,10 +534,12 @@ module.exports = { @@ -534,10 +534,12 @@ module.exports = {
534 return 0; 534 return 0;
535 } 535 }
536 var goods =gdlist; 536 var goods =gdlist;
  537 + var all_num=0;
  538 + var need_to_buy=0;
537 for (var i in goods) { 539 for (var i in goods) {
538 var item = goods[i]; 540 var item = goods[i];
539 var cart_num = get_num(item).goods_num; 541 var cart_num = get_num(item).goods_num;
540 - var zh_b_num = get_num2(item).zh_b_num; 542 + var zh_b_num = get_num(item).zh_b_num;
541 if (!cart_num) { 543 if (!cart_num) {
542 if (item.zhqty) { 544 if (item.zhqty) {
543 need_to_buy += item.zhqty; 545 need_to_buy += item.zhqty;
pages/goods/goodsInfo/goodsInfo.js
@@ -3026,7 +3026,7 @@ Page({ @@ -3026,7 +3026,7 @@ Page({
3026 this.sele_spec_chech_activity(nor); 3026 this.sele_spec_chech_activity(nor);
3027 3027
3028 //如果是秒杀,拼团等互动,就不重新算界面 3028 //如果是秒杀,拼团等互动,就不重新算界面
3029 - if([1,2,4,6,8,9].indexOf(this.data.base_nor_prom_type)>0){ return false; } 3029 + if([1,2,4,6,8,9].indexOf(this.data.base_nor_prom_type)>-1){ return false; }
3030 3030
3031 this.check_has_flash(gid); 3031 this.check_has_flash(gid);
3032 var url = '/api/weshop/activitylist/listGoodActInfo2New'; 3032 var url = '/api/weshop/activitylist/listGoodActInfo2New';