Authored by zhangxiaoru

help

{{# classicBrands}}
<div class="brand-img-box {{#if right}}right{{/if}} {{#if bottomSpace}}mb10{{/if}}">
<a href="{{url}}" target="_blank">
{{# big}}
<img class="big-img" src="{{image src 565 340}}" alt="big-img">
<a href="{{url}}" target="_blank">
<img class="big-img" src="{{image src 565 340}}">
</a>
{{/ big}}
{{# small}}
<img class="small-img {{#if @first}}first{{/if}}" src="{{image src 281 285}}" alt="big-img">
{{/ small}}
<a href="{{url}}" target="_blank">
<img class="small-img {{#if @first}}first{{/if}}" src="{{image src 281 285}}">
</a>
{{/ small}}
</div>
{{/ classicBrands}}
... ...
... ... @@ -15,9 +15,11 @@
{{/each}}
</ul>
{{#banner}}
{{#if image}}
<a href="{{url}}">
<img class="banner-img" data-original="{{image banner 150 120}}">
</a>
{{/if}}
{{/banner}}
</div>
... ...
... ... @@ -26,7 +26,7 @@
<div class="brand-products slide-container">
{{#if noNewProduct}}
<p class="no-product-info">
暂无新品, 去<a href="/{{siteUrl}}/brand" target="_blank">名牌频道</a>看看吧
暂无新品, 去<a href="/product/shop/{{brandDomain}}{{#if shopId}}?shopId={{shopId}}{{/if}}" target="_blank">名牌频道</a>看看吧
</p>
{{^}}
<div class="slide-switch">
... ...
... ... @@ -103,8 +103,9 @@ const list = {
data.filter.groupSort = DataHelper.sortConvert(sortData.data.sort);
retData.filter = DataHelper.filterHandle(data.filter, q);
retData.filter.showPrice = data.total > 10;
retData.filter.showInfo = (retData.filter.style && retData.filter.style.length > 0)
|| (data.standard && data.standard.length > 0); //eslint-disable-line
// retData.filter.showInfo = (retData.filter.style && retData.filter.style.length > 0)
// || (data.standard && data.standard.length > 0); //eslint-disable-line
}
retData.navPath = {
... ...
... ... @@ -212,7 +212,7 @@ const setPathNav = (data, name, channel) => {
if (!_.isEmpty(sort)) {
navs.push({
link: helpers.urlFormat('/list', {
link: helpers.urlFormat('/product/list', {
msort: sort.sort_id,
gender: gender
}),
... ... @@ -223,7 +223,7 @@ const setPathNav = (data, name, channel) => {
// 二级分类
if (!_.isEmpty(sort.sub)) {
navs.push({
link: helpers.urlFormat('/list', {
link: helpers.urlFormat('/product/list', {
msort: sort.sort_id,
misort: sort.sub.sort_id,
gender: gender
... ... @@ -379,6 +379,11 @@ const setProductData = base => {
// 默认第一张图片
if (!_.has(resData, 'img')) {
resData.img = value.colorImage;
// 只有一张图时不显示左右切换箭头
if (thumbs.length < 2) {
resData.btnsHide = true;
}
}
// 商品尺码列表
... ...
... ... @@ -35,24 +35,24 @@ function _paramHanlde(obj) {
// obj.standard = JSON.stringify(standards);
// }
let _gender;
if (obj.yh_channel) {
switch (obj.yh_channel) {
case 'men':
_gender = '1,3';
break;
case 'women':
_gender = '2,3';
break;
default:
break;
}
}
// let _gender;
//
// if (obj.yh_channel) {
// switch (obj.yh_channel) {
// case 'men':
// _gender = '1,3';
// break;
// case 'women':
// _gender = '2,3';
// break;
// default:
// break;
// }
// }
if (obj.gender || _gender) {
obj.gender = obj.gender || _gender;
}
// if (obj.gender || _gender) {
// obj.gender = obj.gender || _gender;
// }
return obj;
}
... ...
... ... @@ -157,15 +157,16 @@ const ShopService = {
}
info.resources = resources;
info.menus = shopMenu(domain, resources.navigationBar);
} else {
}
if (info.brandId) {
let brandInfo = yield BrandService.getBrandInfo(info.brandId, uid);
info.name = brandInfo.brandName;
info.name = info.name || brandInfo.brandName;
// info.info = brandInfo.brandIntro;
info.btnName = '品牌介绍';
info.isFavorite = brandInfo.isFavorite === 'Y';
info.banner = info.brandBanner;
info.isFavorite = info.isFavorite || (brandInfo.isFavorite === 'Y');
info.banner = info.banner || info.brandBanner;
}
return info;
})();
... ...
... ... @@ -11,7 +11,7 @@
<div class="thumbs left clearfix">
<div class="thumb-show right">
<img id="main-thumb" src="{{image img 482 643}}" style="display: block;">
<div class="check-btns">
<div class="check-btns{{#if btnsHide}} hide{{/if}}">
<span class="iconfont pre-thumb">&#xe62c;</span>
<span class="iconfont next-thumb">&#xe629;</span>
</div>
... ... @@ -202,7 +202,7 @@
{{# basic}}
<li>
<label class="title">{{key}}<span></span></label>
: {{value}}
: <span class="info">{{value}}</span>
</li>
{{/ basic}}
</ul>
... ... @@ -211,7 +211,7 @@
{{# comfort}}
<li>
<label class="title">{{name}}<span></span></label>
: <span class="min-des">{{minDes}}</span>
: <span class="min-des info">{{minDes}}</span>
{{# blocks}}
<span class="comfort-block{{#if cur}} cur{{/if}}"></span>
{{/ blocks}}
... ...
... ... @@ -171,7 +171,7 @@
<div class="style-body nano">
<div class="nano-content">
{{#each style}}
<div class="input-radio" data-value="{{styleId}}">
<div class="input-radio {{#if checked}}default-check{{/if}}" data-value="{{styleId}}">
{{> icon/radio }}
<label>{{styleName}}</label>
</div>
... ...
... ... @@ -23,7 +23,7 @@ module.exports = {
},
cookieDomain: 'yohoblk.com',
domains: {
singleApi: 'http://192.168.102.31:8092/brower',
singleApi: 'http://192.168.102.31:8092/',
api: 'http://api-test1.yohops.com:9999/',
service: 'http://service-test1.yohops.com:9999/',
search: 'http://192.168.102.216:8080/yohosearch/'
... ... @@ -48,7 +48,8 @@ module.exports = {
name: 'error',
level: 'error',
filename: 'logs/error.log',
handleExceptions: true
handleExceptions: true,
maxFiles: 7
},
udp: { // send by udp
measurement: 'yohoblk_pc_log',
... ... @@ -110,7 +111,7 @@ if (isProduction) {
Object.assign(module.exports, {
appName: 'www.yohoblk.com for test',
domains: {
singleApi: process.env.TEST_SINGLEAPI || 'http://192.168.102.31:8092/brower',
singleApi: process.env.TEST_SINGLEAPI || 'http://192.168.102.31:8092/',
api: process.env.TEST_API || 'http://testapi.yoho.cn:28078/',
service: process.env.TEST_SERVICE || 'http://testservice.yoho.cn:28077/',
search: process.env.TEST_SEARCH || 'http://192.168.102.216:8080/yohosearch/'
... ...
... ... @@ -62,7 +62,7 @@ function changeThumb($dom) {
}
function chooseDefaultSize() {
var $item = $sizeList.not('.hide').children();
var $item = $sizeList.not('.hide').children().not('.disable');
if ($colorItem && $colorItem.length === 1 &&
$item && $item.length === 1) {
... ...
... ... @@ -342,6 +342,10 @@ var YohoListPage = {
$('.style-body .input-radio', this.rootDoc).check({
type: 'radio'
});
$('.style-body .input-radio.default-check', this.rootDoc).check({
type: 'radio',
checked: true
});
YohoListPage.mulitStyle = false;
$('.style-mulit-btn .btn').addClass('white');
},
... ... @@ -357,6 +361,7 @@ var YohoListPage = {
filterBrand: function(letter) {
$('.yoho-product-list .brand-list .input-radio').each(function() {
var first = $(this).data('word').toString(); // eslint-disable-line
var name = $(this).find('label').text().toLowerCase();
first = first.toLowerCase();
if (letter === '0-9') {
... ... @@ -366,7 +371,7 @@ var YohoListPage = {
$(this).show();
}
} else {
if (!letter || first === letter) {
if (!letter || first === letter || name.indexOf(letter) === 0) {
$(this).show();
} else {
$(this).hide();
... ... @@ -449,7 +454,7 @@ var YohoListPage = {
},
go: function(q) {
var qs = $.extend(common.queryString(), q);
var qs = $.extend(common.queryString(), q, {page: q.page || 1});
location.search = $.param(qs);
},
... ...
... ... @@ -289,6 +289,10 @@
padding-left: 100%;
}
}
.info {
margin-left: 4px;
}
}
.des-basic {
... ... @@ -315,6 +319,9 @@
height: 12px;
border: 1px solid #1d1d1d;
display: inline-block;
margin: 0 4px;
position: relative;
top: 1px;
}
.comfort-block.cur {
... ...
... ... @@ -385,13 +385,14 @@
}
.goods-img-list {
margin: 2px 10px;
margin: 2px 0 2px 10px;
float: left;
.goods-img-col {
display: inline-block;
vertical-align: top;
width: 60px;
margin-right: 10px;
}
img {
... ...
... ... @@ -125,6 +125,15 @@
padding: 5px;
margin-top: 8px;
}
.consignee {
display: block;
float: left;
max-width: 140px;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
}
.address-chosed {
... ...
... ... @@ -10,7 +10,7 @@
</p>
<p class="name-and-phone">
{{consignee}}
<em class="consignee">{{consignee}}</em>
<span class="phone bold">{{mobile}}</span>
</p>
... ...