Commit d0041ee4 by liang ce

Merge branch 'dev' of http://gitlab.roboming.com/fengzhaoyu/schedule into dev

parents d0ab4820 d7eefd4d
......@@ -39,9 +39,9 @@ create.Component({
}
},
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"
......@@ -77,7 +77,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(
......@@ -128,14 +128,26 @@ create.Component({
this.data.response.templateList.map(item => {
// TO DO 判断所获取的时间区间
// 将会议的年,月,日拆分,时分拆分,生成rrules规则
let terminateTimeList = item.initialTime.split("-"); //
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 startTimeList = item.startTime.split(":");
let DTSTART = `${terminateTimeList[0]}${terminateTimeList[1]}${terminateTimeList[2]}T${startTimeList[0]}${startTimeList[1]}00Z`;
let DTSTART = `${initialTimeDateyear}${initialTimeDatemonth}${initialTimeDateday}T${startTimeList[0]}${startTimeList[1]}00Z`;
console.log(DTSTART)
let rule = RRule.fromString(
`${item.recurrenceModel.recurrenceRule};DTSTART=${DTSTART}`
);
// rule.options.tzid = "Asia/Hong_Kong";
// 改变时区
rule.options.tzid = "Asia/Hong_Kong";
// let rullAll = rule.all()
// rule.all().map(item => {
// console.log(item.toLocaleDateString())
// })
// 判断是否需要剔除某一天
if (item.excludePlanDates) {
// 拿到剔除日期的list
......@@ -180,8 +192,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
......@@ -216,7 +228,7 @@ create.Component({
);
}
});
scheduleMap.forEach(function(value, key, map) {
scheduleMap.forEach(function (value, key, map) {
scheduleList.push(value);
});
return scheduleList;
......@@ -298,9 +310,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
});
......@@ -335,9 +347,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
});
......@@ -354,7 +366,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(
......@@ -380,7 +392,7 @@ create.Component({
type: "week",
value: `第${listWeek}周,${rangeMonth1 + 1}${rangeDay1}日 - ${
rangeMonth2 == rangeMonth1 ? "" : rangeMonth2 + 1 + "月"
}${rangeDay2}日`,
}${rangeDay2}日`,
dayStr: key
});
}
......@@ -396,7 +408,7 @@ create.Component({
type: "week",
value: `第${listWeek}周,${rangeMonth1 + 1}${rangeDay1}日 - ${
rangeMonth2 == rangeMonth1 ? "" : rangeMonth2 + 1 + "月"
}${rangeDay2}日`,
}${rangeDay2}日`,
dayStr: key
});
}
......@@ -418,7 +430,7 @@ create.Component({
type: "week",
value: `第${listWeek}周,${rangeMonth1 + 1}${rangeDay1}日 - ${
rangeMonth2 == rangeMonth1 ? "" : rangeMonth2 + 1 + "月"
}${rangeDay2}日`,
}${rangeDay2}日`,
dayStr: key
});
}
......
......@@ -65,7 +65,7 @@
}
.file-box-mask {
background: rgba(10, 10, 10, 0.04);
background: rgba(10, 10, 10, 0.08);
position: relative;
}
......
<view class="{{fileView.logId == logId ? 'file-box-mask' : ''}}" data-logId="{{fileView.logId}}" catchLongTap="showOperate" catchTap="test">
<view class="desc" meeta:if='{{fileView.description}}'>
<view class="{{fileView.id == logId ? 'file-box-mask' : ''}}" data-logId="{{fileView.id}}" catchLongTap="showOperate">
<view class="desc" a:if='{{fileView.description}}'>
{{fileView.description}}
</view>
<view class="task-list" a:if="{{fileView.fileInfos && fileView.fileInfos.length > 0}}">
......@@ -12,7 +12,7 @@
<view a:if="{{isCanDelete}}" class="iconfont iconicon_noAgreed1" catchTap="removeFile" data-id="{{item.fileId}}"></view>
</view>
</view>
<view class="btns-pop" a:if="{{fileView.logId == logId && (organizer === currentPeople ? true : currentPeople === fileView.creatorId)}}">
<view class="btns-pop" a:if="{{fileView.id == logId && (organizer === currentPeople ? true : currentPeople === fileView.creatorId)}}">
<view class="edit" catchTap="updateFile" data-fileView="{{fileView}}">
编辑
</view>
......
......@@ -19,17 +19,19 @@ create.Component({
},
didUnmount() { },
methods: {
test(e) {
console.log(e)
},
//移除文件
removeFile(e) {
this.store.data.logId = '';
const fileInfos = this.store.data.fileInfos.filter(it => it.fileId !== e.target.dataset.id);
this.store.data.fileInfos = fileInfos;
this.update();
},
//预览文件
preview(e) {
//如果出现编辑蒙层时阻止预览的点击事件
if (this.store.data.logId) {
return;
}
const file = e.target.dataset.file
const data = {
ddUserId: getApp().globalData.userid,
......@@ -72,14 +74,14 @@ create.Component({
//去编辑文件页面
updateFile(e) {
this.store.data.logId = '';
const { fileInfos, description } = e.target.dataset.fileView;
const { fileInfos, description, id } = e.target.dataset.fileView;
this.store.data.oldFileInfos = JSON.stringify(fileInfos);
this.store.data.oldDescription = description;
this.store.data.fileInfos = fileInfos;
this.store.data.description = e.target.dataset.fileView.description;
this.update();
setTimeout(() => {
dd.navigateTo({ url: `./../uploadFile/uploadFile?action=update` })
dd.navigateTo({ url: `./../uploadFile/uploadFile?id=${id}` })
})
}
},
......
......@@ -11,6 +11,7 @@
</view>
<view a:if="{{!multiple}}" class="iconfont iconicon_ok com-list-item-selectStaus {{comSelectListId == item.id ? 'com-list-item-select' : ''}}">
</view>
{{comSelectList}} {{id}}
<view a:if="{{multiple}}" class="iconfont iconicon_ok com-list-item-selectStaus {{comSelectList.includes(item.id) ? 'com-list-item-select' : ''}}">
</view>
</view>
......
......@@ -25,6 +25,11 @@ Component({
methods: {
comSelectList(event) {
if (this.props.multiple && event.currentTarget.dataset.item.id != -1) {
if (this.data.comSelectList.includes(-1)) {
this.setData({
comSelectList: []
})
}
if (this.data.comSelectList.includes(event.target.dataset.item.id)) {
this.data.comSelectList.forEach((item, index) => {
if (item == event.target.dataset.item.id) {
......
......@@ -66,6 +66,7 @@ function getPostTimeByDate(date) {
}
function getPickerValue(date) {
const res = getYMDWHMIN(date);
return [timeData.indexOf(res.y + "年" + res.m + "月" + res.d + "日 " + res.w), timeHour.indexOf(res.h), timeMin.indexOf(res.min)];
}
// 将周几转换为今天,明天, 昨天
......@@ -238,7 +239,10 @@ Component({
},
onChange(e) {
const pickValue = e.detail.value;
console.log(pickValue)
//开始时间的分钟数必须是5的倍数才对的上
if (pickValue.includes(-1)) {
pickValue[pickValue.indexOf(-1)] = 0
}
if (this.data.currentTab === 'start') {
const startDate = getDateByPickValue(pickValue);
this.changeStart(startDate, pickValue);
......
......@@ -74,8 +74,9 @@
}
.edit-column>.checkbox {
width: 32rpx;
height: 32rpx;
width: 32rpx!important;
height: 32rpx!important;
line-height: 32rpx!important;
}
.margin-bottom {
......
import create from 'dd-store';
import pageStore from '../../pages/meetingDetail/store';
import { debounce } from '../../utils/utils';
import { debounce, throttle } from '../../utils/utils';
create.Component({
store: pageStore,
mixins: [],
......@@ -27,30 +27,14 @@ create.Component({
}
this.store.data.currentTask.taskStatus = status;
this.update();
// this.props.onCheckChange({ status, id });
},
// inputChange(e) {
// const value = e.detail.value;
// if (value) {
// this.store.data.currentTask.taskInfos = { taskTitle: value };
// this.update();
// }
// },
inputChange: debounce(function (e) {
const value = e.detail.value;
if (value) {
this.store.data.currentTask.taskInfos = { taskTitle: value };
this.update();
//更新要调用更新接口
// if (this.props.action === 'update') {
// if (value !== this.props.oldTask.taskInfos.taskTitle) {
// this.store.data.isEditTaskTitle = true;
// // this.props.onInputChange(value);
// }
// }
}
}, 1000),
}, 100),
handleExcutorChange(e) {
//执行人页面删除执行人
if (e.target.dataset.acceptorId) {
......@@ -62,13 +46,15 @@ create.Component({
}
},
//新建才有完成按钮
complete() {
const { currentTask } = this.store.data;
if (!currentTask.taskInfos) {
return
complete: throttle(
function () {
const { currentTask } = this.store.data;
if (!currentTask.taskInfos) {
return
}
this.props.onComplete()
}
this.props.onComplete()
},
, 1000),
//删除任务
handleDelete() {
dd.confirm({
......
......@@ -3,14 +3,14 @@
</my-dynamic>
</view>
<view a:if="{{tabBarIndex === '1'}}">
<my-schedule update="{{indexNeedUpdate}}">
<my-schedule update="{{$data.indexNeedUpdate}}">
</my-schedule>
</view>
<view class="tabBar">
<view onTap="changeTabBar" data-tabbar='0'>
<view class="tabBarView {{tabBarIndex === '0' ? 'ischooseTabBar' : ''}}">
<text class="iconfont iconicon_dynamic"></text>
<text>动态{{indexNeedUpdate}}
<text>动态{{$data.indexNeedUpdate}}
</text>
</view>
</view>
......
......@@ -5,9 +5,11 @@ create.Page({
tabBarIndex: "0",
$data: null
},
onLoad() {},
onLoad() { },
onShow() {
this.update();
setTimeout(res => {
this.update();
}, 100)
},
// 修改tabBar
changeTabBar(e) {
......
<block a:if="{{getData}}">
<import src="../../template/deleteBtn/index.axml"/>
<view class="hideDetail" a:if="{{confirmAttendance === 1&&onload || organizer === currentPeople&&onload}}">
<view class="hideDetail" a:if="{{isExpand}}">
<view class="hideTitle">
{{title}}
</view>
......@@ -32,7 +32,7 @@
</view>
</view>
<!-- roomId locationName 地点 -->
<view class="permissionContant">
<view class="permissionContant" a:if="{{$data.locationName || currentPeople === organizer}}">
<view class="permission" a:if="{{currentPeople != organizer}}">
</view>
<view class="place">
......@@ -117,7 +117,7 @@
</view>
</view>
<!-- meetingWay 会议方式 -->
<view class="permissionContant">
<view class="permissionContant" a:if="{{comListData.meetingWayList[comListData.meetingWayModelId].text || currentPeople === organizer}}">
<!--<view class="iconicon_attender iconfont icon {{$data.participatorList.length>1 ? '' : 'noValueIcon'}}"></view> -->
<view class="meetingWay">
<view class="iconicon_meet iconfont icon {{comListData.meetingWayModelId ? '' : 'noValueIcon'}}">
......@@ -138,19 +138,11 @@
</view>
<!-- 删除该会议 -->
<template is="deleteBtn" onhandleDelete="" data="{{title: '删除该会议' }}"/>
<!--<view class="delMetting" onTap="delSheudle"><view class=" iconfont iconicon_close"></view><view>
删除该会议</view></view> -->
<popup title="{{popupTitle}}" show="{{popupShow}}" mask="true" onClose="closePopup">
<meeting-time-picker a:if="{{'time' === comType}}" onComplete="onComplete"></meeting-time-picker>
<hlist a:if="{{'participator' === comType}}" dataComList="{{comHListData.contactData}}" onSelectComHList="selectComHList"></hlist>
<list multiple="{{comListData.multiple}}" onCompelete="selectAheadtimes" comSelectList={{aheadTimes}} complete="{{comType=='aheadTime' ? true : false}}"a:if="{{comType=='repeat' || comType=='meetingWayModel' || comType=='aheadTime'}}" dataComList="{{comType=='repeat' ? comListData.repeatList : (comType=='aheadTime' ? comListData.aheadTimesList : comListData.meetingWayList)}}" onComSelectList="selectComList" comSelectListId="{{comType=='repeat' ? comListData.comSelectListId : (comType=='aheadTime'?comListData.aheadTimesListId : comListData.meetingWayModelId)}}" iconType="{{comListData.iconType}}">
</list>
</popup>
</view>
<!-- 底部导航栏 -->
<view class="footNav">
<view class="footNavTop">
<view class="originStaus" a:if="{{(currentPeople != organizer)&&confirmAttendance === null}}">
<view class="originStaus" a:if="{{confirmAttendance === null}}">
<view catchTap="participate">
<text class="iconfont iconicon_Agreed1"></text>
<text>参加</text></view>
......@@ -227,6 +219,14 @@
<view onTap="addMeetingFile" class="affair-placeholder-button">添加会议文件</view>
</view>
</view>
<!--<view class="delMetting" onTap="delSheudle"><view class=" iconfont iconicon_close"></view><view>
删除该会议</view></view> -->
<popup title="{{popupTitle}}" show="{{popupShow}}" mask="true" onClose="closePopup">
<meeting-time-picker a:if="{{'time' === comType}}" onComplete="onComplete"></meeting-time-picker>
<hlist a:if="{{'participator' === comType}}" dataComList="{{comHListData.contactData}}" onSelectComHList="selectComHList"></hlist>
<list multiple="{{comListData.multiple}}" onCompelete="selectAheadtimes" comSelectList="{{comListData.aheadTimesListId}}" complete="{{comType=='aheadTime' ? true : false}}"a:if="{{comType=='repeat' || comType=='meetingWayModel' || comType=='aheadTime'}}" dataComList="{{comType=='repeat' ? comListData.repeatList : (comType=='aheadTime' ? comListData.aheadTimesList : comListData.meetingWayList)}}" onComSelectList="selectComList" comSelectListId="{{comType=='repeat' ? comListData.comSelectListId : (comType=='aheadTime'?comListData.aheadTimesListId : comListData.meetingWayModelId)}}" iconType="{{comListData.iconType}}">
</list>
</popup>
<popup show="{{show}}" onClose="closePop" title="{{pop.title}}">
<!-- 任务创建弹出框 -->
<task-panel a:if="{{pop.type === 'createTask'}}" onComplete="complete" action='create'/>
......
......@@ -45,7 +45,7 @@ create.Page({
],
multiple: false,
complete: false,
aheadTimesListId: [-1],
aheadTimesListId: [15],
comSelectListId: 0,
meetingWayModelId: null,
iconType: 'icon'
......@@ -104,7 +104,7 @@ create.Page({
currentPeople: '',
editType: '',
confirmAttendance: null,
onload: false,
isExpand: false,
c: false
},
onShow() {
......@@ -124,7 +124,6 @@ create.Page({
})
this.setData({
scheduleItem: JSON.parse(event.scheduleItem),
onload: true,
currentPeople: getApp().globalData.userid
})
this.getDetail()
......@@ -158,9 +157,9 @@ create.Page({
participatorUserId.push(value.participator.userId)
originUsers.push(value.participator)
if (value.userId === getApp().globalData.userid) {
debugger
this.setData({
aheadTimes: !!value.aheadList ? value.aheadList : [-1]
aheadTimes: !!value.aheadList ? value.aheadList : [],
'comListData.aheadTimesListId': !!value.aheadList ? value.aheadList : [-1]
})
}
}
......@@ -180,6 +179,7 @@ create.Page({
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,
remark: res.data.data.remark,
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
......@@ -200,13 +200,10 @@ create.Page({
this.$store.data.originUsersId = participatorUserId
this.update()
this.conflictPeople()
this.store.data.scheduleId = res.data.data.id;
this.store.data.groupId = res.data.data.groupId;
this.update();
this.reload(this.data.scheduleItem.id);
console.log(res.data.data)
}
})
},
......@@ -324,28 +321,33 @@ create.Page({
popupShow: false
})
},
// 选择循环机制 选择会议方式 选择时间 出现popup弹窗
// 选择循环机制 选择会议方式 选择时间 会前提醒 出现popup弹窗
showPopup(event) {
let iconType = ''
let complete = false
let multiple = false
let popupTitle = ''
switch (event.currentTarget.dataset.type) {
case 'meetingWayModel':
iconType = 'image',
complete = true
multiple = false
complete = true,
popupTitle = '选择会议方式',
multiple = false
break
case 'repeat':
iconType = 'icon',
popupTitle = '会议重复',
complete = true,
multiple = false
break
case 'participator':
popupTitle = '选择参会人'
break
case 'time':
popupTitle = '选择会议时间'
break
case 'aheadTime':
popupTitle = '选择会前提醒'
iconType = 'icon',
complete = true,
multiple = true
......@@ -353,6 +355,7 @@ create.Page({
}
this.setData({
popupShow: true,
popupTitle: popupTitle,
comType: event.currentTarget.dataset.type,
'comListData.complete': complete,
'comListData.iconType': iconType,
......@@ -520,7 +523,7 @@ create.Page({
}
return Object.values(containt)
},
// 点击完成
// 选择时间 点击完成
onComplete(event) {
this.$store.data.startTime = `${event.startTime}:00`
this.$store.data.endTime = `${event.endTime}:00`
......@@ -542,9 +545,12 @@ create.Page({
},
// 选择会前提醒时间
selectAheadtimes(event) {
console.log(event)
debugger
this.setData({
aheadTimes: event,
popupShow: false
popupShow: false,
'comListData.aheadTimesListId': event.length == 0 ? [-1] : event
})
if (this.data.repeatable) {
this.setData({
......@@ -573,7 +579,7 @@ create.Page({
'conToastData.showToast': true,
'conToastData.title': '保存成功'
})
if (this.$store.data.originalData.repeatable === 1) {
if (this.$store.data.originalData.repeatable === 1 && !!res.data.data) {
observer.notice(res.data.data)
}
return resolve(res)
......@@ -1152,7 +1158,6 @@ create.Page({
const newAffairList = affairList.map(it => {
if (it.createTime) {
it.createTime = getCreateShowTime(it.createTime);
console.log(it.createTime)
}
if (it.category == '2' && it.fileView) {
if (it.fileView.creatorInfo) {
......@@ -1399,7 +1404,7 @@ create.Page({
//
expand() {
this.setData({
onload: false
isExpand: false
})
}
});
......
import create from 'dd-store'
import { saveFileInfo, addSchedule, uploadPermissions, previewPermissions } from '../../api/request.js'
import { saveFileInfo, addSchedule, uploadPermissions, previewPermissions, updateMeetingTask } from '../../api/request.js'
import { throttle, debounce } from './../../utils/utils.js'
import pageStore from '../meetingDetail/store';
......@@ -8,16 +8,16 @@ create.Page({
data: {
fileInfos: null, //store
description: '',//store
action: ''
id: ''
},
onLoad(query) {
dd.setNavigationBar({
title: '添加会议文件'
});
// 编辑的时候传action=update
if (query && query.action == 'update') {
// 编辑的时候传了文件ID
if (query && query.id) {
this.setData({
action: query.action
id: query.id
});
dd.setNavigationBar({
title: '编辑会议文件'
......@@ -26,20 +26,14 @@ create.Page({
},
onShow() {
},
// inputDes(event) {
// let value = event.detail.value
// this.setData({
// description: value
// })
// },
inputChange: debounce(function (e) {
const value = e.detail.value;
if (value) {
this.store.data.description = value;
this.update();
}
}, 1000),
}, 100),
//添加会议文件
add() {
const data = {
ddUserId: getApp().globalData.userid,
......@@ -64,7 +58,7 @@ create.Page({
})
},
// 保存的接口
// 保存
saveUpload: throttle(function () {
const { fileInfos, oldFileInfos, description, oldDescription } = this.store.data;
......@@ -76,7 +70,7 @@ create.Page({
}
//如果实际没有修改,不生成记录
if (this.data.action == 'update') {
if (this.data.id) {
if (oldFileInfos == JSON.stringify(fileInfos) && description == oldDescription) {
return dd.navigateBack()
}
......@@ -96,14 +90,23 @@ create.Page({
logType: 'schedule_accessory_add'
}
if (this.data.action == 'update') {
//编辑文件
if (this.data.id) {
data.logType = 'schedule_accessory_modify';
data.id = this.data.id
updateMeetingTask(data).then(res => {
this.store.data.isNeedReloadList = true;
this.update();
dd.navigateBack()
})
}
//新增文件
else {
saveFileInfo(data).then(res => {
this.store.data.isNeedReloadList = true;
this.update();
dd.navigateBack()
})
}
saveFileInfo(data).then(res => {
this.store.data.isNeedReloadList = true;
this.update();
dd.navigateBack()
})
}, 1000)
});
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