Commit edf88b22 by xiexiaoqin
parents 5c242a50 55bc1bf5
......@@ -11,7 +11,7 @@ export default function http(data) {
method: data.method,
dataType: "json",
data: data.data,
success: function (res) {
success: function(res) {
if (res.data.code == 0) {
resolve(res);
} else {
......@@ -21,7 +21,7 @@ export default function http(data) {
});
}
},
fail: function (res) {
fail: function(res) {
dd.alert({
content: "网络异常",
buttonText: "确定"
......@@ -53,10 +53,10 @@ export default function http(data) {
method: data.method,
data: data.data,
dataType: "json",
success: function (res) {
success: function(res) {
resolve(res);
},
fail: function (res) {
fail: function(res) {
rejects(res);
}
});
......
......@@ -310,3 +310,11 @@ export function authorizationCodeReplacementToken(data) {
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`
});
}
......@@ -11,7 +11,8 @@
"pages/uploadFile/uploadFile",
"pages/participantsDetail/participantsDetail",
"pages/applicationDetails/applicationDetails",
"pages/attendeeList/attendeeList"
"pages/attendeeList/attendeeList",
"pages/outlookDetails/outlookDetails"
],
"window": {
"allowsBounceVertical": "YES"
......
<view class="dm-popup {{show ? 'dm-popup-show' : ''}} {{ animation ? 'animation': '' }}" disable-scroll="{{disableScroll}}">
<view class="dm-popup {{show ? 'dm-popup-show' : ''}} {{ animation ? 'animation': '' }}">
<view class="dm-popup-mask" a:if="{{mask}}" onTap="onMaskTap" style="z-index: {{zIndex}}"></view>
<view class="dm-popup-content {{className}} dm-popup-{{position}}" style="z-index: {{zIndex}}">
<view a:if="{{position == 'bottom'}}" class="close-icon">
......
......@@ -7,7 +7,6 @@ Component({
position: 'bottom',
mask: true,
animation: true,
disableScroll: true,
zIndex: 1000
},
methods: {
......
......@@ -91,10 +91,10 @@
color: rgba(27, 38, 61, .5)
}
.Outlook {
.outlook {
background: url(../../assests/outlookLogo.png) center /100% 100%;
}
.Zoom {
.zoom {
background: url(../../assests/zoomLogo.png) center /100% 100%;
}
\ No newline at end of file
......@@ -4,17 +4,17 @@
<template is="avater" data="{{item: userInfo}}"/>
<view>{{ userInfo.username }}</view>
</view>
<view class="hasAssociated">
<view class="hasAssociated" a:if="{{relatedAppList.length === 1}}">
<view class="associated">
已关联应用
</view>
<view class="applicationList">
<view class="applicationLogo Zoom">
<view class="applicationList" a:for="{{relatedAppList}}" a:if="{{item.platform !== 'dingTalk'}}">
<view class="applicationLogo {{item.platform}}">
</view>
<view class="applicationMsg">
<view>
<view>
Outlook日历
{{item.thirdUserIdentify}}
</view>
<view>
支持会议日程双向同步,实时同步日程信息等
......@@ -26,12 +26,12 @@
</view>
</view>
</view>
<view class="unAssociated">
<view class="unAssociated" a:if="{{relatedAppList.length === 3}}">
<view class="associated">
可关联应用
</view>
<view class="applicationList">
<view class="applicationLogo Outlook">
<view class="applicationList" a:if="{{relatedAppPlatformList.indexOf('outlook') === -1}}">
<view class="applicationLogo outlook">
</view>
<view class="applicationMsg" catchTap="bindingOutlook">
<view>
......@@ -47,5 +47,22 @@
</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>
\ No newline at end of file
Component({
import { getThirdUserPlatForm } from "../../api/request";
import create from "dd-store";
create.Component({
mixins: [],
data: {
userInfo: {}
$data: null,
userInfo: {},
relatedAppList: [],
relatedAppPlatformList: []
},
props: {},
didMount() {
......@@ -9,9 +14,27 @@ Component({
userInfo: JSON.parse(getApp().globalData.userInfo)
});
},
didUpdate() {},
didUpdate() {
if (this.$store.data.relatedAppNeedUpdate) {
this.$store.data.relatedAppNeedUpdate = false;
this.update();
this.getDate();
}
},
didUnmount() {},
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() {
return false;
},
......
<web-view id="web-view-1" src="{{url}}" onMessage="test"></web-view>
\ No newline at end of file
<web-view id="web-view-1" src="{{url}}" onMessage="test">
</web-view>
\ No newline at end of file
......@@ -2,8 +2,10 @@ import {
getOutlookUrl,
authorizationCodeReplacementToken
} from "../../api/request";
Page({
import create from "dd-store";
create.Page({
data: {
$data: null,
url: ""
},
onLoad() {
......@@ -16,12 +18,20 @@ Page({
});
},
test(e) {
const code = e.detail.code;
console.log(code);
const data = {
code: code,
state: `${getApp().globalData.userid},${dd.corpId}`
};
authorizationCodeReplacementToken(data).then(res => {
console.log(res);
if (res.data.data) {
this.$store.data.relatedAppNeedUpdate = true;
this.update();
dd.navigateBack({
delta: 1
});
}
});
}
});
......@@ -7,7 +7,7 @@
left: 0;
top: 0;
z-index: 99;
border-bottom: 1px solid rgba(25, 31, 37, 0.12);
border-bottom: 2rpx solid rgba(25, 31, 37, 0.12);
font-size: 26rpx;
letter-spacing: -0.31rpx;
height: 96rpx;
......@@ -107,11 +107,7 @@
height: 24rpx;
width: 24rpx;
border-radius: 2rpx;
box-sizing: border-box;
margin-top: 6rpx;
margin-right: 6rpx;
background: #F3F6FA;
border: 1px solid rgba(27, 38, 61, 0.10);
margin: 2rpx;
}
.reserveRoomTimeBarBg>view:nth-of-type(47), .reserveRoomTimeBarBg>view:nth-of-type(48) {
......@@ -124,19 +120,22 @@
.expired {
background: url(../../assests/cancel.png) center /100% 100% !important;
border: 1px solid rgba(27, 38, 61, 0.04) !important;
border: 2rpx solid rgba(27, 38, 61, 0.04) !important;
}
.reservation {
background: #F3F6FA!important;
border: 1px solid rgba(27, 38, 61, 0.1) !important;
border: 2rpx solid rgba(27, 38, 61, 0.1) !important;
}
.occupied {
background: rgba(10, 10, 10, 0.2) !important;
border: 1rpx solid rgba(27, 38, 61, 0.1) !important;
}
.myOccupied {
background: rgba(234, 12, 40, 1) !important;
border: 1rpx solid rgba(27, 38, 61, 0.1) !important;
}
.myReservation {
background: rgba(234, 12, 40, 1);
border: 1rpx solid rgba(27, 38, 61, 0.1);
......@@ -144,7 +143,7 @@
.reserveRoomTimeBarNum {
display: flex;
margin-top: 12rpx;
margin-top: 10rpx;
font-size: 20rpx;
font-family: DINAlternate-Bold, DINAlternate;
font-weight: bold;
......@@ -153,9 +152,7 @@
.reserveRoomTimeBarNum>view {
text-align: center;
margin-right: 6rpx;
flex: 1;
width: 24rpx;
}
/* 弹框的样式 */
......@@ -163,18 +160,23 @@
.modalContent, .calendarMoadl {
width: 100%;
height: 732rpx;
overflow: hidden;
margin-top: 10rpx;
}
.modalContent {
position: relative;
}
.modalHeader {
height: 32rpx;
line-height: 1;
position: relative;
right: 32rpx;
top: -32rpx;
font-size: 32rpx;
padding: 0 32rpx;
text-align: right;
color: #0A0A0A;
box-sizing: border-box;
z-index: 99999;
height: 32rpx;
}
.modalHeader>view {
......@@ -184,7 +186,7 @@
.changeDay {
width: 100%;
border-bottom: 1px solid rgba(25, 31, 37, 0.12);
border-bottom: 2rpx solid rgba(25, 31, 37, 0.12);
font-size: 30rpx;
text-align: center;
display: flex;
......@@ -218,12 +220,6 @@
width: 750rpx;
}
.modalOccupyTimeSlot>view {
height: 80rpx;
width: 100%;
padding-left: 32rpx;
}
.OccupyTimeList {
height: 100rpx;
width: 100%;
......@@ -248,7 +244,7 @@
height: 100rpx;
line-height: 100rpx;
box-sizing: border-box;
border-bottom: 1px solid rgba(25, 31, 37, 0.12);
border-bottom: 2rpx solid rgba(25, 31, 37, 0.12);
}
.OccupyTimeList>view:nth-of-type(2) view {
......
......@@ -4,9 +4,9 @@
<view class="iconfont iconicon_open"></view>
</view>
</view>
<scroll-view scroll-y="{{canScroll}}" class="roomScrollView">
<view class="roomScrollView" style="{{canScroll ? '': 'overflow:hidden'}}"">
<view class="reserveMeeting">
<view class="meetingRoomContent" a:for="{{reserveRoomList}}" data-roomid="{{item.meetingRoomId}}" data-roomname="{{item.meetingRoomFullName}}" onTap="changeRoomTime">
<view class="meetingRoomContent" a:for="{{reserveRoomList}}" data-roomid="{{item.meetingRoomId}}" data-roomname="{{item.name}}" onTap="changeRoomTime">
<view class="roomMessage">
<view class="reserveRoomMsg">
<view class="reserveRoomTitle">
......@@ -28,7 +28,9 @@
<block a:for="{{item.timeSlotWithMeetingVOS}}" a:for-item="item2" a:for-index="index2">
<view class="expired" a:if="{{item2.reserveStatus === 'expired'}}">
</view>
<view class="occupied" a:if="{{item2.reserveStatus === 'occupied'}}">
<view class="occupied" a:if="{{item2.reserveStatus === 'occupied' && item2.scheduleList[0].organizer !== userId}}">
</view>
<view class="myOccupied" a:if="{{item2.reserveStatus === 'occupied' && item2.scheduleList[0].organizer === userId}}">
</view>
<view class="reservation" a:if="{{item2.reserveStatus === 'reservation'}}">
</view>
......@@ -50,11 +52,11 @@
<view class="noRoomTip">当前暂无会议室</view>
</view>
</view>
</scroll-view>
<popup show="{{isShowModal}}" onClose="onCancel" position="bottom">
<view>
<popup show="{{isShowModal}}" onClose="onCancel" position="bottom">
<view a:if="{{!isShowCalendar}}" class="modalContent">
<view class="modalHeader">
<text onTap="onDetermine">确定</text>
<view class="modalHeader" onTap="onDetermine">
确定
</view>
<view class="modalTimeSlot">
<text a:if="{{!modalFooter.startTime || !modalFooter.endTime}}">请选择会议时间</text>
......@@ -113,4 +115,4 @@
</view>
<calendar type="single" haveYear="{{false}}" selectedDate="{{meetingTime.date}}" onSelect="handleSelect" onMonthChange="onMonthChange" onYearChange="onYearChange" onSelectHasDisableDate="onSelectHasDisableDate" />
</view>
</popup>
\ No newline at end of file
</popup>
\ No newline at end of file
......@@ -38,8 +38,7 @@ create.Page({
20,
21,
22,
23,
24
23
],
search: {
category: "",
......@@ -71,11 +70,12 @@ create.Page({
tomorrowTime: "",
afterTomorrowTime: "",
customTime: ""
}
},
userId: ""
},
onLoad(query) {
let date = new Date(this.$store.data.startTime.replace(/-/g, "/"));
// let date = new Date();
// let date = new Date(this.$store.data.startTime.replace(/-/g, "/"));
let date = new Date();
let year = date.getFullYear();
let month = padZero(date.getMonth() + 1);
let day = padZero(date.getDate());
......@@ -96,7 +96,8 @@ create.Page({
)}/${padZero(tomorrowTime.getDate())}`,
"TimeSlot.afterTomorrowTime": `${year}/${padZero(
afterTomorrowTime.getMonth() + 1
)}/${padZero(afterTomorrowTime.getDate())}`
)}/${padZero(afterTomorrowTime.getDate())}`,
userId: getApp().globalData.userid
});
this.getPageData();
},
......@@ -1216,6 +1217,7 @@ create.Page({
this.$store.data.locationName = this.data.meetingTime.meetingRoomName;
this.$store.data.roomId = this.data.meetingTime.meetingRoomId;
}
if (this.$store.data.originalData && this.$store.data.locationName) {
if (
this.$store.data.locationName !=
this.$store.data.originalData.location.locationName ||
......@@ -1227,7 +1229,7 @@ create.Page({
}),
this.update();
}
}
dd.navigateBack({
delta: 2
});
......
......@@ -24,7 +24,7 @@
<text>{{item.capacityNum}}</text>
</view>
<view class="equipment" a:if="{{item.equipFacilityLabelList}}">
<text class="iconfont iconshebei icon_facility1" style="margin-right: 9rpx;"></text>
<text class="iconfont iconshebei iconicon_facility1" style="margin-right: 9rpx;"></text>
<text a:for="{{item.equipFacilityLabelList}}" a:for-item="equipmentList">{{equipmentList.name}}</text>
</view>
</view>
......
class Store {
data = {
locationName: '',
locationName: "",
participatorList: [],
participatorUserId: [], // 参会人的userId
roomId: '',
startTime: '',
endTime: '',
roomId: "",
startTime: "",
endTime: "",
originUsers: [],
originUsersId: [],
originalData: null,
indexNeedUpdate: false,
tabBarIndex: '0',
relatedAppNeedUpdate: false,
tabBarIndex: "0",
updateInfo: {
updateType: '',
updateType: "",
isUpate: false
},
}
};
}
export default new Store()
\ No newline at end of file
export default new Store();
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment