Commit 572736f4f3c11ddfba85937d539a22ead36bd4e1
Merge branch 'dev_oa_luo15' into dev
Showing
15 changed files
with
287 additions
and
36 deletions
app.json
@@ -230,7 +230,8 @@ | @@ -230,7 +230,8 @@ | ||
230 | "name": "pack6", | 230 | "name": "pack6", |
231 | "pages": [ | 231 | "pages": [ |
232 | "pages/wuliu/wuliu", | 232 | "pages/wuliu/wuliu", |
233 | - "pages/free_delivery/free_delivery" | 233 | + "pages/free_delivery/free_delivery", |
234 | + "pages/xcxServiceChat/xcxServiceChat" | ||
234 | ] | 235 | ] |
235 | 236 | ||
236 | } | 237 | } |
components/diy_public/diy_public.js
1 | // var e = function(e) { | 1 | // var e = function(e) { |
2 | // return e && e.__esModule ? e : { | 2 | // return e && e.__esModule ? e : { |
3 | // default: e | 3 | // default: e |
4 | -// }; | 4 | +// }; |
5 | // }(require("../../utils/LoadMore3.js")), | 5 | // }(require("../../utils/LoadMore3.js")), |
6 | // n = new e.default(), | 6 | // n = new e.default(), |
7 | var t = getApp(), | 7 | var t = getApp(), |
@@ -48,7 +48,8 @@ Component({ | @@ -48,7 +48,8 @@ Component({ | ||
48 | imgobj:{ | 48 | imgobj:{ |
49 | '1':"/miniapp/images/component/seckill.png", | 49 | '1':"/miniapp/images/component/seckill.png", |
50 | '2':"/miniapp/images/component/pingd/pingd.png", | 50 | '2':"/miniapp/images/component/pingd/pingd.png", |
51 | - '6':"/miniapp/images/component/pingd/pingd.png" | 51 | + '6':"/miniapp/images/component/pingd/pingd.png", |
52 | + '8':"/miniapp/images/component/presale.png", | ||
52 | }, | 53 | }, |
53 | nav1:'/packageA/pages/goodsInfo/goodsInfo?', | 54 | nav1:'/packageA/pages/goodsInfo/goodsInfo?', |
54 | nav2:'/pages/goods/goodsInfo/goodsInfo?', | 55 | nav2:'/pages/goods/goodsInfo/goodsInfo?', |
@@ -99,6 +100,13 @@ Component({ | @@ -99,6 +100,13 @@ Component({ | ||
99 | nav2:'/pages/goods/goodsInfo/goodsInfo?' | 100 | nav2:'/pages/goods/goodsInfo/goodsInfo?' |
100 | }) | 101 | }) |
101 | } | 102 | } |
103 | + if (this.data.prom_type==8) { //预售 | ||
104 | + this.setData({ | ||
105 | + prom_text:'已售', | ||
106 | + nav1:'/packageC/pages/presell/goodsInfo/goodsInfo?', | ||
107 | + nav2:'/packageC/pages/presell/goodsInfo/goodsInfo?' | ||
108 | + }) | ||
109 | + } | ||
102 | var g_id = this.data.object; | 110 | var g_id = this.data.object; |
103 | 111 | ||
104 | this.init(g_id); | 112 | this.init(g_id); |
@@ -153,12 +161,21 @@ Component({ | @@ -153,12 +161,21 @@ Component({ | ||
153 | +os.stoid+"&aidlist="+goodsidlist + "&user_id="+user_id; | 161 | +os.stoid+"&aidlist="+goodsidlist + "&user_id="+user_id; |
154 | } | 162 | } |
155 | 163 | ||
164 | + if (th.data.prom_type==8) { //预售 | ||
165 | + gUrl="/api/weshop/marketing/marketingPresellList/page?store_id=" | ||
166 | + +os.stoid+"&goodsidlist="+goodsidlist + "&user_id="+user_id+'&is_end=0&timetype=3&isuse=1'; | ||
167 | + } | ||
156 | 168 | ||
157 | 169 | ||
158 | - app.request.promiseGet(gUrl, {}).then(res => { | ||
159 | 170 | ||
171 | + app.request.promiseGet(gUrl, {}).then(res => { | ||
172 | + | ||
160 | //如果秒杀的数组为空的时候 | 173 | //如果秒杀的数组为空的时候 |
161 | var goodslist = res.data.data; | 174 | var goodslist = res.data.data; |
175 | + if (th.data.prom_type==8) { //预售 | ||
176 | + goodslist = res.data.data ? res.data.data.pageData : [] | ||
177 | + } | ||
178 | + | ||
162 | //就算是添加的活动已经过期,就要用最新的进行中活动 | 179 | //就算是添加的活动已经过期,就要用最新的进行中活动 |
163 | if (goodslist && goodslist.length > 0) { | 180 | if (goodslist && goodslist.length > 0) { |
164 | th.set_goods_list(g_id.data, goodslist); | 181 | th.set_goods_list(g_id.data, goodslist); |
@@ -197,6 +214,18 @@ Component({ | @@ -197,6 +214,18 @@ Component({ | ||
197 | timetype: 2, | 214 | timetype: 2, |
198 | } | 215 | } |
199 | } | 216 | } |
217 | + if (this.data.prom_type==8) { //预售 | ||
218 | + gUrl="/api/weshop/marketing/marketingPresellList/page?page=1&pageSize=9" | ||
219 | + req={ | ||
220 | + store_id:os.stoid, | ||
221 | + is_end:0, | ||
222 | + timetype:3, | ||
223 | + isuse:1, | ||
224 | + page:1, | ||
225 | + user_id:user_id, | ||
226 | + pageSize:9 | ||
227 | + } | ||
228 | + } | ||
200 | 229 | ||
201 | getApp().request.promiseGet(gUrl, | 230 | getApp().request.promiseGet(gUrl, |
202 | { isShowLoading: 1, data:req } | 231 | { isShowLoading: 1, data:req } |
@@ -211,6 +240,7 @@ Component({ | @@ -211,6 +240,7 @@ Component({ | ||
211 | 240 | ||
212 | //就算是添加的活动已经过期,就要用最新的活动 | 241 | //就算是添加的活动已经过期,就要用最新的活动 |
213 | set_goods_list(g_id, goodslist) { | 242 | set_goods_list(g_id, goodslist) { |
243 | + | ||
214 | let prom_type=this.data.prom_type | 244 | let prom_type=this.data.prom_type |
215 | goodslist.forEach(function (vy, indy) { | 245 | goodslist.forEach(function (vy, indy) { |
216 | if(!vy.id) vy.id=vy.prom_id; | 246 | if(!vy.id) vy.id=vy.prom_id; |
@@ -240,29 +270,30 @@ Component({ | @@ -240,29 +270,30 @@ Component({ | ||
240 | let item=all_array[i]; | 270 | let item=all_array[i]; |
241 | if(item.user_price) item.price=item.user_price; | 271 | if(item.user_price) item.price=item.user_price; |
242 | if(item.start_time > newTime) { | 272 | if(item.start_time > newTime) { |
243 | - item.status = 0; | 273 | + item.status = 0; //活动没开始 |
244 | } else if(item.end_time > newTime) { | 274 | } else if(item.end_time > newTime) { |
245 | - item.status = 1; | 275 | + item.status = 1; // 活动进行中 |
246 | }; | 276 | }; |
247 | 277 | ||
248 | } | 278 | } |
249 | 279 | ||
250 | 280 | ||
251 | - var promisies = []; | ||
252 | - for (const key in all_array) { | ||
253 | - if (Object.hasOwnProperty.call(all_array, key)) { | ||
254 | - const val = all_array[key]; | ||
255 | - | ||
256 | - promisies[key] = getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" + | ||
257 | - os.stoid + "/"+prom_type+"/" + val.id, | ||
258 | - {} | ||
259 | - ).then(res => { | ||
260 | - if (res.data.code == 0) { | ||
261 | - if (res.data.data <= 0) all_array[key].status = 2; | ||
262 | - }; | ||
263 | - }); | ||
264 | - } | ||
265 | - } | 281 | + var promisies = []; |
282 | + if (th.data.prom_type !=8) { | ||
283 | + for (const key in all_array) { | ||
284 | + if (Object.hasOwnProperty.call(all_array, key)) { | ||
285 | + const val = all_array[key]; | ||
286 | + promisies[key] = getApp().request.promiseGet("/api/weshop/activitylist/getActLen/" + | ||
287 | + os.stoid + "/"+prom_type+"/" + val.id, | ||
288 | + {} | ||
289 | + ).then(res => { | ||
290 | + if (res.data.code == 0) { | ||
291 | + if (res.data.data <= 0) all_array[key].status = 2;//已售完 | ||
292 | + }; | ||
293 | + }); | ||
294 | + } | ||
295 | + } | ||
296 | + } | ||
266 | 297 | ||
267 | 298 | ||
268 | Promise.all(promisies).then(() => { | 299 | Promise.all(promisies).then(() => { |
@@ -271,10 +302,24 @@ Component({ | @@ -271,10 +302,24 @@ Component({ | ||
271 | for(let i in all_array){ | 302 | for(let i in all_array){ |
272 | let item=all_array[i]; | 303 | let item=all_array[i]; |
273 | if(newTime > item.end_time) { | 304 | if(newTime > item.end_time) { |
274 | - all_array[i].status = 3; | 305 | + all_array[i].status = 3; //活动结束 |
275 | }; | 306 | }; |
276 | // let price=all_array[i].price.toFixed(2) | 307 | // let price=all_array[i].price.toFixed(2) |
277 | let price=all_array[i].price + '' | 308 | let price=all_array[i].price + '' |
309 | + if (th.data.prom_type==8) { //预售 | ||
310 | + price = all_array[i].presell_price + '' | ||
311 | + if (all_array[i].status ===0) { | ||
312 | + all_array[i].goods_num=all_array[i].presell_sumqty*1 + all_array[i].virtual_qty*1 | ||
313 | + all_array[i].buy_num=all_array[i].buy_goodnum | ||
314 | + }else{ | ||
315 | + all_array[i].goods_num=all_array[i].presell_sumqty*1 + all_array[i].virtual_qty*1 | ||
316 | + all_array[i].buy_num=all_array[i].buy_goodnum + all_array[i].virtual_qty*1 | ||
317 | + } | ||
318 | + | ||
319 | + | ||
320 | + } | ||
321 | + | ||
322 | + | ||
278 | if (price && price.indexOf('.') > -1) { | 323 | if (price && price.indexOf('.') > -1) { |
279 | let priceArr = price.split(".") | 324 | let priceArr = price.split(".") |
280 | all_array[i].price_n = priceArr[0] | 325 | all_array[i].price_n = priceArr[0] |
@@ -416,6 +461,9 @@ Component({ | @@ -416,6 +461,9 @@ Component({ | ||
416 | if (this.data.prom_type==2) { //团购 | 461 | if (this.data.prom_type==2) { //团购 |
417 | url="/packageC/pages/group_list/group_list"; | 462 | url="/packageC/pages/group_list/group_list"; |
418 | } | 463 | } |
464 | + if (this.data.prom_type==8) { //预售 | ||
465 | + url="/packageC/pages/presell/list/list"; | ||
466 | + } | ||
419 | 467 | ||
420 | wx.navigateTo({ | 468 | wx.navigateTo({ |
421 | url | 469 | url |
components/diy_public/diy_public.wxml
@@ -16,7 +16,7 @@ | @@ -16,7 +16,7 @@ | ||
16 | <view style="{{'padding-left:'+object.page_margins+'px;padding-right:'+object.page_margins+'px;'}}" class="{{'new_item1_box '+ ((object.product_style==1 || object.product_style==3 )? ' bgf ':'')}}"> | 16 | <view style="{{'padding-left:'+object.page_margins+'px;padding-right:'+object.page_margins+'px;'}}" class="{{'new_item1_box '+ ((object.product_style==1 || object.product_style==3 )? ' bgf ':'')}}"> |
17 | <block wx:for="{{goods_array}}"> | 17 | <block wx:for="{{goods_array}}"> |
18 | <view wx:for="{{item}}" wx:for-item="aitem" wx:for-index="aind" class="{{'new_item1 ' + (object.product_style==2 ? ' boxsha ':'') + (object.product_style==3 ? ' aborder ':'') + ((object.product_style==1 || object.product_style==3 )? ' bgf ':'') + (object.chamfer_of_main_drawing==2 ? ' but_radius5 ':'') }}" style="{{'margin-bottom:'+object.product_spacing+'px;'}}"> | 18 | <view wx:for="{{item}}" wx:for-item="aitem" wx:for-index="aind" class="{{'new_item1 ' + (object.product_style==2 ? ' boxsha ':'') + (object.product_style==3 ? ' aborder ':'') + ((object.product_style==1 || object.product_style==3 )? ' bgf ':'') + (object.chamfer_of_main_drawing==2 ? ' but_radius5 ':'') }}" style="{{'margin-bottom:'+object.product_spacing+'px;'}}"> |
19 | - <navigator url="{{aitem.goods_type == 1 ? ( nav1 + 'goods_id=' + aitem.goods_id + '&title=' + aitem.goods_name + '&prom_type='+prom_type+'&prom_id=' + aitem.id ) : ( nav2 + 'goods_id=' + aitem.goods_id + '&title=' + aitem.goods_name + '&prom_type='+prom_type+'&prom_id=' + aitem.id)}}" class="s1_gk_a1"> | 19 | + <navigator url="{{aitem.goods_type == 1 ? ( nav1 + 'goods_id=' + aitem.goods_id + '&title=' + aitem.goods_name + '&prom_type='+prom_type+'&prom_id=' + aitem.id +'&pre_id=' + aitem.id ) : ( nav2 + 'goods_id=' + aitem.goods_id + '&title=' + aitem.goods_name + '&prom_type='+prom_type+'&prom_id=' + aitem.id +'&pre_id=' + aitem.id )}}" class="s1_gk_a1"> |
20 | <view class="topBox"> | 20 | <view class="topBox"> |
21 | <view class="imgBox"> | 21 | <view class="imgBox"> |
22 | <!-- <image mode="{{object.picture_fill==1 ? 'aspectFill' : 'scaleToFill'}}" class="{{'new_item1_image '+ 'aspect_ratio'+object.picture_scale}}" style="{{'width:'+img_width+';height:'+img_height}}" src="{{imghost+aitem.original_img}}" data-errorimg="goods_array[{{index}}][{{aind}}].original_img" binderror="bind_bnerr3"></image> --> | 22 | <!-- <image mode="{{object.picture_fill==1 ? 'aspectFill' : 'scaleToFill'}}" class="{{'new_item1_image '+ 'aspect_ratio'+object.picture_scale}}" style="{{'width:'+img_width+';height:'+img_height}}" src="{{imghost+aitem.original_img}}" data-errorimg="goods_array[{{index}}][{{aind}}].original_img" binderror="bind_bnerr3"></image> --> |
@@ -76,7 +76,7 @@ | @@ -76,7 +76,7 @@ | ||
76 | <view style="{{'padding-left:'+object.page_margins+'px;padding-right:'+object.page_margins+'px;'}}" class="{{'flex2 new_item1_box '+ ((object.product_style==1 || object.product_style==3 )? ' bgf ':'') }}"> | 76 | <view style="{{'padding-left:'+object.page_margins+'px;padding-right:'+object.page_margins+'px;'}}" class="{{'flex2 new_item1_box '+ ((object.product_style==1 || object.product_style==3 )? ' bgf ':'') }}"> |
77 | <block wx:for="{{goods_array}}"> | 77 | <block wx:for="{{goods_array}}"> |
78 | <view wx:for="{{item}}" wx:for-item="aitem" wx:for-index="aind" class="{{'boxpad new_item1 ' + (object.product_style==2 ? ' boxsha ':'') + (object.product_style==3 ? ' aborder ':'') + ((object.product_style==1 || object.product_style==3 )? ' bgf ':'')+ (object.chamfer_of_main_drawing==2 ? ' but_radius5 ':'')}}" style="{{'margin-bottom:'+object.product_spacing+'px; '+('width:calc(100%/2 - ' + object.product_spacing/2+'px)')}}"> | 78 | <view wx:for="{{item}}" wx:for-item="aitem" wx:for-index="aind" class="{{'boxpad new_item1 ' + (object.product_style==2 ? ' boxsha ':'') + (object.product_style==3 ? ' aborder ':'') + ((object.product_style==1 || object.product_style==3 )? ' bgf ':'')+ (object.chamfer_of_main_drawing==2 ? ' but_radius5 ':'')}}" style="{{'margin-bottom:'+object.product_spacing+'px; '+('width:calc(100%/2 - ' + object.product_spacing/2+'px)')}}"> |
79 | - <navigator url="{{aitem.goods_type == 1 ? ( nav1 + 'goods_id=' + aitem.goods_id + '&title=' + aitem.goods_name + '&prom_type='+prom_type+'&prom_id=' + aitem.id ) : ( nav2 + 'goods_id=' + aitem.goods_id + '&title=' + aitem.goods_name + '&prom_type='+prom_type+'&prom_id=' + aitem.id)}}" class="s1_gk_a1"> | 79 | + <navigator url="{{aitem.goods_type == 1 ? ( nav1 + 'goods_id=' + aitem.goods_id + '&title=' + aitem.goods_name + '&prom_type='+prom_type+'&prom_id=' + aitem.id +'&pre_id=' + aitem.id ) : ( nav2 + 'goods_id=' + aitem.goods_id + '&title=' + aitem.goods_name + '&prom_type='+prom_type+'&prom_id=' + aitem.id +'&pre_id=' + aitem.id )}}" class="s1_gk_a1"> |
80 | <view class="topBox"> | 80 | <view class="topBox"> |
81 | <view class="imgBox"> | 81 | <view class="imgBox"> |
82 | <!-- <image mode="{{object.picture_fill==1 ? 'aspectFill' : 'scaleToFill'}}" class="{{'new_item1_image '+ 'aspect_ratio'+object.picture_scale}}" style="{{'width:'+img_width+';height:'+img_height}}" src="{{imghost+aitem.original_img}}" data-errorimg="goods_array[{{index}}][{{aind}}].original_img" binderror="bind_bnerr3"></image> --> | 82 | <!-- <image mode="{{object.picture_fill==1 ? 'aspectFill' : 'scaleToFill'}}" class="{{'new_item1_image '+ 'aspect_ratio'+object.picture_scale}}" style="{{'width:'+img_width+';height:'+img_height}}" src="{{imghost+aitem.original_img}}" data-errorimg="goods_array[{{index}}][{{aind}}].original_img" binderror="bind_bnerr3"></image> --> |
@@ -130,7 +130,7 @@ | @@ -130,7 +130,7 @@ | ||
130 | <view style="{{'padding-left:'+object.page_margins+'px;padding-right:'+object.page_margins+'px;'}}" class="{{'flex2 new_item1_box '+ ((object.product_style==1 || object.product_style==3 )? ' bgf ':'')}}"> | 130 | <view style="{{'padding-left:'+object.page_margins+'px;padding-right:'+object.page_margins+'px;'}}" class="{{'flex2 new_item1_box '+ ((object.product_style==1 || object.product_style==3 )? ' bgf ':'')}}"> |
131 | <block wx:for="{{goods_array}}"> | 131 | <block wx:for="{{goods_array}}"> |
132 | <view wx:for="{{item}}" wx:for-item="aitem" wx:for-index="aind" class="{{'boxpad new_item1 ' + (object.product_style==2 ? ' boxsha ':'') + (object.product_style==3 ? ' aborder ':'') + ((object.product_style==1 || object.product_style==3 )? ' bgf ':'') + (object.chamfer_of_main_drawing==2 ? ' but_radius5 ':'') }}" style="{{'margin-bottom:'+object.product_spacing+'px; '+('width:calc(100%/3 - ' + (object.product_spacing*2)/3+'px)')}}"> | 132 | <view wx:for="{{item}}" wx:for-item="aitem" wx:for-index="aind" class="{{'boxpad new_item1 ' + (object.product_style==2 ? ' boxsha ':'') + (object.product_style==3 ? ' aborder ':'') + ((object.product_style==1 || object.product_style==3 )? ' bgf ':'') + (object.chamfer_of_main_drawing==2 ? ' but_radius5 ':'') }}" style="{{'margin-bottom:'+object.product_spacing+'px; '+('width:calc(100%/3 - ' + (object.product_spacing*2)/3+'px)')}}"> |
133 | - <navigator url="{{aitem.goods_type == 1 ? ( nav1 + 'goods_id=' + aitem.goods_id + '&title=' + aitem.goods_name + '&prom_type='+prom_type+'&prom_id=' + aitem.id ) : ( nav2 + 'goods_id=' + aitem.goods_id + '&title=' + aitem.goods_name + '&prom_type='+prom_type+'&prom_id=' + aitem.id)}}" class="s1_gk_a1"> | 133 | + <navigator url="{{aitem.goods_type == 1 ? ( nav1 + 'goods_id=' + aitem.goods_id + '&title=' + aitem.goods_name + '&prom_type='+prom_type+'&prom_id=' + aitem.id +'&pre_id=' + aitem.id ) : ( nav2 + 'goods_id=' + aitem.goods_id + '&title=' + aitem.goods_name + '&prom_type='+prom_type+'&prom_id=' + aitem.id +'&pre_id=' + aitem.id )}}" class="s1_gk_a1"> |
134 | <view class="topBox"> | 134 | <view class="topBox"> |
135 | <view class="imgBox"> | 135 | <view class="imgBox"> |
136 | <!-- <image mode="{{object.picture_fill==1 ? 'aspectFill' : 'scaleToFill'}}" class="{{'new_item1_image '+ 'aspect_ratio'+object.picture_scale}}" style="{{'width:'+img_width+';height:'+img_height}}" src="{{imghost+aitem.original_img}}" data-errorimg="goods_array[{{index}}][{{aind}}].original_img" binderror="bind_bnerr3"></image> --> | 136 | <!-- <image mode="{{object.picture_fill==1 ? 'aspectFill' : 'scaleToFill'}}" class="{{'new_item1_image '+ 'aspect_ratio'+object.picture_scale}}" style="{{'width:'+img_width+';height:'+img_height}}" src="{{imghost+aitem.original_img}}" data-errorimg="goods_array[{{index}}][{{aind}}].original_img" binderror="bind_bnerr3"></image> --> |
@@ -178,7 +178,7 @@ | @@ -178,7 +178,7 @@ | ||
178 | <view style="{{'padding-left:'+object.page_margins+'px;padding-right:'+object.page_margins+'px;'}}" class="{{'flex2 new_item1_box '+ ((object.product_style==1 || object.product_style==3 )? ' bgf ':'') }}"> | 178 | <view style="{{'padding-left:'+object.page_margins+'px;padding-right:'+object.page_margins+'px;'}}" class="{{'flex2 new_item1_box '+ ((object.product_style==1 || object.product_style==3 )? ' bgf ':'') }}"> |
179 | <block wx:for="{{goods_array}}"> | 179 | <block wx:for="{{goods_array}}"> |
180 | <view wx:for="{{item}}" wx:for-item="aitem" wx:for-index="aind" class="{{'boxpad new_item1 ' + (object.product_style==2 ? ' boxsha ':'') + (object.product_style==3 ? ' aborder ':'') + ((object.product_style==1 || object.product_style==3 )? ' bgf ':'') + (object.chamfer_of_main_drawing==2 ? ' but_radius5 ':'') }}" style="{{'margin-bottom:'+object.product_spacing+'px;'}}"> | 180 | <view wx:for="{{item}}" wx:for-item="aitem" wx:for-index="aind" class="{{'boxpad new_item1 ' + (object.product_style==2 ? ' boxsha ':'') + (object.product_style==3 ? ' aborder ':'') + ((object.product_style==1 || object.product_style==3 )? ' bgf ':'') + (object.chamfer_of_main_drawing==2 ? ' but_radius5 ':'') }}" style="{{'margin-bottom:'+object.product_spacing+'px;'}}"> |
181 | - <navigator style="display: flex;" url="{{aitem.goods_type == 1 ? ( nav1 + 'goods_id=' + aitem.goods_id + '&title=' + aitem.goods_name + '&prom_type='+prom_type+'&prom_id=' + aitem.id ) : ( nav2 + 'goods_id=' + aitem.goods_id + '&title=' + aitem.goods_name + '&prom_type='+prom_type+'&prom_id=' + aitem.id)}}" class="s1_gk_a1"> | 181 | + <navigator style="display: flex;" url="{{aitem.goods_type == 1 ? ( nav1 + 'goods_id=' + aitem.goods_id + '&title=' + aitem.goods_name + '&prom_type='+prom_type+'&prom_id=' + aitem.id +'&pre_id=' + aitem.id ) : ( nav2 + 'goods_id=' + aitem.goods_id + '&title=' + aitem.goods_name + '&prom_type='+prom_type+'&prom_id=' + aitem.id +'&pre_id=' + aitem.id )}}" class="s1_gk_a1"> |
182 | <view style="width: 33%;" class="topBox"> | 182 | <view style="width: 33%;" class="topBox"> |
183 | <view class="imgBox"> | 183 | <view class="imgBox"> |
184 | <view class="{{'container'+object.picture_scale}}" style="{{object.picture_fill==1 ? 'background-color: #fff;' : ''}}"> | 184 | <view class="{{'container'+object.picture_scale}}" style="{{object.picture_fill==1 ? 'background-color: #fff;' : ''}}"> |
@@ -231,7 +231,7 @@ | @@ -231,7 +231,7 @@ | ||
231 | <block wx:for="{{goods_array}}"> | 231 | <block wx:for="{{goods_array}}"> |
232 | <block wx:for="{{item}}" wx:for-item="aitem" wx:for-index="aind"> | 232 | <block wx:for="{{item}}" wx:for-item="aitem" wx:for-index="aind"> |
233 | <view wx:if="{{aind==0}}" class="{{'new_item1 ' + (object.product_style==2 ? ' boxsha ':'') + (object.product_style==3 ? ' aborder ':'') + (object.chamfer_of_main_drawing==2 ? ' but_radius5 ':'') + ((object.product_style==1 || object.product_style==3 )? ' bgf ':'')}}" style="{{'margin-bottom:'+object.product_spacing+'px;'}}"> | 233 | <view wx:if="{{aind==0}}" class="{{'new_item1 ' + (object.product_style==2 ? ' boxsha ':'') + (object.product_style==3 ? ' aborder ':'') + (object.chamfer_of_main_drawing==2 ? ' but_radius5 ':'') + ((object.product_style==1 || object.product_style==3 )? ' bgf ':'')}}" style="{{'margin-bottom:'+object.product_spacing+'px;'}}"> |
234 | - <navigator url="{{aitem.goods_type == 1 ? ( nav1 + 'goods_id=' + aitem.goods_id + '&title=' + aitem.goods_name + '&prom_type=' + prom_type + '&prom_id=' + aitem.id ) : ( nav2 + 'goods_id=' + aitem.goods_id + '&title=' + aitem.goods_name + '&prom_type='+ prom_type +'&prom_id=' + aitem.id)}}" class="s1_gk_a1"> | 234 | + <navigator url="{{aitem.goods_type == 1 ? ( nav1 + 'goods_id=' + aitem.goods_id + '&title=' + aitem.goods_name + '&prom_type=' + prom_type + '&prom_id=' + aitem.id +'&pre_id=' + aitem.id ) : ( nav2 + 'goods_id=' + aitem.goods_id + '&title=' + aitem.goods_name + '&prom_type='+ prom_type +'&prom_id=' + aitem.id +'&pre_id=' + aitem.id )}}" class="s1_gk_a1"> |
235 | <view class="topBox"> | 235 | <view class="topBox"> |
236 | <view class="imgBox"> | 236 | <view class="imgBox"> |
237 | <view class="{{'container'+object.picture_scale}}" style="{{object.picture_fill==1 ? 'background-color: #fff;' : ''}}"> | 237 | <view class="{{'container'+object.picture_scale}}" style="{{object.picture_fill==1 ? 'background-color: #fff;' : ''}}"> |
@@ -422,7 +422,7 @@ | @@ -422,7 +422,7 @@ | ||
422 | <swiper indicator-dots style="{{'padding-left:'+object.page_margins+'px;padding-right:'+object.page_margins+'px;'+(swiperHeight ? ('height:'+swiperHeight+';'):'' )}}" class="{{' new_item1_box '+ ((object.product_style==1 || object.product_style==3 )? ' bgf ':'')}}"> | 422 | <swiper indicator-dots style="{{'padding-left:'+object.page_margins+'px;padding-right:'+object.page_margins+'px;'+(swiperHeight ? ('height:'+swiperHeight+';'):'' )}}" class="{{' new_item1_box '+ ((object.product_style==1 || object.product_style==3 )? ' bgf ':'')}}"> |
423 | <swiper-item wx:for="{{goods_array}}" class="flex2" style="padding: 5rpx;"> | 423 | <swiper-item wx:for="{{goods_array}}" class="flex2" style="padding: 5rpx;"> |
424 | <view wx:for="{{item}}" wx:for-item="aitem" wx:for-index="aind" class="{{'boxpad swiper_h new_item1 ' + (object.product_style==2 ? ' boxsha ':'') + (object.product_style==3 ? ' aborder ':'') + ((object.product_style==1 || object.product_style==3 )? ' bgf ':'') + (object.chamfer_of_main_drawing==2 ? ' but_radius5 ':'') }}" style="{{'margin-bottom:'+object.product_spacing+'px; '+('width:calc(100%/3 - ' + (object.product_spacing*2)/3+'px)')}}"> | 424 | <view wx:for="{{item}}" wx:for-item="aitem" wx:for-index="aind" class="{{'boxpad swiper_h new_item1 ' + (object.product_style==2 ? ' boxsha ':'') + (object.product_style==3 ? ' aborder ':'') + ((object.product_style==1 || object.product_style==3 )? ' bgf ':'') + (object.chamfer_of_main_drawing==2 ? ' but_radius5 ':'') }}" style="{{'margin-bottom:'+object.product_spacing+'px; '+('width:calc(100%/3 - ' + (object.product_spacing*2)/3+'px)')}}"> |
425 | - <navigator url="{{aitem.goods_type == 1 ? ( nav1 + 'goods_id=' + aitem.goods_id + '&title=' + aitem.goods_name + '&prom_type=' + prom_type + '&prom_id=' + aitem.id ) : ( nav2 + 'goods_id=' + aitem.goods_id + '&title=' + aitem.goods_name + '&prom_type='+ prom_type +'&prom_id=' + aitem.id)}}" class="s1_gk_a1"> | 425 | + <navigator url="{{aitem.goods_type == 1 ? ( nav1 + 'goods_id=' + aitem.goods_id + '&title=' + aitem.goods_name + '&prom_type=' + prom_type + '&prom_id=' + aitem.id +'&pre_id=' + aitem.id ) : ( nav2 + 'goods_id=' + aitem.goods_id + '&title=' + aitem.goods_name + '&prom_type='+ prom_type +'&prom_id=' + aitem.id +'&pre_id=' + aitem.id )}}" class="s1_gk_a1"> |
426 | <view class="topBox"> | 426 | <view class="topBox"> |
427 | <view class="imgBox"> | 427 | <view class="imgBox"> |
428 | <view class="{{'container'+object.picture_scale}}" style="{{object.picture_fill==1 ? 'background-color: #fff;' : ''}}"> | 428 | <view class="{{'container'+object.picture_scale}}" style="{{object.picture_fill==1 ? 'background-color: #fff;' : ''}}"> |
components/diy_seckill/diy_seckill.js
@@ -217,7 +217,28 @@ Component({ | @@ -217,7 +217,28 @@ Component({ | ||
217 | all_array[i].price_n = price | 217 | all_array[i].price_n = price |
218 | } | 218 | } |
219 | 219 | ||
220 | - all_array[i].residue=all_array[i].goods_num*1 - all_array[i].buy_num*1 | 220 | + let virtual = all_array[i].virtual ? all_array[i].virtual : 0 |
221 | + if (all_array[i].status) { | ||
222 | + if (all_array[i].is_virtual_count ) { | ||
223 | + // all_array[i].goods_num -= all_array[i].virtual | ||
224 | + all_array[i].buy_num += virtual*1 | ||
225 | + all_array[i].residue = all_array[i].goods_num*1 - all_array[i].buy_num*1 | ||
226 | + }else{ | ||
227 | + all_array[i].buy_num += virtual*1 | ||
228 | + all_array[i].residue=all_array[i].goods_num*1 + virtual*1 - all_array[i].buy_num*1 | ||
229 | + } | ||
230 | + }else{ | ||
231 | + if (all_array[i].is_virtual_count ) { | ||
232 | + // all_array[i].goods_num -= all_array[i].virtual | ||
233 | + all_array[i].buy_num = 0 | ||
234 | + all_array[i].residue = all_array[i].goods_num*1 - all_array[i].buy_num*1 | ||
235 | + }else{ | ||
236 | + all_array[i].buy_num = 0 | ||
237 | + all_array[i].residue=all_array[i].goods_num*1 + virtual*1 - all_array[i].buy_num*1 | ||
238 | + } | ||
239 | + } | ||
240 | + | ||
241 | + // all_array[i].residue=all_array[i].goods_num*1 - all_array[i].buy_num*1 | ||
221 | if (all_array[i].residue && all_array[i].residue > 0 && all_array[i].status !=2) { | 242 | if (all_array[i].residue && all_array[i].residue > 0 && all_array[i].status !=2) { |
222 | empty.push(all_array[i]) | 243 | empty.push(all_array[i]) |
223 | } | 244 | } |
packageA/pages/goodsInfo/goodsInfo.wxml
@@ -114,7 +114,7 @@ | @@ -114,7 +114,7 @@ | ||
114 | <block wx:if="{{prom_type==1}}"> | 114 | <block wx:if="{{prom_type==1}}"> |
115 | <view class="goods-num"> | 115 | <view class="goods-num"> |
116 | <block> | 116 | <block> |
117 | - <view class="stock">总数量:{{prom_act.goods_num+prom_act.virtual}}件</view> | 117 | + <view class="stock">总数量:{{prom_act.is_virtual_count ? prom_act.goods_num : (prom_act.goods_num+prom_act.virtual)}}件</view> |
118 | 118 | ||
119 | <view class="stock" wx:if="{{prom_act.buy_limit>0}}">限购:{{prom_act.buy_limit}}件</view> | 119 | <view class="stock" wx:if="{{prom_act.buy_limit>0}}">限购:{{prom_act.buy_limit}}件</view> |
120 | <view class="stock" wx:else>限购:不限</view> | 120 | <view class="stock" wx:else>限购:不限</view> |
packageA/pages/quan_pro/quan_pro.js
@@ -52,6 +52,8 @@ Page({ | @@ -52,6 +52,8 @@ Page({ | ||
52 | th.setData({getcurday:ut.gettimestamp()}); | 52 | th.setData({getcurday:ut.gettimestamp()}); |
53 | 53 | ||
54 | var rs=await getApp().request.promiseGet("/api/weshop/prom/coupon/get/"+th.data.id, {}) | 54 | var rs=await getApp().request.promiseGet("/api/weshop/prom/coupon/get/"+th.data.id, {}) |
55 | + // console.error('分享请求数据'); | ||
56 | + // console.error(rs); | ||
55 | if(!rs){ | 57 | if(!rs){ |
56 | th.setData({is_get:1}); | 58 | th.setData({is_get:1}); |
57 | return false; | 59 | return false; |
@@ -64,6 +66,17 @@ Page({ | @@ -64,6 +66,17 @@ Page({ | ||
64 | //如果只限定链接的时候,要取消分享按钮 | 66 | //如果只限定链接的时候,要取消分享按钮 |
65 | if(r_data.is_share){ | 67 | if(r_data.is_share){ |
66 | wx.hideShareMenu(); | 68 | wx.hideShareMenu(); |
69 | + wx.offCopyUrl() | ||
70 | + //替换掉复制链接 | ||
71 | + wx.onCopyUrl(() => { | ||
72 | + setTimeout(()=>{ | ||
73 | + wx.setClipboardData({ | ||
74 | + data: '暂不支持分享', | ||
75 | + success (res) { } | ||
76 | + }) | ||
77 | + },500) | ||
78 | + return { query: 'a=1&b=2' } | ||
79 | + }) | ||
67 | } | 80 | } |
68 | 81 | ||
69 | if(r_data.store_id!=os.stoid){ | 82 | if(r_data.store_id!=os.stoid){ |
packageF/pages/xcxServiceChat/xcxServiceChat.js
0 → 100644
1 | +// packageF/pages/xcxServiceChat/xcxServiceChat.js | ||
2 | +var t = getApp(), | ||
3 | +a = t.request, | ||
4 | +o = t.globalData.setting | ||
5 | +Page({ | ||
6 | + | ||
7 | + /** | ||
8 | + * 页面的初始数据 | ||
9 | + */ | ||
10 | + data: { | ||
11 | + url: o.imghost, | ||
12 | + imgUrl:'', | ||
13 | + userinfo:{}, | ||
14 | + window_info:{}, | ||
15 | + imgBoxOffw:true, | ||
16 | + imgBoxOffh:true, | ||
17 | + }, | ||
18 | + | ||
19 | + /** | ||
20 | + * 生命周期函数--监听页面加载 | ||
21 | + */ | ||
22 | + onLoad(options) { | ||
23 | + let window_info = wx.getWindowInfo() | ||
24 | + console.error(window_info); | ||
25 | + console.log(window_info); | ||
26 | + this.getad() | ||
27 | + wx.setNavigationBarTitle({ | ||
28 | + title: '联系客服' | ||
29 | + }) | ||
30 | + this.setData({ | ||
31 | + userinfo: getApp().globalData.userInfo, | ||
32 | + window_info, | ||
33 | + }); | ||
34 | + | ||
35 | + }, | ||
36 | + //获取客服广告 | ||
37 | + async getad(){ | ||
38 | + //---首页广告------- | ||
39 | + await getApp().request.promiseGet("/api/weshop/ad/page?pids=1209&store_id=" + o.stoid, { | ||
40 | + data: {} | ||
41 | + }).then(res => { | ||
42 | + if (res.data.code == 0 && res.data.data.pageData && res.data.data.pageData.length > 0) { | ||
43 | + let a = res.data.data.pageData[0]; | ||
44 | + let imgUrl = this.data.url + a.ad_code | ||
45 | + wx.getImageInfo({ | ||
46 | + src: imgUrl, | ||
47 | + success: res=>{ | ||
48 | + let imgBoxOffw = true | ||
49 | + let imgBoxOffh = true | ||
50 | + if (res.width > this.data.window_info.screenWidth) { | ||
51 | + imgBoxOffw = false | ||
52 | + } | ||
53 | + if (res.height > this.data.window_info.screenWidth) { | ||
54 | + imgBoxOffh = false | ||
55 | + } | ||
56 | + | ||
57 | + this.setData({ | ||
58 | + imgUrl, | ||
59 | + imgBoxOffw, | ||
60 | + imgBoxOffh | ||
61 | + }) | ||
62 | + } | ||
63 | + }) | ||
64 | + | ||
65 | + } | ||
66 | + }) | ||
67 | + }, | ||
68 | + //联系客服 | ||
69 | + con_weixin () { | ||
70 | + console.log(123456); | ||
71 | + console.log(this.data.sys_switch); | ||
72 | + // getApp().con_wx(this); | ||
73 | + var url=this.data.sys_switch.weapp_customertype_url; | ||
74 | + var id=this.data.sys_switch.weapp_customertype_appid; | ||
75 | + wx.openCustomerServiceChat({ | ||
76 | + extInfo: {url: url}, | ||
77 | + corpId: id, | ||
78 | + success(res) {} | ||
79 | + }) | ||
80 | + }, | ||
81 | + /** | ||
82 | + * 生命周期函数--监听页面初次渲染完成 | ||
83 | + */ | ||
84 | + onReady() { | ||
85 | + | ||
86 | + }, | ||
87 | + | ||
88 | + /** | ||
89 | + * 生命周期函数--监听页面显示 | ||
90 | + */ | ||
91 | + onShow() { | ||
92 | + | ||
93 | + }, | ||
94 | + | ||
95 | + /** | ||
96 | + * 生命周期函数--监听页面隐藏 | ||
97 | + */ | ||
98 | + onHide() { | ||
99 | + | ||
100 | + }, | ||
101 | + | ||
102 | + /** | ||
103 | + * 生命周期函数--监听页面卸载 | ||
104 | + */ | ||
105 | + onUnload() { | ||
106 | + | ||
107 | + }, | ||
108 | + | ||
109 | + /** | ||
110 | + * 页面相关事件处理函数--监听用户下拉动作 | ||
111 | + */ | ||
112 | + onPullDownRefresh() { | ||
113 | + | ||
114 | + }, | ||
115 | + | ||
116 | + /** | ||
117 | + * 页面上拉触底事件的处理函数 | ||
118 | + */ | ||
119 | + onReachBottom() { | ||
120 | + | ||
121 | + }, | ||
122 | + | ||
123 | + /** | ||
124 | + * 用户点击右上角分享 | ||
125 | + */ | ||
126 | + onShareAppMessage() { | ||
127 | + | ||
128 | + } | ||
129 | +}) | ||
0 | \ No newline at end of file | 130 | \ No newline at end of file |
packageF/pages/xcxServiceChat/xcxServiceChat.json
0 → 100644
packageF/pages/xcxServiceChat/xcxServiceChat.wxml
0 → 100644
1 | +<!--packageF/pages/xcxServiceChat/xcxServiceChat.wxml--> | ||
2 | +<button open-type="contact" session-from="wechat|{{userInfo.user_id}}|{{userInfo.nickname}}|{{userInfo.head_pic}}" class="imgBox" style="background-image: url({{imgUrl}});{{(imgBoxOffw && imgBoxOffh) ? ' object-fit: cover;' : ((!imgBoxOffw && !imgBoxOffh) ? 'background-size: 100% 100%;' : (!imgBoxOffw ? 'background-size: 100% ;' :'background-size: auto 100% ' ) ) }}"> | ||
3 | + | ||
4 | +</button> |
packageF/pages/xcxServiceChat/xcxServiceChat.wxss
0 → 100644
1 | +/* packageF/pages/xcxServiceChat/xcxServiceChat.wxss */ | ||
2 | + | ||
3 | +.mainBox{ | ||
4 | + width: 100vw; | ||
5 | + height: 100vh; | ||
6 | + position: absolute; | ||
7 | + left: 0; | ||
8 | + right: 0; | ||
9 | + top: 0; | ||
10 | + bottom: 0; | ||
11 | +} | ||
12 | +.imgBox{ | ||
13 | + height: 100vh; | ||
14 | + width: 100vw; | ||
15 | + background-position: 50%; | ||
16 | + background-repeat: no-repeat; | ||
17 | + background-attachment: fixed; | ||
18 | + position: relative; | ||
19 | + /* object-fit: contain; */ | ||
20 | + | ||
21 | + /* object-fit: cover; */ | ||
22 | +} | ||
23 | +image{ | ||
24 | + margin: auto; | ||
25 | +} | ||
0 | \ No newline at end of file | 26 | \ No newline at end of file |
pages/activity/seckill_list/seckill_list.wxml
@@ -46,9 +46,9 @@ | @@ -46,9 +46,9 @@ | ||
46 | <view class="xc-strip-blank rel"> | 46 | <view class="xc-strip-blank rel"> |
47 | 47 | ||
48 | <view class="flex-vertical rel total"> | 48 | <view class="flex-vertical rel total"> |
49 | - <view class="t-c abs xc-fill"style="width:{{type==1?(100-(item.buy_num+item.virtual) /(item.goods_num+item.virtual)*100)>3?(100-(item.buy_num+item.virtual) /(item.goods_num+item.virtual)*100):'3':'100'}}%;background:{{type==1?'#f23030':'#059de5'}};"> | 49 | + <view class="t-c abs xc-fill"style="width:{{type==1?(100-(item.buy_num+item.virtual) /((item.is_virtual_count ? item.goods_num : item.goods_num+item.virtual))*100)>3?(100-(item.buy_num+item.virtual) /((item.is_virtual_count ? item.goods_num : item.goods_num+item.virtual))*100):'3':'100'}}%;background:{{type==1?'#f23030':'#059de5'}};"> |
50 | </view> | 50 | </view> |
51 | - <text class="fs20 white abs xc-fill-text" style="">剩余{{type==1?filters.toFix(100-(item.buy_num+item.virtual)/(item.goods_num+item.virtual)*100,0):'100'}}%</text> | 51 | + <text class="fs20 white abs xc-fill-text" style="">剩余{{type==1?filters.toFix(100-(item.buy_num+item.virtual)/((item.is_virtual_count ? item.goods_num : item.goods_num+item.virtual))*100,0):'100'}}%</text> |
52 | </view> | 52 | </view> |
53 | 53 | ||
54 | </view> | 54 | </view> |
pages/goods/goodsInfo/goodsInfo.wxml
@@ -456,7 +456,7 @@ | @@ -456,7 +456,7 @@ | ||
456 | <view wx:if="{{prom_type==1}}"> | 456 | <view wx:if="{{prom_type==1}}"> |
457 | <view class="goods-num"> | 457 | <view class="goods-num"> |
458 | <block wx:if="prom_st>0"> | 458 | <block wx:if="prom_st>0"> |
459 | - <view class="stock">总数量:{{prom_act.goods_num+prom_act.virtual}}件</view> | 459 | + <view class="stock">总数量:{{prom_act.is_virtual_count ? prom_act.goods_num : (prom_act.goods_num+prom_act.virtual)}}件</view> |
460 | <view class="stock" wx:if="{{prom_act.buy_limit>0}}">限购:{{prom_act.buy_limit}}件</view> | 460 | <view class="stock" wx:if="{{prom_act.buy_limit>0}}">限购:{{prom_act.buy_limit}}件</view> |
461 | <view class="stock" wx:else>限购:不限</view> | 461 | <view class="stock" wx:else>限购:不限</view> |
462 | 462 | ||
@@ -1316,7 +1316,7 @@ | @@ -1316,7 +1316,7 @@ | ||
1316 | 已售:{{prom_act.buy_num+prom_act.virtual}} | 1316 | 已售:{{prom_act.buy_num+prom_act.virtual}} |
1317 | </view> | 1317 | </view> |
1318 | <view class="spec-goods-stock" wx:else>已售:{{prom_act.buy_num}}</view> | 1318 | <view class="spec-goods-stock" wx:else>已售:{{prom_act.buy_num}}</view> |
1319 | - <view class="spec-goods-stock">可售:{{prom_act.goods_num-prom_act.buy_num}}</view> | 1319 | + <view class="spec-goods-stock">可售:{{(prom_act.is_virtual_count && prom_act.virtual) ? (prom_act.goods_num - prom_act.buy_num - prom_act.virtual) : (prom_act.goods_num-prom_act.buy_num)}}</view> |
1320 | </view> | 1320 | </view> |
1321 | </block> | 1321 | </block> |
1322 | <block wx:if="{{prom_type==2}}"> | 1322 | <block wx:if="{{prom_type==2}}"> |
pages/index/index/index.js
@@ -208,8 +208,9 @@ Page({ | @@ -208,8 +208,9 @@ Page({ | ||
208 | getApp().request.promiseGet('/api/weshop/redmoney/redConfig/get/' + getApp().globalData.setting.stoid, { | 208 | getApp().request.promiseGet('/api/weshop/redmoney/redConfig/get/' + getApp().globalData.setting.stoid, { |
209 | data: {} | 209 | data: {} |
210 | }).then(function (data) { | 210 | }).then(function (data) { |
211 | - let code = data.data.code; | ||
212 | - if (code == 0) { | 211 | + let code = data.data.code; |
212 | + let resdata = data.data.data; | ||
213 | + if (code == 0 && resdata.is_index) { | ||
213 | 214 | ||
214 | th.setData({ | 215 | th.setData({ |
215 | showHongbao: true, | 216 | showHongbao: true, |
pages/index/index/index.wxml
@@ -516,6 +516,9 @@ | @@ -516,6 +516,9 @@ | ||
516 | <block wx:if="{{item.ename=='presale'}}"> | 516 | <block wx:if="{{item.ename=='presale'}}"> |
517 | <presell object="{{item.content}}"></presell> | 517 | <presell object="{{item.content}}"></presell> |
518 | </block> | 518 | </block> |
519 | + <block wx:if="{{item.ename=='presaleNew'}}"> | ||
520 | + <diy_public object="{{item.content}}" prom_type="8"></diy_public> | ||
521 | + </block> | ||
519 | <!-- 团购 --> | 522 | <!-- 团购 --> |
520 | <block wx:if="{{item.ename=='groupbuy'}}"> | 523 | <block wx:if="{{item.ename=='groupbuy'}}"> |
521 | <groupbuy object="{{item.content}}"></groupbuy> | 524 | <groupbuy object="{{item.content}}"></groupbuy> |
pages/template/index.wxml
@@ -69,6 +69,9 @@ | @@ -69,6 +69,9 @@ | ||
69 | <block wx:if="{{item.ename=='presale'}}"> | 69 | <block wx:if="{{item.ename=='presale'}}"> |
70 | <presell object="{{item.content}}"></presell> | 70 | <presell object="{{item.content}}"></presell> |
71 | </block> | 71 | </block> |
72 | + <block wx:if="{{item.ename=='presaleNew'}}"> | ||
73 | + <diy_public object="{{item.content}}" prom_type="8"></diy_public> | ||
74 | + </block> | ||
72 | <!-- 团购 --> | 75 | <!-- 团购 --> |
73 | <block wx:if="{{item.ename=='groupbuy'}}"> | 76 | <block wx:if="{{item.ename=='groupbuy'}}"> |
74 | <groupbuy object="{{item.content}}"></groupbuy> | 77 | <groupbuy object="{{item.content}}"></groupbuy> |