...
|
...
|
@@ -12,17 +12,10 @@ var $ = require('jquery'), |
|
|
var dialog = require('../me/dialog'),
|
|
|
tip = require('../plugin/tip');
|
|
|
|
|
|
var $names;
|
|
|
var $names,
|
|
|
$selectAllBtn = $('.balance .iconfont');
|
|
|
|
|
|
//var $curDelPanel;
|
|
|
|
|
|
////删除面板显示后任何点击行为都将触发隐藏面板
|
|
|
//function docTouchEvt() {
|
|
|
// $curDelPanel && $curDelPanel.addClass('hide');
|
|
|
//
|
|
|
// //
|
|
|
// $(document).off('touchstart', docTouchEvt);
|
|
|
//}
|
|
|
var requesting = false;
|
|
|
|
|
|
ellipsis.init();
|
|
|
|
...
|
...
|
@@ -167,30 +160,122 @@ $('.cart-goods').on('touchstart', '.checkbox', function() { |
|
|
// });
|
|
|
//})
|
|
|
|
|
|
$('.down').on('touchend', function() {
|
|
|
chosePanel.show();
|
|
|
});
|
|
|
$('.cut').on('touchend', function() {
|
|
|
var id = $(this).closest('.shopping-cart-good').data('id');
|
|
|
|
|
|
function requestUpdateAllGoodsCheckStatus(theGoods, successHandeler) {
|
|
|
if (requesting) {
|
|
|
return;
|
|
|
}
|
|
|
requesting = true;
|
|
|
$.ajax({
|
|
|
type: 'GET',
|
|
|
url: '/cart/index/modify',
|
|
|
data: {
|
|
|
old_product_sku: id,
|
|
|
new_product_sku: id,
|
|
|
buy_number: '0',
|
|
|
selected: 'Y'
|
|
|
},
|
|
|
success: function(data) {
|
|
|
if (data.code === 200) {
|
|
|
window.history.go(0);
|
|
|
}
|
|
|
},
|
|
|
error: function() {
|
|
|
tip.show('网络错误');
|
|
|
url: 'select',
|
|
|
type: 'post',
|
|
|
data: {
|
|
|
skuList: JSON.stringify(theGoods)
|
|
|
},
|
|
|
success: function(res) {
|
|
|
if (res.code === 200) {
|
|
|
successHandeler();
|
|
|
} else {
|
|
|
tip.show(res.message);
|
|
|
}
|
|
|
},
|
|
|
error: function(err) {
|
|
|
tip.show('网络异常');
|
|
|
},
|
|
|
complete: function() {
|
|
|
requesting = false;
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
|
|
|
function didUpdateAllGoodsCheckStatus() {
|
|
|
var $checkedBoxs = $('.shopping-cart-good .icon-cb-checked'),
|
|
|
$uncheckedBoxs = $('.shopping-cart-good .icon-checkbox');
|
|
|
|
|
|
var shouldSelectAll;
|
|
|
|
|
|
if ($selectAllBtn.hasClass('icon-cb-checked')) {
|
|
|
$selectAllBtn.removeClass('icon-cb-checked').addClass('icon-checkbox');
|
|
|
shouldSelectAll = true;
|
|
|
} else {
|
|
|
$selectAllBtn.removeClass('icon-checkbox').addClass('icon-cb-checked');
|
|
|
shouldSelectAll = false;
|
|
|
}
|
|
|
|
|
|
if (!shouldSelectAll) {
|
|
|
$uncheckedBoxs.each(function(idx, uncheckedBox) {
|
|
|
$(uncheckedBox).removeClass('icon-checkbox').addClass('icon-cb-checked');
|
|
|
});
|
|
|
} else {
|
|
|
$checkedBoxs.each(function(idx, checkedBox) {
|
|
|
$(checkedBox).removeClass('icon-cb-checked').addClass('icon-checkbox');
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
|
|
|
function bottomCheckBoxHandeler(isSelected, type, handlerAfterTouch) {
|
|
|
var goodInfo = {};
|
|
|
var $goods = $('.cart-content:not(.hide) .shopping-cart-good');
|
|
|
var $good = null;
|
|
|
var goodsList = [];
|
|
|
|
|
|
function GoodInfo(properties) {
|
|
|
this.goods_type = properties.goods_type;
|
|
|
this.buy_number = properties.buy_number;
|
|
|
this.product_sku = properties.product_sku;
|
|
|
this.selected = properties.selected;
|
|
|
}
|
|
|
|
|
|
goodInfo.goods_type = type;
|
|
|
goodInfo.selected = isSelected ? 'Y' : 'N';
|
|
|
|
|
|
$goods.each(function(idx, good) {
|
|
|
$good = $(good);
|
|
|
|
|
|
goodInfo.product_sku = $(good).data('id');
|
|
|
goodInfo.buy_number = $good.find('.count').eq(0).text().trim().replace('×', '');
|
|
|
|
|
|
goodsList.push(new GoodInfo(goodInfo));
|
|
|
});
|
|
|
console.log(goodsList);
|
|
|
|
|
|
requestUpdateAllGoodsCheckStatus(goodsList, handlerAfterTouch);
|
|
|
}
|
|
|
|
|
|
//获取当前购物车类型
|
|
|
function getCartType() {
|
|
|
var $navItem = $('.cart-nav ').find('li'),
|
|
|
type = 'ordinary';
|
|
|
|
|
|
if ($navItem.eq(0).hasClass('active')) {
|
|
|
type = 'ordinary';
|
|
|
} else {
|
|
|
type = 'advance';
|
|
|
}
|
|
|
|
|
|
return type;
|
|
|
}
|
|
|
|
|
|
//是否要全选
|
|
|
function willBeSelected() {
|
|
|
var isSelected = true;
|
|
|
var $this = $(this);
|
|
|
|
|
|
if ($this.hasClass('icon-cb-checked')) {
|
|
|
isSelected = true;
|
|
|
} else {
|
|
|
isSelected = false;
|
|
|
}
|
|
|
|
|
|
return isSelected;
|
|
|
}
|
|
|
|
|
|
//全选按钮点击事件
|
|
|
$selectAllBtn.on('touchend', function() {
|
|
|
bottomCheckBoxHandeler(willBeSelected(), getCartType(), didUpdateAllGoodsCheckStatus);
|
|
|
});
|
|
|
|
|
|
$('.down').on('touchend', function() {
|
|
|
chosePanel.show();
|
|
|
});
|
|
|
|
|
|
|
...
|
...
|
|