123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264 |
- // nova-tourism/pages/my/my-order/order-detail/index.js
- let Parse = getApp().Parse;
- const company = getApp().globalData.company
- const dateF = require("../../../../../utils/date")
- Page({
- /**
- * 页面的初始数据
- */
- data: {
- statusBarHeight: 0,
- screenHeight: 0,
- customHeight: 0,
- bottomNavHeight: 0,
- contentHeight: 0,
- objectId: '',
- value: '',
- roomList: {},
- isQr: false, //二维码弹框
- statusMap: {
- 100: '未入住',
- 200: '已入住',
- 300: '续住',
- 400: '已退房',
- 500: '申请退款',
- 601: '退款审核通过',
- 602: '退款已驳回',
- 700: '退款成功',
- 800: '已完成',
- 101: '已取消支付',
- 102: '已完申请退房成',
- 103: '退房成功',
- 104: '退房被驳回',
- 105: '未支付',
- },
- },
- /**
- * 生命周期函数--监听页面加载
- */
- onLoad: function (options) {
- const {
- objectId,
- value
- } = options;
- const Value = decodeURIComponent(value);
- this.setData({
- objectId,
- value: Value
- })
- console.log(this.data.value, this.data.objectId);
- 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
- });
- if (this.data.value == '民宿') {
- this.getRoomOrder()
- }
- },
- async getRoomOrder() {
- let Order = new Parse.Query('RoomOrder');
- Order.equalTo('company', company);
- Order.equalTo('objectId', this.data.objectId);
- Order.include('room');
- Order.equalTo('user', Parse.User.current().id);
- Order.include('shopStore');
- 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)
- roomItme.startTime = await this.formatDate(roomItme.startTime.iso)
- roomItme.endTime = await this.formatDate(roomItme.endTime.iso)
- return roomItme
- });
- let roomList2 = await Promise.all(roomList);
- this.setData({
- roomList: roomList2[0]
- })
- console.log(this.data.roomList);
- },
- 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}日离店`;
- },
- formatDate(isoString) {
- const date = new Date(isoString);
- const year = date.getUTCFullYear();
- const month = String(date.getUTCMonth() + 1).padStart(2, '0'); // 月份从0开始
- const day = String(date.getUTCDate()).padStart(2, '0');
- const hours = String(date.getUTCHours()).padStart(2, '0');
- const minutes = String(date.getUTCMinutes()).padStart(2, '0');
- const seconds = String(date.getUTCSeconds()).padStart(2, '0');
- return `${year}-${month}-${day} 14:00:00`;
- },
- //复制
- copyOrderNum() {
- const orderNum = this.data.roomList.orderNum; // 获取订单编号
- if (orderNum) {
- wx.setClipboardData({
- data: orderNum,
- success: () => {
- wx.showToast({
- title: '复制成功',
- icon: 'success',
- duration: 2000
- });
- },
- fail: (err) => {
- console.error('复制失败:', err);
- wx.showToast({
- title: '复制失败',
- icon: 'none',
- duration: 2000
- });
- }
- });
- } else {
- wx.showToast({
- title: '没有订单编号',
- icon: 'none',
- duration: 2000
- });
- }
- },
- //续住
- gourl() {
- const start = new Date();
- const end = new Date(start); // 复制 start 日期
- end.setDate(start.getDate() + 1); // 将 end 设置为 start 的后一天
- // 构造要传递的信息
- const info = {
- objectId: this.data.roomList.room.objectId,
- date_start: dateF.formatTime('YYYY-mm-dd', start),
- date_end: dateF.formatTime('YYYY-mm-dd', end),
- };
- console.log('info', info);
- wx.navigateTo({
- url: `../../../homestay/homestay-order2/index?objectId=${info.objectId}&date_start=${info.date_start}&date_end=${info.date_end}`
- });
- },
- /**展开订单二维码 */
- async openQr() {
- let {
- qr
- } = this.data
- if (qr) {
- this.setData({
- isQr: true
- })
- return
- }
- let that = this
- let {
- roomList
- } = this.data
- let url = 'https://server.fmode.cn/api/common/qrcode'
- wx.request({
- url: url,
- data: {
- qrCode: roomList?.objectId || '',
- darkColor: "#000000",
- lightColor: "#ffffff"
- },
- method: 'GET',
- header: {
- 'content-type': 'application/json'
- },
- success: function (res) {
- let qr = res.data.data
- that.setData({
- qr,
- isQr: true,
- })
- },
- fail: function () {
- wx.showToast({
- title: '请求二维码失败,请稍后再试',
- })
- }
- })
- },
- closeQr() {
- this.setData({
- isQr: false
- })
- },
- /**
- * 生命周期函数--监听页面初次渲染完成
- */
- onReady: function () {
- },
- /**
- * 生命周期函数--监听页面显示
- */
- onShow: function () {
- },
- /**
- * 生命周期函数--监听页面隐藏
- */
- onHide: function () {
- },
- /**
- * 生命周期函数--监听页面卸载
- */
- onUnload: function () {
- },
- /**
- * 页面相关事件处理函数--监听用户下拉动作
- */
- onPullDownRefresh: function () {
- },
- /**
- * 页面上拉触底事件的处理函数
- */
- onReachBottom: function () {
- },
- /**
- * 用户点击右上角分享
- */
- onShareAppMessage: function () {
- }
- })
|