const app = getApp() import Notify from '@vant/weapp/notify/notify'; import { meetingRoomBookedRecordRq, selectFreeMeetingRoomRq } from "../../../../api/meeting/meetingRoom.js" import { selfFormatTimeReturnSecond59, selfFormatTimeYMDHMS, selfFormatTimeYMDH } from "../../../../utils/util.js" Page({ /** * 页面的初始数据 */ data: { IMG_NAME: app.IMG_NAME, date: '', dateText: '', timeRange: '', timeRangeText: '', meetingRoomId: null, minTime: null, maxTime: null, endMinTime: null, // 结束时间最小小时(与开始时间联动) endMaxTime: null, // 结束时间最大小时(根据范围固定) startTime: null, endTime: null, showTime: true, showRangePicker: false, dataList: [], rangeOp: [], filterTime(type, options) { // if (type === 'minute') { // return options.filter((option) => option == '00'); // } return options; }, }, showRange() { this.setData({ showRangePicker: true }); }, hideRange() { this.setData({ showRangePicker: false }); }, rangePick(e) { let _this = this let value = e.detail.value let _timeRange = '' if (value === '上午') { _timeRange = 1 } else if (value === '下午') { _timeRange = 2 } else if (value === '晚上') { _timeRange = 3 } _this.setData({ timeRange: _timeRange, timeRangeText: value, showRangePicker: false }) _this.initParamTime() }, // 选择-开始时间 onInputStartTime(event) { this.setData({ startTime: event.detail, }) this.setEndMaxTime(event.detail) }, // 选择-结束时间 onInputEndTime(event) { let _this = this; this.setData({ endTime: event.detail, }); }, // 预约时间 reservationTime() { // this.setData({ // showTime: true // }) }, // 确认时间 confirmTime() { let _this = this; let date = this.data.date let meetingRoomId = _this.data.meetingRoomId let startTime = _this.data.startTime let endTime = _this.data.endTime // 计算时间戳 let startTimeArr = startTime.split(':') startTime = parseInt(date) + (parseInt(startTimeArr[0]) * 60 * 60 + parseInt(startTimeArr[1]) * 60) * 1000 let endTimeArr = endTime.split(':') endTime = parseInt(date) + (parseInt(endTimeArr[0]) * 60 * 60 + parseInt(endTimeArr[1]) * 60) * 1000 let paramUrl = "?meetingRoomId=" + meetingRoomId + "&startTime=" + selfFormatTimeYMDHMS(startTime) + "&endTime=" + selfFormatTimeYMDHMS(endTime); // 结束时间不能小于开始时间 if (startTime >= endTime) { Notify('结束时间不能小于开始时间!') return } wx.navigateTo({ url: "/pages/meeting/meetingRoom/meetingOrder/meetingOrder" + paramUrl, }) // // 当前会议室是否可以预约 // selectFreeMeetingRoomRq({ // "roomContentId": meetingRoomId, // "startTime": selfFormatTimeYMDHMS(startTime), // "endDate": selfFormatTimeYMDHMS(endTime) // }).then(res => { // console.log('selectFreeMeetingRoomRq', res); // // 可以预约 // if (!res.count) { // wx.navigateTo({ // url: "/pages/meeting/meetingRoom/meetingOrder/meetingOrder" + paramUrl, // }) // // _this.setData({ // // showTime: false // // }) // } else { // 不能预约 // Notify({ // type: 'danger', // message: res.msg, // duration: 1000, // selector: '#notify', // }); // } // }) }, // 取消时间 cancelTime() { // this.setData({ // showTime: false // }) }, // 初始化时间 initParamTime() { let _date = this.data.date _date = parseInt(_date) let _timeRange = this.data.timeRange _timeRange = parseInt(_timeRange) let _minTime = '' let _maxTime = '' let _startTime = '' if (_timeRange === 1) { // 上午,从6:00 - 12:00 _minTime = 6 _maxTime = 11 _startTime = '8:30' } else if (_timeRange === 2) { // 下午,从12:00 - 18:00 _minTime = 12 _maxTime = 17 _startTime = '14:00' } else if (_timeRange === 3) { // 下午,从12:00 - 18:00 _minTime = 18 _maxTime = 23 _startTime = '18:00' } // let maxTime = new Date(_date) // maxTime.setFullYear(maxTime.getFullYear() + 3) this.setData({ // startTime: _startTime, minTime: _minTime, maxTime: _maxTime // maxTime: maxTime.getTime() }) // this.setEndMaxTime(this.data.startTime) // 设置最小时间 // this.setMinTime() }, // 设置最小时间 // setMinTime() { // // let minTime = new Date(selfFormatTimeYMDH(new Date()) + ':00:00').getTime() // let minTime = new Date().getTime() // this.setData({ // minTime, // startTime: minTime // }) // }, // 获取结束时间的最大时间和最小时间 setEndMaxTime(time) { let timeArr = time.split(':') // let endMaxTime = new Date(new Date(time).toLocaleDateString()).getTime() + 24 * 60 * 60 * 1000 - 1; let _endMinTime = timeArr[0] let _endMaxTime = '' let _timeRange = this.data.timeRange _timeRange = parseInt(_timeRange) if (_timeRange === 1) { // 上午,从6:00 - 12:00 _endMaxTime = 11 } else if (_timeRange === 2) { // 下午,从12:00 - 18:00 _endMaxTime = 17 } else if (_timeRange === 3) { // 下午,从12:00 - 18:00 _endMaxTime = 23 } this.setData({ endMinTime: _endMinTime, endMaxTime: _endMaxTime }) }, /** * 生命周期函数--监听页面加载 */ onLoad(options) { console.log('onLoad', options); let time = options.time let _timeRange = options.timeRange let _rangeOp = [] let _timeRangeText = '' if (_timeRange === '0') { // 全天,此时默认给1,上午 _timeRange = '1' } if (_timeRange === '1') { _timeRangeText = '上午' } else if (_timeRange === '2') { _timeRangeText = '下午' } else if (_timeRange === '3') { _timeRangeText = '晚上' } if (options.timeRange === '0') { // 全天,则三个都可选 _rangeOp = ['上午', '下午', '晚上'] } else { _rangeOp = [_timeRangeText] } const _date = new Date(parseInt(time)) const _year = _date.getFullYear() const _month = _date.getMonth() + 1 // 月份从0开始,需要+1 const _day = _date.getDate() // 获取传递参数 this.setData({ meetingRoomId: options.meetingRoomId, date: time, dateText: _year + '年' + _month + '月' + _day + '日', timeRange: _timeRange, timeRangeText: _timeRangeText, rangeOp: _rangeOp }) // minTime: null, // maxTime: null, // endMaxTime: null, // startTime: null, // endTime: null, // 初始化时间 this.initParamTime() }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady() { }, /** * 生命周期函数--监听页面显示 */ onShow() { // console.log('onShow', 111); let _this = this; // meetingRoomBookedRecordRq(this.data.meetingRoomId).then(res => { // console.log('meetingRoomBookedRecordRq', res); // let dataList = res.data; // dataList.map(item => { // item.nowDate = item.nowDate.substring(0, 10); // item.reservations = item.reservations.map(record => { // record.startTime = record.startTime.substring(11) // record.endDate = record.endDate.substring(11) // record.userName = record.userName.substring(0, 1) + "某" // record.phone = record.phone.substring(0, 3) + "****" + record.phone.substring(7, record.phone.length) // return record; // }) // return item // }) // _this.setData({ // dataList // }) // }) }, /** * 生命周期函数--监听页面隐藏 */ onHide() { }, /** * 生命周期函数--监听页面卸载 */ onUnload() { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh() { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom() { }, /** * 用户点击右上角分享 */ onShareAppMessage() { } })