Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
schedule
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
fengzhaoyu
schedule
Commits
84c1fb33
Commit
84c1fb33
authored
Apr 14, 2020
by
fengzhaoyu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
保存
parent
278ffddb
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
458 additions
and
590 deletions
+458
-590
app.js
app.js
+19
-1
createMeeting.acss
pages/createMeeting/createMeeting.acss
+4
-3
createMeeting.axml
pages/createMeeting/createMeeting.axml
+2
-2
index.acss
pages/index/index.acss
+18
-8
index.axml
pages/index/index.axml
+18
-13
index.js
pages/index/index.js
+4
-2
meetingDetail.acss
pages/meetingDetail/meetingDetail.acss
+11
-3
meetingDetail.axml
pages/meetingDetail/meetingDetail.axml
+3
-1
meetingDetail.js
pages/meetingDetail/meetingDetail.js
+112
-25
outLookContact.acss
pages/outLookContact/outLookContact.acss
+0
-1
outLookContact.js
pages/outLookContact/outLookContact.js
+65
-202
participantsDetail.acss
pages/participantsDetail/participantsDetail.acss
+24
-0
participantsDetail.axml
pages/participantsDetail/participantsDetail.axml
+8
-6
participantsDetail.js
pages/participantsDetail/participantsDetail.js
+142
-260
store.js
pages/participantsDetail/store.js
+8
-0
place.js
pages/place/place.js
+16
-63
exampleStore.js
stores/exampleStore.js
+4
-0
No files found.
app.js
View file @
84c1fb33
...
...
@@ -4,7 +4,7 @@ setGlobalStore(exampleStore);
App
({
onLaunch
(
options
)
{
this
.
checkFullScren
()
// 第一次打开
// options.query == {number:1}
// console.info('App onLaunch');
...
...
@@ -13,7 +13,25 @@ App({
// 从后台被 scheme 重新打开
// options.query == {number:1}
},
// 检测全面屏
checkFullScren
()
{
dd
.
getSystemInfo
({
success
:
(
res
)
=>
{
// dd.alert({
// content: res.model.indexOf('iPhone 11') != -1
// })
if
(
true
)
{
// dd.alert({
// content: res.model.indexOf('iPhone 11') != -1
// })
this
.
globalData
.
isIPX
=
true
}
}
})
},
globalData
:
{
isIPX
:
false
,
loading
:
false
,
token
:
''
,
avatar
:
''
,
...
...
pages/createMeeting/createMeeting.acss
View file @
84c1fb33
...
...
@@ -54,7 +54,8 @@ input {
}
.remark .placeholder {
font-size: 28rpx
font-size: 28rpx;
font-family: PingFangSC-Regular;
}
.place, .time, .participator, .meetingWay {
...
...
@@ -88,13 +89,13 @@ input {
justify-content: space-between;
}
.meetingWay .close, .place .close, .participator .icon
icon_open
{
.meetingWay .close, .place .close, .participator .icon
right
{
color: #9599A2;
}
.close {
font-size: 32rpx;
color: rgba(10, 10, 10, 0.
4
)
color: rgba(10, 10, 10, 0.
3
)
}
.repeatModal {
...
...
pages/createMeeting/createMeeting.axml
View file @
84c1fb33
...
...
@@ -7,7 +7,7 @@
</view>
</view>
<view class="remark" a:if="{{isShowRemark}}">
<input placeholder-class="placeholder" placeholder="请添加描述" class="text" onInput="onInput" data-type="remark" value="{{remark}}" focus="{{
fals
e}}" />
<input placeholder-class="placeholder" placeholder="请添加描述" class="text" onInput="onInput" data-type="remark" value="{{remark}}" focus="{{
tru
e}}" />
</view>
</view>
<!-- $data.$data.roomId locationName 地点 -->
...
...
@@ -68,7 +68,7 @@
{{conflictPeople.length}}人会议安排冲突
</view>
</view>
<view class="icon
icon_open
iconfont icon" style=" vertical-align: middle" catchTap="nextPage" data-nextPage="participantsDetail"></view>
<view class="icon
right
iconfont icon" style=" vertical-align: middle" catchTap="nextPage" data-nextPage="participantsDetail"></view>
</view>
<view class="participatorListBottom" catchTap="nextPage" data-nextPage="participantsDetail">
<view class="people" a:for="{{$data.participatorList.length > 10 ? [...$data.participatorList].splice(0, 11) : $data.participatorList}}">
...
...
pages/index/index.acss
View file @
84c1fb33
.tabBar {
height: 120rpx;
width: 100%;
background: url('../../assests/tabBarBg.png');
background-size: cover;
display: flex;
position: fixed;
left: 0;
bottom: 0;
padding-top: 4rpx;
/* box-shadow: 0 -4rpx 8rpx 0 rgba(0,0,0,0.04);
border-radius: 0 64rpx 0 64rpx 0 0 0; */
}
.tabBar>view {
.tabBarContaint {
display: flex;
height: 120rpx;
background: url('../../assests/tabBarBg.png');
background-size: cover;
padding-top: 4rpx;
}
.tabBarContaint>view {
flex: 1;
font-size: 28rpx;
}
.tabBar>view:nth-of-type(1) {
.tabBar
Containt
>view:nth-of-type(1) {
text-align: left;
}
.tabBar>view:nth-of-type(2) {
.ta
tabBarContaint
bBar>view:nth-of-type(2) {
text-align: right;
}
...
...
@@ -99,4 +102,10 @@
.tabBarView .iconicon_days {
color: #FFFFFF !important;
}
.tabBarBottom {
height: 15rpx;
width: 100%;
background: #fff;
}
\ No newline at end of file
pages/index/index.axml
View file @
84c1fb33
...
...
@@ -7,22 +7,26 @@
</my-schedule>
</view>
<view class="tabBar">
<view onTap="changeTabBar" data-tabbar='0'>
<view class="tabBarView tabBarView1 {{$data.tabBarIndex === '0' ? 'ischooseTabBar' : ''}}">
<view class="iconfont iconicon_dynamic"></view>
<view>动态</view>
<view class="tabBarContaint">
<view onTap="changeTabBar" data-tabbar='0'>
<view class="tabBarView tabBarView1 {{$data.tabBarIndex === '0' ? 'ischooseTabBar' : ''}}">
<view class="iconfont iconicon_dynamic"></view>
<view>动态</view>
</view>
</view>
</view>
<view onTap="changeTabBar" data-tabbar='1'>
<view class="tabBarView tabBarView2 {{$data.tabBarIndex === '1' ? 'ischooseTabBar' : ''}}">
<view class="iconfont iconicon_Calendarbox1">
<text class="iconfont iconicon_days iconicon_days{{iconDay}}">
</text>
<view onTap="changeTabBar" data-tabbar='1'>
<view class="tabBarView tabBarView2 {{$data.tabBarIndex === '1' ? 'ischooseTabBar' : ''}}">
<view class="iconfont iconicon_Calendarbox1">
<text class="iconfont iconicon_days iconicon_days{{iconDay}}">
</text>
</view>
<view>日程</view>
</view>
<view>日程</view>
</view>
<view class="createMeeting" onTap="createMeeting">
<text class="iconfont iconicon_add1"></text>
</view>
</view>
<view class="createMeeting" onTap="createMeeting">
<text class="iconfont iconicon_add1"></text>
<view class="tabBarBottom">
</view>
</view>
\ No newline at end of file
pages/index/index.js
View file @
84c1fb33
...
...
@@ -4,12 +4,14 @@ create.Page({
data
:
{
$data
:
null
,
iconDay
:
""
,
isLocation
:
false
isLocation
:
false
,
isIPX
:
false
,
},
onLoad
()
{
let
iconDay
=
new
Date
().
getDate
();
this
.
setData
({
iconDay
:
iconDay
iconDay
:
iconDay
,
isIPX
:
getApp
().
globalData
.
isIPX
});
dd
.
setNavigationBar
({
title
:
"动态"
...
...
pages/meetingDetail/meetingDetail.acss
View file @
84c1fb33
...
...
@@ -194,7 +194,8 @@ input {
}
.remark .placeholder {
font-size: 28rpx
font-size: 28rpx;
font-family: PingFangSC-Regular;
}
.meetingWay {
...
...
@@ -232,13 +233,13 @@ input {
justify-content: space-between;
}
.meetingWay .close, .place .close, .participator .icon
icon_open
{
.meetingWay .close, .place .close, .participator .icon
right
{
color: #9599A2;
}
.close {
font-size: 32rpx;
color: rgba(10, 10, 10, 0.
4
)
color: rgba(10, 10, 10, 0.
3
)
}
.repeatModal {
...
...
@@ -583,4 +584,10 @@ input {
.participateText {
vertical-align: middle
}
.tabBarBottom {
height: 20rpx;
background: #fff;
width: 100%;
}
\ No newline at end of file
pages/meetingDetail/meetingDetail.axml
View file @
84c1fb33
...
...
@@ -98,7 +98,7 @@
{{conflictPeople.length}}人会议安排冲突
</view>
</view>
<view class="icon
icon_open
iconfont icon" style=" vertical-align: middle" catchTap="nextPage" data-nextPage="participantsDetail"></view>
<view class="icon
right
iconfont icon" style=" vertical-align: middle" catchTap="nextPage" data-nextPage="participantsDetail"></view>
</view>
<view class="participatorListBottom" catchTap="nextPage" data-nextPage="participantsDetail">
<view class="people" a:for="{{$data.participatorList.length > 10 ? [...$data.participatorList].splice(0, 11) : $data.participatorList}}">
...
...
@@ -193,6 +193,8 @@
<text class="iconfont iconicon_share1"></text>
</view>
</view>
<view class="tabBarBottom">
</view>
</view>
<centerpopup centerPopup="{{centerPopup.showCenterPopup}}" centerPopupList="{{centerPopup.centerPopupList}}" onSelectSend="onSelectSend"></centerpopup>
<toast showToast="{{conToastData.showToast}}" title="{{conToastData.title}}" onToastHidden="onToastHidden"></toast>
...
...
pages/meetingDetail/meetingDetail.js
View file @
84c1fb33
import
create
from
'dd-store'
;
// import exampleStore from '/stores/exampleStore'
import
pageStore
from
'./store'
;
import
{
getMeetingRoomAffairs
,
createMeetingTask
,
deleteMeetingTask
,
updateMeetingTask
,
uploadPermissions
}
from
'../../api/request'
;
import
{
isParticipate
,
deleteSchedule
,
getScheduleDetail
,
getUserScheduleInTime
,
modifySchedule
}
from
'../../api/request.js'
...
...
@@ -110,7 +109,7 @@ create.Page({
placeholder
:
''
},
onShow
()
{
this
.
conflictPeople
()
//
this.conflictPeople()
setTimeout
(()
=>
{
this
.
update
()
},
100
)
...
...
@@ -121,6 +120,63 @@ create.Page({
'conToastData.title'
:
'保存成功'
,
})
}
if
(
this
.
$store
.
data
.
updateInfo
.
isUpate
)
{
switch
(
this
.
$store
.
data
.
updateInfo
.
updateType
)
{
case
'operate_user'
:
if
(
this
.
$store
.
data
.
participatorList
!==
this
.
$store
.
data
.
originUsers
)
{
if
(
this
.
data
.
repeatable
===
1
)
{
this
.
setData
({
'conSelectPopupData.selectType'
:
'common'
,
'conSelectPopupData.showSelectPopup'
:
true
,
editType
:
this
.
$store
.
data
.
updateInfo
.
updateType
})
}
else
{
this
.
isChange
(
this
.
$store
.
data
.
updateInfo
.
updateType
,
'only'
)
}
}
else
{
this
.
reSetUsers
()
this
.
$store
.
data
.
updateInfo
=
{
isUpate
:
false
,
updateType
:
''
}
}
break
;
case
'modify_location'
:
if
((
this
.
$store
.
data
.
locationName
!==
this
.
$store
.
data
.
originalData
.
locationName
)
||
(
this
.
$store
.
data
.
roomId
!==
this
.
$store
.
data
.
originalData
.
meetingRoomId
))
{
if
(
this
.
data
.
repeatable
===
1
)
{
this
.
setData
({
'conSelectPopupData.selectType'
:
'common'
,
'conSelectPopupData.showSelectPopup'
:
true
,
editType
:
this
.
$store
.
data
.
updateInfo
.
updateType
})
}
else
{
this
.
isChange
(
this
.
$store
.
data
.
updateInfo
.
updateType
,
'only'
)
}
}
else
{
this
.
reSetLocation
()
this
.
$store
.
data
.
updateInfo
=
{
isUpate
:
false
,
updateType
:
''
}
}
break
;
}
}
else
{
// if (this.$store.data.updateInfo.updateType === 'operate_user') {
// this.reSetUsers()
// } else if (this.$store.data.updateInfo.updateType === 'modify_location') {
// this.reSetTime()
// this.reSetLocation()
// }
// this.$store.data.updateInfo = {
// isUpate: false,
// updateType: ''
// }
}
},
onLoad
(
event
)
{
this
.
reset
()
...
...
@@ -154,12 +210,14 @@ create.Page({
if
(
res
.
data
.
code
===
0
)
{
let
participatorList
=
[]
let
originUsers
=
[]
let
originUsersId
=
[]
let
participatorUserId
=
[]
let
repeatListMap
=
new
Map
()
for
(
let
value
of
res
.
data
.
data
.
userList
)
{
if
(
value
.
participator
)
{
participatorList
.
push
(
value
.
participator
)
participatorUserId
.
push
(
value
.
participator
.
userId
)
originUsersId
.
push
(
value
.
participator
.
userId
)
originUsers
.
push
(
value
.
participator
)
if
(
value
.
userId
===
getApp
().
globalData
.
userid
)
{
this
.
setData
({
...
...
@@ -194,14 +252,14 @@ create.Page({
})
}
this
.
$store
.
data
.
originalData
=
res
.
data
.
data
this
.
$store
.
data
.
originUsers
=
participatorList
this
.
$store
.
data
.
originUsers
=
originUsers
this
.
$store
.
data
.
locationName
=
res
.
data
.
data
.
location
.
locationName
this
.
$store
.
data
.
roomId
=
res
.
data
.
data
.
meetingRoomId
<
0
?
''
:
res
.
data
.
data
.
meetingRoomId
this
.
$store
.
data
.
startTime
=
res
.
data
.
data
.
startTime
.
replace
(
/-/g
,
"/"
)
this
.
$store
.
data
.
endTime
=
res
.
data
.
data
.
endTime
.
replace
(
/-/g
,
"/"
)
this
.
$store
.
data
.
participatorList
=
participatorList
this
.
$store
.
data
.
participatorUserId
=
participatorUserId
this
.
$store
.
data
.
originUsersId
=
participatorUser
Id
this
.
$store
.
data
.
originUsersId
=
originUsers
Id
this
.
update
()
this
.
conflictPeople
()
this
.
store
.
data
.
scheduleId
=
res
.
data
.
data
.
id
;
...
...
@@ -273,6 +331,10 @@ create.Page({
this
.
$store
.
data
.
participatorList
=
[]
this
.
$store
.
data
.
participatorUserId
=
[]
this
.
$store
.
data
.
locationName
=
''
this
.
$store
.
data
.
updateInfo
=
{
updateType
:
''
,
isUpate
:
false
}
this
.
$store
.
data
.
startTime
=
this
.
getTimes
()
this
.
$store
.
data
.
endTime
=
this
.
getTimes
(
new
Date
(
this
.
getTimes
()).
setMinutes
(
new
Date
(
this
.
$store
.
data
.
startTime
).
getMinutes
()
+
120
))
this
.
update
()
...
...
@@ -283,9 +345,13 @@ create.Page({
nextPage
(
event
)
{
switch
(
event
.
target
.
dataset
.
nextPage
)
{
case
'location'
:
this
.
$store
.
data
.
updateInfo
.
updateType
=
'modify_location'
this
.
update
()
dd
.
navigateTo
({
url
:
`./../place/place?scheduleItem=
${
JSON
.
stringify
(
this
.
data
.
scheduleItem
)}
&repeatable=
${
this
.
data
.
repeatable
}
`
})
break
case
'participantsDetail'
:
this
.
$store
.
data
.
updateInfo
.
updateType
=
'operate_user'
this
.
update
()
dd
.
navigateTo
({
url
:
`./../participantsDetail/participantsDetail?scheduleItem=
${
JSON
.
stringify
(
this
.
data
.
scheduleItem
)}
`
})
break
}
...
...
@@ -498,9 +564,7 @@ create.Page({
}
else
{
_that
.
$store
.
data
.
originUsers
.
forEach
((
item
,
index
)
=>
{
participatorList
.
push
(
item
)
if
(
item
.
platform
===
'dingtalk'
)
{
participatorUserId
.
push
(
item
.
userId
)
}
participatorUserId
.
push
(
item
.
userId
)
})
res
.
users
.
forEach
((
item
,
index
)
=>
{
participatorList
.
push
({
userId
:
item
.
userId
,
username
:
item
.
name
,
headUrl
:
item
.
avatar
,
platform
:
'dingtalk'
})
...
...
@@ -628,6 +692,7 @@ create.Page({
for
(
let
value
of
this
.
$store
.
data
.
participatorList
)
{
userIds
.
push
(
value
.
userId
)
}
let
data
=
{
startTime
:
this
.
$store
.
data
.
startTime
.
replace
(
/
\/
/g
,
"-"
),
endTime
:
this
.
$store
.
data
.
endTime
.
replace
(
/
\/
/g
,
"-"
),
...
...
@@ -867,23 +932,34 @@ create.Page({
})
break
case
'operate_user'
:
let
addUserList
=
this
.
arrayPoor
(
this
.
$store
.
data
.
originUsers
,
this
.
$store
.
data
.
participatorList
).
addUserList
let
deleteUserList
=
this
.
arrayPoor
(
this
.
$store
.
data
.
originUsers
,
this
.
$store
.
data
.
participatorList
).
deleteUserList
let
dataUser
=
{
addUserList
:
addUserList
,
deleteUserList
:
deleteUserList
,
modifyModel
:
modifyModel
,
modifyContent
:
'operate_user'
if
(
this
.
$store
.
data
.
originUsers
!=
this
.
$store
.
data
.
participatorList
)
{
let
addUserList
=
this
.
arrayPoor
(
this
.
$store
.
data
.
originUsers
,
this
.
$store
.
data
.
participatorList
).
addUserList
let
deleteUserList
=
this
.
arrayPoor
(
this
.
$store
.
data
.
originUsers
,
this
.
$store
.
data
.
participatorList
).
deleteUserList
let
dataUser
=
{
addUserList
:
addUserList
,
deleteUserList
:
deleteUserList
,
modifyModel
:
modifyModel
,
modifyContent
:
'operate_user'
}
this
.
modifySchedule
(
dataUser
,
needNotice
).
catch
(
err
=>
{
this
.
$store
.
data
.
participatorList
=
this
.
$store
.
data
.
originUsers
this
.
$store
.
data
.
participatorUserId
=
this
.
$store
.
data
.
originUsersId
this
.
$store
.
data
.
updateInfo
=
{
updateType
:
''
,
isUpate
:
false
}
this
.
update
()
}).
then
(
res
=>
{
this
.
$store
.
data
.
originUsers
=
this
.
$store
.
data
.
participatorList
this
.
$store
.
data
.
originUsersId
=
this
.
$store
.
data
.
participatorUserId
this
.
$store
.
data
.
updateInfo
=
{
updateType
:
''
,
isUpate
:
false
}
this
.
update
()
})
}
this
.
modifySchedule
(
dataUser
,
needNotice
).
catch
(
err
=>
{
this
.
$store
.
data
.
participatorList
=
this
.
$store
.
data
.
originUsers
this
.
$store
.
data
.
participatorUserId
=
this
.
$store
.
data
.
originUsersId
this
.
update
()
}).
then
(
res
=>
{
this
.
$store
.
data
.
originUsers
=
this
.
$store
.
data
.
participatorList
this
.
$store
.
data
.
originUsersId
=
this
.
$store
.
data
.
participatorUserId
this
.
update
()
})
break
case
'repeat'
:
let
repeatListMap
=
new
Map
()
...
...
@@ -964,7 +1040,7 @@ create.Page({
latitude
:
'-999'
,
locationName
:
this
.
$store
.
data
.
locationName
},
meetingRoomId
:
this
.
$store
.
data
.
meetingR
oomId
meetingRoomId
:
this
.
$store
.
data
.
r
oomId
}
this
.
modifySchedule
(
dataLocation
,
needNotice
).
catch
(
err
=>
{
this
.
$store
.
data
.
locationName
=
this
.
$store
.
data
.
originalData
.
location
.
locationName
...
...
@@ -978,6 +1054,17 @@ create.Page({
}
this
.
$store
.
data
.
originalData
.
meetingRoomId
=
this
.
$store
.
data
.
roomId
?
-
1
:
this
.
$store
.
data
.
roomId
this
.
update
()
if
(
this
.
$store
.
data
.
startTime
!=
this
.
$store
.
data
.
originalData
.
startTime
.
replace
(
/-/g
,
'/'
)
||
this
.
$store
.
data
.
endTime
!=
this
.
$store
.
data
.
originalData
.
endTime
.
replace
(
/-/g
,
'/'
))
{
let
dat2Time1
=
{
modifyModel
:
modifyModel
,
startTime
:
this
.
$store
.
data
.
startTime
.
replace
(
/
\/
/g
,
"-"
),
endTime
:
this
.
$store
.
data
.
endTime
.
replace
(
/
\/
/g
,
"-"
),
modifyContent
:
'modify_time'
}
this
.
isChange
(
dat2Time1
)
}
})
break
case
'modify_time'
:
...
...
@@ -1485,6 +1572,6 @@ create.Page({
desc
:
'明我会议室描述'
,
path
:
'pages/index/index'
};
}
}
,
});
pages/outLookContact/outLookContact.acss
View file @
84c1fb33
...
...
@@ -76,7 +76,6 @@ input {
right: 0;
padding: 32rpx;
background: #fff;
box-shadow: 0 -2px 4px 0 rgba(0, 0, 0, 0.04);
bottom: 0;
}
...
...
pages/outLookContact/outLookContact.js
View file @
84c1fb33
import
{
getUserScheduleInTime
,
modifySchedule
}
from
'../../api/request.js'
import
{
getUserScheduleInTime
}
from
'../../api/request.js'
import
{
throttle
}
from
'./../../utils/utils.js'
import
create
from
'dd-store'
import
{
observer
}
from
'/utils/observer.js'
// 传递给组件toast的所有数据
const
conToastData
=
{
showToast
:
false
,
title
:
'保存成功'
}
create
.
Page
({
data
:
{
$data
:
null
,
userList
:
[],
userListId
:
[],
outlookContact
:
[],
value
:
''
,
conflictPeople
:
[],
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
:
'保存成功'
},
currentPeople
:
''
conToastData
:
conToastData
,
currentPeople
:
''
,
value
:
''
,
},
onLoad
(
event
)
{
const
_that
=
this
if
(
event
.
scheduleItem
)
{
let
scheduleItem
=
JSON
.
parse
(
event
.
scheduleItem
)
this
.
setData
({
scheduleItem
:
scheduleItem
})
}
let
outlookContact
=
[]
for
(
let
value
of
this
.
$store
.
data
.
participatorList
)
{
if
(
value
.
platform
===
'outlook'
)
{
...
...
@@ -61,14 +38,7 @@ create.Page({
outlookContact
:
outlookContact
,
currentPeople
:
getApp
().
globalData
.
userid
})
observer
.
register
({
notice
(
scheduleItem
)
{
_that
.
setData
({
'scheduleItem.scheduleTemplateId'
:
scheduleItem
})
console
.
log
(
scheduleItem
);
}
})
this
.
conflictPeople
()
},
onShow
()
{
...
...
@@ -82,27 +52,28 @@ create.Page({
// 添加email
addEmail
()
{
let
reg
=
/^
\w
+
((
.
\w
+
)
|
(
-
\w
+
))
@
[
A-Za-z0-9
]
+
((
.|-
)[
A-Za-z0-9
]
+
)
.
[
A-Za-z0-9
]
+$/
if
(
reg
.
test
(
this
.
data
.
value
))
{
let
outlookContact
=
this
.
data
.
outlookContact
outlookContact
.
push
({
userId
:
this
.
data
.
value
,
username
:
this
.
data
.
value
,
headUrl
:
''
,
platform
:
'outlook'
})
outlookContact
=
this
.
setArrary
(
outlookContact
)
this
.
setData
({
value
:
''
,
outlookContact
:
outlookContact
})
this
.
conflictPeople
()
}
else
if
(
!!
this
.
data
.
value
)
{
}
else
{
dd
.
alert
({
content
:
'请输入正确的邮箱格式'
,
buttonText
:
'确定'
})
if
(
!!
this
.
data
.
value
)
{
if
(
reg
.
test
(
this
.
data
.
value
))
{
let
outlookContact
=
this
.
data
.
outlookContact
outlookContact
.
push
({
userId
:
this
.
data
.
value
,
username
:
this
.
data
.
value
,
headUrl
:
''
,
platform
:
'outlook'
})
outlookContact
=
this
.
setArrary
(
outlookContact
)
this
.
setData
({
value
:
''
,
outlookContact
:
outlookContact
})
this
.
conflictPeople
()
}
else
{
dd
.
alert
({
content
:
'请输入正确的邮箱格式'
,
buttonText
:
'确定'
})
}
}
},
// 关闭
...
...
@@ -128,50 +99,37 @@ create.Page({
}
return
Object
.
values
(
containt
)
},
// 创建的时候保存
createSave
()
{
dd
.
navigateBack
({
delta
:
1
})
},
// 编辑的时候保存
editSave
()
{
this
.
$store
.
data
.
updateInfo
.
isUpate
=
true
this
.
$store
.
data
.
updateInfo
.
updateType
=
'operate_user'
this
.
update
()
dd
.
navigateBack
({
delta
:
1
})
},
// 保存
save
()
{
// concat 拼接后生成新的数组 push 返回的是长度
let
participatorList
=
[]
let
participatorListId
=
[]
for
(
let
value
of
this
.
$store
.
data
.
participatorList
)
{
if
(
value
.
platform
!==
'outlook'
)
{
participatorList
.
push
(
value
)
participatorListId
.
push
(
value
.
userId
)
}
this
.
$store
.
data
.
participatorList
.
push
({
userId
:
getApp
().
globalData
.
userid
,
username
:
getApp
().
globalData
.
name
,
headUrl
:
getApp
().
globalData
.
avatar
,
platform
:
'dingtalk'
})
this
.
$store
.
data
.
participatorUserId
.
push
(
getApp
().
globalData
.
userid
)
for
(
let
value
of
this
.
data
.
outlookContact
)
{
this
.
$store
.
data
.
participatorList
.
push
(
value
)
this
.
$store
.
data
.
participatorUserId
.
push
(
value
.
userId
)
}
participatorListId
.
push
(
getApp
().
globalData
.
userid
)
participatorList
.
push
({
userId
:
getApp
().
globalData
.
userid
,
username
:
getApp
().
globalData
.
name
,
headUrl
:
getApp
().
globalData
.
avatar
,
platform
:
'dingtalk'
})
participatorList
.
push
(...
this
.
data
.
outlookContact
)
participatorList
=
this
.
setArrary
(
participatorList
)
this
.
data
.
outlookContact
.
forEach
(
item
=>
{
participatorListId
.
push
(
item
.
userId
)
})
this
.
setData
({
userList
:
participatorList
,
userListId
:
[...
new
Set
(
participatorListId
)]
})
this
.
$store
.
data
.
participatorList
=
this
.
setArrary
(
this
.
$store
.
data
.
participatorList
)
this
.
$store
.
data
.
participatorUserId
=
[...
new
Set
(
this
.
$store
.
data
.
participatorUserId
)]
this
.
update
()
if
(
!!
this
.
data
.
scheduleItem
)
{
if
(
this
.
$store
.
data
.
originalData
.
repeatable
===
1
)
{
this
.
setData
({
'conSelectPopupData.showSelectPopup'
:
true
})
}
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
)
}
this
.
editSave
()
}
else
{
this
.
$store
.
data
.
participatorList
=
participatorList
this
.
update
()
dd
.
navigateBack
({
delta
:
1
})
this
.
createSave
()
}
},
// 选择弹窗
...
...
@@ -182,86 +140,12 @@ create.Page({
'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
.
userList
).
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
()
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
)
})
})
},
// 数组取差值 原先的数组与现在的比较 增加与减少
arrayPoor
(
origin
,
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
)
}
}
return
{
addUserList
:
add
,
deleteUserList
:
del
}
},
// 会议冲突
conflictPeople
()
{
let
userIds
=
[]
...
...
@@ -307,31 +191,10 @@ create.Page({
})
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
()
},
}
});
pages/participantsDetail/participantsDetail.acss
View file @
84c1fb33
...
...
@@ -85,4 +85,27 @@ page {
.peopleList:last-of-type .info {
border: none
}
.save {
position: fixed;
bottom: 0;
left: 0;
right: 0;
padding: 32rpx;
background: #fff;
position: fixed;
bottom: 0;
}
.button {
font-family: PingFangSC-Regular;
width: 686rpx;
height: 72rpx;
background: #EA0C28;
border-radius: 48rpx;
font-size: 32rpx;
color: #FFFFFF;
text-align: center;
line-height: 72rpx;
}
\ No newline at end of file
pages/participantsDetail/participantsDetail.axml
View file @
84c1fb33
...
...
@@ -8,7 +8,7 @@
</view>
<view class="info">
<text class="name">{{item.username}}</text>
<text a:if="{{(!scheduleItem || currentPeople === $data.originalData.organizer) ? !(item.userId == currentPeople) :
false
}}" class="close iconicon_close iconfont" data-userId="{{item.userId}}" onTap="delParticipants"></text>
<text a:if="{{(!scheduleItem || currentPeople === $data.originalData.organizer) ? !(item.userId == currentPeople) :
!($data.originUsersId.includes(item.userId))
}}" class="close iconicon_close iconfont" data-userId="{{item.userId}}" onTap="delParticipants"></text>
</view>
</view>
</view>
...
...
@@ -16,10 +16,13 @@
<text class="iconfont iconicon_add "></text>
<text>添加参会人</text>
</view>
<popup title="{{popupTitle}}" show="{{popupShow}}" mask="true" onClose="closePopup">
<!-- 保存 -->
<view class="save" onTap="saveInfo" a:if="{{scheduleItem}}">
<view class="button">
完成
</view>
</view>
<popup title="{{comPopupData.title}}" show="{{comPopupData.popupShow}}" mask="true" onClose="closePopup">
<hlist dataComList="{{comHListData.contactData}}" onSelectComHList="selectComHList"></hlist>
</popup>
<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>
\ No newline at end of file
pages/participantsDetail/participantsDetail.js
View file @
84c1fb33
import
create
from
'dd-store'
import
pageStore
from
'./store'
;
import
{
modifySchedule
,
addSchedule
,
getUserScheduleInTime
,
getHomeUserSchedule
}
from
'../../api/request.js'
import
{
observer
}
from
'/utils/observer.js'
// 传给组件 hList 水平排列 所有数据 comHListData
const
comHListData
=
{
contactData
:
[
{
id
:
'dd'
,
text
:
'钉钉联系人'
,
imageUrl
:
'../../assests/dingContact.png'
},
{
id
:
'outlook'
,
text
:
'手动添加邮箱'
,
imageUrl
:
'../../assests/emailContact.png'
}
]
}
// 传给组件 comPopup 的数据
const
comPopupData
=
{
popupTitle
:
'添加参会人'
,
popupShow
:
false
}
create
.
Page
({
data
:
{
store
:
pageStore
,
$data
:
null
,
scheduleItem
:
''
,
conflictPeople
:
[],
// 传给组件 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
:
'保存成功'
},
currentPeople
:
''
// 登陆当前账户的人 权限
currentPeople
:
''
,
comHListData
:
comHListData
,
comPopupData
:
comPopupData
,
isClick
:
false
},
onLoad
(
event
)
{
const
_that
=
this
if
(
event
.
scheduleItem
)
{
let
scheduleItem
=
JSON
.
parse
(
event
.
scheduleItem
)
this
.
setData
({
scheduleItem
:
scheduleItem
,
scheduleItem
:
scheduleItem
})
// for (let value of this.$store.data.participatorList) {
// this.store.data.contactPeople.push(value)
// this.store.data.contactPeopleId.push(value.userId)
// this.update()
// }
}
this
.
setData
({
currentPeople
:
getApp
().
globalData
.
userid
})
dd
.
setNavigationBar
({
title
:
`参会人(
${
this
.
$store
.
data
.
participatorList
.
length
}
人)`
})
observer
.
register
({
notice
(
scheduleItem
)
{
_that
.
setData
({
'scheduleItem.scheduleTemplateId'
:
scheduleItem
})
console
.
log
(
scheduleItem
);
}
})
this
.
conflictPeople
()
},
onShow
()
{
dd
.
setNavigationBar
({
title
:
`参会人(
${
this
.
$store
.
data
.
participatorList
.
length
}
人)`
})
},
// 关闭popup 点击mark
closePopup
()
{
this
.
setData
({
popupShow
:
false
,
})
},
// 出现popup
showPopup
()
{
this
.
setData
({
popupShow
:
true
})
},
// 选择完水平 HList 的回调
selectComHList
(
event
)
{
switch
(
event
.
currentTarget
.
dataset
.
item
.
id
)
{
case
0
:
this
.
addParticipator
()
this
.
setData
({
popupShow
:
false
})
break
;
case
1
:
this
.
setData
({
popupShow
:
false
})
dd
.
navigateTo
({
url
:
`./../outLookContact/outLookContact?scheduleItem=
${
JSON
.
stringify
(
this
.
data
.
scheduleItem
)}
`
})
break
;
}
},
// 保存信息
saveInfo
()
{
dd
.
navigateBack
({
delta
:
1
})
},
// toast 消失之后的回调
onToastHidden
()
{
this
.
setData
({
'conToastData.showToast'
:
false
})
this
.
conflictPeople
()
},
// 添加参会人
// 添加参会人 钉钉选人
addParticipator
()
{
const
_that
=
this
let
require
=
[]
...
...
@@ -121,14 +67,16 @@ create.Page({
outLookConcat
.
push
(
participator
)
}
}
if
(
!
_that
.
data
.
scheduleItem
||
this
.
data
.
organizer
===
getApp
().
globalData
.
userid
)
{
select
=
this
.
$store
.
data
.
participatorUserId
if
(
!
_that
.
data
.
scheduleItem
||
this
.
$store
.
data
.
originalData
.
organizer
===
getApp
().
globalData
.
userid
)
{
console
.
log
(
_that
.
$store
.
data
.
participatorUserId
)
select
=
_that
.
$store
.
data
.
participatorUserId
require
=
[
getApp
().
globalData
.
userid
]
}
else
{
select
=
[]
select
=
_that
.
$store
.
data
.
participatorUserId
require
=
[...
this
.
$store
.
data
.
originUsersId
]
}
select
=
_that
.
selectedelRequired
(
require
,
select
).
pickedUsers
select
=
_that
.
selectedelRequired
([...
require
],
[...
select
]).
pickedUsers
dd
.
complexChoose
({
title
:
"选择参会人"
,
//标题
multiple
:
true
,
//是否多选
...
...
@@ -136,135 +84,118 @@ create.Page({
requiredUsers
:
require
,
//必选用户(不可取消选中状态)
responseUserOnly
:
true
,
//返回人,或者返回人和部门
success
:
function
(
res
)
{
let
participatorList
=
[]
let
participatorUserId
=
[]
if
(
!
_that
.
data
.
scheduleItem
||
_that
.
data
.
organizer
===
getApp
().
globalData
.
userid
)
{
participatorList
.
push
({
userId
:
getApp
().
globalData
.
userid
,
username
:
getApp
().
globalData
.
name
,
headUrl
:
getApp
().
globalData
.
avatar
,
platform
:
'dingtalk'
})
participatorUserId
.
push
(
getApp
().
globalData
.
userid
)
let
people
=
[]
let
peopleId
=
[]
if
(
!
_that
.
data
.
scheduleItem
||
_that
.
$store
.
data
.
originalData
.
organizer
===
getApp
().
globalData
.
userid
)
{
people
.
push
({
userId
:
getApp
().
globalData
.
userid
,
username
:
getApp
().
globalData
.
name
,
headUrl
:
getApp
().
globalData
.
avatar
,
platform
:
'dingtalk'
})
res
.
users
.
forEach
((
item
,
index
)
=>
{
participatorList
.
push
({
userId
:
item
.
userId
,
username
:
item
.
name
,
headUrl
:
item
.
avatar
,
platform
:
'dingtalk'
})
participatorUserId
.
push
(
item
.
userId
)
people
.
push
({
userId
:
item
.
userId
,
username
:
item
.
name
,
headUrl
:
item
.
avatar
,
platform
:
'dingtalk'
})
})
}
else
{
_that
.
$store
.
data
.
originUsers
.
forEach
((
item
,
index
)
=>
{
participatorList
.
push
(
item
)
if
(
item
.
platform
===
'dingtalk'
)
{
participatorUserId
.
push
(
item
.
userId
)
}
people
.
push
(
item
)
})
res
.
users
.
forEach
((
item
,
index
)
=>
{
participatorList
.
push
({
userId
:
item
.
userId
,
username
:
item
.
name
,
headUrl
:
item
.
avatar
,
platform
:
'dingtalk'
})
participatorUserId
.
push
(
item
.
userId
)
people
.
push
({
userId
:
item
.
userId
,
username
:
item
.
name
,
headUrl
:
item
.
avatar
,
platform
:
'dingtalk'
})
})
}
participatorList
=
_that
.
setArrary
(
participatorList
.
concat
(
outLookConcat
))
participatorUserId
=
[...
new
Set
(
participatorUserId
)]
_that
.
$store
.
data
.
participatorList
=
participatorList
_that
.
$store
.
data
.
participatorUserId
=
participatorUserId
_that
.
update
()
_that
.
conflictPeople
()
if
(
!!
_that
.
data
.
scheduleItem
)
{
if
(
_that
.
$store
.
data
.
originalData
.
repeatable
)
{
_that
.
setData
({
'conSelectPopupData.showSelectPopup'
:
true
})
}
else
{
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
)
}
people
=
_that
.
setArrary
(
people
.
concat
(
outLookConcat
))
for
(
let
value
of
people
)
{
peopleId
.
push
(
value
.
userId
)
}
people
=
_that
.
setArrary
(
people
.
concat
(
outLookConcat
))
_that
.
$store
.
data
.
participatorList
=
people
_that
.
$store
.
data
.
participatorUserId
=
peopleId
_that
.
update
()
},
fail
:
function
(
err
)
{
}
})
},
// 选择弹窗
onSelectPopup
(
event
)
{
this
.
setData
({
'conSelectPopupData.showSelectPopup'
:
false
,
'conSelectPopupData.selectPopupId'
:
event
.
currentTarget
.
dataset
.
item
.
id
,
'centerPopup.showCenterPopup'
:
true
// 删除参会人
delParticipants
(
event
)
{
let
userId
=
event
.
target
.
dataset
.
userId
this
.
$store
.
data
.
participatorList
.
forEach
((
item
,
index
)
=>
{
if
(
userId
===
item
.
userId
)
{
let
people
=
[...
this
.
$store
.
data
.
participatorList
]
people
.
splice
(
index
,
1
)
this
.
$store
.
data
.
participatorList
=
people
this
.
update
()
return
}
})
this
.
$store
.
data
.
participatorUserId
.
forEach
((
item
,
index
)
=>
{
if
(
userId
===
item
)
{
let
peopleId
=
[...
this
.
$store
.
data
.
participatorUserId
]
peopleId
.
splice
(
index
,
1
)
console
.
log
(
peopleId
)
this
.
$store
.
data
.
participatorUserId
=
peopleId
this
.
update
()
return
}
})
this
.
conflictPeople
()
},
//
选择发不发通知
onSelectSend
(
event
)
{
//
编辑时候的保存
editSave
(
)
{
this
.
setData
({
'centerPopup.showCenterPopup'
:
fals
e
isClick
:
tru
e
})
if
(
event
.
currentTarget
.
dataset
.
item
.
id
>
-
1
)
{
let
addUserList
=
this
.
arrayPoor
(
this
.
$store
.
data
.
originUsers
,
this
.
$store
.
data
.
participatorList
).
addUserList
let
deleteUserList
=
this
.
arrayPoor
(
this
.
$store
.
data
.
originUsers
,
this
.
$store
.
data
.
participatorList
).
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
)
if
(
this
.
$store
.
data
.
originUsers
!=
this
.
$store
.
data
.
participatorList
)
{
this
.
$store
.
data
.
updateInfo
.
isUpate
=
true
this
.
$store
.
data
.
updateInfo
.
updateType
=
'operate_user'
this
.
update
()
}
},
// 参会人修改成功
operateUserS
()
{
this
.
$store
.
data
.
indexNeedUpdate
=
true
this
.
$store
.
data
.
originUsers
=
this
.
$store
.
data
.
participatorList
this
.
$store
.
data
.
originUsersId
=
this
.
$store
.
data
.
participatorUserId
this
.
update
()
dd
.
setNavigationBar
({
title
:
`参会人(
${
this
.
$store
.
data
.
participatorList
.
length
}
人)`
dd
.
navigateBack
({
delta
:
1
})
},
// 参会人修改失败
operateUserE
()
{
this
.
$store
.
data
.
participatorList
=
this
.
$store
.
data
.
originUsers
this
.
$store
.
data
.
participatorUserId
=
this
.
$store
.
data
.
originUsersId
this
.
update
()
dd
.
setNavigationBar
({
title
:
`参会人(
${
this
.
$store
.
data
.
participatorList
.
length
}
人)`
// 保存信息
saveInfo
()
{
this
.
editSave
()
},
// 展示弹窗
showPopup
()
{
this
.
setData
({
'comPopupData.popupShow'
:
true
})
},
//
onSelectPopupCancel 点击取消
onSelectPopupCancel
()
{
//
隐藏弹窗
closePopup
()
{
this
.
setData
({
'conSelectPopupData.showSelectPopup'
:
false
,
'centerPopup.showCenterPopup'
:
false
'comPopupData.popupShow'
:
false
})
this
.
operateUserE
(
false
)
},
// 保存编辑
modifySchedule
(
data
,
needNotice
=
0
)
{
let
obj
=
{
needNotice
:
needNotice
,
scheduleId
:
this
.
data
.
scheduleItem
.
id
,
templateId
:
this
.
data
.
scheduleItem
.
scheduleTemplateId
,
planDate
:
this
.
data
.
scheduleItem
.
planDate
// 选择添加人员的方式
selectComHList
(
event
)
{
switch
(
event
.
currentTarget
.
dataset
.
item
.
id
)
{
// 选择dd加人
case
"dd"
:
this
.
setData
({
'comPopupData.popupShow'
:
false
})
this
.
addParticipator
()
break
;
// 选择通过outlook添加邮箱联系人
case
"outlook"
:
this
.
setData
({
'comPopupData.popupShow'
:
false
})
dd
.
navigateTo
({
url
:
`./../outLookContact/outLookContact?scheduleItem=
${
JSON
.
stringify
(
this
.
data
.
scheduleItem
)}
`
})
break
;
}
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
.
operateUserS
()
if
(
this
.
$store
.
data
.
originalData
.
repeatable
===
1
)
{
observer
.
notice
(
res
.
data
.
data
)
}
return
resolve
(
res
)
}
else
{
this
.
operateUserE
()
return
rejects
(
res
)
}
}).
catch
(
err
=>
{
this
.
operateUserE
()
return
rejects
(
err
)
})
},
// 选择弹窗
onSelectPopup
(
event
)
{
this
.
setData
({
'conSelectPopupData.showSelectPopup'
:
false
,
'conSelectPopupData.selectPopupId'
:
event
.
currentTarget
.
dataset
.
item
.
id
,
'centerPopup.showCenterPopup'
:
true
})
},
// 数组取差值 原先的数组与现在的比较 增加与减少
...
...
@@ -294,67 +225,7 @@ create.Page({
deleteUserList
:
del
}
},
// 删除参会人
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
(
event
)
}
},
// 删除操作
delete
(
event
)
{
let
userId
=
event
.
target
.
dataset
.
userId
this
.
$store
.
data
.
participatorList
.
forEach
((
item
,
index
)
=>
{
if
(
userId
===
item
.
userId
)
{
let
participatorList
=
[...
this
.
$store
.
data
.
participatorList
]
participatorList
.
splice
(
index
,
1
)
this
.
$store
.
data
.
participatorList
=
participatorList
this
.
update
()
return
}
})
this
.
$store
.
data
.
participatorUserId
.
forEach
((
item
,
index
)
=>
{
if
(
userId
===
item
)
{
let
participatorUserId
=
[...
this
.
$store
.
data
.
participatorUserId
]
participatorUserId
.
splice
(
index
,
1
)
this
.
$store
.
data
.
participatorUserId
=
participatorUserId
this
.
update
()
return
}
})
this
.
conflictPeople
()
},
// 数组去重
setArrary
(
arr
,
userId
)
{
console
.
log
(
arr
)
...
...
@@ -367,9 +238,10 @@ create.Page({
// 会议冲突
conflictPeople
()
{
let
userIds
=
[]
for
(
let
value
of
this
.
$store
.
data
.
participatorList
)
{
userIds
.
push
(
value
.
userId
)
for
(
let
item
of
this
.
$store
.
data
.
participatorList
)
{
userIds
.
push
(
item
.
userId
)
}
let
data
=
{
startTime
:
this
.
$store
.
data
.
startTime
.
replace
(
/
\/
/g
,
"-"
),
endTime
:
this
.
$store
.
data
.
endTime
.
replace
(
/
\/
/g
,
"-"
),
...
...
@@ -400,7 +272,7 @@ create.Page({
})
},
// 已选用户去中去掉必选用户
selectedelRequired
(
req
,
pic
)
{
selectedelRequired
(
[...
req
],
[...
pic
]
)
{
for
(
let
i
=
0
;
i
<
req
.
length
;
i
++
)
{
for
(
let
m
=
0
;
m
<
pic
.
length
;
m
++
)
{
if
(
req
[
i
]
==
pic
[
m
])
{
...
...
@@ -416,7 +288,17 @@ create.Page({
},
// 页面卸载
onUnload
()
{
// 页面被关闭
observer
.
unregister
()
if
(
this
.
data
.
isClick
===
false
&&
!!
this
.
data
.
scheduleItem
)
{
this
.
reSetPeople
()
}
},
// 重置人
reSetPeople
()
{
this
.
$store
.
data
.
updateInfo
.
isUpate
=
false
this
.
$store
.
data
.
updateInfo
.
updateType
=
''
this
.
$store
.
data
.
participatorList
=
this
.
$store
.
data
.
originUsers
this
.
$store
.
data
.
participatorUserId
=
this
.
$store
.
data
.
originUsersId
this
.
update
()
}
});
pages/participantsDetail/store.js
0 → 100644
View file @
84c1fb33
class
Store
{
data
=
{
contactPeople
:
[],
contactPeopleId
:
[]
}
}
export
default
new
Store
()
\ No newline at end of file
pages/place/place.js
View file @
84c1fb33
...
...
@@ -34,15 +34,6 @@ create.Page({
},
onLoad
(
e
)
{
if
(
e
.
scheduleItem
)
{
const
_that
=
this
observer
.
register
({
notice
(
scheduleItem
)
{
_that
.
setData
({
'scheduleItem.scheduleTemplateId'
:
scheduleItem
})
console
.
log
(
scheduleItem
);
}
})
this
.
setData
({
repeatable
:
e
.
repeatable
,
scheduleItem
:
JSON
.
parse
(
e
.
scheduleItem
)
...
...
@@ -65,34 +56,15 @@ create.Page({
selectPlace
(
event
)
{
this
.
$store
.
data
.
locationName
=
event
.
target
.
dataset
.
locationName
this
.
$store
.
data
.
roomId
=
''
this
.
update
()
if
(
!!
this
.
data
.
scheduleItem
)
{
if
(
this
.
data
.
repeatable
!=
0
)
{
this
.
setData
({
'conSelectPopupData.showSelectPopup'
:
true
})
}
else
{
let
data
=
{
location
:
{
longitude
:
-
999
,
latitude
:
-
999
,
locationName
:
this
.
$store
.
data
.
locationName
},
meetingRoomId
:
this
.
$store
.
data
.
roomId
,
modifyModel
:
'only'
,
modifyContent
:
'modify_location'
}
this
.
modifySchedule
(
data
,
0
).
then
(
res
=>
{
this
.
editLocationS
()
}).
catch
(
err
=>
{
this
.
editLocationE
()
})
if
(
!!
this
.
data
.
scheduleItem
)
this
.
$store
.
data
.
updateInfo
=
{
updateType
:
'modify_location'
,
isUpate
:
true
}
}
else
{
dd
.
navigateBack
({
delta
:
1
})
}
this
.
update
()
dd
.
navigateBack
({
delta
:
1
})
},
onSelectPopup
(
event
)
{
...
...
@@ -184,34 +156,15 @@ create.Page({
selectMeetingRoom
(
e
)
{
this
.
$store
.
data
.
locationName
=
e
.
target
.
dataset
.
locationName
this
.
$store
.
data
.
roomId
=
e
.
target
.
dataset
.
locationid
this
.
update
()
if
(
!!
this
.
data
.
scheduleItem
)
{
if
(
this
.
data
.
repeatable
!=
0
)
{
this
.
setData
({
'conSelectPopupData.showSelectPopup'
:
true
})
}
else
{
let
data
=
{
location
:
{
longitude
:
-
999
,
latitude
:
-
999
,
locationName
:
this
.
$store
.
data
.
locationName
},
meetingRoomId
:
this
.
$store
.
data
.
roomId
,
modifyModel
:
'only'
,
modifyContent
:
'modify_location'
}
this
.
modifySchedule
(
data
,
0
).
then
(
res
=>
{
this
.
editLocationS
()
}).
catch
(
err
=>
{
this
.
editLocationE
()
})
if
(
!!
this
.
data
.
scheduleItem
)
this
.
$store
.
data
.
updateInfo
=
{
updateType
:
'modify_location'
,
isUpate
:
true
}
}
else
{
dd
.
navigateBack
({
delta
:
1
})
}
this
.
update
()
dd
.
navigateBack
({
delta
:
1
})
},
inputPlace
(
event
)
{
this
.
setData
({
...
...
stores/exampleStore.js
View file @
84c1fb33
...
...
@@ -10,6 +10,10 @@ class Store {
originUsersId
:
[],
originalData
:
null
,
indexNeedUpdate
:
false
,
updateInfo
:
{
updateType
:
''
,
isUpate
:
false
},
tabBarIndex
:
'0'
,
locationSchedule
:
()
=>
{
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment