Commit 5671a5a2 by fengzhaoyu

编辑

parent cb0cc127
.mwSelect {
position: fixed;
left: 0;
top: 0;
width: 100%;
height: 100%;
display: flex;
background: rgba(25, 31, 37, 0.4);
flex-direction: column-reverse;
font-family: PingFangSC-Regular;
font-size: 34rpx;
color: #191F25;
}
\ No newline at end of file
<view class="mwSelect">
</view>
\ No newline at end of file
Component({
mixins: [],
data: {},
props: {},
didMount() {},
didUpdate() {},
didUnmount() {},
methods: {},
});
{
"component": true
}
\ No newline at end of file
......@@ -82,6 +82,7 @@ page {
width: 355rpx;
text-indent: 32rpx;
position: relative;
/* border-right: 1rpx solid rgba(25, 31, 37, 0.12); */
}
.selectTime {
......@@ -324,27 +325,40 @@ page {
}
.repeat .iconshanchu {
float: right;
margin-right: 32rpx;
float: right;
margin-right: 24rpx;
}
.terminationTime {
height: 112rpx;
line-height: 112rpx;
}
.describe {
background: #fff;
margin-top: 16rpx;
padding: 32rpx;
display: flex;
}
.describe .icondidianmiaoshu {
font-size: 40rpx;
margin-right: 27rpx;
}
.describeText {
width: 574rpx;
}
.describe .iconshanchu {
position: absolute;
right: 32rpx;
}
.blank {
overflow-x: scroll;
}
.blank>text {
margin-right: 10rpx;
}
\ No newline at end of file
<view class="createOrEditSchedule">
<!-- 主题 -->
<view class="theme">
<input placeholder="添加主题" onInput="getTitle" value="{{title}}" />
{{aheadText}}
<input placeholder="添加主题" type="text" onInput="getTitle" value="{{title}}"/>
</view>
<!-- 时间 -->
<view class="time">
......@@ -43,7 +44,8 @@
<text>{{locationName}}</text>
<text class="iconshanchu iconfont" data-icon="icondingwei" catchTap="closeEditList"></text>
</view>
<text a:else>添加地点
<text a:else>
添加地点
</text>
</view>
</view>
......@@ -86,9 +88,9 @@
<view class="remind" a:if="{{aheadTimes.length}}">
<view class="icon iconfont iconfont iconhuiqiantixing">
</view>
<view class="text">
<text>
提前 <text a:for="{{aheadTimes}}" style="margin-right: 10rpx;">{{item}}</text>分钟提醒
<view class="text" data-nextPage="remind" onTap="nextPage">
<text class="blank">
<text>{{aheadText}}</text>提醒
</text>
<text class="close iconshanchu iconfont" data-icon="iconhuiqiantixing" catchTap="closeEditList"></text>
</view>
......@@ -98,8 +100,8 @@
<view class="iconfont iconchongfu">
</view>
<view class="repeatContaint">
<view class="repeatTime">
<text>{{recurrenceModel.model=='day_in_week'?(recurrenceModel.weekDayList.length==7?'每周重复':'每周的工作日重复'):recurrenceModel.model=='every_day'?'每天重复': '不重复'}}</text>
<view class="repeatTime" data-nextPage="repeatMechanism" onTap="nextPage">
<text>{{recurrenceModel.model=='day_in_week'?(recurrenceModel.weekDayList.length==1?repeatWeek:'每周的工作日重复'):recurrenceModel.model=='every_day'?'每天重复': '不重复'}}</text>
<view class="iconfont iconshanchu" data-icon="iconchongfu" catchTap="closeEditList">
</view>
</view>
......@@ -115,7 +117,7 @@
<view class="describe" a:if="{{!!remark}}">
<view class="iconfont icondidianmiaoshu">
</view>
<view class="describeText">
<view class="describeText" data-nextPage="addRemark" onTap="nextPage">
{{remark}}
</view>
<view class="iconfont iconshanchu" data-icon="icondidianmiaoshu" catchTap="closeEditList">
......@@ -123,44 +125,63 @@
</view>
<!-- 编辑列表 -->
<view class="editList" a:if="{{!!scheduleItem}}">
<view a:if="{{!!scheduleItem?(!!locationName?false:true):true}}" class="listGroup" onTap="editSchedule" data-icon="icondingwei">
<view a:if="{{!!scheduleItem?(!!locationName?false:true):true}}" class="listGroup" onTap="editSchedule" data-icon="icondingwei">
<view class="listIcon iconfont icondingwei">
</view>
<view class="listText">
地点
</view>
</view>
<view a:if="{{!aheadTimes.length}}" class="listGroup" onTap="editSchedule" data-icon="iconhuiqiantixing">
<view a:if="{{!aheadTimes.length}}" class="listGroup" onTap="editSchedule" data-icon="iconhuiqiantixing">
<view class="listIcon iconfont iconhuiqiantixing">
</view>
<view class="listText">
提醒
</view>
</view>
<view a:if="{{!repeatable}}" class="listGroup" onTap="editSchedule" data-icon="iconchongfu">
<view a:if="{{!repeatable}}" class="listGroup" onTap="editSchedule" data-icon="iconchongfu">
<view class="listIcon iconfont iconchongfu">
</view>
<view class="listText">
重复
</view>
</view>
<view a:if="{{!remark}}" class="listGroup" onTap="editSchedule" data-icon="icondidianmiaoshu">
<view a:if="{{!remark}}" class="listGroup" onTap="editSchedule" data-icon="icondidianmiaoshu">
<view class="listIcon iconfont icondidianmiaoshu">
</view>
<view class="listText">
描述
</view>
</view>
<view class="listGroup" onTap="editSchedule" data-icon="iconshanchu">
<view a:if="{{scheduleItem.virtual=='N'}}" class="listGroup" onTap="editSchedule" data-icon="iconshanchu">
<view class="listIcon iconfont iconshanchu">
</view>
<view class="listText">
删除
</view>
</view>
<picker a:else value="{{0}}" range="{{['仅删除此次会议', '删除以后会议', '删除所有会议']}}" onChange="deleteRepeatSchedule">
<view class="listGroup" data-icon="iconshanchu">
<view class="listIcon iconfont iconshanchu">
</view>
<view class="listText">
删除
</view>
</view>
</picker>
</view>
<!-- 编辑重复的时候的保存 -->
<picker a:if="{{scheduleItem.virtual=='Y'}}" value="{{0}}" range="{{['仅更新此会议', '更新以后会议', '更新所有会议']}}" onChange="saveRepeat">
<view>
<view class="save">
<view>
{{buttonText}}
</view>
</view>
</view>
</picker>
<!-- 保存 -->
<view class="save">
<view class="save" a:else>
<view onTap="saveCreate">
{{buttonText}}
</view>
......
......@@ -6,26 +6,37 @@ create.Page({
store: exampleStore,
useAll: true,
data: {
modifyModel: '',
deleteModel: '',
timeStaus: '',
isShowModal: false,
title: null,
title: '',
time1: '',
week1: '',
time2: '',
week2: '',
propsTime: '',
weekList: ['周日', '周一', '周二', '周三', '周四', '周五', '周六'],
repeatWeek: ['每周一重复', '每周二重复', '每周三重复', '每周四重复', '每周五重复', '每周六重复', '每周日重复'],
scheduleItem: '', // 日程ID 从详情页面传过来
buttonText: '立即创建'
buttonText: '立即创建',
// 人员增量信息 减量信息 只有在编辑的时候使用
addUserList: undefined,
deleteUserList: undefined,
originUserList: [],
aheadText: ''
},
onLoad(event) {
let index = new Date().getDay()
this.data.repeatWeek = this.data.repeatWeek[index]
this.store.data.remark = ''
this.store.data.aheadTimes = []
this.store.data.requireUserList = [getApp().globalData.userid]
this.store.data.recurrenceModel = {
model: "no_repeat"
}
this.store.data.conflictPeople = []
this.store.data.participatorList = []
this.store.data.participatorList = [{ userId: getApp().globalData.userid, username: getApp().globalData.name, headUrl: getApp().globalData.avatar }]
this.store.data.locationName = ''
this.store.data.participatorUserId = [getApp().globalData.userid]
this.update()
......@@ -46,6 +57,7 @@ create.Page({
week1: w,
week2: w,
type: event.type,
repeatWeek: this.data.repeatWeek
})
if (!!event.scheduleItem) {
let scheduleItem = JSON.parse(event.scheduleItem)
......@@ -57,14 +69,19 @@ create.Page({
scheduleItem: scheduleItem
})
this.getScheduleInfo()
this.update()
} else {
this.store.data.aheadTimes.push(15)
}
this.conflict()
},
onShow() {
const _that = this
setTimeout(function () {
_that.update()
_that.remindTimeText()
}, 100)
},
// 选择时间
selectTime(event) {
......@@ -144,14 +161,11 @@ create.Page({
dd.complexChoose({
title: "选择参会人", //标题
multiple: true, //是否多选
limitTips: "超出了", //超过限定人数返回提示
maxUsers: 1000, //最大可选人数
pickedUsers: _that.store.data.participatorUserId, //已选用户
requiredUsers: [], //必选用户(不可取消选中状态)
requiredDepartments: [], //必选部门(不可取消选中状态)
permissionType: "xxx", //可添加权限校验,选人权限,目前只有GLOBAL这个参数
requiredUsers: _that.store.data.requireUserList, //必选用户(不可取消选中状态)
responseUserOnly: true, //返回人,或者返回人和部门
success: function (res) {
_that.store.data.participatorList = []
res.users.forEach((item, index) => {
_that.store.data.participatorList.push({ userId: item.userId, username: item.name, headUrl: item.headUrl })
_that.store.data.participatorUserId.push(item.userId)
......@@ -160,6 +174,7 @@ create.Page({
_that.store.data.participatorUserId = [...new Set(_that.store.data.participatorUserId)]
_that.update()
_that.conflict()
_that.arrayPoor(_that.data.originUserList, _that.store.data.participatorList)
},
fail: function (err) {
......@@ -179,6 +194,15 @@ create.Page({
case 'place':
dd.navigateTo({ url: './../place/place' })
break;
case 'remind':
dd.navigateTo({ url: './../remind/remind' })
break;
case 'repeatMechanism':
dd.navigateTo({ url: './../repeatMechanism/repeatMechanism' })
break;
case 'addRemark':
dd.navigateTo({ url: './../addRemark/addRemark' })
break;
}
},
// 数组去重
......@@ -193,7 +217,10 @@ create.Page({
saveCreate() {
if (!!this.data.scheduleItem) {
let data = {
modifyModel: 'only',
shcheduleType: 'common',
deleteUserList: this.data.deleteUserList,
addUserList: this.data.addUserList,
modifyModel: this.data.modifyModel,
planDate: this.data.scheduleItem.planDate,
title: this.data.title || '无主题',
scheduleId: this.data.scheduleItem.id,
......@@ -211,11 +238,12 @@ create.Page({
repeatable: this.store.data.repeatable,
aheadTimes: this.store.data.aheadTimes,
recurrenceModel: this.store.data.recurrenceModel,
meetingRoomId: 222 || null,
meetingRoomId: null,
remark: this.store.data.remark
}
modifySchedule(data).then(res => {
dd.navigateBack({
dd.navigateBack({
delta: 2
})
})
......@@ -228,6 +256,7 @@ create.Page({
latitude: '10',
locationName: this.store.data.locationName || ''
},
shcheduleType: 'common',
startTime: `${this.data.time1.replace(/\//g, "-")}:00`,
endTime: `${this.data.time2.replace(/\//g, '-')}:00`,
scheduleType: 'common',
......@@ -236,7 +265,7 @@ create.Page({
repeatable: this.store.data.repeatable,
aheadTimes: this.store.data.aheadTimes,
recurrenceModel: this.store.data.recurrenceModel,
meetingRoomId: 222 || null
meetingRoomId: null
}
addSchedule(data).then(res => {
dd.navigateBack({
......@@ -267,7 +296,6 @@ create.Page({
this.store.data.locationName = null
break;
}
// this.store.data.place = ""
this.update()
},
// 会议冲突
......@@ -281,7 +309,10 @@ create.Page({
getUserScheduleInTime(data).then(res => {
for (let value in res.data.data) {
if (!!res.data.data[value].length) {
this.store.data.conflictPeople.push(value)
if (res.data.data[value]) {
this.store.data.conflictPeople.push(value)
}
}
}
this.update()
......@@ -294,9 +325,7 @@ create.Page({
planDate: this.data.scheduleItem.planDate,
templateId: this.data.scheduleItem.scheduleTemplateId
}
console.log(this.data.scheduleItem)
getScheduleDetail(data).then(res => {
console.log(res.data.data.title)
let participatorUserId = []
let participatorList = []
res.data.data.userList.forEach((item, index) => {
......@@ -304,19 +333,23 @@ create.Page({
participatorList.push(item.participator)
})
this.store.data.locationName = res.data.data.location.locationName
this.store.data.repeatable = res.data.data.repeatable
this.store.data.aheadTimes = res.data.data.aheadTimes
console.log( this.store.data.aheadTimes)
this.store.data.participatorUserId = participatorUserId
this.store.data.requireUserList = participatorUserId
this.store.data.participatorList = participatorList
this.store.data.remark = res.data.data.remark || ''
this.store.data.recurrenceModel = res.data.data.recurrenceModel
this.setData({
originUserList: participatorList,
title: res.data.data.title,
time1: res.data.data.startTime.substring(0, 16),
time2: res.data.data.endTime.substring(0, 16),
week1: this.data.weekList[new Date(res.data.data.startTime).getDay()],
week2: this.data.weekList[new Date(res.data.data.endTime).getDay()],
aheadTimes: res.data.data.aheadTimes,
// describe: res.data.data.describe,
})
this.update()
this.conflict()
......@@ -339,13 +372,13 @@ create.Page({
break;
case 'iconshanchu':
let data = {
scheduleId: this.data.id,
scheduleId: this.data.scheduleItem.id,
identify: 'major',
deleteModel: 'only'
}
deleteSchedule(data).then(res => {
dd.redirectTo({
url: '/pages/index/index'
dd.navigateBack({
delta: 2
})
})
break;
......@@ -367,6 +400,97 @@ create.Page({
}
})
},
// 获取N年后的日
// 数组取差值 原先的数组与现在的比较 增加与减少
arrayPoor(origin, now) {
console.log(origin)
console.log(now)
let originMap = new Map()
let nowMap = new Map()
let add = []
let del = []
for (let x of origin) {
originMap.set(x.userId, x)
}
for (let x of now) {
nowMap.set(x.userId, x)
let status1 = originMap.get(x.userId)
if (!status1) {
add.push(x)
}
}
for (let x of origin) {
let status2 = nowMap.get(x.userId)
if (!status2) {
del.push(x)
}
}
this.setData({
addUserList: add,
deleteUserList: del
})
},
// 保存重复日程
saveRepeat(event) {
let modifyModel = ''
switch (event.detail.value) {
case 0:
modifyModel = 'only'
break;
case 1:
modifyModel = 'future'
break;
case 2:
modifyModel = 'all'
break;
}
this.setData({
modifyModel: modifyModel
})
this.saveCreate()
},
// 删除重复日程
deleteRepeatSchedule(event) {
let deleteModel = ''
switch (event.detail.value) {
case 0:
deleteModel = 'only'
break;
case 1:
deleteModel = 'future'
break;
case 2:
deleteModel = 'all'
break;
}
let data = {
planDate: this.data.scheduleItem.planDate,
templateId: this.data.scheduleItem.scheduleTemplateId,
identify: 'major',
deleteModel: deleteModel
}
deleteSchedule(data).then(res => {
dd.navigateBack({
delta: 2
})
})
},
// 提前多少分钟处理
remindTimeText() {
let index = [0, 15, 30, 60, 1440, 2880, 10080]
let text = ['开始时', '5分钟前', '30分钟前', '一小时前', '一天前', '两天前', '1周前']
let aheadText = ''
let remindMap = new Map()
for (let i = 0; i < index.length; i++) {
remindMap.set(i, text[i])
}
for (let m = 0; m<this.store.data.aheadTimes.length; m++) {
aheadText += remindMap.get(m) + '、'
}
aheadText = aheadText.substring(0, aheadText.length - 1)
this.setData({
aheadText: aheadText
})
}
});
{
"defaultTitle": "首页",
"usingComponents": {
"mw-select": "../../components/mwSelect/mwSelect"
}
"defaultTitle": "首页"
}
\ No newline at end of file
......@@ -2,7 +2,7 @@
page {
background: #f6f6f6;
font-family: PingFangSC-Regular;
font-size: 42rpx;
font-size: 32rpx;
color: #191F25;
}
......
......@@ -4,10 +4,12 @@ create.Page({
store: exampleStore,
useAll: true,
data: {
week1: ['MO', 'TU', 'WE', 'TH', 'FR', 'SA', 'SU'],
week2: ['每周一重复', '每周二重复', '每周三重复', '每周四重复', '每周五重复', '每周六重复', '每周日重复'],
repeatList: [
{ model: 'no_repeat', text: '不重复', weekDayList: [] },
{ model: 'every_day', text: '每天重复', weekDayList: [] },
{ model: 'day_in_week', text: '每周重复', weekDayList: ['MO', 'TU', 'WE', 'TH', 'FR', 'SA', 'SU'] },
{ model: 'day_in_week', text: '每周重复', weekDayList: [] },
{ model: 'day_in_week', text: '每周的工作日重复', weekDayList: ['MO', 'TU', 'WE', 'TH', 'FR'] }
]
},
......@@ -15,6 +17,12 @@ create.Page({
dd.setNavigationBar({
title: '选择重复'
})
let week = new Date().getDay()
this.data.repeatList[2].weekDayList = [this.data.week1[week]]
this.data.repeatList[2].text = this.data.week2[week]
this.setData({
repeatList: this.data.repeatList
})
},
// 选择重复机制
selectRepeat(event) {
......
......@@ -189,4 +189,10 @@ page {
.cancel {
background: #E60012;
}
.blank {
overflow-x: scroll;
}
.blank>text {
margin-right: 10rpx;
}
\ No newline at end of file
......@@ -53,8 +53,17 @@
<view class="remind" a:if="{{aheadTimes.length}}">
<view class="icon iconshijian iconfont">
</view>
<view class="text">
提前<text a:for="{{aheadTimes}}" a:for-item="item">{{item}}分</text>钟提醒
<view class="text blank">
提前
<text a:if="{{aheadTimes.includes(0)}}">立即提醒</text>
<text a:if="{{aheadTimes.includes(1)}}">5分钟</text>
<text a:if="{{aheadTimes.includes(15)}}">15分钟</text>
<text a:if="{{aheadTimes.includes(30)}}">30分钟</text>
<text a:if="{{aheadTimes.includes(60)}}">1小时</text>
<text a:if="{{aheadTimes.includes(1440)}}">1天前</text>
<text a:if="{{aheadTimes.includes(2880)}}">两天前</text>
<text a:if="{{aheadTimes.includes(10080)}}">1周前</text>
提醒
</view>
</view>
<!-- 会议描述 -->
......@@ -88,10 +97,6 @@
</view>
<view class="buttonGroup" data-nextPage="edit" onTap="nextPage">
<text class="icondidianmiaoshu iconfont"></text>
<text>删除</text>
</view>
<view class="buttonGroup" data-nextPage="edit" onTap="nextPage">
<text class="icondidianmiaoshu iconfont"></text>
<text>参加</text>
</view>
<view class="buttonGroup" data-nextPage="edit" onTap="nextPage">
......
......@@ -21,16 +21,18 @@ create.Page({
},
onLoad(event) {
let scheduleItem = JSON.parse(event.scheduleItem)
dd.setNavigationBar({
title: '会议详情'
})
this.setData({
scheduleItem: scheduleItem
})
dd.setNavigationBar({
title: '会议详情'
})
},
onShow() {
let data = {
id: scheduleItem.id,
planDate: scheduleItem.planDate,
templateId: scheduleItem.scheduleTemplateId
id: this.data.scheduleItem.id,
planDate: this.data.scheduleItem.planDate,
templateId: this.data.scheduleItem.scheduleTemplateId
}
getScheduleDetail(data).then(res => {
this.setData({
......@@ -38,10 +40,10 @@ create.Page({
location: res.data.data.location,
startTime: res.data.data.startTime,
endTime: res.data.data.endTime,
aheadTimes: res.data.data.aheadTimes,
week: this.data.weeks[new Date(res.data.data.startTime).getDay() - 1]
})
this.store.data.userList = res.data.data.userList
this.store.data.aheadTimes = res.data.data.aheadTimes
this.store.data.remark = res.data.data.remark
this.acrossDay(res.data.data.startTime, res.data.data.endTime)
this.update()
......@@ -51,6 +53,7 @@ create.Page({
uploadSpaceId: res.data.data
})
})
},
// 是否跨天
acrossDay(time1, time2) {
......@@ -100,17 +103,19 @@ create.Page({
}
})
},
// 跳转下一页
nextPage(event) {
switch (event.target.dataset.nextPage) {
case 'participants':
dd.navigateTo({ url: `./../attendingSituation/attendingSituation?userList=${JSON.stringify(this.store.data.userList)}` })
break;
case 'edit':
console.log(this.data.scheduleItem.id)
console.log(this.data.scheduleItem.id)
dd.navigateTo({ url: `./../createOrEditSchedule/createOrEditSchedule?scheduleItem=${JSON.stringify(this.data.scheduleItem)}` })
break;
}
},
// 预览文件
preview(fileId, fileSize, fileType, fileName) {
dd.previewFileInDingTalk({
corpId: dd.corpId,
......@@ -118,7 +123,7 @@ create.Page({
fileId: fileId,
fileName: fileName,
fileSize: fileSize,
fileType: fileType,
fileType: fileType
})
}
......
......@@ -11,8 +11,9 @@ class Store {
model:"no_repeat"
},
editList: [{ icon: 'icondingwei', text: '地点' }, { icon: 'iconhuiqiantixing', text: '提醒' }, { icon: 'iconchongfu', text: '重复' }, { icon: 'icondidianmiaoshu', text: '描述' }, { icon: 'iconshanchu', text: '删除' }],
remark: ' 111 ', // 会议描述
aheadTimes: []
remark: '', // 会议描述
aheadTimes: [],
requireUserList: []
}
}
......
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