347 lines
8.6 KiB
JavaScript
Raw Normal View History

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 {
meetingRoomBookedRecordRq,
selectFreeMeetingRoomRq
2024-03-04 14:38:21 +08:00
} from "../../../../api/meeting/meetingRoom.js"
2024-03-04 16:37:45 +08:00
import {
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({
/**
* 页面的初始数据
*/
data: {
IMG_NAME: app.IMG_NAME,
date: '',
rId: '',
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
},
},
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) {
let valueArr = event.detail.getValues()
let detail = valueArr[0] + ':' + valueArr[1]
this.setData({
startTime: detail,
})
console.log(detail)
this.setEndMaxTime(detail)
},
2024-03-02 18:14:38 +08:00
// 选择-结束时间
onInputEndTime(event) {
let valueArr = event.detail.getValues()
let detail = valueArr[0] + ':' + valueArr[1]
console.log(detail)
this.setData({
endTime: detail,
})
},
2024-03-02 18:14:38 +08:00
// 预约时间
reservationTime() {
// this.setData({
// showTime: true
// })
},
2024-03-02 18:14:38 +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) + '&rId=' + _this.data.rId;
// 结束时间不能小于开始时间
if (startTime >= endTime) {
Notify('结束时间不能小于开始时间!')
return
}
2024-03-04 14:38:21 +08:00
wx.navigateTo({
url: "/pages/meeting/meetingRoom/meetingOrder/meetingOrder" + paramUrl,
})
2024-03-04 14:38:21 +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
// 取消时间
cancelTime() {
// this.setData({
// showTime: false
// })
},
2024-03-05 17:40:50 +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) {
// 上午从600 - 1200
_minTime = 6
_maxTime = 11
_startTime = '9:00'
} else if (_timeRange === 2) {
// 下午从1200 - 1800
_minTime = 12
_maxTime = 17
_startTime = '14:00'
} else if (_timeRange === 3) {
// 下午从1200 - 1800
_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
// 设置最小时间
// this.setMinTime()
},
2024-03-04 14:38:21 +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
// 获取结束时间的最大时间和最小时间
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) {
// 上午从600 - 1200
_endMaxTime = 11
} else if (_timeRange === 2) {
// 下午从1200 - 1800
_endMaxTime = 17
} else if (_timeRange === 3) {
// 下午从1200 - 1800
_endMaxTime = 23
}
this.setData({
endTime: _endMinTime + ':' + '00',
endMinTime: _endMinTime,
endMaxTime: _endMaxTime
})
},
2024-03-04 16:37:45 +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,
rId: options.rId,
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
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
2024-03-02 18:14:38 +08:00
},
2024-03-02 18:14:38 +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
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
2024-03-02 18:14:38 +08:00
},
2024-03-02 18:14:38 +08:00
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
2024-03-02 18:14:38 +08:00
},
2024-03-02 18:14:38 +08:00
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
2024-03-02 18:14:38 +08:00
},
2024-03-02 18:14:38 +08:00
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
2024-03-02 18:14:38 +08:00
},
2024-03-02 18:14:38 +08:00
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
2024-03-02 18:14:38 +08:00
}
2024-03-02 18:14:38 +08:00
})