Commit 6d85e851 by liang ce

时间选择

parent 96f12297
{
"pages": [
"pages/index/index",
"pages/repetitionTime/repetitionTime",
"pages/repeatMechanism/repeatMechanism",
"pages/attendingSituation/attendingSituation",
"pages/addRemark/addRemark",
"pages/createOrEditSchedule/createOrEditSchedule",
"pages/remind/remind",
"pages/repeatMechanism/repeatMechanism",
"pages/scheduleDetail/scheduleDetail",
"pages/attendingSituation/attendingSituation",
"pages/place/place",
"pages/participantsDetail/participantsDetail"
],
......
......@@ -9,7 +9,7 @@
</view>
</view>
<view class="mwModalBody">
<picker-view value="{{pickerValue}}" class="parent" onChange="onChange">
<picker-view value="{{pickerValue}}" onChange="onChange">
<picker-view-column class="son">
<view a:for="{{timeData}}">{{item}}</view>
</picker-view-column>
......
.timeView{
position: fixed;
left: 0;
bottom: 176rpx;
width: 100%;
height: 404rpx;
background: #ffffff;
border-bottom: 1px solid rgba(25,31,37,0.12);
}
.sureBtn{
position: fixed;
left: 0;
bottom: 0;
width: 100%;
display: flex;
align-items: center;
justify-content: center;
height: 160rpx;
}
.sureBtn view{
background: #3296FA;
color: #ffffff;
font-size: 36rpx;
text-align: center;
line-height: 96rpx;
width: 686rpx;
height: 96rpx;
border-radius: 48rpx;
}
.itemList {
width: 100%;
display: flex;
padding: 0 32rpx;
line-height: 112rpx;
box-sizing: border-box;
border-bottom: 1px solid rgba(25,31,37,0.12);
}
.itemList view{
flex: 1;
}
.itemList view:nth-of-type(1) {
text-align: left;
font-size: 34rpx;
color: #191F25;
}
.itemList view:nth-of-type(2) {
text-align: right;
font-size: 28rpx;
color: rgba(25,31,37,0.56);
}
.timeView view {
text-align: right;
margin-right: 32rpx;
}
.timeView picker-view{
width: 100%;
height: 280rpx;
display: flex;
}
.itemList .isBeOverdue {
color: red !important;
}
.tip {
font-size: 28rpx;
line-height: 42rpx;
color: rgba(25,31,37,0.56);
padding-left: 32rpx;
}
\ No newline at end of file
<view class="itemList">
<view>
截止日期
</view>
<view class="{{isBeOverdue ? 'isBeOverdue' : ''}}">
{{year}}年{{month}}月{{day}}日{{week}}
</view>
</view>
<view class="tip" a:if="{{isBeOverdue}}">
结束时间不能小于当前时间
</view>
<view class="timeView">
<view>
<text>永不截止</text><switch checked="{{isNeverStop}}" onChange="switchChange"/>
</view>
<picker-view value="{{pickerValue}}" class="parent" onChange="onChange">
<picker-view-column class="son">
<view a:for="{{timeYear}}">{{item}}</view>
</picker-view-column>
<picker-view-column class="son2">
<view a:for="{{timeMonth}}">{{item}}</view>
</picker-view-column>
<picker-view-column class="son2">
<view a:for="{{timeDay}}">{{item}}</view>
</picker-view-column>
</picker-view>
</view>
<view class="sureBtn">
<view onTap="save">
保存
</view>
</view>
\ No newline at end of file
Page({
data: {
timeYear: [],
timeMonth: ['01','02','03','04','05','06','07','08','09','10','11','12'],
timeDay: [],
pickerValue: [],
year: '',
month: '',
day: '',
week: '',
isNeverStop: true,
isBeOverdue: false,
},
onLoad() {
let date = new Date();
let year = date.getFullYear();
let timeYear = [`${year}年`, `${year + 1}年`]
let timeMonth = []
let timeDay = []
let thisDate = date.getDate()
let weekList = ['周日', '周一', '周二', '周三', '周四', '周五', '周六']
for (let i = 1; i <= 12;i++) {
timeMonth.push(`${i}月`)
}
let day = this.getMonthLength(year,date.getMonth(),1)
for (let i = 1;i <= day;i++) {
let thisweek = weekList[new Date(year,date.getMonth(),i).getDay()]
timeDay.push(`${i}${thisweek}`)
}
this.setData({
timeYear: timeYear,
timeMonth: timeMonth,
timeDay: timeDay,
year: year,
month: date.getMonth()+1,
day: thisDate,
week: weekList[date.getDay()],
pickerValue: [timeYear.indexOf(`${date.getFullYear()}年`),timeMonth.indexOf(`${date.getMonth()+1}月`),timeDay.indexOf(`${date.getDate()}${weekList[date.getDay()]}`)]
})
},
getMonthLength(year, month ,day) {
let d = new Date(year, month ,day)
// 将日期设置为下月一号
d.setMonth(d.getMonth()+1)
d.setDate('1')
// 获取本月最后一天
d.setDate(d.getDate()-1)
return d.getDate()
},
switchChange(e) {
this.setData({
isNeverStop: e.detail.value
})
},
save(){
if(this.data.isBeOverdue) {
return false;
} else {
if (this.data.isNeverStop) {
console.log(this.getTwoYearToday())
} else {
}
}
},
getTwoYearToday(){
let date = new Date()
date.setYear(date.getFullYear() + 2)
let year = date.getFullYear();
let month = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1;
let day = date.getDate() < 10 ? '0' + date.getDate() : date.getDate()
return year + '-' + month + '-' + day
},
onChange(e) {
let data = e.detail.value;
let weekList = ['周日', '周一', '周二', '周三', '周四', '周五', '周六'];
let year = new Date().getFullYear() + data[0];
let month = data[1];
let day = data[2] + 1;
let date = new Date(year, month, day);
let count = this.getMonthLength(year, month, day);
let timeDay = [];
for (let i = 1; i <= count; i++) {
let week = weekList[new Date(year,month,day).getDay()]
timeDay.push(`${i}${week}`)
}
let isBeOverdue;
if (date.getTime()< new Date().getTime()) {
isBeOverdue = true
} else {
isBeOverdue = false
}
this.setData ({
timeDay: timeDay,
year: year,
month: month + 1,
day: day,
week: weekList[date.getDay()],
isBeOverdue: isBeOverdue
})
// let weekList = ['周日', '周一', '周二', '周三', '周四', '周五', '周六']
// if (this.data.timeYear[data[0]] == this.data.year && this.data.timeMonth[data[1]] == this.data.month) {
// // 修改日
// console.log('日')
// let date = new Date(this.data.year, this.data.month - 1, this.data.timeDay[data[2]])
// let week = weekList[date.getDay()]
// this.setData({
// day: this.data.timeDay[data[2]],
// week: week
// })
// } else if (this.data.timeDay[data[2]] == this.data.day && this.data.timeMonth[data[1]] == this.data.month) {
// debugger
// // 修改年
// console.log('年')
// let changeYearDate = new Date(this.data.timeYear[data[0]], this.data.timeMonth[data[1]], this.data.timeDay[data[2]]);
// let timeMonth = [];
// let timeDay = [];
// let isSameYear = this.data.timeYear[data[0]] == new Date().getFullYear()
// if (isSameYear) {
// for (let i = new Date().getMonth() + 1 > this.data.timeMonth[data[1]] ? new Date().getMonth() + 1 : changeYearDate.getMonth(); i <= 12;i++) {
// timeMonth.push(i)
// }
// let day = this.getMonthLength(this.data.timeYear[data[0]],changeYearDate.getMonth(),1)
// for (let i = new Date().getMonth() + 1 == this.data.timeMonth[data[1]] ? new Date().getDate() : 1 ;i <= day;i++) {
// timeDay.push(i)
// }
// let week = weekList[changeYearDate.getDay()]
// this.setData ({
// timeMonth: timeMonth,
// timeDay: timeMonth,
// year: this.data.timeYear[data[0]],
// month: data[1] > timeMonth.length ? timeMonth[timeMonth.length] : timeMonth[data[1]],
// day: data[2] > timeDay.length ? timeDay[timeDay.length] : timeDay[data[2]],
// // pickerValue: pickerValue,
// week: week
// })
// } else {
// for (let i = 1; i <= 12;i++) {
// timeMonth.push(i)
// }
// let day = this.getMonthLength(this.data.timeYear[data[0]],timeMonth[data[1]],1)
// for (let i = 1 ;i <= day;i++) {
// timeDay.push(i)
// }
// let week = weekList[changeYearDate.getDay()]
// this.setData ({
// timeMonth: timeMonth,
// timeDay: timeMonth,
// year: this.data.timeYear[data[0]],
// month: data[1] > timeMonth.length ? timeMonth[timeMonth.length] : timeMonth[data[1]],
// day: data[2] > timeDay.length ? timeDay[timeDay.length] : timeDay[data[2]],
// // pickerValue: pickerValue,
// week: week
// })
// }
// // let pickerValue = [data[0],data[1] > timeMonth.length ? timeMonth.length : data[1],data[2] > timeDay.length ? timeDay.length : data[2]]
// } else if (this.data.timeYear[data[0]] == this.data.year && this.data.timeDay[data[2]] == this.data.day) {
// // 修改月
// console.log('月')
// let changeMonthDate = new Date(this.data.timeYear[data[0]],this.data.timeMonth[data[1]]-1,1);
// let getMonthNum = this.getMonthLength(this.data.year,this.data.timeMonth[data[1]] - 1,1);
// let changeMonthTimeDay = [];
// if (this.data.timeYear[data[0]] == new Date().getFullYear()) {
// for (let i = this.data.timeMonth[data[1]] == new Date().getMonth() + 1 ? new Date().getDate() : 1 ;i < getMonthNum;i++){
// changeMonthTimeDay.push(i)
// }
// console.log(changeMonthTimeDay)
// } else {
// for (let i = 1;i<getMonthNum;i++){
// changeMonthTimeDay.push(i)
// }
// console.log(changeMonthTimeDay)
// }
// let weekMonthDate = new Date(this.data.timeYear[data[0]],this.data.timeMonth[data[1]],changeMonthTimeDay[data[2] > changeMonthTimeDay.length ? changeMonthTimeDay.length : data[2]])
// let week = weekList[weekMonthDate.getDay()];
// this.setData({
// month: this.data.timeMonth[data[1]],
// timeDay: changeMonthTimeDay,
// day: data[2] > changeMonthTimeDay.length ? changeMonthTimeDay[changeMonthTimeDay.length] : changeMonthTimeDay[data[2]],
// // pickerValue: [date[0], data[1],data[2] > timeDay.length ? timeDay.length : data[2]],
// week: week
// })
// }
}
});
{}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment