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
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
260 additions
and
274 deletions
+260
-274
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
+5
-0
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
+95
-8
outLookContact.acss
pages/outLookContact/outLookContact.acss
+0
-1
outLookContact.js
pages/outLookContact/outLookContact.js
+45
-182
participantsDetail.acss
pages/participantsDetail/participantsDetail.acss
+24
-0
participantsDetail.axml
pages/participantsDetail/participantsDetail.axml
+8
-6
participantsDetail.js
pages/participantsDetail/participantsDetail.js
+0
-0
store.js
pages/participantsDetail/store.js
+8
-0
place.js
pages/place/place.js
+10
-57
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;
}
...
...
@@ -100,3 +103,9 @@
.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,6 +7,7 @@
</my-schedule>
</view>
<view class="tabBar">
<view class="tabBarContaint">
<view onTap="changeTabBar" data-tabbar='0'>
<view class="tabBarView tabBarView1 {{$data.tabBarIndex === '0' ? 'ischooseTabBar' : ''}}">
<view class="iconfont iconicon_dynamic"></view>
...
...
@@ -25,4 +26,7 @@
<view class="createMeeting" onTap="createMeeting">
<text class="iconfont iconicon_add1"></text>
</view>
</view>
<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 {
...
...
@@ -584,3 +585,9 @@ 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
)
}
})
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,6 +932,7 @@ create.Page({
})
break
case
'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
=
{
...
...
@@ -878,12 +944,22 @@ create.Page({
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
()
})
}
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,6 +52,7 @@ create.Page({
// 添加email
addEmail
()
{
let
reg
=
/^
\w
+
((
.
\w
+
)
|
(
-
\w
+
))
@
[
A-Za-z0-9
]
+
((
.|-
)[
A-Za-z0-9
]
+
)
.
[
A-Za-z0-9
]
+$/
if
(
!!
this
.
data
.
value
)
{
if
(
reg
.
test
(
this
.
data
.
value
))
{
let
outlookContact
=
this
.
data
.
outlookContact
outlookContact
.
push
({
...
...
@@ -97,13 +68,13 @@ create.Page({
})
this
.
conflictPeople
()
}
else
if
(
!!
this
.
data
.
value
)
{
}
else
{
dd
.
alert
({
content
:
'请输入正确的邮箱格式'
,
buttonText
:
'确定'
})
}
}
},
// 关闭
close
(
event
)
{
...
...
@@ -128,50 +99,37 @@ create.Page({
}
return
Object
.
values
(
containt
)
},
// 保存
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
)
}
}
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
)]
})
if
(
!!
this
.
data
.
scheduleItem
)
{
if
(
this
.
$store
.
data
.
originalData
.
repeatable
===
1
)
{
this
.
setData
({
'conSelectPopupData.showSelectPopup'
:
true
// 创建的时候保存
createSave
()
{
dd
.
navigateBack
({
delta
:
1
})
}
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
{
this
.
$store
.
data
.
participatorList
=
participatorList
},
// 编辑的时候保存
editSave
()
{
this
.
$store
.
data
.
updateInfo
.
isUpate
=
true
this
.
$store
.
data
.
updateInfo
.
updateType
=
'operate_user'
this
.
update
()
dd
.
navigateBack
({
delta
:
1
})
},
// 保存
save
()
{
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
)
}
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
)
{
this
.
editSave
()
}
else
{
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
...
...
@@ -86,3 +86,26 @@ 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
This diff is collapsed.
Click to expand it.
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
{
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
{
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