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++; }