Bläddra i källkod

fix:订单详情页

sunshine1130 4 år sedan
förälder
incheckning
518a66aee5

+ 15 - 13
pages/appointment/appointment.js

@@ -56,7 +56,6 @@ Page({
         url: '/pages/prompt/prompt?page=' + this.route,
       })
     }
-    console.log(self.productInfo)
     let data = {
       productId: self.data.productId,
       storeId: self.data.shopId,
@@ -69,11 +68,11 @@ Page({
     let orderId = rs.orderId;
 
     wx.navigateTo({
-      url: '../order/order?status=2&id='+orderId,
+      url: '../order/order?status=2&id=' + orderId,
     })
   },
-  getMobile:function (params) {
-    
+  getMobile: function (params) {
+
   },
 
   onSlideChangeEnd: function (e) {
@@ -110,11 +109,12 @@ Page({
     //选中时间的下标
     var index = e.currentTarget.dataset.i;
     //获取选中的日期
-    var date = this.data.days[i];
-    var time = e.currentTarget.dataset.time;
-    var year = (new Date()).getFullYear()
 
-    var oTime = year + '-' + date + ' ' + time;
+    let date = this.data.days[i];
+    let time = e.currentTarget.dataset.time;
+    let year = (new Date()).getFullYear()
+
+    let oTime = year + '-' + date + ' ' + time;
 
     //设置选中的样式
     var tabs = this.data.tabs;
@@ -123,14 +123,16 @@ Page({
     list.forEach(function (item, i, array) {
       item.checked = false;
     })
+    //设置在开通时间内选中的样式
     if (list[index].inTime) {
       list[index].checked = true;
       this.data.tabs[i].list = list;
+      this.setData({
+        tabs,
+        orderTime: oTime,
+      })
     }
-    this.setData({
-      orderTime: oTime,
-      tabs
-    })
+
   },
 
   addPeopleNum: function (e) {
@@ -154,7 +156,7 @@ Page({
     })
   },
 
-  
+
 
   /**
    * 生命周期函数--监听页面初次渲染完成

+ 1 - 1
pages/appointment/appointment.wxml

@@ -35,7 +35,7 @@
 
                             <view
                                 class="time-info {{item.checked&&item.inTime?'select-time':''}}  {{item.inTime?'':'out-time'}}"
-                                data-time="{{item.time}}" data-i="{{index}}" bindtap="getOrderTime">
+                                data-time="{{item.time}}"  data-i="{{index}}" bindtap="getOrderTime">
                                 <view class="time fw300">{{item.time}}</view>
                                 <view class="price fw300">¥{{item.price}}</view>
                             </view>

+ 27 - 20
pages/order/order.js

@@ -9,6 +9,7 @@ Page({
    * 页面的初始数据
    */
   data: {
+    orderId:0,
     order: {},
     //1显示订单详情,2显示确认支付,取消订单,3显示删除订单
     orderStatus: 1,
@@ -20,25 +21,12 @@ Page({
    * 生命周期函数--监听页面加载
    */
   onLoad: async function (options) {
-
-    console.log(options)
     var orderId = options.id;
-    let status = options.status;
-    let order = await orderApi.getOrderById(orderId);
     this.setData({
-      order: order.info
+      orderId:orderId
     })
-    /*   drawById.call(wx, "qrCode", {
-      text: order.info.writeOffCode, // 二维码内容
-    })
- */
-    if (status == 2) {
-      console.log('abc')
-      this.setData({
-        orderStatus: 2
-      })
-      this.createTimeClock()
-    }
+    
+
   },
   //生成二维码
   createQrcode: function () {
@@ -49,16 +37,20 @@ Page({
 
   createTimeClock: function () {
     var self = this;
-    let orderCreateTime = new Date(this.data.order.createTime);
-    let endTime = orderCreateTime.getTime()+15*60*1000;
+    let order = this.data.order;
+    console.log(order.createTime)
+    let orderCreateTime = new Date(order.createTime);
+    let endTime = orderCreateTime.getTime() + 15 * 60 * 1000;
     // let endTime = orderCreateTime.getTime() + 30 * 1000;
+
     var timerID = setInterval(() => {
       let nowTime = new Date();
       let timer = endTime - nowTime;
       if (timer < 1) {
         clearInterval(timerID);
+        order.status = 3;
         self.setData({
-          orderStatus: 3
+          order
         })
       }
       let minute = Math.floor(timer / (60 * 1000));
@@ -113,8 +105,23 @@ Page({
   /**
    * 生命周期函数--监听页面显示
    */
-  onShow: function () {
+  onShow:async function () {
+    var orderId = this.data.orderId;
+    let order = await orderApi.getOrderById(orderId);
+    this.setData({
+      order: order.info,
+      orderStatus: order.info.status,
+    })
+    
+    if (order.info.status == 1) {
+      this.createTimeClock()
+    }
+    if (order.info.status == 2) {
+      drawById.call(wx, "qrCode", {
+        text: order.info.writeOffCode, // 二维码内容
+      })
 
+    }
   },
 
   /**

+ 4 - 4
pages/order/order.wxml

@@ -1,7 +1,7 @@
 <!-- pages/order/order.wxml -->
 <view class="container">
     <!-- 倒计时 -->
-    <view class="timer" wx:if="{{orderStatus==2}}">等待买家付款,剩余{{timer.minute}}分{{timer.second}}秒后自动关闭</view>
+    <view class="timer" wx:if="{{order.status==1}}">等待买家付款,剩余{{timer.minute}}分{{timer.second}}秒后自动关闭</view>
     <view class="code-info" wx:if="{{order.status==2}}">
         <view class="code card">
             <canvas class="canvas-code" type="2d" id="qrCode" />
@@ -35,8 +35,8 @@
         </view>
     </view>
     <view class="order-btn">
-        <view class="delete-btn" bindtap = "cancelOrder" wx:if="{{orderStatus==2}}">取消订单</view>
-        <view class="pay-btn" wx:if="{{orderStatus==2}}">确认支付</view>
-        <view class="delete-btn" bindtap = "deleteOrder" wx:if="{{orderStatus==3}}">删除订单</view>
+        <view class="delete-btn" bindtap = "cancelOrder" wx:if="{{order.status==1}}">取消订单</view>
+        <view class="pay-btn" wx:if="{{order.status==1}}">确认支付</view>
+        <view class="delete-btn" bindtap = "deleteOrder" wx:if="{{order.status==3}}">删除订单</view>
     </view>
 </view>

+ 8 - 9
pages/personorder/personorder.js

@@ -1,5 +1,6 @@
 // pages/personorder/personorder.js
 const app = getApp()
+import order from '../../api/order'
 import orderApi from '../../api/order'
 Page({
 
@@ -43,7 +44,7 @@ Page({
 
 
   },
-  
+
   // 获取全部列表
   getAllOrderList: async function () {
     const self = this
@@ -178,7 +179,7 @@ Page({
       activeTab: index,
       pageNo: [1, 1, 1, 1]
     })
-    if(index==0){
+    if (index == 0) {
       this.getAllOrderList()
       return
     }
@@ -200,16 +201,14 @@ Page({
   },
 
   showOrderInfo: async function (e) {
+
     var orderId = e.currentTarget.dataset.orderid;
+    console.log(orderId)
     var status = e.currentTarget.dataset.status;
     var writeStatus = e.currentTarget.dataset.writestatus;
-
-    if (status == 2 && writeStatus == 1) {
-      wx.navigateTo({
-        url: '../order/order?orderId=' + orderId,
-      })
-      return
-    }
+    wx.navigateTo({
+      url: '../order/order?id=' + orderId,
+    })
 
   },
   /**