Commit 6c948d2ffdeb06b984953cdb155ce5274f03f72a

Authored by yvan.ni
1 parent 08ab28bf

购物车的规格修改

pages/cart/cart/cart.js
@@ -12,10 +12,14 @@ Page({ @@ -12,10 +12,14 @@ Page({
12 iurl: t.globalData.setting.imghost, 12 iurl: t.globalData.setting.imghost,
13 requestData: null, 13 requestData: null,
14 checkAllToggle: 0, 14 checkAllToggle: 0,
15 - total_fee: 0, 15 + total_fee: 0, //结算金额
  16 + total_num: 0, //结算数量
  17 + all_num:0, //购物车中所有商品数量
16 allsto: null, 18 allsto: null,
17 imgUrl: t.globalData.setting.imghost, 19 imgUrl: t.globalData.setting.imghost,
18 is_has_flash:0, //是否又秒杀活动 20 is_has_flash:0, //是否又秒杀活动
  21 + is_edit:0, //是否编辑
  22 + is_load:0, //是否已加载
19 }, 23 },
20 onLoad: function() { 24 onLoad: function() {
21 wx.setNavigationBarTitle({title: "购物车", }) 25 wx.setNavigationBarTitle({title: "购物车", })
@@ -73,16 +77,14 @@ Page({ @@ -73,16 +77,14 @@ Page({
73 pageSize: 600 77 pageSize: 600
74 }, 78 },
75 success: function(su) { 79 success: function(su) {
76 - console.log("333");  
77 - console.log(th.data.allsto);  
78 -  
79 //按门店分类的数组 80 //按门店分类的数组
80 - var arr = new Array();  
81 - var carr = su.data.data.pageData; 81 + var arr = new Array(),carr = su.data.data.pageData;
  82 + var all_num=0;
  83 +
82 for (var i = 0; i < carr.length; i++) { 84 for (var i = 0; i < carr.length; i++) {
83 var item = carr[i]; 85 var item = carr[i];
  86 + all_num+=item.goods_num;
84 item.original_img = oo.imghost + item.original_img; 87 item.original_img = oo.imghost + item.original_img;
85 -  
86 item.selected = 0; 88 item.selected = 0;
87 89
88 var pcid = item.pick_id; 90 var pcid = item.pick_id;
@@ -124,7 +126,7 @@ Page({ @@ -124,7 +126,7 @@ Page({
124 console.log(arr); 126 console.log(arr);
125 127
126 th.setData({ 128 th.setData({
127 - requestData: arr, 129 + requestData: arr,all_num:all_num,is_load:1,is_edit:0
128 }), 130 }),
129 th.doCheckAll(), wx.stopPullDownRefresh(); 131 th.doCheckAll(), wx.stopPullDownRefresh();
130 } 132 }
@@ -207,7 +209,7 @@ Page({ @@ -207,7 +209,7 @@ Page({
207 checkAll: function() { 209 checkAll: function() {
208 var e = this, 210 var e = this,
209 dda = e.data.requestData, 211 dda = e.data.requestData,
210 - tfeel = 0, 212 + tfeel = 0,t_num=0,
211 text_arr = ""; 213 text_arr = "";
212 for (var i = 0; i < dda.length; i++) { 214 for (var i = 0; i < dda.length; i++) {
213 var item = dda[i].goods; 215 var item = dda[i].goods;
@@ -232,8 +234,10 @@ Page({ @@ -232,8 +234,10 @@ Page({
232 e.setData({ 234 e.setData({
233 [txt]: !e.data.checkAllToggle, 235 [txt]: !e.data.checkAllToggle,
234 }) 236 })
235 - if (!e.data.checkAllToggle) 237 + if (!e.data.checkAllToggle) {
236 tfeel += item[j].goods_num * item[j].goods_price; 238 tfeel += item[j].goods_num * item[j].goods_price;
  239 + t_num += item[j].goods_num;
  240 + }
237 } 241 }
238 } 242 }
239 243
@@ -243,13 +247,11 @@ Page({ @@ -243,13 +247,11 @@ Page({
243 content: text_arr + '不能与门店中其他商品一起结算,配送方式不一致' 247 content: text_arr + '不能与门店中其他商品一起结算,配送方式不一致'
244 }); 248 });
245 return false; 249 return false;
246 - e.setData({  
247 - total_fee: tfeel.toFixed(2),  
248 - });  
249 } else { 250 } else {
250 e.setData({ 251 e.setData({
251 checkAllToggle: !e.data.checkAllToggle, 252 checkAllToggle: !e.data.checkAllToggle,
252 total_fee: tfeel.toFixed(2), 253 total_fee: tfeel.toFixed(2),
  254 + total_num:t_num,
253 }); 255 });
254 } 256 }
255 }, 257 },
@@ -258,15 +260,11 @@ Page({ @@ -258,15 +260,11 @@ Page({
258 check_th_all_item: function(ele) { 260 check_th_all_item: function(ele) {
259 var e = this, 261 var e = this,
260 pitems = ele.currentTarget.dataset.pitems, 262 pitems = ele.currentTarget.dataset.pitems,
261 - item = this.data.requestData[pitems].goods;  
262 - var sele = this.data.requestData[pitems].selected; 263 + item = this.data.requestData[pitems].goods,
  264 + sele = this.data.requestData[pitems].selected;
263 265
264 - var isok = 1,  
265 - fir = 0,  
266 - iarr = item; 266 + var isok = 1,fir = 0,iarr = item;
267 if (!sele && item.length > 0) { 267 if (!sele && item.length > 0) {
268 -  
269 - console.log(item);  
270 for (var i = 0; i < iarr.length; i++) { 268 for (var i = 0; i < iarr.length; i++) {
271 if (iarr[i].distr_type != 0) { 269 if (iarr[i].distr_type != 0) {
272 if (fir == 0) { 270 if (fir == 0) {
@@ -346,30 +344,34 @@ Page({ @@ -346,30 +344,34 @@ Page({
346 //----------检查是否全选--------- 344 //----------检查是否全选---------
347 doCheckAll: function() { 345 doCheckAll: function() {
348 var th = this, 346 var th = this,
349 - tfeel = 0, 347 + tfeel = 0,t_num=0,
350 ischeck = 1, 348 ischeck = 1,
351 - car = this.data.requestData; 349 + car = this.data.requestData,all_num=0;
  350 +
352 for (var a = 0; a < car.length; a++) { 351 for (var a = 0; a < car.length; a++) {
353 - var item = car[a].goods;  
354 - var is_s_sele = 1; 352 + var item = car[a].goods,is_s_sele = 1;
355 for (var c = 0; c < item.length; c++) { 353 for (var c = 0; c < item.length; c++) {
  354 + all_num+=item[c].goods_num;
356 if (item[c].selected == 0) { 355 if (item[c].selected == 0) {
357 ischeck = 0; 356 ischeck = 0;
358 is_s_sele = 0; 357 is_s_sele = 0;
359 } else { 358 } else {
360 tfeel += item[c].goods_num * item[c].goods_price; 359 tfeel += item[c].goods_num * item[c].goods_price;
  360 + t_num+= item[c].goods_num;
361 } 361 }
362 } 362 }
363 363
364 var txt = "requestData[" + a + "].selected"; 364 var txt = "requestData[" + a + "].selected";
365 th.setData({ 365 th.setData({
366 - [txt]: Number(is_s_sele), 366 + [txt]: Number(is_s_sele)
367 }); 367 });
368 368
369 } 369 }
370 this.setData({ 370 this.setData({
371 checkAllToggle: ischeck, 371 checkAllToggle: ischeck,
372 - total_fee: tfeel.toFixed(2), 372 + total_fee: tfeel.toFixed(2)
  373 + ,all_num:all_num,
  374 + total_num:t_num
373 }); 375 });
374 }, 376 },
375 377
@@ -704,7 +706,43 @@ Page({ @@ -704,7 +706,43 @@ Page({
704 radio_chick: function(checked, num) { 706 radio_chick: function(checked, num) {
705 var th = this; 707 var th = this;
706 var requestData = th.data.requestData; 708 var requestData = th.data.requestData;
  709 + },
  710 +
  711 + //点击编辑后的效果
  712 + edit_cart:function (e) {
  713 + var type=parseFloat(e.currentTarget.dataset.type);
  714 + this.setData({is_edit:type});
  715 + },
  716 +
  717 + //--多个删除购物车商品---
  718 + check_del:function () {
  719 + var glist = ""; //用逗号隔开的
  720 + var user_id = getApp().globalData.user_id;
  721 + var th = this;
707 722
  723 + var ab = 0; //选中
  724 + for (var i = 0; i < this.data.requestData.length; i++) {
  725 + var i_arr = this.data.requestData[i].goods;
  726 + for (var j = 0; j < i_arr.length; j++) {
  727 + if (i_arr[j].selected) {
  728 + glist += i_arr[j].i_arr[j].id + ",";
  729 + ab = 1;
  730 + }
  731 + }
  732 + }
  733 +
  734 + if (ab == 0) {
  735 + t.my_warnning("未选择商品", 0, th);return false;
  736 + }
  737 +
  738 + glist = glist.substring(0, glist.length - 1);
  739 + //要删除购物车中的商品
  740 + var url = '/api/weshop/cart/del/' + oo.stoid + '/' + glist;
  741 + getApp().request.delete(url, {
  742 + success: function(t) {
  743 + th.getCardList();
  744 + }
  745 + });
708 746
709 } 747 }
710 748
pages/cart/cart/cart.wxml
@@ -8,12 +8,13 @@ @@ -8,12 +8,13 @@
8 <!-- 购物车商品框架 --> 8 <!-- 购物车商品框架 -->
9 <view class="login-in"> 9 <view class="login-in">
10 <!-- 编辑 --> 10 <!-- 编辑 -->
11 - <view class="padding flex-vertical-between fs26 Storenum"> 11 + <view class="padding flex-vertical-between fs30 Storenum">
12 <view class="flex"> 12 <view class="flex">
13 <view>商品数量:</view> 13 <view>商品数量:</view>
14 - <view class="goods_num">{{requestData.length}}</view> 14 + <view class="goods_num">{{all_num}}</view>
15 </view> 15 </view>
16 - <view>编辑</view> 16 + <view wx:if="{{is_edit==0}}" bindtap="edit_cart" data-type="1">编辑</view>
  17 + <view wx:else bindtap="edit_cart" data-type="0">完成</view>
17 </view> 18 </view>
18 <block wx:for="{{requestData}}" wx:key="{{index}}" wx:for-index="pidx"> 19 <block wx:for="{{requestData}}" wx:key="{{index}}" wx:for-index="pidx">
19 <!-- 门店底下的商品 --> 20 <!-- 门店底下的商品 -->
@@ -23,7 +24,7 @@ @@ -23,7 +24,7 @@
23 checked="{{checkAllToggle||item.selected}}" data-pitems="{{pidx}}"></radio> 24 checked="{{checkAllToggle||item.selected}}" data-pitems="{{pidx}}"></radio>
24 <view class="flex-center"> 25 <view class="flex-center">
25 <image src="{{iurl}}miniapp/images/stores/store.png"></image> 26 <image src="{{iurl}}miniapp/images/stores/store.png"></image>
26 - <view class="shmd fs24">{{item.pname}}</view> 27 + <view class="shmd fs28" >{{item.pname}}</view>
27 </view> 28 </view>
28 </view> 29 </view>
29 <view class="order-item padding" data-item="{{idx}}" wx:for="{{item.goods}}" wx:for-item="items" wx:for-index="idx" wx:key="{{index}}"> 30 <view class="order-item padding" data-item="{{idx}}" wx:for="{{item.goods}}" wx:for-item="items" wx:for-index="idx" wx:key="{{index}}">
@@ -39,8 +40,10 @@ @@ -39,8 +40,10 @@
39 <view class="goods-cont"> 40 <view class="goods-cont">
40 <view class="goods-name"> 41 <view class="goods-name">
41 <navigator class="ellipsis-2 fs24" url="/pages/goods/goodsInfo/goodsInfo?goods_id={{items.goods_id}}">{{items.goods_name}}</navigator> 42 <navigator class="ellipsis-2 fs24" url="/pages/goods/goodsInfo/goodsInfo?goods_id={{items.goods_id}}">{{items.goods_name}}</navigator>
42 - <view class="Specifications flex-center">{{items.goods_color+items.goods_spec.length  
43 - <1? '规格1': ''}}{{items.goods_color}}{{items.goods_color.length>0?"/":''}}{{items.goods_spec}}</view> 43 +
  44 + <view class="Specifications flex-center" wx:if="{{items.goods_color || items.goods_spec}}">
  45 + {{items.goods_color}}{{items.goods_color?"/":''}}{{items.goods_spec}}</view>
  46 + <view class="Specifications flex-center" wx:else>规格1</view>
44 </view> 47 </view>
45 48
46 <view class="flex alend jc_sb"> 49 <view class="flex alend jc_sb">
@@ -66,7 +69,9 @@ @@ -66,7 +69,9 @@
66 <radio bindtap="checkAll" color="red" checked="{{checkAllToggle}}"></radio> 69 <radio bindtap="checkAll" color="red" checked="{{checkAllToggle}}"></radio>
67 <view class="all fs30">全选</view> 70 <view class="all fs30">全选</view>
68 </view> 71 </view>
69 - <view class="consumer"> 72 +
  73 + <!-- 显示金额的多少 -->
  74 + <view class="consumer" wx:if="{{is_edit==0}}">
70 <view class="fs30 baseline"> 75 <view class="fs30 baseline">
71 <view class="total">合计:</view> 76 <view class="total">合计:</view>
72 <text class="co-red">¥{{total_fee}}</text> 77 <text class="co-red">¥{{total_fee}}</text>
@@ -77,12 +82,13 @@ @@ -77,12 +82,13 @@
77 </view> 82 </view>
78 </view> 83 </view>
79 <view> 84 <view>
80 - <button wx:if="{{true}}" bindtap="checkout" class="pay-btn">结算(2)</button>  
81 - <button wx:if="{{false}}" bindtap="checkout" class="pay-btn">删除</button> 85 +
  86 + <button wx:if="{{is_edit}}" bindtap="check_del" class="pay-btn">删除</button>
  87 + <button wx:else bindtap="checkout" class="pay-btn">结算({{total_num}})</button>
82 </view> 88 </view>
83 </view> 89 </view>
84 </view> 90 </view>
85 -<view class="no-data" wx:if="{{!requestData||requestData.length==0}}"> 91 +<view class="no-data" wx:if="{{(!requestData|| requestData.length==0) && is_load}}">
86 <image class="cart-image" src="{{imgUrl}}/miniapp/images/cart-null.png"></image> 92 <image class="cart-image" src="{{imgUrl}}/miniapp/images/cart-null.png"></image>
87 <view class="no-data-title">购物车暂无商品</view> 93 <view class="no-data-title">购物车暂无商品</view>
88 <navigator class="lookat" openType="switchTab" url="/pages/index/index/index"> 去逛逛 </navigator> 94 <navigator class="lookat" openType="switchTab" url="/pages/index/index/index"> 去逛逛 </navigator>