// nova-tourism/pages/my/my-order/index.js let Parse = getApp().Parse; const company = getApp().globalData.company Page({ /** * 页面的初始数据 */ data: { statusBarHeight: 0, screenHeight: 0, customHeight: 0, bottomNavHeight: 0, contentHeight: 0, currentTab:0, option: [{ text: '民宿订单', value: '民宿' }, { text: '物品订单', value: '物品' }, ], 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); } }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { this.setData({ currentTab: Number(options.active) }) const systemInfo = wx.getSystemInfoSync(); const statusBarHeight = systemInfo.statusBarHeight || 0; const screenHeight = systemInfo.screenHeight || 0; const custom = wx.getMenuButtonBoundingClientRect(); const customHeight = custom.height + 10 + 2 || 0; const bottomNavHeight = systemInfo.screenHeight - systemInfo.safeArea.bottom || 0; const contentHeight = (screenHeight - bottomNavHeight - statusBarHeight - customHeight) * 750 / systemInfo.windowWidth; this.setData({ statusBarHeight, screenHeight, customHeight, bottomNavHeight, contentHeight }); this.getRoomOrder() }, switchTab (e) { const index = e.currentTarget.dataset.index; this.setData({ currentTab: index, }); if (this.data.value == '民宿') { this.getRoomOrder() } else { } console.log(this.data.currentTab, this.data.value); }, //改变民宿或物品 change(e) { console.log(this.data.value); this.setData({ currentTab: 0 }) if (this.data.value == '民宿') { this.getRoomOrder() } else { } }, formatDate2(date1, date2) { date1 = new Date(date1); date2 = new Date(date2); // 获取年份、月份和日期 const year1 = date1.getFullYear(); const month1 = date1.getMonth() + 1; // 月份从0开始,所以要加1 const day1 = date1.getDate(); const year2 = date2.getFullYear(); const month2 = date2.getMonth() + 1; // 月份从0开始,所以要加1 const day2 = date2.getDate(); // 返回格式化的字符串 return `${year1}年${month1}月${day1}日入住 - ${year2}年${month2}月${day2}日离店`; }, async getRoomOrder() { let Order = new Parse.Query('RoomOrder'); Order.equalTo('company', company); Order.include('room'); Order.equalTo('user', Parse.User.current().id); Order.include('shopStore'); if (this.data.currentTab == 0) { Order.equalTo('status', 100) } if (this.data.currentTab == 1) { Order.equalTo('status', 200); } if (this.data.currentTab == 2) { Order.equalTo('status', 800); } // 添加排序条件 Order.descending('updatedAt'); let room = await Order.find(); let roomList = room.map(async item => { let roomItme = item.toJSON(); roomItme.tiem = await this.formatDate2(roomItme.startTime.iso, roomItme.endTime.iso) return roomItme }); let roomList2 = await Promise.all(roomList); this.setData({ roomList: roomList2 }) console.log(this.data.roomList); }, gourl(e) { const url = e.currentTarget.dataset.url; const id = e.currentTarget.dataset.id; // 构造要传递的信息 const info = { objectId: id, value:this.data.value }; // 将信息转为查询字符串 const queryString = Object.keys(info) .map(key => `${encodeURIComponent(key)}=${encodeURIComponent(info[key])}`) .join('&'); // 使用查询字符串跳转 wx.navigateTo({ url: `${url}?${queryString}`, }); }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { }, /** * 生命周期函数--监听页面显示 */ onShow: function () { }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { } })