Commit 7f73d341137437c661737fb6ca280ba448a49cee
Merge branch 'work-1.1_20191010' of http://git.vipzhuang.cn/wxd/MShopWeApp into work-1.1_20191010
Showing
2 changed files
with
80 additions
and
36 deletions
pages/cart/cart/cart.js
| ... | ... | @@ -12,10 +12,14 @@ Page({ |
| 12 | 12 | iurl: t.globalData.setting.imghost, |
| 13 | 13 | requestData: null, |
| 14 | 14 | checkAllToggle: 0, |
| 15 | - total_fee: 0, | |
| 15 | + total_fee: 0, //结算金额 | |
| 16 | + total_num: 0, //结算数量 | |
| 17 | + all_num:0, //购物车中所有商品数量 | |
| 16 | 18 | allsto: null, |
| 17 | 19 | imgUrl: t.globalData.setting.imghost, |
| 18 | 20 | is_has_flash:0, //是否又秒杀活动 |
| 21 | + is_edit:0, //是否编辑 | |
| 22 | + is_load:0, //是否已加载 | |
| 19 | 23 | }, |
| 20 | 24 | onLoad: function() { |
| 21 | 25 | wx.setNavigationBarTitle({title: "购物车", }) |
| ... | ... | @@ -73,16 +77,14 @@ Page({ |
| 73 | 77 | pageSize: 600 |
| 74 | 78 | }, |
| 75 | 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 | 84 | for (var i = 0; i < carr.length; i++) { |
| 83 | 85 | var item = carr[i]; |
| 86 | + all_num+=item.goods_num; | |
| 84 | 87 | item.original_img = oo.imghost + item.original_img; |
| 85 | - | |
| 86 | 88 | item.selected = 0; |
| 87 | 89 | |
| 88 | 90 | var pcid = item.pick_id; |
| ... | ... | @@ -124,7 +126,7 @@ Page({ |
| 124 | 126 | console.log(arr); |
| 125 | 127 | |
| 126 | 128 | th.setData({ |
| 127 | - requestData: arr, | |
| 129 | + requestData: arr,all_num:all_num,is_load:1,is_edit:0 | |
| 128 | 130 | }), |
| 129 | 131 | th.doCheckAll(), wx.stopPullDownRefresh(); |
| 130 | 132 | } |
| ... | ... | @@ -207,7 +209,7 @@ Page({ |
| 207 | 209 | checkAll: function() { |
| 208 | 210 | var e = this, |
| 209 | 211 | dda = e.data.requestData, |
| 210 | - tfeel = 0, | |
| 212 | + tfeel = 0,t_num=0, | |
| 211 | 213 | text_arr = ""; |
| 212 | 214 | for (var i = 0; i < dda.length; i++) { |
| 213 | 215 | var item = dda[i].goods; |
| ... | ... | @@ -232,8 +234,10 @@ Page({ |
| 232 | 234 | e.setData({ |
| 233 | 235 | [txt]: !e.data.checkAllToggle, |
| 234 | 236 | }) |
| 235 | - if (!e.data.checkAllToggle) | |
| 237 | + if (!e.data.checkAllToggle) { | |
| 236 | 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 | 247 | content: text_arr + '不能与门店中其他商品一起结算,配送方式不一致' |
| 244 | 248 | }); |
| 245 | 249 | return false; |
| 246 | - e.setData({ | |
| 247 | - total_fee: tfeel.toFixed(2), | |
| 248 | - }); | |
| 249 | 250 | } else { |
| 250 | 251 | e.setData({ |
| 251 | 252 | checkAllToggle: !e.data.checkAllToggle, |
| 252 | 253 | total_fee: tfeel.toFixed(2), |
| 254 | + total_num:t_num, | |
| 253 | 255 | }); |
| 254 | 256 | } |
| 255 | 257 | }, |
| ... | ... | @@ -258,15 +260,11 @@ Page({ |
| 258 | 260 | check_th_all_item: function(ele) { |
| 259 | 261 | var e = this, |
| 260 | 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 | 267 | if (!sele && item.length > 0) { |
| 268 | - | |
| 269 | - console.log(item); | |
| 270 | 268 | for (var i = 0; i < iarr.length; i++) { |
| 271 | 269 | if (iarr[i].distr_type != 0) { |
| 272 | 270 | if (fir == 0) { |
| ... | ... | @@ -346,30 +344,34 @@ Page({ |
| 346 | 344 | //----------检查是否全选--------- |
| 347 | 345 | doCheckAll: function() { |
| 348 | 346 | var th = this, |
| 349 | - tfeel = 0, | |
| 347 | + tfeel = 0,t_num=0, | |
| 350 | 348 | ischeck = 1, |
| 351 | - car = this.data.requestData; | |
| 349 | + car = this.data.requestData,all_num=0; | |
| 350 | + | |
| 352 | 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 | 353 | for (var c = 0; c < item.length; c++) { |
| 354 | + all_num+=item[c].goods_num; | |
| 356 | 355 | if (item[c].selected == 0) { |
| 357 | 356 | ischeck = 0; |
| 358 | 357 | is_s_sele = 0; |
| 359 | 358 | } else { |
| 360 | 359 | tfeel += item[c].goods_num * item[c].goods_price; |
| 360 | + t_num+= item[c].goods_num; | |
| 361 | 361 | } |
| 362 | 362 | } |
| 363 | 363 | |
| 364 | 364 | var txt = "requestData[" + a + "].selected"; |
| 365 | 365 | th.setData({ |
| 366 | - [txt]: Number(is_s_sele), | |
| 366 | + [txt]: Number(is_s_sele) | |
| 367 | 367 | }); |
| 368 | 368 | |
| 369 | 369 | } |
| 370 | 370 | this.setData({ |
| 371 | 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 | 706 | radio_chick: function(checked, num) { |
| 705 | 707 | var th = this; |
| 706 | 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 | 8 | <!-- 购物车商品框架 --> |
| 9 | 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 | 12 | <view class="flex"> |
| 13 | 13 | <view>商品数量:</view> |
| 14 | - <view class="goods_num">{{requestData.length}}</view> | |
| 14 | + <view class="goods_num">{{all_num}}</view> | |
| 15 | 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 | 18 | </view> |
| 18 | 19 | <block wx:for="{{requestData}}" wx:key="{{index}}" wx:for-index="pidx"> |
| 19 | 20 | <!-- 门店底下的商品 --> |
| ... | ... | @@ -23,7 +24,7 @@ |
| 23 | 24 | checked="{{checkAllToggle||item.selected}}" data-pitems="{{pidx}}"></radio> |
| 24 | 25 | <view class="flex-center"> |
| 25 | 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 | 28 | </view> |
| 28 | 29 | </view> |
| 29 | 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 | 40 | <view class="goods-cont"> |
| 40 | 41 | <view class="goods-name"> |
| 41 | 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 | 47 | </view> |
| 45 | 48 | |
| 46 | 49 | <view class="flex alend jc_sb"> |
| ... | ... | @@ -66,7 +69,9 @@ |
| 66 | 69 | <radio bindtap="checkAll" color="red" checked="{{checkAllToggle}}"></radio> |
| 67 | 70 | <view class="all fs30">全选</view> |
| 68 | 71 | </view> |
| 69 | - <view class="consumer"> | |
| 72 | + | |
| 73 | + <!-- 显示金额的多少 --> | |
| 74 | + <view class="consumer" wx:if="{{is_edit==0}}"> | |
| 70 | 75 | <view class="fs30 baseline"> |
| 71 | 76 | <view class="total">合计:</view> |
| 72 | 77 | <text class="co-red">¥{{total_fee}}</text> |
| ... | ... | @@ -77,12 +82,13 @@ |
| 77 | 82 | </view> |
| 78 | 83 | </view> |
| 79 | 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 | 88 | </view> |
| 83 | 89 | </view> |
| 84 | 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 | 92 | <image class="cart-image" src="{{imgUrl}}/miniapp/images/cart-null.png"></image> |
| 87 | 93 | <view class="no-data-title">购物车暂无商品</view> |
| 88 | 94 | <navigator class="lookat" openType="switchTab" url="/pages/index/index/index"> 去逛逛 </navigator> | ... | ... |