2024-03-04 14:38:21 +08:00
|
|
|
|
const app = getApp()
|
2024-03-04 16:37:45 +08:00
|
|
|
|
|
|
|
|
|
import Notify from '@vant/weapp/notify/notify';
|
|
|
|
|
|
2024-03-04 14:38:21 +08:00
|
|
|
|
import {
|
2024-09-16 18:22:00 +08:00
|
|
|
|
meetingRoomBookedRecordRq,
|
|
|
|
|
selectFreeMeetingRoomRq
|
2024-03-04 14:38:21 +08:00
|
|
|
|
} from "../../../../api/meeting/meetingRoom.js"
|
|
|
|
|
|
2024-03-04 16:37:45 +08:00
|
|
|
|
import {
|
2024-09-16 18:22:00 +08:00
|
|
|
|
selfFormatTimeReturnSecond59,
|
|
|
|
|
selfFormatTimeYMDHMS,
|
|
|
|
|
selfFormatTimeYMDH
|
2024-03-04 16:37:45 +08:00
|
|
|
|
} from "../../../../utils/util.js"
|
2024-03-04 15:49:05 +08:00
|
|
|
|
|
2024-03-02 18:14:38 +08:00
|
|
|
|
Page({
|
|
|
|
|
|
2024-09-16 18:22:00 +08:00
|
|
|
|
/**
|
|
|
|
|
* 页面的初始数据
|
|
|
|
|
*/
|
|
|
|
|
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;
|
2024-03-02 18:14:38 +08:00
|
|
|
|
},
|
2024-09-16 18:22:00 +08:00
|
|
|
|
},
|
|
|
|
|
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)
|
|
|
|
|
},
|
2024-03-02 18:14:38 +08:00
|
|
|
|
|
2024-09-16 18:22:00 +08:00
|
|
|
|
// 选择-结束时间
|
|
|
|
|
onInputEndTime(event) {
|
|
|
|
|
let _this = this;
|
|
|
|
|
this.setData({
|
|
|
|
|
endTime: event.detail,
|
|
|
|
|
});
|
|
|
|
|
},
|
2024-03-02 18:14:38 +08:00
|
|
|
|
|
2024-09-16 18:22:00 +08:00
|
|
|
|
// 预约时间
|
|
|
|
|
reservationTime() {
|
|
|
|
|
// this.setData({
|
|
|
|
|
// showTime: true
|
|
|
|
|
// })
|
|
|
|
|
},
|
2024-03-02 18:14:38 +08:00
|
|
|
|
|
2024-09-16 18:22:00 +08:00
|
|
|
|
// 确认时间
|
|
|
|
|
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
|
|
|
|
|
}
|
2024-03-04 14:38:21 +08:00
|
|
|
|
|
2024-09-16 18:22:00 +08:00
|
|
|
|
wx.navigateTo({
|
|
|
|
|
url: "/pages/meeting/meetingRoom/meetingOrder/meetingOrder" + paramUrl,
|
|
|
|
|
})
|
2024-03-04 14:38:21 +08:00
|
|
|
|
|
2024-09-16 18:22:00 +08:00
|
|
|
|
// // 当前会议室是否可以预约
|
|
|
|
|
// 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',
|
|
|
|
|
// });
|
|
|
|
|
// }
|
|
|
|
|
// })
|
|
|
|
|
},
|
2024-03-02 18:14:38 +08:00
|
|
|
|
|
2024-09-16 18:22:00 +08:00
|
|
|
|
// 取消时间
|
|
|
|
|
cancelTime() {
|
|
|
|
|
// this.setData({
|
|
|
|
|
// showTime: false
|
|
|
|
|
// })
|
|
|
|
|
},
|
2024-03-05 17:40:50 +08:00
|
|
|
|
|
2024-09-16 18:22:00 +08:00
|
|
|
|
// 初始化时间
|
|
|
|
|
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)
|
2024-03-05 17:40:50 +08:00
|
|
|
|
// 设置最小时间
|
2024-09-16 18:22:00 +08:00
|
|
|
|
// this.setMinTime()
|
|
|
|
|
},
|
2024-03-04 14:38:21 +08:00
|
|
|
|
|
2024-09-16 18:22:00 +08:00
|
|
|
|
// 设置最小时间
|
|
|
|
|
// setMinTime() {
|
|
|
|
|
// // let minTime = new Date(selfFormatTimeYMDH(new Date()) + ':00:00').getTime()
|
|
|
|
|
// let minTime = new Date().getTime()
|
|
|
|
|
// this.setData({
|
|
|
|
|
// minTime,
|
|
|
|
|
// startTime: minTime
|
|
|
|
|
// })
|
|
|
|
|
// },
|
2024-03-04 14:38:21 +08:00
|
|
|
|
|
2024-09-16 18:22:00 +08:00
|
|
|
|
// 获取结束时间的最大时间和最小时间
|
|
|
|
|
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
|
|
|
|
|
})
|
|
|
|
|
},
|
2024-03-04 16:37:45 +08:00
|
|
|
|
|
2024-09-16 18:22:00 +08:00
|
|
|
|
/**
|
|
|
|
|
* 生命周期函数--监听页面加载
|
|
|
|
|
*/
|
|
|
|
|
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()
|
|
|
|
|
},
|
2024-03-02 18:14:38 +08:00
|
|
|
|
|
2024-09-16 18:22:00 +08:00
|
|
|
|
/**
|
|
|
|
|
* 生命周期函数--监听页面初次渲染完成
|
|
|
|
|
*/
|
|
|
|
|
onReady() {
|
2024-03-02 18:14:38 +08:00
|
|
|
|
|
2024-09-16 18:22:00 +08:00
|
|
|
|
},
|
2024-03-02 18:14:38 +08:00
|
|
|
|
|
2024-09-16 18:22:00 +08:00
|
|
|
|
/**
|
|
|
|
|
* 生命周期函数--监听页面显示
|
|
|
|
|
*/
|
|
|
|
|
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
|
|
|
|
|
// })
|
|
|
|
|
// })
|
|
|
|
|
},
|
2024-03-02 18:14:38 +08:00
|
|
|
|
|
2024-09-16 18:22:00 +08:00
|
|
|
|
/**
|
|
|
|
|
* 生命周期函数--监听页面隐藏
|
|
|
|
|
*/
|
|
|
|
|
onHide() {
|
2024-03-02 18:14:38 +08:00
|
|
|
|
|
2024-09-16 18:22:00 +08:00
|
|
|
|
},
|
2024-03-02 18:14:38 +08:00
|
|
|
|
|
2024-09-16 18:22:00 +08:00
|
|
|
|
/**
|
|
|
|
|
* 生命周期函数--监听页面卸载
|
|
|
|
|
*/
|
|
|
|
|
onUnload() {
|
2024-03-02 18:14:38 +08:00
|
|
|
|
|
2024-09-16 18:22:00 +08:00
|
|
|
|
},
|
2024-03-02 18:14:38 +08:00
|
|
|
|
|
2024-09-16 18:22:00 +08:00
|
|
|
|
/**
|
|
|
|
|
* 页面相关事件处理函数--监听用户下拉动作
|
|
|
|
|
*/
|
|
|
|
|
onPullDownRefresh() {
|
2024-03-02 18:14:38 +08:00
|
|
|
|
|
2024-09-16 18:22:00 +08:00
|
|
|
|
},
|
2024-03-02 18:14:38 +08:00
|
|
|
|
|
2024-09-16 18:22:00 +08:00
|
|
|
|
/**
|
|
|
|
|
* 页面上拉触底事件的处理函数
|
|
|
|
|
*/
|
|
|
|
|
onReachBottom() {
|
2024-03-02 18:14:38 +08:00
|
|
|
|
|
2024-09-16 18:22:00 +08:00
|
|
|
|
},
|
2024-03-02 18:14:38 +08:00
|
|
|
|
|
2024-09-16 18:22:00 +08:00
|
|
|
|
/**
|
|
|
|
|
* 用户点击右上角分享
|
|
|
|
|
*/
|
|
|
|
|
onShareAppMessage() {
|
2024-03-02 18:14:38 +08:00
|
|
|
|
|
2024-09-16 18:22:00 +08:00
|
|
|
|
}
|
2024-03-02 18:14:38 +08:00
|
|
|
|
})
|