邹能昇 3 months ago
parent
commit
c50dde1edb

+ 1 - 1
nova-tourism/pages/homestay/homestay-detail/index.js

@@ -240,7 +240,7 @@ Page({
         Order.equalTo("room", roomId)
         Order.equalTo("company", company)
         Order.exists("status")
-        Order.notContainedIn('status', [400, 601, 700,800])
+        Order.notContainedIn('status', [400, 601, 700,800,103])
         Order.lessThan("startTime", endTime2);
         Order.greaterThan("endTime", startTime2); 
         Order.select("startTime", "endTime")

+ 1 - 1
nova-tourism/pages/homestay/homestay-order2/index.js

@@ -166,7 +166,7 @@ Page({
         Order.equalTo("room", this.data.roomId)
         Order.equalTo("company", company)
         Order.exists("status")
-        Order.notContainedIn('status', [400, 601, 700,800])
+        Order.notContainedIn('status', [400, 601, 700,800,103])
         Order.lessThan("startTime", endTime2);
         Order.greaterThan("endTime", startTime2); 
         Order.select("startTime", "endTime")

+ 76 - 0
nova-tourism/pages/my/merchant/merchant-home/order2-list/index.js

@@ -18,6 +18,12 @@ Page({
         //订单完成
         show2: false,
         showid2:null,
+        //接受退房
+        show3: false,
+        showid3:null,
+        //拒绝退房
+        show4: false,
+        showid4:null,
 
     },
    async  getUserInfo(e) {
@@ -90,6 +96,76 @@ Page({
         }); // 设置弹窗显示
         console.log(this.data.showid);
     },
+    // 接受退房
+    async jieshou(e){
+        console.log(e.currentTarget.dataset.item.objectId);
+        let objectId = e.currentTarget.dataset.item.objectId
+        let newOrder = new Parse.Query('RoomOrder');
+        newOrder.equalTo('company', company);
+        newOrder.equalTo('objectId', objectId);
+        newOrder.notEqualTo('isDeleted', true);
+        let order = await newOrder.first();
+        console.log(order);
+        order.set('status',103)
+        try{
+            let saveDate = await order.save();
+            console.log('保存成功');
+            this.setData({
+                showid3:null
+            })
+            this.getShopOrder()
+        }catch (error) {
+            console.error("保存数据时出现错误:", error);
+        }
+    },
+    onClose3() {
+        this.setData({
+            show3: false,
+        }); // 关闭弹窗并重置标志位
+    },
+    ONShow3(e) {
+        const id =e.currentTarget.dataset.item.objectId
+        this.setData({
+            showid3:id,
+            show3: true,
+        }); // 设置弹窗显示
+    },
+    //拒绝退房
+    async jujue(e){
+        console.log(e.currentTarget.dataset.item.objectId);
+        let objectId = e.currentTarget.dataset.item.objectId
+        let newOrder = new Parse.Query('RoomOrder');
+        newOrder.equalTo('company', company);
+        newOrder.equalTo('objectId', objectId);
+        newOrder.notEqualTo('isDeleted', true);
+        let order = await newOrder.first();
+        console.log(order);
+        order.set('status',104)
+        try{
+            let saveDate = await order.save();
+            console.log('保存成功');
+            this.setData({
+                showid4:null
+            })
+            this.getShopOrder()
+        }catch (error) {
+            console.error("保存数据时出现错误:", error);
+        }
+    },
+    onClose4() {
+        this.setData({
+            show4: false,
+        }); // 关闭弹窗并重置标志位
+    },
+    ONShow4(e) {
+        const id =e.currentTarget.dataset.item.objectId
+        this.setData({
+            showid4:id,
+            show4: true,
+        }); // 设置弹窗显示
+    },
+
+
     onChange(event) {
         let active = event.detail.name
         this.setData({

+ 18 - 0
nova-tourism/pages/my/merchant/merchant-home/order2-list/index.wxml

@@ -6,6 +6,15 @@
             <block wx:if="{{item.status==100}}">
                 <view class="state">已付款</view>
             </block>
+            <block wx:if="{{item.status==102}}">
+                <view class="state">申请退房</view>
+            </block>
+            <block wx:if="{{item.status==103}}">
+                <view class="state">退房成功</view>
+            </block>
+            <block wx:if="{{item.status==104}}">
+                <view class="state">申请已驳回</view>
+            </block>
             <block wx:if="{{item.status==200}}">
                 <view class="state">已入住</view>
             </block>
@@ -63,6 +72,15 @@
 
         <van-dialog wx:if="{{showid2==item.objectId}}" message='确定该订单也已完成' data-item="{{item}}" show="{{ show2 }}" show-cancel-button bind:cancel="onClose2" bind:confirm="ordercom">
         </van-dialog>
+        <!--申请退房 -->
+        <view class="submitbox" style="display: flex;" wx:if="{{item.status==102}}">
+            <view class="submit"  data-item="{{item}}" bindtap="ONShow3">接受申请</view>
+            <view class="submit" style="margin-left: 15rpx;" data-item="{{item}}" bindtap="ONShow4">拒绝申请</view>
+        </view>
+        <van-dialog wx:if="{{showid3==item.objectId}}" message='确定接受该订单退房' data-item="{{item}}" show="{{ show3 }}" show-cancel-button bind:cancel="onClose3" bind:confirm="jieshou">
+        </van-dialog>
+        <van-dialog wx:if="{{showid4==item.objectId}}" message='拒绝接受该订单退房' data-item="{{item}}" show="{{ show4 }}" show-cancel-button bind:cancel="onClose4" bind:confirm="jujue">
+        </van-dialog>
         <!-- <view class="order-order">
                 <view class="service">联系客服</view> 
                 <view class="service"  >联系房东</view>

+ 40 - 2
nova-tourism/pages/my/my-order/index.js

@@ -27,6 +27,44 @@ Page({
         ],
         value: '民宿',
         roomList: [],
+
+        show: false,
+        showid:null,
+    },
+    onClose() {
+        this.setData({
+            show: false,
+        }); // 关闭弹窗并重置标志位
+    },
+    ONShow(e) {
+        const id =e.currentTarget.dataset.item.objectId
+        this.setData({
+            showid:id,
+            show: true,
+        }); // 设置弹窗显示
+        console.log(this.data.showid);
+    },
+    //订单完成
+    async ordercom(e){
+        console.log(e.currentTarget.dataset.item.objectId);
+        let objectId = e.currentTarget.dataset.item.objectId
+        let newOrder = new Parse.Query('RoomOrder');
+        newOrder.equalTo('company', company);
+        newOrder.equalTo('objectId', objectId);
+        newOrder.notEqualTo('isDeleted', true);
+        let order = await newOrder.first();
+        console.log(order);
+        order.set('status',102)
+        try{
+            let saveDate = await order.save();
+            console.log('保存成功');
+            this.setData({
+                showid:null
+            })
+            this.getRoomOrder()
+        }catch (error) {
+            console.error("保存数据时出现错误:", error);
+        }
     },
 
     /**
@@ -102,13 +140,13 @@ Page({
         Order.equalTo('user', Parse.User.current().id);
         Order.include('shopStore');
         if (this.data.currentTab == 0) {
-            Order.equalTo('status', 100);
+            Order.containedIn('status', [100, 102, 104])
         }
         if (this.data.currentTab == 1) {
             Order.equalTo('status', 200);
         }
         if (this.data.currentTab == 2) {
-            Order.equalTo('status', 800);
+            Order.containedIn('status', [800,103]);
         }
         // 添加排序条件
         Order.descending('updatedAt');

+ 2 - 1
nova-tourism/pages/my/my-order/index.json

@@ -4,6 +4,7 @@
     "van-tabs": "@vant/weapp/tabs/index",
     "van-divider": "@vant/weapp/divider/index",
     "van-dropdown-menu": "@vant/weapp/dropdown-menu/index",
-    "van-dropdown-item": "@vant/weapp/dropdown-item/index"
+    "van-dropdown-item": "@vant/weapp/dropdown-item/index",
+    "van-dialog": "@vant/weapp/dialog/index"
   }
 }

+ 1 - 0
nova-tourism/pages/my/my-order/index.less

@@ -78,6 +78,7 @@
             width: 100%;
             font-size: 28rpx;
             font-weight: 400;
+            display: flex;
         }
         .roombox{
             width: 100%;

+ 15 - 3
nova-tourism/pages/my/my-order/index.wxml

@@ -23,7 +23,12 @@
     <view wx:if="{{currentTab == 0}}">
         <block wx:if="{{value=='民宿'}}" wx:for="{{roomList}}">
             <view class="cardbox">
-                <view class="title">{{item.shopStore.storeName}}</view>
+                <view class="title">{{item.shopStore.storeName}}
+                    <view wx:if="{{item.status==100}}" style="margin-left: auto;">已支付</view>
+                    <view wx:if="{{item.status==102}}" style="margin-left: auto;">申请退房</view>
+                    <view wx:if="{{item.status==104}}" style="margin-left: auto;">申请已驳回</view>
+
+                </view>
                 <view class="roombox">
                     <image src="{{item.room.images[0]}}"></image>
                     <view class="room">
@@ -41,8 +46,12 @@
                     <view class="price">实付款¥{{item.price}}</view>
                 </view>
                 <view class="sumbitbox">
-                    <view class="sumbit" bindtap="gourl" data-url="../my-order/order-detail/index" data-id="{{item.objectId}}">订单详细</view>
+                    <view wx:if="{{item.status==100}}" class="sumbit" bindtap="ONShow" data-item="{{item}}">申请退房</view>
+                    <view class="sumbit" style="margin-left: 15rpx;" bindtap="gourl" data-url="../my-order/order-detail/index" data-id="{{item.objectId}}">订单详细</view>
+
                 </view>
+                <van-dialog wx:if="{{showid==item.objectId}}" message='仅支持线下退款,确定退房吗?' data-item="{{item}}" show="{{ show }}" show-cancel-button bind:cancel="onClose2" bind:confirm="ordercom">
+                </van-dialog>
             </view>
         </block>
         <!-- <block wx:if="{{value=='物品'}}" wx:for="{{3}}">
@@ -119,7 +128,10 @@
     <view wx:if="{{currentTab == 2}}">
         <block wx:if="{{value=='民宿'}}" wx:for="{{roomList}}">
             <view class="cardbox">
-                <view class="title">{{item.shopStore.storeName}}</view>
+                <view class="title">{{item.shopStore.storeName}}
+                    <view wx:if="{{item.status==800}}" style="margin-left: auto;">已完成</view>
+                    <view wx:if="{{item.status==103}}" style="margin-left: auto;">退房成功</view>
+                </view>
                 <view class="roombox">
                     <image src="{{item.room.images[0]}}"></image>
                     <view class="room">

File diff suppressed because it is too large
+ 0 - 0
nova-tourism/pages/my/my-order/index.wxss


Some files were not shown because too many files changed in this diff