Commit 6c948d2ffdeb06b984953cdb155ce5274f03f72a

Authored by yvan.ni
1 parent 08ab28bf

购物车的规格修改

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>
... ...