Authored by weiguang.xie

Merge branch 'fix/issue' into 'develop'

修复问题

1. 修复购物车页面为你优选不显示问题
2. 增加未选择赠品时去结算前的提醒

See merge request !62
... ... @@ -9,6 +9,7 @@ var $ = require('jquery'),
Hammer = require('yoho.hammer');
var chosePanel = require('./chose-panel'),
dialog = require('../me/dialog'),
tip = require('../plugin/tip');
var $cartContent = $('.cart-content');
... ... @@ -20,6 +21,48 @@ var navHammer,
var hasChecked = $('.cart-content:not(.hide) .icon-cb-checked').length > 0 ? true : false; //是否有选中商品
function shouldSelectGift() {
var $freebie = $('.freebie');
if ($freebie.length <= 0) {
return false;
}
return true;
}
function shouldLowStocks() {
var $lowStocks = $('.low-stocks'),
result = false;
if ($lowStocks.length <= 0) {
return result;
}
$lowStocks.each(function(idx, item) {
if ($(item).parent().parent().parent().siblings('.checkbox').hasClass('icon-cb-checked')) {
result = true;
return false;
}
});
return result;
}
function showChooseGifDialog() {
dialog.showDialog({
dialogText: '您还未选择赠品,是否去选择赠品',
hasFooter: {
leftBtnText: '我不要赠品',
rightBtnText: '去选择'
}
}, function() {
window.location.href = $('.freebie').find('a').attr('href');
}, function() {
window.location.href = '/cart/index/orderEnsure?cartType=' + cartType;
});
}
require('./good');
lazyLoad($('img.lazy'));
... ... @@ -83,7 +126,11 @@ if ($('.freebie').length > 0) {
//});
$('.btn-balance').on('touchend', function() {
if ($('.low-stocks').length > 0) {
if (shouldSelectGift()) {
showChooseGifDialog();
return false;
}
if (shouldLowStocks()) {
tip.show('库存不足无法结算');
return false;
}
... ... @@ -99,7 +146,7 @@ $('.chose').on('touchend', function() {
chosePanel.show();
});
if ($('.cart-zero').length > 0) {
if ($('.shopping-cart-good').length <= 0) {
require('../product/recommend-for-you');
}
... ...
... ... @@ -33,7 +33,7 @@ dialogTpl = '<div id="dialog-wrapper" class="dialog-wrapper">' +
dialogTemplate = Handlebars.compile(dialogTpl);
exports.showDialog = function(data, callback) {
exports.showDialog = function(data, callback, callbackForLeft) {
var dialogStr = dialogTemplate(data),
$dialogBox,
... ... @@ -76,6 +76,9 @@ exports.showDialog = function(data, callback) {
dialogWrapperHammer.on('tap', function(event) {
if ($(event.target).hasClass('dialog-left-btn')) {
if (typeof callbackForLeft === 'function') {
callbackForLeft();
}
$dialogWrapper.fadeOut();
} else if ($(event.target).hasClass('dialog-right-btn')) {
callback();
... ...