Commit 4f22036cc83fa378c3d6c8a57a2b6c0f5e7c6c14
1 parent
bc2acacf
商品搜索和商品列表
Showing
5 changed files
with
198 additions
and
35 deletions
pages/goods/goodsInfo/goodsInfo.js
| @@ -798,9 +798,14 @@ Page({ | @@ -798,9 +798,14 @@ Page({ | ||
| 798 | }); | 798 | }); |
| 799 | } | 799 | } |
| 800 | 800 | ||
| 801 | - //-- 把商品的赋值 -- | 801 | + //-- 把商品的赋值,同时给活动赋值 -- |
| 802 | ee.data.fir_goods = JSON.parse(JSON.stringify(t.data.data)); | 802 | ee.data.fir_goods = JSON.parse(JSON.stringify(t.data.data)); |
| 803 | - if(ee.data.prom_type!=1 && ee.data.prom_type!=4 && ee.data.prom_type!=6 && ee.data.prom_type!=2) | 803 | + if(t.data.data.prom_type && t.data.data.prom_id){ |
| 804 | + ee.data.prom_type=t.data.data.prom_type; | ||
| 805 | + ee.data.prom_id=t.data.data.prom_id; | ||
| 806 | + } | ||
| 807 | + | ||
| 808 | + if(ee.data.prom_type!=1 && ee.data.prom_type!=4 && ee.data.prom_type!=6 && ee.data.prom_type!=2) | ||
| 804 | ee.check_is_youhui(ee.data.gid); | 809 | ee.check_is_youhui(ee.data.gid); |
| 805 | 810 | ||
| 806 | t.data.data.on_time = ut.formatTime(t.data.data.on_time, 'yyyy-MM-dd hh:mm:ss'); | 811 | t.data.data.on_time = ut.formatTime(t.data.data.on_time, 'yyyy-MM-dd hh:mm:ss'); |
pages/goods/goodsList/goodsList.js
| @@ -42,7 +42,9 @@ Page({ | @@ -42,7 +42,9 @@ Page({ | ||
| 42 | } | 42 | } |
| 43 | 43 | ||
| 44 | var th=this; | 44 | var th=this; |
| 45 | - a.init(this, "", "requestData"); | 45 | + |
| 46 | + //a.init(this, "", "requestData"); | ||
| 47 | + | ||
| 46 | var url = this.data.baseUrl; | 48 | var url = this.data.baseUrl; |
| 47 | this.data.is_new=t.is_new; | 49 | this.data.is_new=t.is_new; |
| 48 | this.data.is_hot=t.is_hot; | 50 | this.data.is_hot=t.is_hot; |
| @@ -171,10 +173,12 @@ Page({ | @@ -171,10 +173,12 @@ Page({ | ||
| 171 | } | 173 | } |
| 172 | this.resetData(), this.requestGoodsList(url); | 174 | this.resetData(), this.requestGoodsList(url); |
| 173 | }, | 175 | }, |
| 174 | - requestGoodsList: function(t) { | ||
| 175 | - var e = this; | 176 | + requestGoodsList:function(t) { |
| 177 | + if(this.data.loading) return false; | ||
| 178 | + this.data.loading=1; | ||
| 179 | + var e = this,th=e; | ||
| 176 | this.data.requestUrl = t; | 180 | this.data.requestUrl = t; |
| 177 | - | 181 | + |
| 178 | //不是商品分组的,不是默认排序的 | 182 | //不是商品分组的,不是默认排序的 |
| 179 | if(t.indexOf("group_id")==-1 || e.data.tabname!="sort" ){ | 183 | if(t.indexOf("group_id")==-1 || e.data.tabname!="sort" ){ |
| 180 | t += "&orderField=" + e.data.tabname; | 184 | t += "&orderField=" + e.data.tabname; |
| @@ -182,14 +186,94 @@ Page({ | @@ -182,14 +186,94 @@ Page({ | ||
| 182 | } | 186 | } |
| 183 | 187 | ||
| 184 | t +="&page=" + e.data.currentPage; | 188 | t +="&page=" + e.data.currentPage; |
| 185 | - a.request(t, | ||
| 186 | - function(t) { | ||
| 187 | - e.setData({is_go:1}); | ||
| 188 | - e.data.currentPage++, null == e.data.allData && (e.data.allData = Object.assign({}, t.data.result)), | ||
| 189 | - wx.stopPullDownRefresh(); | ||
| 190 | - }, | ||
| 191 | - null, { is_mainshow: 1, isonsale: 1, store_id: oo.stoid} | ||
| 192 | - ); | 189 | + getApp().request.promiseGet(t, {data:{is_mainshow: 1, isonsale: 1, store_id: oo.stoid}}).then(async res=>{ |
| 190 | + th.data.loading=0; | ||
| 191 | + e.setData({is_go:1}); | ||
| 192 | + if(ut.ajax_ok(res)){ | ||
| 193 | + e.data.currentPage++; | ||
| 194 | + if(!e.data.requestData) e.data.requestData=[]; | ||
| 195 | + for(let i in res.data.data.pageData){ | ||
| 196 | + let item=res.data.data.pageData[i]; | ||
| 197 | + item.original_img = th.data.url + item.original_img; | ||
| 198 | + | ||
| 199 | + var url="/api/weshop/activitylist/getGoodActInfo"; | ||
| 200 | + var req_data={ | ||
| 201 | + store_id:oo.stoid,goodsidlist:item.goods_id,is_detail:1 | ||
| 202 | + }; | ||
| 203 | + //获取商品的实际活动 | ||
| 204 | + await getApp().request.promiseGet(url, {data:req_data}).then(res=>{ | ||
| 205 | + if(res.data.code==0 && res.data.data && res.data.data.length==1){ | ||
| 206 | + item.prom_type=res.data.data[0].prom_type; | ||
| 207 | + item.prom_id=res.data.data[0].act_id; | ||
| 208 | + } | ||
| 209 | + }) | ||
| 210 | + | ||
| 211 | + var prom_type = item.prom_type; //0普通商品 1秒杀 6拼单 2团购 4积分购 | ||
| 212 | + var prom_id=item.prom_id; | ||
| 213 | + var now=ut.gettimestamp(); | ||
| 214 | + var url = ""; | ||
| 215 | + switch (prom_type){ | ||
| 216 | + case 1: | ||
| 217 | + var user_id=getApp().globalData.user_id; | ||
| 218 | + if(!user_id) user_id=0; | ||
| 219 | + url = "/api/ms/flash_sale/getNew/" +oo.stoid + "/" +user_id+"/"+ prom_id; | ||
| 220 | + break; | ||
| 221 | + case 2: | ||
| 222 | + url ="/api/weshop/goods/groupBuy/getActInfo/" +oo.stoid + "/" +item.goods_id+"/"+ prom_id | ||
| 223 | + break; | ||
| 224 | + case 4: | ||
| 225 | + url ="/api/weshop/integralbuy/get/"+oo.stoid +"/"+prom_id; | ||
| 226 | + break; | ||
| 227 | + case 6: | ||
| 228 | + url = "/api/weshop/teamlist/get/" + oo.stoid + "/" + prom_id; | ||
| 229 | + break; | ||
| 230 | + case 8: | ||
| 231 | + var presell_id = prom_id; | ||
| 232 | + var url1 = "/api/weshop/marketing/marketingPresellList/list"; | ||
| 233 | + var rd= { | ||
| 234 | + store_id: oo.stoid, | ||
| 235 | + presell_id: presell_id, | ||
| 236 | + goods_id: val.goods_id | ||
| 237 | + } | ||
| 238 | + //------获取预售从表---------- | ||
| 239 | + await getApp().request.promiseGet(url1, { | ||
| 240 | + data: rd | ||
| 241 | + }).then(res => { | ||
| 242 | + if (res.data.code == 0 && res.data.data && res.data.data.length > 0) { | ||
| 243 | + var arr = res.data.data[0]; | ||
| 244 | + item.prom_price = arr.luck_goods_price; | ||
| 245 | + item.sales_sum=arr.buy_goodnum+(arr.virtual_qty?arr.virtual_qty:0); | ||
| 246 | + } | ||
| 247 | + }) | ||
| 248 | + break; | ||
| 249 | + default: | ||
| 250 | + break | ||
| 251 | + } | ||
| 252 | + if(url!=null && url!=''){ | ||
| 253 | + await getApp().request.promiseGet(url, {}).then(res => { | ||
| 254 | + var prom =null; | ||
| 255 | + if(res && res.data) prom=res.data.data; | ||
| 256 | + if (prom != null && prom.is_end==0 && prom.end_time>now && (prom.start_time<now || (prom.show_time && prom.show_time<now)) ) { | ||
| 257 | + item.prom_price = res.data.data.price; | ||
| 258 | + if(res.data.data.user_price) item.prom_price=res.data.data.user_price; | ||
| 259 | + var vNum=res.data.data.virtual_num?res.data.data.virtual_num:0; | ||
| 260 | + var vNum1=res.data.data.virtualNum?res.data.data.virtualNum:0; | ||
| 261 | + var vNum2=res.data.data.virtual?res.data.data.virtual:0; | ||
| 262 | + item.sales_sum=res.data.data.buy_num+(vNum+vNum1+vNum2); | ||
| 263 | + }else{ | ||
| 264 | + item.prom_type=0; | ||
| 265 | + item.prom_id=0; | ||
| 266 | + item.prom_price=null; | ||
| 267 | + } | ||
| 268 | + }) | ||
| 269 | + } | ||
| 270 | + | ||
| 271 | + e.data.requestData.push(item); | ||
| 272 | + e.setData({requestData: e.data.requestData}) | ||
| 273 | + } | ||
| 274 | + } | ||
| 275 | + }) | ||
| 276 | + wx.stopPullDownRefresh(); | ||
| 193 | }, | 277 | }, |
| 194 | onReachBottom: function() { | 278 | onReachBottom: function() { |
| 195 | a.canloadMore() && this.requestGoodsList(this.data.requestUrl); | 279 | a.canloadMore() && this.requestGoodsList(this.data.requestUrl); |
pages/goods/goodsList/goodsList.wxml
| @@ -62,7 +62,7 @@ | @@ -62,7 +62,7 @@ | ||
| 62 | <view class="item-cont"> | 62 | <view class="item-cont"> |
| 63 | <view class="title ellipsis-2">{{item.goods_name}}</view> | 63 | <view class="title ellipsis-2">{{item.goods_name}}</view> |
| 64 | <!-- 判断是否有活动价 --> | 64 | <!-- 判断是否有活动价 --> |
| 65 | - <block wx:if="{{(item.prom_price>0 || item.prom_integral>0) && item.prom_type!=2}}"> | 65 | + <block wx:if="{{(item.prom_price>0 || item.prom_integral>0) && item.prom_id>0 }}"> |
| 66 | <view class="flex on"> | 66 | <view class="flex on"> |
| 67 | <!-- 活动价 --> | 67 | <!-- 活动价 --> |
| 68 | <view class="price"> | 68 | <view class="price"> |
pages/goods/search/search.js
| @@ -31,7 +31,6 @@ Page({ | @@ -31,7 +31,6 @@ Page({ | ||
| 31 | 31 | ||
| 32 | onLoad: function(t) { | 32 | onLoad: function(t) { |
| 33 | this.data.rq_data=t; | 33 | this.data.rq_data=t; |
| 34 | - | ||
| 35 | //接受有没有导购的参数 | 34 | //接受有没有导购的参数 |
| 36 | var first_leader=t.first_leader; | 35 | var first_leader=t.first_leader; |
| 37 | if(first_leader){ | 36 | if(first_leader){ |
| @@ -95,7 +94,7 @@ Page({ | @@ -95,7 +94,7 @@ Page({ | ||
| 95 | 94 | ||
| 96 | 95 | ||
| 97 | }) | 96 | }) |
| 98 | - e.init(this, "", "requestData"); | 97 | + //e.init(this, "", "requestData"); |
| 99 | var url = this.data.baseUrl; | 98 | var url = this.data.baseUrl; |
| 100 | 99 | ||
| 101 | //扫一扫过来,显示搜索的内容 | 100 | //扫一扫过来,显示搜索的内容 |
| @@ -112,9 +111,8 @@ Page({ | @@ -112,9 +111,8 @@ Page({ | ||
| 112 | 111 | ||
| 113 | if (url != this.data.baseUrl) return this.requestSearch(url); | 112 | if (url != this.data.baseUrl) return this.requestSearch(url); |
| 114 | this.openSearchModal(); | 113 | this.openSearchModal(); |
| 115 | - | ||
| 116 | - // 获取历史搜索记录 | ||
| 117 | - this.getHistorySearch(); | 114 | + // 获取历史搜索记录 |
| 115 | + this.getHistorySearch(); | ||
| 118 | }, | 116 | }, |
| 119 | changeTab: function(t) { | 117 | changeTab: function(t) { |
| 120 | var ord = t.currentTarget.dataset.href; | 118 | var ord = t.currentTarget.dataset.href; |
| @@ -134,24 +132,100 @@ Page({ | @@ -134,24 +132,100 @@ Page({ | ||
| 134 | 132 | ||
| 135 | //-----------真的调用地址进行搜索------------ | 133 | //-----------真的调用地址进行搜索------------ |
| 136 | requestSearch: function(t) { | 134 | requestSearch: function(t) { |
| 137 | - var a = this; | ||
| 138 | - | 135 | + if(this.data.loading) return false; |
| 136 | + this.data.loading=1; | ||
| 137 | + var e = this,th=e; | ||
| 139 | if(getApp().globalData.userInfo){ | 138 | if(getApp().globalData.userInfo){ |
| 140 | t += "&user_id=" + getApp().globalData.userInfo.user_id; | 139 | t += "&user_id=" + getApp().globalData.userInfo.user_id; |
| 141 | } | 140 | } |
| 141 | + this.data.requestUrl = t; | ||
| 142 | + getApp().request.promiseGet(t, {data:{is_mainshow: 1, isonsale: 1, store_id: oo.stoid,orderField: e.data.tabname, orderType: e.data.adname, page: e.data.currentPage}}).then(async res=>{ | ||
| 143 | + th.data.loading=0; | ||
| 144 | + if(ut.ajax_ok(res)){ | ||
| 145 | + if(!e.data.requestData) e.data.requestData=[]; | ||
| 146 | + for(let i in res.data.data.pageData){ | ||
| 147 | + let item=res.data.data.pageData[i]; | ||
| 148 | + item.original_img = th.data.url + item.original_img; | ||
| 149 | + | ||
| 150 | + var url="/api/weshop/activitylist/getGoodActInfo"; | ||
| 151 | + var req_data={ | ||
| 152 | + store_id:oo.stoid,goodsidlist:item.goods_id,is_detail:1 | ||
| 153 | + }; | ||
| 154 | + //获取商品的实际活动 | ||
| 155 | + await getApp().request.promiseGet(url, {data:req_data}).then(res=>{ | ||
| 156 | + if(res.data.code==0 && res.data.data && res.data.data.length==1){ | ||
| 157 | + item.prom_type=res.data.data[0].prom_type; | ||
| 158 | + item.prom_id=res.data.data[0].act_id; | ||
| 159 | + } | ||
| 160 | + }) | ||
| 161 | + | ||
| 162 | + var prom_type = item.prom_type; //0普通商品 1秒杀 6拼单 2团购 4积分购 | ||
| 163 | + var prom_id=item.prom_id; | ||
| 164 | + var now=ut.gettimestamp(); | ||
| 165 | + var url = ""; | ||
| 166 | + switch (prom_type){ | ||
| 167 | + case 1: | ||
| 168 | + var user_id=getApp().globalData.user_id; | ||
| 169 | + if(!user_id) user_id=0; | ||
| 170 | + url = "/api/ms/flash_sale/getNew/" +oo.stoid + "/" +user_id+"/"+ prom_id; | ||
| 171 | + break; | ||
| 172 | + case 2: | ||
| 173 | + url ="/api/weshop/goods/groupBuy/getActInfo/" +oo.stoid + "/" +item.goods_id+"/"+ prom_id | ||
| 174 | + break; | ||
| 175 | + case 4: | ||
| 176 | + url ="/api/weshop/integralbuy/get/"+oo.stoid +"/"+prom_id; | ||
| 177 | + break; | ||
| 178 | + case 6: | ||
| 179 | + url = "/api/weshop/teamlist/get/" + oo.stoid + "/" + prom_id; | ||
| 180 | + break; | ||
| 181 | + case 8: | ||
| 182 | + var presell_id = prom_id; | ||
| 183 | + var url1 = "/api/weshop/marketing/marketingPresellList/list"; | ||
| 184 | + var rd= { | ||
| 185 | + store_id: oo.stoid, | ||
| 186 | + presell_id: presell_id, | ||
| 187 | + goods_id: val.goods_id | ||
| 188 | + } | ||
| 189 | + //------获取预售从表---------- | ||
| 190 | + await getApp().request.promiseGet(url1, { | ||
| 191 | + data: rd | ||
| 192 | + }).then(res => { | ||
| 193 | + if (res.data.code == 0 && res.data.data && res.data.data.length > 0) { | ||
| 194 | + var arr = res.data.data[0]; | ||
| 195 | + item.prom_price = arr.luck_goods_price; | ||
| 196 | + item.sales_sum=arr.buy_goodnum+(arr.virtual_qty?arr.virtual_qty:0); | ||
| 197 | + } | ||
| 198 | + }) | ||
| 199 | + break; | ||
| 200 | + default: | ||
| 201 | + break | ||
| 202 | + } | ||
| 203 | + if(url!=null && url!=''){ | ||
| 204 | + await getApp().request.promiseGet(url, {}).then(res => { | ||
| 205 | + var prom =null; | ||
| 206 | + if(res && res.data) prom=res.data.data; | ||
| 207 | + if (prom != null && prom.is_end==0 && prom.end_time>now && (prom.start_time<now || (prom.show_time && prom.show_time<now)) ) { | ||
| 208 | + item.prom_price = res.data.data.price; | ||
| 209 | + if(res.data.data.user_price) item.prom_price=res.data.data.user_price; | ||
| 210 | + var vNum=res.data.data.virtual_num?res.data.data.virtual_num:0; | ||
| 211 | + var vNum1=res.data.data.virtualNum?res.data.data.virtualNum:0; | ||
| 212 | + var vNum2=res.data.data.virtual?res.data.data.virtual:0; | ||
| 213 | + item.sales_sum=res.data.data.buy_num+(vNum+vNum1+vNum2); | ||
| 214 | + }else{ | ||
| 215 | + item.prom_type=0; | ||
| 216 | + item.prom_id=0; | ||
| 217 | + item.prom_price=null; | ||
| 218 | + } | ||
| 219 | + }) | ||
| 220 | + } | ||
| 221 | + th.data.requestData.push(item); | ||
| 222 | + e.setData({requestData: e.data.requestData}); | ||
| 223 | + e.closeSearchModal(); | ||
| 224 | + } | ||
| 225 | + } | ||
| 226 | + | ||
| 227 | + }) | ||
| 142 | 228 | ||
| 143 | - this.data.requestUrl = t, | ||
| 144 | - //t += "&orderField=" + a.data.tabname; | ||
| 145 | - //t += "&orderType=" + a.data.adname; | ||
| 146 | - //t += "&page=" + a.data.currentPage, | ||
| 147 | - e.request(t, function(t) { | ||
| 148 | - a.data.currentPage++ , | ||
| 149 | - null == a.data.allData && (a.data.allData = t.data.data.pageData), | ||
| 150 | - a.closeSearchModal(); | ||
| 151 | - }, | ||
| 152 | - null, { is_mainshow: 1, isonsale: 1, store_id: oo.stoid, | ||
| 153 | - orderField: a.data.tabname, orderType: a.data.adname, page: a.data.currentPage} | ||
| 154 | - ); | ||
| 155 | }, | 229 | }, |
| 156 | onReachBottom: function() { | 230 | onReachBottom: function() { |
| 157 | this.data.openSearchModal || e.canloadMore() && this.requestSearch(this.data.requestUrl); | 231 | this.data.openSearchModal || e.canloadMore() && this.requestSearch(this.data.requestUrl); |
pages/goods/search/search.wxml
| @@ -35,7 +35,7 @@ | @@ -35,7 +35,7 @@ | ||
| 35 | <view class="item-cont"> | 35 | <view class="item-cont"> |
| 36 | <view class="title ellipsis-2">{{item.goods_name}}</view> | 36 | <view class="title ellipsis-2">{{item.goods_name}}</view> |
| 37 | <!-- 判断是否有活动价,小程序没有有团购和拼单 --> | 37 | <!-- 判断是否有活动价,小程序没有有团购和拼单 --> |
| 38 | - <block wx:if="{{(item.prom_price>0 || item.prom_integral) && item.prom_type!=2 && item.prom_id>0}}"> | 38 | + <block wx:if="{{(item.prom_price>0 || item.prom_integral) && item.prom_id>0}}"> |
| 39 | <!-- 活动价 --> | 39 | <!-- 活动价 --> |
| 40 | <view class="price"> | 40 | <view class="price"> |
| 41 | <text wx:if="{{item.prom_integral}}">{{item.prom_integral}}积分</text> | 41 | <text wx:if="{{item.prom_integral}}">{{item.prom_integral}}积分</text> |