Authored by 姜敏

Merge branch 'release/1.0' of http://git.yoho.cn/fe/yoho-blk into release/1.0

... ... @@ -58,7 +58,7 @@ const getOrderList = (req, res) => {
page: 'order',
isMe: true,
orderList: result.order.orderList,
orderData: result.order
orderData: result.order.orderData
});
});
};
... ...
... ... @@ -143,7 +143,7 @@ const exchangeDeatail = (req, res) => {
navigation: mcHandler.getSideMenu('我的退/换货'),
banner: 'http://placehold.it/{width}x{height}',
returns: {
title: '换货详情',
title: '换货申请',
exchange: result.exchangeDetail
}
}
... ...
... ... @@ -39,12 +39,12 @@ const btnMap = {
classStr: 'btn red pay-btn mr'
},
{
name: '修改订单',
classStr: 'btn white edit-btn mr'
},
{
name: '取消订单',
classStr: 'btn white cancel-btn'
},
{
name: '修改订单',
classStr: 'btn white edit-btn mr'
}
],
cancel: [
... ... @@ -466,7 +466,7 @@ const getOrderData = (uid, type, page) => {
} : false;
return {
order: Object.assign(order, paginationOpts, empty)
order: Object.assign(order, paginationOpts, {orderData: empty})
};
});
};
... ... @@ -524,6 +524,8 @@ const getOrderDetail = (uid, code) => {
detail.paymentTypeStr = paymentTypeStr[detail.paymentType];
detail.address = detail.area + detail.address;
detail.expressInfo = express;
detail.expressInfo.addressList = _convertAddress(express.expressDetail, detail.createTime);
... ...
... ... @@ -564,9 +564,12 @@ const getChangeGoodsList = (orderCode, uid) => {
if (data.goodsList) {
data.goodsList.forEach(good => {
let cnAlphabet = good.cnAlphabet ? good.cnAlphabet : '';
good.showCheckbox = true;
good.hidePrice = true;
good.buyNumber = 1;
good.goodUrl = helpers.urlFormat(`/product/pro_${good.productId}_${good.goodsId}/${cnAlphabet}.html`); //eslint-disable-line
});
}
}
... ... @@ -586,7 +589,7 @@ const getChangeGoodsList = (orderCode, uid) => {
*/
const _setExchangeDetailData = (data) => {
data = camelCase(data);
console.log(data);
let list = {};
switch (data.status) {
... ... @@ -627,7 +630,7 @@ const _setExchangeDetailData = (data) => {
}
break;
case 20:
case 20:
if (data.deliveryTpyeName === '寄回换货') {
Object.assign(list, {
... ... @@ -640,19 +643,22 @@ const _setExchangeDetailData = (data) => {
if (data.deliveryTpyeName === '寄回换货') {
list.takeGoods = true;
list.auditSuccess = true;
list.view = `//www.yohobuy.com/me/order/detail?code=${data.orderCode}`;
}
break;
case 50:
Object.assign(list, {
send: true,
doubt: true,
auditSuccess: true
auditSuccess: true,
view: `//www.yohobuy.com/me/order/detail?code=${data.orderCode}`
});
break;
case 40:
Object.assign(list, {
finish: true,
auditSuccess: true
auditSuccess: true,
view: `//www.yohobuy.com/me/order/detail?code=${data.orderCode}`
});
break;
case 91:
... ... @@ -661,7 +667,7 @@ const _setExchangeDetailData = (data) => {
default:
break;
}
console.log(list);
return list;
};
... ...
... ... @@ -85,7 +85,7 @@
{{!-- 在线客服和返回顶部 --}}
<div class="service-top">
<a class="service" href="http://chat8.live800.com/live800/chatClient/chatbox.jsp?companyID=620092&configID=149091&jid=8732423409" target="_blank">
<a class="service" href="http://chat8.live800.com/live800/chatClient/chatbox.jsp?companyID=703953&configID=149819&jid=1099911094" target="_blank">
<span class="iconfont">&#xe61c;</span>
<span class="hover-text hide">在线<br>客服</span>
</a>
... ...
... ... @@ -30,7 +30,7 @@
<div class="way">
{{#if takeGoods}}
<p class="contact">我们会尽快将您的商品发出,请耐心等待,如有疑问,请联系<a href="http://chat8.live800.com/live800/chatClient/chatbox.jsp?companyID=620092&configID=149091&jid=8732423409"><span class="iconfont">&#xe61c;</span>在线客服</p></a>
<p class="contact">我们会尽快将您的商品发出,请耐心等待,如有疑问,请联系<a href="http://chat8.live800.com/live800/chatClient/chatbox.jsp?companyID=703953&configID=149819&jid=1099911094"><span class="iconfont">&#xe61c;</span></a>在线客服</p>
{{/if}}
{{#if reminder}}
... ... @@ -50,12 +50,12 @@
{{/if}}
{{#if doubt}}
<p class="contact">如有疑问,请联系<span class="iconfont">&#xe61c;</span>在线客服</p>
<p class="contact">如有疑问,请联系<a href="http://chat8.live800.com/live800/chatClient/chatbox.jsp?companyID=620092&configID=149091&jid=8732423409"><span class="iconfont">&#xe61c;</span></a>在线客服</p>
{{/if}}
{{#if auditSuccess}}
<div class="order">
<span class="check">查看</span>
<a href="{{view}}" target="_blank"><span class="check">查看</span></a>
<span class="exchange-order">换货订单</span>
</div>
{{/if}}
... ... @@ -75,11 +75,12 @@
<div class="edit-content{{#if expressNumber}} hide{{/if}}"{{# expressList}} data-{{id}}="{{name}}"{{/ expressList}}>
<h4 class="third-title">填写物流</h4>
<p>请您在<span class="blue">天内</span>将商品寄回并填写物流,逾期将自动取消申请</p>
<p>请您在<span class="blue">7天内</span>将商品寄回并填写物流,逾期将自动取消申请</p>
<dl class="express-wrap">
<dd>
物流公司:
<select class="express-company">
<option value="0">选择快递公司</option>
{{# expressList}}
<option value="{{id}}">{{name}}</option>
{{/ expressList}}
... ... @@ -87,7 +88,7 @@
</dd>
<dd>
快递单号:
<input type="text" class="express-code" value="{{number}}">
<input type="text" class="express-code" placeholder="填写快递单号" value="{{number}}">
</dd>
<dd>
<span class="submit-express btn">提交</span>
... ... @@ -147,10 +148,10 @@
<p>×{{num}}</p>
</div>
</div>
<div class="common-column special-border">
<div class="common special-border">
<p class="reason">{{reasonName}}</p>
</div>
<div class="common-column special-border operation">
<div class="common special-border operation">
<p class="subtext">color: {{newColorName}}<br>size: {{newSizeName}}</p>
</div>
</div>
... ...
{{# refundDetail}}
<div class="refund-datail-wrap" data-id="{{id}}">
<a href="/help?id=43" class="refund-notice">退货须知</a>
{{> returns/returns-status}}
{{# orderReview}}
... ... @@ -36,7 +37,7 @@
</p>
<p>
我们会在入库后的1-3个工作日内处理您的退款,如有疑问,请联系
<a href="http://chat8.live800.com/live800/chatClient/chatbox.jsp?companyID=620092&configID=149091&jid=8732423409" class="online-service" target="_blank">
<a href="http://chat8.live800.com/live800/chatClient/chatbox.jsp?companyID=703953&configID=149819&jid=1099911094" class="online-service" target="_blank">
<span class="iconfont blue">&#xe61c;</span>
<span class="blue">在线客服</span>
</a>
... ...
... ... @@ -84,5 +84,5 @@
{{/address}}
{{/returnsChange}}
<span class="btn confirm right">提交申请</span>
<span class="btn confirm right disable">提交申请</span>
</div>
... ...
... ... @@ -15,12 +15,18 @@ const helper = global.yoho.helpers;
// 结算页面
const index = (req, res, next) => {
orderModel.index(req.user.uid).then(result => {
let data = result.data;
// 设置头部路径索引focus
result.data.bcNavFocus = 2;
data.bcNavFocus = 2;
// 构造诡异的配送方式数据【显示普通快递的文字,确用顺丰发货和顺丰的快递费】
data.delivery_way = _.concat(_.assign(_.find(data.delivery_way, {delivery_way_id: 2}), {
delivery_way_name: '普通快递'
}));
// 发票抬头
result.data.invoices.invoiceTitle = [
data.invoices.invoiceTitle = [
{
name: '个人',
value: 1,
... ... @@ -33,17 +39,17 @@ const index = (req, res, next) => {
];
// 返回购物车链接
result.data.goCartLink = helper.urlFormat('/shopping/cart');
data.goCartLink = helper.urlFormat('/shopping/cart');
// 拆单是否显示左右切换
_.forEach(result.data.shopping_cart_data.package_list, i => {
_.forEach(data.shopping_cart_data.package_list, i => {
if (i.goods_list.length > 4) {
i.showToggle = true;
}
});
// 是否打印价格radio
result.data.printPriceRadio = [
data.printPriceRadio = [
{
value: '1',
name: '是'
... ... @@ -56,7 +62,7 @@ const index = (req, res, next) => {
];
res.display('order', {
content: result.data,
content: data,
defaultHeader: false
});
}).catch(next);
... ...
... ... @@ -26,7 +26,7 @@ const Alipay = {
_input_charset: 'utf-8',
notify_url: config.pay.serviceNotify + 'payment/alipay_notify',
return_url: 'http:' + helpers.urlFormat('/shopping/pay/callback/alipay'),
subject: '有货订单号:' + order.orderId,
subject: '有货订单号:' + order.orderCode,
out_trade_no: order.orderCode,
it_b_pay: common.getPayExpireMin(order.payExpire) + 'm',
total_fee: order.paymentAmount,
... ...
... ... @@ -294,12 +294,13 @@ const filterCartData = (result, uid) => {
});
}
// _.groupBy(_.concat(advancedGoods, advancedSoldOutGoods), 'brand_id')
return _.merge(resData, {
hasGoods: advancedGoods.length || ordinaryGoods.length || invalidGoods.length,
preSalePros: (advancedSoldOutGoods.length || advancedGoods.length) ?
_.groupBy(_.concat(advancedGoods, advancedSoldOutGoods), 'brand_id') : [],
_.concat(advancedGoods, advancedSoldOutGoods) : [],
commonPros: (ordinarySoldOutGoods.length || ordinaryGoods.length) ?
_.groupBy(_.concat(ordinaryGoods, ordinarySoldOutGoods), 'brand_id') : [],
_.concat(ordinaryGoods, ordinarySoldOutGoods) : [],
invalidPros: invalidGoods,
selectedNum: selectedAdvanceNum + selectedOrdinaryNum,
checkAll: totalNum === (selectedAdvanceNum + selectedOrdinaryNum),
... ...
... ... @@ -105,7 +105,7 @@ const _computeApi = (uid, deliveryWay, paymentType, yohoCoin) => api.get('', {
*/
const compute = (uid, yohoCoin) => {
// 目前仅支持普通快递和在线支付
let deliveryWay = 1;
let deliveryWay = 2;
let paymentType = 1;
let coin;
... ...
... ... @@ -32,9 +32,11 @@
<div class="dispatch-type order-block">
<p class="title">配送方式</p>
<ul class="content">
<li class="chose-row clearfix focus">
<span class="chose-block">普通快递:运费¥10.00</span>
</li>
{{#each delivery_way}}
<li class="chose-row clearfix{{#if @first}} focus{{/if}}" data-id="{{delivery_way_id}}">
<span class="chose-block">{{delivery_way_name}}:运费¥{{round delivery_way_cost 2}}</span>
</li>
{{/each}}
</ul>
</div>
<div class="order-info order-block">
... ... @@ -173,7 +175,9 @@
{{# shopping_cart_data}}
<div class="balance-info left">
<p>
收货信息:<em id="receiver"></em>
{{#with ../delivery_address}}
收货信息:<em id="receiver">{{consignee}} {{mobile}} {{area}} {{address}}</em>
{{/with}}
<span class="right">{{selected_goods_count}}件商品</span>
</p>
<p>
... ...
... ... @@ -18,10 +18,10 @@
<div class="tip-info">
<p class="title">温馨提示:</p>
<p>
1.每天15:00以前成功支付的订单将在当天发货,12:00-00:00成功付款的订单将在第二天发货。
1.每天15:00以前成功支付的订单将在当天发货,15:00-00:00成功付款的订单将在第二天发货。
2.当订单发货后,您可以登录<a class="blue" href="/me/order">订单中心</a>查询快递发货详情。
3.YOHO!BUY有货支持“开箱验货”和“15天退换货保障”收货后请当面验货,如果发现商品有任何问题请致电客服电话400-889-9646,
<a class="blue" href="">“退换货政策”</a>请点击查看。<em class="blue">4.尊敬的用户:近期为网络诈骗高发期,YOHO!BUY有货郑重声明,不会以任何形式索取客户的账户信息或引导转账,敬请提高警惕,谨防诈骗</em>
3.YOHO!BLK有货支持“开箱验货”和“15天退换货保障”收货后请当面验货,如果发现商品有任何问题请致电客服电话400-889-9646,
<a class="blue" href="">“退换货政策”</a>请点击查看。<em class="blue">4.尊敬的用户:近期为网络诈骗高发期,YOHO!BLK有货郑重声明,不会以任何形式索取客户的账户信息或引导转账,敬请提高警惕,谨防诈骗</em>
</p>
</div>
{{/ content}}
... ...
... ... @@ -7,7 +7,7 @@
<div class="pro-list">
{{#each preSalePros}}
<div class="pros-group">
{{# each this}}
{{!-- {{# each this}} --}}
<ul>
<li class="chk" data-product_info='{"goods_type": "advance", "buy_number": {{buy_number}}, "selected": "{{selected}}", "product_sku": "{{product_sku}}", "promotion_id": 0}'>
<label class="toggle-chk-item {{#isEqual selected 'Y'}}chk-group{{/isEqual}}">
... ... @@ -24,7 +24,7 @@
<li class="pro-info">
{{!-- <div class="brand-name">{{brand_name}}</div> --}}
<div class="pro-name"><a href="/product/pro_{{product_id}}_{{goods_id}}/{{cn_alphabet}}.html" target="_blank">{{product_name}}</a></div>
<div class="color-size editable" data-productId={{product_id}} id="edit_{{product_id}}" data-productSkn={{product_skn}}>
<div class="color-size editable" data-productId="{{product_id}}" id="edit_{{product_id}}" data-productSkn="{{product_skn}}">
{{#if color_name}}
<span class="mr20">颜色: <span class="default-color">{{color_name}}</span></span>
{{/if}}
... ... @@ -49,7 +49,7 @@
</div>
</li>
</ul>
{{/each}}
{{!-- {{/each}} --}}
</div>
{{/each}}
</div>
... ... @@ -64,7 +64,7 @@
<div class="pro-list">
{{#each commonPros}}
<div class="pros-group">
{{# each this}}
{{!-- {{# each this}} --}}
<ul>
<li class="chk" data-product_info='{"goods_type": "ordinary", "buy_number": {{buy_number}}, "selected": "{{selected}}", "product_sku": "{{product_sku}}", "promotion_id": 0}'>
<label class="toggle-chk-item {{#isEqual selected 'Y'}}chk-group{{/isEqual}}">
... ... @@ -81,7 +81,7 @@
<li class="pro-info">
{{!-- <div class="brand-name">{{brandName}}</div> --}}
<div class="pro-name"><a href="/product/pro_{{product_id}}_{{goods_id}}/{{cn_alphabet}}.html" target="_blank">{{product_name}}</a></div>
<div class="color-size editable" data-productId={{product_id}} id="edit_{{product_id}}" data-productSkn={{product_skn}}>
<div class="color-size editable" data-productId="{{product_id}}" id="edit_{{product_id}}" data-productSkn="{{product_skn}}">
{{#if color_name}}
<span class="mr20">颜色: <span class="default-color">{{color_name}}</span></span>
{{/if}}
... ... @@ -103,7 +103,7 @@
</div>
</li>
</ul>
{{/each}}
{{!-- {{/each}} --}}
</div>
{{/each}}
</div>
... ...
... ... @@ -14,15 +14,16 @@ module.exports = {
appVersion: '4.6.0', // 调用api接口版本
port: 6003,
siteUrl: '//www.yohobuy.com',
signExtend: {
app_type: 1
},
subDomains: {
default: '//www.yohobuy.com'
},
cookieDomain: 'yohobuy.com',
domains: {
api: 'http://testapi.yoho.cn:28078/', // devapi.yoho.cn:58078 testapi.yoho.cn:28078 devapi.yoho.cn:58078
api: 'http://devapi.yoho.cn:58078/', // devapi.yoho.cn:58078 testapi.yoho.cn:28078 devapi.yoho.cn:58078
service: 'http://devservice.yoho.cn:58077/', // testservice.yoho.cn:28077 devservice.yoho.cn:58077
// api: 'http://api.yoho.cn/',
// service: 'http://service.yoho.cn/',
search: 'http://192.168.102.216:8080/yohosearch/'
},
useOneapm: false,
... ... @@ -48,8 +49,9 @@ module.exports = {
handleExceptions: true
},
udp: { // send by udp
measurement: 'yohoblk_pc_log',
level: 'debug', // logger level
host: 'influxdblog.yohoops.org', // influxdb host
host: '54.222.219.223', // influxdb host
port: '4444' // influxdb port
},
console: {
... ...
... ... @@ -3,7 +3,7 @@
const _ = require('lodash');
const cookie = global.yoho.cookie;
const cache = global.yoho.cache;
const loginService = require('../../apps/passport/models/login-service');
const LoginService = require('../../apps/passport/models/login-service');
/**
* 已登录用户的信息,包括记住我功能。
... ... @@ -41,13 +41,13 @@ module.exports = () => {
let password = data.password;
let area = data.area;
return loginService.signin(area, account, password);
return LoginService.signin(area, account, password);
}).then(result => {
if (result.code !== 200) {
return Promise.reject(new Error(result.message));
}
return loginService.syncUserSession(result.data.uid, req, res);
return LoginService.syncUserSession(result.data.uid, req, res);
}).then(()=> {
return res.redirect(req.getUrl());
}).catch(next);
... ...
... ... @@ -279,6 +279,12 @@ function bindCheckboxEvent() {
$box.removeClass('will-change');
$box.find('.form').addClass('hide');
}
if ($('.will-change').length) {
$('.btn.disable').removeClass('disable');
} else {
$('.btn.confirm').addClass('disable');
}
}
});
}
... ... @@ -333,6 +339,10 @@ function bindConfirmEvent() {
var $imgs;
var imgs = [];
if ($(this).hasClass('disable')) {
return false;
}
if (!validateData()) {
return false;
}
... ...
... ... @@ -193,8 +193,6 @@ var Cart = {
var dialog;
if (products.length) {
// Cart.showRemovedProducts(products, extraInfos);
dialog = new _confirm({
content: '您确定要从购物车中删除该商品吗?',
cb: function() {
... ... @@ -269,10 +267,6 @@ var Cart = {
}
// 刷新
// template = hbs.compile($('#removed-products').html());
// $('#removed_products').html(template({
// removedProducts: removedProsInfo
// }));
$('#removed_products').html(removedGoodsTpl({
removedProducts: removedProsInfo
}));
... ... @@ -341,7 +335,6 @@ var Cart = {
* @params { Function } setEditable 编辑商品回调
*/
editColorOrSize: function(productId, skn, defaultColor, defaultSize, setEditable) {
// var template;
var index = 0;
var colors;
var colorsLen;
... ... @@ -391,31 +384,6 @@ var Cart = {
}
}
// helpers start
// hbs.registerHelper('isEqual', function(v1, v2, options) {
// if (v1 === v2) {
// return options.fn(this);
// }
// return options.inverse(this);
// });
// hbs.registerHelper('image', function(url, width, height, mode) {
// mode = parseInt(mode, 10) ? mode : 2;
// url = url || '';
// return url.replace(/{width}/g, width).replace(/{height}/g, height).replace(/{mode}/g, mode);
// });
// helpers end
// template = hbs.compile($('#edit-color-size-tpl').html());
// editTarget.append(
// template({
// colors: filterSet,
// defaultColor: defaultColor,
// defaultSize: defaultSize,
// defaultImg: defaultImg
// })
// );
editTarget.append(editTpl({
colors: filterSet,
defaultColor: defaultColor,
... ...
... ... @@ -451,9 +451,6 @@ $.ajax({
}
dotYou($('.address'));
// 填收货人信息
receiver(data.data[0]);
}
}
});
... ...
... ... @@ -160,13 +160,13 @@
}
.info {
width: 507px;
width: 380px;
text-align: left;
}
.st,
.op {
width: 200px;
width: 260px;
}
}
}
... ... @@ -175,14 +175,16 @@
display: table;
font-size: 14px;
border: 1px solid #f1f1f1;
width: 100%;
}
.goods-info {
width: 516px;
width: 400px;
display: inline-block;
box-sizing: border-box;
border-top: none;
font-weight: normal;
margin: 0;
img {
width: 70px;
... ... @@ -193,7 +195,7 @@
}
.info {
width: 400px;
width: 290px;
padding: 30px 8px 0 0;
float: right;
box-sizing: border-box;
... ... @@ -207,8 +209,8 @@
}
}
.common-column {
width: 208px;
.common {
width: 270px;
display: table-cell;
text-align: center;
vertical-align: top;
... ...
... ... @@ -23,6 +23,13 @@
color: #fff;
}
.good-name-text {
display: -webkit-box;
overflow: hidden;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}
.good-name-text:hover,
.check-detail:hover {
text-decoration: underline;
... ... @@ -128,7 +135,7 @@
.detail {
width: calc($bigWidth - $goodImgWidth - $space);
padding: $bigSpace $smallSpace 0 0;
padding: $bigSpace 5px 0 0;
float: right;
box-sizing: border-box;
line-height: 1.4;
... ...
... ... @@ -21,6 +21,15 @@
}
}
.btn {
&.confirm {
width: 130px;
height: 40px;
line-height: 40px;
font-size: 16px;
}
}
.goods-container {
width: 990px;
}
... ...
.refund-datail-wrap {
font-size: 14px;
position: relative;
.refund-notice {
width: 70px;
height: 24px;
line-height: 26px;
text-align: center;
font-size: 12px;
border: 1px solid #eee;
display: block;
cursor: pointer;
position: absolute;
top: -64px;
right: 0;
}
.top-tip {
padding: 40px 0 20px;
... ...
... ... @@ -23,7 +23,7 @@
<div class="pro-list">
{{#each preSalePros}}
<div class="pros-group">
{{# each this}}
{{!-- {{# each this}} --}}
<ul>
<li class="chk" data-product_info='{"goods_type": "advance", "buy_number": {{buy_number}}, "selected": "{{selected}}", "product_sku": "{{product_sku}}", "promotion_id": 0}'>
<label class="toggle-chk-item {{#isEqual selected 'Y'}}chk-group{{/isEqual}}">
... ... @@ -40,12 +40,12 @@
<li class="pro-info">
{{!-- <div class="brand-name">{{brand_name}}</div> --}}
<div class="pro-name"><a href="/product/pro_{{product_id}}_{{goods_id}}/{{cn_alphabet}}.html" target="_blank">{{product_name}}</a></div>
<div class="color-size editable" data-product_id={{product_id}} id="edit_{{product_id}}">
<div class="color-size editable" data-productId="{{product_id}}" id="edit_{{product_id}}" data-productSkn="{{product_skn}}">
{{#if color_name}}
<span class="mr20">颜色: {{color_name}}</span>
<span class="mr20">颜色: <span class="default-color">{{color_name}}</span></span>
{{/if}}
{{#if size_name}}
<span>尺寸: {{size_name}}</span>
<span>尺寸: <span class="default-size">{{size_name}}</span></span>
{{/if}}
<span class="iconfont">&#xe63c;</span>
</div>
... ... @@ -78,7 +78,7 @@
</div>
</li>
</ul>
{{/each}}
{{!-- {{/each}} --}}
</div>
{{/each}}
</div>
... ... @@ -93,7 +93,7 @@
<div class="pro-list">
{{#each commonPros}}
<div class="pros-group">
{{# each this}}
{{!-- {{# each this}} --}}
<ul>
<li class="chk" data-product_info='{"goods_type": "ordinary", "buy_number": {{buy_number}}, "selected": "{{selected}}", "product_sku": "{{product_sku}}", "promotion_id": 0}'>
<label class="toggle-chk-item {{#isEqual selected 'Y'}}chk-group{{/isEqual}}">
... ... @@ -110,12 +110,12 @@
<li class="pro-info">
{{!-- <div class="brand-name">{{brandName}}</div> --}}
<div class="pro-name"><a href="/product/pro_{{product_id}}_{{goods_id}}/{{cn_alphabet}}.html" target="_blank">{{product_name}}</a></div>
<div class="color-size editable" data-product_id={{product_id}} id="edit_{{product_id}}">
<div class="color-size editable" data-productId="{{product_id}}" id="edit_{{product_id}}" data-productSkn="{{product_skn}}">
{{#if color_name}}
<span class="mr20">颜色: {{color_name}}</span>
<span class="mr20">颜色: <span class="default-color">{{color_name}}</span></span>
{{/if}}
{{#if size_name}}
<span>尺寸: {{size_name}}</span>
<span>尺寸: <span class="default-size">{{size_name}}</span></span>
{{/if}}
<span class="iconfont">&#xe63c;</span>
</div>
... ... @@ -145,7 +145,7 @@
</div>
</li>
</ul>
{{/each}}
{{!-- {{/each}} --}}
</div>
{{/each}}
</div>
... ...
... ... @@ -329,10 +329,7 @@ exports.processProduct = (productData, options) => {
}
result.is_soon_sold_out = (productData.is_soon_sold_out === 'Y');
result.url = helpers.urlFormat(`
/product/pro_${productData.product_id}_${productData.goods_list[0].goods_id}
/${productData.cn_alphabet}.html
`, null, 'list');
result.url = helpers.urlFormat(`/product/pro_${productData.product_id}_${productData.goods_list[0].goods_id}/${productData.cn_alphabet}.html`, null, 'list'); //eslint-disable-line
if (options.showTags) {
let tags = {};
... ...