Authored by 陈峰

header

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-coin" id="coin-detail-list">  
2 - <div class="coin-total">  
3 - <p>您目前拥有</p>  
4 - <p><b>{{coin.data.total}}</b></p>  
5 - <p>个有货币</p>  
6 - </div>  
7 - <coin-detail></coin-detail> 1 +<div id="app">
  2 + <coin :total="{{coin.data.total}}"></coin>
8 </div> 3 </div>
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: {
1 const info = { 1 const info = {
2 - host: '127.0.0.1', 2 + host: 'm.yohoblk.com',
3 port: 5004, 3 port: 5004,
4 - publicPath: 'http://127.0.0.1:5004/' 4 + publicPath: 'http://m.yohoblk.com:5004/'
5 }; 5 };
6 6
7 module.exports = info; 7 module.exports = info;
@@ -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
@@ -14,8 +14,8 @@ Vue.use(infiniteScroll); @@ -14,8 +14,8 @@ Vue.use(infiniteScroll);
14 14
15 15
16 new Vue({ 16 new Vue({
17 - el: '#coin-detail-list', 17 + el: '#app',
18 components: { 18 components: {
19 - 'coin-detail': coin 19 + coin
20 } 20 }
21 }); 21 });
@@ -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(() => {
  1 +import Vue from 'vue';
  2 +import HeaderBox from 'component/header.vue';
  3 +import qs from 'yoho-qs';
  4 +
  5 +new Vue({
  6 + el: '#header',
  7 + render: h => h(HeaderBox, {
  8 + props: {
  9 + title: decodeURIComponent(qs.title)
  10 + }
  11 + })
  12 +});
  1 +import Vue from 'vue';
  2 +import HeaderBox from 'component/header.vue';
  3 +
  4 +new Vue({
  5 + el: '#header',
  6 + render: h => h(HeaderBox, {
  7 + props: {
  8 + title: '帮助中心'
  9 + }
  10 + })
  11 +});
  1 +import Vue from 'vue';
  2 +import HeaderBox from 'component/header.vue';
  3 +
  4 +new Vue({
  5 + el: '#header',
  6 + render: h => h(HeaderBox, {
  7 + props: {
  8 + title: '隐私条款'
  9 + }
  10 + })
  11 +});
@@ -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