Commit d851efe3ef7c8c4cc12ce91eb5906455b584a613
1 parent
8c99a4ed
组合购下拉刷新的问题
Showing
1 changed file
with
102 additions
and
10 deletions
packageB/pages/zuhegou/index/index.js
... | ... | @@ -156,7 +156,6 @@ Page({ |
156 | 156 | th.setData({error:'活动未开启'}); |
157 | 157 | return false; |
158 | 158 | } |
159 | - | |
160 | 159 | if(ut.gettimestamp()<e.data.data.start_time){ |
161 | 160 | th.setData({error:'活动还未开始'}); |
162 | 161 | return false; |
... | ... | @@ -356,12 +355,25 @@ Page({ |
356 | 355 | th.data.page++; |
357 | 356 | var list = th.data.list; |
358 | 357 | if(!list) list=[]; |
359 | - for (var i in res.data.data.pageData) { | |
360 | - list.push(res.data.data.pageData[i]); | |
361 | - } | |
362 | - th.setData({list: list}); | |
363 | - if (res.data.data.total <= 10) { | |
364 | - th.setData({no_more: 1}); | |
358 | + | |
359 | + //当是下拉刷新的时候 | |
360 | + if(th.data.page>1 && th.data.cart_list){ | |
361 | + //下拉之后也要重新计算一下金额 | |
362 | + th.calc_more(res.data.data.pageData,function (list1) { | |
363 | + for (var i in list1) { | |
364 | + list.push(list1[i]); | |
365 | + } | |
366 | + th.setData({list: list}); | |
367 | + th.re_sum_price(); | |
368 | + }) | |
369 | + }else{ | |
370 | + for (var i in res.data.data.pageData) { | |
371 | + list.push(res.data.data.pageData[i]); | |
372 | + } | |
373 | + th.setData({list: list}); | |
374 | + if (res.data.data.total <= 10) { | |
375 | + th.setData({no_more: 1}); | |
376 | + } | |
365 | 377 | } |
366 | 378 | } else { |
367 | 379 | th.setData({no_more: 1}); |
... | ... | @@ -1166,6 +1178,15 @@ Page({ |
1166 | 1178 | var e = res; |
1167 | 1179 | if (e.data.code == 0 && e.data.data && e.data.data.pageData && e.data.data.pageData.length > 0) { |
1168 | 1180 | |
1181 | + var his_cate_num=0; | |
1182 | + for(let i in e.data.data.pageData){ | |
1183 | + let item=e.data.data.pageData[i]; | |
1184 | + if(item.category_id>0){ | |
1185 | + his_cate_num=1;break; | |
1186 | + } | |
1187 | + } | |
1188 | + e.his_cate_num=his_cate_num; | |
1189 | + | |
1169 | 1190 | //如果有开启距离的功能,没有设置默认门店,要用最近的门店作为默认门店 |
1170 | 1191 | if (dd.lat && (!th.data.def_pick_store || JSON.stringify(th.data.def_pick_store) == '{}') && th.data.bconfig && th.data.bconfig.is_sort_storage) { |
1171 | 1192 | th.setData({ |
... | ... | @@ -1190,8 +1211,6 @@ Page({ |
1190 | 1211 | |
1191 | 1212 | th.setData({all_pick_list: e.data.data.pageData}); |
1192 | 1213 | th.deal_pickup(e); |
1193 | - | |
1194 | - | |
1195 | 1214 | } |
1196 | 1215 | }) |
1197 | 1216 | }) |
... | ... | @@ -1201,7 +1220,7 @@ Page({ |
1201 | 1220 | var th = this; |
1202 | 1221 | wx.hideLoading(); |
1203 | 1222 | //单总量超出5个的时候 |
1204 | - if (e.data.data.total > 5) { | |
1223 | + if (e.data.data.total > 10 && e.his_cate_num) { | |
1205 | 1224 | getApp().request.get("/api/weshop/storagecategory/page", { |
1206 | 1225 | data: { |
1207 | 1226 | store_id: os.stoid, |
... | ... | @@ -1845,6 +1864,8 @@ Page({ |
1845 | 1864 | if (e.data.code == 0 && e.data.data && e.data.data.pageData && e.data.data.pageData.length) { |
1846 | 1865 | var map={}; |
1847 | 1866 | var mlist=e.data.data.pageData; |
1867 | + th.data.cart_list=mlist; | |
1868 | + | |
1848 | 1869 | for(let i in mlist){ |
1849 | 1870 | let item=mlist[i]; |
1850 | 1871 | if(item.prom_type!=7) continue; |
... | ... | @@ -1911,6 +1932,77 @@ Page({ |
1911 | 1932 | } |
1912 | 1933 | } |
1913 | 1934 | }); |
1935 | + }, | |
1936 | + | |
1937 | + //滚动加载跟多的时候的计算 | |
1938 | + async calc_more(list,func){ | |
1939 | + var th=this; | |
1940 | + var map={}; | |
1941 | + var mlist=this.data.cart_list; | |
1942 | + for(let i in mlist){ | |
1943 | + let item=mlist[i]; | |
1944 | + if(item.prom_type!=7) continue; | |
1945 | + if(item.prom_id!=th.data.act.id) continue; | |
1946 | + map[item.goods_id]=item; | |
1947 | + } | |
1948 | + | |
1949 | + for(let j in list){ | |
1950 | + let item_j=list[j]; | |
1951 | + item_j.current_price=item_j.shop_price; | |
1952 | + | |
1953 | + var card_price=0; | |
1954 | + //如果会员有等级价 | |
1955 | + if (th.data.card_field) { | |
1956 | + card_price = item_j[th.data.card_field]; | |
1957 | + if (card_price > 0) { | |
1958 | + item_j.current_price=card_price; | |
1959 | + } | |
1960 | + } | |
1961 | + | |
1962 | + | |
1963 | + if(map[item_j.goods_id]){ | |
1964 | + var cart_num=map[item_j.goods_id].goods_num; | |
1965 | + item_j.num=cart_num; | |
1966 | + item_j.cart_num=cart_num; | |
1967 | + item_j.cart_id=map[item_j.goods_id].id; | |
1968 | + if(item_j.buyqty>0){ | |
1969 | + var g_buy_num=0; | |
1970 | + var promgoodsbuynum=0; | |
1971 | + //----获取商品购买数---- | |
1972 | + await getApp().request.promiseGet("/api/weshop/ordergoods/getUserBuyGoodsNum", { | |
1973 | + data: { | |
1974 | + store_id: os.stoid, | |
1975 | + user_id: user_id, | |
1976 | + goods_id: item_j.goods_id, | |
1977 | + prom_type: 7, | |
1978 | + prom_id: th.data.act.id | |
1979 | + }, | |
1980 | + }).then(res2=>{ | |
1981 | + if (res2.data.code == 0) { | |
1982 | + var buy_num_data = res2.data.data; | |
1983 | + if (buy_num_data.promgoodsbuynum) promgoodsbuynum = buy_num_data.promgoodsbuynum; | |
1984 | + g_buy_num = buy_num_data.goodsbuynum; | |
1985 | + } | |
1986 | + }) | |
1987 | + | |
1988 | + if(item_j.viplimited>0){ | |
1989 | + var cby=item_j.viplimited-g_buy_num; | |
1990 | + if(cby<=0) continue;//不能买就continue下一个 | |
1991 | + item_j.num=cby>item_j.num?item_j.num:cby; | |
1992 | + } | |
1993 | + if(item_j.buyqty>0){ | |
1994 | + var cby=item_j.buyqty-promgoodsbuynum; | |
1995 | + if(cby<=0) continue;//不能买就continue下一个 | |
1996 | + item_j.num=cby>item_j.num?item_j.num:cby; | |
1997 | + } | |
1998 | + } | |
1999 | + | |
2000 | + item_j.haveAdded=1; | |
2001 | + item_j.showNum=true; | |
2002 | + } | |
2003 | + } | |
2004 | + if(func) func(list) | |
2005 | + | |
1914 | 2006 | } |
1915 | 2007 | |
1916 | 2008 | }) |
1917 | 2009 | \ No newline at end of file | ... | ... |