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
2e608be9
Commit
2e608be9
authored
Apr 16, 2020
by
liang ce
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改outlook流程
parent
53ee4609
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
122 additions
and
61 deletions
+122
-61
http.js
api/http.js
+4
-4
request.js
api/request.js
+8
-0
app.json
app.json
+2
-1
relatedApp.acss
components/relatedApp/relatedApp.acss
+3
-2
relatedApp.axml
components/relatedApp/relatedApp.axml
+25
-7
relatedApp.js
components/relatedApp/relatedApp.js
+26
-3
bindingOutlook.axml
pages/bindingOutlook/bindingOutlook.axml
+3
-2
bindingOutlook.js
pages/bindingOutlook/bindingOutlook.js
+12
-2
meetingRoomList.acss
pages/meetingRoomList/meetingRoomList.acss
+16
-17
meetingRoomList.axml
pages/meetingRoomList/meetingRoomList.axml
+8
-8
meetingRoomList.js
pages/meetingRoomList/meetingRoomList.js
+5
-5
place.axml
pages/place/place.axml
+1
-1
exampleStore.js
stores/exampleStore.js
+9
-9
No files found.
api/http.js
View file @
2e608be9
...
@@ -11,7 +11,7 @@ export default function http(data) {
...
@@ -11,7 +11,7 @@ export default function http(data) {
method
:
data
.
method
,
method
:
data
.
method
,
dataType
:
"json"
,
dataType
:
"json"
,
data
:
data
.
data
,
data
:
data
.
data
,
success
:
function
(
res
)
{
success
:
function
(
res
)
{
if
(
res
.
data
.
code
==
0
)
{
if
(
res
.
data
.
code
==
0
)
{
resolve
(
res
);
resolve
(
res
);
}
else
{
}
else
{
...
@@ -21,7 +21,7 @@ export default function http(data) {
...
@@ -21,7 +21,7 @@ export default function http(data) {
});
});
}
}
},
},
fail
:
function
(
res
)
{
fail
:
function
(
res
)
{
dd
.
alert
({
dd
.
alert
({
content
:
"网络异常"
,
content
:
"网络异常"
,
buttonText
:
"确定"
buttonText
:
"确定"
...
@@ -53,10 +53,10 @@ export default function http(data) {
...
@@ -53,10 +53,10 @@ export default function http(data) {
method
:
data
.
method
,
method
:
data
.
method
,
data
:
data
.
data
,
data
:
data
.
data
,
dataType
:
"json"
,
dataType
:
"json"
,
success
:
function
(
res
)
{
success
:
function
(
res
)
{
resolve
(
res
);
resolve
(
res
);
},
},
fail
:
function
(
res
)
{
fail
:
function
(
res
)
{
rejects
(
res
);
rejects
(
res
);
}
}
});
});
...
...
api/request.js
View file @
2e608be9
...
@@ -310,3 +310,11 @@ export function authorizationCodeReplacementToken(data) {
...
@@ -310,3 +310,11 @@ export function authorizationCodeReplacementToken(data) {
url
:
`https://third-authentication-beta.mingwork.com/microsoft/authorizationCodeReplacementToken`
url
:
`https://third-authentication-beta.mingwork.com/microsoft/authorizationCodeReplacementToken`
});
});
}
}
// 发送给后端outlook code
export
function
getThirdUserPlatForm
(
data
)
{
return
$http
({
method
:
"get"
,
data
:
data
,
url
:
`/admin/third/user/getThirdUserPlatForm`
});
}
app.json
View file @
2e608be9
...
@@ -11,7 +11,8 @@
...
@@ -11,7 +11,8 @@
"pages/uploadFile/uploadFile"
,
"pages/uploadFile/uploadFile"
,
"pages/participantsDetail/participantsDetail"
,
"pages/participantsDetail/participantsDetail"
,
"pages/applicationDetails/applicationDetails"
,
"pages/applicationDetails/applicationDetails"
,
"pages/attendeeList/attendeeList"
"pages/attendeeList/attendeeList"
,
"pages/outlookDetails/outlookDetails"
],
],
"window"
:
{
"window"
:
{
"allowsBounceVertical"
:
"YES"
"allowsBounceVertical"
:
"YES"
...
...
components/relatedApp/relatedApp.acss
View file @
2e608be9
...
@@ -91,10 +91,10 @@
...
@@ -91,10 +91,10 @@
color: rgba(27, 38, 61, .5)
color: rgba(27, 38, 61, .5)
}
}
.
O
utlook {
.
o
utlook {
background: url(../../assests/outlookLogo.png) center /100% 100%;
background: url(../../assests/outlookLogo.png) center /100% 100%;
}
}
.
Z
oom {
.
z
oom {
background: url(../../assests/zoomLogo.png) center /100% 100%;
background: url(../../assests/zoomLogo.png) center /100% 100%;
}
}
\ No newline at end of file
components/relatedApp/relatedApp.axml
View file @
2e608be9
...
@@ -4,17 +4,17 @@
...
@@ -4,17 +4,17 @@
<template is="avater" data="{{item: userInfo}}"/>
<template is="avater" data="{{item: userInfo}}"/>
<view>{{ userInfo.username }}</view>
<view>{{ userInfo.username }}</view>
</view>
</view>
<view class="hasAssociated">
<view class="hasAssociated"
a:if="{{relatedAppList.length === 1}}"
>
<view class="associated">
<view class="associated">
已关联应用
已关联应用
</view>
</view>
<view class="applicationList">
<view class="applicationList"
a:for="{{relatedAppList}}" a:if="{{item.platform !== 'dingTalk'}}"
>
<view class="applicationLogo
Zoom
">
<view class="applicationLogo
{{item.platform}}
">
</view>
</view>
<view class="applicationMsg">
<view class="applicationMsg">
<view>
<view>
<view>
<view>
Outlook日历
{{item.thirdUserIdentify}}
</view>
</view>
<view>
<view>
支持会议日程双向同步,实时同步日程信息等
支持会议日程双向同步,实时同步日程信息等
...
@@ -26,12 +26,12 @@
...
@@ -26,12 +26,12 @@
</view>
</view>
</view>
</view>
</view>
</view>
<view class="unAssociated">
<view class="unAssociated"
a:if="{{relatedAppList.length === 3}}"
>
<view class="associated">
<view class="associated">
可关联应用
可关联应用
</view>
</view>
<view class="applicationList">
<view class="applicationList"
a:if="{{relatedAppPlatformList.indexOf('outlook') === -1}}"
>
<view class="applicationLogo
O
utlook">
<view class="applicationLogo
o
utlook">
</view>
</view>
<view class="applicationMsg" catchTap="bindingOutlook">
<view class="applicationMsg" catchTap="bindingOutlook">
<view>
<view>
...
@@ -47,5 +47,22 @@
...
@@ -47,5 +47,22 @@
</view>
</view>
</view>
</view>
</view>
</view>
<view class="applicationList" a:if="{{relatedAppPlatformList.indexOf('zoom') === -1}}">
<view class="applicationLogo zoom">
</view>
<view class="applicationMsg">
<view>
<view>
Zoom
</view>
<view>
支持快速发起音视频会议
</view>
</view>
<view class="operateIcon">
<text class="iconfont iconright"></text>
</view>
</view>
</view>
</view>
</view>
</view>
</view>
\ No newline at end of file
components/relatedApp/relatedApp.js
View file @
2e608be9
Component
({
import
{
getThirdUserPlatForm
}
from
"../../api/request"
;
import
create
from
"dd-store"
;
create
.
Component
({
mixins
:
[],
mixins
:
[],
data
:
{
data
:
{
userInfo
:
{}
$data
:
null
,
userInfo
:
{},
relatedAppList
:
[],
relatedAppPlatformList
:
[]
},
},
props
:
{},
props
:
{},
didMount
()
{
didMount
()
{
...
@@ -9,9 +14,27 @@ Component({
...
@@ -9,9 +14,27 @@ Component({
userInfo
:
JSON
.
parse
(
getApp
().
globalData
.
userInfo
)
userInfo
:
JSON
.
parse
(
getApp
().
globalData
.
userInfo
)
});
});
},
},
didUpdate
()
{},
didUpdate
()
{
if
(
this
.
$store
.
data
.
relatedAppNeedUpdate
)
{
this
.
$store
.
data
.
relatedAppNeedUpdate
=
false
;
this
.
update
();
this
.
getDate
();
}
},
didUnmount
()
{},
didUnmount
()
{},
methods
:
{
methods
:
{
getDate
()
{
getThirdUserPlatForm
().
then
(
res
=>
{
let
relatedAppPlatformList
=
[];
res
.
data
.
data
.
forEach
(
item
=>
{
relatedAppPlatformList
.
push
(
item
.
platform
);
});
this
.
setData
({
relatedAppList
:
res
.
data
.
data
,
relatedAppPlatformList
:
relatedAppPlatformList
});
});
},
preventSort
()
{
preventSort
()
{
return
false
;
return
false
;
},
},
...
...
pages/bindingOutlook/bindingOutlook.axml
View file @
2e608be9
<web-view id="web-view-1" src="{{url}}" onMessage="test"></web-view>
<web-view id="web-view-1" src="{{url}}" onMessage="test">
\ No newline at end of file
</web-view>
\ No newline at end of file
pages/bindingOutlook/bindingOutlook.js
View file @
2e608be9
...
@@ -2,8 +2,10 @@ import {
...
@@ -2,8 +2,10 @@ import {
getOutlookUrl
,
getOutlookUrl
,
authorizationCodeReplacementToken
authorizationCodeReplacementToken
}
from
"../../api/request"
;
}
from
"../../api/request"
;
Page
({
import
create
from
"dd-store"
;
create
.
Page
({
data
:
{
data
:
{
$data
:
null
,
url
:
""
url
:
""
},
},
onLoad
()
{
onLoad
()
{
...
@@ -16,12 +18,20 @@ Page({
...
@@ -16,12 +18,20 @@ Page({
});
});
},
},
test
(
e
)
{
test
(
e
)
{
const
code
=
e
.
detail
.
code
;
console
.
log
(
code
);
const
data
=
{
const
data
=
{
code
:
code
,
code
:
code
,
state
:
`
${
getApp
().
globalData
.
userid
}
,
${
dd
.
corpId
}
`
state
:
`
${
getApp
().
globalData
.
userid
}
,
${
dd
.
corpId
}
`
};
};
authorizationCodeReplacementToken
(
data
).
then
(
res
=>
{
authorizationCodeReplacementToken
(
data
).
then
(
res
=>
{
console
.
log
(
res
);
if
(
res
.
data
.
data
)
{
this
.
$store
.
data
.
relatedAppNeedUpdate
=
true
;
this
.
update
();
dd
.
navigateBack
({
delta
:
1
});
}
});
});
}
}
});
});
pages/meetingRoomList/meetingRoomList.acss
View file @
2e608be9
...
@@ -7,7 +7,7 @@
...
@@ -7,7 +7,7 @@
left: 0;
left: 0;
top: 0;
top: 0;
z-index: 99;
z-index: 99;
border-bottom:
1
px solid rgba(25, 31, 37, 0.12);
border-bottom:
2r
px solid rgba(25, 31, 37, 0.12);
font-size: 26rpx;
font-size: 26rpx;
letter-spacing: -0.31rpx;
letter-spacing: -0.31rpx;
height: 96rpx;
height: 96rpx;
...
@@ -107,11 +107,7 @@
...
@@ -107,11 +107,7 @@
height: 24rpx;
height: 24rpx;
width: 24rpx;
width: 24rpx;
border-radius: 2rpx;
border-radius: 2rpx;
box-sizing: border-box;
margin: 2rpx;
margin-top: 6rpx;
margin-right: 6rpx;
background: #F3F6FA;
border: 1px solid rgba(27, 38, 61, 0.10);
}
}
.reserveRoomTimeBarBg>view:nth-of-type(47), .reserveRoomTimeBarBg>view:nth-of-type(48) {
.reserveRoomTimeBarBg>view:nth-of-type(47), .reserveRoomTimeBarBg>view:nth-of-type(48) {
...
@@ -124,12 +120,12 @@
...
@@ -124,12 +120,12 @@
.expired {
.expired {
background: url(../../assests/cancel.png) center /100% 100% !important;
background: url(../../assests/cancel.png) center /100% 100% !important;
border:
1
px solid rgba(27, 38, 61, 0.04) !important;
border:
2r
px solid rgba(27, 38, 61, 0.04) !important;
}
}
.reservation {
.reservation {
background: #F3F6FA!important;
background: #F3F6FA!important;
border:
1
px solid rgba(27, 38, 61, 0.1) !important;
border:
2r
px solid rgba(27, 38, 61, 0.1) !important;
}
}
.occupied {
.occupied {
...
@@ -144,7 +140,7 @@
...
@@ -144,7 +140,7 @@
.reserveRoomTimeBarNum {
.reserveRoomTimeBarNum {
display: flex;
display: flex;
margin-top: 1
2
rpx;
margin-top: 1
0
rpx;
font-size: 20rpx;
font-size: 20rpx;
font-family: DINAlternate-Bold, DINAlternate;
font-family: DINAlternate-Bold, DINAlternate;
font-weight: bold;
font-weight: bold;
...
@@ -153,9 +149,7 @@
...
@@ -153,9 +149,7 @@
.reserveRoomTimeBarNum>view {
.reserveRoomTimeBarNum>view {
text-align: center;
text-align: center;
margin-right: 6rpx;
flex: 1;
flex: 1;
width: 24rpx;
}
}
/* 弹框的样式 */
/* 弹框的样式 */
...
@@ -163,18 +157,23 @@
...
@@ -163,18 +157,23 @@
.modalContent, .calendarMoadl {
.modalContent, .calendarMoadl {
width: 100%;
width: 100%;
height: 732rpx;
height: 732rpx;
overflow: hidden;
margin-top: 10rpx;
margin-top: 10rpx;
}
}
.modalContent {
position: relative;
}
.modalHeader {
.modalHeader {
height: 32rpx;
position: relative;
line-height: 1;
right: 32rpx;
top: -32rpx;
font-size: 32rpx;
font-size: 32rpx;
padding: 0 32rpx;
text-align: right;
text-align: right;
color: #0A0A0A;
color: #0A0A0A;
box-sizing: border-box;
box-sizing: border-box;
z-index: 99999;
height: 32rpx;
}
}
.modalHeader>view {
.modalHeader>view {
...
@@ -184,7 +183,7 @@
...
@@ -184,7 +183,7 @@
.changeDay {
.changeDay {
width: 100%;
width: 100%;
border-bottom:
1
px solid rgba(25, 31, 37, 0.12);
border-bottom:
2r
px solid rgba(25, 31, 37, 0.12);
font-size: 30rpx;
font-size: 30rpx;
text-align: center;
text-align: center;
display: flex;
display: flex;
...
@@ -248,7 +247,7 @@
...
@@ -248,7 +247,7 @@
height: 100rpx;
height: 100rpx;
line-height: 100rpx;
line-height: 100rpx;
box-sizing: border-box;
box-sizing: border-box;
border-bottom:
1
px solid rgba(25, 31, 37, 0.12);
border-bottom:
2r
px solid rgba(25, 31, 37, 0.12);
}
}
.OccupyTimeList>view:nth-of-type(2) view {
.OccupyTimeList>view:nth-of-type(2) view {
...
...
pages/meetingRoomList/meetingRoomList.axml
View file @
2e608be9
...
@@ -4,9 +4,9 @@
...
@@ -4,9 +4,9 @@
<view class="iconfont iconicon_open"></view>
<view class="iconfont iconicon_open"></view>
</view>
</view>
</view>
</view>
<
scroll-view scroll-y="{{canScroll}}"
class="roomScrollView">
<
view
class="roomScrollView">
<view class="reserveMeeting">
<view class="reserveMeeting">
<view class="meetingRoomContent" a:for="{{reserveRoomList}}" data-roomid="{{item.meetingRoomId}}" data-roomname="{{item.
meetingRoomFullN
ame}}" onTap="changeRoomTime">
<view class="meetingRoomContent" a:for="{{reserveRoomList}}" data-roomid="{{item.meetingRoomId}}" data-roomname="{{item.
n
ame}}" onTap="changeRoomTime">
<view class="roomMessage">
<view class="roomMessage">
<view class="reserveRoomMsg">
<view class="reserveRoomMsg">
<view class="reserveRoomTitle">
<view class="reserveRoomTitle">
...
@@ -50,11 +50,11 @@
...
@@ -50,11 +50,11 @@
<view class="noRoomTip">当前暂无会议室</view>
<view class="noRoomTip">当前暂无会议室</view>
</view>
</view>
</view>
</view>
</scroll-
view>
<
view>
<popup show="{{isShowModal}}" onClose="onCancel" position="bottom">
<popup show="{{isShowModal}}" onClose="onCancel" position="bottom">
<view a:if="{{!isShowCalendar}}" class="modalContent">
<view a:if="{{!isShowCalendar}}" class="modalContent">
<view class="modalHeader
">
<view class="modalHeader" onTap="onDetermine
">
<text onTap="onDetermine">确定</text>
确定
</view>
</view>
<view class="modalTimeSlot">
<view class="modalTimeSlot">
<text a:if="{{!modalFooter.startTime || !modalFooter.endTime}}">请选择会议时间</text>
<text a:if="{{!modalFooter.startTime || !modalFooter.endTime}}">请选择会议时间</text>
...
@@ -113,4 +113,4 @@
...
@@ -113,4 +113,4 @@
</view>
</view>
<calendar type="single" haveYear="{{false}}" selectedDate="{{meetingTime.date}}" onSelect="handleSelect" onMonthChange="onMonthChange" onYearChange="onYearChange" onSelectHasDisableDate="onSelectHasDisableDate" />
<calendar type="single" haveYear="{{false}}" selectedDate="{{meetingTime.date}}" onSelect="handleSelect" onMonthChange="onMonthChange" onYearChange="onYearChange" onSelectHasDisableDate="onSelectHasDisableDate" />
</view>
</view>
</popup>
</popup>
\ No newline at end of file
\ No newline at end of file
pages/meetingRoomList/meetingRoomList.js
View file @
2e608be9
...
@@ -38,8 +38,7 @@ create.Page({
...
@@ -38,8 +38,7 @@ create.Page({
20
,
20
,
21
,
21
,
22
,
22
,
23
,
23
24
],
],
search
:
{
search
:
{
category
:
""
,
category
:
""
,
...
@@ -74,8 +73,8 @@ create.Page({
...
@@ -74,8 +73,8 @@ create.Page({
}
}
},
},
onLoad
(
query
)
{
onLoad
(
query
)
{
let
date
=
new
Date
(
this
.
$store
.
data
.
startTime
.
replace
(
/-/g
,
"/"
));
//
let date = new Date(this.$store.data.startTime.replace(/-/g, "/"));
//
let date = new Date();
let
date
=
new
Date
();
let
year
=
date
.
getFullYear
();
let
year
=
date
.
getFullYear
();
let
month
=
padZero
(
date
.
getMonth
()
+
1
);
let
month
=
padZero
(
date
.
getMonth
()
+
1
);
let
day
=
padZero
(
date
.
getDate
());
let
day
=
padZero
(
date
.
getDate
());
...
@@ -1216,6 +1215,7 @@ create.Page({
...
@@ -1216,6 +1215,7 @@ create.Page({
this
.
$store
.
data
.
locationName
=
this
.
data
.
meetingTime
.
meetingRoomName
;
this
.
$store
.
data
.
locationName
=
this
.
data
.
meetingTime
.
meetingRoomName
;
this
.
$store
.
data
.
roomId
=
this
.
data
.
meetingTime
.
meetingRoomId
;
this
.
$store
.
data
.
roomId
=
this
.
data
.
meetingTime
.
meetingRoomId
;
}
}
if
(
this
.
$store
.
data
.
originalData
&&
this
.
$store
.
data
.
locationName
)
{
if
(
if
(
this
.
$store
.
data
.
locationName
!=
this
.
$store
.
data
.
locationName
!=
this
.
$store
.
data
.
originalData
.
location
.
locationName
||
this
.
$store
.
data
.
originalData
.
location
.
locationName
||
...
@@ -1227,7 +1227,7 @@ create.Page({
...
@@ -1227,7 +1227,7 @@ create.Page({
}),
}),
this
.
update
();
this
.
update
();
}
}
}
dd
.
navigateBack
({
dd
.
navigateBack
({
delta
:
2
delta
:
2
});
});
...
...
pages/place/place.axml
View file @
2e608be9
...
@@ -24,7 +24,7 @@
...
@@ -24,7 +24,7 @@
<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 icon_facility1" style="margin-right: 9rpx;"></text>
<text class="iconfont iconshebei icon
icon
_facility1" 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>
...
...
stores/exampleStore.js
View file @
2e608be9
class
Store
{
class
Store
{
data
=
{
data
=
{
locationName
:
''
,
locationName
:
""
,
participatorList
:
[],
participatorList
:
[],
participatorUserId
:
[],
// 参会人的userId
participatorUserId
:
[],
// 参会人的userId
roomId
:
''
,
roomId
:
""
,
startTime
:
''
,
startTime
:
""
,
endTime
:
''
,
endTime
:
""
,
originUsers
:
[],
originUsers
:
[],
originUsersId
:
[],
originUsersId
:
[],
originalData
:
null
,
originalData
:
null
,
indexNeedUpdate
:
false
,
indexNeedUpdate
:
false
,
tabBarIndex
:
'0'
,
relatedAppNeedUpdate
:
false
,
tabBarIndex
:
"0"
,
updateInfo
:
{
updateInfo
:
{
updateType
:
''
,
updateType
:
""
,
isUpate
:
false
isUpate
:
false
},
}
}
};
}
}
export
default
new
Store
()
export
default
new
Store
();
\ No newline at end of file
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