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,7 +156,6 @@ Page({ | ||
| 156 | th.setData({error:'活动未开启'}); | 156 | th.setData({error:'活动未开启'}); |
| 157 | return false; | 157 | return false; |
| 158 | } | 158 | } |
| 159 | - | ||
| 160 | if(ut.gettimestamp()<e.data.data.start_time){ | 159 | if(ut.gettimestamp()<e.data.data.start_time){ |
| 161 | th.setData({error:'活动还未开始'}); | 160 | th.setData({error:'活动还未开始'}); |
| 162 | return false; | 161 | return false; |
| @@ -356,12 +355,25 @@ Page({ | @@ -356,12 +355,25 @@ Page({ | ||
| 356 | th.data.page++; | 355 | th.data.page++; |
| 357 | var list = th.data.list; | 356 | var list = th.data.list; |
| 358 | if(!list) list=[]; | 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 | } else { | 378 | } else { |
| 367 | th.setData({no_more: 1}); | 379 | th.setData({no_more: 1}); |
| @@ -1166,6 +1178,15 @@ Page({ | @@ -1166,6 +1178,15 @@ Page({ | ||
| 1166 | var e = res; | 1178 | var e = res; |
| 1167 | if (e.data.code == 0 && e.data.data && e.data.data.pageData && e.data.data.pageData.length > 0) { | 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 | if (dd.lat && (!th.data.def_pick_store || JSON.stringify(th.data.def_pick_store) == '{}') && th.data.bconfig && th.data.bconfig.is_sort_storage) { | 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 | th.setData({ | 1192 | th.setData({ |
| @@ -1190,8 +1211,6 @@ Page({ | @@ -1190,8 +1211,6 @@ Page({ | ||
| 1190 | 1211 | ||
| 1191 | th.setData({all_pick_list: e.data.data.pageData}); | 1212 | th.setData({all_pick_list: e.data.data.pageData}); |
| 1192 | th.deal_pickup(e); | 1213 | th.deal_pickup(e); |
| 1193 | - | ||
| 1194 | - | ||
| 1195 | } | 1214 | } |
| 1196 | }) | 1215 | }) |
| 1197 | }) | 1216 | }) |
| @@ -1201,7 +1220,7 @@ Page({ | @@ -1201,7 +1220,7 @@ Page({ | ||
| 1201 | var th = this; | 1220 | var th = this; |
| 1202 | wx.hideLoading(); | 1221 | wx.hideLoading(); |
| 1203 | //单总量超出5个的时候 | 1222 | //单总量超出5个的时候 |
| 1204 | - if (e.data.data.total > 5) { | 1223 | + if (e.data.data.total > 10 && e.his_cate_num) { |
| 1205 | getApp().request.get("/api/weshop/storagecategory/page", { | 1224 | getApp().request.get("/api/weshop/storagecategory/page", { |
| 1206 | data: { | 1225 | data: { |
| 1207 | store_id: os.stoid, | 1226 | store_id: os.stoid, |
| @@ -1845,6 +1864,8 @@ Page({ | @@ -1845,6 +1864,8 @@ Page({ | ||
| 1845 | if (e.data.code == 0 && e.data.data && e.data.data.pageData && e.data.data.pageData.length) { | 1864 | if (e.data.code == 0 && e.data.data && e.data.data.pageData && e.data.data.pageData.length) { |
| 1846 | var map={}; | 1865 | var map={}; |
| 1847 | var mlist=e.data.data.pageData; | 1866 | var mlist=e.data.data.pageData; |
| 1867 | + th.data.cart_list=mlist; | ||
| 1868 | + | ||
| 1848 | for(let i in mlist){ | 1869 | for(let i in mlist){ |
| 1849 | let item=mlist[i]; | 1870 | let item=mlist[i]; |
| 1850 | if(item.prom_type!=7) continue; | 1871 | if(item.prom_type!=7) continue; |
| @@ -1911,6 +1932,77 @@ Page({ | @@ -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 | \ No newline at end of file | 2009 | \ No newline at end of file |