邹能昇 vor 4 Monaten
Ursprung
Commit
81a1ab4cde

+ 42 - 18
nova-tourism/pages/homestay/homestay-order2/index.js

@@ -26,10 +26,12 @@ Page({
         date2: '',
         name: '',
         mobile: '',
-        error_message:'',
-        activeOrder:null,//创建的订单
-        tradeNo:null,//订单号
-        showPayment:false,//显示支付组件
+        error_message: '',
+        activeOrder: null, //创建的订单
+        tradeNo: null, //订单号
+        showPayment: false, //显示支付组件
+        //显示日历选择
+        show:false,
     },
 
     /**
@@ -87,7 +89,7 @@ Page({
             // priceInfoArr: dataAll,
             count: dataAll.length
         })
-        
+
         console.log('天数', this.data.count);
     },
     //修改时间格式
@@ -164,12 +166,12 @@ Page({
         Order.equalTo("room", this.data.roomId)
         Order.equalTo("company", company)
         Order.exists("status")
-        Order.notContainedIn('status',[100,400,601,700])
+        Order.notContainedIn('status', [100, 400, 601, 700])
         Order.greaterThanOrEqualTo("startTime", endTime) //20  23    21 22  
         Order.lessThanOrEqualTo("endTime", startTime)
         Order.select("startTime", "endTime")
         let count = await Order.count()
-        console.log('count',count);
+        console.log('count', count);
         return count
     },
     //生成订单号
@@ -236,7 +238,7 @@ Page({
     //获取住客姓名
     getname(e) {
         this.setData({
-            name:e.detail
+            name: e.detail
         })
         console.log(e.detail);
     },
@@ -244,21 +246,21 @@ Page({
     getmobile(e) {
         const mobileNumber = e.detail.value; // 假设手机号是通过 e.detail.value 传递的
         console.log(mobileNumber);
-    
+
         // 正则表达式:匹配中国大陆手机号
         const mobilePattern = /^1[3-9]\d{9}$/;
-    
+
         // 验证手机号格式
         if (mobilePattern.test(mobileNumber)) {
             this.setData({
-                error_message:'',
-                mobile:mobileNumber
+                error_message: '',
+                mobile: mobileNumber
             })
             console.log("手机号格式正确");
             // 这里可以执行其他操作,比如保存手机号或进行下一步操作
         } else {
             this.setData({
-                error_message:'手机号格式不正确'
+                error_message: '手机号格式不正确'
             })
             console.log("手机号格式不正确");
             // 这里可以提示用户手机号格式不正确
@@ -273,7 +275,7 @@ Page({
         //     })
         //     return
         // }
-        if (this.data.name.length==0||this.data.mobile.length==0) {
+        if (this.data.name.length == 0 || this.data.mobile.length == 0) {
             wx.showToast({
                 title: '请输入住人信息',
                 icon: 'none',
@@ -290,17 +292,17 @@ Page({
             return
         }
         let tradeNo = this.getTradeNo() //生成订单编号
-        let order = await this.setOrder(tradeNo)//生成订单
+        let order = await this.setOrder(tradeNo) //生成订单
         if (order) {
             this.setData({
                 activeOrder: order,
                 tradeNo,
-                showPayment: true,//展示支付组件
+                showPayment: true, //展示支付组件
             })
         }
     },
     //  返回首页
-    getback(){
+    getback() {
         wx.navigateTo({
             url: '../../../pages/index/index',
         });
@@ -397,5 +399,27 @@ Page({
      */
     onShareAppMessage: function () {
 
-    }
+    },
+    //开日历
+    onDisplay() {
+        this.setData({
+            show: true
+        });
+    },
+    //关日历
+    onClose() {
+        this.setData({
+            show: false
+        });
+    },
+    //选好日期点击完成后
+    onConfirm(event) {
+        const [start, end] = event.detail;
+        this.setData({
+            show: false,
+            startTime:start,
+            endTime:end,
+        });
+        this.getdate()
+    },
 })

+ 2 - 1
nova-tourism/pages/homestay/homestay-order2/index.json

@@ -2,6 +2,7 @@
   "usingComponents": {
     "van-divider": "@vant/weapp/divider/index",
     "van-field": "@vant/weapp/field/index",
-    "van-icon": "@vant/weapp/icon/index"
+    "van-icon": "@vant/weapp/icon/index",
+    "van-calendar": "@vant/weapp/calendar/index"
   }
 }

+ 3 - 1
nova-tourism/pages/homestay/homestay-order2/index.wxml

@@ -1,10 +1,12 @@
 <!--nova-tourism/pages/homestay/homestay-order2/index.wxml-->
 <nav type="back" background-color="#ffffff" frontColor="#000000" title="{{room.shop.storeName}}" />
 <view class="all" style="height: {{contentHeight}}rpx;">
-    <view class="timebox">
+    <view class="timebox" bindtap="onDisplay">
         <view class="time1">{{date}}</view>
         <view>{{count}}晚</view>
     </view>
+    <van-calendar show="{{ show }}" show-confirm="{{ true }}" confirm-text="完成" confirm-disabled-text='完成' type="range" bind:close="onClose" bind:confirm="onConfirm" color='#46a9a4' position='bottom' />
+
     <view class="roombox">
         <image src="{{room.images[0]}}"></image>
         <view class="room">

+ 24 - 0
nova-tourism/pages/my/my-order/order-detail/index.js

@@ -131,6 +131,30 @@ Page({
             });
         }
     },
+    //续住
+    gourl() {
+        const start = new Date(this.data.roomList.endTime);
+        const end = new Date(start); // 复制 start 日期
+        end.setDate(start.getDate() + 1); // 将 end 设置为 start 的后一天
+    
+        // 构造要传递的信息
+        const info = {
+            objectId: this.data.roomList.room.objectId,
+            date_start: start.toISOString(), // 转换为 ISO 格式字符串
+            date_end: end.toISOString(), // 转换为 ISO 格式字符串
+        };
+        console.log('info', info);
+    
+        // 将信息转为查询字符串
+        var queryString = Object.keys(info)
+            .map(key => `${encodeURIComponent(key)}=${encodeURIComponent(info[key])}`)
+            .join('&');
+        console.log(queryString);
+        
+        wx.navigateTo({
+            url: `../../../homestay/homestay-order2/index?${queryString}`
+        });
+    },
     /**
      * 生命周期函数--监听页面初次渲染完成
      */

+ 1 - 1
nova-tourism/pages/my/my-order/order-detail/index.wxml

@@ -57,7 +57,7 @@
                     </view>
                 </view>
                 <view class="sumbitbox" wx:if="{{roomList.status==200}}">
-                    <view class="sumbit">我要续住</view>
+                    <view class="sumbit" bindtap="gourl">我要续住</view>
                 </view>
             </view>
         </block>