cart.page.js
3.69 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
/**
* [购物流程] 购物袋
* @author: jinhu.dong<jinhu.dong@yoho.cn>
* @date: 2016/7/1
*/
var $ = require('yoho-jquery');
var Cart = require('./cart/cart');
var Stepper = require('./cart/stepper');
$(function() {
var $this;
var editable = true;
// 关闭info-bar
$('.info-bar .close').on('click', function() {
$('.info-bar').hide();
});
$('#cart_content').delegate('.toggle-chk, .toggle-chk-item', 'click', function() {
// 全选和单选
Cart.toggleCheck.call(Cart, this);
}).delegate('.remove-item', 'click', function() {
// 删除商品
// 失效商品删除,不用显示在删除模块
var productExtraInfo = $(this).attr('data-product_extra_info'),
productExtraInfoArr = productExtraInfo ? [$.parseJSON(productExtraInfo)] : [];
Cart.removePro(
[$.parseJSON($(this).parents('ul').children().first().attr('data-product_info'))],
productExtraInfoArr
);
}).delegate('#remove_selected', 'click', function(e) {
// 删除多个商品
// 重构
// 选择的商品
var selectedProducts = [],
product;
e.preventDefault();
$('#cart_content').find('li.chk').each(function() {
product = $(this);
if (product.find('label.chk-group').length) {
selectedProducts.push($.parseJSON(product.attr('data-product_info')));
}
});
Cart.removePro(selectedProducts);
}).delegate('.send-to-favorite', 'click', function() {
// 移入收藏夹
// 重构
Cart.sendToFavorite([$.parseJSON($(this).parents('ul').children().first().attr('data-product_info'))]);
}).delegate('#send_favorite', 'click', function(e) {
// 将多个商品移入收藏夹
// 重构
// 选择的商品
var selectedProducts = [],
product;
e.preventDefault();
$('#cart_content').find('li.chk').each(function() {
product = $(this);
if (product.find('label.chk-group').length) {
selectedProducts.push($.parseJSON(product.attr('data-product_info')));
}
});
Cart.sendToFavorite(selectedProducts);
}).delegate('.editable', 'click', function() {
$this = $(this);
if (editable) {
editable = false;
// 编辑商品颜色和属性
Cart.editColorOrSize(
$this.attr('data-productId'),
$this.attr('data-productSkn'),
$this.find('.default-color').text(),
$this.find('.default-size').text(), function() {
editable = true;
});
$('body').off('click').on('click', function() {
if ($('.edit-color-size').length) {
$('.edit-color-size').remove();
editable = true;
}
});
}
}).delegate('#checkout_btn', 'click', function(e) {
e.preventDefault();
if ($('.chk-group').length) {
Cart.checkStorage(function() {
if (!$(this).hasClass('disable')) {
window.location.href = '/shopping/order';
}
});
}
return false;
});
$('#removed_products').delegate('.send-to-favorite', 'click', function() {
Cart.sendToFavorite([$.parseJSON($(this).attr('data-product_info'))], function() {
if ($('#removed_products .removed-product').length > 1) {
$(this).remove();
} else {
$('#removed_products').html('');
}
});
});
// 变动商品数量
Stepper.init();
});