471615499@qq.com ba13f9c97f 调试后台接口
修复选择日期时时间戳为当前时间的BUG,改为选择日期的00:00:00
完成首页认证、预约会议室页面、会议室详情页面、预约功能的调试
2024-09-25 22:10:57 +08:00

350 lines
8.8 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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: '',
rId: '',
dep: '',
depId: '',
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) {
let valueArr = event.detail.getValues()
let detail = valueArr[0] + ':' + valueArr[1]
this.setData({
startTime: detail,
})
console.log(detail)
this.setEndMaxTime(detail)
},
// 选择-结束时间
onInputEndTime(event) {
let valueArr = event.detail.getValues()
let detail = valueArr[0] + ':' + valueArr[1]
console.log(detail)
this.setData({
endTime: 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) + '&timeRange=' + _this.data.timeRange + '&rId=' + _this.data.rId + '&dep=' + _this.data.dep + '&depId=' + _this.data.depId;
// 结束时间不能小于开始时间
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) {
// 上午从800 - 1200
_minTime = 8
_maxTime = 11
_startTime = '9:00'
} else if (_timeRange === 2) {
// 下午从1200 - 1800
_minTime = 12
_maxTime = 17
_startTime = '14:00'
} else if (_timeRange === 3) {
// 晚上从1800 - 2400
_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) {
// 上午从800 - 1200
_endMaxTime = 11
} else if (_timeRange === 2) {
// 下午从1200 - 1800
_endMaxTime = 17
} else if (_timeRange === 3) {
// 晚上从1800 - 2400
_endMaxTime = 23
}
this.setData({
endTime: _endMinTime + ':' + '00',
endMinTime: _endMinTime,
endMaxTime: _endMaxTime
})
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
console.log('onLoad', options);
let time = options.time
let _timeRange = options.timeRange
let _rangeOp = []
let _timeRangeText = ''
if (_timeRange === '4') {
// 全天此时默认给1上午
_timeRange = '1'
}
if (_timeRange === '1') {
_timeRangeText = '上午'
} else if (_timeRange === '2') {
_timeRangeText = '下午'
} else if (_timeRange === '3') {
_timeRangeText = '晚上'
}
if (options.timeRange === '4') {
// 全天,则三个都可选
_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,
dep: options.dep,
depId: options.depId,
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() {
}
})