Commit d851efe3ef7c8c4cc12ce91eb5906455b584a613

Authored by yvan.ni
1 parent 8c99a4ed

组合购下拉刷新的问题

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
... ...