mirror of
https://gitee.com/elegant_wings/dbd-meeting-wx-small.git
synced 2025-06-21 18:59:36 +08:00
297 lines
8.0 KiB
JavaScript
297 lines
8.0 KiB
JavaScript
const app = getApp()
|
||
|
||
import Dialog from '@vant/weapp/dialog/dialog';
|
||
import Notify from '@vant/weapp/notify/notify';
|
||
|
||
import {
|
||
meetingRoomDetailRq,
|
||
getCustomerTicketRq,
|
||
calculateMeetingRoomAmountRq,
|
||
saveMeetingRecordRq
|
||
} from "../../../../api/meeting/meetingRoom.js"
|
||
|
||
import {
|
||
selfFormatTimeYMD,
|
||
selfFormatTimeHM,
|
||
twoTimeInterval,
|
||
selfArrSum
|
||
} from "../../../../utils/util.js"
|
||
|
||
|
||
Page({
|
||
|
||
/**
|
||
* 页面的初始数据
|
||
*/
|
||
data: {
|
||
IMG_NAME: app.IMG_NAME,
|
||
protocolFlag: true,
|
||
protocolTitle: '《会议室服务协议》',
|
||
meetingRoomId: null,
|
||
startTime: null,
|
||
endTime: null,
|
||
selectDay: null,
|
||
selectCountTime: null,
|
||
bannerList: [],
|
||
room: {},
|
||
userData: {},
|
||
couponId: '',
|
||
couponData: {},
|
||
couponList: [],
|
||
couponCount: 0,
|
||
couponUseList: [],
|
||
couponUseCount: 0,
|
||
couponNotUseList: [],
|
||
couponNotUseCount: 0,
|
||
countAmount: '',
|
||
totalAmount: '',
|
||
priceDialogShow: false,
|
||
},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面加载
|
||
*/
|
||
onLoad(options) {
|
||
console.log('onLoad', options);
|
||
let selectCountTime = selfFormatTimeHM(options.startTime) + "-" + selfFormatTimeHM(options.endTime) + ' 共计' + twoTimeInterval(options.startTime, options.endTime)
|
||
this.setData({
|
||
...options,
|
||
userData: wx.getStorageSync('user'),
|
||
selectDay: selfFormatTimeYMD(options.startTime),
|
||
selectCountTime
|
||
})
|
||
// 详细信息
|
||
this.getDetail();
|
||
// 获取优惠卷
|
||
this.getCustomerTicket();
|
||
},
|
||
|
||
// 详细信息
|
||
getDetail() {
|
||
let _this = this;
|
||
meetingRoomDetailRq(this.data.meetingRoomId).then(res => {
|
||
let detail = res.roomContent;
|
||
let bannerList = []
|
||
if (detail.indoorPicUrl) {
|
||
try {
|
||
bannerList = JSON.parse(detail.indoorPicUrl).map(item => item.url)
|
||
} catch (error) {
|
||
console.log(`JSON error : ${error}`);
|
||
}
|
||
}
|
||
_this.setData({
|
||
room: detail,
|
||
bannerList
|
||
})
|
||
})
|
||
},
|
||
|
||
// 获取优惠卷
|
||
getCustomerTicket() {
|
||
let _this = this;
|
||
getCustomerTicketRq({
|
||
"userId": _this.data.userData.id,
|
||
"customerId": _this.data.userData.icsCustomerId,
|
||
"meetingId": _this.data.meetingRoomId,
|
||
"type": '1'
|
||
}).then(res => {
|
||
let nowTime = new Date().getTime();
|
||
let dataList = res.data.map(item => {
|
||
item.startTime = selfFormatTimeYMD(item.startTime)
|
||
item.endDate = selfFormatTimeYMD(item.endDate)
|
||
let kaishiTime = new Date(item.startTime + " 00:00:00")
|
||
let jieshuTime = new Date(item.endDate + " 23:59:59")
|
||
if (nowTime >= kaishiTime && nowTime <= jieshuTime) {
|
||
item.isDisable = false
|
||
} else {
|
||
item.isDisable = true
|
||
}
|
||
return item;
|
||
})
|
||
// 可用
|
||
let useList = res.data.filter(item => !item.isDisable)
|
||
// 不可用
|
||
let notUseList = res.data.filter(item => item.isDisable)
|
||
|
||
_this.setData({
|
||
couponList: dataList,
|
||
couponCount: selfArrSum(dataList.map(item => item.num)),
|
||
couponUseList: useList,
|
||
couponUseCount: selfArrSum(useList.map(item => item.num)),
|
||
couponNotUseList: notUseList,
|
||
couponNotUseCount: selfArrSum(notUseList.map(item => item.num)),
|
||
})
|
||
})
|
||
},
|
||
|
||
|
||
// 主题修改监听
|
||
titleChange(event) {
|
||
this.setData({
|
||
title: event.detail
|
||
})
|
||
},
|
||
|
||
// 跳转-空间设施
|
||
jumpMeetingFacilities() {
|
||
let meetingRoomId = this.data.meetingRoomId;
|
||
wx.navigateTo({
|
||
url: '/pages/meeting/meetingRoom/meetingFacilities/meetingFacilities?meetingRoomId=' + meetingRoomId,
|
||
})
|
||
},
|
||
|
||
// 跳转-优惠卷
|
||
jumpMeetingCoupon() {
|
||
let _this = this;
|
||
wx.navigateTo({
|
||
url: `/pages/meeting/meetingRoom/meetingCoupon/meetingCoupon?type=1&couponId=${_this.data.couponId}&meetingRoomId=${_this.data.meetingRoomId}`,
|
||
})
|
||
},
|
||
|
||
// 协议点击
|
||
protocolChange() {
|
||
let _this = this;
|
||
_this.setData({
|
||
protocolFlag: !_this.data.protocolFlag
|
||
});
|
||
},
|
||
|
||
// 跳转协议
|
||
jumpProtocol() {
|
||
let _this = this;
|
||
wx.navigateTo({
|
||
url: "/pages/meeting/meetingRoom/meetingProtocol/meetingProtocol?title=" + _this.data.protocolTitle,
|
||
})
|
||
},
|
||
|
||
// 价格明细
|
||
priceDetail() {
|
||
let _this = this
|
||
_this.setData({
|
||
priceDialogShow: true
|
||
})
|
||
},
|
||
|
||
// 提交订单
|
||
submitCase() {
|
||
let _this = this
|
||
// 参数校验
|
||
if (!_this.data.title) {
|
||
// 错误提示
|
||
Notify({
|
||
type: 'danger',
|
||
message: '请输入会议主题!'
|
||
});
|
||
return;
|
||
}
|
||
if (!_this.data.protocolFlag) {
|
||
// 错误提示
|
||
Notify({
|
||
type: 'danger',
|
||
message: `请同意${_this.data.protocolTitle}!`
|
||
});
|
||
return;
|
||
}
|
||
|
||
saveMeetingRecordRq({
|
||
"roomContentId": _this.data.meetingRoomId,
|
||
"userId": _this.data.userData.id,
|
||
"ticketId": _this.data.couponId,
|
||
"customerId": _this.data.userData.icsCustomerId,
|
||
"title": _this.data.title,
|
||
"startTime": _this.data.startTime,
|
||
"endDate": _this.data.endTime,
|
||
"orderMoney": _this.data.totalAmount,
|
||
}).then(res => {
|
||
console.log('saveMeetingRecordRq', res);
|
||
if (res.code == 0) {
|
||
// 支付金额大于0,需要付款
|
||
if (_this.data.totalAmount > 0) {
|
||
wx.redirectTo({
|
||
url: "/pages/meeting/pay/waitPay/waitPay?id=" + res.reservationId,
|
||
})
|
||
} else {
|
||
wx.reLaunch({
|
||
url: '/pages/meeting/reservationRecord/meetingRecord/meetingRecord',
|
||
})
|
||
}
|
||
} else {
|
||
// 错误提示
|
||
Notify({
|
||
type: 'danger',
|
||
message: res.msg
|
||
});
|
||
}
|
||
})
|
||
},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面初次渲染完成
|
||
*/
|
||
onReady() {
|
||
|
||
},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面显示
|
||
*/
|
||
onShow() {
|
||
console.log('onShow');
|
||
let _this = this
|
||
// 更新选择的优惠卷
|
||
if (_this.data.couponId) {
|
||
let couponData = _this.data.couponList.find(item => item.ticketId == _this.data.couponId)
|
||
_this.setData({
|
||
couponData
|
||
})
|
||
}
|
||
// 查询金额
|
||
calculateMeetingRoomAmountRq({
|
||
"startTime": _this.data.startTime,
|
||
"endDate": _this.data.endTime,
|
||
"roomContentId": _this.data.meetingRoomId,
|
||
"ticketId": _this.data.couponId
|
||
}).then(res => {
|
||
console.log('calculateMeetingRoomAmountRq', res);
|
||
_this.setData({
|
||
countAmount: res.amount.totalMoney,
|
||
totalAmount: res.amount.paidMoney,
|
||
})
|
||
})
|
||
},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面隐藏
|
||
*/
|
||
onHide() {
|
||
|
||
},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面卸载
|
||
*/
|
||
onUnload() {
|
||
|
||
},
|
||
|
||
/**
|
||
* 页面相关事件处理函数--监听用户下拉动作
|
||
*/
|
||
onPullDownRefresh() {
|
||
|
||
},
|
||
|
||
/**
|
||
* 页面上拉触底事件的处理函数
|
||
*/
|
||
onReachBottom() {
|
||
|
||
},
|
||
|
||
/**
|
||
* 用户点击右上角分享
|
||
*/
|
||
onShareAppMessage() {
|
||
|
||
}
|
||
}) |