Commit d7dc9316 by fengzhaoyu

权限

parent bd40251b
{ {
"pages": [ "pages": [
"pages/index/index", "pages/index/index",
"pages/meetingDetail/meetingDetail", "pages/meetingDetail/meetingDetail",
"pages/excutorList/excutorList", "pages/excutorList/excutorList",
"pages/createMeeting/createMeeting", "pages/createMeeting/createMeeting",
"pages/outLookContact/outLookContact", "pages/outLookContact/outLookContact",
"pages/place/place", "pages/place/place",
"pages/meetingRoomList/meetingRoomList", "pages/meetingRoomList/meetingRoomList",
"pages/addRemark/addRemark", "pages/addRemark/addRemark",
"pages/uploadFile/uploadFile", "pages/uploadFile/uploadFile",
"pages/repetitionTime/repetitionTime", "pages/repetitionTime/repetitionTime",
"pages/repeatMechanism/repeatMechanism", "pages/repeatMechanism/repeatMechanism",
"pages/attendingSituation/attendingSituation", "pages/attendingSituation/attendingSituation",
"pages/remind/remind", "pages/remind/remind",
"pages/scheduleDetail/scheduleDetail", "pages/scheduleDetail/scheduleDetail",
"pages/participantsDetail/participantsDetail", "pages/participantsDetail/participantsDetail",
"pages/applicationDetails/applicationDetails", "pages/applicationDetails/applicationDetails",
"pages/attendeeList/attendeeList" "pages/attendeeList/attendeeList"
] ]
} }
\ No newline at end of file
...@@ -52,7 +52,7 @@ ...@@ -52,7 +52,7 @@
</view> </view>
<!-- participatorList participatorUserId 参会人 --> <!-- participatorList participatorUserId 参会人 -->
<view class="participator"> <view class="participator">
<view class="iconicon_attender iconfont icon {{participatorList.length>1 ? '' : 'noValueIcon'}}""> <view class="iconicon_attender iconfont icon {{participatorList.length>1 ? '' : 'noValueIcon'}}">
</view> </view>
<view class="participatorContaint"> <view class="participatorContaint">
<view class="participatorText" a:if="{{participatorList.length < 2}}" catchTap="showPopup" data-type='participator'> <view class="participatorText" a:if="{{participatorList.length < 2}}" catchTap="showPopup" data-type='participator'>
......
...@@ -77,7 +77,6 @@ create.Page({ ...@@ -77,7 +77,6 @@ create.Page({
setTimeout(() => { setTimeout(() => {
this.update() this.update()
}, 100) }, 100)
}, },
// 添加描述 // 添加描述
addRemark() { addRemark() {
...@@ -108,6 +107,8 @@ create.Page({ ...@@ -108,6 +107,8 @@ create.Page({
this.store.data.roomId = '' this.store.data.roomId = ''
this.store.data.participatorList = [] this.store.data.participatorList = []
this.store.data.participatorUserId = [] this.store.data.participatorUserId = []
this.store.data.originUsers = []
this.store.data.originUsersId = []
this.store.data.locationName = '' this.store.data.locationName = ''
this.store.data.startTime = this.getTimes() this.store.data.startTime = this.getTimes()
this.store.data.endTime = this.getTimes(new Date(this.getTimes()).setMinutes(new Date(this.store.data.startTime).getMinutes() + 30)) this.store.data.endTime = this.getTimes(new Date(this.getTimes()).setMinutes(new Date(this.store.data.startTime).getMinutes() + 30))
......
import { getFormatDate } from '../../utils/utils' import { getFormatDate } from '../../utils/utils'
import create from 'dd-store' import create from 'dd-store'
import exampleStore from '/stores/exampleStore' import exampleStore from '/stores/exampleStore'
create.Page({ create.Page({
store: exampleStore, store: exampleStore,
useAll: true, useAll: true,
...@@ -12,7 +11,6 @@ create.Page({ ...@@ -12,7 +11,6 @@ create.Page({
}, },
onShow() { onShow() {
this.update() this.update()
}, },
// 修改tabBar // 修改tabBar
......
...@@ -110,6 +110,7 @@ page { ...@@ -110,6 +110,7 @@ page {
padding: 28rpx 32rpx 24rpx; padding: 28rpx 32rpx 24rpx;
border-bottom: 1rpx solid rgba(25, 31, 37, 0.12); border-bottom: 1rpx solid rgba(25, 31, 37, 0.12);
box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.08); box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.08);
background: #fff;
} }
.hideTitle { .hideTitle {
...@@ -497,4 +498,17 @@ input { ...@@ -497,4 +498,17 @@ input {
.affair-list-title { .affair-list-title {
font-size: 40rpx; font-size: 40rpx;
color: rgba(25, 31, 37, 1); color: rgba(25, 31, 37, 1);
}
.permissionContant {
height: auto;
position: relative;
}
.permission {
width: 100%;
height: 100%;
position: absolute;
top: 0;
z-index: 999;
} }
\ No newline at end of file
<import src="../../template/deleteBtn/index.axml"/> <import src="../../template/deleteBtn/index.axml"/>
<view class="hideDetail" a:if="{{false}}"> <view class="hideDetail" a:if="{{confirmAttendance === 1&&onload || organizer === currentPeople&&onload}}">
<view class="hideTitle"> <view class="hideTitle">
设计分享会 {{title}}
</view> </view>
<view class="hideTime"> <view class="hideTime">
设计分享会 <text a:if="{{isAcrossDay}}">
{{`${$data.startTime.substring(5, 7)}月${$data.startTime.substring(8, 10)}日 ${$data.startTime.substring(11, 16)}`}}-{{`${$data.endTime.substring(5, 7)}月${$data.endTime.substring(8, 10)}日 ${$data.endTime.substring(11, 16)}`}}
</text>
<text a:else>
{{`${$data.startTime.substring(5, 7)}月${$data.startTime.substring(8, 10)}日 ${week} ${$data.startTime.substring(11, 16)}-${$data.endTime.substring(11, 16)}`}}
</text>
</view> </view>
<view class="hideIcon iconfont iconicon_expand"> <view class="hideIcon iconfont iconicon_expand" onTap="expand">
</view> </view>
</view> </view>
<view class="editeMeeting" a:else="{{true}}"> <view class="editeMeeting" a:else>
<!-- title remark 标题 描述 --> <!-- title remark 标题 描述 -->
<view class="createTitle"> <view class="permissionContant">
<view class="title"> <view class="createTitle">
<input placeholder-class="placeholder" placeholder="请输入主题" class="text" onInput="onInput" data-type="title" data-selectType="common" value="{{title}}" onConfirm="onConfirm"/> <view class="title">
<view class="icon iconfont iconicon_description1 {{remark ? '' : 'noValueIcon'}}" onTap="addRemark"> <input placeholder-class="placeholder" placeholder="请输入主题" class="text" onInput="onInput" data-type="title" data-selectType="common" value="{{title}}" onConfirm="onConfirm"/>
<view class="icon iconfont iconicon_description1 {{remark ? '' : 'noValueIcon'}}" onTap="addRemark">
</view>
</view>
<view class="remark" a:if="{{isShowRemark}}">
<input placeholder-class="placeholder" placeholder="请添加描述" class="text" onInput="onInput" data-type="remark" value="{{remark}}" onConfirm="onConfirm"/>
</view> </view>
</view> </view>
<view class="remark" a:if="{{isShowRemark}}"> <view class="permission" a:if="{{currentPeople != organizer}}">
<input placeholder-class="placeholder" placeholder="请添加描述" class="text" onInput="onInput" data-type="remark" value="{{remark}}" onConfirm="onConfirm"/>
</view> </view>
</view> </view>
<!-- roomId locationName 地点 --> <!-- roomId locationName 地点 -->
<view class="place"> <view class="permissionContant">
<view class="iconicon_room iconfont icon" a:if="{{roomId}}"> <view class="permission" a:if="{{currentPeople != organizer}}">
</view>
<view class="iconicon_location1 iconfont icon {{$data.locationName ? '' : 'noValueIcon'}}" a:else>
</view> </view>
<view class="placeContaint"> <view class="place">
<view class="noPlace" a:if="{{!$data.locationName}}" onTap="nextPage" data-nextPage="location"> <view class="iconicon_room iconfont icon" a:if="{{roomId}}">
添加地点
</view> </view>
<view class="hasplace" onTap="nextPage" data-nextPage="location" a:else> <view class="iconicon_location1 iconfont icon {{$data.locationName ? '' : 'noValueIcon'}}" a:else>
{{$data.locationName}}
</view> </view>
<view class=" icon iconfont iconicon_close close" a:if="{{!!$data.locationName}}" data-close="location" catchTap="close"> <view class="placeContaint">
<view class="noPlace" a:if="{{!$data.locationName}}" onTap="nextPage" data-nextPage="location">
添加地点
</view>
<view class="hasplace" onTap="nextPage" data-nextPage="location" a:else>
{{$data.locationName}}
</view>
<view class=" icon iconfont iconicon_close close" a:if="{{!!$data.locationName}}" data-close="location" catchTap="close">
</view>
</view> </view>
</view> </view>
</view> </view>
<!-- $data.startTime $data.endTime repeatable recurrenceModel 时间 重复 --> <!-- $data.startTime $data.endTime repeatable recurrenceModel 时间 重复 -->
<view class="time"> <view class="permissionContant">
<view class="iconicon_conflict iconfont icon"> <view class="time">
</view> <view class="iconicon_conflict iconfont icon">
<view class="timeContaint"> </view>
<view> <view class="timeContaint">
<view class="timeText" catchTap="showPopup" data-type='time'> <view>
<text a:if="{{isAcrossDay}}"> <view class="timeText" catchTap="showPopup" data-type='time'>
<text a:if="{{isAcrossDay}}">
{{`${$data.startTime.substring(5, 7)}月${$data.startTime.substring(8, 10)}日 ${$data.startTime.substring(11, 16)}`}}-{{`${$data.endTime.substring(5, 7)}月${$data.endTime.substring(8, 10)}日 ${$data.endTime.substring(11, 16)}`}} {{`${$data.startTime.substring(5, 7)}月${$data.startTime.substring(8, 10)}日 ${$data.startTime.substring(11, 16)}`}}-{{`${$data.endTime.substring(5, 7)}月${$data.endTime.substring(8, 10)}日 ${$data.endTime.substring(11, 16)}`}}
</text> </text>
<text a:else> <text a:else>
{{`${$data.startTime.substring(5, 7)}月${$data.startTime.substring(8, 10)}日 ${week} ${$data.startTime.substring(11, 16)}-${$data.endTime.substring(11, 16)}`}} {{`${$data.startTime.substring(5, 7)}月${$data.startTime.substring(8, 10)}日 ${week} ${$data.startTime.substring(11, 16)}-${$data.endTime.substring(11, 16)}`}}
</text> </text>
<!-- 3月1日 周日 14:00-16:00 --> <!-- 3月1日 周日 14:00-16:00 -->
</view> </view>
<view class="repeatModal" a:if="{{comListData.comSelectListId !== 0}}" catchTap="showPopup" data-type='repeat'> <view class="repeatModal" a:if="{{comListData.comSelectListId !== 0}}" catchTap="showPopup" data-type='repeat'>
{{comListData.repeatList[comListData.comSelectListId].text}}重复 {{comListData.repeatList[comListData.comSelectListId].text}}重复
</view>
</view>
<view class="icon iconfont iconicon_open" catchTap="showPopup" data-type='repeat' a:if="{{comListData.comSelectListId == 0}}">
</view> </view>
</view> </view>
<view class="icon iconfont iconicon_open" catchTap="showPopup" data-type='repeat' a:if="{{comListData.comSelectListId == 0}}"> </view>
</view> <view class="permission" a:if="{{currentPeople != organizer}}">
</view> </view>
</view> </view>
<!-- participatorList participatorUserId 参会人 --> <!-- participatorList participatorUserId 参会人 -->
...@@ -99,18 +116,23 @@ ...@@ -99,18 +116,23 @@
</view> </view>
</view> </view>
<!-- meetingWay 会议方式 --> <!-- meetingWay 会议方式 -->
<view class="meetingWay"> <view class="permissionContant">
<view class="iconicon_meet iconfont icon {{comListData.meetingWayModelId ? '' : 'noValueIcon'}}"> <!--<view class="iconicon_attender iconfont icon {{$data.participatorList.length>1 ? '' : 'noValueIcon'}}"></view> -->
</view> <view class="meetingWay">
<view class="meetingWayContent"> <view class="iconicon_meet iconfont icon {{comListData.meetingWayModelId ? '' : 'noValueIcon'}}">
<view class="noWay" a:if="{{comListData.meetingWayModelId == null}}" catchTap="showPopup" data-type='meetingWayModel'>
会议方式
</view> </view>
<view class="hasWay" a:else catchTap="showPopup" data-type='meetingWayModel'> <view class="meetingWayContent">
<view class="noWay" a:if="{{comListData.meetingWayModelId == null}}" catchTap="showPopup" data-type='meetingWayModel'>
会议方式
</view>
<view class="hasWay" a:else catchTap="showPopup" data-type='meetingWayModel'>
{{comListData.meetingWayList[comListData.meetingWayModelId].text}} {{comListData.meetingWayList[comListData.meetingWayModelId].text}}
</view>
<view class=" icon iconfont iconicon_close close" a:if="{{comListData.meetingWayModelId !== null}}" data-close="meetingWayModel" catchTap="close">
</view>
</view> </view>
<view class=" icon iconfont iconicon_close close" a:if="{{comListData.meetingWayModelId !== null}}" data-close="meetingWayModel" catchTap="close"> </view>
</view> <view class="permission" a:if="{{currentPeople != organizer}}">
</view> </view>
</view> </view>
<!-- 删除该会议 --> <!-- 删除该会议 -->
...@@ -126,7 +148,7 @@ ...@@ -126,7 +148,7 @@
</view> </view>
<!-- 底部导航栏 --> <!-- 底部导航栏 -->
<view class="footNav"> <view class="footNav">
<view class="footNavTop"> <view class="footNavTop" a:if="{{currentPeople != organizer}}">
<view class="originStaus" a:if="{{confirmAttendance === null}}"> <view class="originStaus" a:if="{{confirmAttendance === null}}">
<view catchTap="participate"> <view catchTap="participate">
<text class="iconfont iconicon_Agreed1"></text> <text class="iconfont iconicon_Agreed1"></text>
......
import create from 'dd-store'; import create from 'dd-store';
// import exampleStore from '/stores/exampleStore'
import pageStore from './store'; import pageStore from './store';
import { getMeetingRoomAffairs, createMeetingTask, deleteMeetingTask, updateMeetingTask, uploadPermissions } from '../../api/request'; import { getMeetingRoomAffairs, createMeetingTask, deleteMeetingTask, updateMeetingTask, uploadPermissions } from '../../api/request';
import { isParticipate, deleteSchedule, getScheduleDetail, getUserScheduleInTime, modifySchedule } from '../../api/request.js' import { isParticipate, deleteSchedule, getScheduleDetail, getUserScheduleInTime, modifySchedule } from '../../api/request.js'
import { throttle } from './../../utils/utils.js' import { throttle } from './../../utils/utils.js'
import { observer } from '/utils/observer.js' import { observer } from '/utils/observer.js'
import { resolve } from 'path'; import { resolve } from 'path';
create.Page({ create.Page({
store: pageStore, store: pageStore,
useAll: true, useAll: true,
...@@ -19,7 +18,6 @@ create.Page({ ...@@ -19,7 +18,6 @@ create.Page({
title: '', title: '',
type: '' type: ''
}, },
// 传给组件list 的所有数据 comListData // 传给组件list 的所有数据 comListData
comListData: { comListData: {
repeatList: [ repeatList: [
...@@ -103,8 +101,10 @@ create.Page({ ...@@ -103,8 +101,10 @@ create.Page({
lock: false, lock: false,
aheadTimes: [15], aheadTimes: [15],
organizer: '', organizer: '',
currentPeople: '',
editType: '', editType: '',
confirmAttendance: null confirmAttendance: null,
onload: false
}, },
onShow() { onShow() {
console.log(this) console.log(this)
...@@ -123,6 +123,8 @@ create.Page({ ...@@ -123,6 +123,8 @@ create.Page({
}) })
this.setData({ this.setData({
scheduleItem: JSON.parse(event.scheduleItem), scheduleItem: JSON.parse(event.scheduleItem),
onload: true,
currentPeople: getApp().globalData.userid
}) })
this.getDetail() this.getDetail()
let scheduleItem = this.data.scheduleItem let scheduleItem = this.data.scheduleItem
...@@ -427,7 +429,7 @@ create.Page({ ...@@ -427,7 +429,7 @@ create.Page({
this.setData({ this.setData({
popupShow: false popupShow: false
}) })
dd.navigateTo({ url: `./../outLookContact/outLookContact?scheduleItem=${this.data.scheduleItem}` }) dd.navigateTo({ url: `./../outLookContact/outLookContact?scheduleItem=${JSON.stringify(this.data.scheduleItem)}` })
break; break;
} }
}, },
...@@ -636,6 +638,7 @@ create.Page({ ...@@ -636,6 +638,7 @@ create.Page({
}, },
// onSelectPopup 选择完的回调 // onSelectPopup 选择完的回调
onSelectPopup(event) { onSelectPopup(event) {
const _that = this
switch (this.data.conSelectPopupData.selectType) { switch (this.data.conSelectPopupData.selectType) {
case 'common': case 'common':
if (this.data.editType === 'operate_user' || this.data.editType === 'modify_location' || this.data.editType === 'modify_time') { if (this.data.editType === 'operate_user' || this.data.editType === 'modify_location' || this.data.editType === 'modify_time') {
...@@ -655,6 +658,7 @@ create.Page({ ...@@ -655,6 +658,7 @@ create.Page({
} }
isParticipate(data1).then(res => { isParticipate(data1).then(res => {
if (res.data.code === 0) { if (res.data.code === 0) {
observer.notice(res.data.data)
this.setData({ this.setData({
confirmAttendance: 0, confirmAttendance: 0,
'conToastData.showToast': true, 'conToastData.showToast': true,
...@@ -672,6 +676,7 @@ create.Page({ ...@@ -672,6 +676,7 @@ create.Page({
} }
isParticipate(data).then(res => { isParticipate(data).then(res => {
if (res.data.code === 0) { if (res.data.code === 0) {
observer.notice(res.data.data)
this.setData({ this.setData({
confirmAttendance: 1, confirmAttendance: 1,
'conToastData.showToast': true, 'conToastData.showToast': true,
...@@ -696,6 +701,8 @@ create.Page({ ...@@ -696,6 +701,8 @@ create.Page({
planDate: this.data.scheduleItem.planDate planDate: this.data.scheduleItem.planDate
} }
deleteSchedule(data).then(res => { deleteSchedule(data).then(res => {
_that.$store.data.indexNeedUpdate = true
_that.update()
dd.navigateBack({ dd.navigateBack({
delta: 1 delta: 1
}) })
...@@ -1380,5 +1387,11 @@ create.Page({ ...@@ -1380,5 +1387,11 @@ create.Page({
this.update(); this.update();
} }
}) })
},
//
expand() {
this.setData({
onload: false
})
} }
}); });
...@@ -68,6 +68,7 @@ create.Page({ ...@@ -68,6 +68,7 @@ create.Page({
this.getPageData() this.getPageData()
}, },
onShow() { onShow() {
this.update()
}, },
getPageData() { getPageData() {
let that = this let that = this
...@@ -180,7 +181,7 @@ create.Page({ ...@@ -180,7 +181,7 @@ create.Page({
modalList: modalList, modalList: modalList,
isShowModal: true, isShowModal: true,
canScroll: false, canScroll: false,
toThisTime: `${modalHour}:${modalMins < 30 ? '30' : '00'}` toThisTime: `${modalHour}:${modalMins < 30 ? '30' : '00'}`
}) })
}) })
}, },
...@@ -752,6 +753,7 @@ create.Page({ ...@@ -752,6 +753,7 @@ create.Page({
}, },
onUnload() { onUnload() {
// 页面被关闭 // 页面被关闭
}, },
onPullDownRefresh() { onPullDownRefresh() {
// 页面被下拉 // 页面被下拉
......
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
<view class="contactText"> <view class="contactText">
{{item.username}} {{item.username}}
</view> </view>
<view class="contactClose icon iconfont iconicon_close" onTap="close" data-item="{{item}}"> <view a:if="{{!!scheduleItem ? !(item.userId == originalData || originUsersId.includes(item.userId)) : !(item.userId == originalData)}}" class="contactClose icon iconfont iconicon_close" onTap="close" data-item="{{item}}">
</view> </view>
</view> </view>
</view> </view>
...@@ -26,4 +26,7 @@ ...@@ -26,4 +26,7 @@
确认添加 确认添加
</view> </view>
</view> </view>
<toast showToast="{{conToastData.showToast}}" title="{{conToastData.title}}" onToastHidden="onToastHidden"></toast>
<centerpopup centerPopup="{{centerPopup.showCenterPopup}}" centerPopupList="{{centerPopup.centerPopupList}}" onSelectSend="onSelectSend"></centerpopup>
<selectpopup showSelectPopup="{{conSelectPopupData.showSelectPopup}}" selectPopupList="{{conSelectPopupData.editSaveList}}" onSelectPopup="onSelectPopup" onSelectPopupCancel="onSelectPopupCancel"></selectpopup>
</view> </view>
\ No newline at end of file
import { getUserScheduleInTime } from '../../api/request.js' import { getUserScheduleInTime, modifySchedule } from '../../api/request.js'
import { throttle } from './../../utils/utils.js' import { throttle } from './../../utils/utils.js'
import create from 'dd-store' import create from 'dd-store'
import exampleStore from '/stores/exampleStore' import exampleStore from '/stores/exampleStore'
import { observer } from '/utils/observer.js'
create.Page({ create.Page({
store: exampleStore, store: exampleStore,
useAll: true, useAll: true,
data: { data: {
userList: [],
userListId: [],
outlookContact: [], outlookContact: [],
value: '', value: '',
conflictPeople: [], conflictPeople: [],
scheduleItem: '' scheduleItem: '',
// 传给组件 hList 水平排列 所有数据 comHListData
comHListData: {
contactData: [
{ id: 0, text: '钉钉联系人', imageUrl: '../../assests/dingContact.png' },
{ id: 1, text: '手动添加邮箱', imageUrl: '../../assests/emailContact.png' }
]
},
popupShow: false,
// 传递给组件selectPopup 的数据
conSelectPopupData: {
selectPopupId: '',
showSelectPopup: false,
selectType: 'common',
editSaveList: [{ text: '仅保存此会议', id: 'only' }, { text: '保存此次及以后会议', id: 'future' }]
},
// 传递给组件centerPopup 的数据
centerPopup: {
showCenterPopup: false,
centerPopupList: [
{ id: 0, text: '不发送通知' },
{ id: 1, text: '发送通知' },
{ id: -1, text: '取消编辑' }
],
centerPopupId: ''
},
// 传递给组件toast的所有数据
conToastData: {
showToast: false,
title: '保存成功'
},
}, },
onLoad(event) { onLoad(event) {
const _that = this
if (event.scheduleItem) { if (event.scheduleItem) {
let scheduleItem = event.scheduleItem let scheduleItem = JSON.parse(event.scheduleItem)
this.setData({ this.setData({
scheduleItem: scheduleItem scheduleItem: scheduleItem
}) })
...@@ -27,6 +61,14 @@ create.Page({ ...@@ -27,6 +61,14 @@ create.Page({
this.setData({ this.setData({
outlookContact: outlookContact outlookContact: outlookContact
}) })
observer.register({
notice(scheduleItem) {
_that.setData({
'scheduleItem.scheduleTemplateId': scheduleItem
})
console.log(scheduleItem);
}
})
this.conflictPeople() this.conflictPeople()
}, },
onShow() { onShow() {
...@@ -88,31 +130,111 @@ create.Page({ ...@@ -88,31 +130,111 @@ create.Page({
save() { save() {
// concat 拼接后生成新的数组 push 返回的是长度 // concat 拼接后生成新的数组 push 返回的是长度
let participatorList = [] let participatorList = []
let participatorListId = []
for (let value of this.store.data.participatorList) { for (let value of this.store.data.participatorList) {
if (value.platform !== 'outlook') { if (value.platform !== 'outlook') {
participatorList.push(value) participatorList.push(value)
participatorListId.push(value.userId)
} }
} }
participatorListId.push(getApp().globalData.userid)
this.data.outlookContact.forEach(item => {
participatorListId.push(item.userId)
})
participatorList.push({ userId: getApp().globalData.userid, username: getApp().globalData.name, headUrl: getApp().globalData.avatar, platform: 'dingtalk' }) participatorList.push({ userId: getApp().globalData.userid, username: getApp().globalData.name, headUrl: getApp().globalData.avatar, platform: 'dingtalk' })
participatorList.push(...this.data.outlookContact) participatorList.push(...this.data.outlookContact)
participatorList = this.setArrary(participatorList) participatorList = this.setArrary(participatorList)
// this.store.data.participatorList.push(...this.data.outlookContact) this.setData({
// let participatorList = [{ userId: getApp().globalData.userid, username: getApp().globalData.name, headUrl: getApp().globalData.avatar, platform: 'dingtalk' }].concat(this.store.data.participatorList) userList: participatorList,
// this.store.data.participatorList = this.setArrary(participatorList) userId: [...new Set(participatorListId)]
})
if (!!this.data.scheduleItem) { if (!!this.data.scheduleItem) {
if (true) { if (this.store.data.originalData.repeatable === 1) {
this.arrayPoor(this.store.data.originUsers, participatorList) this.setData({
this.store.data.originUsers = participatorList 'conSelectPopupData.showSelectPopup': true
this.store.data.participatorList = participatorList })
} else { } else {
let addUserList = this.arrayPoor(this.store.data.originUsers, this.data.userList).addUserList
let deleteUserList = this.arrayPoor(this.store.data.originUsers, this.data.userList).deleteUserList
let dataUser = {
addUserList: addUserList,
deleteUserList: deleteUserList,
modifyModel: 'only',
modifyContent: 'operate_user'
}
this.modifySchedule(dataUser)
} }
} else { } else {
this.store.data.participatorList = participatorList this.store.data.participatorList = participatorList
this.update()
dd.navigateBack({
delta: 1
})
} }
},
this.update() // 选择弹窗
dd.navigateBack({ onSelectPopup(event) {
delta: 1 this.setData({
'conSelectPopupData.showSelectPopup': false,
'conSelectPopupData.selectPopupId': event.currentTarget.dataset.item.id,
'centerPopup.showCenterPopup': true
})
},
// 选择发不发通知
onSelectSend(event) {
this.setData({
'centerPopup.showCenterPopup': false
})
if (event.currentTarget.dataset.item.id > -1) {
let addUserList = this.arrayPoor(this.store.data.originUsers, this.data.userList).addUserList
let deleteUserList = this.arrayPoor(this.store.data.originUsers, this.data.userListId).deleteUserList
let dataUser = {
addUserList: addUserList,
deleteUserList: deleteUserList,
modifyModel: this.data.conSelectPopupData.selectPopupId,
modifyContent: 'operate_user'
}
this.modifySchedule(dataUser, event.currentTarget.dataset.item.id)
} else {
this.operateUserE(false)
}
},
// toast 消失之后的回调
onToastHidden() {
this.setData({
'conToastData.showToast': false
})
},
// 保存编辑
modifySchedule(data, needNotice = 0) {
let obj = {
needNotice: needNotice,
scheduleId: this.data.scheduleItem.id,
templateId: this.data.scheduleItem.scheduleTemplateId,
planDate: this.data.scheduleItem.planDate
}
return new Promise((resolve, rejects) => {
modifySchedule(Object.assign(data, obj)).then(res => {
if (res.data.code === 0) {
this.store.data.indexNeedUpdate = true
this.update()
this.setData({
'conToastData.showToast': true,
'conToastData.title': '保存成功'
})
if (this.store.data.originalData.repeatable === 1) {
observer.notice(res.data.data)
}
this.operateUserS()
return resolve(res)
} else {
this.operateUserE()
return rejects(res)
}
}).catch(err => {
this.operateUserE()
return rejects(err)
})
}) })
}, },
// 数组取差值 原先的数组与现在的比较 增加与减少 // 数组取差值 原先的数组与现在的比较 增加与减少
...@@ -157,12 +279,18 @@ create.Page({ ...@@ -157,12 +279,18 @@ create.Page({
let conflictPeople = [] let conflictPeople = []
for (let value in res.data.data) { for (let value in res.data.data) {
if (!!this.data.scheduleItem) { if (!!this.data.scheduleItem) {
if (res.data.data[value].length > 1) { const arr = res.data.data[value].filter(function (item) {
return item.confirmAttendance === 1
})
if (arr.length > 1) {
conflictPeople.push(value) conflictPeople.push(value)
} }
} else { } else {
if (res.data.data[value].length > 0) { const arr = res.data.data[value].filter(function (item) {
return item.confirmAttendance === 1
})
if (arr.length > 1) {
conflictPeople.push(value) conflictPeople.push(value)
} }
} }
...@@ -172,5 +300,40 @@ create.Page({ ...@@ -172,5 +300,40 @@ create.Page({
conflictPeople: conflictPeople conflictPeople: conflictPeople
}) })
}) })
} },
// onSelectPopupCancel 点击取消
onSelectPopupCancel() {
this.setData({
'conSelectPopupData.showSelectPopup': false,
'centerPopup.showCenterPopup': false
})
this.operateUserE(false)
},
// 参会人修改成功
operateUserS() {
this.store.data.participatorList = this.data.userList
this.store.data.participatorUserId = this.data.userListId
this.store.data.indexNeedUpdate = true
this.store.data.originUsers = this.store.data.participatorList
this.store.data.originUsersId = this.store.data.participatorUserId
this.update()
dd.navigateBack({
delta: 1
})
},
// 参会人修改失败
operateUserE(x = true) {
if (x) {
this.setData({
'conToastData.showToast': true,
'conToastData.title': '保存失败'
})
}
},
// 页面卸载
onUnload() {
// 页面被关闭
observer.unregister()
},
}); });
{ {
"defaultTitle": "添加邮箱联系人" "defaultTitle": "添加邮箱联系人",
"usingComponents": {
"popup": "../../components/popup/index",
"list": "../../components/list/list",
"hlist": "../../components/hList/hList",
"toast": "../../components/toast/toast",
"selectpopup": "../../components/selectPopup/selectPopup",
"centerpopup": "../../components/centerPopup/centerPopup",
"meeting-time-picker": "../../components/meetingTimePicker/meetingTimePicker"
}
} }
\ No newline at end of file
...@@ -82,4 +82,8 @@ page { ...@@ -82,4 +82,8 @@ page {
color: #8E939D; color: #8E939D;
vertical-align: middle; vertical-align: middle;
margin-right: 10rpx; margin-right: 10rpx;
}
.peopleList:last-of-type .info {
border: none
} }
\ No newline at end of file
<view> <view class="participantsDetail">
<view class="peopleList" a:for="{{participatorList}}" a:for-item="item"> <view class="peopleContaint">
<view class="headImg"> <view class="peopleList" a:for="{{participatorList}}" a:for-item="item">
<image a:if="{{!!item.headUrl}}" mode="scaleToFill" src="{{item.headUrl}}"/> <view class="headImg">
<text a:else>{{item.username.substring(0, 1)}}</text> <image a:if="{{!!item.headUrl}}" mode="scaleToFill" src="{{item.headUrl}}"/>
<text a:if="{{conflictPeople.includes(item.userId)}}" class="conflict iconicon_conflict iconfont"></text> <text a:else>{{item.username.substring(0, 1)}}</text>
</view> <text a:if="{{conflictPeople.includes(item.userId)}}" class="conflict iconicon_conflict iconfont"></text>
<view class="info"> </view>
<text class="name">{{item.username}}</text> <view class="info">
<text class="close iconicon_close iconfont" data-userId="{{item.userId}}" onTap="delParticipants"></text> <text class="name">{{item.username}}</text>
<text a:if="{{!!scheduleItem ? !(item.userId == originalData || originUsersId.includes(item.userId)) : !(item.userId == originalData)}}" class="close iconicon_close iconfont" data-userId="{{item.userId}}" onTap="delParticipants"></text>
</view>
</view> </view>
</view> </view>
<view class="addParticipants" catchTap="showPopup"> <view class="addParticipants" catchTap="showPopup">
......
import create from 'dd-store' import create from 'dd-store'
import exampleStore from '/stores/exampleStore' import exampleStore from '/stores/exampleStore'
import { modifySchedule, addSchedule, getUserScheduleInTime, getHomeUserSchedule } from '../../api/request.js' import { modifySchedule, addSchedule, getUserScheduleInTime, getHomeUserSchedule } from '../../api/request.js'
import { observer } from '/utils/observer.js'
create.Page({ create.Page({
store: exampleStore, store: exampleStore,
useAll: true, useAll: true,
...@@ -39,6 +40,7 @@ create.Page({ ...@@ -39,6 +40,7 @@ create.Page({
}, },
}, },
onLoad(event) { onLoad(event) {
const _that = this
if (event.scheduleItem) { if (event.scheduleItem) {
let scheduleItem = JSON.parse(event.scheduleItem) let scheduleItem = JSON.parse(event.scheduleItem)
this.setData({ this.setData({
...@@ -48,7 +50,14 @@ create.Page({ ...@@ -48,7 +50,14 @@ create.Page({
dd.setNavigationBar({ dd.setNavigationBar({
title: `参会人(${this.store.data.participatorList.length}人)` title: `参会人(${this.store.data.participatorList.length}人)`
}) })
observer.register({
notice(scheduleItem) {
_that.setData({
'scheduleItem.scheduleTemplateId': scheduleItem
})
console.log(scheduleItem);
}
})
this.conflictPeople() this.conflictPeople()
}, },
// 关闭popup 点击mark // 关闭popup 点击mark
...@@ -186,7 +195,7 @@ create.Page({ ...@@ -186,7 +195,7 @@ create.Page({
let dataUser = { let dataUser = {
addUserList: addUserList, addUserList: addUserList,
deleteUserList: deleteUserList, deleteUserList: deleteUserList,
modifyModel: 'only', modifyModel: this.data.conSelectPopupData.selectPopupId,
modifyContent: 'operate_user' modifyContent: 'operate_user'
} }
this.modifySchedule(dataUser, event.currentTarget.dataset.item.id) this.modifySchedule(dataUser, event.currentTarget.dataset.item.id)
...@@ -196,7 +205,8 @@ create.Page({ ...@@ -196,7 +205,8 @@ create.Page({
}, },
// 参会人修改成功 // 参会人修改成功
operateUserS() { operateUserS() {
this.store.data.originUsers = this.store.data.participator this.store.data.indexNeedUpdate = true
this.store.data.originUsers = this.store.data.participatorList
this.store.data.originUsersId = this.store.data.participatorUserId this.store.data.originUsersId = this.store.data.participatorUserId
this.update() this.update()
}, },
...@@ -225,6 +235,8 @@ create.Page({ ...@@ -225,6 +235,8 @@ create.Page({
return new Promise((resolve, rejects) => { return new Promise((resolve, rejects) => {
modifySchedule(Object.assign(data, obj)).then(res => { modifySchedule(Object.assign(data, obj)).then(res => {
if (res.data.code === 0) { if (res.data.code === 0) {
this.store.data.indexNeedUpdate = true
this.update()
this.setData({ this.setData({
'conToastData.showToast': true, 'conToastData.showToast': true,
'conToastData.title': '保存成功' 'conToastData.title': '保存成功'
...@@ -273,17 +285,57 @@ create.Page({ ...@@ -273,17 +285,57 @@ create.Page({
}, },
// 删除参会人 // 删除参会人
delParticipants(event) { delParticipants(event) {
const _that = this
if (!!this.data.scheduleItem) {
dd.confirm({
title: '删除参会人',
content: '确认删除参会人吗?',
confirmButtonText: '确定',
cancelButtonText: '取消',
success: (success) => {
if (!!success.confirm) {
if (!!_that.store.data.originalData.repeatable) {
_that.delete(event)
_that.setData({
'conSelectPopupData.showSelectPopup': true
})
} else {
_that.delete(event)
let addUserList = _that.arrayPoor(_that.store.data.originUsers, _that.store.data.participatorList).addUserList
let deleteUserList = _that.arrayPoor(_that.store.data.originUsers, _that.store.data.participatorList).deleteUserList
let dataUser = {
addUserList: addUserList,
deleteUserList: deleteUserList,
modifyModel: 'only',
modifyContent: 'operate_user'
}
_that.modifySchedule(dataUser)
}
}
}
})
} else {
this.delete()
}
},
// 删除操作
delete(event) {
let userId = event.target.dataset.userId let userId = event.target.dataset.userId
this.store.data.participatorList.forEach((item, index) => { this.store.data.participatorList.forEach((item, index) => {
if (userId === item.userId) { if (userId === item.userId) {
this.store.data.participatorList.splice(index, 1) let participatorList = [...this.store.data.participatorList]
participatorList.splice(index, 1)
this.store.data.participatorList = participatorList
this.update() this.update()
return return
} }
}) })
this.store.data.participatorUserId.forEach((item, index) => { this.store.data.participatorUserId.forEach((item, index) => {
if (userId === item) { if (userId === item) {
this.store.data.participatorUserId.splice(index, 1) let participatorUserId = [...this.store.data.participatorUserId]
participatorUserId.splice(index, 1)
this.store.data.participatorUserId = participatorUserId
this.update() this.update()
return return
} }
...@@ -331,7 +383,6 @@ create.Page({ ...@@ -331,7 +383,6 @@ create.Page({
conflictPeople.push(value) conflictPeople.push(value)
} }
} }
} }
this.setData({ this.setData({
conflictPeople: conflictPeople conflictPeople: conflictPeople
...@@ -352,5 +403,10 @@ create.Page({ ...@@ -352,5 +403,10 @@ create.Page({
requiredUsers: req, requiredUsers: req,
pickedUsers: pic pickedUsers: pic
} }
} },
// 页面卸载
onUnload() {
// 页面被关闭
observer.unregister()
},
}); });
...@@ -12,20 +12,20 @@ ...@@ -12,20 +12,20 @@
暂无可用会议室 暂无可用会议室
</view> </view>
<block a:for="{{availableMeetingRoom}}"> <block a:for="{{availableMeetingRoom}}">
<view class="mettingRoom" data-locationName="{{item.meetingRoomFullName}}" data-locationid="{{item.meetingRoomId}}" onTap="selectMeetingRoom"> <view class="mettingRoom" data-locationName="{{item.meetingRoomFullName ? item.meetingRoomFullName : item.name}}" data-locationid="{{item.meetingRoomId}}" onTap="selectMeetingRoom">
<view class="icon iconfont iconhuiyishi2"> <view class="icon iconfont iconicon_room iconhuiyishi2">
</view> </view>
<view class="mettingRoomRight"> <view class="mettingRoomRight">
<view class="name"> <view class="name">
{{item.meetingRoomFullName}} {{item.meetingRoomFullName ? item.meetingRoomFullName : item.name}}"
</view> </view>
<view class="mettingRoomDetail"> <view class="mettingRoomDetail">
<view class="num"> <view class="num">
<text class="numIcon iconfont iconcanhuiren"></text> <text class="numIcon iconfont iconcanhuiren iconicon_attender"></text>
<text>{{item.capacityNum}}</text> <text>{{item.capacityNum}}</text>
</view> </view>
<view class="equipment" a:if="{{item.equipFacilityLabelList}}"> <view class="equipment" a:if="{{item.equipFacilityLabelList}}">
<text class="iconfont iconshebei" style="margin-right: 9rpx;"></text> <text class="iconfont iconshebei iconicon_attender" style="margin-right: 9rpx;"></text>
<text a:for="{{item.equipFacilityLabelList}}" a:for-item="equipmentList">{{equipmentList.name}}</text> <text a:for="{{item.equipFacilityLabelList}}" a:for-item="equipmentList">{{equipmentList.name}}</text>
</view> </view>
</view> </view>
......
...@@ -123,7 +123,7 @@ create.Page({ ...@@ -123,7 +123,7 @@ create.Page({
this.modifySchedule(data, event.currentTarget.dataset.item.id).then(res => { this.modifySchedule(data, event.currentTarget.dataset.item.id).then(res => {
this.editLocationS() this.editLocationS()
}).catch(err => { }).catch(err => {
this.editLocationE() this.editLocationE(true)
}) })
} else { } else {
this.editLocationE(false) this.editLocationE(false)
......
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