Commit 10a15f62 by fengzhaoyu

日程出不来

parents c3fcb0ac a9de2203
<import src="../../template/affairBlank/index.axml"/> <import src="../../template/affairBlank/index.axml"/>
<import src="../../template/loading/loading.axml"/> <import src="../../template/loading/loading.axml"/>
<view class="{{isStopBodyScroll ? 'scroll-lock' : ''}}" onTap="closeSwipe" onTouchStart="closeSwipe"> <view class="{{isStopBodyScroll ? 'scroll-lock' : ''}}" onTap="closeSwipe" onTouchStart="closeSwipe" onTouchMove="closeSwipe" onTouchEnd="closeSwipe">
<template is="loading" a:if="{{loading}}"/> <block a:if="{{!loading}}">
<view a:if="{{dynamicList.length !== 0}}" scroll-y="{{true}}" class="dynamicBox" onScrollToLower="onScrollToLower"> <scroll-view a:if="{{dynamicList.length > 0}}" scroll-y="{{true}}" class="dynamicBox" onScrollToLower="onScrollToLower">
<view class="dynamicList"> <view class="dynamicList">
<swipe onSetBodyDisableScroll="setBodyDisableScroll" rightWidth="{{ 78 }}" leftWidth="{{ 0 }}" a:for="{{dynamicList}}" class="dynamicContent"> <swipe onSetBodyDisableScroll="setBodyDisableScroll" rightWidth="{{ 78 }}" leftWidth="{{ 0 }}" a:for="{{dynamicList}}" class="dynamicContent">
<view class="dynamicDetails"> <view class="dynamicDetails">
<view class="meetingtitle"> <view class="meetingtitle" catchTap="nextPage" data-item="{{item}}">
<view> <view>
{{item.title}} {{item.title}}
</view> </view>
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
</view> </view>
<block a:for="{{item.meetingLogDataList.slice(0,2)}}" a:for-item="dynamicItem"> <block a:for="{{item.meetingLogDataList.slice(0,2)}}" a:for-item="dynamicItem">
<view class="userDynamic"> <view class="userDynamic">
<view class="dynamicTime"> <view class="dynamicTime" catchTap="nextPage" data-item="{{dynamicItem}}">
<text>{{dynamicItem.content}}</text> <text>{{dynamicItem.content}}</text>
<text>{{dynamicItem.createTime}}</text> <text>{{dynamicItem.createTime}}</text>
</view> </view>
...@@ -33,9 +33,10 @@ ...@@ -33,9 +33,10 @@
</swipe> </swipe>
</view> </view>
</scroll-view> </scroll-view>
<view class="noDate" a:if="{{dynamicList.length == 0}}"> <view class="noDate" a:else>
<template is="affair-placeholder" data="{{title: '展示安排的所有动态', tip: '实时同步所有事件的最新动态,便于随时处理工作内容'}}"/> <template is="affair-placeholder" data="{{title: '展示安排的所有动态', tip: '实时同步所有事件的最新动态,便于随时处理工作内容'}}"/>
</view> </view>
</block> </block>
</view> <template is="loading" a:else>
</template>
</view> </view>
\ No newline at end of file
...@@ -11,7 +11,6 @@ create.Component({ ...@@ -11,7 +11,6 @@ create.Component({
data: { data: {
traceTime: '1970-03-01 00:00:00', traceTime: '1970-03-01 00:00:00',
isStopBodyScroll: false, isStopBodyScroll: false,
loading: true,
dynamicList: [], dynamicList: [],
current: 1, current: 1,
pages: 1, pages: 1,
...@@ -42,11 +41,12 @@ create.Component({ ...@@ -42,11 +41,12 @@ create.Component({
current, current,
size: 10 size: 10
}).then(res => { }).then(res => {
if (!res.data.data) { if (!res.data.data) {
this.setData({
loading: false
})
return; return;
} }
// 第一层日程数据处理 // 第一层日程数据处理
const dynamicList = res.data.data.records.map((item, index) => { const dynamicList = res.data.data.records.map((item, index) => {
// 第二层日程下的动态数据处理 // 第二层日程下的动态数据处理
...@@ -102,13 +102,10 @@ create.Component({ ...@@ -102,13 +102,10 @@ create.Component({
}); });
} }
this.setData({ this.setData({
loading: false,
current: res.data.data.current, current: res.data.data.current,
pages: res.data.data.pages, pages: res.data.data.pages,
}); });
this.setData({
loading: false
})
}); });
}, },
changeCollection(e) { changeCollection(e) {
...@@ -171,7 +168,11 @@ create.Component({ ...@@ -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,6 +28,15 @@ ...@@ -28,6 +28,15 @@
{{item.value}} {{item.value}}
</view> </view>
</view> </view>
</block>
<block a:elif="{{item.type == 'day'}}">
<view class="date">
<view class="dateTime {{item.isThisDay}}">
<view>
{{item.value.week}}
</view>
<text>{{item.value.day}}</text>
</view>
<view class="dataSchedule"> <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 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"> <view class="dataScheduleName">
...@@ -41,6 +50,7 @@ ...@@ -41,6 +50,7 @@
</view> </view>
</view> </view>
</view> </view>
</view>
</block> </block>
<block a:elif="{{item.type == 'today'}}"> <block a:elif="{{item.type == 'today'}}">
<view class="date" id="{{item.value.dateStr}}"> <view class="date" id="{{item.value.dateStr}}">
...@@ -64,6 +74,7 @@ ...@@ -64,6 +74,7 @@
</view> </view>
</view> </view>
</view> </view>
</view>
</block> </block>
<block a:elif="{{item.type == 'thisDay'}}"> <block a:elif="{{item.type == 'thisDay'}}">
<view class="date" id="{{item.value.dateStr}}"> <view class="date" id="{{item.value.dateStr}}">
...@@ -176,5 +187,6 @@ ...@@ -176,5 +187,6 @@
</view> </view>
</view> </view>
</popup> </popup>
</view> </view>
<template is="loading" a:if="{{loading}}"/> <template is="loading" a:else>
\ No newline at end of file </template>
\ No newline at end of file
...@@ -55,14 +55,13 @@ create.Component({ ...@@ -55,14 +55,13 @@ create.Component({
}; };
let that = this; let that = this;
getHomeUserSchedule1(data).then(res => { getHomeUserSchedule1(data).then(res => {
console.log(this)
that.setData( that.setData(
{ {
response: res.data.data response: res.data.data
}, },
() => { () => {
let now = new Date(); let now = new Date();
let year = now.getFullYear(); let year = now.getUTCFullYear();
let scheduleList = []; let scheduleList = [];
for (let i = 0; i <= year - 2019; i++) { for (let i = 0; i <= year - 2019; i++) {
scheduleList.push(that.returnScheduleList(2019 + i)); scheduleList.push(that.returnScheduleList(2019 + i));
...@@ -73,11 +72,9 @@ create.Component({ ...@@ -73,11 +72,9 @@ create.Component({
scheduleList: scheduleList, scheduleList: scheduleList,
todayStr: finalDate.toLocaleDateString(), todayStr: finalDate.toLocaleDateString(),
thisYear: year, thisYear: year,
maxYear: year, maxYear: year
loading: false
}); });
} }
); );
that.setData({ that.setData({
loading: false loading: false
...@@ -141,7 +138,7 @@ create.Component({ ...@@ -141,7 +138,7 @@ create.Component({
parseInt(initialTime[1]) - 1, parseInt(initialTime[1]) - 1,
parseInt(initialTime[2]) parseInt(initialTime[2])
); );
let initialTimeDateyear = initialTimeDate.getFullYear(); let initialTimeDateyear = new Date(initialTimeDate).getUTCFullYear();
let initialTimeDatemonth = let initialTimeDatemonth =
initialTimeDate.getMonth() + 1 < 10 initialTimeDate.getMonth() + 1 < 10
? "0" + (initialTimeDate.getMonth() + 1) ? "0" + (initialTimeDate.getMonth() + 1)
...@@ -155,7 +152,7 @@ create.Component({ ...@@ -155,7 +152,7 @@ create.Component({
let rule = RRule.fromString( let rule = RRule.fromString(
`${item.recurrenceModel.recurrenceRule};DTSTART=${DTSTART}` `${item.recurrenceModel.recurrenceRule};DTSTART=${DTSTART}`
); );
rule.options.tzid = "Asia/Hong_Kong"; rule.options.tzid = "";
// 判断是否需要剔除某一天 // 判断是否需要剔除某一天
if (item.excludePlanDates) { if (item.excludePlanDates) {
// 拿到剔除日期的list // 拿到剔除日期的list
...@@ -164,42 +161,50 @@ create.Component({ ...@@ -164,42 +161,50 @@ create.Component({
); );
rule.all().map(item2 => { rule.all().map(item2 => {
let excludeDate = getFormatDate(item2, "yyyyMMdd", "-"); let excludeDate = getFormatDate(item2, "yyyyMMdd", "-");
let time = new Date(item2);
time.setHours(time.getHours() - 8);
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 = let startTime =
getFormatDate(item2, "yyyyMMdd") + getFormatDate(time, "yyyyMMdd") +
" " + " " +
item.recurrenceModel.startTime; item.recurrenceModel.startTime;
let endTime = new Date(startTime); let endTime = new Date(
getFormatDate(time, "yyyyMMdd") +
" " +
item.recurrenceModel.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"),
// id: item.id,
scheduleTemplateId: item.id, scheduleTemplateId: item.id,
startTime: startTime, startTime: startTime,
title: item.title, title: item.title,
planDate: getFormatDate(item2, "yyyyMMdd", "-") planDate: getFormatDate(startTime, "yyyyMMdd", "-")
} }
); );
} }
}); });
} else { } else {
rule.all().map(item2 => { rule.all().map(item2 => {
let time = new Date(item2);
time.setHours(time.getHours() - 8);
let startTime = let startTime =
getFormatDate(item2, "yyyyMMdd") + getFormatDate(time, "yyyyMMdd") +
" " + " " +
item.recurrenceModel.startTime; item.recurrenceModel.startTime;
let endTime = new Date( let endTime = new Date(
getFormatDate(item2, "yyyyMMdd") + getFormatDate(time, "yyyyMMdd") +
" " + " " +
item.recurrenceModel.startTime item.recurrenceModel.startTime
); );
...@@ -207,14 +212,14 @@ create.Component({ ...@@ -207,14 +212,14 @@ create.Component({
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", "-")
} }
); );
}); });
...@@ -315,7 +320,7 @@ create.Component({ ...@@ -315,7 +320,7 @@ create.Component({
DateMap.forEach(function (value, key, map) { DateMap.forEach(function (value, key, map) {
const keyDate = new Date(key); const keyDate = new Date(key);
if (keyDate.getDay() === 0) { if (keyDate.getDay() === 0) {
let rangeYear1 = keyDate.getFullYear(); let rangeYear1 = keyDate.getUTCFullYear();
let rangeMonth1 = keyDate.getMonth(); let rangeMonth1 = keyDate.getMonth();
let rangeDay1 = keyDate.getDate(); let rangeDay1 = keyDate.getDate();
let rangeDate = new Date(rangeYear1, rangeMonth1, rangeDay1 + 6); let rangeDate = new Date(rangeYear1, rangeMonth1, rangeDay1 + 6);
......
...@@ -28,7 +28,7 @@ create.Page({ ...@@ -28,7 +28,7 @@ create.Page({
let title = "动态"; let title = "动态";
switch (e.currentTarget.dataset.tabbar) { switch (e.currentTarget.dataset.tabbar) {
case '0': case '0':
title = '动态177'; title = '动态180';
break; break;
case "1": case "1":
title = "日程"; title = "日程";
......
...@@ -201,6 +201,7 @@ ...@@ -201,6 +201,7 @@
<import src="../../template/affairBlank/index.axml"/> <import src="../../template/affairBlank/index.axml"/>
<view class="affair-list {{isExpand? '' : 'affair-list-margin-top'}}" onTap="hideFileOperate"> <view class="affair-list {{isExpand? '' : 'affair-list-margin-top'}}" onTap="hideFileOperate">
<view a:if="{{!isExpand}}" class="affair-list-title">会议动态</view> <view a:if="{{!isExpand}}" class="affair-list-title">会议动态</view>
<block a:if="{{!affairLoading}}">
<block a:for="{{affairList}}"> <block a:for="{{affairList}}">
<view a:if="{{item.category == '3' && item.taskViewList && item.taskViewList.length > 0}}" class='compose-column'> <view a:if="{{item.category == '3' && item.taskViewList && item.taskViewList.length > 0}}" class='compose-column'>
<view class="avater task-avater"> <view class="avater task-avater">
...@@ -222,9 +223,11 @@ ...@@ -222,9 +223,11 @@
</view> </view>
<view a:if="{{item.content}}" class='simple-column'>{{item.content}} {{item.createTime}}</view> <view a:if="{{item.content}}" class='simple-column'>{{item.content}} {{item.createTime}}</view>
</block> </block>
<view class="affair-placeholder" a:if="{{affairList.length <= 1}}"> <view class="affair-placeholder" a:if="{{affairList.length == 1 && affairList[0].logType == 'create_schedule'}}">
<template is="affair-placeholder" data="{{title: '添加文件', tip: '我们不开无准备的会,快来上传会议文件吧。'}}"/> <template is="affair-placeholder" data="{{title: '添加文件', tip: '我们不开无准备的会,快来上传会议文件吧。'}}"/>
</view> </view>
</block>
<view a:else>正在加载</view>
<popup title="{{popupTitle}}" show="{{popupShow}}" mask="true" onClose="closePopup"> <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> <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> <hlist a:if="{{'participator' === comType}}" dataComList="{{comHListData.contactData}}" onSelectComHList="selectComHList"></hlist>
......
...@@ -11,6 +11,7 @@ create.Page({ ...@@ -11,6 +11,7 @@ create.Page({
useAll: true, useAll: true,
data: { data: {
$data: null, $data: null,
affairLoading: true,
affairList: null, //store,页面用到的变量需要在这里声明 affairList: null, //store,页面用到的变量需要在这里声明
show: false, //pop show: false, //pop
oldTask: null, oldTask: null,
...@@ -119,6 +120,7 @@ create.Page({ ...@@ -119,6 +120,7 @@ create.Page({
} }
}, },
onLoad(event) { onLoad(event) {
this.reset() this.reset()
dd.setNavigationBar({ dd.setNavigationBar({
title: `会议详情` title: `会议详情`
...@@ -142,9 +144,9 @@ create.Page({ ...@@ -142,9 +144,9 @@ create.Page({
// 获取详情 // 获取详情
getDetail() { getDetail() {
let data = { 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, 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 => { getScheduleDetail(data).then(res => {
if (res.data.code === 0) { if (res.data.code === 0) {
...@@ -174,8 +176,8 @@ create.Page({ ...@@ -174,8 +176,8 @@ create.Page({
confirmAttendance: res.data.data.confirmAttendance, confirmAttendance: res.data.data.confirmAttendance,
organizer: res.data.data.organizer, 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)), '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.id': res.data.data.id,
'scheduleItem.groupId': res.data.data.groupId, // 'scheduleItem.groupId': res.data.data.groupId,
repeatable: res.data.data.repeatable, 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' }, 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, title: res.data.data.title,
...@@ -183,7 +185,8 @@ create.Page({ ...@@ -183,7 +185,8 @@ create.Page({
isExpand: res.data.data.confirmAttendance === 1 ? true : false, isExpand: res.data.data.confirmAttendance === 1 ? true : false,
isShowRemark: res.data.data.remark ? true : false, isShowRemark: res.data.data.remark ? true : false,
week: this.data.weekList[new Date(res.data.data.startTime.replace(/-/g, "/")).getDay()], 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) { if (res.data.data.repeatable) {
this.setData({ this.setData({
...@@ -1202,8 +1205,12 @@ create.Page({ ...@@ -1202,8 +1205,12 @@ create.Page({
return it return it
}) })
this.store.data.affairList = newAffairList; this.store.data.affairList = newAffairList;
this.setData({
affairLoading: false
});
//重置 //重置
this.store.data.isNeedReloadList = false; this.store.data.isNeedReloadList = false;
this.update(); 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