Authored by yyq

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

... ... @@ -13,16 +13,16 @@ const brand = require('../models/brand');
* @param res
*/
const index = (req, res, next) => {
let channel = req.cookies._Channel || 'men';
let channel = req.cookies._Channel || '301';
let contentCode = '';
let name = '';
let link = '';
if (channel === 'women') {
if (channel === '302') {
contentCode = '527079e6c46d0f125eb46b835968971b';
name = 'WOMEN首页';
link = 'http://www.yohoblk.com/women';
} else if (channel === 'lifestyle') {
} else if (channel === '303') {
contentCode = '94b5ed607b6d565ffc29c2c04be121dc';
name = 'LIFT STYLE首页';
link = 'http://www.yohoblk.com/lifestyle';
... ...
... ... @@ -20,16 +20,16 @@ const index = (req, res, next) => {
let limit = req.query.limit || 20;
let appType = 1;
let udid = md5(req.ip);
let channel = req.cookies._Channel || 'women';
let channel = req.cookies._Channel || '301';
let gender = '';
let name = '';
let link = '';
if (channel === 'men') {
if (channel === '301') {
gender = '1,3';
name = 'MEN首页';
link = 'http://www.yohoblk.com';
} else if (channel === 'women') {
} else if (channel === '302') {
gender = '2,3';
name = 'WOMEN首页';
link = 'http://www.yohoblk.com/women';
... ... @@ -85,17 +85,17 @@ const list = (req, res) => {
let tag = req.query.query;
let authorId = req.query.authorId;
let udid = md5(req.ip);
let channel = req.cookies._Channel || 'men';
let channel = req.cookies._Channel || '301';
let gender = '';
let name = '';
let link = '';
let appType = 1;
if (channel === 'men') {
if (channel === '301') {
gender = '1,3';
name = 'MEN首页';
link = 'http://www.yohoblk.com';
} else if (channel === 'women') {
} else if (channel === '302') {
gender = '2,3';
name = 'WOMEN首页';
link = 'http://www.yohoblk.com/women';
... ... @@ -156,14 +156,14 @@ const detail = (req, res, next) => {
let appType = 1;
let uid = req.user.uid;
let udid = md5(req.ip);
let channel = req.cookies._Channel || 'men';
let channel = req.cookies._Channel || '301';
let name = '';
let link = '';
if (channel === 'men') {
if (channel === '301') {
name = 'MEN首页';
link = 'http://www.yohoblk.com';
} else if (channel === 'women') {
} else if (channel === '302') {
name = 'WOMEN首页';
link = 'http://www.yohoblk.com/women';
} else {
... ... @@ -171,7 +171,7 @@ const detail = (req, res, next) => {
link = 'http://www.yohoblk.com/lifestyle';
}
editorialModel.getDetailData(id, uid, udid, appType).then((result) => {
editorialModel.getDetailData(id, appType, uid, udid).then((result) => {
res.display('detail', {
module: 'editorial',
page: 'detail',
... ... @@ -200,11 +200,6 @@ const detail = (req, res, next) => {
userInfo: result.head,
comment: result.comment,
brands: result.brands,
// article: {
// nextChapter: '来来来,让我们好好聊聊',
// lastChapter: '除了黑白灰'
// },
nextArticle: result.nextArticle,
perArticle: result.perArticle,
share: {
... ... @@ -212,8 +207,6 @@ const detail = (req, res, next) => {
shareDesc: result.head.title,
weixinUrl: result.head.weixinUrl
}
},
helpers: {
// import component, path depends on your project
... ...
... ... @@ -344,10 +344,9 @@ const _processContentData = (list) => {
* @returns {*}
*/
const _getHeadData = (id, uid, udid, appType) => {
const _getHeadData = (id, appType, uid, udid) => {
let par = {
id: id,
udid: udid,
app_type: appType
};
... ... @@ -355,6 +354,10 @@ const _getHeadData = (id, uid, udid, appType) => {
par.uid = uid;
}
if (udid) {
par.udid = udid;
}
return serviceAPI.get('/guang/api/*/article/getArticleBaseInfo', par).then((result) => {
if (result && result.code === 200) {
return result.data;
... ... @@ -458,18 +461,20 @@ const _getArticlePre = (id, appType) => {
id: id,
app_type: appType
}).then((result) => {
console.log(result);
console.log(result.message);
if (result && result.code === 200) {
let perArticle = {};
// let id = result.data.articleIdPre;
perArticle.href = `${config.siteUrl}/editorial/${result.data.articleIdPre}.html`;
_getHeadData(result.data.articleIdPre, appType).then((list) => {
console.log(list);
perArticle.lastChapter = list.title;
}).then(() => {
console.log(perArticle);
return perArticle;
});
... ... @@ -491,7 +496,7 @@ const _getArticleNext = (id, appType) => {
id: id,
app_type: appType
}).then((result) => {
// console.log(result)
if (result && result.code === 200) {
let nextArticle = {};
... ... @@ -624,7 +629,7 @@ const shareData = () => {
*/
const getDetailData = (id, uid, udid, appType) => {
return co(function *() {
let result = yield Promise.all([_getHeadData(id, uid, udid, appType),
let result = yield Promise.all([_getHeadData(id, appType, uid, udid),
_getArticleData(id),
_getContentData(id),
_getCommentsData(id),
... ...
... ... @@ -18,9 +18,9 @@
<a class="author-name" href="{{authorUrl}}">{{name}}</a>
</div>
<div class="article-status">
<span class="article-time">{{time}}</span>
<span class="article-browse">浏览:{{click}}</span>
<span class="article-comments">评论:{{commentNum}}</span>
<span class="article-time font">{{time}}</span>
<span class="article-browse font">浏览:{{click}}</span>
<span class="article-comments font">评论:{{commentNum}}</span>
</div>
</div>
{{/ header}}
... ... @@ -37,7 +37,7 @@
{{# text}}
<div class="article-text block">
{{# data}}
<p>{{{text}}}</p>
{{{text}}}
{{/ data}}
</div>
{{/ text}}
... ...
... ... @@ -2,6 +2,7 @@
<h4>
<span class="comment-num">{{total}}</span>
条评论
<b></b>
</h4>
<p class="comments-empty">还没有评论,快抢沙发吧</p>
<div class="commnets-resultwrapper">
... ... @@ -14,7 +15,7 @@
</div>
<div class="comment-info">
<p class="comment-content">{{content}}</p>
<p class="comment-time">{{createTime}}</p>
<p class="comment-time font">{{createTime}}</p>
</div>
</li>
{{/ list}}
... ...
<div class="content-msg clearfix" data-id="{{id}}">
<div class="msg-left"><i class="iconfont">&#xe606;</i> <b class="time-word">{{publishTime}}</b></div>
<div class="msg-left"><i class="iconfont">&#xe606;</i> <span class="time-word font">{{publishTime}}</span></div>
<div class="msg-right">
<a class="msg-title" href="/editorial/{{id}}.html" target="_blank">{{title}}</a>
<a href="/editorial/{{id}}.html" target="_blank">
... ... @@ -9,7 +9,7 @@
<div class="msg-app">
<span class="like-comment">
<i class="iconfont like-icon {{#if isPraise}}liked{{/if}}">&#xe60e;</i>
<b class="like-num">{{praiseNum}}</b>
<b class="like-num font">{{praiseNum}}</b>
</span>
</div>
</div>
... ...
... ... @@ -80,6 +80,7 @@ const favorite = {
p.hideBtn = true;
} else if (p.storage === 0) {
p.stateText = '已售罄';
p.hideBtn = true;
}
p.url = `/product/pro_${p.productId}_${p.goodsId}/${p.cnAlphabet}.html`;
p.imageUrl = p.image.replace('imageMogr2', 'imageMogr1');
... ...
... ... @@ -730,6 +730,13 @@ const getExchangeDetailData = (id, uid) => {
if (result[0] && result[0].data) {
let data = result[0].data;
// console.log(data)
_.forEach(data.goods_list, function(value) {
_.forEach(value.evidence_images, function(list, index) {
value.evidence_images[index] = list.substring(0, list.indexOf('?'));
});
});
data.expressId = data.notice.express_id;
if (result[1] && result[1].data) {
... ...
... ... @@ -59,7 +59,7 @@
</div>
{{^}}
<div class="favorite-empty">
<p>您还没有收藏的资讯, 去<a href="{{siteUrl}}/editorial">首页</a>看看吧</p>
<p>您还没有收藏的资讯, 去<a href="{{siteUrl}}/editorial">资讯频道</a>看看吧</p>
</div>
{{/if}}
{{/data}}
... ...
... ... @@ -158,7 +158,7 @@
<div class="evidence">
{{# evidenceImages}}
<a href="{{.}}" target="_blank">
<img src="{{image . 70 90}}">
<img src="{{.}}">
</a>
{{/ evidenceImages}}
</div>
... ...
... ... @@ -16,7 +16,7 @@
</li>
{{/each}}
</ul>
<p class="package-shipping">运费:¥{{shoppingCost}}元(原价{{shoppingOrigCost}}元,优惠{{shoppingCutCost}}元)</p>
<p class="package-shipping">运费:¥{{shoppingCost}}元(原价{{round shoppingOrigCost 2}}元,优惠{{round shoppingCutCost 2}}元)</p>
</div>
{{/each}}
</div>
... ...
... ... @@ -63,7 +63,8 @@
<div class="refund-type">
<div>
{{# returnMode}}
<label class="type-item {{class}}{{#if cur}} cur{{/if}}" title="{{title}}" data-id="{{id}}">{{name}}</label>
{{!-- <label class="type-item {{class}}{{#if cur}} cur{{/if}}" title="{{title}}" data-id="{{id}}">{{name}}</label> --}}
<label class="type-item {{class}}{{#if cur}} cur{{/if}} zfb-icon" title="{{title}}" data-id="{{id}}"></label>
{{#if tip}}
<span class="type-tip">{{tip}}</span>
{{/if}}
... ...
... ... @@ -32,7 +32,7 @@ const _doPassportCallback = (req, res, user) => {
refer = !BlockRedirectFilter.test(decodeURI(refer)) ? decodeURI(refer) : config.siteUrl;
if (user.openId && user.nickname) {
if (user.openId) {
let signinByOpenID = LoginService.signinByOpenIDAsync(
_.trim(user.nickname), _.trim(user.openId),
_.trim(user.sourceType), _.trim(shoppingKey),
... ... @@ -272,12 +272,12 @@ const qq = {
login: (req, res) => {
let authState = req.session.authState = uuid.v4();
return res.redirect(`//www.yohobuy.com/passport/autosign/qq?type=yohoblk&state=${authState}`)
return res.redirect(`//www.yohobuy.com/passport/autosign/qq?type=yohoblk&state=${authState}`);
},
callback: (req, res, next) => {
if (req.session && req.session.authState && req.session.authState === req.query.state) {
if (req.query.err) {
log.error(`qq authenticate error : ${JSON.stringify(err)}`);
log.error(`qq authenticate error : ${JSON.stringify(req.query.err)}`);
return res.redirect(loginPageURL);
}
... ...
... ... @@ -36,19 +36,20 @@ const syncUserSession = (uid, req, res) => {
return UserService.profileAsync(uid).then((userInfo) => {
let token = sign.makeToken(uid);
let user = userInfo.data;
let name = user.nickname || user.profile_name || user.username;
if (!_.isEmpty(user)) {
let uidCookie = `${user.profile_name}::${crypto.encryption('', user.uid + '')}::${user.username}::${token}`;
let uidCookie = `${name}::${crypto.encryption('', user.uid + '')}::${user.username}::${token}`;
req.session._TOKEN = token;
req.session._LOGIN_UID = uid;
req.session._USERNAME = user.username;
req.session._USERNAME = name;
res.cookie('_UID', uidCookie, {
domain: config.cookieDomain
});
res.cookie('_USERNAME', user.username, {
res.cookie('_USERNAME', name, {
domain: config.cookieDomain
});
}
... ...
... ... @@ -67,7 +67,7 @@
<li>
<div>
<input id="reset-pwd-btn" class="reset-pwd-btn disable" type="submit" value="下一步" disabled>
<a id="reset-pwd-btn" class="reset-pwd-btn">下一步</a>
</div>
</li>
... ...
... ... @@ -29,7 +29,7 @@
<li>
<div>
<a id="next" class="btn btn-fixed-height disable">确认</a>
<a id="next" class="btn btn-fixed-height">确认</a>
</div>
</li>
</ul>
... ...
... ... @@ -17,7 +17,7 @@ exports.index = (req, res, next) => {
cartModel.getCartData(shoppingKey, uid).then((result) => {
if (result.code === 200) {
res.header('Cache-Control', 'no-cache');
res.header('Cache-Control', 'no-store');
res.display('cart', _.merge({
module: 'shopping',
... ...
... ... @@ -58,8 +58,6 @@ const index = uid => {
shopping.balanceCoin = theData.use_yoho_coin;
console.log(packageList);
// 拆单后的邮费优惠计算
if (packageList) {
let shippingOrigin = 0;
... ...
... ... @@ -107,6 +107,7 @@ if (isProduction) {
Object.assign(module.exports, {
appName: 'www.yohoblk.com for test',
domains: {
singleApi: 'http://192.168.102.31:8092/brower',
api: 'http://testapi.yoho.cn:28078/',
service: 'http://testservice.yoho.cn:28077/',
search: 'http://192.168.102.216:8080/yohosearch/'
... ...
... ... @@ -95,7 +95,7 @@
"precss": "^1.4.0",
"rewire": "^2.5.1",
"shelljs": "^0.7.0",
"stylelint": "^6.6.0",
"stylelint": "^7.1.0",
"stylelint-config-yoho": "^1.2.4",
"webpack": "^1.13.1",
"webpack-dev-server": "^1.14.1",
... ...
... ... @@ -173,7 +173,7 @@ $(function() {
if (data.code === 200) {
info.mobile = info.mobile.substring(0, 3) + '****' + info.mobile.substring(7, 11);
info.address_id = info.id;
$('#tr_' + info.id).parent().before(Bll.getHtml(info)).remove();
$('#tr_' + info.id).parents('tr').before(Bll.getHtml(info)).remove();
Bll.clearInput();
$('.tip em').html('新增地址');
} else {
... ... @@ -192,7 +192,7 @@ $(function() {
if (data.code === 200) {
info.mobile = info.mobile.substring(0, 3) + '****' + info.mobile.substring(7, 11);
info.address_id = info.id;
$('#tr_' + info.id).parent().before(Bll.getHtml(info)).remove();
$('#tr_' + info.id).parents('tr').before(Bll.getHtml(info)).remove();
Bll.clearInput();
$('.tip em').html('新增地址');
} else {
... ...
... ... @@ -3,6 +3,8 @@ var confirmReceive = require('./order/confirm-receive');
var editOrder = require('./order/edit-order');
var countDown = require('./order/countdown');
var Confirm = require('../plugins/dialog').Confirm;
var lazyLoad = require('yoho-jquery-lazyload');
// 个人中心共用代码加载
... ... @@ -32,6 +34,8 @@ $('.order .edit-btn').on('click', function() {
var mobile = $userInfo.find('.user-mo-sel').data('mobile');
var phone = $userInfo.find('.user-ph-sel').data('phone');
$this.removeClass('white'); // 我不知道为啥产品会有这样的需求,点一次按钮后颜色变掉,按钮颜色和可不可点状态一毛钱关系都没
editOrder.start({
data: {
orderCode: code,
... ... @@ -47,8 +51,12 @@ $('.order .edit-btn').on('click', function() {
$('.complete-btn').on('click', function() {
var code = $(this).closest('.order').data('code');
confirmReceive.done(code);
new Confirm({
content: '<h1 class="title">确认收货</h1><p>您确定要确认收货么?</p>',
cb: function() {
confirmReceive.done(code);
}
}).show();
});
if ($('.left-time').length) {
... ...
... ... @@ -7,6 +7,7 @@
var dialog = require('../plugins/dialog');
var _dialog = dialog.Dialog;
var _alert = dialog.Alert;
var _confirm = dialog.Confirm;
var expressTpl = require('../../tpl/me/express.hbs');
... ... @@ -335,7 +336,12 @@ function bindConfirmReceiveEvent() {
$('.confirm-receive').on('click', function() {
var code = $(this).closest('.order').data('code');
confirmReceive.done(code);
new _confirm({
content: '<h1 class="title">确认收货</h1><p>您确定要确认收货么?</p>',
cb: function() {
confirmReceive.done(code);
}
}).show();
});
}
... ...
var _alert = require('../plugins/dialog').Alert;
var lazyLoad = require('yoho-jquery-lazyload');
var Confirm = require('../plugins/dialog').Confirm;
lazyLoad($('img.banner-img'));
... ... @@ -7,24 +8,27 @@ lazyLoad($('img.banner-img'));
require('./me');
$('.cancel-apply').on('click', function() {
var id = $(this).data('applyId');
var type = $(this).data('type');
var $this = $(this);
$.ajax({
url: '/me/return/cancel',
method: 'POST',
data: {
type: type,
id: id
new Confirm({
content: '<h1 class="title">取消申请</h1><p>您确定要取消申请么?</p>',
cb: function() {
$.ajax({
url: '/me/return/cancel',
method: 'POST',
data: {
type: $this.data('applyId'),
id: $this.data('type')
}
}).done(function(result) {
if (result.code === 200) {
location.reload();
} else {
new _alert(result.message).show();
}
}).fail(function() {
new _alert('出错了').show();
});
}
}).done(function(result) {
if (result.code === 200) {
location.reload();
} else {
new _alert(result.message).show();
}
}).fail(function(err) {
console.log(err);
new _alert('出错了').show();
});
}).show();
});
... ...
... ... @@ -10,10 +10,6 @@ var $passwordInput = $('#pwd'),
$repasswordInput = $('#re-input'),
$next = $('#reset-pwd-btn');
var EventProxy = require('yoho-eventproxy');
var ep = new EventProxy();
var pwdRegx = require('../common/mail-phone-regx').pwdValidateRegx;
function errTip(ele, msg) {
... ... @@ -34,75 +30,65 @@ require('yoho-jquery-placeholder');
// IE8 placeholder
$('input').placeholder();
// 同时监听 pwd 和 repwd 事件
ep.tail('pwd', 'repwd', function(pwd, repwd) {
if (pwd && repwd) {
$next.removeClass('disable').prop('disabled', false);
} else {
$next.addClass('disable').prop('disabled', true);
}
});
$passwordInput.on('keyup blur', function() {
function validatePassword() {
var length = $passwordInput.val().length;
if (length === 0) {
errTip($passwordInput, '请输入密码');
ep.emit('pwd', false);
return;
return false;
}
if (length < 6 || length > 20) {
errTip($passwordInput, '密码只支持 6-20 位字符,建议字母+数字的组合');
ep.emit('pwd', false);
return;
return false;
}
if (!pwdRegx.test($passwordInput.val())) {
errTip($passwordInput, '密码只支持 6-20 位字符,建议字母+数字的组合');
ep.emit('pwd', false);
return;
return false;
}
ep.emit('pwd', true);
hideTip($passwordInput);
return true;
}
$passwordInput.on('blur', function() {
validatePassword();
}).on('focus', function() {
$passwordInput.addClass('focus');
hideTip($passwordInput);
}).on('blur', function() {
$passwordInput.removeClass('focus');
});
$repasswordInput.on('keyup blur', function() {
function validateRepassword() {
var length = $repasswordInput.val().length;
if (length === 0) {
errTip($repasswordInput, '请再次输入密码');
ep.emit('repwd', false);
return;
return false;
}
if ($passwordInput.val() !== $repasswordInput.val()) {
errTip($repasswordInput, '两次输入的密码不一致,请重新输入');
ep.emit('repwd', false);
return;
return false;
}
ep.emit('repwd', true);
hideTip($repasswordInput);
return true;
}
$repasswordInput.on('blur', function() {
validateRepassword();
}).on('focus', function() {
$repasswordInput.addClass('focus');
hideTip($repasswordInput);
}).on('blur', function() {
$repasswordInput.removeClass('focus');
});
// 监听 repwd 事件
ep.on('repwd', function(repwdAuth) {
if (repwdAuth) {
hideTip($repasswordInput);
}
});
// 监听 pwd 事件
ep.on('pwd', function(pwdAuth) {
if (pwdAuth) {
hideTip($passwordInput);
$next.click(function() {
if (validatePassword() && validateRepassword()) {
$('#reset-pwd-form').submit();
}
});
... ...
... ... @@ -16,10 +16,6 @@ var $mobile = $('#mobile');
var $area = $('#area');
var $next = $('#next');
var EventProxy = require('yoho-eventproxy');
var ep = new EventProxy();
require('yoho-jquery-placeholder');
function errTip(ele, msg) {
... ... @@ -34,62 +30,46 @@ function hideTip(ele) {
return ele.next('.tips').addClass('hide');
}
// 确保二次密码输入正确
ep.tail('pwd', 'repwd', function(pwd, repwd) {
if (pwd && repwd) {
$next.removeClass('disable');
} else {
$next.addClass('disable');
}
});
$passwordInput.on('keyup blur', function() {
$passwordInput.on('blur', function() {
var length = $passwordInput.val().length;
$passwordInput.removeClass('focus');
if (length === 0) {
errTip($passwordInput, '请输入密码');
ep.emit('pwd', false);
return;
}
if (length < 6 || length > 20) {
errTip($passwordInput, '密码只支持 6-20 位字符,建议字母+数字的组合');
ep.emit('pwd', false);
return;
}
if (!pwdRegx.test($passwordInput.val())) {
errTip($passwordInput, '密码只支持 6-20 位字符,建议字母+数字的组合');
ep.emit('pwd', false);
return;
}
ep.emit('pwd', true);
}).on('focus', function() {
hideTip($passwordInput);
$passwordInput.addClass('focus');
});
$repasswordInput.on('keyup blur', function() {
$repasswordInput.on('blur', function() {
var length = $repasswordInput.val().length;
$repasswordInput.removeClass('focus');
if (length === 0) {
errTip($repasswordInput, '请再次输入密码');
ep.emit('repwd', false);
return;
}
if ($passwordInput.val() !== $repasswordInput.val()) {
errTip($repasswordInput, '两次输入的密码不一致,请重新输入');
ep.emit('repwd', false);
return;
}
ep.emit('repwd', true);
}).on('focus', function() {
hideTip($repasswordInput);
$repasswordInput.addClass('focus');
... ... @@ -119,25 +99,10 @@ function nextPage() {
$('[placeholder]').placeholder();
$next.on('click', function() {
if ($next.hasClass('disable')) {
return;
}
if ($passwordInput.val() !== $repasswordInput.val()) {
if (($.trim($passwordInput.val()) === '') || ($passwordInput.val() !== $repasswordInput.val())) {
errTip($repasswordInput, '两次输入的密码不一致,请重新输入');
return;
}
nextPage();
});
ep.on('repwd', function(repwdAuth) {
if (repwdAuth) {
hideTip();
}
});
ep.on('pwd', function(pwdAuth) {
if (pwdAuth) {
hideTip();
}
});
... ...
... ... @@ -74,7 +74,7 @@ function shareBase(options) {
sharebox = defOption.self.closest('.share-to').find('.weixin-share-box');
if (sharebox.length > 0) {
shareCon = '<i class="iconfont top ">&#xe617;</i><div class="con"><p class="pic"><img src="' +
shareCon = '<i class="top"></i><div class="con"><p class="pic"><img src="' +
openUrl + '" /></p><h2>分享到微信朋友圈</h2><p class="w">打开微信使用“扫一扫“<br/>即可将网页分享到我的朋友圈。</p></div>';
sharebox.find('div').length > 0 ? sharebox.show() : sharebox.html(shareCon).show();
}
... ...
... ... @@ -46,10 +46,13 @@
position: absolute;
color: #bbb;
background: #fff;
width: 18px;
left: 50px;
width: 12px;
left: 89px;
z-index: 100;
width: 18px;
height: 12px;
display: block;
background-image: resolve('layout/up.png');
top: 17px;
}
}
... ...
... ... @@ -3,7 +3,11 @@
.detail-body {
width: 990px;
margin: 0 auto;
margin: 30px auto;
}
.font {
font-family: '黑体';
}
.detail-title {
... ... @@ -81,8 +85,10 @@
}
.article-text {
p {
width: 700px;
margin: 25px auto;
p {
text-align: center;
display: block;
width: 700px;
... ... @@ -205,9 +211,8 @@
.brands {
width: 960px;
padding: 30px 0 30px 30px;
padding: 30px 0 0 30px;
overflow: hidden;
}
.brand {
... ... @@ -456,10 +461,21 @@
position: relative;
line-height: 32px;
border-bottom: 1px solid #bbb;
position: relative;
.comment-num {
color: #379ed6;
}
b {
display: block;
width: 12px;
height: 7px;
background: #fff;
background-image: resolve('layout/down.png');
position: absolute;
left: 15px;
}
}
.comment-pager {
... ... @@ -527,6 +543,12 @@
.share {
padding-left: 30px;
width: 330px;
margin-top: 30px;
margin-bottom: 15px;
.share-title {
margin-right: 5px;
}
}
.hide {
... ...
... ... @@ -19,6 +19,15 @@
width: 300px;
height: 40px;
}
.font {
font-family: '黑体';
}
.paging {
margin-top: 40px;
margin-bottom: 80px;
}
}
@import "msg";
... ...
... ... @@ -7,7 +7,7 @@
float: left;
width: 200px;
height: 30px;
margin-right: 80px;
margin-right: 90px;
line-height: 30px;
text-align: center;
border-bottom: 1px solid #bbb;
... ... @@ -56,13 +56,18 @@
font-size: 14px;
line-height: 24px;
word-wrap: break-word;
margin-top: 10px;
margin-top: 15px;
overflow: hidden;
word-wrap: break-word;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}
.msg-app {
height: 45px;
line-height: 45px;
height: 50px;
line-height: 50px;
font-size: 14px;
}
... ...
... ... @@ -109,15 +109,18 @@
.goods-info:hover,
.goods-info.choose {
.choose-icon {
display: block;
}
.tool-area {
.btn {
display: inline-block;
}
}
}
.goods-info.choose {
.choose-icon {
display: block;
}
}
}
}
... ...
... ... @@ -21,7 +21,7 @@
font-size: 16px;
text-align: center;
background-color: #fff;
color: $fontColor;
color: #666;
cursor: pointer;
position: relative;
... ... @@ -31,7 +31,7 @@
line-height: calc($liHeight - 2px);
top: 1px;
border-bottom: none;
color: #515151;
color: #1b1b1b;
font-weight: bold;
z-index: 3;
}
... ...
... ... @@ -32,6 +32,7 @@
overflow: hidden;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
color: #1b1b1b;
}
.good-name-text:hover {
... ... @@ -82,6 +83,7 @@
height: 100%;
float: left;
text-align: center;
color: #1b1b1b;
&.big-width {
width: $bigWidth;
... ... @@ -139,7 +141,7 @@
.detail {
width: calc($bigWidth - $goodImgWidth - $space);
padding: $bigSpace 5px 0 0;
padding: $bigSpace 25px 0 0;
float: right;
box-sizing: border-box;
line-height: 1.4;
... ... @@ -148,10 +150,12 @@
.with-bottom-space {
margin-bottom: $smallSpace;
line-height: 20px;
}
span {
font-size: 12px;
color: #1b1b1b;
}
.with-space {
... ... @@ -177,6 +181,7 @@
&.last {
border-bottom: none;
line-height: 20px;
}
}
}
... ... @@ -216,6 +221,7 @@
p {
margin-bottom: $space;
line-height: 20px;
}
.pay-operation {
... ... @@ -245,28 +251,33 @@
.bg {
height: 250px;
background-image: resolve('me/no-order.png');
background-image: resolve("me/no-order.png");
background-repeat: no-repeat;
background-position: center bottom;
background-size: 100px 125px;
}
.msg {
margin-top: 50px;
margin-top: 45px;
text-align: center;
.msg-zh {
font-size: $bigSize;
margin-bottom: $space;
font-size: 20px;
line-height: 30px;
margin-bottom: 15px;
}
.msg-en {
margin-bottom: 40px;
font-size: 14px;
}
.btn {
display: inline-block;
width: 100px !important;
width: 130px !important;
height: 40px !important;
line-height: 40px !important;
font-size: 14px;
}
}
}
... ...
... ... @@ -160,7 +160,7 @@
.code-horn {
width: 7px;
height: 12px;
background: resolve('me/code-horn.png') no-repeat;
background: resolve("me/code-horn.png") no-repeat;
position: absolute;
left: -7px;
top: 6px;
... ... @@ -193,12 +193,13 @@
color: #999;
}
.zfb-icon,
.ali-item {
background: resolve('me/alipay.png') no-repeat center center;
background: resolve("me/alipay.png") no-repeat center center;
}
.union-item {
background: resolve('me/unionpay.png') no-repeat center center;
background: resolve("me/unionpay.png") no-repeat center center;
}
> dl {
... ...
<h1 class="dialog-title">订单修改</h1>
<h1 class="dialog-title">修改订单</h1>
{{# data}}
<div class="form" data-code={{orderCode}}>
... ...