diff --git a/components/cart/cart.vue b/components/cart/cart.vue
index 074e8413..688fc16f 100644
--- a/components/cart/cart.vue
+++ b/components/cart/cart.vue
@@ -9,8 +9,7 @@
-
- 失效
+
@@ -84,7 +83,7 @@
-
+
@@ -121,6 +120,7 @@
total_price: '0.00',
is_selected_all: false,
already_selected_status: false,
+ already_valid_selected_status: false,
source_type: null,
// 基础配置
currency_symbol: app.globalData.data.currency_symbol,
@@ -507,18 +507,14 @@
// 批量操作
case 'all':
temp_is_selected_all = temp_is_selected_all == true ? false : true;
- for (var i in temp_data_list) {
- if (temp_data_list[i]['is_error'] != 1) {
- temp_data_list[i]['selected'] = temp_is_selected_all;
- }
+ for (var i in temp_data_list) {
+ temp_data_list[i]['selected'] = temp_is_selected_all;
}
break;
// 节点操作
case 'node':
- var index = e.currentTarget.dataset.index || 0;
- if (temp_data_list[index]['is_error'] != 1) {
- temp_data_list[index]['selected'] = temp_data_list[index]['selected'] == true ? false : true;
- }
+ var index = e.currentTarget.dataset.index || 0;
+ temp_data_list[index]['selected'] = temp_data_list[index]['selected'] == true ? false : true;
break;
}
@@ -540,20 +536,21 @@
var selected_count = 0;
var temp_data_list = this.data_list;
for (var i in temp_data_list) {
- if ((temp_data_list[i]['is_error'] || 0) == 0) {
- data_count++;
- }
- if ((temp_data_list[i]['selected'] || false) == true) {
- total_price += parseInt(temp_data_list[i]['stock']) * parseFloat(temp_data_list[i]['price']);
- selected_count++;
+ if ((temp_data_list[i]['selected'] || false) == true) {
+ selected_count++;
+ if ((temp_data_list[i]['is_error'] || 0) == 0) {
+ data_count++;
+ total_price += parseInt(temp_data_list[i]['stock']) * parseFloat(temp_data_list[i]['price']);
+ }
}
cart_total += parseInt(temp_data_list[i]['stock']);
}
this.setData({
total_price: total_price.toFixed(2),
- already_selected_status: selected_count > 0,
- is_selected_all: selected_count > 0 && selected_count >= data_count
+ already_selected_status: selected_count > 0,
+ already_valid_selected_status: data_count > 0,
+ is_selected_all: selected_count > 0 && selected_count >= temp_data_list.length
});
if (cart_total <= 0) {
app.globalData.set_tab_bar_badge(2, 0);
@@ -568,7 +565,7 @@
var ids = [];
var temp_data_list = this.data_list || [];
for (var i in temp_data_list) {
- if ((temp_data_list[i]['selected'] || false) == true) {
+ if ((temp_data_list[i]['is_error'] || 0) == 0 && (temp_data_list[i]['selected'] || false) == true) {
ids.push(temp_data_list[i]['id']);
selected_count++;
}