Showing
50 changed files
with
331 additions
and
170 deletions
@@ -13,8 +13,6 @@ const component = { | @@ -13,8 +13,6 @@ const component = { | ||
13 | res.render('help', { | 13 | res.render('help', { |
14 | module: 'me', | 14 | module: 'me', |
15 | page: 'help', | 15 | page: 'help', |
16 | - noLocalJS: true, | ||
17 | - noLocalCSS: true, | ||
18 | helpList: [{ | 16 | helpList: [{ |
19 | caption: '1', | 17 | caption: '1', |
20 | name: '购物流程' | 18 | name: '购物流程' |
@@ -46,9 +44,8 @@ const component = { | @@ -46,9 +44,8 @@ const component = { | ||
46 | const caption = req.query.caption; | 44 | const caption = req.query.caption; |
47 | const data = { | 45 | const data = { |
48 | module: 'me', | 46 | module: 'me', |
49 | - page: 'help', | ||
50 | - noLocalJS: true, | ||
51 | - noLocalCSS: true | 47 | + page: 'help-detail', |
48 | + title: req.query.title | ||
52 | }; | 49 | }; |
53 | 50 | ||
54 | data['helpDetail_' + caption] = true; | 51 | data['helpDetail_' + caption] = true; |
@@ -116,7 +116,6 @@ const component = { | @@ -116,7 +116,6 @@ const component = { | ||
116 | res.render('feedback', { | 116 | res.render('feedback', { |
117 | module: 'me', | 117 | module: 'me', |
118 | page: 'feedback', | 118 | page: 'feedback', |
119 | - noLocalCSS: true | ||
120 | }); | 119 | }); |
121 | }, | 120 | }, |
122 | saveFeedback: (req, res, next) => { | 121 | saveFeedback: (req, res, next) => { |
@@ -145,15 +144,12 @@ const component = { | @@ -145,15 +144,12 @@ const component = { | ||
145 | res.render('about', { | 144 | res.render('about', { |
146 | module: 'me', | 145 | module: 'me', |
147 | page: 'about', | 146 | page: 'about', |
148 | - noLocalCSS: true | ||
149 | }); | 147 | }); |
150 | }, | 148 | }, |
151 | provisions: (req, res) => { | 149 | provisions: (req, res) => { |
152 | res.render('provisions', { | 150 | res.render('provisions', { |
153 | module: 'me', | 151 | module: 'me', |
154 | page: 'provisions', | 152 | page: 'provisions', |
155 | - noLocalJS: true, | ||
156 | - noLocalCSS: true | ||
157 | }); | 153 | }); |
158 | }, | 154 | }, |
159 | agreement: (req, res) => { | 155 | agreement: (req, res) => { |
1 | <div class="about-us"> | 1 | <div class="about-us"> |
2 | + <div id="header"> | ||
3 | + <div class="blk-header-wrap" class="is-fixed"> | ||
4 | + <div class="blk-header"> | ||
5 | + <div class="blk-header-left"> | ||
6 | + <i class="icon icon-back go-back-btn"></i> | ||
7 | + </div> | ||
8 | + <div class="blk-header-right"> | ||
9 | + </div> | ||
10 | + <div class="blk-header-main"> | ||
11 | + <span class="blk-header-title">关于</span> | ||
12 | + </div> | ||
13 | + </div> | ||
14 | + <div class="blk-header-gap"></div> | ||
15 | + </div> | ||
16 | + </div> | ||
2 | <div class="icon-container"> | 17 | <div class="icon-container"> |
3 | <span class="blk-start-icon"></span> | 18 | <span class="blk-start-icon"></span> |
4 | <p class="icon-label">BLK</p> | 19 | <p class="icon-label">BLK</p> |
1 | <div class="yoho-suggest-sub-page yoho-page"> | 1 | <div class="yoho-suggest-sub-page yoho-page"> |
2 | + <div id="header"> | ||
3 | + <div class="blk-header-wrap" class="is-fixed"> | ||
4 | + <div class="blk-header"> | ||
5 | + <div class="blk-header-left"> | ||
6 | + <i class="icon icon-back go-back-btn"></i> | ||
7 | + </div> | ||
8 | + <div class="blk-header-right"> | ||
9 | + </div> | ||
10 | + <div class="blk-header-main"> | ||
11 | + <span class="blk-header-title">意见反馈</span> | ||
12 | + </div> | ||
13 | + </div> | ||
14 | + <div class="blk-header-gap"></div> | ||
15 | + </div> | ||
16 | + </div> | ||
2 | <div class="suggest-sub-form"> | 17 | <div class="suggest-sub-form"> |
3 | <textarea name="" id="suggest-textarea" placeholder="请写下对于BLK的意见和建议,我们将及时根据您的意见作出改进"></textarea> | 18 | <textarea name="" id="suggest-textarea" placeholder="请写下对于BLK的意见和建议,我们将及时根据您的意见作出改进"></textarea> |
4 | </div> | 19 | </div> |
1 | <div class="help"> | 1 | <div class="help"> |
2 | + <div id="header"> | ||
3 | + <div class="blk-header-wrap" class="is-fixed"> | ||
4 | + <div class="blk-header"> | ||
5 | + <div class="blk-header-left"> | ||
6 | + <i class="icon icon-back go-back-btn"></i> | ||
7 | + </div> | ||
8 | + <div class="blk-header-right"> | ||
9 | + </div> | ||
10 | + <div class="blk-header-main"> | ||
11 | + <span class="blk-header-title">帮助中心</span> | ||
12 | + </div> | ||
13 | + </div> | ||
14 | + <div class="blk-header-gap"></div> | ||
15 | + </div> | ||
16 | + </div> | ||
2 | <ul> | 17 | <ul> |
3 | {{# helpList}} | 18 | {{# helpList}} |
4 | <li><a href="/help-detail?title={{name}}&caption={{caption}}"><span class="name">{{name}}</span> | 19 | <li><a href="/help-detail?title={{name}}&caption={{caption}}"><span class="name">{{name}}</span> |
1 | +<div id="header"> | ||
2 | + <div class="blk-header-wrap" class="is-fixed"> | ||
3 | + <div class="blk-header"> | ||
4 | + <div class="blk-header-left"> | ||
5 | + <i class="icon icon-back go-back-btn"></i> | ||
6 | + </div> | ||
7 | + <div class="blk-header-right"> | ||
8 | + </div> | ||
9 | + <div class="blk-header-main"> | ||
10 | + <span class="blk-header-title">{{title}}</span> | ||
11 | + </div> | ||
12 | + </div> | ||
13 | + <div class="blk-header-gap"></div> | ||
14 | + </div> | ||
15 | +</div> | ||
1 | {{#if helpDetail_1}} | 16 | {{#if helpDetail_1}} |
2 | {{> helpDetail_1}} | 17 | {{> helpDetail_1}} |
3 | {{/if}} | 18 | {{/if}} |
1 | <div class="provisions"> | 1 | <div class="provisions"> |
2 | + <div id="header"> | ||
3 | + <div class="blk-header-wrap" class="is-fixed"> | ||
4 | + <div class="blk-header"> | ||
5 | + <div class="blk-header-left"> | ||
6 | + <i class="icon icon-back go-back-btn"></i> | ||
7 | + </div> | ||
8 | + <div class="blk-header-right"> | ||
9 | + </div> | ||
10 | + <div class="blk-header-main"> | ||
11 | + <span class="blk-header-title">隐私条款</span> | ||
12 | + </div> | ||
13 | + </div> | ||
14 | + <div class="blk-header-gap"></div> | ||
15 | + </div> | ||
16 | + </div> | ||
2 | <section class="detail"> | 17 | <section class="detail"> |
3 | <p>欢迎访问BLK APP!我们以本隐私申明声明对访问者隐私保护的许诺。</p> | 18 | <p>欢迎访问BLK APP!我们以本隐私申明声明对访问者隐私保护的许诺。</p> |
4 | <br> | 19 | <br> |
@@ -25,13 +25,13 @@ | @@ -25,13 +25,13 @@ | ||
25 | {{#list}} | 25 | {{#list}} |
26 | <li class="card"> | 26 | <li class="card"> |
27 | <div class="card-pic"> | 27 | <div class="card-pic"> |
28 | - <a href="{{goodsUrl this}}"> | 28 | + <a> |
29 | <img src="{{resizeImage default_images 330 440}}" alt="{{product_name}}"> | 29 | <img src="{{resizeImage default_images 330 440}}" alt="{{product_name}}"> |
30 | </a> | 30 | </a> |
31 | </div> | 31 | </div> |
32 | <div class="card-bd"> | 32 | <div class="card-bd"> |
33 | <h2 class="card-label"> | 33 | <h2 class="card-label"> |
34 | - <a href="{{goodsUrl this}}" class="line-clamp-1">{{product_name}}</a> | 34 | + <a class="line-clamp-1">{{product_name}}</a> |
35 | </h2> | 35 | </h2> |
36 | <span class="good-price {{#if market_price}}sale-price{{/if}}">¥ {{toFixed sales_price | 36 | <span class="good-price {{#if market_price}}sale-price{{/if}}">¥ {{toFixed sales_price |
37 | 2}}</span> | 37 | 2}}</span> |
@@ -18,9 +18,9 @@ module.exports = { | @@ -18,9 +18,9 @@ module.exports = { | ||
18 | app_type: 1 | 18 | app_type: 1 |
19 | }, | 19 | }, |
20 | domains: { | 20 | domains: { |
21 | - api: 'http://api-test3.yohops.com:9999/', | ||
22 | - service: 'http://service-test3.yohops.com:9999/', | ||
23 | - singleApi: 'http://api-test3.yohops.com:9999/' | 21 | + // api: 'http://api-test3.yohops.com:9999/', |
22 | + // service: 'http://service-test3.yohops.com:9999/', | ||
23 | + // singleApi: 'http://api-test3.yohops.com:9999/' | ||
24 | 24 | ||
25 | // api: 'http://api-test2.yohops.com:9999/', | 25 | // api: 'http://api-test2.yohops.com:9999/', |
26 | // service: 'http://service-test2.yohops.com:9999/', | 26 | // service: 'http://service-test2.yohops.com:9999/', |
@@ -29,8 +29,8 @@ module.exports = { | @@ -29,8 +29,8 @@ module.exports = { | ||
29 | // service: 'http://dev-service.yohops.com:9999/', | 29 | // service: 'http://dev-service.yohops.com:9999/', |
30 | // singleApi: 'http://192.168.102.27:8092/' | 30 | // singleApi: 'http://192.168.102.27:8092/' |
31 | // // | 31 | // // |
32 | - // api: 'http://api.yoho.cn/', | ||
33 | - // service: 'http://service.yoho.cn/', | 32 | + api: 'http://api.yoho.cn/', |
33 | + service: 'http://service.yoho.cn/', | ||
34 | // singleApi: 'http://single.yoho.cn/' | 34 | // singleApi: 'http://single.yoho.cn/' |
35 | }, | 35 | }, |
36 | subDomains: { | 36 | subDomains: { |
@@ -305,23 +305,25 @@ const intercept = (url) => { | @@ -305,23 +305,25 @@ const intercept = (url) => { | ||
305 | } | 305 | } |
306 | 306 | ||
307 | const args = { | 307 | const args = { |
308 | - header: matchHeader(path, qs, titleMap), | 308 | + // header: matchHeader(path, qs, titleMap), |
309 | url: /^(https?:)?\/\//i.test(url) ? url : origin + url | 309 | url: /^(https?:)?\/\//i.test(url) ? url : origin + url |
310 | }; | 310 | }; |
311 | 311 | ||
312 | if (/\/me\/service$/.test(path)) { | 312 | if (/\/me\/service$/.test(path)) { |
313 | - args.header = titleMap[1]; | ||
314 | - args.header.title.des = 'BLK在线客服'; | 313 | + // args.header = titleMap[1]; |
314 | + // args.header.title.des = 'BLK在线客服'; | ||
315 | args.showLoading = 'no'; | 315 | args.showLoading = 'no'; |
316 | } | 316 | } |
317 | 317 | ||
318 | // 处理 feature.yoho.cn 等域名下的站外链接 | 318 | // 处理 feature.yoho.cn 等域名下的站外链接 |
319 | if (/^(https?:)?\/\//i.test(path) && !/m\.yohoblk\.com/.test(path)) { | 319 | if (/^(https?:)?\/\//i.test(path) && !/m\.yohoblk\.com/.test(path)) { |
320 | - args.header = titleMap[1]; | ||
321 | - args.header.title.des = qs.title || ''; | 320 | + // args.header = titleMap[1]; |
321 | + // args.header.title.des = qs.title || ''; | ||
322 | args.showLoading = 'no'; | 322 | args.showLoading = 'no'; |
323 | } | 323 | } |
324 | - | 324 | + args.header = { |
325 | + headerid: '-1' | ||
326 | + }; | ||
325 | yoho.goNewPage(args); | 327 | yoho.goNewPage(args); |
326 | } else { | 328 | } else { |
327 | location.href = url; | 329 | location.href = url; |
@@ -4,7 +4,9 @@ | @@ -4,7 +4,9 @@ | ||
4 | * @Last Modified by: Targaryen | 4 | * @Last Modified by: Targaryen |
5 | * @Last Modified time: 2016-08-02 17:42:26 | 5 | * @Last Modified time: 2016-08-02 17:42:26 |
6 | */ | 6 | */ |
7 | +import yoho from 'yoho'; | ||
7 | import util from 'common/util'; | 8 | import util from 'common/util'; |
9 | + | ||
8 | function ImgSrcBinding(el, binding) { | 10 | function ImgSrcBinding(el, binding) { |
9 | if (binding.value === binding.oldValue) { | 11 | if (binding.value === binding.oldValue) { |
10 | return; | 12 | return; |
@@ -31,12 +33,24 @@ function GoodHrefBinding(el, binding) { | @@ -31,12 +33,24 @@ function GoodHrefBinding(el, binding) { | ||
31 | if (binding.value === binding.oldValue) { | 33 | if (binding.value === binding.oldValue) { |
32 | return; | 34 | return; |
33 | } | 35 | } |
34 | - let {product_id, goods_id, cn_alphabet} = binding.value; | 36 | + let {product_id, goods_id, cn_alphabet, product_skn} = binding.value; |
35 | 37 | ||
36 | if (!binding.modifiers.collect) { | 38 | if (!binding.modifiers.collect) { |
37 | goods_id = binding.value.goods_list.length ? binding.value.goods_list[0].goods_id : ''; | 39 | goods_id = binding.value.goods_list.length ? binding.value.goods_list[0].goods_id : ''; |
38 | } | 40 | } |
39 | - el.href = `/product/pro_${product_id}_${goods_id}/${cn_alphabet}.html`; | 41 | + let href = `/product/pro_${product_id}_${goods_id}/${cn_alphabet}.html`; |
42 | + | ||
43 | + if (yoho.isYohoBuy) { | ||
44 | + let goParams = { | ||
45 | + action: 'go.productDetail', | ||
46 | + params: { | ||
47 | + product_skn: product_skn | ||
48 | + } | ||
49 | + }; | ||
50 | + | ||
51 | + href += `?yohobuy=${JSON.stringify(goParams)}`; | ||
52 | + } | ||
53 | + el.href = href; | ||
40 | } | 54 | } |
41 | function BlkHrefBinding(el, binding) { | 55 | function BlkHrefBinding(el, binding) { |
42 | let value = binding.value; | 56 | let value = binding.value; |
1 | -// import yoho from './yoho'; | ||
2 | -// import cookie from 'yoho-cookie'; | 1 | +import yoho from './yoho'; |
2 | +import cookie from 'yoho-cookie'; | ||
3 | 3 | ||
4 | -// cookie.set('_YOHOUID', '50000582', { | ||
5 | -// path: '/', | ||
6 | -// domain: '.yohoblk.com' | ||
7 | -// }); | ||
8 | -// cookie.set('_YOHOTOKEN', '26ea92e1f3fc39dbdcdbb63125c58b2b', { | ||
9 | -// path: '/', | ||
10 | -// domain: '.yohoblk.com' | ||
11 | -// }); | ||
12 | -// yoho.isApp = true; | ||
13 | -// yoho.ready = cb => cb(); | 4 | +cookie.set('_YOHOUID', '50000582', { |
5 | + path: '/', | ||
6 | + domain: '.yohoblk.com' | ||
7 | +}); | ||
8 | +cookie.set('_YOHOTOKEN', '26ea92e1f3fc39dbdcdbb63125c58b2b', { | ||
9 | + path: '/', | ||
10 | + domain: '.yohoblk.com' | ||
11 | +}); | ||
12 | +yoho.isApp = true; | ||
13 | +yoho.ready = cb => cb(); |
1 | import yoho from 'yoho'; | 1 | import yoho from 'yoho'; |
2 | import interceptClick from 'common/intercept-click'; | 2 | import interceptClick from 'common/intercept-click'; |
3 | +import HeaderBox from 'component/header.vue'; | ||
4 | +import Vue from 'vue'; | ||
3 | 5 | ||
6 | +new Vue({ | ||
7 | + el: '#header', | ||
8 | + render: h => h(HeaderBox, { | ||
9 | + props: { | ||
10 | + title: '关于' | ||
11 | + } | ||
12 | + }) | ||
13 | +}); | ||
4 | yoho.ready(() => { | 14 | yoho.ready(() => { |
5 | const header = Object.assign({}, interceptClick.defaultTitleMap[1]); | 15 | const header = Object.assign({}, interceptClick.defaultTitleMap[1]); |
6 | 16 |
@@ -7,6 +7,17 @@ import $ from 'jquery'; | @@ -7,6 +7,17 @@ import $ from 'jquery'; | ||
7 | import tip from 'common/tip'; | 7 | import tip from 'common/tip'; |
8 | import yoho from 'yoho'; | 8 | import yoho from 'yoho'; |
9 | import interceptClick from 'common/intercept-click'; | 9 | import interceptClick from 'common/intercept-click'; |
10 | +import HeaderBox from 'component/header.vue'; | ||
11 | +import Vue from 'vue'; | ||
12 | + | ||
13 | +new Vue({ | ||
14 | + el: '#header', | ||
15 | + render: h => h(HeaderBox, { | ||
16 | + props: { | ||
17 | + title: '意见反馈' | ||
18 | + } | ||
19 | + }) | ||
20 | +}); | ||
10 | 21 | ||
11 | $(() => { | 22 | $(() => { |
12 | setTimeout(() => { | 23 | setTimeout(() => { |
public/js/me/help-detail.page.js
0 → 100644
public/js/me/help.page.js
0 → 100644
public/js/me/provisions.page.js
0 → 100644
@@ -22,9 +22,10 @@ const yoho = { | @@ -22,9 +22,10 @@ const yoho = { | ||
22 | /** | 22 | /** |
23 | * 判断是否是 APP | 23 | * 判断是否是 APP |
24 | */ | 24 | */ |
25 | - isApp: /yh_blk/i.test(navigator.userAgent || ''), | ||
26 | - isiOS: /\(i[^;]+;( U;)? CPU.+Mac OS X/i.test(navigator.userAgent || ''), | 25 | + isApp: /yh_blk/i.test(navigator.userAgent || '') || /YH_BLK/i.test(navigator.userAgent || ''), |
26 | + isiOS: true,///\(i[^;]+;( U;)? CPU.+Mac OS X/i.test(navigator.userAgent || ''), | ||
27 | isAndroid: /Android/i.test(navigator.userAgent || ''), | 27 | isAndroid: /Android/i.test(navigator.userAgent || ''), |
28 | + isYohoBuy: /YohoBuy/i.test(navigator.userAgent || ''), | ||
28 | 29 | ||
29 | /** | 30 | /** |
30 | * store | 31 | * store |
@@ -261,7 +262,7 @@ const yoho = { | @@ -261,7 +262,7 @@ const yoho = { | ||
261 | arguments: args | 262 | arguments: args |
262 | }); | 263 | }); |
263 | } else { | 264 | } else { |
264 | - tip(tipInfo); | 265 | + // tip(tipInfo); |
265 | } | 266 | } |
266 | }, | 267 | }, |
267 | 268 | ||
@@ -278,7 +279,7 @@ const yoho = { | @@ -278,7 +279,7 @@ const yoho = { | ||
278 | arguments: args | 279 | arguments: args |
279 | }); | 280 | }); |
280 | } else { | 281 | } else { |
281 | - tip(tipInfo); | 282 | + // tip(tipInfo); |
282 | } | 283 | } |
283 | }, | 284 | }, |
284 | 285 |
1 | <template> | 1 | <template> |
2 | <div class="cate-page" id='cate-page'> | 2 | <div class="cate-page" id='cate-page'> |
3 | + <header-box title="全部品类" ref="header"></header-box> | ||
3 | <div class="cate-container clearfix"> | 4 | <div class="cate-container clearfix"> |
4 | <div class="content"> | 5 | <div class="content"> |
5 | <ul class="primary-level"> | 6 | <ul class="primary-level"> |
@@ -237,6 +238,7 @@ | @@ -237,6 +238,7 @@ | ||
237 | </style> | 238 | </style> |
238 | <script> | 239 | <script> |
239 | import $ from 'jquery'; | 240 | import $ from 'jquery'; |
241 | + import HeaderBox from 'component/header.vue'; | ||
240 | 242 | ||
241 | export default { | 243 | export default { |
242 | props: { | 244 | props: { |
@@ -365,6 +367,7 @@ | @@ -365,6 +367,7 @@ | ||
365 | c.css('height', h1); | 367 | c.css('height', h1); |
366 | } | 368 | } |
367 | }); | 369 | }); |
368 | - } | 370 | + }, |
371 | + components: {HeaderBox} | ||
369 | }; | 372 | }; |
370 | </script> | 373 | </script> |
1 | <template> | 1 | <template> |
2 | <div> | 2 | <div> |
3 | + <header-box title="品牌" ref="header"></header-box> | ||
3 | <resources :content-code="contentCode"></resources> | 4 | <resources :content-code="contentCode"></resources> |
4 | <brand-list :channel="channel"></brand-list> | 5 | <brand-list :channel="channel"></brand-list> |
5 | </div> | 6 | </div> |
@@ -13,6 +14,7 @@ | @@ -13,6 +14,7 @@ | ||
13 | import resources from 'component/resources/index.vue'; | 14 | import resources from 'component/resources/index.vue'; |
14 | import brandList from 'channel/brand-list.vue'; | 15 | import brandList from 'channel/brand-list.vue'; |
15 | import brandSearch from 'channel/brand-search.vue'; | 16 | import brandSearch from 'channel/brand-search.vue'; |
17 | + import HeaderBox from 'component/header.vue'; | ||
16 | 18 | ||
17 | const detaultChannel = qs.channel || cookie.get('_Channel') || 'men'; | 19 | const detaultChannel = qs.channel || cookie.get('_Channel') || 'men'; |
18 | 20 | ||
@@ -28,7 +30,8 @@ | @@ -28,7 +30,8 @@ | ||
28 | tab, | 30 | tab, |
29 | brandSearch, | 31 | brandSearch, |
30 | resources, | 32 | resources, |
31 | - brandList | 33 | + brandList, |
34 | + HeaderBox | ||
32 | } | 35 | } |
33 | }; | 36 | }; |
34 | </script> | 37 | </script> |
@@ -9,10 +9,17 @@ | @@ -9,10 +9,17 @@ | ||
9 | .search { | 9 | .search { |
10 | width: 100%; | 10 | width: 100%; |
11 | height: 88px; | 11 | height: 88px; |
12 | - padding: 15px 16px; | 12 | + padding: 15px 15px; |
13 | background-color: #fff; | 13 | background-color: #fff; |
14 | text-align: center; | 14 | text-align: center; |
15 | border-bottom: 1px solid #f6f6f6; | 15 | border-bottom: 1px solid #f6f6f6; |
16 | + background-color: #fff; | ||
17 | + position: fixed; | ||
18 | + top: 0; | ||
19 | + left: 0; | ||
20 | + right: 0; | ||
21 | + z-index: 99; | ||
22 | + | ||
16 | 23 | ||
17 | .input { | 24 | .input { |
18 | margin-left: auto; | 25 | margin-left: auto; |
1 | <template> | 1 | <template> |
2 | - <div class="cate-res" :class="{'fix-ios-top': needFix}"> | ||
3 | - <div class="top-space" v-if="needFix"></div> | ||
4 | - <div class="fixed-top"> | 2 | + <div class="cate-res"> |
5 | <brand-search></brand-search> | 3 | <brand-search></brand-search> |
6 | <tab :page="page" class="fixed-tab"></tab> | 4 | <tab :page="page" class="fixed-tab"></tab> |
7 | - </div> | ||
8 | <resources :content-code="contentCode" class="fixed-resource"></resources> | 5 | <resources :content-code="contentCode" class="fixed-resource"></resources> |
9 | </div> | 6 | </div> |
10 | </template> | 7 | </template> |
@@ -38,30 +35,6 @@ | @@ -38,30 +35,6 @@ | ||
38 | } | 35 | } |
39 | } | 36 | } |
40 | 37 | ||
41 | - .fix-ios-top { | ||
42 | - .top-space { | ||
43 | - position: fixed; | ||
44 | - top: 0; | ||
45 | - left: 0; | ||
46 | - right: 0; | ||
47 | - height: 20px; | ||
48 | - background-color: #fff; | ||
49 | - z-index: 999; | ||
50 | - } | ||
51 | - | ||
52 | - .fixed-top { | ||
53 | - padding-top: 20px; | ||
54 | - } | ||
55 | - | ||
56 | - .fixed-tab { | ||
57 | - margin-top: 20px; | ||
58 | - } | ||
59 | - | ||
60 | - .fixed-resource { | ||
61 | - margin-top: 20px; | ||
62 | - } | ||
63 | - | ||
64 | - } | ||
65 | </style> | 38 | </style> |
66 | <script> | 39 | <script> |
67 | import contentCode from 'content-code'; | 40 | import contentCode from 'content-code'; |
@@ -81,7 +54,6 @@ | @@ -81,7 +54,6 @@ | ||
81 | return { | 54 | return { |
82 | page: 'cate', | 55 | page: 'cate', |
83 | contentCode: contentCode.cate[detaultChannel], | 56 | contentCode: contentCode.cate[detaultChannel], |
84 | - needFix: false | ||
85 | }; | 57 | }; |
86 | }, | 58 | }, |
87 | components: { | 59 | components: { |
@@ -90,9 +62,6 @@ | @@ -90,9 +62,6 @@ | ||
90 | brandSearch | 62 | brandSearch |
91 | }, | 63 | }, |
92 | created() { | 64 | created() { |
93 | - if (yoho.isiOS) { | ||
94 | - this.needFix = true; | ||
95 | - } | ||
96 | } | 65 | } |
97 | }; | 66 | }; |
98 | </script> | 67 | </script> |
1 | <template> | 1 | <template> |
2 | - <div v-if="channel.length" class="channel-tab" :class="{'fix-ios-top': fixIosTop}"> | 2 | + <div v-if="channel.length" class="channel-tab"> |
3 | <div class="channel ellipsis" v-for="(item, index) in channel" :key="index" :class="{focus: index === currentChannel}" | 3 | <div class="channel ellipsis" v-for="(item, index) in channel" :key="index" :class="{focus: index === currentChannel}" |
4 | @click="changeChannel(index, item.id)" :style="{width: (1 / channel.length) * 100 + '%'}"> | 4 | @click="changeChannel(index, item.id)" :style="{width: (1 / channel.length) * 100 + '%'}"> |
5 | <span class="name">{{item.name && item.name.toUpperCase()}}</span> | 5 | <span class="name">{{item.name && item.name.toUpperCase()}}</span> |
@@ -101,7 +101,7 @@ | @@ -101,7 +101,7 @@ | ||
101 | .channel-tab { | 101 | .channel-tab { |
102 | position: fixed; | 102 | position: fixed; |
103 | top: 0; | 103 | top: 0; |
104 | - left: 50%; | 104 | + left: 0; |
105 | z-index: 1; | 105 | z-index: 1; |
106 | width: 100%; | 106 | width: 100%; |
107 | max-width: 750px; | 107 | max-width: 750px; |
@@ -109,14 +109,9 @@ | @@ -109,14 +109,9 @@ | ||
109 | font-size: 26px; | 109 | font-size: 26px; |
110 | text-align: center; | 110 | text-align: center; |
111 | background: #fff; | 111 | background: #fff; |
112 | - transform: translate(-50%, 0); | ||
113 | border-bottom: 1px solid #f6f6f6; | 112 | border-bottom: 1px solid #f6f6f6; |
114 | font-family: "BrownStd", "PingFang SC", Helvetica, Roboto, "Heiti SC", "黑体", Arial; | 113 | font-family: "BrownStd", "PingFang SC", Helvetica, Roboto, "Heiti SC", "黑体", Arial; |
115 | 114 | ||
116 | - &.fix-ios-top { | ||
117 | - margin-top: 20px; | ||
118 | - } | ||
119 | - | ||
120 | .channel { | 115 | .channel { |
121 | display: inline-block; | 116 | display: inline-block; |
122 | line-height: 80px; | 117 | line-height: 80px; |
@@ -20,6 +20,7 @@ | @@ -20,6 +20,7 @@ | ||
20 | import yoho from 'yoho'; | 20 | import yoho from 'yoho'; |
21 | 21 | ||
22 | export default { | 22 | export default { |
23 | + name: 'header-box', | ||
23 | props: { | 24 | props: { |
24 | title: String, | 25 | title: String, |
25 | className: [String, Object, Array], | 26 | className: [String, Object, Array], |
@@ -9,7 +9,7 @@ | @@ -9,7 +9,7 @@ | ||
9 | </div> | 9 | </div> |
10 | </dd> | 10 | </dd> |
11 | </dl> | 11 | </dl> |
12 | - <index-list class="filter-index-list" :index-list="indexData" :class="{'fix-ios-top': needFix}"></index-list> | 12 | + <index-list class="filter-index-list" :index-list="indexData"></index-list> |
13 | </div> | 13 | </div> |
14 | </template> | 14 | </template> |
15 | <script> | 15 | <script> |
@@ -44,7 +44,6 @@ | @@ -44,7 +44,6 @@ | ||
44 | indexData: [], | 44 | indexData: [], |
45 | currentData: [], | 45 | currentData: [], |
46 | currentValue: this.value, | 46 | currentValue: this.value, |
47 | - needFix: yoho.isiOS | ||
48 | }; | 47 | }; |
49 | }, | 48 | }, |
50 | watch: { | 49 | watch: { |
@@ -105,8 +104,5 @@ | @@ -105,8 +104,5 @@ | ||
105 | top: calc(70 + 20 * 2 + 1)px!important; | 104 | top: calc(70 + 20 * 2 + 1)px!important; |
106 | } | 105 | } |
107 | 106 | ||
108 | -.fix-ios-top { | ||
109 | - margin-top: 20px; | ||
110 | -} | ||
111 | 107 | ||
112 | </style> | 108 | </style> |
1 | <template> | 1 | <template> |
2 | <div class="filter-sub" :class="{'filter-sub-open': isVisible}"> | 2 | <div class="filter-sub" :class="{'filter-sub-open': isVisible}"> |
3 | - <c-header class="filter-sub-header" :title="filterType"> | 3 | + <header-box class="filter-sub-header" :title="filterType"> |
4 | <i class="icon icon-back" slot="left" @click="hide"></i> | 4 | <i class="icon icon-back" slot="left" @click="hide"></i> |
5 | <button class="btn-clear" slot="right" @click="clear">清空</button> | 5 | <button class="btn-clear" slot="right" @click="clear">清空</button> |
6 | - </c-header> | 6 | + </header-box> |
7 | <div class="filter-sub-select"> | 7 | <div class="filter-sub-select"> |
8 | <brand-filter | 8 | <brand-filter |
9 | v-if="subType === 'brand'" | 9 | v-if="subType === 'brand'" |
@@ -25,7 +25,7 @@ | @@ -25,7 +25,7 @@ | ||
25 | </div> | 25 | </div> |
26 | </template> | 26 | </template> |
27 | <script> | 27 | <script> |
28 | - import cHeader from 'component/header.vue'; | 28 | + import HeaderBox from 'component/header.vue'; |
29 | import brandFilter from './brand.vue'; | 29 | import brandFilter from './brand.vue'; |
30 | import normalFilter from './normal.vue'; | 30 | import normalFilter from './normal.vue'; |
31 | import sortFilter from 'channel/brand-cate.vue'; | 31 | import sortFilter from 'channel/brand-cate.vue'; |
@@ -42,7 +42,7 @@ | @@ -42,7 +42,7 @@ | ||
42 | ageLevel: '年龄' | 42 | ageLevel: '年龄' |
43 | }; | 43 | }; |
44 | export default { | 44 | export default { |
45 | - components: {cHeader, brandFilter, normalFilter, sortFilter}, | 45 | + components: {HeaderBox, brandFilter, normalFilter, sortFilter}, |
46 | props: { | 46 | props: { |
47 | type: { | 47 | type: { |
48 | type: String, | 48 | type: String, |
1 | <template> | 1 | <template> |
2 | - <div class="top-filter clearfix" :class="{'search-page': searchPage, 'fix-ios-top': fixIosTop}"> | 2 | + <div class="top-filter clearfix" :class="{'search-page': searchPage}"> |
3 | <div class="filter-overlay" v-show="layFlag" @click="close"></div> | 3 | <div class="filter-overlay" v-show="layFlag" @click="close"></div> |
4 | <div class="filter-content"> | 4 | <div class="filter-content"> |
5 | <ul class="filter-type"> | 5 | <ul class="filter-type"> |
@@ -322,13 +322,6 @@ export default { | @@ -322,13 +322,6 @@ export default { | ||
322 | z-index: 220; | 322 | z-index: 220; |
323 | border-top: 1px solid #eee; | 323 | border-top: 1px solid #eee; |
324 | 324 | ||
325 | - &.fix-ios-top { | ||
326 | - margin-top: 15px; | ||
327 | - | ||
328 | - .filter-overlay { | ||
329 | - top: 135px!important; | ||
330 | - } | ||
331 | - } | ||
332 | 325 | ||
333 | &.search-page { | 326 | &.search-page { |
334 | top: 0; | 327 | top: 0; |
1 | <template> | 1 | <template> |
2 | <div class="top-nav"> | 2 | <div class="top-nav"> |
3 | - <navbar> | 3 | + <header-box> |
4 | <template slot="right"> | 4 | <template slot="right"> |
5 | <a class="right-button no-intercept" @click="like"> | 5 | <a class="right-button no-intercept" @click="like"> |
6 | <span class="count">{{likeCount ? likeCount : ''}}</span> | 6 | <span class="count">{{likeCount ? likeCount : ''}}</span> |
@@ -16,7 +16,7 @@ | @@ -16,7 +16,7 @@ | ||
16 | <span class="icon icon-share2"></span> | 16 | <span class="icon icon-share2"></span> |
17 | </a> | 17 | </a> |
18 | </template> | 18 | </template> |
19 | - </navbar> | 19 | + </header-box> |
20 | </div> | 20 | </div> |
21 | </template> | 21 | </template> |
22 | <style> | 22 | <style> |
@@ -50,7 +50,7 @@ | @@ -50,7 +50,7 @@ | ||
50 | import yoho from 'yoho'; | 50 | import yoho from 'yoho'; |
51 | import tip from 'common/tip'; | 51 | import tip from 'common/tip'; |
52 | import util from 'common/util'; | 52 | import util from 'common/util'; |
53 | - import Header from 'component/header.vue'; | 53 | + import HeaderBox from 'component/header.vue'; |
54 | 54 | ||
55 | export default { | 55 | export default { |
56 | props: { | 56 | props: { |
@@ -58,7 +58,7 @@ | @@ -58,7 +58,7 @@ | ||
58 | article: Object | 58 | article: Object |
59 | }, | 59 | }, |
60 | components: { | 60 | components: { |
61 | - navbar: Header | 61 | + HeaderBox |
62 | }, | 62 | }, |
63 | data() { | 63 | data() { |
64 | return { | 64 | return { |
1 | <template> | 1 | <template> |
2 | + <div> | ||
3 | + <header-box title="取消订单理由" ref="header"></header-box> | ||
2 | <div class="reason-list"> | 4 | <div class="reason-list"> |
3 | <span v-for="val in options" :key="val.id" @click="select(val.id, val.reason)">{{val.reason}}</span> | 5 | <span v-for="val in options" :key="val.id" @click="select(val.id, val.reason)">{{val.reason}}</span> |
4 | </div> | 6 | </div> |
7 | + </div> | ||
5 | </template> | 8 | </template> |
6 | 9 | ||
7 | <script> | 10 | <script> |
@@ -10,6 +13,7 @@ | @@ -10,6 +13,7 @@ | ||
10 | import $ from 'jquery'; | 13 | import $ from 'jquery'; |
11 | import yoho from 'yoho'; | 14 | import yoho from 'yoho'; |
12 | import tip from 'common/tip'; | 15 | import tip from 'common/tip'; |
16 | + import HeaderBox from 'component/header.vue'; | ||
13 | 17 | ||
14 | export default { | 18 | export default { |
15 | data() { | 19 | data() { |
@@ -41,7 +45,8 @@ | @@ -41,7 +45,8 @@ | ||
41 | 45 | ||
42 | yoho.goBack(); | 46 | yoho.goBack(); |
43 | } | 47 | } |
44 | - } | 48 | + }, |
49 | + components: {HeaderBox} | ||
45 | }; | 50 | }; |
46 | </script> | 51 | </script> |
47 | 52 |
1 | <template> | 1 | <template> |
2 | + <div class="yoho-coin" id="coin-detail-list"> | ||
3 | + <header-box title="有货币" ref="header"></header-box> | ||
4 | + <div class="coin-total"> | ||
5 | + <p>您目前拥有</p> | ||
6 | + <p><b>{{total}}</b></p> | ||
7 | + <p>个有货币</p> | ||
8 | + </div> | ||
2 | <div class="coin-detail" v-if="coinList && coinList.length"> | 9 | <div class="coin-detail" v-if="coinList && coinList.length"> |
3 | <p>明细列表</p> | 10 | <p>明细列表</p> |
4 | <ul class="coin-detail-list" v-infinite-scroll="getCoinData" infinite-scroll-disabled="busy" infinite-scroll-distance="10"> | 11 | <ul class="coin-detail-list" v-infinite-scroll="getCoinData" infinite-scroll-disabled="busy" infinite-scroll-distance="10"> |
@@ -11,14 +18,17 @@ | @@ -11,14 +18,17 @@ | ||
11 | </li> | 18 | </li> |
12 | </ul> | 19 | </ul> |
13 | </div> | 20 | </div> |
21 | + </div> | ||
14 | </template> | 22 | </template> |
15 | <script> | 23 | <script> |
16 | 'use strict'; | 24 | 'use strict'; |
17 | 25 | ||
18 | import $ from 'jquery'; | 26 | import $ from 'jquery'; |
19 | import tip from 'common/tip'; | 27 | import tip from 'common/tip'; |
28 | + import HeaderBox from 'component/header.vue'; | ||
20 | 29 | ||
21 | export default { | 30 | export default { |
31 | + props: ['total'], | ||
22 | data() { | 32 | data() { |
23 | return { | 33 | return { |
24 | page: 0, | 34 | page: 0, |
@@ -49,7 +59,7 @@ | @@ -49,7 +59,7 @@ | ||
49 | if (result.code === 200) { | 59 | if (result.code === 200) { |
50 | this.busy = false; | 60 | this.busy = false; |
51 | if (result.data.coinlist.length > 0) { | 61 | if (result.data.coinlist.length > 0) { |
52 | - this.coinList = this.this.coinList.concat(result.data.coinlist); | 62 | + this.coinList = this.coinList.concat(result.data.coinlist); |
53 | this.pageTotal = result.data.page_total; | 63 | this.pageTotal = result.data.page_total; |
54 | } | 64 | } |
55 | } | 65 | } |
@@ -57,7 +67,8 @@ | @@ -57,7 +67,8 @@ | ||
57 | tip('网络错误'); | 67 | tip('网络错误'); |
58 | }); | 68 | }); |
59 | } | 69 | } |
60 | - } | 70 | + }, |
71 | + components: {HeaderBox} | ||
61 | }; | 72 | }; |
62 | </script> | 73 | </script> |
63 | <style> | 74 | <style> |
1 | <template> | 1 | <template> |
2 | + <div> | ||
3 | + <header-box title="换货申请" ref="header"></header-box> | ||
2 | <div class="return return-exchange"> | 4 | <div class="return return-exchange"> |
3 | <product-list :list="goodsArr" :data="exchangeData" type="exchange"> | 5 | <product-list :list="goodsArr" :data="exchangeData" type="exchange"> |
4 | </product-list> | 6 | </product-list> |
@@ -30,6 +32,7 @@ | @@ -30,6 +32,7 @@ | ||
30 | button-text="确定"> | 32 | button-text="确定"> |
31 | </feature-selector> | 33 | </feature-selector> |
32 | </div> | 34 | </div> |
35 | + </div> | ||
33 | </template> | 36 | </template> |
34 | 37 | ||
35 | <script> | 38 | <script> |
@@ -44,6 +47,7 @@ | @@ -44,6 +47,7 @@ | ||
44 | import productList from 'me/return/list.vue'; | 47 | import productList from 'me/return/list.vue'; |
45 | import featureSelector from 'component/product/feature-selector.vue'; | 48 | import featureSelector from 'component/product/feature-selector.vue'; |
46 | import reasonConfig from 'me/return/reason'; | 49 | import reasonConfig from 'me/return/reason'; |
50 | + import HeaderBox from 'component/header.vue'; | ||
47 | 51 | ||
48 | export default { | 52 | export default { |
49 | data() { | 53 | data() { |
@@ -281,7 +285,8 @@ | @@ -281,7 +285,8 @@ | ||
281 | }, | 285 | }, |
282 | components: { | 286 | components: { |
283 | featureSelector, | 287 | featureSelector, |
284 | - productList | 288 | + productList, |
289 | + HeaderBox | ||
285 | } | 290 | } |
286 | }; | 291 | }; |
287 | 292 |
1 | <template> | 1 | <template> |
2 | -<div :class="{'fix-ios-top': needFix}"> | ||
3 | - <cheader title="我的" class="ghost" fixed ref="header"> | 2 | +<div> |
3 | + <header-box title="我的" class="ghost" fixed ref="header"> | ||
4 | <i slot="left"></i> | 4 | <i slot="left"></i> |
5 | - </cheader> | ||
6 | - <div class="fix-top-space" v-if="needFix"></div> | 5 | + </header-box> |
7 | <div class="my-header" v-if="data.nickName"> | 6 | <div class="my-header" v-if="data.nickName"> |
8 | <a class="user-info auth" id="user-info" href='/me/mydetails'> | 7 | <a class="user-info auth" id="user-info" href='/me/mydetails'> |
9 | <img class="user-avatar" :src="headIco" @error="setEmptyimg"> | 8 | <img class="user-avatar" :src="headIco" @error="setEmptyimg"> |
@@ -107,7 +106,7 @@ | @@ -107,7 +106,7 @@ | ||
107 | import yoho from 'yoho'; | 106 | import yoho from 'yoho'; |
108 | import $ from 'jquery'; | 107 | import $ from 'jquery'; |
109 | import interceptClick from 'common/intercept-click'; | 108 | import interceptClick from 'common/intercept-click'; |
110 | - import cheader from 'component/header.vue'; | 109 | + import HeaderBox from 'component/header.vue'; |
111 | import channel from 'component/toggle-channel.vue'; | 110 | import channel from 'component/toggle-channel.vue'; |
112 | import cookie from 'yoho-cookie'; | 111 | import cookie from 'yoho-cookie'; |
113 | import 'vue-swipe/dist/vue-swipe.css'; | 112 | import 'vue-swipe/dist/vue-swipe.css'; |
@@ -143,11 +142,10 @@ | @@ -143,11 +142,10 @@ | ||
143 | floorHeight: 0, | 142 | floorHeight: 0, |
144 | isShowChannel: false, | 143 | isShowChannel: false, |
145 | curChannel: channelLabel[+cookie.get('_ChannelIndex')] || 'MEN', | 144 | curChannel: channelLabel[+cookie.get('_ChannelIndex')] || 'MEN', |
146 | - needFix: yoho.isiOS | ||
147 | }; | 145 | }; |
148 | }, | 146 | }, |
149 | components: { | 147 | components: { |
150 | - cheader, | 148 | + HeaderBox, |
151 | channel, | 149 | channel, |
152 | swipe: Swipe, | 150 | swipe: Swipe, |
153 | swipeItem: SwipeItem | 151 | swipeItem: SwipeItem |
@@ -346,19 +344,6 @@ | @@ -346,19 +344,6 @@ | ||
346 | </script> | 344 | </script> |
347 | 345 | ||
348 | <style> | 346 | <style> |
349 | - .fix-ios-top { | ||
350 | - padding-top: 30px; | ||
351 | - | ||
352 | - .fix-top-space { | ||
353 | - position: fixed; | ||
354 | - top: 0; | ||
355 | - left: 0; | ||
356 | - right: 0; | ||
357 | - height: 30px; | ||
358 | - background: #fff; | ||
359 | - } | ||
360 | - } | ||
361 | - | ||
362 | .my-page { | 347 | .my-page { |
363 | color: #444; | 348 | color: #444; |
364 | background: #f0f0f0; | 349 | background: #f0f0f0; |
1 | <template> | 1 | <template> |
2 | + <div> | ||
3 | + <header-box title="个人信息" ref="header"></header-box> | ||
2 | <ul> | 4 | <ul> |
3 | <li> | 5 | <li> |
4 | <label @click="setAvatar">头像 | 6 | <label @click="setAvatar">头像 |
@@ -35,6 +37,7 @@ | @@ -35,6 +37,7 @@ | ||
35 | </label> | 37 | </label> |
36 | </li> | 38 | </li> |
37 | </ul> | 39 | </ul> |
40 | + </div> | ||
38 | </template> | 41 | </template> |
39 | 42 | ||
40 | <script> | 43 | <script> |
@@ -42,6 +45,7 @@ | @@ -42,6 +45,7 @@ | ||
42 | import yoho from 'yoho'; | 45 | import yoho from 'yoho'; |
43 | import tip from 'common/tip'; | 46 | import tip from 'common/tip'; |
44 | import select from 'common/select'; | 47 | import select from 'common/select'; |
48 | + import HeaderBox from 'component/header.vue'; | ||
45 | 49 | ||
46 | const genderSel = select([{ | 50 | const genderSel = select([{ |
47 | key: '1', | 51 | key: '1', |
@@ -120,7 +124,8 @@ | @@ -120,7 +124,8 @@ | ||
120 | tip('网络错误'); | 124 | tip('网络错误'); |
121 | }); | 125 | }); |
122 | } | 126 | } |
123 | - } | 127 | + }, |
128 | + components: {HeaderBox} | ||
124 | }; | 129 | }; |
125 | </script> | 130 | </script> |
126 | 131 |
1 | <template> | 1 | <template> |
2 | <div> | 2 | <div> |
3 | + <header-box title="订单详情" ref="header"></header-box> | ||
3 | <template v-if="show"> | 4 | <template v-if="show"> |
4 | <div class="order-status"> | 5 | <div class="order-status"> |
5 | <p v-if="order.is_cancel === 'Y'">交易已取消</p> | 6 | <p v-if="order.is_cancel === 'Y'">交易已取消</p> |
@@ -72,6 +73,7 @@ | @@ -72,6 +73,7 @@ | ||
72 | import yoho from 'yoho'; | 73 | import yoho from 'yoho'; |
73 | import interceptClick from 'common/intercept-click'; | 74 | import interceptClick from 'common/intercept-click'; |
74 | import genderSelect from 'common/select'; | 75 | import genderSelect from 'common/select'; |
76 | + import HeaderBox from 'component/header.vue'; | ||
75 | 77 | ||
76 | export default { | 78 | export default { |
77 | props: ['order_code'], | 79 | props: ['order_code'], |
@@ -281,7 +283,8 @@ | @@ -281,7 +283,8 @@ | ||
281 | return false; | 283 | return false; |
282 | }); | 284 | }); |
283 | } | 285 | } |
284 | - } | 286 | + }, |
287 | + components: {HeaderBox} | ||
285 | }; | 288 | }; |
286 | </script> | 289 | </script> |
287 | <style> | 290 | <style> |
1 | <template> | 1 | <template> |
2 | <div class="logistic-page yoho-page"> | 2 | <div class="logistic-page yoho-page"> |
3 | + <header-box title="物流信息" ref="header"></header-box> | ||
3 | <div class="overview"> | 4 | <div class="overview"> |
4 | <div class="left" > | 5 | <div class="left" > |
5 | <img class="logoicon" v-img-src="{src: logo, width: 90, height: 90}"/> | 6 | <img class="logoicon" v-img-src="{src: logo, width: 90, height: 90}"/> |
@@ -161,6 +162,7 @@ $border_color_light: #eee; | @@ -161,6 +162,7 @@ $border_color_light: #eee; | ||
161 | import $ from 'jquery'; | 162 | import $ from 'jquery'; |
162 | import qs from 'yoho-qs'; | 163 | import qs from 'yoho-qs'; |
163 | import tip from 'common/tip'; | 164 | import tip from 'common/tip'; |
165 | + import HeaderBox from 'component/header.vue'; | ||
164 | 166 | ||
165 | export default { | 167 | export default { |
166 | data() { | 168 | data() { |
@@ -187,7 +189,8 @@ $border_color_light: #eee; | @@ -187,7 +189,8 @@ $border_color_light: #eee; | ||
187 | }).fail(() => { | 189 | }).fail(() => { |
188 | tip('网络错误'); | 190 | tip('网络错误'); |
189 | }); | 191 | }); |
190 | - } | 192 | + }, |
193 | + components: {HeaderBox} | ||
191 | }; | 194 | }; |
192 | </script> | 195 | </script> |
193 | 196 |
1 | <template> | 1 | <template> |
2 | <div> | 2 | <div> |
3 | + <header-box :title="title" ref="header"></header-box> | ||
3 | <div class="order-wrapper" v-show="orderList.length > 0"> | 4 | <div class="order-wrapper" v-show="orderList.length > 0"> |
4 | <ul id="order-list" v-infinite-scroll="getOrderData" infinite-scroll-disabled="busy" infinite-scroll-distance="10"> | 5 | <ul id="order-list" v-infinite-scroll="getOrderData" infinite-scroll-disabled="busy" infinite-scroll-distance="10"> |
5 | <li class="order-item" v-for="(order, index) in orderList" :key="index"> | 6 | <li class="order-item" v-for="(order, index) in orderList" :key="index"> |
@@ -69,6 +70,8 @@ | @@ -69,6 +70,8 @@ | ||
69 | import Modal from 'common/modal'; | 70 | import Modal from 'common/modal'; |
70 | import interceptClick from 'common/intercept-click'; | 71 | import interceptClick from 'common/intercept-click'; |
71 | import yoho from 'yoho'; | 72 | import yoho from 'yoho'; |
73 | + import qs from 'yoho-qs'; | ||
74 | + import HeaderBox from 'component/header.vue'; | ||
72 | 75 | ||
73 | export default { | 76 | export default { |
74 | props: ['type'], | 77 | props: ['type'], |
@@ -83,6 +86,19 @@ | @@ -83,6 +86,19 @@ | ||
83 | orderList: [] | 86 | orderList: [] |
84 | }; | 87 | }; |
85 | }, | 88 | }, |
89 | + computed: { | ||
90 | + title() { | ||
91 | + if (qs.type === '1') { | ||
92 | + return '我的订单'; | ||
93 | + } else if (qs.type === '2') { | ||
94 | + return '待付款'; | ||
95 | + } else if (qs.type === '3') { | ||
96 | + return '待发货'; | ||
97 | + } else if (qs.type === '4') { | ||
98 | + return '待收货'; | ||
99 | + } | ||
100 | + } | ||
101 | + }, | ||
86 | created() { | 102 | created() { |
87 | this.getOrderData(); | 103 | this.getOrderData(); |
88 | 104 | ||
@@ -260,7 +276,8 @@ | @@ -260,7 +276,8 @@ | ||
260 | }); | 276 | }); |
261 | }); | 277 | }); |
262 | } | 278 | } |
263 | - } | 279 | + }, |
280 | + components: {HeaderBox} | ||
264 | }; | 281 | }; |
265 | 282 | ||
266 | </script> | 283 | </script> |
1 | <template> | 1 | <template> |
2 | <div> | 2 | <div> |
3 | + <header-box title="浏览记录" ref="header"></header-box> | ||
3 | <div v-if="hasdata"> | 4 | <div v-if="hasdata"> |
4 | <div class='nav'> | 5 | <div class='nav'> |
5 | <div class="fixed"> | 6 | <div class="fixed"> |
@@ -35,6 +36,7 @@ import $ from 'jquery'; | @@ -35,6 +36,7 @@ import $ from 'jquery'; | ||
35 | import swiperList from 'component/me/swiperList.vue'; | 36 | import swiperList from 'component/me/swiperList.vue'; |
36 | import modal from 'common/modal'; | 37 | import modal from 'common/modal'; |
37 | import interceptClick from 'common/intercept-click'; | 38 | import interceptClick from 'common/intercept-click'; |
39 | +import HeaderBox from 'component/header.vue'; | ||
38 | let originList, originCategory, categoryLen; | 40 | let originList, originCategory, categoryLen; |
39 | 41 | ||
40 | export default { | 42 | export default { |
@@ -47,7 +49,8 @@ export default { | @@ -47,7 +49,8 @@ export default { | ||
47 | }; | 49 | }; |
48 | }, | 50 | }, |
49 | components: { | 51 | components: { |
50 | - swiperList | 52 | + swiperList, |
53 | + HeaderBox | ||
51 | }, | 54 | }, |
52 | methods: { | 55 | methods: { |
53 | imgerror() { | 56 | imgerror() { |
1 | <template> | 1 | <template> |
2 | <div> | 2 | <div> |
3 | + <header-box title="退/换货" ref="header"></header-box> | ||
3 | <div class="order-wrapper return-goods" v-show="orderList.length > 0"> | 4 | <div class="order-wrapper return-goods" v-show="orderList.length > 0"> |
4 | <ul v-infinite-scroll="getRefundData" infinite-scroll-disabled="busy" infinite-scroll-distance="10"> | 5 | <ul v-infinite-scroll="getRefundData" infinite-scroll-disabled="busy" infinite-scroll-distance="10"> |
5 | <li class="order-item" v-for="(order, index) in orderList" :key="index"> | 6 | <li class="order-item" v-for="(order, index) in orderList" :key="index"> |
@@ -56,6 +57,7 @@ | @@ -56,6 +57,7 @@ | ||
56 | import tip from 'common/tip'; | 57 | import tip from 'common/tip'; |
57 | import Modal from 'common/modal'; | 58 | import Modal from 'common/modal'; |
58 | import yoho from 'yoho'; | 59 | import yoho from 'yoho'; |
60 | + import HeaderBox from 'component/header.vue'; | ||
59 | 61 | ||
60 | export default { | 62 | export default { |
61 | data() { | 63 | data() { |
@@ -141,7 +143,8 @@ | @@ -141,7 +143,8 @@ | ||
141 | }); | 143 | }); |
142 | }); | 144 | }); |
143 | } | 145 | } |
144 | - } | 146 | + }, |
147 | + components: {HeaderBox} | ||
145 | }; | 148 | }; |
146 | </script> | 149 | </script> |
147 | <style> | 150 | <style> |
1 | <template> | 1 | <template> |
2 | <div> | 2 | <div> |
3 | + <header-box :title="title" ref="header"></header-box> | ||
3 | <template v-if="show"> | 4 | <template v-if="show"> |
4 | <div class="status-desc"> | 5 | <div class="status-desc"> |
5 | <p>{{detail.status_name}}</p> | 6 | <p>{{detail.status_name}}</p> |
@@ -115,6 +116,7 @@ | @@ -115,6 +116,7 @@ | ||
115 | import tip from 'common/tip'; | 116 | import tip from 'common/tip'; |
116 | import yoho from 'yoho'; | 117 | import yoho from 'yoho'; |
117 | import Modal from 'common/modal'; | 118 | import Modal from 'common/modal'; |
119 | + import HeaderBox from 'component/header.vue'; | ||
118 | 120 | ||
119 | export default { | 121 | export default { |
120 | props: ['applyid', 'type'], | 122 | props: ['applyid', 'type'], |
@@ -136,6 +138,16 @@ | @@ -136,6 +138,16 @@ | ||
136 | } | 138 | } |
137 | }); | 139 | }); |
138 | }, | 140 | }, |
141 | + computed: { | ||
142 | + title() { | ||
143 | + if (this.type === 'refund') { | ||
144 | + return '退货状态'; | ||
145 | + } else if (this.type === 'exchange') { | ||
146 | + return '换货状态'; | ||
147 | + } | ||
148 | + return ''; | ||
149 | + } | ||
150 | + }, | ||
139 | methods: { | 151 | methods: { |
140 | reload() { | 152 | reload() { |
141 | this.id = ''; | 153 | this.id = ''; |
@@ -201,7 +213,8 @@ | @@ -201,7 +213,8 @@ | ||
201 | }); | 213 | }); |
202 | }); | 214 | }); |
203 | } | 215 | } |
204 | - } | 216 | + }, |
217 | + components: {HeaderBox} | ||
205 | }; | 218 | }; |
206 | </script> | 219 | </script> |
207 | 220 |
1 | <template> | 1 | <template> |
2 | + <div> | ||
3 | + <header-box title="退货申请" ref="header"></header-box> | ||
2 | <div class="return return-refund"> | 4 | <div class="return return-refund"> |
3 | <product-list :list="list" :data="refundData" type="refund"></product-list> | 5 | <product-list :list="list" :data="refundData" type="refund"></product-list> |
4 | <div class="return-amount"> | 6 | <div class="return-amount"> |
@@ -46,6 +48,7 @@ | @@ -46,6 +48,7 @@ | ||
46 | {{refundData.return_amount_info}} | 48 | {{refundData.return_amount_info}} |
47 | </div> | 49 | </div> |
48 | </div> | 50 | </div> |
51 | + </div> | ||
49 | </template> | 52 | </template> |
50 | 53 | ||
51 | <script> | 54 | <script> |
@@ -56,6 +59,7 @@ | @@ -56,6 +59,7 @@ | ||
56 | import yoho from 'yoho'; | 59 | import yoho from 'yoho'; |
57 | import productList from 'me/return/list.vue'; | 60 | import productList from 'me/return/list.vue'; |
58 | import reasonConfig from 'me/return/reason'; | 61 | import reasonConfig from 'me/return/reason'; |
62 | + import HeaderBox from 'component/header.vue'; | ||
59 | 63 | ||
60 | export default { | 64 | export default { |
61 | data() { | 65 | data() { |
@@ -172,7 +176,8 @@ | @@ -172,7 +176,8 @@ | ||
172 | } | 176 | } |
173 | }, | 177 | }, |
174 | components: { | 178 | components: { |
175 | - productList | 179 | + productList, |
180 | + HeaderBox | ||
176 | } | 181 | } |
177 | }; | 182 | }; |
178 | </script> | 183 | </script> |
1 | <template> | 1 | <template> |
2 | <div class="edit-logistics-page"> | 2 | <div class="edit-logistics-page"> |
3 | + <header-box title="商品寄回" ref="header"></header-box> | ||
3 | <div class="edit-logistics"> | 4 | <div class="edit-logistics"> |
4 | <label @click="companylist"> | 5 | <label @click="companylist"> |
5 | 选择快递公司<input class="company-val" type="text" :value="company_name" readonly> | 6 | 选择快递公司<input class="company-val" type="text" :value="company_name" readonly> |
@@ -19,6 +20,7 @@ | @@ -19,6 +20,7 @@ | ||
19 | import tip from 'common/tip'; | 20 | import tip from 'common/tip'; |
20 | import yoho from 'yoho'; | 21 | import yoho from 'yoho'; |
21 | import modal from 'common/modal'; | 22 | import modal from 'common/modal'; |
23 | + import HeaderBox from 'component/header.vue'; | ||
22 | 24 | ||
23 | export default { | 25 | export default { |
24 | props: ['applyid', 'type', 'company_id', 'company_name'], | 26 | props: ['applyid', 'type', 'company_id', 'company_name'], |
@@ -72,7 +74,8 @@ | @@ -72,7 +74,8 @@ | ||
72 | }); | 74 | }); |
73 | }); | 75 | }); |
74 | } | 76 | } |
75 | - } | 77 | + }, |
78 | + components: {HeaderBox} | ||
76 | }; | 79 | }; |
77 | </script> | 80 | </script> |
78 | 81 |
1 | <template> | 1 | <template> |
2 | - <cheader title="商品详情" class="product-header ghost" ref="header"></cheader> | 2 | + <header-box title="商品详情" class="product-header ghost" ref="header"></header-box> |
3 | </template> | 3 | </template> |
4 | <style> | 4 | <style> |
5 | .product-header { | 5 | .product-header { |
@@ -16,7 +16,7 @@ | @@ -16,7 +16,7 @@ | ||
16 | </style> | 16 | </style> |
17 | <script> | 17 | <script> |
18 | import yoho from 'yoho'; | 18 | import yoho from 'yoho'; |
19 | - import cheader from 'component/header.vue'; | 19 | + import HeaderBox from 'component/header.vue'; |
20 | 20 | ||
21 | export default { | 21 | export default { |
22 | data() { | 22 | data() { |
@@ -29,7 +29,7 @@ | @@ -29,7 +29,7 @@ | ||
29 | img: String | 29 | img: String |
30 | }, | 30 | }, |
31 | components: { | 31 | components: { |
32 | - cheader | 32 | + HeaderBox |
33 | }, | 33 | }, |
34 | methods: { | 34 | methods: { |
35 | toggle() { | 35 | toggle() { |
1 | <template> | 1 | <template> |
2 | <div> | 2 | <div> |
3 | - <cheader :title="sortName" class="list-header"></cheader> | ||
4 | - <filter-box :val="order" :filter="filterConfig" v-if="enableOrder" :fix-ios-top="fixIosTop"></filter-box> | 3 | + <header-box :title="sortName" class="list-header"></header-box> |
4 | + <filter-box :val="order" :filter="filterConfig" v-if="enableOrder"></filter-box> | ||
5 | <product-list :data="productList" :state="listState" class="list-items"></product-list> | 5 | <product-list :data="productList" :state="listState" class="list-items"></product-list> |
6 | <shopping-bag :cart-count="cartCount" v-if="isApp"></shopping-bag> | 6 | <shopping-bag :cart-count="cartCount" v-if="isApp"></shopping-bag> |
7 | </div> | 7 | </div> |
@@ -15,7 +15,7 @@ | @@ -15,7 +15,7 @@ | ||
15 | import qs from 'yoho-qs/parse'; | 15 | import qs from 'yoho-qs/parse'; |
16 | import bus from 'common/vue-bus'; | 16 | import bus from 'common/vue-bus'; |
17 | import tip from 'common/tip'; | 17 | import tip from 'common/tip'; |
18 | - import cheader from 'component/header.vue'; | 18 | + import HeaderBox from 'component/header.vue'; |
19 | import ProductList from 'component/product/list.vue'; | 19 | import ProductList from 'component/product/list.vue'; |
20 | import ShoppingBag from 'component/product/shopping-bag.vue'; | 20 | import ShoppingBag from 'component/product/shopping-bag.vue'; |
21 | import FilterBox from 'component/product/filter/index.vue'; | 21 | import FilterBox from 'component/product/filter/index.vue'; |
@@ -76,7 +76,7 @@ | @@ -76,7 +76,7 @@ | ||
76 | } | 76 | } |
77 | }, | 77 | }, |
78 | components: { | 78 | components: { |
79 | - cheader, | 79 | + HeaderBox, |
80 | ProductList, | 80 | ProductList, |
81 | ShoppingBag, | 81 | ShoppingBag, |
82 | FilterBox | 82 | FilterBox |
1 | <template> | 1 | <template> |
2 | <div> | 2 | <div> |
3 | - <cheader title="新品抢先看"></cheader> | ||
4 | - <filter-box :val="order" :filter="filterConfig" v-if="enableOrder" :fix-ios-top="needFix"></filter-box> | 3 | + <header-box title="新品抢先看"></header-box> |
4 | + <filter-box :val="order" :filter="filterConfig" v-if="enableOrder"></filter-box> | ||
5 | <product-list :data="productList" :state="listState" class="list-items"></product-list> | 5 | <product-list :data="productList" :state="listState" class="list-items"></product-list> |
6 | <shopping-bag :cart-count="cartCount" v-if="isApp"></shopping-bag> | 6 | <shopping-bag :cart-count="cartCount" v-if="isApp"></shopping-bag> |
7 | </div> | 7 | </div> |
@@ -13,7 +13,7 @@ | @@ -13,7 +13,7 @@ | ||
13 | import qs from 'yoho-qs/parse'; | 13 | import qs from 'yoho-qs/parse'; |
14 | import bus from 'common/vue-bus'; | 14 | import bus from 'common/vue-bus'; |
15 | import tip from 'common/tip'; | 15 | import tip from 'common/tip'; |
16 | - import cheader from 'component/header.vue'; | 16 | + import HeaderBox from 'component/header.vue'; |
17 | import lazyload from 'vue-lazyload'; | 17 | import lazyload from 'vue-lazyload'; |
18 | import infinitScroll from 'vue-infinite-scroll'; | 18 | import infinitScroll from 'vue-infinite-scroll'; |
19 | import ProductList from 'component/product/list.vue'; | 19 | import ProductList from 'component/product/list.vue'; |
@@ -48,7 +48,6 @@ | @@ -48,7 +48,6 @@ | ||
48 | enableOrder: false, | 48 | enableOrder: false, |
49 | order: '', | 49 | order: '', |
50 | cartCount: 0, | 50 | cartCount: 0, |
51 | - needFix: yoho.isiOS | ||
52 | }; | 51 | }; |
53 | }, | 52 | }, |
54 | computed: { | 53 | computed: { |
@@ -71,7 +70,7 @@ | @@ -71,7 +70,7 @@ | ||
71 | } | 70 | } |
72 | }, | 71 | }, |
73 | components: { | 72 | components: { |
74 | - cheader, | 73 | + HeaderBox, |
75 | ProductList, | 74 | ProductList, |
76 | FilterBox, | 75 | FilterBox, |
77 | shoppingBag | 76 | shoppingBag |
@@ -2,10 +2,9 @@ | @@ -2,10 +2,9 @@ | ||
2 | <div> | 2 | <div> |
3 | <top-bar :share-data="shareData" :show-top-bar="showTopBar"></top-bar> | 3 | <top-bar :share-data="shareData" :show-top-bar="showTopBar"></top-bar> |
4 | <div :class='{"shop-goods-top": true}' class="list-items"> | 4 | <div :class='{"shop-goods-top": true}' class="list-items"> |
5 | - <goods-list :data="productList" :state="listState"></goods-list> | 5 | + <product-list :data="productList" :state="listState"></product-list> |
6 | </div> | 6 | </div> |
7 | - <filter-box :val="order" :filter="filterConfig" v-if="enableOrder" ref="filter" | ||
8 | - :fix-ios-top="fixIosTop"></filter-box> | 7 | + <filter-box :val="order" :filter="filterConfig" v-if="enableOrder" ref="filter"></filter-box> |
9 | </div> | 8 | </div> |
10 | </template> | 9 | </template> |
11 | <style> | 10 | <style> |
@@ -29,7 +28,7 @@ | @@ -29,7 +28,7 @@ | ||
29 | 28 | ||
30 | import topBar from 'product/shop/top-bar.vue'; // 顶部栏,包括返回、收藏店铺、分享,打开筛选页面 | 29 | import topBar from 'product/shop/top-bar.vue'; // 顶部栏,包括返回、收藏店铺、分享,打开筛选页面 |
31 | import shopTop from 'product/shop/shop-top.vue'; // 店铺头部信息 | 30 | import shopTop from 'product/shop/shop-top.vue'; // 店铺头部信息 |
32 | - import goodsList from 'component/product/list.vue'; | 31 | + import ProductList from 'component/product/list.vue'; |
33 | import FilterBox from 'component/product/filter/index.vue'; | 32 | import FilterBox from 'component/product/filter/index.vue'; |
34 | 33 | ||
35 | const $shop = $('#shop'); | 34 | const $shop = $('#shop'); |
@@ -179,7 +178,7 @@ | @@ -179,7 +178,7 @@ | ||
179 | components: { | 178 | components: { |
180 | topBar, | 179 | topBar, |
181 | shopTop, | 180 | shopTop, |
182 | - goodsList, | 181 | + ProductList, |
183 | FilterBox | 182 | FilterBox |
184 | }, | 183 | }, |
185 | created() { | 184 | created() { |
1 | <template> | 1 | <template> |
2 | <div :style="{display: topBarDisplay}"> | 2 | <div :style="{display: topBarDisplay}"> |
3 | - <cheader :title="title" ref="header"></cheader> | 3 | + <header-box :title="title" ref="header"></header-box> |
4 | </div> | 4 | </div> |
5 | </template> | 5 | </template> |
6 | 6 | ||
@@ -17,7 +17,7 @@ | @@ -17,7 +17,7 @@ | ||
17 | <script> | 17 | <script> |
18 | import yoho from 'yoho'; | 18 | import yoho from 'yoho'; |
19 | import $ from 'jquery'; | 19 | import $ from 'jquery'; |
20 | - import cheader from 'component/header.vue'; | 20 | + import HeaderBox from 'component/header.vue'; |
21 | import tip from 'common/tip'; | 21 | import tip from 'common/tip'; |
22 | 22 | ||
23 | export default { | 23 | export default { |
@@ -41,7 +41,7 @@ | @@ -41,7 +41,7 @@ | ||
41 | } | 41 | } |
42 | }, | 42 | }, |
43 | components: { | 43 | components: { |
44 | - cheader | 44 | + HeaderBox |
45 | }, | 45 | }, |
46 | methods: { | 46 | methods: { |
47 | goBack() { | 47 | goBack() { |
@@ -7772,9 +7772,9 @@ vm-browserify@0.0.4: | @@ -7772,9 +7772,9 @@ vm-browserify@0.0.4: | ||
7772 | dependencies: | 7772 | dependencies: |
7773 | indexof "0.0.1" | 7773 | indexof "0.0.1" |
7774 | 7774 | ||
7775 | -vue-awesome-swiper@^2.5.4: | ||
7776 | - version "2.5.4" | ||
7777 | - resolved "http://npm.yoho.cn/vue-awesome-swiper/-/vue-awesome-swiper-2.5.4.tgz#265a2a3ec2f9830d6b0175ea06784c36a261c54a" | 7775 | +vue-awesome-swiper@^2.6.0: |
7776 | + version "2.6.2" | ||
7777 | + resolved "http://npm.yoho.cn/vue-awesome-swiper/-/vue-awesome-swiper-2.6.2.tgz#e268882b2be1cef738226270b820d8e63277b689" | ||
7778 | dependencies: | 7778 | dependencies: |
7779 | swiper "^3.4.2" | 7779 | swiper "^3.4.2" |
7780 | 7780 |
-
Please register or login to post a comment