This commit is contained in:
SelfRidicule 2024-03-05 17:40:50 +08:00
parent c94f6d0d73
commit 3d21c09f5c
4 changed files with 68 additions and 11 deletions

View File

@ -9,7 +9,8 @@ import {
import { import {
selfFormatTimeReturnSecond59, selfFormatTimeReturnSecond59,
selfFormatTimeYMDHMS selfFormatTimeYMDHMS,
selfFormatTimeYMDH
} from "../../../../utils/util.js" } from "../../../../utils/util.js"
Page({ Page({
@ -19,13 +20,19 @@ Page({
*/ */
data: { data: {
meetingRoomId: null, meetingRoomId: null,
minTime: new Date().getTime(), minTime: null,
maxTime: null, maxTime: null,
endMaxTime: null, endMaxTime: null,
startTime: new Date().getTime(), startTime: null,
endTime: null, endTime: null,
showTime: false, showTime: false,
dataList: [], dataList: [],
filterTime(type, options) {
if (type === 'minute') {
return options.filter((option) => option == '00');
}
return options;
},
}, },
// 选择-开始时间 // 选择-开始时间
@ -40,7 +47,7 @@ Page({
onInputEndTime(event) { onInputEndTime(event) {
let _this = this; let _this = this;
this.setData({ this.setData({
endTime: new Date(selfFormatTimeReturnSecond59(event.detail)).getTime(), endTime: event.detail,
}); });
}, },
@ -59,11 +66,11 @@ Page({
let endTime = _this.data.endTime; let endTime = _this.data.endTime;
let paramUrl = "?meetingRoomId=" + meetingRoomId + "&startTime=" + selfFormatTimeYMDHMS(startTime) + "&endTime=" + selfFormatTimeYMDHMS(endTime); let paramUrl = "?meetingRoomId=" + meetingRoomId + "&startTime=" + selfFormatTimeYMDHMS(startTime) + "&endTime=" + selfFormatTimeYMDHMS(endTime);
// 预约时间必须大于15分钟 // 预约时间不能小于1小时
if ((1000 * 60 * 15) > (endTime - startTime)) { if ((1000 * 60 * 60) > (endTime - startTime)) {
Notify({ Notify({
type: 'danger', type: 'danger',
message: '预约时间必须大于15分钟', message: '预约时间不能小于1小时',
duration: 1000, duration: 1000,
selector: '#notify', selector: '#notify',
}); });
@ -111,6 +118,17 @@ Page({
maxTime: maxTime.getTime() maxTime: maxTime.getTime()
}) })
this.setEndMaxTime(this.data.startTime) this.setEndMaxTime(this.data.startTime)
// 设置最小时间
this.setMinTime()
},
// 设置最小时间
setMinTime() {
let minTime = new Date(selfFormatTimeYMDH(new Date()) + ':00:00').getTime()
this.setData({
minTime,
startTime: minTime
})
}, },
// 指定天的最后一秒 // 指定天的最后一秒

View File

@ -18,9 +18,18 @@
<!-- 选择时间 --> <!-- 选择时间 -->
<view class="selfPop" wx:if="{{showTime}}"> <view class="selfPop" wx:if="{{showTime}}">
<van-datetime-picker title="请选择开始时间" type="datetime" value="{{ startTime }}" min-date="{{ minTime }}" max-date="{{ maxTime }}" bind:input="onInputStartTime" bind:confirm="confirmTime" bind:cancel="cancelTime" confirm-button-text="" cancel-button-text="" /> <view class="labelView">
<view class="leftLineTitle">请选择开始时间</view>
</view>
<van-datetime-picker type="datetime" value="{{ startTime }}" min-date="{{ minTime }}" max-date="{{ maxTime }}" bind:input="onInputStartTime" bind:confirm="confirmTime" bind:cancel="cancelTime" confirm-button-text="" cancel-button-text=""
filter="{{ filterTime }}"/>
<van-datetime-picker title="请选择结束时间" type="datetime" value="{{ endTime }}" min-date="{{ startTime }}" max-date="{{ endMaxTime }}" bind:input="onInputEndTime" bind:confirm="confirmTime" bind:cancel="cancelTime" /> <view class="labelView">
<view class="leftLineTitle">请选择结束时间</view>
<view class="enter" bind:tap="confirmTime">确定</view>
</view>
<van-datetime-picker type="datetime" value="{{ endTime }}" min-date="{{ startTime }}" max-date="{{ endMaxTime }}" bind:input="onInputEndTime" bind:confirm="confirmTime"
confirm-button-text="" cancel-button-text="" bind:cancel="cancelTime" filter="{{ filterTime }}"/>
</view> </view>
<!-- 消息提示 --> <!-- 消息提示 -->

View File

@ -60,3 +60,18 @@
background: #ffffff; background: #ffffff;
transition: 1s all; transition: 1s all;
} }
.selfPop .labelView{
box-sizing: border-box;
padding: 20rpx 34rpx 20rpx 20rpx;
background: #f5f7fa;
display: flex;
justify-content: space-between;
align-items: center;
}
.selfPop .labelView .enter{
font-size: 32rpx;
font-weight: bold;
color: #4e96f8;
}

View File

@ -98,6 +98,20 @@ function selfFormatTimeYMDHMS(time) {
return [year, month, day].map(formatNumber).join('-') + ' ' + [hour, minute, second].map(formatNumber).join(':') return [year, month, day].map(formatNumber).join('-') + ' ' + [hour, minute, second].map(formatNumber).join(':')
} }
//返回 2017-12-12 12
function selfFormatTimeYMDH(time) {
let date = new Date(time);
let year = date.getFullYear()
let month = date.getMonth() + 1
let day = date.getDate()
let hour = date.getHours()
let minute = date.getMinutes()
let second = date.getSeconds()
return [year, month, day].map(formatNumber).join('-') + ' ' + [hour].map(formatNumber).join(':')
}
//返回 例 2017-12-12 //返回 例 2017-12-12
function selfFormatTimeYMD(time) { function selfFormatTimeYMD(time) {
let date = new Date(time) let date = new Date(time)
@ -171,5 +185,6 @@ module.exports = {
selfFormatTimeYMDHMS, selfFormatTimeYMDHMS,
selfFormatTimeYMD, selfFormatTimeYMD,
selfFormatTimeHM, selfFormatTimeHM,
selfFormatTimeYMDH,
twoTimeInterval twoTimeInterval
} }