Commit 7ca31239 by liang ce

首页日程

parent 26382446
<view>
<view class="scheduleList">
<block a:for="{{scheduleList}}">
<block a:if="{{item.type == 'year'}}">
<view class="month">
{{item.value}}年
</view>
</block>
<block a:elif="{{item.type == 'month'}}">
<view class="month">
{{item.value}}月
</view>
</block>
<block a:elif="{{item.type == 'week'}}">
<view class="week">
<view class="manyWeeks">
第49周,12月1日 - 7日
</view>
</view>
</block>
<block a:elif="{{item.type == 'day'}}">
<view class="date">
<view class="dateTime">
<view>
{{item.value.week}}
</view>
<text>{{item.value.day}}</text>
</view>
<view class="dataSchedule">
<view a:for="{{item.value.value}}" a:for-item="item2" class="overdue" onTap="nextDetail">
<view class="dataScheduleName">
{{item2.title}}
</view>
<view class="dataScheduleTime">
{{item2.startTime}} - {{item2.endTime}}
</view>
</view>
</view>
</view>
</block>
</block>
<!-- <view class="scheduleList">
<view class="month">
2019年12月
</view>
......@@ -118,8 +157,8 @@
第4周,12月1日 - 7日
</view>
</view>
</view>
<view class="createSchedule " onTap="nextPage">
+
</view>
</view> -->
</view>
<view class="createSchedule " onTap="nextPage">
+
</view>
\ No newline at end of file
......@@ -34,16 +34,43 @@ Page({
// 页面显示
},
returnScheduleList (year) {
let that = this
let weekList = ['周日', '周一', '周二', '周三', '周四', '周五', '周六']
let DateMap = new Map();
if (year % 4 == 0 && year % 100 != 0 || year % 400 ==0) {
let isLeapYear = year % 4 == 0 && year % 100 != 0 || year % 400 ==0
if (isLeapYear) {
let isFirstWeek = false;
for(let i = 1; i <= 366; i++) {
DateMap.set(`${new Date(year, 0, i).toLocaleDateString()}`, {
if (i<7 && new Date(year, 0, i).getDay() === 0) {
isFirstWeek = true
}
if (isFirstWeek) {
DateMap.set(`${new Date(year, 0, i).toLocaleDateString()}`, {
scheduleList:[]
})
}
}
let num = 6 - new Date(year, 0, 366).getDay()
for (let i = 0; i<=num;i++) {
DateMap.set(`${new Date(year, 0, 366 + i).toLocaleDateString()}`, {
scheduleList:[]
})
}
} else {
let isFirstWeek = false;
for(let i = 1; i <= 365; i++) {
DateMap.set(`${new Date(year, 0, i).toLocaleDateString()}`, {
if (i<7 && new Date(year, 0, i).getDay() === 0) {
isFirstWeek = true
}
if (isFirstWeek) {
DateMap.set(`${new Date(year, 0, i).toLocaleDateString()}`, {
scheduleList:[]
})
}
}
let num = 6 - new Date(year, 0, 366).getDate()
for (let i = 0; i<=num;i++) {
DateMap.set(`${new Date(year, 0, 366 + i).toLocaleDateString()}`, {
scheduleList:[]
})
}
......@@ -60,12 +87,72 @@ Page({
time.setDate(time.getDate()+j)
// let finalDate = day.setDate(day.getDate()+j)
console.log(`${time.getFullYear()}/${time.getMonth()+1}/${time.getDate()}`)
DateMap.get(`${time.getFullYear()}/${time.getMonth()+1}/${time.getDate()}`).scheduleList.push(this.data.AllScheduleList[y])
DateMap.get(`${time.getFullYear()}/${time.getMonth()+1}/${time.getDate()}`).scheduleList.push({
...this.data.AllScheduleList[y],
number: j+1
})
}
}
}
console.log(DateMap)
return DateMap
let DateList = [];
let listYear = '';
let listMonth = '';
let listWeek = new Date(year, 0, 1).getDay() === 0 ? 0 : 1;
DateList.push({
type: 'year',
value: year
})
DateMap.forEach(function (value, key, map) {
if (new Date(key).getDay() === 0 && that.count(new Date(key),new Date(year, 0, isLeapYear ? 366 : 365) >= 7)) {
listWeek = listWeek + 1
if (new Date(key).getMonth() !== listMonth) {
listMonth = new Date(key).getMonth()
DateList.push({
type: 'month',
value: new Date(key).getMonth()+1
})
let rangeYear1 = new Date(key).getFullYear()
let rangeMonth1 = new Date(key).getMonth()
let rangeDay1 = new Date(key).getDate()
let rangeDate = new Date(rangeYear1, rangeMonth1, rangeDay1 + 6)
let rangeMonth2 = new Date(rangeDate).getMonth()
let rangeDay2 = new Date(rangeDate).getDate()
DateList.push({
type: 'week',
value: `第${listWeek}周,${rangeMonth1 + 1}${rangeDay1}日 - ${rangeMonth2 == rangeMonth1 ? '' : rangeMonth2 + 1+ '月'}${rangeDay2}日`,
})
} else {
let rangeYear1 = new Date(key).getFullYear()
let rangeMonth1 = new Date(key).getMonth()
let rangeDay1 = new Date(key).getDate()
let rangeDate = new Date(rangeYear1, rangeMonth1, rangeDay1 + 6)
let rangeMonth2 = new Date(rangeDate).getMonth()
let rangeDay2 = new Date(rangeDate).getDate()
DateList.push({
type: 'week',
value: `第${listWeek}周,${rangeMonth1 + 1}${rangeDay1}日 - ${rangeMonth2 == rangeMonth1 ? '' : rangeMonth2 + 1+ '月'}${rangeDay2}日`,
})
}
} else if (new Date(key).getDay() === 0 && that.count(new Date(key),new Date(year, 0, isLeapYear ? 366 : 365) < 7)){
listWeek = 1
DateList.push({
type: 'week',
value: listWeek
})
}
if (value.scheduleList.length !== 0) {
DateList.push({
type: 'day',
value: {
value: value.scheduleList,
day: new Date(key).getDate() < 10 ? '0'+ new Date(key).getDate() : new Date(key).getDate(),
week: weekList[new Date(key).getDay()]
},
})
}
});
console.log(DateList)
return DateList
},
count(date1, date2){
var date1=new Date(date1);
......
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