Merge branch 'feature/group-home-correct' into 'release/6.9.2'
Feature/group home correct See merge request !1737
Showing
17 changed files
with
586 additions
and
21 deletions
@@ -24,6 +24,30 @@ function index(req, res, next) { | @@ -24,6 +24,30 @@ function index(req, res, next) { | ||
24 | }).catch(next); | 24 | }).catch(next); |
25 | } | 25 | } |
26 | 26 | ||
27 | +function goodsTab(req, res, next) { | ||
28 | + req.ctx(GroupService).goodsTab().then(result => { | ||
29 | + return res.json({filterList: result.filterGroupList}); | ||
30 | + }).catch(next); | ||
31 | +} | ||
32 | + | ||
33 | +function newIndex(req, res, next) { | ||
34 | + req.ctx(GroupService).newGroupIndex().then(result => { | ||
35 | + console.log(result); | ||
36 | + return res.render('group/newIndex', { | ||
37 | + title: '有货福利团', | ||
38 | + page: 'group', | ||
39 | + localCss: true, | ||
40 | + nodownload: true, | ||
41 | + width750: true, | ||
42 | + wechatShare: true, | ||
43 | + floors: result.index, | ||
44 | + tabs: result.tabData, | ||
45 | + filterList: result.filterGroupList, | ||
46 | + shareInfo: result.shareInfo | ||
47 | + }); | ||
48 | + }).catch(next); | ||
49 | +} | ||
50 | + | ||
27 | function groupListIndex(req, res, next) { | 51 | function groupListIndex(req, res, next) { |
28 | let params = Object.assign({}, req.query); | 52 | let params = Object.assign({}, req.query); |
29 | let uid = 0; | 53 | let uid = 0; |
@@ -369,6 +393,7 @@ function loadOrder(req, res, next) { | @@ -369,6 +393,7 @@ function loadOrder(req, res, next) { | ||
369 | 393 | ||
370 | module.exports = { | 394 | module.exports = { |
371 | index, | 395 | index, |
396 | + newIndex, | ||
372 | groupListIndex, | 397 | groupListIndex, |
373 | groupList, | 398 | groupList, |
374 | progress, | 399 | progress, |
@@ -380,5 +405,6 @@ module.exports = { | @@ -380,5 +405,6 @@ module.exports = { | ||
380 | filter, | 405 | filter, |
381 | searchList, | 406 | searchList, |
382 | delOrder, | 407 | delOrder, |
383 | - cancelOrder | 408 | + cancelOrder, |
409 | + goodsTab | ||
384 | }; | 410 | }; |
@@ -18,12 +18,33 @@ const contentCodes = { | @@ -18,12 +18,33 @@ const contentCodes = { | ||
18 | } | 18 | } |
19 | } [isProd ? 'production' : 'test']; | 19 | } [isProd ? 'production' : 'test']; |
20 | 20 | ||
21 | +const newContentCodes = { | ||
22 | + test: { | ||
23 | + home: 'd9101626ba774147080596e482e5f697' | ||
24 | + }, | ||
25 | + production: { | ||
26 | + home: 'd9101626ba774147080596e482e5f697' | ||
27 | + } | ||
28 | +} [isProd ? 'production' : 'test']; | ||
29 | + | ||
21 | class GroupService extends global.yoho.BaseModel { | 30 | class GroupService extends global.yoho.BaseModel { |
22 | constructor(ctx) { | 31 | constructor(ctx) { |
23 | super(ctx); | 32 | super(ctx); |
24 | this.api = new GroupApi(ctx); | 33 | this.api = new GroupApi(ctx); |
25 | } | 34 | } |
26 | 35 | ||
36 | + async newIndex() { | ||
37 | + try { | ||
38 | + const result = await this.api._getResourceCode({ | ||
39 | + contentCode: newContentCodes.home | ||
40 | + }); | ||
41 | + | ||
42 | + return result; | ||
43 | + } catch (e) { | ||
44 | + throw new Error('Group index fail to load resources.'); | ||
45 | + } | ||
46 | + } | ||
47 | + | ||
27 | async index() { | 48 | async index() { |
28 | try { | 49 | try { |
29 | const result = await this.api._getResourceCode({ | 50 | const result = await this.api._getResourceCode({ |
@@ -157,6 +178,48 @@ class GroupService extends global.yoho.BaseModel { | @@ -157,6 +178,48 @@ class GroupService extends global.yoho.BaseModel { | ||
157 | return result; | 178 | return result; |
158 | } | 179 | } |
159 | 180 | ||
181 | + async newGroupIndex(tabIndex) { | ||
182 | + let result = {}; | ||
183 | + let tabCurrentIndex = tabIndex || 0; | ||
184 | + | ||
185 | + result.index = await this.newIndex(); | ||
186 | + let filters = []; | ||
187 | + | ||
188 | + result.index.forEach(item => { | ||
189 | + if (item.template_name === 'guessLike') { | ||
190 | + filters = item.data; | ||
191 | + } | ||
192 | + }); | ||
193 | + | ||
194 | + filters.forEach(item => { | ||
195 | + item.queryString = JSON.stringify(item.query); | ||
196 | + }); | ||
197 | + | ||
198 | + let indexFilter = filters[tabCurrentIndex] || {}; | ||
199 | + let query = {}; | ||
200 | + | ||
201 | + console.log(filters); | ||
202 | + console.log(indexFilter); | ||
203 | + indexFilter.query.forEach(item => { | ||
204 | + query = Object.assign(query, item); | ||
205 | + }); | ||
206 | + | ||
207 | + result.filterGroupList = await this.filterGroupList({ | ||
208 | + ...query, | ||
209 | + joinLimit: null | ||
210 | + }); | ||
211 | + | ||
212 | + return result; | ||
213 | + } | ||
214 | + | ||
215 | + async goodsTab(query, result = {}) { | ||
216 | + result.filterGroupList = await this.filterGroupList({ | ||
217 | + ...query, | ||
218 | + joinLimit: null | ||
219 | + }); | ||
220 | + return result; | ||
221 | + } | ||
222 | + | ||
160 | async groupListIndex(params, uid) { | 223 | async groupListIndex(params, uid) { |
161 | let result = {}; | 224 | let result = {}; |
162 | 225 | ||
@@ -255,6 +318,7 @@ class GroupService extends global.yoho.BaseModel { | @@ -255,6 +318,7 @@ class GroupService extends global.yoho.BaseModel { | ||
255 | val.sales_price = val.sales_price ? val.sales_price.toFixed(2) : ''; | 318 | val.sales_price = val.sales_price ? val.sales_price.toFixed(2) : ''; |
256 | val.market_price = val.market_price ? val.market_price.toFixed(2) : ''; | 319 | val.market_price = val.market_price ? val.market_price.toFixed(2) : ''; |
257 | val.collagePrice = val.collagePrice ? val.collagePrice.toFixed(2) : ''; | 320 | val.collagePrice = val.collagePrice ? val.collagePrice.toFixed(2) : ''; |
321 | + val.joinLimitStr = val.join_limit === 1 ? '邀新团' : '普通团'; | ||
258 | }); | 322 | }); |
259 | } | 323 | } |
260 | return finalResult; | 324 | return finalResult; |
@@ -383,8 +383,10 @@ router.post('/yoluck/detail/mylist.html', swtichYoLuck(yoluck.getActivityCodeLis | @@ -383,8 +383,10 @@ router.post('/yoluck/detail/mylist.html', swtichYoLuck(yoluck.getActivityCodeLis | ||
383 | 383 | ||
384 | // 拼团 | 384 | // 拼团 |
385 | router.get('/group', group.index); // 拼团首页 | 385 | router.get('/group', group.index); // 拼团首页 |
386 | +router.get('/group/newIndex', group.newIndex); // 拼团首页 | ||
386 | router.get('/group/list', group.groupListIndex); // 拼团列表页 | 387 | router.get('/group/list', group.groupListIndex); // 拼团列表页 |
387 | router.get('/group/goods-list', group.groupList); // 拼团列表 | 388 | router.get('/group/goods-list', group.groupList); // 拼团列表 |
389 | +router.get('/group/goods-tab', group.goodsTab); | ||
388 | router.get('/group/filter', group.filter); // 首页筛选结果页 | 390 | router.get('/group/filter', group.filter); // 首页筛选结果页 |
389 | router.get('/group/search', group.searchList); // 首页筛选列表 | 391 | router.get('/group/search', group.searchList); // 首页筛选列表 |
390 | router.get('/group/progress', auth, group.progress); // 拼团状态详情页 | 392 | router.get('/group/progress', auth, group.progress); // 拼团状态详情页 |
1 | +<div class="group" data-share-img="{{shareInfo.bigImage}}" data-share-title="{{shareInfo.title}}" data-share-content="{{shareInfo.content}}"> | ||
2 | + <div class="resources"> | ||
3 | + <div class="floors"> | ||
4 | + {{#each floors}} | ||
5 | + {{#ifcond template_name "==" 'focus'}} | ||
6 | + {{> group/resources/focus}} | ||
7 | + {{/ifcond}} | ||
8 | + {{#ifcond template_name "==" 'newSingleImage'}} | ||
9 | + {{> group/resources/new-single-image}} | ||
10 | + {{/ifcond}} | ||
11 | + {{#ifcond template_name "==" 'twoPicture'}} | ||
12 | + {{> group/resources/two-image}} | ||
13 | + {{/ifcond}} | ||
14 | + {{#ifcond template_name "==" 'image_list'}} | ||
15 | + {{> group/resources/four-image}} | ||
16 | + {{/ifcond}} | ||
17 | + {{#ifcond template_name "==" 'splitJointImg'}} | ||
18 | + {{> group/resources/split-image}} | ||
19 | + {{/ifcond}} | ||
20 | + {{#ifcond template_name "==" 'collageBuyPrdList'}} | ||
21 | + {{> group/resources/collage-buy-prd-list}} | ||
22 | + {{/ifcond}} | ||
23 | + {{#ifcond template_name "==" 'guessLike'}} | ||
24 | + {{> group/resources/guess-like}} | ||
25 | + {{/ifcond}} | ||
26 | + {{/each}} | ||
27 | + </div> | ||
28 | + {{!-- <div id='fixedTab' class="tab-filter" data-group="{{#if tabs.joinLimit}}{{tabs.joinLimit}}{{/if}}"> | ||
29 | + {{#if tabs.showTab}} | ||
30 | + <div class="tab group-tab"> | ||
31 | + <div class="tab-item"> | ||
32 | + <div class="tiptext active" data-channel="newGroup">邀新团</div> | ||
33 | + </div> | ||
34 | + <div class="tab-item"> | ||
35 | + <div class="tiptext" data-channel="normalGroup">普通团</div> | ||
36 | + </div> | ||
37 | + </div> | ||
38 | + {{/if}} | ||
39 | + {{> group/resources/filter-tab}} | ||
40 | + </div> --}} | ||
41 | + <div id="goodsContainer" class="goods-container"> | ||
42 | + {{#if filterList.length}} | ||
43 | + <div class="new-goods-list"> | ||
44 | + {{#each filterList}} | ||
45 | + {{> group/resources/new-index-filter-list-item}} | ||
46 | + {{/each}} | ||
47 | + </div> | ||
48 | + {{/if}} | ||
49 | + </div> | ||
50 | + {{!-- {{> group/resources/filter-page}} --}} | ||
51 | + </div> | ||
52 | + <a class="bottom" href="/activity/group/order">我的拼团</a> | ||
53 | + | ||
54 | +</div> |
1 | -{{#data.data}} | ||
2 | - {{#if prdList}} | ||
3 | - <div class="resource-collage-buy-prd-list"> | ||
4 | - {{#each prdList}} | ||
5 | - <div id="{{../../template_id}}" name="{{../../template_intro}}" class="product-item" data-product-skn="{{productSkn}}" | ||
6 | - data-activity-id="{{activityId}}"> | ||
7 | - <div class="product-image-bg"> | ||
8 | - <img src="{{image2 defaultImages w=188 h=250 q=60 mode=3}}"></img> | ||
9 | - </div> | ||
10 | - <div class="product-name">{{brandName}}</div> | ||
11 | - <div class='product-price-wrap'> | ||
12 | - <span class='product-price'>{{formatCollagePrice}}</span> | ||
13 | - <span class='product-market-price'>{{marketPrice}}</span> | 1 | +{{#data}} |
2 | + {{#ifcond layout_float "==" 'H'}} | ||
3 | + {{#if data.prdList}} | ||
4 | + <div class="resource-collage-buy-prd-list"> | ||
5 | + {{#each data.prdList}} | ||
6 | + <div id="{{../../template_id}}" name="{{../../template_intro}}" class="product-item" data-product-skn="{{productSkn}}" | ||
7 | + data-activity-id="{{activityId}}"> | ||
8 | + <div class="product-image-bg"> | ||
9 | + <img src="{{image2 defaultImages w=188 h=250 q=60 mode=3}}"></img> | ||
10 | + </div> | ||
11 | + <div class="product-name">{{brandName}}</div> | ||
12 | + <div class='product-price-wrap'> | ||
13 | + <span class='product-price'>{{formatCollagePrice}}</span> | ||
14 | + <span class='product-market-price'>{{marketPrice}}</span> | ||
15 | + </div> | ||
16 | + <div class='product-joinnum'>{{collagedPersonNum}} 人已拼</div> | ||
17 | + </div> | ||
18 | + {{/each}} | ||
19 | + </div> | ||
20 | + {{/if}} | ||
21 | + {{/ifcond}} | ||
22 | + {{#ifcond layout_float '==' 'C'}} | ||
23 | + {{#if data.prdList}} | ||
24 | + <div class="resource-collage-buy-prd-list-c" data-prd-list-length="{{data.prdList.length}}"> | ||
25 | + <div class="collage-buy-title">{{../template_intro}}</div> | ||
26 | + <div class="swiper-container"> | ||
27 | + <div class="swiper-wrapper"> | ||
28 | + {{#each data.prdList}} | ||
29 | + <div class="swiper-slide" data-product-skn="{{productSkn}}" | ||
30 | + data-activity-id="{{activityId}}"> | ||
31 | + <div class="product-image-bg"> | ||
32 | + <img src="{{image2 defaultImages w=188 h=250 q=60 mode=3}}"></img> | ||
33 | + </div> | ||
34 | + <div class="product-name">{{brandName}}</div> | ||
35 | + <div class='product-price-wrap'> | ||
36 | + <span class='product-people-number'>{{joinPeopleNum}}人团</span> | ||
37 | + <span class='product-price'>{{formatCollagePrice}}</span> | ||
38 | + </div> | ||
39 | + {{#if collagedPersonNum}} | ||
40 | + <div class="product-price-wrap"> | ||
41 | + <span class="product-sell-number">已拼{{collagedPersonNum}}件</span> | ||
42 | + </div> | ||
43 | + {{/if}} | ||
44 | + </div> | ||
45 | + {{/each}} | ||
46 | + </div> | ||
47 | + <div class="swiper-pagination"></div> | ||
14 | </div> | 48 | </div> |
15 | - <div class='product-joinnum'>{{collagedPersonNum}} 人已拼</div> | ||
16 | </div> | 49 | </div> |
17 | - {{/each}} | ||
18 | - </div> | ||
19 | - {{/if}} | ||
20 | -{{/data.data}} | ||
50 | + {{/if}} | ||
51 | + {{/ifcond}} | ||
52 | +{{/data}} |
1 | +<div class="new-index-filter-list-item" data-activity-id="{{activity_id}}" data-product-skn="{{product_skn}}"> | ||
2 | + <div class="group-product-header"> | ||
3 | + {{#ifcond joinLimitStr "==" "邀新团"}} | ||
4 | + <div class="new-group-product-left-icon"> | ||
5 | + <span class="new-group-product-left-icon-number"></span> | ||
6 | + </div> | ||
7 | + {{/ifcond}} | ||
8 | + {{#if @root.lazyLoad}} | ||
9 | + <img class="lazy new-group-product-image" data-original="{{image2 default_images w=400 h=390 q=60 mode=3}}" /> | ||
10 | + {{else}} | ||
11 | + <img class="new-group-product-image" src="{{image2 default_images w=400 h=390 q=60 mode=3}}" /> | ||
12 | + {{/if}} | ||
13 | + </div> | ||
14 | + <div class="new-group-product-info-bg"> | ||
15 | + <div class="new-group-product-name">{{product_name}}</div> | ||
16 | + <div class="new-group-price"> | ||
17 | + <div class="group-free-number"> | ||
18 | + <div class="new-group-free-post"></div> | ||
19 | + <div class="new-group-number forcefontsize10">已拼{{joinPeopleNum}}件</div> | ||
20 | + </div> | ||
21 | + <div class="new-group-prict-bg"> | ||
22 | + <div class="new-group-number-price"> | ||
23 | + <span class="new-group-people-numer">{{people_num}}人团</span> | ||
24 | + <span class="new-group-price-collage">{{collage_price_str}}</span> | ||
25 | + </div> | ||
26 | + <div class="new-market-button"> | ||
27 | + <span class="new-group-price-market">单人价{{market_price_str}}</span> | ||
28 | + <div class="go-group-product"></div> | ||
29 | + </div> | ||
30 | + </div> | ||
31 | + </div> | ||
32 | + </div> | ||
33 | +</div> |
1 | { | 1 | { |
2 | "name": "yohobuywap-node", | 2 | "name": "yohobuywap-node", |
3 | - "version": "6.9.0-4", | 3 | + "version": "6.9.2-1", |
4 | "private": true, | 4 | "private": true, |
5 | "description": "A New Yohobuy Project With Express", | 5 | "description": "A New Yohobuy Project With Express", |
6 | "repository": { | 6 | "repository": { |
1 | +<div class="new-index-filter-list-item" data-activity-id="{{activity_id}}" data-product-skn="{{product_skn}}"> | ||
2 | + <div class="group-product-header"> | ||
3 | + {{#ifcond joinLimitStr "==" "邀新团"}} | ||
4 | + <div class="new-group-product-left-icon"> | ||
5 | + <span class="new-group-product-left-icon-number"></span> | ||
6 | + </div> | ||
7 | + {{/ifcond}} | ||
8 | + {{#if @root.lazyLoad}} | ||
9 | + <img class="lazy new-group-product-image" data-original="{{image2 default_images w=400 h=390 q=60 mode=3}}" /> | ||
10 | + {{else}} | ||
11 | + <img class="new-group-product-image" src="{{image2 default_images w=400 h=390 q=60 mode=3}}" /> | ||
12 | + {{/if}} | ||
13 | + </div> | ||
14 | + <div class="new-group-product-info-bg"> | ||
15 | + <div class="new-group-product-name">{{product_name}}</div> | ||
16 | + <div class="new-group-price"> | ||
17 | + <div class="group-free-number"> | ||
18 | + <div class="new-group-free-post"></div> | ||
19 | + <div class="new-group-number forcefontsize10">已拼{{joinPeopleNum}}件</div> | ||
20 | + </div> | ||
21 | + <div class="new-group-prict-bg"> | ||
22 | + <div class="new-group-number-price"> | ||
23 | + <span class="new-group-people-numer">{{people_num}}人团</span> | ||
24 | + <span class="new-group-price-collage">{{collage_price_str}}</span> | ||
25 | + </div> | ||
26 | + <div class="new-market-button"> | ||
27 | + <span class="new-group-price-market">单人价{{market_price_str}}</span> | ||
28 | + <div class="go-group-product"></div> | ||
29 | + </div> | ||
30 | + </div> | ||
31 | + </div> | ||
32 | + </div> | ||
33 | +</div> |
2.77 KB
4.78 KB
2.11 KB
@@ -8,6 +8,7 @@ import lazyLoad from 'yoho-jquery-lazyload'; | @@ -8,6 +8,7 @@ import lazyLoad from 'yoho-jquery-lazyload'; | ||
8 | import innerScroll from 'js/plugin/inner-scroll'; | 8 | import innerScroll from 'js/plugin/inner-scroll'; |
9 | import sharePlugin from 'js/common/share'; | 9 | import sharePlugin from 'js/common/share'; |
10 | const querystring = require('querystring'); | 10 | const querystring = require('querystring'); |
11 | +let groupListItem = require('hbs/activity/group/group-list-product.hbs'); | ||
11 | 12 | ||
12 | class Group extends Page { | 13 | class Group extends Page { |
13 | constructor() { | 14 | constructor() { |
@@ -20,7 +21,10 @@ class Group extends Page { | @@ -20,7 +21,10 @@ class Group extends Page { | ||
20 | groupTab: $('.group-tab'), | 21 | groupTab: $('.group-tab'), |
21 | filterTab: $('.filter-nav'), | 22 | filterTab: $('.filter-nav'), |
22 | groupListContent: $('.goods-list'), | 23 | groupListContent: $('.goods-list'), |
23 | - resourceList: $('.resource-collage-buy-prd-list') | 24 | + resourceList: $('.resource-collage-buy-prd-list'), |
25 | + resourceListC: $('.resource-collage-buy-prd-list-c'), | ||
26 | + goodsList: $('.new-goods-list'), | ||
27 | + guessLike: $('.guess-tab') | ||
24 | }; | 28 | }; |
25 | this.shareData = { | 29 | this.shareData = { |
26 | shareImgUrl: $('.group').data('share-img'), | 30 | shareImgUrl: $('.group').data('share-img'), |
@@ -74,6 +78,7 @@ class Group extends Page { | @@ -74,6 +78,7 @@ class Group extends Page { | ||
74 | this.shareInfo(); | 78 | this.shareInfo(); |
75 | this.bindEvents(); | 79 | this.bindEvents(); |
76 | this.swiperTop(); | 80 | this.swiperTop(); |
81 | + this.swiperGroup(); | ||
77 | this.filterInit(); | 82 | this.filterInit(); |
78 | let self = this; | 83 | let self = this; |
79 | 84 | ||
@@ -147,6 +152,9 @@ class Group extends Page { | @@ -147,6 +152,9 @@ class Group extends Page { | ||
147 | this.selector.filterTab.on('click', 'li', this.filterTabChange.bind(this)); | 152 | this.selector.filterTab.on('click', 'li', this.filterTabChange.bind(this)); |
148 | this.selector.groupListContent.on('click', '.group-product-cell', this.checkDetail.bind(this)); | 153 | this.selector.groupListContent.on('click', '.group-product-cell', this.checkDetail.bind(this)); |
149 | this.selector.resourceList.on('click', '.product-item', this.checkDetail.bind(this)); | 154 | this.selector.resourceList.on('click', '.product-item', this.checkDetail.bind(this)); |
155 | + this.selector.resourceListC.on('click', '.swiper-slide', this.checkDetail.bind(this)); | ||
156 | + this.selector.goodsList.on('click', '.new-index-filter-list-item', this.checkDetail.bind(this)); | ||
157 | + this.selector.guessLike.on('click', this.guessLikeTabChange.bind(this)); | ||
150 | } | 158 | } |
151 | fixedTab() { | 159 | fixedTab() { |
152 | let listHeight = this.selector.groupListContent.height(); | 160 | let listHeight = this.selector.groupListContent.height(); |
@@ -169,6 +177,26 @@ class Group extends Page { | @@ -169,6 +177,26 @@ class Group extends Page { | ||
169 | window.location.href = `/activity/group/detail?activityId=${activityId}&productSkn=${productSkn}`; | 177 | window.location.href = `/activity/group/detail?activityId=${activityId}&productSkn=${productSkn}`; |
170 | } | 178 | } |
171 | 179 | ||
180 | + guessLikeTabChange(e) { | ||
181 | + let $this = $(e.currentTarget); | ||
182 | + let query = $this.data('query'); | ||
183 | + let queryObject = {}; | ||
184 | + | ||
185 | + query.forEach(item => { | ||
186 | + queryObject = Object.assign(queryObject, item); | ||
187 | + }); | ||
188 | + $.ajax({ | ||
189 | + type: 'GET', | ||
190 | + url: '/activity/group/goods-tab', | ||
191 | + data: queryObject, | ||
192 | + success: (data) => { | ||
193 | + // $('.filter-mask').remove(); | ||
194 | + // $('.group').append(data); | ||
195 | + this.renderMoreData(data.filterList || []); | ||
196 | + } | ||
197 | + }); | ||
198 | + } | ||
199 | + | ||
172 | // 筛选tab切换 | 200 | // 筛选tab切换 |
173 | filterTabChange(e) { | 201 | filterTabChange(e) { |
174 | let $this = $(e.currentTarget); | 202 | let $this = $(e.currentTarget); |
@@ -282,6 +310,18 @@ class Group extends Page { | @@ -282,6 +310,18 @@ class Group extends Page { | ||
282 | this.search(); | 310 | this.search(); |
283 | } | 311 | } |
284 | 312 | ||
313 | + swiperGroup() { | ||
314 | + if ($('.resource-collage-buy-prd-list-c').data('prd-list-length') > 0) { | ||
315 | + new Swiper('.swiper-container', { | ||
316 | + slidesPerView: 3, | ||
317 | + spaceBetween: 20, | ||
318 | + slidesPerGroup: 3, | ||
319 | + pagination: '.swiper-pagination', | ||
320 | + paginationClickable: true, | ||
321 | + }); | ||
322 | + } | ||
323 | + } | ||
324 | + | ||
285 | // 顶部swiper | 325 | // 顶部swiper |
286 | swiperTop() { | 326 | swiperTop() { |
287 | if ($('.banner-swiper').find('li').size() > 1) { | 327 | if ($('.banner-swiper').find('li').size() > 1) { |
@@ -430,6 +470,15 @@ class Group extends Page { | @@ -430,6 +470,15 @@ class Group extends Page { | ||
430 | } | 470 | } |
431 | } | 471 | } |
432 | 472 | ||
473 | + renderMoreData(list) { | ||
474 | + let appendHtml = ''; | ||
475 | + | ||
476 | + list.forEach(item => { | ||
477 | + appendHtml += groupListItem(item); | ||
478 | + }); | ||
479 | + $('.new-goods-list').html(appendHtml); | ||
480 | + } | ||
481 | + | ||
433 | // 筛选初始化 | 482 | // 筛选初始化 |
434 | filterInit() { | 483 | filterInit() { |
435 | let selectedChannel = this.selectedChannel; | 484 | let selectedChannel = this.selectedChannel; |
1 | +.resource-collage-buy-prd-list-c { | ||
2 | + margin-left: 20px; | ||
3 | + margin-right: 20px; | ||
4 | + margin-top: 20px; | ||
5 | + margin-bottom: 10px; | ||
6 | + background: white; | ||
7 | + border-radius: 10px; | ||
8 | + | ||
9 | + .collage-buy-title { | ||
10 | + font-family: PingFang-SC-Semibold, sans-serif; | ||
11 | + font-size: 32px; | ||
12 | + color: #444; | ||
13 | + padding-top: 20px; | ||
14 | + padding-left: 20px; | ||
15 | + padding-bottom: 20px; | ||
16 | + } | ||
17 | + | ||
18 | + .swiper-container { | ||
19 | + height: 450px; | ||
20 | + margin-left: 20px; | ||
21 | + margin-right: 20px; | ||
22 | + } | ||
23 | + | ||
24 | + .swiper-pagination .swiper-pagination-bullet-active { | ||
25 | + background: #444; | ||
26 | + } | ||
27 | + | ||
28 | + .swiper-slide { | ||
29 | + text-align: center; | ||
30 | + font-size: 18px; | ||
31 | + height: 88%; | ||
32 | + | ||
33 | + .product-image-bg { | ||
34 | + height: 250px; | ||
35 | + overflow: hidden; | ||
36 | + } | ||
37 | + | ||
38 | + .product-name { | ||
39 | + font-family: PingFang-SC-Regular, sans-serif; | ||
40 | + color: #222; | ||
41 | + text-align: left; | ||
42 | + font-size: 22px; | ||
43 | + padding-bottom: 20px; | ||
44 | + padding-top: 20px; | ||
45 | + overflow: hidden; | ||
46 | + text-overflow: ellipsis; | ||
47 | + height: 80px; | ||
48 | + } | ||
49 | + | ||
50 | + .product-price-wrap { | ||
51 | + text-align: left; | ||
52 | + } | ||
53 | + | ||
54 | + .product-price { | ||
55 | + letter-spacing: 0; | ||
56 | + font-weight: 500; | ||
57 | + font-family: BrownStd-Bold, sans-serif; | ||
58 | + font-size: 30px; | ||
59 | + color: #d0021b; | ||
60 | + } | ||
61 | + | ||
62 | + .product-people-number { | ||
63 | + font-family: PingFangSC-Regular, sans-serif; | ||
64 | + font-size: 22px; | ||
65 | + color: #d0021b; | ||
66 | + letter-spacing: 0; | ||
67 | + } | ||
68 | + | ||
69 | + .product-sell-number { | ||
70 | + font-family: PingFangSC-Regular, sans-serif; | ||
71 | + font-size: 11px; | ||
72 | + color: #b0b0b0; | ||
73 | + } | ||
74 | + | ||
75 | + .product-market-price { | ||
76 | + font-size: 18px; | ||
77 | + color: #b0b0b0; | ||
78 | + letter-spacing: 0; | ||
79 | + margin-left: 10px; | ||
80 | + text-decoration: line-through; | ||
81 | + } | ||
82 | + } | ||
83 | +} | ||
84 | + | ||
1 | .resource-collage-buy-prd-list { | 85 | .resource-collage-buy-prd-list { |
2 | width: 100%; | 86 | width: 100%; |
3 | height: 440px; | 87 | height: 440px; |
1 | +.guess-like { | ||
2 | + overflow: hidden; | ||
3 | + height: 80px; | ||
4 | + | ||
5 | + .wapper { | ||
6 | + overflow-x: scroll; | ||
7 | + -ms-overflow-style: none; | ||
8 | + overflow: -moz-scrollbars-none; | ||
9 | + | ||
10 | + .guess-scroll { | ||
11 | + display: flex; | ||
12 | + flex-direction: row; | ||
13 | + flex-wrap: nowrap; | ||
14 | + width: auto; | ||
15 | + min-width: 100%; | ||
16 | + | ||
17 | + .guess-tab { | ||
18 | + min-width: 160px; | ||
19 | + } | ||
20 | + } | ||
21 | + } | ||
22 | + | ||
23 | + .wapper::-webkit-scrollbar { width: 0 !important; } | ||
24 | +} |
@@ -5,8 +5,10 @@ | @@ -5,8 +5,10 @@ | ||
5 | @import "floor/two-image"; | 5 | @import "floor/two-image"; |
6 | @import "floor/split-image"; | 6 | @import "floor/split-image"; |
7 | @import "floor/collage-buy-list"; | 7 | @import "floor/collage-buy-list"; |
8 | +@import "floor/guess-like"; | ||
8 | @import "tabs"; | 9 | @import "tabs"; |
9 | @import "filter-list"; | 10 | @import "filter-list"; |
11 | +@import "new-filter-list"; | ||
10 | 12 | ||
11 | .group { | 13 | .group { |
12 | .resources { | 14 | .resources { |
@@ -31,6 +33,7 @@ | @@ -31,6 +33,7 @@ | ||
31 | 33 | ||
32 | .floors { | 34 | .floors { |
33 | border-bottom: 10px solid #f0f0f0; | 35 | border-bottom: 10px solid #f0f0f0; |
36 | + background: #f0f0f0; | ||
34 | } | 37 | } |
35 | 38 | ||
36 | .tab { | 39 | .tab { |
1 | +.goods-container { | ||
2 | + background: #f0f0f0; | ||
3 | +} | ||
4 | + | ||
5 | +.new-goods-list { | ||
6 | + display: flex; | ||
7 | + flex-direction: column; | ||
8 | + margin: 0 20px; | ||
9 | +} | ||
10 | + | ||
11 | +.new-index-filter-list-item:first-child { | ||
12 | + margin-top: 0; | ||
13 | +} | ||
14 | + | ||
15 | +.new-index-filter-list-item { | ||
16 | + background: white; | ||
17 | + flex: 1; | ||
18 | + display: flex; | ||
19 | + margin-bottom: 10px; | ||
20 | + margin-top: 10px; | ||
21 | + | ||
22 | + .new-group-product-image { | ||
23 | + margin: 20px; | ||
24 | + width: 162px; | ||
25 | + height: 220px; | ||
26 | + } | ||
27 | + | ||
28 | + .new-group-product-info-bg { | ||
29 | + flex-grow: 1; | ||
30 | + display: flex; | ||
31 | + flex-direction: column; | ||
32 | + justify-content: space-between; | ||
33 | + margin-bottom: 20px; | ||
34 | + } | ||
35 | + | ||
36 | + .new-group-product-name { | ||
37 | + margin-top: 20px; | ||
38 | + margin-right: 20px; | ||
39 | + font-family: PingFang-SC-Regular, sans-serif; | ||
40 | + color: #222; | ||
41 | + letter-spacing: 0; | ||
42 | + line-height: 36px; | ||
43 | + height: 56px; | ||
44 | + font-size: 24px; | ||
45 | + display: -webkit-box; | ||
46 | + overflow: hidden; | ||
47 | + text-overflow: ellipsis; | ||
48 | + word-wrap: break-word; | ||
49 | + white-space: normal !important; | ||
50 | + -webkit-line-clamp: 2; | ||
51 | + -webkit-box-orient: vertical; | ||
52 | + } | ||
53 | + | ||
54 | + .new-group-free-post { | ||
55 | + width: 60px; | ||
56 | + height: 38px; | ||
57 | + background: url("img/activity/group/group/new-free-post@3x.png") no-repeat; | ||
58 | + background-size: contain; | ||
59 | + margin-right: 20px; | ||
60 | + } | ||
61 | + | ||
62 | + .new-market-button { | ||
63 | + display: flex; | ||
64 | + flex-direction: row; | ||
65 | + justify-content: space-between; | ||
66 | + align-items: flex-end; | ||
67 | + } | ||
68 | + | ||
69 | + .go-group-product { | ||
70 | + width: 160px; | ||
71 | + height: 60px; | ||
72 | + background: url("img/activity/group/group/go-group@3x.png") no-repeat; | ||
73 | + background-size: contain; | ||
74 | + left: -5px; | ||
75 | + } | ||
76 | + | ||
77 | + .group-free-number { | ||
78 | + display: flex; | ||
79 | + flex-direction: row; | ||
80 | + align-items: flex-start; | ||
81 | + } | ||
82 | + | ||
83 | + .new-group-number { | ||
84 | + font-family: PingFang-SC-Regular, sans-serif; | ||
85 | + letter-spacing: 0; | ||
86 | + box-sizing: border-box; | ||
87 | + height: 30px; | ||
88 | + line-height: 30px; | ||
89 | + padding-left: 20px; | ||
90 | + padding-right: 20px; | ||
91 | + border-radius: 15px; | ||
92 | + border: 0.5px #222 solid; | ||
93 | + color: #222; | ||
94 | + } | ||
95 | + | ||
96 | + .forcefontsize10 { | ||
97 | + display: inline-block; | ||
98 | + font-size: 12px; | ||
99 | + -webkit-text-size-adjust: none; | ||
100 | + transform: scale(0.83, 0.83); | ||
101 | + } | ||
102 | + | ||
103 | + .new-group-prict-bg { | ||
104 | + display: flex; | ||
105 | + flex-direction: column; | ||
106 | + font-size: 22px; | ||
107 | + } | ||
108 | + | ||
109 | + .new-group-price { | ||
110 | + display: flex; | ||
111 | + flex-direction: column; | ||
112 | + justify-content: space-between; | ||
113 | + flex-grow: 1; | ||
114 | + margin-right: 20px; | ||
115 | + } | ||
116 | + | ||
117 | + .new-group-number-price { | ||
118 | + color: #d0021b; | ||
119 | + } | ||
120 | + | ||
121 | + .new-group-price-collage { | ||
122 | + margin-left: 20px; | ||
123 | + font-size: 36px; | ||
124 | + } | ||
125 | + | ||
126 | + .new-group-price-market { | ||
127 | + font-family: PingFang-SC-Regular, sans-serif; | ||
128 | + font-size: 12px; | ||
129 | + color: #b0b0b0; | ||
130 | + } | ||
131 | + | ||
132 | + .new-group-product-left-icon { | ||
133 | + position: absolute; | ||
134 | + top: 40px; | ||
135 | + width: 88px; | ||
136 | + height: 40px; | ||
137 | + left: 0; | ||
138 | + font-size: 22px; | ||
139 | + background: url("img/activity/group/group/Rectangle@3x.png") no-repeat; | ||
140 | + background-size: contain; | ||
141 | + } | ||
142 | + | ||
143 | + .new-group-product-left-icon-number { | ||
144 | + display: inline-block; | ||
145 | + color: #fff; | ||
146 | + font-size: 22px; | ||
147 | + margin-left: 12px; | ||
148 | + margin-top: 5px; | ||
149 | + } | ||
150 | +} |
-
Please register or login to post a comment