Commit 10a15f62 by fengzhaoyu

日程出不来

parents c3fcb0ac a9de2203
<import src="../../template/affairBlank/index.axml"/>
<import src="../../template/loading/loading.axml"/>
<view class="{{isStopBodyScroll ? 'scroll-lock' : ''}}" onTap="closeSwipe" onTouchStart="closeSwipe">
<template is="loading" a:if="{{loading}}"/>
<view a:if="{{dynamicList.length !== 0}}" scroll-y="{{true}}" class="dynamicBox" onScrollToLower="onScrollToLower">
<view class="dynamicList">
<swipe onSetBodyDisableScroll="setBodyDisableScroll" rightWidth="{{ 78 }}" leftWidth="{{ 0 }}" a:for="{{dynamicList}}" class="dynamicContent">
<view class="dynamicDetails">
<view class="meetingtitle">
<view>
<view class="{{isStopBodyScroll ? 'scroll-lock' : ''}}" onTap="closeSwipe" onTouchStart="closeSwipe" onTouchMove="closeSwipe" onTouchEnd="closeSwipe">
<block a:if="{{!loading}}">
<scroll-view a:if="{{dynamicList.length > 0}}" scroll-y="{{true}}" class="dynamicBox" onScrollToLower="onScrollToLower">
<view class="dynamicList">
<swipe onSetBodyDisableScroll="setBodyDisableScroll" rightWidth="{{ 78 }}" leftWidth="{{ 0 }}" a:for="{{dynamicList}}" class="dynamicContent">
<view class="dynamicDetails">
<view class="meetingtitle" catchTap="nextPage" data-item="{{item}}">
<view>
{{item.title}}
</view>
<view>
<text a:if="{{item.traceTime !== traceTime}}" class="iconfont iconicon_top1"></text>
</view>
</view>
<block a:for="{{item.meetingLogDataList.slice(0,2)}}" a:for-item="dynamicItem">
<view class="userDynamic">
<view class="dynamicTime">
<text>{{dynamicItem.content}}</text>
<text>{{dynamicItem.createTime}}</text>
</view>
<file-list a:if="{{dynamicItem.category === '2'}}" fileView="{{dynamicItem.meetingLogResource}}" isCanEdit="{{false}}"/>
<view class="dynamicFile" a:if="{{dynamicItem.category === '3'}}">
<task-list onChangeTaskStatusOnList="onChangeTaskStatusOnList" taskList="{{[dynamicItem.meetingLogResource]}}" isCanEdit="{{false}}"/>
<view>
<text a:if="{{item.traceTime !== traceTime}}" class="iconfont iconicon_top1"></text>
</view>
</view>
</block>
</view>
<view slot="right" class="placedTop" onTap="changeCollection" data-scheduleId="{{item.scheduleId}}" data-index="{{index}}" data-collection="{{item.traceTime === traceTime ? 'Y':'N'}}">
<text class="iconfont iconicon_top1 {{item.traceTime === traceTime ? '': 'isTopIcon'}}"></text>
</view>
</swipe>
</view>
<block a:for="{{item.meetingLogDataList.slice(0,2)}}" a:for-item="dynamicItem">
<view class="userDynamic">
<view class="dynamicTime" catchTap="nextPage" data-item="{{dynamicItem}}">
<text>{{dynamicItem.content}}</text>
<text>{{dynamicItem.createTime}}</text>
</view>
<file-list a:if="{{dynamicItem.category === '2'}}" fileView="{{dynamicItem.meetingLogResource}}" isCanEdit="{{false}}"/>
<view class="dynamicFile" a:if="{{dynamicItem.category === '3'}}">
<task-list onChangeTaskStatusOnList="onChangeTaskStatusOnList" taskList="{{[dynamicItem.meetingLogResource]}}" isCanEdit="{{false}}"/>
</view>
</view>
</block>
</view>
<view slot="right" class="placedTop" onTap="changeCollection" data-scheduleId="{{item.scheduleId}}" data-index="{{index}}" data-collection="{{item.traceTime === traceTime ? 'Y':'N'}}">
<text class="iconfont iconicon_top1 {{item.traceTime === traceTime ? '': 'isTopIcon'}}"></text>
</view>
</swipe>
</view>
</scroll-view>
<view class="noDate" a:if="{{dynamicList.length == 0}}">
<view class="noDate" a:else>
<template is="affair-placeholder" data="{{title: '展示安排的所有动态', tip: '实时同步所有事件的最新动态,便于随时处理工作内容'}}"/>
</view>
</block>
</view>
</block>
<template is="loading" a:else>
</template>
</view>
\ No newline at end of file
......@@ -11,7 +11,6 @@ create.Component({
data: {
traceTime: '1970-03-01 00:00:00',
isStopBodyScroll: false,
loading: true,
dynamicList: [],
current: 1,
pages: 1,
......@@ -42,11 +41,12 @@ create.Component({
current,
size: 10
}).then(res => {
if (!res.data.data) {
this.setData({
loading: false
})
return;
}
// 第一层日程数据处理
const dynamicList = res.data.data.records.map((item, index) => {
// 第二层日程下的动态数据处理
......@@ -102,13 +102,10 @@ create.Component({
});
}
this.setData({
loading: false,
current: res.data.data.current,
pages: res.data.data.pages,
});
this.setData({
loading: false
})
});
},
changeCollection(e) {
......@@ -171,7 +168,11 @@ create.Component({
});
}
});
}
},
nextPage(event) {
console.log(event.currentTarget.dataset.item)
dd.navigateTo({ url: `./../meetingDetail/meetingDetail?scheduleItem=${JSON.stringify(event.currentTarget.dataset.item)}` });
},
}
});
......@@ -28,16 +28,26 @@
{{item.value}}
</view>
</view>
<view class="dataSchedule">
<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="dataScheduleName">
<text>{{item2.title}}{{item2.isDaySpan ? `(第${item2.isFewDays}天,共${item2.duration}天)` : '' }}</text>
</block>
<block a:elif="{{item.type == 'day'}}">
<view class="date">
<view class="dateTime {{item.isThisDay}}">
<view>
{{item.value.week}}
</view>
<view class="dataScheduleTime">
<text a:if="{{item2.isDaySpan && item2.isfirstDayOrEndDay === '0'}}">{{item2.thisDayStartTime}}</text>
<text a:elif="{{item2.isDaySpan && item2.isfirstDayOrEndDay === '1'}}">全天</text>
<text a:elif="{{item2.isDaySpan && item2.isfirstDayOrEndDay === '2'}}">直到{{item2.thisDayEndTime}}</text>
<text a:else>{{item2.thisDayStartTime}} - {{item2.thisDayEndTime}}</text>
<text>{{item.value.day}}</text>
</view>
<view class="dataSchedule">
<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="dataScheduleName">
<text>{{item2.title}}{{item2.isDaySpan ? `(第${item2.isFewDays}天,共${item2.duration}天)` : '' }}</text>
</view>
<view class="dataScheduleTime">
<text a:if="{{item2.isDaySpan && item2.isfirstDayOrEndDay === '0'}}">{{item2.thisDayStartTime}}</text>
<text a:elif="{{item2.isDaySpan && item2.isfirstDayOrEndDay === '1'}}">全天</text>
<text a:elif="{{item2.isDaySpan && item2.isfirstDayOrEndDay === '2'}}">直到{{item2.thisDayEndTime}}</text>
<text a:else>{{item2.thisDayStartTime}} - {{item2.thisDayEndTime}}</text>
</view>
</view>
</view>
</view>
......@@ -64,117 +74,119 @@
</view>
</view>
</view>
</block>
<block a:elif="{{item.type == 'thisDay'}}">
<view class="date" id="{{item.value.dateStr}}">
<view class="dateTime thisDay">
<view>
</view>
</block>
<block a:elif="{{item.type == 'thisDay'}}">
<view class="date" id="{{item.value.dateStr}}">
<view class="dateTime thisDay">
<view>
{{item.value.week}}
</view>
<text>{{item.value.day}}</text>
</view>
<view class="NoSchedule">
<view>
<text>暂无日程安排,</text>
<text onTap="nextPage">创建日程</text>
</view>
<!--<view class="thisDayLine"></view> -->
</view>
</view>
</block>
</block>
</block>
</scroll-view>
<popup show="{{show}}" onClose="closePop" position="left">
<view class="sidebarContent" catchTap="preventSort">
<view class="sidebarLogo">
<view>
<image a:if="{{userMsg.headUrl}}" mode="scaleToFill" src="{{userMsg.headUrl}}" />
<text a:else>{{ userMsg.userName.slice(-1) }}</text>
</view>
<view>
<text>{{item.value.day}}</text>
</view>
<view class="NoSchedule">
<view>
<text>暂无日程安排,</text>
<text onTap="nextPage">创建日程</text>
</view>
<!--<view class="thisDayLine"></view> -->
</view>
</view>
</block>
</block>
</block>
</scroll-view>
<popup show="{{show}}" onClose="closePop" position="left">
<view class="sidebarContent" catchTap="preventSort">
<view class="sidebarLogo">
<view>
<image a:if="{{userMsg.headUrl}}" mode="scaleToFill" src="{{userMsg.headUrl}}" />
<text a:else>{{ userMsg.userName.slice(-1) }}</text>
</view>
<view>
{{ userMsg.userName }}
</view>
</view>
<view class="hasAssociated">
<view class="associated">
</view>
</view>
<view class="hasAssociated">
<view class="associated">
已关联应用
</view>
<view class="applicationList">
<view class="applicationLogo">
</view>
<view class="applicationMsg">
<view>
<view>
</view>
<view class="applicationList">
<view class="applicationLogo">
</view>
<view class="applicationMsg">
<view>
<view>
Outlook日历
</view>
<view>
</view>
<view>
支持会议日程双向同步,实时同步日程信息等
</view>
</view>
<view class="operateIcon">
<text class="iconfont iconright"></text>
</view>
</view>
</view>
</view>
<view class="unAssociated">
<view class="associated">
</view>
</view>
<view class="operateIcon">
<text class="iconfont iconright"></text>
</view>
</view>
</view>
</view>
<view class="unAssociated">
<view class="associated">
可关联应用
</view>
<view class="applicationList">
<view class="applicationLogo">
</view>
<view class="applicationMsg">
<view>
<view>
</view>
<view class="applicationList">
<view class="applicationLogo">
</view>
<view class="applicationMsg">
<view>
<view>
Outlook日历
</view>
<view>
</view>
<view>
支持会议日程双向同步,实时同步日程信息等
</view>
</view>
<view class="operateIcon">
<text class="iconfont iconright"></text>
</view>
</view>
</view>
<view class="applicationList">
<view class="applicationLogo">
</view>
<view class="applicationMsg">
<view>
<view>
</view>
</view>
<view class="operateIcon">
<text class="iconfont iconright"></text>
</view>
</view>
</view>
<view class="applicationList">
<view class="applicationLogo">
</view>
<view class="applicationMsg">
<view>
<view>
Outlook日历
</view>
<view>
</view>
<view>
支持会议日程双向同步,实时同步日程信息等
</view>
</view>
<view class="operateIcon">
<text class="iconfont iconright"></text>
</view>
</view>
</view>
<view class="applicationList">
<view class="applicationLogo">
</view>
<view class="applicationMsg">
<view>
<view>
</view>
</view>
<view class="operateIcon">
<text class="iconfont iconright"></text>
</view>
</view>
</view>
<view class="applicationList">
<view class="applicationLogo">
</view>
<view class="applicationMsg">
<view>
<view>
Outlook日历
</view>
<view>
</view>
<view>
支持会议日程双向同步,实时同步日程信息等
</view>
</view>
<view class="operateIcon">
<text class="iconfont iconright"></text>
</view>
</view>
</view>
</view>
</view>
</popup>
</view>
<view class="operateIcon">
<text class="iconfont iconright"></text>
</view>
</view>
<template is="loading" a:if="{{loading}}"/>
\ No newline at end of file
</view>
</view>
</view>
</popup>
</view>
<template is="loading" a:else>
</template>
\ No newline at end of file
......@@ -55,14 +55,13 @@ create.Component({
};
let that = this;
getHomeUserSchedule1(data).then(res => {
console.log(this)
that.setData(
{
response: res.data.data
},
() => {
let now = new Date();
let year = now.getFullYear();
let year = now.getUTCFullYear();
let scheduleList = [];
for (let i = 0; i <= year - 2019; i++) {
scheduleList.push(that.returnScheduleList(2019 + i));
......@@ -73,11 +72,9 @@ create.Component({
scheduleList: scheduleList,
todayStr: finalDate.toLocaleDateString(),
thisYear: year,
maxYear: year,
loading: false
maxYear: year
});
}
);
that.setData({
loading: false
......@@ -141,7 +138,7 @@ create.Component({
parseInt(initialTime[1]) - 1,
parseInt(initialTime[2])
);
let initialTimeDateyear = initialTimeDate.getFullYear();
let initialTimeDateyear = new Date(initialTimeDate).getUTCFullYear();
let initialTimeDatemonth =
initialTimeDate.getMonth() + 1 < 10
? "0" + (initialTimeDate.getMonth() + 1)
......@@ -155,7 +152,7 @@ create.Component({
let rule = RRule.fromString(
`${item.recurrenceModel.recurrenceRule};DTSTART=${DTSTART}`
);
rule.options.tzid = "Asia/Hong_Kong";
rule.options.tzid = "";
// 判断是否需要剔除某一天
if (item.excludePlanDates) {
// 拿到剔除日期的list
......@@ -164,42 +161,50 @@ create.Component({
);
rule.all().map(item2 => {
let excludeDate = getFormatDate(item2, "yyyyMMdd", "-");
let time = new Date(item2);
time.setHours(time.getHours() - 8);
let hasExclude =
excludeDateList.scheduleList.indexOf(excludeDate) === -1;
if (
new Date(item2).getTime() < excludeDateList.templateList &&
new Date(time).getTime() < excludeDateList.templateList &&
hasExclude
) {
let startTime =
getFormatDate(item2, "yyyyMMdd") +
getFormatDate(time, "yyyyMMdd") +
" " +
item.recurrenceModel.startTime;
let endTime = new Date(startTime);
let endTime = new Date(
getFormatDate(time, "yyyyMMdd") +
" " +
item.recurrenceModel.startTime
);
endTime.setMinutes(
endTime.getMinutes() + item.recurrenceModel.duration
);
scheduleMap.set(
`${new Date(item2).toLocaleDateString()}/${item.id}`,
`${new Date(time).toLocaleDateString()}/${item.id}`,
{
confirmAttendance: item.confirmAttendance,
endTime: getFormatDate(endTime, "yyyyMMdd HH:mm:ss"),
// id: item.id,
scheduleTemplateId: item.id,
startTime: startTime,
title: item.title,
planDate: getFormatDate(item2, "yyyyMMdd", "-")
planDate: getFormatDate(startTime, "yyyyMMdd", "-")
}
);
}
});
} else {
rule.all().map(item2 => {
let time = new Date(item2);
time.setHours(time.getHours() - 8);
let startTime =
getFormatDate(item2, "yyyyMMdd") +
getFormatDate(time, "yyyyMMdd") +
" " +
item.recurrenceModel.startTime;
let endTime = new Date(
getFormatDate(item2, "yyyyMMdd") +
getFormatDate(time, "yyyyMMdd") +
" " +
item.recurrenceModel.startTime
);
......@@ -207,14 +212,14 @@ create.Component({
endTime.getMinutes() + item.recurrenceModel.duration
);
scheduleMap.set(
`${new Date(item2).toLocaleDateString()}/${item.id}`,
`${new Date(time).toLocaleDateString()}/${item.id}`,
{
confirmAttendance: item.confirmAttendance,
endTime: getFormatDate(endTime, "yyyyMMdd HH:mm:ss"),
scheduleTemplateId: item.id,
startTime: startTime,
title: item.title,
planDate: getFormatDate(item2, "yyyyMMdd", "-")
planDate: getFormatDate(time, "yyyyMMdd", "-")
}
);
});
......@@ -315,7 +320,7 @@ create.Component({
DateMap.forEach(function (value, key, map) {
const keyDate = new Date(key);
if (keyDate.getDay() === 0) {
let rangeYear1 = keyDate.getFullYear();
let rangeYear1 = keyDate.getUTCFullYear();
let rangeMonth1 = keyDate.getMonth();
let rangeDay1 = keyDate.getDate();
let rangeDate = new Date(rangeYear1, rangeMonth1, rangeDay1 + 6);
......
......@@ -28,7 +28,7 @@ create.Page({
let title = "动态";
switch (e.currentTarget.dataset.tabbar) {
case '0':
title = '动态177';
title = '动态180';
break;
case "1":
title = "日程";
......
......@@ -201,30 +201,33 @@
<import src="../../template/affairBlank/index.axml"/>
<view class="affair-list {{isExpand? '' : 'affair-list-margin-top'}}" onTap="hideFileOperate">
<view a:if="{{!isExpand}}" class="affair-list-title">会议动态</view>
<block a:for="{{affairList}}">
<view a:if="{{item.category == '3' && item.taskViewList && item.taskViewList.length > 0}}" class='compose-column'>
<view class="avater task-avater">
<text class="iconfont iconicon_task1"></text>
</view>
<view class="title">
会议任务
<text>{{item.createTime}}</text>
<block a:if="{{!affairLoading}}">
<block a:for="{{affairList}}">
<view a:if="{{item.category == '3' && item.taskViewList && item.taskViewList.length > 0}}" class='compose-column'>
<view class="avater task-avater">
<text class="iconfont iconicon_task1"></text>
</view>
<view class="title">
会议任务
<text>{{item.createTime}}</text>
</view>
<task-list onShowPop="showPop" onSetCurrentTask="setCurrentTask" taskList="{{item.taskViewList}}" onChangeTaskStatusOnList="changeTaskStatusOnList"/>
</view>
<task-list onShowPop="showPop" onSetCurrentTask="setCurrentTask" taskList="{{item.taskViewList}}" onChangeTaskStatusOnList="changeTaskStatusOnList"/>
</view>
<view a:if="{{item.category == '2' && item.fileView && item.fileView.fileInfos && item.fileView.fileInfos.length > 0 }}" class='compose-column'>
<template is="avater" data="{{item: item.fileView.creatorInfo}}"/>
<view class="title">
{{item.fileView.creatorInfo.username}}
<text>{{item.createTime}}</text>
<view a:if="{{item.category == '2' && item.fileView && item.fileView.fileInfos && item.fileView.fileInfos.length > 0 }}" class='compose-column'>
<template is="avater" data="{{item: item.fileView.creatorInfo}}"/>
<view class="title">
{{item.fileView.creatorInfo.username}}
<text>{{item.createTime}}</text>
</view>
<file-list fileView="{{item.fileView}}" organizer="{{organizer}}" currentPeople="{{currentPeople}}" onDeleteMeetingFile="deleteMeetingFile"/>
</view>
<file-list fileView="{{item.fileView}}" organizer="{{organizer}}" currentPeople="{{currentPeople}}" onDeleteMeetingFile="deleteMeetingFile"/>
<view a:if="{{item.content}}" class='simple-column'>{{item.content}} {{item.createTime}}</view>
</block>
<view class="affair-placeholder" a:if="{{affairList.length == 1 && affairList[0].logType == 'create_schedule'}}">
<template is="affair-placeholder" data="{{title: '添加文件', tip: '我们不开无准备的会,快来上传会议文件吧。'}}"/>
</view>
<view a:if="{{item.content}}" class='simple-column'>{{item.content}} {{item.createTime}}</view>
</block>
<view class="affair-placeholder" a:if="{{affairList.length <= 1}}">
<template is="affair-placeholder" data="{{title: '添加文件', tip: '我们不开无准备的会,快来上传会议文件吧。'}}"/>
</view>
<view a:else>正在加载</view>
<popup title="{{popupTitle}}" show="{{popupShow}}" mask="true" onClose="closePopup">
<meeting-time-picker a:if="{{'time' === comType}}" onComplete="onComplete" startTime="{{$data.startTime}}" endTime="{{$data.endTime}}"></meeting-time-picker>
<hlist a:if="{{'participator' === comType}}" dataComList="{{comHListData.contactData}}" onSelectComHList="selectComHList"></hlist>
......
......@@ -11,6 +11,7 @@ create.Page({
useAll: true,
data: {
$data: null,
affairLoading: true,
affairList: null, //store,页面用到的变量需要在这里声明
show: false, //pop
oldTask: null,
......@@ -119,6 +120,7 @@ create.Page({
}
},
onLoad(event) {
this.reset()
dd.setNavigationBar({
title: `会议详情`
......@@ -142,9 +144,9 @@ create.Page({
// 获取详情
getDetail() {
let data = {
id: this.data.scheduleItem.id,
id: !!this.data.scheduleItem.scheduleId ? this.data.scheduleItem.scheduleId : this.data.scheduleItem.id,
scheduleTemplateId: this.data.scheduleItem.scheduleTemplateId,
planDate: this.data.scheduleItem.planDate.replace(/\//g, '-')
planDate: !!this.data.scheduleItem.planDate ? this.data.scheduleItem.planDate.replace(/\//g, '-') : null
}
getScheduleDetail(data).then(res => {
if (res.data.code === 0) {
......@@ -174,8 +176,8 @@ create.Page({
confirmAttendance: res.data.data.confirmAttendance,
organizer: res.data.data.organizer,
'comListData.meetingWayModelId': res.data.data.meetingWayModel.model === null ? null : (res.data.data.meetingWayModel.model === 'dingtalk' ? 2 : (res.data.data.meetingWayModel.model === 'zoom' ? 1 : 0)),
'scheduleItem.id': res.data.data.id,
'scheduleItem.groupId': res.data.data.groupId,
// 'scheduleItem.id': res.data.data.id,
// 'scheduleItem.groupId': res.data.data.groupId,
repeatable: res.data.data.repeatable,
recurrenceModel: res.data.data.repeatable ? { model: res.data.data.recurrenceModel.model, daysOfMonth: res.data.data.recurrenceModel.daysOfMonth, interval: 1, initialTime: res.data.data.recurrenceModel.initialTime, terminateTime: res.data.data.recurrenceModel.terminateTime, weekDayList: res.data.data.recurrenceModel.weekDayList } : { model: 'no_repeat' },
title: res.data.data.title,
......@@ -183,7 +185,8 @@ create.Page({
isExpand: res.data.data.confirmAttendance === 1 ? true : false,
isShowRemark: res.data.data.remark ? true : false,
week: this.data.weekList[new Date(res.data.data.startTime.replace(/-/g, "/")).getDay()],
getData: true
getData: true,
scheduleItem: res.data.data
})
if (res.data.data.repeatable) {
this.setData({
......@@ -1202,8 +1205,12 @@ create.Page({
return it
})
this.store.data.affairList = newAffairList;
this.setData({
affairLoading: false
});
//重置
this.store.data.isNeedReloadList = false;
this.update();
})
},
......
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