Commit 3e2c2adf by liang ce

修改日程js

parent a9de2203
...@@ -8,91 +8,91 @@ ...@@ -8,91 +8,91 @@
</view> </view>
</view> </view>
<scroll-view class="indexScrollView" scroll-y="{{true}}" style="background: #FFFFFF" lower-threshold="1000" onScrollToLower="lower" scroll-into-view="{{todayStr}}"> <scroll-view class="indexScrollView" scroll-y="{{true}}" style="background: #FFFFFF" lower-threshold="1000" onScrollToLower="lower" scroll-into-view="{{todayStr}}">
<block a:for="{{scheduleList}}" a:for-item="scheduleYearList"> <!--<block a:for="{{scheduleList}}" a:for-item="scheduleYearList"> -->
<block a:for="{{scheduleYearList}}"> <block a:for="{{scheduleList}}">
<block a:if="{{item.type == 'year'}}"> <block a:if="{{item.type == 'year'}}">
<view class="month"> <view class="month">
{{item.value}}年 {{item.value}}年
</view> </view>
</block> </block>
<block a:elif="{{item.type == 'month'}}"> <block a:elif="{{item.type == 'month'}}">
<view class="month"> <view class="month">
{{item.value}}月 {{item.value}}月
</view> </view>
</block> </block>
<block a:elif="{{item.type == 'week'}}"> <block a:elif="{{item.type == 'week'}}">
<view class="week" id="{{item.dayStr}}"> <view class="week" id="{{item.dayStr}}">
<view class="manyWeeks"> <view class="manyWeeks">
{{item.value}} {{item.value}}
</view>
</view> </view>
</block> </view>
<block a:elif="{{item.type == 'day'}}"> </block>
<view class="date"> <block a:elif="{{item.type == 'day'}}">
<view class="dateTime {{item.isThisDay}}"> <view class="date">
<view> <view class="dateTime {{item.isThisDay}}">
<view>
{{item.value.week}} {{item.value.week}}
</view>
<text>{{item.value.day}}</text>
</view> </view>
<view class="dataSchedule"> <text>{{item.value.day}}</text>
<view a:for="{{item.value.value}}" a:for-item="item2" data-item="{{item2}}" class="{{ item2.isBeOverdue ? 'overdue' : item2.confirmAttendance === 0 ? 'cancel' : '' }}" onTap="nextDetail"> </view>
<view class="dataScheduleName"> <view class="dataSchedule">
<text>{{item2.title}}{{item2.isDaySpan ? `(第${item2.isFewDays}天,共${item2.duration}天)` : '' }}</text> <view a:for="{{item.value.value}}" a:for-item="item2" data-item="{{item2}}" class="{{ item2.isBeOverdue ? 'overdue' : item2.confirmAttendance === 0 ? 'cancel' : '' }}" onTap="nextDetail">
</view> <view class="dataScheduleName">
<view class="dataScheduleTime"> <text>{{item2.title}}{{item2.isDaySpan ? `(第${item2.isFewDays}天,共${item2.duration}天)` : '' }}</text>
<text a:if="{{item2.isDaySpan && item2.isfirstDayOrEndDay === '0'}}">{{item2.thisDayStartTime}}</text> </view>
<text a:elif="{{item2.isDaySpan && item2.isfirstDayOrEndDay === '1'}}">全天</text> <view class="dataScheduleTime">
<text a:elif="{{item2.isDaySpan && item2.isfirstDayOrEndDay === '2'}}">直到{{item2.thisDayEndTime}}</text> <text a:if="{{item2.isDaySpan && item2.isfirstDayOrEndDay === '0'}}">{{item2.thisDayStartTime}}</text>
<text a:else>{{item2.thisDayStartTime}} - {{item2.thisDayEndTime}}</text> <text a:elif="{{item2.isDaySpan && item2.isfirstDayOrEndDay === '1'}}">全天</text>
</view> <text a:elif="{{item2.isDaySpan && item2.isfirstDayOrEndDay === '2'}}">直到{{item2.thisDayEndTime}}</text>
<text a:else>{{item2.thisDayStartTime}} - {{item2.thisDayEndTime}}</text>
</view> </view>
</view> </view>
</view> </view>
</block> </view>
<block a:elif="{{item.type == 'today'}}"> </block>
<view class="date" id="{{item.value.dateStr}}"> <block a:elif="{{item.type == 'today'}}">
<view class="dateTime {{item.isThisDay}}"> <view class="date" id="{{item.value.dateStr}}">
<view> <view class="dateTime {{item.isThisDay}}">
<view>
今天 今天
</view>
<text>{{item.value.day}}</text>
</view> </view>
<view class="dataSchedule"> <text>{{item.value.day}}</text>
<!--<view class="thisDayLine thisDayHavaMeeting" style="margin-bottom: 7.5rpx"></view> --> </view>
<view a:for="{{item.value.value}}" a:for-item="item2" data-item="{{item2}}" class="{{ item2.isBeOverdue ? 'overdue' : item2.confirmAttendance === 0 ? 'cancel' : '' }}" onTap="nextDetail"> <view class="dataSchedule">
<view class="dataScheduleName"> <!--<view class="thisDayLine thisDayHavaMeeting" style="margin-bottom: 7.5rpx"></view> -->
<text>{{item2.title}}{{item2.isDaySpan ? `(第${item2.isFewDays}天,共${item2.duration}天)` : '' }}</text> <view a:for="{{item.value.value}}" a:for-item="item2" data-item="{{item2}}" class="{{ item2.isBeOverdue ? 'overdue' : item2.confirmAttendance === 0 ? 'cancel' : '' }}" onTap="nextDetail">
</view> <view class="dataScheduleName">
<view class="dataScheduleTime"> <text>{{item2.title}}{{item2.isDaySpan ? `(第${item2.isFewDays}天,共${item2.duration}天)` : '' }}</text>
<text a:if="{{item2.isDaySpan && item2.isfirstDayOrEndDay === '0'}}">{{item2.thisDayStartTime}}</text> </view>
<text a:elif="{{item2.isDaySpan && item2.isfirstDayOrEndDay === '1'}}">全天</text> <view class="dataScheduleTime">
<text a:elif="{{item2.isDaySpan && item2.isfirstDayOrEndDay === '2'}}">直到{{item2.thisDayEndTime}}</text> <text a:if="{{item2.isDaySpan && item2.isfirstDayOrEndDay === '0'}}">{{item2.thisDayStartTime}}</text>
<text a:else>{{item2.thisDayStartTime}} - {{item2.thisDayEndTime}}</text> <text a:elif="{{item2.isDaySpan && item2.isfirstDayOrEndDay === '1'}}">全天</text>
</view> <text a:elif="{{item2.isDaySpan && item2.isfirstDayOrEndDay === '2'}}">直到{{item2.thisDayEndTime}}</text>
<text a:else>{{item2.thisDayStartTime}} - {{item2.thisDayEndTime}}</text>
</view> </view>
</view> </view>
</view> </view>
</block> </view>
<block a:elif="{{item.type == 'thisDay'}}"> </block>
<view class="date" id="{{item.value.dateStr}}"> <block a:elif="{{item.type == 'thisDay'}}">
<view class="dateTime thisDay"> <view class="date" id="{{item.value.dateStr}}">
<view> <view class="dateTime thisDay">
<view>
{{item.value.week}} {{item.value.week}}
</view>
<text>{{item.value.day}}</text>
</view> </view>
<view class="NoSchedule"> <text>{{item.value.day}}</text>
<view> </view>
<text>暂无日程安排,</text> <view class="NoSchedule">
<text onTap="nextPage">创建日程</text> <view>
</view> <text>暂无日程安排,</text>
<!--<view class="thisDayLine"></view> --> <text onTap="nextPage">创建日程</text>
</view> </view>
<!--<view class="thisDayLine"></view> -->
</view> </view>
</block> </view>
</block> </block>
</block> </block>
<!--</block> -->
</scroll-view> </scroll-view>
<popup show="{{show}}" onClose="closePop" position="left"> <popup show="{{show}}" onClose="closePop" position="left">
<view class="sidebarContent" catchTap="preventSort"> <view class="sidebarContent" catchTap="preventSort">
......
...@@ -62,13 +62,17 @@ create.Component({ ...@@ -62,13 +62,17 @@ create.Component({
let now = new Date(); let now = new Date();
let year = now.getFullYear(); let year = now.getFullYear();
let scheduleList = []; let scheduleList = [];
for (let i = 0; i <= year - 2019; i++) { for (let i = -1; i <= year - 2020; i++) {
scheduleList.push(that.returnScheduleList(2019 + i)); scheduleList.push.apply(
scheduleList,
that.returnScheduleList(2020 + i)
);
} }
let scheduleList2 = scheduleList;
// 第一次加载 // 第一次加载
const finalDate = new Date(); const finalDate = new Date();
that.setData({ that.setData({
scheduleList: scheduleList, scheduleList: scheduleList2,
todayStr: finalDate.toLocaleDateString(), todayStr: finalDate.toLocaleDateString(),
thisYear: year, thisYear: year,
maxYear: year maxYear: year
...@@ -156,30 +160,36 @@ create.Component({ ...@@ -156,30 +160,36 @@ create.Component({
item.excludePlanDates.split(",") item.excludePlanDates.split(",")
); );
rule.all().map(item2 => { rule.all().map(item2 => {
let excludeDate = getFormatDate(item2, "yyyyMMdd", "-"); let time = new Date(item2);
time.setHours(time.getHours() - 8);
let startTime =
getFormatDate(time, "yyyyMMdd") +
" " +
item.recurrenceModel.startTime;
let endTime = new Date(
getFormatDate(time, "yyyyMMdd") +
" " +
item.recurrenceModel.startTime
);
let excludeDate = getFormatDate(time, "yyyyMMdd", "-");
let hasExclude = let hasExclude =
excludeDateList.scheduleList.indexOf(excludeDate) === -1; excludeDateList.scheduleList.indexOf(excludeDate) === -1;
if ( if (
new Date(item2).getTime() < excludeDateList.templateList && new Date(time).getTime() < excludeDateList.templateList &&
hasExclude hasExclude
) { ) {
let startTime =
getFormatDate(item2, "yyyyMMdd") +
" " +
item.recurrenceModel.startTime;
let endTime = new Date(startTime);
endTime.setMinutes( endTime.setMinutes(
endTime.getMinutes() + item.recurrenceModel.duration endTime.getMinutes() + item.recurrenceModel.duration
); );
scheduleMap.set( scheduleMap.set(
`${new Date(item2).toLocaleDateString()}/${item.id}`, `${new Date(time).toLocaleDateString()}/${item.id}`,
{ {
confirmAttendance: item.confirmAttendance, confirmAttendance: item.confirmAttendance,
endTime: getFormatDate(endTime, "yyyyMMdd HH:mm:ss"), endTime: getFormatDate(endTime, "yyyyMMdd HH:mm:ss"),
scheduleTemplateId: item.id, scheduleTemplateId: item.id,
startTime: startTime, startTime: startTime,
title: item.title, title: item.title,
planDate: getFormatDate(item2, "yyyyMMdd", "-") planDate: getFormatDate(time, "yyyyMMdd", "-")
} }
); );
} }
...@@ -255,6 +265,7 @@ create.Component({ ...@@ -255,6 +265,7 @@ create.Component({
if (i <= 7 && new Date(year, 0, i).getDay() === 0) { if (i <= 7 && new Date(year, 0, i).getDay() === 0) {
isFirstWeek = true; isFirstWeek = true;
} }
` `;
// 是第一个月第一个周一 // 是第一个月第一个周一
if (isFirstWeek) { if (isFirstWeek) {
DateMap.set(`${new Date(year, 0, i).toLocaleDateString()}`, { DateMap.set(`${new Date(year, 0, i).toLocaleDateString()}`, {
...@@ -263,11 +274,17 @@ create.Component({ ...@@ -263,11 +274,17 @@ create.Component({
} }
} }
// 跨年的那几天不是周一的 // 跨年的那几天不是周一的
let num = 6 - new Date(year, 0, 366).getDay(); let num =
6 - new Date(year, 0, isLeapYear).getDay() === 6
? 0
: 6 - new Date(year, 0, isLeapYear).getDay();
for (let i = 0; i <= num; i++) { for (let i = 0; i <= num; i++) {
DateMap.set(`${new Date(year, 0, 366 + i).toLocaleDateString()}`, { DateMap.set(
scheduleList: [] `${new Date(year, 0, isLeapYear + i).toLocaleDateString()}`,
}); {
scheduleList: []
}
);
} }
let AllScheduleList = this.getCalendarList(); let AllScheduleList = this.getCalendarList();
// 遍历所有日程 // 遍历所有日程
......
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