Browse Source

feat(康道足浴) 添加确认点餐功能

xing.li 4 years ago
parent
commit
7b642e9d7e
4 changed files with 68 additions and 36 deletions
  1. 36 10
      pages/food/food.js
  2. 3 3
      pages/food/food.wxml
  3. 23 19
      pages/foodOrder/foodOrder.js
  4. 6 4
      pages/foodOrder/foodOrder.wxml

+ 36 - 10
pages/food/food.js

@@ -12,8 +12,10 @@ Page({
     activeTab:0,
     showCart:false,
     mask:true,
-    series:[],
-
+    series:[],//商品分类
+    currentProductList:[],//商品
+    totalNum:0,//购物车总数
+    totalPrice:0.00//购物车总价格
   },
 
 
@@ -31,7 +33,6 @@ Page({
       })
     }
    
-    
   },
 
    //商品分类列表
@@ -65,7 +66,8 @@ Page({
     self.setData({
       cartId:rs.id,
       cartList:rs.list,
-      cartListNum:rs.count?rs.count:0,
+      totalNum:rs.totalNum?rs.totalNum:0,
+      totalPrice:rs.totalPrice?rs.totalPrice:0.00,
     })
   },
 
@@ -89,7 +91,9 @@ Page({
     // });
     await this.updateCart(productId,type);
     await this.getCart();
-   
+    if(this.data.cartList.length ==0){
+      this.setData({showCart:false})
+    }
   },
 
   onLoad: async function (options) {
@@ -104,19 +108,31 @@ Page({
   },
   
   startOrder: function (e) {
-
     if(this.data.cartList.length>0){
+      this.setData({showCart:false})
       wx.navigateTo({
         url: '/pages/foodOrder/foodOrder?tableId='+this.data.tableId+"&storeId="+this.data.storeId+"&cartId="+this.data.cartId
       })
     }else{
-      wx.showModal({
-        content: '请选择产品',
+      wx.showToast({
+        title: '请选择产品',
+        icon: 'none',
+        duration: 1000
       })
+    
     }
     
   },
- 
+  handleTabClick: function (e) {
+    let index = e.currentTarget.dataset.index;
+    this.activeTab(index);
+    this.setData({ activeTab: index });
+  },
+  handleSwiperChange: function (e) {
+    var index = e.detail.current;
+    this.activeTab(index);
+    this.setData({ activeTab: index });
+  },
   activeTab: function (_activeTab) {
     var len = this.data.series.length;
     if (len === 0) return;
@@ -148,7 +164,17 @@ Page({
   openCartDialog: function(e){
     let type = e.currentTarget.dataset.type;
     if (type === 'open'){
-      this.setData({showCart:true})
+      if(this.data.cartList.length==0){
+        wx.showToast({
+          title: '请选择产品',
+          icon: 'none',
+          duration: 1000
+        })
+      }else{
+        this.setData({showCart:true})
+      }
+     
+     
     }else{
       this.setData({showCart:false})
     }

+ 3 - 3
pages/food/food.wxml

@@ -45,7 +45,7 @@
          </view>
          <view class="cart-num cart-mar" bindtap="openCartDialog" data-type="open">
             <text class="cart-num-txt" wx:if="{{cartList.length == 0}}">购物车空空如也~~~</text>
-            <text class="cart-num-txt" wx:if="{{cartList.length > 0}}">已点{{cartListNum}}个商品,点击查看详情</text>
+            <text class="cart-num-txt" wx:if="{{cartList.length > 0}}">已点{{totalNum}}件商品,点击查看详情</text>
          </view>
          <view class="buy-cart cart-mar" bindtap="startOrder">
             <text class="buy-cart-txt">点好了</text>
@@ -64,7 +64,7 @@
   <view class="weui-mask init" wx:if="{{mask}}" bindtap="openCartDialog" data-type="close"></view>
   <view class="weui-half-screen-dialog cart-dialog">
     <view class="weui-half-screen-dialog__hd cart-hd" >
-       <view class="discount-txt">已点{{cartListNum}}个商品</view>
+       <view class="discount-txt">已点{{totalNum}}件商品,合计:¥{{totalPrice}}</view>
       <view bindtap="openCartDialog" data-type="close">
         <view class=" weui-icon-btn_close">关闭</view>
         </view>
@@ -91,7 +91,7 @@
       </block>
     </view>
     <view class="weui-half-screen-dialog__ft" style="height: 50rpx;"  bindtap="startOrder">
-      <button type="warn">去支付 </button>
+      <button type="warn">点好了 </button>
     </view>
 
    <!-- <view class="weui-half-screen-dialog__ft" wx:if="{{!check_mobile}}">

+ 23 - 19
pages/foodOrder/foodOrder.js

@@ -13,7 +13,9 @@ Page({
   data: { 
   
     is_confirms:true,
-    cartList:[]
+    cartList:[],
+    totalNum:0,
+    totalPrice:0.00,
   },
   onShow:function(){
     this.setData({
@@ -21,30 +23,32 @@ Page({
     })
   },
     // 获取购物车
-    getCart: async function(){
-      let self = this;
-      let data = {
-        tableId: this.data.tableId,
-        storeId: this.data.storeId
-      }
-      const rs = await productApi.getCart(data)
-      
-      self.setData({
-        cartId:rs.id,
-        cartList:rs.list
-      })
-    },
+  getCart: async function(){
+    let self = this;
+    let data = {
+      tableId: this.data.tableId,
+      storeId: this.data.storeId
+    }
+    const rs = await productApi.getCart(data)
+    
+    self.setData({
+      cartId:rs.id,
+      cartList:rs.list,
+      totalNum:rs.totalNum,
+      totalPrice:rs.totalPrice
+    })
+  },
+
   onLoad : async function (options) {
     this.setData({
       tableId:options.tableId,
       storeId:options.storeId,
     })
     const rs = await storeApi.getStoreById(options.storeId)
-      this.setData({
-        storeInfo: rs.info
-      })
-
-       this.getCart();
+    this.setData({
+      storeInfo: rs.info
+    })
+   this.getCart();
 
     wx.showLoading({
       title: 'loading',

+ 6 - 4
pages/foodOrder/foodOrder.wxml

@@ -15,7 +15,7 @@
       <view class="line"></view>
         <view class="good-tran">
           <view class="left-border"></view>
-          <view class="tran-txt">待提交的商品</view>
+          <view class="tran-txt">待支付的商品</view>
         </view>
         <view class="good-info" wx:for="{{cartList}}">
           <view style="width:160rpx;float:left">
@@ -34,7 +34,7 @@
         </view>
     </view>
     <view class="good-price order-info-wth">
-      <text class="total-money">¥{{price}}</text>
+      <text class="total-money">¥{{totalPrice}}</text>
       <text class="total-txt">总价</text>
     </view>
    
@@ -53,8 +53,10 @@
 </view>
 
   <view class="order-info-ft">
-    <!-- <view class="ft-p">¥</view> -->
-    <!-- <view class="ft-price">{{price}}</view> -->
+    <view class="ft-p">共</view>
+    <view class="ft-price">{{totalNum}}件,</view>
+    <view class="ft-p">合计:¥</view>
+    <view class="ft-price">{{totalPrice}}</view>
     <!-- <view class="discount">已优惠{{discount_price}}</view> -->
     <button class="pay" type="warn" bindtap="{{is_confirms == true?'confirms':''}}">去支付</button>
   </view>