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 | 798 | }); |
799 | 799 | } |
800 | 800 | |
801 | - //-- 把商品的赋值 -- | |
801 | + //-- 把商品的赋值,同时给活动赋值 -- | |
802 | 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 | 809 | ee.check_is_youhui(ee.data.gid); |
805 | 810 | |
806 | 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 | 42 | } |
43 | 43 | |
44 | 44 | var th=this; |
45 | - a.init(this, "", "requestData"); | |
45 | + | |
46 | + //a.init(this, "", "requestData"); | |
47 | + | |
46 | 48 | var url = this.data.baseUrl; |
47 | 49 | this.data.is_new=t.is_new; |
48 | 50 | this.data.is_hot=t.is_hot; |
... | ... | @@ -171,10 +173,12 @@ Page({ |
171 | 173 | } |
172 | 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 | 180 | this.data.requestUrl = t; |
177 | - | |
181 | + | |
178 | 182 | //不是商品分组的,不是默认排序的 |
179 | 183 | if(t.indexOf("group_id")==-1 || e.data.tabname!="sort" ){ |
180 | 184 | t += "&orderField=" + e.data.tabname; |
... | ... | @@ -182,14 +186,94 @@ Page({ |
182 | 186 | } |
183 | 187 | |
184 | 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 | 278 | onReachBottom: function() { |
195 | 279 | a.canloadMore() && this.requestGoodsList(this.data.requestUrl); | ... | ... |
pages/goods/goodsList/goodsList.wxml
... | ... | @@ -62,7 +62,7 @@ |
62 | 62 | <view class="item-cont"> |
63 | 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 | 66 | <view class="flex on"> |
67 | 67 | <!-- 活动价 --> |
68 | 68 | <view class="price"> | ... | ... |
pages/goods/search/search.js
... | ... | @@ -31,7 +31,6 @@ Page({ |
31 | 31 | |
32 | 32 | onLoad: function(t) { |
33 | 33 | this.data.rq_data=t; |
34 | - | |
35 | 34 | //接受有没有导购的参数 |
36 | 35 | var first_leader=t.first_leader; |
37 | 36 | if(first_leader){ |
... | ... | @@ -95,7 +94,7 @@ Page({ |
95 | 94 | |
96 | 95 | |
97 | 96 | }) |
98 | - e.init(this, "", "requestData"); | |
97 | + //e.init(this, "", "requestData"); | |
99 | 98 | var url = this.data.baseUrl; |
100 | 99 | |
101 | 100 | //扫一扫过来,显示搜索的内容 |
... | ... | @@ -112,9 +111,8 @@ Page({ |
112 | 111 | |
113 | 112 | if (url != this.data.baseUrl) return this.requestSearch(url); |
114 | 113 | this.openSearchModal(); |
115 | - | |
116 | - // 获取历史搜索记录 | |
117 | - this.getHistorySearch(); | |
114 | + // 获取历史搜索记录 | |
115 | + this.getHistorySearch(); | |
118 | 116 | }, |
119 | 117 | changeTab: function(t) { |
120 | 118 | var ord = t.currentTarget.dataset.href; |
... | ... | @@ -134,24 +132,100 @@ Page({ |
134 | 132 | |
135 | 133 | //-----------真的调用地址进行搜索------------ |
136 | 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 | 138 | if(getApp().globalData.userInfo){ |
140 | 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 | 230 | onReachBottom: function() { |
157 | 231 | this.data.openSearchModal || e.canloadMore() && this.requestSearch(this.data.requestUrl); | ... | ... |
pages/goods/search/search.wxml
... | ... | @@ -35,7 +35,7 @@ |
35 | 35 | <view class="item-cont"> |
36 | 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 | 40 | <view class="price"> |
41 | 41 | <text wx:if="{{item.prom_integral}}">{{item.prom_integral}}积分</text> | ... | ... |