Commit e1007fa8 by fengzhaoyu

1

parents 04ac708d b7fb19ed
......@@ -10,15 +10,15 @@
<text a:if="{{item.traceTime !== '1970-03-01 00:00:00'}}" class="iconfont iconicon_top1"></text>
</view>
</view>
<block a:for="{{item.meetingLogDataList}}" a:for-item="dynamicItem">
<block a:for="{{item.meetingLogDataList.slice(0,2)}}" a:for-item="dynamicItem">
<view class="userDynamic">
<view class="dynamicTime">
<text>{{dynamicItem.creatorInfo.username}}更新了{{dynamicItem.category == 2 ? '文件' : '任务'}}</text>
<text>{{createTime}}</text>
</view>
<file-list a:if="{{dynamicItem.category === '2'}}" fileView="{{dynamicItem}}" isCanEdit="{{false}}"/>
<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]}}" isCanEdit="{{false}}"/>
<task-list onChangeTaskStatusOnList="onChangeTaskStatusOnList" taskList="{{[dynamicItem.meetingLogResource]}}" isCanEdit="{{false}}"/>
</view>
</view>
</block>
......
......@@ -3,7 +3,7 @@ import {
meetingCollection,
updateMeetingTask
} from "../../api/request";
import { dealFileTime } from "../../utils/utils";
import { dealFileTime, uniqueObject } from "../../utils/utils";
Component({
mixins: [],
data: {
......@@ -38,42 +38,43 @@ Component({
if (res.data.data) {
let dynamicList = res.data.data.records.map((item, index) => {
// 第二层日程下的动态数据处理
let meetingLogDataList = item.meetingLogDataList.map(
(item2, index2) => {
if (item2.category === "2") {
// 第三层处理动态下的文件或者任务数据
let meetingLogResource = item2.meetingLogResource;
meetingLogResource.fileInfos = !meetingLogResource.fileInfos
? ""
: JSON.parse(meetingLogResource.fileInfos);
meetingLogResource.creatorInfo = !meetingLogResource.creatorInfo
? ""
: JSON.parse(meetingLogResource.creatorInfo);
meetingLogResource.category = "2";
return meetingLogResource;
} else if (item2.category === "3") {
let meetingLogResource = {
category: "3",
groupId: item2.groupId,
scheduleId: item2.scheduleId,
id: item2.meetingLogResource.id,
acceptorInfo: item2.meetingLogResource.acceptorInfo
? JSON.parse(item2.meetingLogResource.acceptorInfo)
: "",
taskInfos: item2.meetingLogResource.taskInfos
? JSON.parse(item2.meetingLogResource.taskInfos)
: "",
taskStatus: item2.meetingLogResource.taskStatus
};
return meetingLogResource;
let meetingLogDataList = {};
let meetingLogDataListArr = [];
for (let i = 0; i < item.meetingLogDataList.length; i++) {
if (item.meetingLogDataList[i].creatorInfo) {
item.meetingLogDataList[i].creatorInfo = JSON.parse(
item.meetingLogDataList[i].creatorInfo
);
}
let itemData = item.meetingLogDataList[i].meetingLogResource;
if (itemData) {
if (itemData.taskInfos || itemData.taskInfos) {
if (itemData.creatorInfo) {
itemData.creatorInfo = JSON.parse(itemData.creatorInfo);
}
if (itemData.fileInfos) {
itemData.fileInfos = JSON.parse(itemData.fileInfos);
}
if (itemData.taskInfos) {
itemData.taskInfos = JSON.parse(itemData.taskInfos);
}
if (itemData.acceptorInfo) {
itemData.acceptorInfo = JSON.parse(itemData.acceptorInfo);
}
meetingLogDataList[item.meetingLogDataList[i].resourceId] =
item.meetingLogDataList[i];
}
}
);
}
for (let item in meetingLogDataList) {
meetingLogDataListArr.push(meetingLogDataList[item]);
}
return {
scheduleId: item.scheduleId,
title: item.title,
traceTime: item.traceTime,
meetingLogDataList: meetingLogDataList
meetingLogDataList: meetingLogDataListArr
};
});
if (current === 1) {
......@@ -202,19 +203,17 @@ Component({
that.data.dynamicList.map((item, index) => {
if (item.scheduleId === e.scheduleId) {
dataIndex1 = index;
item.meetingLogDataList.map((item2, index2) => {
if (item2.groupId && item2.groupId === e.groupId) {
item.meetingLogDataList.map((it, index2) => {
if (it.meetingLogResource.id == e.id) {
dataIndex2 = index2;
}
});
}
});
let setData = `dynamicList[${dataIndex1}].meetingLogDataList[${dataIndex2}]`;
let setDate2 =
that.data.dynamicList[dataIndex1].meetingLogDataList[dataIndex2];
setDate2.taskStatus = e.status;
let setData = `dynamicList[${dataIndex1}].meetingLogDataList[${dataIndex2}].meetingLogResource.taskStatus`;
console.log(setData);
that.setData({
[setData]: setDate2
[setData]: e.status
});
console.log(that.data.dynamicList);
}
......
......@@ -2,104 +2,93 @@
<view>2020年3月</view>
<view onTap="changesidebar">icon</view>
</view>
<view class="index">
<view a:if="{{true}}">
<scroll-view class="indexScrollView" a:if="{{todayStr !== ''}}" scroll-y="{{true}}" lower-threshold="1000" onScrollToLower="lower" scroll-into-view="{{todayStr}}">
<block a:for="{{scheduleList}}" a:for-item="scheduleYearList">
<block a:for="{{scheduleYearList}}">
<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" id="{{item.dayStr}}">
<view class="manyWeeks">
{{item.value}}
</view>
<scroll-view class="indexScrollView" scroll-y="{{true}}" style="background: #FFFFFF" lower-threshold="1000" onScrollToLower="lower" scroll-into-view="{{thisDay}}">
<block a:for="{{scheduleList}}" a:for-item="scheduleYearList">
<block a:for="{{scheduleYearList}}">
<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" id="{{item.dayStr}}">
<view class="manyWeeks">
{{item.value}}
</view>
</view>
</block>
<block a:elif="{{item.type == 'day'}}">
<view class="date">
<view class="dateTime {{item.isThisDay}}">
<view>
{{item.value.week}}
</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>
<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.isfirstDayOrEndDay ? `(第${item2.isFewDays}天,共${item2.duration}天)` : '' }}</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.isfirstDayOrEndDay ? `(第${item2.isFewDays}天,共${item2.duration}天)` : '' }}</text>
</view>
<view class="dataScheduleTime">
<text a:if="{{item2.isfirstDayOrEndDay && item2.isfirstDayOrEndDay === '0'}}">{{item2.thisDayStartTime}}</text>
<text a:elif="{{item2.isfirstDayOrEndDay && item2.isfirstDayOrEndDay === '1'}}">全天</text>
<text a:elif="{{item2.isfirstDayOrEndDay && item2.isfirstDayOrEndDay === '2'}}">直到{{item2.thisDayEndTime}}</text>
<text a:else>{{item2.thisDayStartTime}} - {{item2.thisDayEndTime}}</text>
</view>
</view>
<view class="dataScheduleTime">
<text a:if="{{item2.isfirstDayOrEndDay && item2.isfirstDayOrEndDay === '0'}}">{{item2.thisDayStartTime}}</text>
<text a:elif="{{item2.isfirstDayOrEndDay && item2.isfirstDayOrEndDay === '1'}}">全天</text>
<text a:elif="{{item2.isfirstDayOrEndDay && item2.isfirstDayOrEndDay === '2'}}">直到{{item2.thisDayEndTime}}</text>
<text a:else>{{item2.thisDayStartTime}} - {{item2.thisDayEndTime}}</text>
</view>
</view>
</block>
<block a:elif="{{item.type == 'today'}}">
<view class="date" id="{{item.value.dateStr}}">
<view class="dateTime {{item.isThisDay}}">
<view>
今天
</view>
<text>{{item.value.day}}</text>
</view>
<view class="dataSchedule">
<!--<view class="thisDayLine thisDayHavaMeeting" style="margin-bottom: 7.5rpx"></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="dataScheduleName">
<text>{{item2.title}}{{item2.isfirstDayOrEndDay ? `(第${item2.isFewDays}天,共${item2.duration}天)` : '' }}</text>
</view>
<view class="dataScheduleTime">
<text a:if="{{item2.isfirstDayOrEndDay && item2.isfirstDayOrEndDay === '0'}}">{{item2.thisDayStartTime}}</text>
<text a:elif="{{item2.isfirstDayOrEndDay && item2.isfirstDayOrEndDay === '1'}}">全天</text>
<text a:elif="{{item2.isfirstDayOrEndDay && item2.isfirstDayOrEndDay === '2'}}">直到{{item2.thisDayEndTime}}</text>
<text a:else>{{item2.thisDayStartTime}} - {{item2.thisDayEndTime}}</text>
</view>
</view>
</view>
</view>
</view>
</block>
<block a:elif="{{item.type == 'today'}}">
<view class="date" id="{{item.value.dateStr}}">
<view class="dateTime {{item.isThisDay}}">
<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>
<text>{{item.value.day}}</text>
</view>
<view class="dataSchedule">
<!--<view class="thisDayLine thisDayHavaMeeting" style="margin-bottom: 7.5rpx"></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="dataScheduleName">
<text>{{item2.title}}{{item2.isfirstDayOrEndDay ? `(第${item2.isFewDays}天,共${item2.duration}天)` : '' }}</text>
</view>
<view class="NoSchedule">
<view>
<text>暂无日程安排,</text>
<text onTap="nextPage">创建日程</text>
</view>
<!--<view class="thisDayLine"></view> -->
<view class="dataScheduleTime">
<text a:if="{{item2.isfirstDayOrEndDay && item2.isfirstDayOrEndDay === '0'}}">{{item2.thisDayStartTime}}</text>
<text a:elif="{{item2.isfirstDayOrEndDay && item2.isfirstDayOrEndDay === '1'}}">全天</text>
<text a:elif="{{item2.isfirstDayOrEndDay && item2.isfirstDayOrEndDay === '2'}}">直到{{item2.thisDayEndTime}}</text>
<text a:else>{{item2.thisDayStartTime}} - {{item2.thisDayEndTime}}</text>
</view>
</view>
</block>
</block>
</view>
</view>
</block>
</scroll-view>
</view>
<view class="startPage" a:else>
<image mode="scaleToFill" src="../../assests/startPage.png"/>
<view class="startText">
<text class="text1">开会有益</text>
<text>快乐工作</text>
</view>
</view>
</view>
<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">
......
......@@ -37,11 +37,10 @@ create.Component({
this.update();
this.getDate();
}
},
didUnmount() { },
didUnmount() {},
methods: {
getDate: throttle(function (e) {
getDate: throttle(function(e) {
let data = {
startTime: "2020-01-01 00:00:00",
endTime: "2025-12-30 23:59:59"
......@@ -69,7 +68,6 @@ create.Component({
todayStr: finalDate.toLocaleDateString(),
thisYear: year,
maxYear: year,
canClick: true,
startPageOnShow: true,
isFirstLoad: false
});
......@@ -77,7 +75,7 @@ create.Component({
);
});
}, 1000),
nextDetail: throttle(function (e) {
nextDetail: throttle(function(e) {
let item = e.target.dataset.item;
dd.navigateTo({
url: `./../meetingDetail/meetingDetail?scheduleItem=${JSON.stringify(
......@@ -129,15 +127,25 @@ create.Component({
// TO DO 判断所获取的时间区间
// 将会议的年,月,日拆分,时分拆分,生成rrules规则
let initialTime = item.initialTime.split("-"); //
let initialTimeDate = new Date(parseInt(initialTime[0]), parseInt(initialTime[1]) - 1, parseInt(initialTime[2]));
initialTimeDate.setDate(initialTimeDate.getDate() - 1)
console.log(initialTimeDate.toLocaleDateString())
let initialTimeDateyear = initialTimeDate.getFullYear()
let initialTimeDatemonth = initialTimeDate.getMonth() + 1 < 10 ? '0' + (initialTimeDate.getMonth() + 1) : initialTimeDate.getMonth() + 1
let initialTimeDateday = initialTimeDate.getDate() < 10 ? '0' + initialTimeDate.getDate() : initialTimeDate.getDate()
let initialTimeDate = new Date(
parseInt(initialTime[0]),
parseInt(initialTime[1]) - 1,
parseInt(initialTime[2])
);
initialTimeDate.setDate(initialTimeDate.getDate() - 1);
console.log(initialTimeDate.toLocaleDateString());
let initialTimeDateyear = initialTimeDate.getFullYear();
let initialTimeDatemonth =
initialTimeDate.getMonth() + 1 < 10
? "0" + (initialTimeDate.getMonth() + 1)
: initialTimeDate.getMonth() + 1;
let initialTimeDateday =
initialTimeDate.getDate() < 10
? "0" + initialTimeDate.getDate()
: initialTimeDate.getDate();
let startTimeList = item.startTime.split(":");
let DTSTART = `${initialTimeDateyear}${initialTimeDatemonth}${initialTimeDateday}T${startTimeList[0]}${startTimeList[1]}00Z`;
console.log(DTSTART)
console.log(DTSTART);
let rule = RRule.fromString(
`${item.recurrenceModel.recurrenceRule};DTSTART=${DTSTART}`
);
......@@ -193,8 +201,8 @@ create.Component({
item.recurrenceModel.startTime;
let endTime = new Date(
getFormatDate(item2, "yyyyMMdd") +
" " +
item.recurrenceModel.startTime
" " +
item.recurrenceModel.startTime
);
endTime.setMinutes(
endTime.getMinutes() + item.recurrenceModel.duration
......@@ -229,7 +237,7 @@ create.Component({
);
}
});
scheduleMap.forEach(function (value, key, map) {
scheduleMap.forEach(function(value, key, map) {
scheduleList.push(value);
});
return scheduleList;
......@@ -311,9 +319,9 @@ create.Component({
thisDayEndTime: AllScheduleList[y].endTime.slice(11, 16),
isBeOverdue:
new Date().getTime() >
new Date(
AllScheduleList[y].endTime.replace(/-/g, "/")
).getTime()
new Date(
AllScheduleList[y].endTime.replace(/-/g, "/")
).getTime()
? true
: false
});
......@@ -348,9 +356,9 @@ create.Component({
duration: count + 1,
isBeOverdue:
new Date().getTime() >
new Date(
AllScheduleList[y].endTime.replace(/-/g, "/")
).getTime()
new Date(
AllScheduleList[y].endTime.replace(/-/g, "/")
).getTime()
? true
: false
});
......@@ -367,7 +375,7 @@ create.Component({
value: year
});
let thisDay = new Date().toLocaleDateString();
DateMap.forEach(function (value, key, map) {
DateMap.forEach(function(value, key, map) {
if (
new Date(key).getDay() === 0 &&
that.count(
......@@ -393,7 +401,7 @@ create.Component({
type: "week",
value: `第${listWeek}周,${rangeMonth1 + 1}${rangeDay1}日 - ${
rangeMonth2 == rangeMonth1 ? "" : rangeMonth2 + 1 + "月"
}${rangeDay2}日`,
}${rangeDay2}日`,
dayStr: key
});
}
......@@ -409,7 +417,7 @@ create.Component({
type: "week",
value: `第${listWeek}周,${rangeMonth1 + 1}${rangeDay1}日 - ${
rangeMonth2 == rangeMonth1 ? "" : rangeMonth2 + 1 + "月"
}${rangeDay2}日`,
}${rangeDay2}日`,
dayStr: key
});
}
......@@ -431,7 +439,7 @@ create.Component({
type: "week",
value: `第${listWeek}周,${rangeMonth1 + 1}${rangeDay1}日 - ${
rangeMonth2 == rangeMonth1 ? "" : rangeMonth2 + 1 + "月"
}${rangeDay2}日`,
}${rangeDay2}日`,
dayStr: key
});
}
......
......@@ -25,12 +25,14 @@
flex: 1;
font-size: 28rpx;
line-height: 80rpx;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
}
.task-box>.task-title>.avater {
.task-box>.avater {
width: 48rpx;
height: 48rpx;
position: absolute;
right: 14rpx;
top: 16rpx;
line-height: 48rpx;
......
......@@ -4,7 +4,7 @@
<view class="task-box" a:for='{{taskList}}'>
<template is="checkbox" data="{{ status: item.taskStatus, id: item.id, groupId: item.groupId, scheduleId: item.scheduleId}}"></template>
<view class="task-title" data-pop="{{title: '会议任务', type: 'updateTask'}}" onTap="showPop" data-task="{{item}}">{{item.taskInfos.taskTitle}}
<template is="avater" a:if="{{item.acceptorInfo}}" data="{{item: item.acceptorInfo}}"/>
</view>
<template is="avater" a:if="{{item.acceptorInfo}}" data="{{item: item.acceptorInfo, split: 1}}"/>
</view>
</view>
\ No newline at end of file
......@@ -6,7 +6,9 @@ Component({
props: {
isCanEdit: true
},
didMount() {},
didMount() {
console.log(this.props);
},
didUpdate() {
if (this.props.taskList.id === 108) {
console.log(this.props);
......
......@@ -10,8 +10,12 @@
<view onTap="changeTabBar" data-tabbar='0'>
<view class="tabBarView {{tabBarIndex === '0' ? 'ischooseTabBar' : ''}}">
<text class="iconfont iconicon_dynamic"></text>
<<<<<<< HEAD
<text>动态
</text>
=======
<text>动态</text>
>>>>>>> b7fb19ed327785cdcb5da3f8a7365609dc94eaf8
</view>
</view>
<view onTap="changeTabBar" data-tabbar='1'>
......
......@@ -3,13 +3,14 @@ import create from "dd-store";
create.Page({
data: {
tabBarIndex: "0",
$data: null
$data: null,
},
onLoad() {
},
onLoad() { },
onShow() {
setTimeout(res => {
this.update();
}, 100)
}, 100);
},
// 修改tabBar
changeTabBar(e) {
......
......@@ -219,6 +219,15 @@
<view class="affair-placeholder-text">我们不开无准备的会,快来上传会议文件吧。</view>
<view onTap="addMeetingFile" class="affair-placeholder-button">添加会议文件</view>
</view>
<<<<<<< HEAD
=======
<view a:if="{{item.content}}" class='simple-column'>{{item.content}} {{item.createTime}}</view>
</block>
<view class="affair-placeholder" a:if="{{affairList.length <= 1}}">
<image mode="widthFix" src="../../assests/noDynamic.png"/>
<view class="affair-placeholder-text">我们不开无准备的会,快来上传会议文件吧。</view>
<view onTap="addMeetingFile" class="affair-placeholder-button">添加会议文件</view>
>>>>>>> b7fb19ed327785cdcb5da3f8a7365609dc94eaf8
</view>
<!--<view class="delMetting" onTap="delSheudle"><view class=" iconfont iconicon_close"></view><view>
删除该会议</view></view> -->
......
......@@ -2,7 +2,7 @@
<template name="avater">
<view class="avater">
<image a:if="{{item.headUrl}}" mode="scaleToFill" src="{{item.headUrl}}" />
<text a:else>{{item.platform === "outlook" ? item.username.slice(0, 2) : item.username.slice(-2)}}
<text a:else>{{item.platform === "outlook" ? item.username.slice(0, split || 2) : item.username.slice(-(split || 2))}}
</text>
</view>
</template>
\ No newline at end of file
......@@ -4,7 +4,7 @@ export function throttle(fn, gapTime) {
gapTime = 1500;
}
let _lastTime = null;
return function () {
return function() {
let _nowTime = new Date();
if (_nowTime - _lastTime > gapTime || !_lastTime) {
fn.apply(this, arguments); //将this和参数传给原函数
......@@ -15,7 +15,7 @@ export function throttle(fn, gapTime) {
export function debounce(fn, delay) {
let timeout = null;
return function () {
return function() {
clearTimeout(timeout);
timeout = setTimeout(() => {
fn.apply(this, arguments);
......@@ -145,11 +145,11 @@ export function getCurrentMonthLast(date) {
//开始时间取整
export function getInterTime(time) {
let date = time;
if (typeof time == 'string') {
date = new Date(time)
if (typeof time == "string") {
date = new Date(time);
}
const min = date.getMinutes();
const addMin = Math.floor(min / 5) * 5 + 5;
date.setMinutes(addMin);
return date;
}
\ 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