Authored by ccbikai

Merge branch 'develop'

Showing 50 changed files with 237 additions and 153 deletions
... ... @@ -69,7 +69,7 @@ const handleBrandList = origin => {
// 如果有数字,单独处理
if (hasNum) {
let brands = {};
let brands = [];
_.forEach(numTemp, (subValue) => {
brands.push({
... ...
... ... @@ -46,7 +46,7 @@ const _getInfoNumData = (uid) => {
method: 'app.address.gethidden' // 用户地址的数据
}, {
code: 200
}), singleAPI.get('brower', {
}), singleAPI.get('favorite', {
method: 'app.favorite.getFavoriteCount', // 获取用户收藏商品总数
uid: uid
}, {
... ...
... ... @@ -7,6 +7,11 @@ const processProductList = require(`${global.utils}/beautify/product`);
/* 查询最新产品列表 */
exports.getNewData = (params) => {
if (params.hasOwnProperty('priceRange')) {
params.price = params.priceRange;
delete params.priceRange;
}
params = Object.assign({
method: 'app.search.newProduct',
}, params);
... ...
... ... @@ -19,6 +19,7 @@ const search = {
cache: true,
code: 200
}).then(result => {
result = result || {};
if (result.data) {
prettyFilter(result.data.filter);
result = camelCase(result);
... ...
... ... @@ -151,8 +151,17 @@ const getBrandShopGoodsData = params => {
return shopApi.getBrandInfoByDomain({
domain: params.domain
}).then(result => {
if (result.data && result.data.shop_id) {
Object.assign(params, {shopId: result.data.shop_id});
if (result.data) {
if (result.data.shop_id) {
Object.assign(params, {
shopId: result.data.shop_id
});
}
if (result.data.id) {
Object.assign(params, {
brand: result.data.id
});
}
}
return _getGoodsList(params);
});
... ...
... ... @@ -8,8 +8,8 @@
const channel = {
men: '9ee58aadd9559d07207fe4a98843eaac',
women: 'aa8d34c85934c2ccc16e2babd3eb5e47',
lifestyle: '3ad8826fc89fb0d023a4cd06a6991219'
women: '3ad8826fc89fb0d023a4cd06a6991219',
lifestyle: 'aa8d34c85934c2ccc16e2babd3eb5e47'
};
const brand = {
... ...
... ... @@ -15,9 +15,9 @@
(function(d,c){var e=d.documentElement,a="orientationchange" in window?"orientationchange":"resize",b=function(){var f=e.clientWidth;if(!f){return}if(f>=750){e.style.fontSize="40px"}else{e.style.fontSize=40*(f/750)+"px"}};if(!d.addEventListener){return}b();c.addEventListener(a,b,false);d.addEventListener("DOMContentLoaded",b,false)})(document,window);
</script>
{{#if devEnv}}
<link rel="stylesheet" href="//localhost:5004/css/index.css">
<link rel="stylesheet" media="all" href="//localhost:5004/css/index.css">
{{#unless noLocalCSS}}
<link rel="stylesheet" href="//localhost:5004/{{module}}.{{page}}.css">
<link rel="stylesheet" media="all" href="//localhost:5004/{{module}}.{{page}}.css">
{{/unless}}
{{^}}
<link rel="stylesheet" href="//cdn.yoho.cn/yohoblk-wap/{{version}}/index.css">
... ...
... ... @@ -37,14 +37,14 @@
"serve-favicon": "^2.3.0",
"uuid": "^2.0.2",
"winston": "^2.2.0",
"winston-daily-rotate-file": "^1.1.4",
"winston-daily-rotate-file": "^1.3.0",
"yoho-md5": "^2.0.0",
"yoho-node-lib": "0.0.40"
"yoho-node-lib": "0.0.41"
},
"devDependencies": {
"autoprefixer": "^6.4.0",
"babel-core": "^6.13.2",
"babel-loader": "^6.2.4",
"babel-loader": "^6.2.5",
"babel-plugin-transform-runtime": "^6.12.0",
"babel-preset-es2015": "^6.13.2",
"babel-runtime": "^6.11.6",
... ... @@ -61,7 +61,7 @@
"handlebars-loader": "^1.3.0",
"husky": "^0.11.6",
"jquery": "2.2.4",
"nodemon": "^1.10.0",
"nodemon": "^1.10.2",
"postcss-assets": "^4.0.1",
"postcss-cachebuster": "^0.1.3",
"postcss-calc": "^5.2.1",
... ... @@ -82,12 +82,12 @@
"stylelint-processor-html": "^1.0.0",
"vue": "1.0.26",
"vue-infinite-scroll": "0.2.3",
"vue-lazyload": "0.4.5",
"vue-lazyload": "^0.5.0",
"vue-loader": "^8.5.3",
"vue-swipe": "0.2.6",
"vue-touch": "1.1.0",
"webpack": "^1.13.1",
"webpack-dashboard": "0.0.1",
"webpack": "^1.13.2",
"webpack-dashboard": "^0.1.1",
"webpack-dev-server": "^1.14.1",
"webpack-stream": "^3.1.0",
"yoho-cookie": "1.2.0",
... ...
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
No preview for this file type
... ... @@ -8,7 +8,6 @@
<missing-glyph horiz-adv-x="1024" />
<glyph unicode="&#x20;" horiz-adv-x="0" d="" />
<glyph unicode="&#xe600;" glyph-name="delete" d="M911 725h-242v123q0 21-13.5 34.5t-34.5 13.5h-246q-20 0-33.5-13.5t-13.5-34.5v-123h-246q-21 0-34.5-13.5t-13.5-34 13.5-34 34.5-13.5h829q21 0 34.5 13.5t13.5 34-13.5 34-34.5 13.5zM423 725v72h147v-72h-147zM765 579q-21 0-34.5-14t-13.5-34v-560h-441v560q0 20-13.5 34t-34 14-34-14-13.5-34v-611q0-21 13.5-34.5t34.5-13.5h536q20 0 33.5 13.5t13.5 34.5v611q3 20-11.5 34t-35.5 14zM447 67v389q0 20-13.5 33.5t-34 13.5-34-13.5-13.5-33.5v-389q0-21 13.5-34.5t34-13.5 34 13.5 13.5 34.5zM645 67v389q0 20-13.5 33.5t-34.5 13.5q-20 0-35.5-13.5t-15.5-33.5v-389q0-21 13.5-34.5t34.5-13.5 36 13.5 15 34.5z" />
<glyph unicode="&#xe601;" glyph-name="bag" d="M512 812q43 0 82.5-17t68-45.5 45.5-68 17-82.5v-43h171v-640q0-53-37.5-90.5t-90.5-37.5h-512q-53 0-90.5 37.5t-37.5 90.5v640h171v43q0 43 17 82.5t45.5 68 68 45.5 82.5 17zM811-84v555h-598v-555q0-18 12.5-30.5t30.5-12.5h512q18 0 30.5 12.5t12.5 30.5zM512 727q-53 0-90.5-37.5t-37.5-90.5v-43h256v43q0 53-37.5 90.5t-90.5 37.5z" />
<glyph unicode="&#xe602;" glyph-name="down" d="M516 256l409 404q2 1 6 6t7 8 8 7 9 5.5 8.5 2 8.5-2.5l38-21q7-7 7.5-17.5t-6.5-17.5l-476-471q-7-8-17.5-8t-17.5 7zM531 158q-8-7-18.5-7t-17.5 8l-475 471q-7 7-7 17.5t7 17.5l38 21q4 3 8.5 2.5t8.5-2 9-5.5 8-7 7-8 6-6l415-407z" />
<glyph unicode="&#xe603;" glyph-name="check" d="M998.5 724.5q-12.5 11.5-29.5 11t-29-12.5l-552-588-302 297q-12 12-29.5 12t-29.5-12.5-12-29.5 13-29l332-327v-1q2-1 9-5 1-1 2.5-2t2.5-1q7-3 15-3t16 3q1 1 3 2l1 1q7 5 9 6l1 1 581 619q12 13 11.5 30t-13 28.5z" />
<glyph unicode="&#xe604;" glyph-name="love" d="M887 653q-19 24-31 33l-8 8q-53 51-126 51-103 0-211-106-107 106-210 106-74 0-126-51l-5-4-3-4q-12-9-31-33-74-93-60-191 7-48 33.5-98.5t61.5-92 80-82.5 84-70 77.5-54.5 57.5-36.5 28-15l13-7 14 7q8 4 27 15t58 36.5 78 54.5 84 70 80 82.5 61.5 92 33.5 98.5q14 98-60 191zM893 470q-7-52-43.5-109t-81.5-101-100-86.5-91.5-66-65.5-38.5q-28 15-64.5 38.5t-92 66-100 86.5-81 101-43.5 109q-13 92 75 176 4 5 11.5 12.5t32 20 52.5 12.5q87 0 189-111l21-23 22 23q102 111 189 111 27 0 52-12.5t32.5-20 11.5-12.5q88-84 75-176z" />
... ... @@ -41,4 +40,5 @@
<glyph unicode="&#xe90d;" glyph-name="like" horiz-adv-x="999" d="M957.265 520.242c-23.127 27.298-57.094 42.958-93.184 42.958h-228.202l31.944 63.888c28.647 58.618 25.225 126.501-9.191 181.623-34.117 54.647-93.259 87.29-158.245 87.29h-13.836l-246.434-394.29v13.961h-240.116v-620.469h797.521c60.541 0 110.917 42.933 119.783 101.975l66.485 427.582c5.694 34.092-3.971 68.858-26.524 95.482v0zM97.48 418.167h45.131v-425.46h-45.131v425.46zM240.116 465.72h93.534l201.578 325.807c17.508-7.168 30.22-18.507 37.913-33.892l1.324-2.348c16.809-26.124 18.232-59.242 3.422-87.040l-50.226-100.502-47.379-102.025h383.8c7.543 0 11.913-1.973 16.134-7.268l1.873-2.073c1.973-1.998 4.321-6.818 4.546-18.532l-66.060-424.81c-2.473-12.363-11.514-20.33-23.052-20.33h-557.406v473.013z" />
<glyph unicode="&#xe90e;" glyph-name="read" horiz-adv-x="1650" d="M837.803 737.621c280.121 0 524.857-150.983 657.636-375.922-132.779-224.939-377.515-375.922-657.636-375.922s-524.857 150.983-657.636 375.922c132.779 224.939 377.515 375.922 657.636 375.922zM837.803 851.399c-308.85 0-598.414-165.49-755.655-431.844l-34.133-57.856 34.133-57.799c157.241-266.411 446.805-431.9 755.655-431.9 308.793 0 598.357 165.49 755.598 431.9l34.133 57.799-34.133 57.856c-157.241 266.354-446.805 431.844-755.598 431.844zM837.803 144.384c-120.775 0-219.022 98.247-219.022 219.022s98.247 219.022 219.022 219.022c120.775 0 219.022-98.247 219.022-219.022s-98.247-219.022-219.022-219.022v0zM837.803 468.651c-58.084 0-105.244-47.218-105.244-105.244s47.161-105.244 105.244-105.244c58.027 0 105.244 47.218 105.244 105.244s-47.218 105.244-105.244 105.244v0z" />
<glyph unicode="&#xe90f;" glyph-name="back" horiz-adv-x="595" d="M510.071-122.475l-510.071 508.476 510.023 510 67.346-67.346-442.559-442.559 442.511-441.106-67.251-67.465z" />
<glyph unicode="&#xe910;" glyph-name="bag" horiz-adv-x="857" d="M95.256-28.767v571.535h666.791v-571.535h-666.791zM271.598 643.667c0 86.611 70.442 157.077 157.053 157.077s157.077-70.465 157.077-157.077v-5.644h-314.13v5.644zM680.984 638.023v5.644c0 139.145-113.212 252.333-252.333 252.333s-252.309-113.188-252.309-252.333v-5.644h-176.342v-762.047h857.302v762.047h-176.319z" />
</font></defs></svg>
\ No newline at end of file
... ...
No preview for this file type
No preview for this file type
... ... @@ -65,7 +65,7 @@ const applySuccuss = function(type, applyId) {
const modal = new Modal({
styleClass: 'return-success-modal',
text: `${kind.name}申请已提交,请等待审核.....`,
title: `${kind.name}申请已提交,请等待审核.....`,
buttons: [{
text: '返回订单',
handler: function() {
... ...
... ... @@ -17,7 +17,7 @@ html,
body {
width: 100%;
font-size: 24px;
font-family: Helvetica, Roboto, "Heiti SC", "黑体", Arial;
font-family: "PingFang SC", Helvetica, Roboto, "Heiti SC", "黑体", Arial;
line-height: 1.4;
}
... ...
/* BrownStd standard */
@font-face {
font-family: "BrownStd";
src: resolve("brownstd/BrownStd-Regular.eot"); /* IE9 */
src: resolve("brownstd/BrownStd-Regular.eot?#iefix") format("embedded-opentype"), resolve("brownstd/BrownStd-Regular.woff") format("woff"), resolve("brownstd/BrownStd-Regular.ttf") format("truetype"), resolve("brownstd/BrownStd-Regular.svg#iconfont") format("svg"); /* iOS 4.1- */
}
/* BrownStd-Bold */
@font-face {
font-family: "BrownStd-Bold";
src: resolve("brownstd/BrownStd-Bold.eot"); /* IE9 */
src: resolve("brownstd/BrownStd-Bold.eot?#iefix") format("embedded-opentype"), resolve("brownstd/BrownStd-Bold.woff") format("woff"), resolve("brownstd/BrownStd-Bold.ttf") format("truetype"), resolve("brownstd/BrownStd-Bold.svg#iconfont") format("svg"); /* iOS 4.1- */
}
.brown-bold {
font-family: "BrownStd-Bold" !important;
}
/* BrownStd-Italic */
@font-face {
font-family: "BrownStd-Italic";
src: resolve("brownstd/BrownStd-Italic.eot"); /* IE9 */
src: resolve("brownstd/BrownStd-Italic.eot?#iefix") format("embedded-opentype"), resolve("brownstd/BrownStd-Italic.woff") format("woff"), resolve("brownstd/BrownStd-Italic.ttf") format("truetype"), resolve("brownstd/BrownStd-Italic.svg#iconfont") format("svg"); /* iOS 4.1- */
}
.brown-italic {
font-family: "BrownStd-Italic" !important;
}
/* BrownStd-Light */
@font-face {
font-family: "BrownStd-Light";
src: resolve("brownstd/BrownStd-Light.eot"); /* IE9 */
src: resolve("brownstd/BrownStd-Light.eot?#iefix") format("embedded-opentype"), resolve("brownstd/BrownStd-Light.woff") format("woff"), resolve("brownstd/BrownStd-Light.ttf") format("truetype"), resolve("brownstd/BrownStd-Light.svg#iconfont") format("svg"); /* iOS 4.1- */
}
.brown-light {
font-family: "BrownStd-Light" !important;
}
... ...
... ... @@ -26,7 +26,7 @@
}
.icon-bag:before {
content: "\e601";
content: "\e910";
}
.icon-down:before {
... ...
@import "reset";
@import "common";
@import "color";
@import "font";
@import "list";
@import "icon";
@import "tip";
... ...
... ... @@ -13,7 +13,7 @@
h2 {
font-size: 32px;
text-align: center;
margin-top: 50px;
margin-top: 80px;
margin-bottom: 0;
}
... ... @@ -40,9 +40,14 @@
height: 100%;
display: inline-block;
text-align: center;
color: $blue;
color: #4a90e2;
font-size: 30px;
line-height: 88px;
font-weight: bold;
}
a.modal-button:first-of-type {
color: #b0b0b0;
}
:not(:first-child) {
... ...
... ... @@ -22,7 +22,7 @@
}
.item-del {
margin-top: 10px;
margin-top: 20px;
border-top: 1px solid #e0e0e0;
color: #5c99e4;
}
... ...
... ... @@ -91,7 +91,7 @@
padding-left: 25px;
border-radius: 20px;
font-size: 26px;
color: #b0b0b0;
color: #444;
background: #eee;
border: none;
}
... ... @@ -99,11 +99,13 @@
input::-webkit-input-placeholder {
/* WebKit browsers */
text-align: center;
color: #b0b0b0;
}
input:-ms-input-placeholder {
/* Internet Explorer 10+ */
text-align: center;
color: #b0b0b0;
}
}
... ...
... ... @@ -33,14 +33,12 @@ body {
}
.order-code {
padding: 20px 30px;
padding: 22px 30px;
margin-bottom: 20px;
border-top: 1px solid #eee;
border-bottom: 1px solid #eee;
p:first-of-type {
font-size: 34px;
font-weight: 700;
font-weight: 600;
}
p:last-of-type {
... ... @@ -53,12 +51,11 @@ body {
position: relative;
padding: 20px 30px 27px;
margin-bottom: 20px;
border-top: 1px solid #eee;
word-wrap: break-word;
p:first-of-type {
font-size: 32px;
font-weight: 700;
font-weight: 600;
span {
margin-right: 40px;
... ... @@ -84,7 +81,6 @@ body {
.order-goods {
padding-top: 20px;
border-top: 1px solid #eee;
border-bottom: 1px solid #eee;
.goods-info {
... ... @@ -178,7 +174,7 @@ body {
}
.order-amount {
padding: 30px 20px;
padding: 26px 30px;
margin-bottom: 20px;
border-bottom: 1px solid #eee;
text-align: right;
... ... @@ -224,6 +220,7 @@ body {
text-align: right;
a {
display: inline-block;
padding: 0 20px;
height: 68px;
line-height: 68px;
... ... @@ -234,6 +231,7 @@ body {
background: $white;
font-size: 28px;
margin-right: 10px;
width: 192px;
}
button {
... ... @@ -260,7 +258,7 @@ body {
}
&.normal {
width: 188px;
width: 192px;
padding: 0;
border: 1px solid $black;
color: $black;
... ...
... ... @@ -13,7 +13,6 @@ $white: #fff;
.order-item {
background: $white;
margin-top: 20px;
border-top: 1px solid #eee;
border-bottom: 1px solid #eee;
&:first-child {
... ... @@ -157,6 +156,11 @@ $white: #fff;
border: 0 none;
background: $white;
font-size: 28px;
float: left;
&.leftpad {
padding-right: 42px;
}
}
button {
... ... @@ -169,6 +173,7 @@ $white: #fff;
border: 0 none;
background: $white;
font-size: 28px;
float: left;
&.black {
width: 192px;
... ... @@ -182,12 +187,16 @@ $white: #fff;
}
&.normal {
width: 188px;
width: 192px;
padding: 0;
border: 1px solid $black;
color: $black;
}
&.leftpad {
padding-right: 42px;
}
&:focus {
outline: none;
}
... ...
... ... @@ -7,7 +7,7 @@
</div>
</template>
<a class="item ellipsis" href="{{item.sortUrl}}">
{{item.sortNameEn}}{{item.sortName}}
{{(item.sortNameEn || '').trim()}}{{item.sortName}}
</a>
</template>
</div>
... ... @@ -63,10 +63,17 @@
position: relative;
display: block;
padding: 0 30px;
height: 126px;
line-height: 126px;
font-size: 30px;
height: 124px;
line-height: 124px;
font-size: 36px;
font-weight: bold;
font-family: "BrownStd-Bold", "PingFang SC", Helvetica, Roboto, "Heiti SC", "黑体", Arial;
&:first-child {
height: 142px;
line-height: 142px;
font-family: "PingFang SC", Helvetica, Roboto, "Heiti SC", "黑体", Arial;
}
&:after {
content: "";
... ... @@ -84,11 +91,18 @@
}
.sep {
margin-top: -1px;
width: 100%;
height: 22px;
height: 20px;
background: #f6f6f6;
border-top: 2PX solid #eee;
border-bottom: 2PX solid #eee;
border-top: 1px solid #eee;
border-bottom: 1px solid #eee;
& + .item {
height: 142px;
line-height: 142px;
font-family: "PingFang SC", Helvetica, Roboto, "Heiti SC", "黑体", Arial;
}
}
}
... ...
... ... @@ -81,7 +81,6 @@
list-style: none;
border: none;
margin-left: 18px;
margin-top: 30px;
margin-bottom: 0;
padding: 0;
max-width: 600px;
... ... @@ -92,11 +91,13 @@
}
section {
margin-top: 30px;
h4 {
margin: 0;
float: left;
margin-top: 20px;
font-size: 25px;
line-height: 80px;
line-height: 88px;
display: inline-block;
}
... ...
... ... @@ -31,8 +31,11 @@
let locationQuery = qs(decodeURIComponent(location.search.replace(/^\?/, '')));
let hasSort = !!locationQuery.sort;
// filter 字段 对应 的 查询 字段
const aliasMap = {
groupSort: 'sort'
groupSort: 'sort',
priceRange: 'price',
discount: 'p_d'
};
module.exports = {
... ... @@ -97,15 +100,12 @@
let filter = {};
$.each(this.selected, (type, item) => {
if (item.id) {
filter[type] = item.id;
}
filter[type] = item.id;
});
let query;
query = $.extend({}, locationQuery, filter);
query = $.param(query);
if (history.replaceState) {
history.replaceState({}, '', location.pathname + '?'+ query);
}
... ... @@ -218,6 +218,7 @@
.filter-cate-label {
font-size: 36px;
font-weight: bold;
font-family: "BrownStd-Bold", "PingFang SC", Helvetica, Roboto, "Heiti SC", "\9ED1\4F53", Arial;
}
.filter-cate-val {
... ...
... ... @@ -8,7 +8,7 @@
</a>
<!--暂时隐藏收藏入口,下个版本使用-->
<!--<a class="right-button no-intercept" href="javascript:void(0);" @click="favorite()">-->
<!--<span class="icon" :class="{ 'icon-love': !isFavorite, 'icon-love-solid': isFavorite}"></span>-->
<!--<span class="icon" :class="{ 'icon-focus': !isFavorite, 'icon-focused': isFavorite}"></span>-->
<!--</a>-->
<a class="right-button no-intercept" href="javascript:void(0);" @click="share()">
... ...
... ... @@ -15,7 +15,7 @@
<span class="title line-clamp-2">{{item.title}}</span>
<div class="fav-price">
<span class="new-price" v-if="item.discountPrice">{{item.discountPrice}}</span>
<!--<span class="{{ item.discountPrice ? 'price-underline' : ''}}">{{item.price}}</span>-->
<span class="{{ item.discountPrice ? 'price-underline' : ''}}">{{item.price}}</span>
</div>
<br/>
<div class="save-price">
... ...
... ... @@ -89,7 +89,7 @@
},
methods: {
reload() {
$('#address').off('click', this.addressClick)
$('#address').off('click', this.addressClick);
$('.auth').off('click', this.authClick);
$('.auth').removeClass('no-intercept');
... ... @@ -103,7 +103,7 @@
$('#address').on('click', this.addressClick);
} else {
this.data = {
nickName : '登录/注册'
nickName: '登录/注册'
};
$('.auth').addClass('no-intercept');
... ... @@ -120,7 +120,7 @@
const id = $(e.target).attr('id');
const href = $(e.target).attr('href');
yoho.goLogin(null, () => {
yoho.goLogin('', () => {
this.reload();
setTimeout(() => {
... ... @@ -147,7 +147,7 @@
window.addEventListener('scroll', () => {
let transparent = true;
if (window.scrollY > 20 ) {
if (window.scrollY > 20) {
transparent = false;
}
... ... @@ -216,7 +216,8 @@
height: 170px;
border-radius: 50%;
margin: 0 auto;
/*border: 3px solid #b0b0b0;*/
/* border: 3px solid #b0b0b0; */
background: resolve("me/user-icon.png");
background-size: 100%;
}
... ...
<template>
<div class="logistic-page yoho-page">
<div class="overview">
<div class="left" >
<a href="{{logisticDate.url}}">
<img class="icon" v-bind:src="logo | resize 88 88" />
</a>
</div>
<div class="right">
<div>
<span class='info'>物流公司:</span>
<span >{{logisticDate.caption}}</span>
</div>
<div>
<span class='info'>快递单号:</span>
<span>{{logisticDate.express_number}}</span>
<div class="logistic-page yoho-page">
<div class="overview">
<div class="left" >
<img class="logoicon" v-bind:src="logo | resize 90 90" />
</div>
</div>
</div><!--end overview-->
<div class="title">
<span>物流详情</span>
</div>
<div class="detail">
<div class="timeline-box" v-for="(index, detail) in logisticDate.express_detail">
<span class="timeline-node"></span>
<div class="timeline-info">
<div class="timeline-info-row">
{{detail.accept_address}}
<div class="right">
<div>
<span class='info'>物流公司:</span>
<span >{{logisticDate.caption}}</span>
</div>
<div class="timeline-info-row">
{{detail.acceptTime}}
<div>
<span class='info'>快递单号:</span>
<span>{{logisticDate.express_number}}</span>
</div>
</div>
</div><!--end overview-->
<div class="title">
<span>物流详情</span>
</div>
</div><!--end detail-->
</div><!--end logistic-page-->
<div class="detail">
<div class="timeline-box" v-for="(index, detail) in logisticDate.express_detail">
<span class="timeline-node"></span>
<div class="timeline-info">
<div class="timeline-info-row">
{{detail.accept_address}}
</div>
<div class="timeline-info-row time">
{{detail.acceptTime}}
</div>
</div>
</div>
</div><!--end detail-->
</div><!--end logistic-page-->
</template>
<style>
$logistic_gray: #f0f0f0;
$border_color_strong: #e5e5e5;
$border_color_light: #eee;
.logistic-page {
background-color: $logistic_gray;
.overview {
height: 120px;
height: 150px;
line-height: 120px;
width: 100%;
margin-bottom: 40px;
margin-bottom: 20px;
background-color: #fff;
color: #464646;
border-bottom: 1px solid $border_color_strong;
border-bottom: 1px solid $border_color_light;
.left {
width: 19%;
width: 150px;
float: left;
text-align: center;
height: 100%;
.icon {
width: 88px;
height: 88px;
.logoicon {
width: 90px;
height: 90px;
margin: 0 auto;
background-size: 100%;
background-repeat: no-repeat;
background-position: center;
margin-top: 16px;
margin-top: 30px;
}
}
.right {
width: 81%;
width: 600px;
height: 100%;
float: left;
padding-top: 20px;
padding-bottom: 20px;
height: 80px;
padding: 36px 0;
div {
height: 40px;
line-height: 44px;
color: #595959;
font-size: 24px;
}
}
.info {
padding-right: 4px;
color: #b0b0b0;
}
}
.title {
height: 112px;
line-height: 112px;
height: 88px;
line-height: 89px;
background-color: #fff;
padding-left: 40px;
font-size: 40px;
padding-left: 30px;
font-size: 34px;
}
.detail {
background-color: #fff;
padding-left: 80px;
padding-left: 42px;
margin-bottom: 40px;
}
.timeline-box {
border-left: 1px solid $border_color_strong;
border-left: 1px solid $border_color_light;
position: relative;
padding-left: 52px;
padding-left: 42px;
height: 116px;
}
.timeline-node {
... ... @@ -118,25 +111,31 @@ $border_color_light: #eee;
top: 32px;
left: -9.04444px;
display: inline-block;
width: 16.4px;
height: 16.4px;
background-color: $border_color_strong;
width: 16px;
height: 16px;
background-color: #b0b0b0;
border-radius: 100%;
}
.timeline-box:first-child {
.timeline-node {
background-color: #989898;
background-color: #000;
width: 22px;
height: 22px;
}
.timeline-info-row {
color: #606060;
color: #000;
}
.time {
color: #b0b0b0;
}
}
.timeline-info {
padding: 20px 0;
border-bottom: 1px solid $border_color_strong;
border-bottom: 1px solid $border_color_light;
}
.timeline-box:last-child {
... ... @@ -149,49 +148,45 @@ $border_color_light: #eee;
min-height: 40px;
line-height: 40px;
font-size: 28px;
color: #bababa;
color: #b0b0b0;
padding-right: 32px;
}
.time {
font-size: 24px;
}
}
</style>
<script>
const $ = require('jquery');
const qs = require('yoho-qs');
const tip = require('common/tip');
module.exports = {
props: [],
data() {
return {
logisticDate: [],
logo: ''
};
},
methods: {
getLogisticDate() {
let data = {
orderCode: qs.order_code || '',
type: qs.type || '',
id: qs.id || ''
};
$.ajax({
url: '/me/get-order-logistic-date',
data: data
}).then(result => {
this.logisticDate = result;
if (result && result.logo) {
this.logo = result.logo;
}
}).fail(() => {
tip('网络错误');
});
}
},
created() {
this.getLogisticDate();
const data = {
orderCode: qs.order_code || '',
type: qs.type || '',
id: qs.id || ''
};
$.ajax({
url: '/me/get-order-logistic-date',
data: data
}).then(result => {
this.logisticDate = result;
if (result && result.logo) {
this.logo = result.logo;
}
}).fail(() => {
tip('网络错误');
});
}
};
</script>
... ...
... ... @@ -34,11 +34,11 @@
<div class="options">
<button v-if="order.isCancel === 'Y'" @click="deleteOrder(order,index)" class="normal">删除订单</button>
<template v-else>
<button v-if="order.status == 0" @click="cancelOrder(order.orderCode)">取消订单</button>
<button v-if="order.status == 0" @click="cancelOrder(order.orderCode)" class="leftpad">取消订单</button>
<button v-if="order.status == 0 " class="countdown" @click="goBuy(order)">去支付
<span v-count-down v-bind:left-time="order.payLefttime" v-bind:callback="autoCancel(order.orderCode)"></span>
</button>
<a v-if="order.status == 4 || order.status == 5 "
<a v-if="order.status == 4 || order.status == 5 " class="leftpad"
href="/me/logistic?order_code={{order.orderCode}}">查看物流</a>
<button v-if="order.status == 4 || order.status == 5 " class="black" @click="confirmGoods(order.orderCode)">确认收货</button>
<button v-if="order.status == 6" @click="deleteOrder(order,index)" class="normal">删除订单</button>
... ...
... ... @@ -168,8 +168,8 @@
</span>
</button>
<button class="button control-button" @click="toggleFavorite()">
<span v-if="entity.isCollect === 'Y' " class="icon icon-love-solid"></span>
<span v-else class="icon icon-love"></span>
<span v-if="entity.isCollect === 'Y' " class="icon icon-focused"></span>
<span v-else class="icon icon-focus"></span>
</button>
<button class="button button-solid add-to-cart"
@click="showAddToCart()"
... ... @@ -223,6 +223,10 @@
line-height: $lh;
color: #b0b0b0;
}
.icon-right {
margin-left: 30px;
}
}
.product-detail-desc {
... ... @@ -266,7 +270,6 @@
i.price {
color: #b0b0b0;
font-size: 32px;
font-weight: lighter;
font-style: normal;
&.strike-through {
... ... @@ -288,7 +291,7 @@
.control-button {
min-width: 100px;
border: none;
border-top: 1px solid #ccc;
border-top: 1px solid #eee;
width: 187.5px;
float: left;
display: block;
... ... @@ -299,7 +302,7 @@
}
.control-button:first-child {
border-right: 1px solid #ccc;
border-right: 1px solid #eee;
}
.button-solid {
... ...
... ... @@ -79,7 +79,7 @@
return $.get(this.url, Object.assign({
order: this.order,
page: nextPage
}, this.filter, locationQuery))
}, locationQuery, this.filter))
.done(res => {
if (res.data) {
self.page = res.data.page;
... ...
... ... @@ -72,7 +72,7 @@
this.inSearching = true;
return $.get(this.url, Object.assign({
page: nextPage
}, this.filter, locationQuery))
}, locationQuery, this.filter))
.done(res => {
if (res.code === 200) {
self.page = res.data.page;
... ...
... ... @@ -123,7 +123,7 @@
this.inSearching = true;
$.get(this.url, Object.assign({
page: nextPage
}, this.filter, locationQuery)).done(result => {
}, locationQuery, this.filter)).done(result => {
if (result.code === 200) {
self.page = result.data.page;
self.totalPage = result.data.pageTotal;
... ...