Commit c273514c by xiexiaoqin

merge

parent 863068f5
...@@ -18,6 +18,7 @@ export default async function login() { ...@@ -18,6 +18,7 @@ export default async function login() {
method: 'POST', method: 'POST',
dataType: 'json', dataType: 'json',
success: function (res) { success: function (res) {
if (res.data.code == 0) {
const { oapiUser } = res.data.data; const { oapiUser } = res.data.data;
getApp().globalData.token = res.data.data.accessToken.access_token; getApp().globalData.token = res.data.data.accessToken.access_token;
getApp().globalData.name = res.data.data.oapiUser.name; getApp().globalData.name = res.data.data.oapiUser.name;
...@@ -31,18 +32,20 @@ export default async function login() { ...@@ -31,18 +32,20 @@ export default async function login() {
}); });
lock = false; lock = false;
resolve(res) resolve(res)
} else {
lock = false;
reject(res.data);
}
}, },
fail: function (err) { fail: function (err) {
lock = false; lock = false;
reject(err); reject(err);
console.log('err:' + err);
} }
}) })
}, },
fail: function (err) { fail: function (err) {
lock = false; lock = false;
reject(err); reject(err);
console.log('fail:' + err);
} }
}) })
}) })
...@@ -51,7 +54,6 @@ export default async function login() { ...@@ -51,7 +54,6 @@ export default async function login() {
async function waitLockRelease(retry) { async function waitLockRelease(retry) {
for (let i = 0; i < retry; i++) { for (let i = 0; i < retry; i++) {
if (lock == false) { if (lock == false) {
console.log(i);
return; return;
} }
await sleep(100); await sleep(100);
......
...@@ -138,7 +138,13 @@ export function isParticipate(data) { ...@@ -138,7 +138,13 @@ export function isParticipate(data) {
url: `/meet/schedule/confirm` url: `/meet/schedule/confirm`
}); });
} }
//会议室详情的获取重复会议动态列表
export function getMeetingRoomRepeatAffairs(groupId, page) {
return $http({
method: "get",
url: `/meet/meeting-log/scheduleTemplateMeetingLogPage?category=2,3&groupId=${groupId}&size=10&current=${page}`
});
}
//会议室详情的获取动态列表 //会议室详情的获取动态列表
export function getMeetingRoomAffairs(id) { export function getMeetingRoomAffairs(id) {
return $http({ return $http({
...@@ -201,19 +207,11 @@ export function getOutlookUrl(data) { ...@@ -201,19 +207,11 @@ export function getOutlookUrl(data) {
method: "POST", method: "POST",
data: "", data: "",
url: `/microsoft/getThirdLoginUrl?state=${data}`, url: `/microsoft/getThirdLoginUrl?state=${data}`,
type: 'binding' type: "binding"
}); });
} }
// 发送给后端outlook code
export function authorizationCodeReplacementToken(data) { // 获取绑定的app
return $http({
method: "get",
data: data,
url: `/microsoft/authorizationCodeReplacementToken`,
type: 'binding'
});
}
// 发送给后端outlook code
export function getThirdUserPlatForm(data) { export function getThirdUserPlatForm(data) {
return $http({ return $http({
method: "get", method: "get",
...@@ -235,17 +233,7 @@ export function getZoomUrl(data) { ...@@ -235,17 +233,7 @@ export function getZoomUrl(data) {
return $http({ return $http({
method: "get", method: "get",
data: "", data: "",
url: "/zoom/auth", url: `/zoom/auth?orgId=${data.orgId}&userId=${data.userId}`,
type: 'binding' type: "binding"
});
}
//
export function sendZoomCode(data) {
return $http({
method: "get",
data: data,
url: "/zoom/notice",
type: 'binding'
}); });
} }
import login from "./login";
export default function xFetch({ url, method, data, type }) { export default function xFetch({ url, method, data, type }) {
if (type == 'binding') { if (type == 'binding') {
url = `${getApp().globalData.globalUrl2}${url}` url = `${getApp().globalData.globalUrl2}${url}`
...@@ -14,23 +16,36 @@ export default function xFetch({ url, method, data, type }) { ...@@ -14,23 +16,36 @@ export default function xFetch({ url, method, data, type }) {
method: method, method: method,
dataType: "json", dataType: "json",
data: data, data: data,
// timeout: 280, timeout: 15000,
success: function (res) { success: function (res) {
if (res.data.code == 0) { if (res.data.code == 0) {
resolve(res); resolve(res);
} else { } else {
rejects(res); if (res.data.code == 401) {
dd.alert({ login();
content: res.data.msg || "请求数据异常", }
buttonText: "确定" alertOnce('请求异常,请重试', rejects);
});
} }
}, },
fail: function (err) { fail: function (err) {
rejects({ refresh: true }); console.log(err)
alertOnce('网络异常,请重试', rejects);
} }
}); });
}); });
} }
let alert = false;
function alertOnce(content, rejects) {
if (alert == false) {
dd.alert({
content: content,
buttonText: "确定",
success: () => {
rejects({ refresh: true });
alert = false;
}
});
}
alert = true;
}
\ No newline at end of file
...@@ -11,3 +11,13 @@ view { ...@@ -11,3 +11,13 @@ view {
.addPaddingBottom { .addPaddingBottom {
padding-bottom: 68rpx; padding-bottom: 68rpx;
} }
.btn {
font-size: 32rpx;
height: 72rpx;
line-height: 72rpx;
border-radius: 48rpx;
text-align: center;
color: #fff;
background: rgba(234, 12, 40, 1);
}
\ No newline at end of file
import { setGlobalStore } from "dd-store"; import { setGlobalStore } from "dd-store";
import exampleStore from "./stores/exampleStore"; import exampleStore from "./stores/exampleStore";
import { checkFullScren } from "./utils/checkFullScren";
setGlobalStore(exampleStore); setGlobalStore(exampleStore);
import login from './api/login'; import login from "./api/login";
App({ App({
onLaunch(options) { onLaunch(options) {
// 第一次打开 // 第一次打开
// options.query == {number:1} // options.query == {number:1}
login(); login();
this.globalData.isFullScren = checkFullScren;
}, },
onShow(options) { onShow(options) {
// 从后台被 scheme 重新打开 // 从后台被 scheme 重新打开
// options.query == {number:1} // options.query == {number:1}
}, },
globalData: { globalData: {
isFullScren: false,
loading: false, loading: false,
token: "", token: "",
avatar: "", avatar: "",
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
"pages": [ "pages": [
"pages/index/index", "pages/index/index",
"pages/meetingRoomList/meetingRoomList", "pages/meetingRoomList/meetingRoomList",
"pages/bindingApp/bindingApp", "pages/appDetails/appDetails",
"pages/meetingDetail/meetingDetail", "pages/meetingDetail/meetingDetail",
"pages/excutorList/excutorList", "pages/excutorList/excutorList",
"pages/createMeeting/createMeeting", "pages/createMeeting/createMeeting",
...@@ -11,10 +11,10 @@ ...@@ -11,10 +11,10 @@
"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/unbindApp/unbindApp"
], ],
"window": { "window": {
"allowsBounceVertical": "YES" "allowsBounceVertical": "YES"
} },
"pullRefresh": false
} }
\ No newline at end of file
...@@ -11,17 +11,17 @@ ...@@ -11,17 +11,17 @@
<view class="applicationList" a:for="{{relatedAppList}}" a:if="{{item.platform !== 'dingTalk'}}"> <view class="applicationList" a:for="{{relatedAppList}}" a:if="{{item.platform !== 'dingTalk'}}">
<view class="applicationLogo {{item.platform}}"> <view class="applicationLogo {{item.platform}}">
</view> </view>
<view class="applicationMsg" data-item="{{item}}" catchTap="toAppDetails"> <view class="applicationMsg" data-name="{{item.userName}}" data-platform="{{item.platform}}" catchTap="toAppDetails">
<view> <view>
<view> <view>
{{item.thirdUserIdentify}} {{item.userName}}
</view> </view>
<view> <view>
支持会议日程双向同步,实时同步日程信息等 支持会议日程双向同步,实时同步日程信息等
</view> </view>
</view> </view>
<view class="operateIcon"> <view class="operateIcon">
<text class="iconfont iconicon_setting1"></text> <text class="iconfont iconright"></text>
</view> </view>
</view> </view>
</view> </view>
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,7 @@
<view class="applicationList" a:if="{{relatedAppPlatformList.indexOf('outlook') === -1}}"> <view class="applicationList" a:if="{{relatedAppPlatformList.indexOf('outlook') === -1}}">
<view class="applicationLogo outlook"> <view class="applicationLogo outlook">
</view> </view>
<view class="applicationMsg" data-platform="outlook" catchTap="bindingApp"> <view class="applicationMsg" data-name="" data-platform="outlook" catchTap="toAppDetails">
<view> <view>
<view> <view>
Outlook日历 Outlook日历
...@@ -50,7 +50,7 @@ ...@@ -50,7 +50,7 @@
<view class="applicationList" a:if="{{relatedAppPlatformList.indexOf('zoom') === -1}}"> <view class="applicationList" a:if="{{relatedAppPlatformList.indexOf('zoom') === -1}}">
<view class="applicationLogo zoom"> <view class="applicationLogo zoom">
</view> </view>
<view class="applicationMsg" data-platform="zoom" catchTap="bindingApp"> <view class="applicationMsg" data-name="" data-platform="zoom" catchTap="toAppDetails">
<view> <view>
<view> <view>
Zoom Zoom
......
...@@ -34,6 +34,11 @@ ...@@ -34,6 +34,11 @@
font-size: 34rpx; font-size: 34rpx;
} }
.iconicon_attender {
position: relative;
top: 4rpx;
}
.participator-title { .participator-title {
color: rgba(25, 31, 37, 1); color: rgba(25, 31, 37, 1);
font-size: 34rpx; font-size: 34rpx;
......
.platformMsg {
display: flex;
padding: 26rpx 32rpx;
align-items: center;
background: #FFFFFF;
margin-top: 16rpx;
}
.platformImg {
width: 60rpx;
height: 60rpx;
margin-right: 24rpx;
}
.outlook {
background: url(../../assests/outlookLogo.png) center /100% 100%;
}
.zoom {
background: url(../../assests/zoomLogo.png) center /100% 100%;
}
.title {
font-size: 28rpx;
color: rgba(25, 31, 37, 1);
line-height: 34rpx;
}
.tip {
font-size: 20rpx;
line-height: 26rpx;
color: rgba(25, 31, 37, .56)
}
.bindBtn {
height: 112rpx;
line-height: 112rpx;
text-align: center;
margin-top: 16rpx;
background: #FFFFFF;
}
.binding {
color: rgba(10, 10, 10, 1);
}
.unBinding {
color: rgba(242, 86, 67, 1);
}
.loadingBtn {
color: rgba(10, 10, 10, 0.4) !important;
}
.loadingToast {
position: fixed;
left: 0;
top: 0;
width: 100%;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
}
.loadingToast>view {
font-size: 28rpx;
color: #FFFFFF;
padding: 18rpx 26rpx;
border-radius: 40rpx;
background: rgba(0, 0, 0, .59);
display: flex;
justify-content: center;
align-items: center;
}
.loadingToast image {
width: 36rpx;
height: 36rpx;
margin-right: 8rpx;
}
\ No newline at end of file
<view class="relatedAppPage">
<view class="platformMsg" a:if="{{platform === 'outlook'}}">
<view class="platformImg {{platform}}">
</view>
<view class="platformName" a:if="{{!name}}">
<view class="title">
Outlook日历
</view>
<view class="tip">
支持会议日程双向同步,实时同步日程信息等
</view>
</view>
<view class="platformName" a:else>
{{name}}
</view>
</view>
<view class="platformMsg" a:if="{{platform === 'zoom'}}">
<view class="platformImg {{platform}}">
</view>
<view class="platformName" a:if="{{!name}}">
<view class="title">
Zoom
</view>
<view class="tip">
支持快速发起音视频会议
</view>
</view>
<view class="platformName" a:else>
{{name ? name : 'outlook'}}
</view>
</view>
<view class="{{isBind ? 'unBinding': 'binding'}} bindBtn {{isLoading ? 'loadingBtn' : ''}}" onTap="{{isBind ? 'showPopup' : 'bindApp'}}">
<text>{{isBind ? '解绑' : '绑定'}}</text>
</view>
</view>
<view class="loadingToast" a:if="{{isLoading}}">
<view a:if="{{bindStatus==='loading'}}">
<image class="fix-img-width-fix" mode="scaleToFill" src="./../../assests/bindLoading.gif"/>
<view>
账号关联中···
</view>
</view>
<view a:elif="{{bindStatus==='success'}}">
<image class="fix-img-width-fix" mode="scaleToFill" src="./../../assests/bindSuccess.png"/>
<view>
关联成功
</view>
</view>
<view a:else>
<image class="fix-img-width-fix" mode="scaleToFill" src="./../../assests/bindFail.png"/>
<view>
关联失败
</view>
</view>
</view>
<selectpopup showSelectPopup="{{showSelectPopup}}" selectPopupList="{{selectPopupList}}" onSelectPopup="onSelectPopup" onSelectPopupCancel="onSelectPopupCancel"></selectpopup>
\ No newline at end of file
import {
getOutlookUrl,
getZoomUrl,
getThirdUserPlatForm,
unbindingApp
} from "../../api/request";
import "dingtalk-jsapi/entry/mobile";
import openLink from "dingtalk-jsapi/api/biz/util/openLink";
import create from "dd-store";
import { fail } from "assert";
let interval = "";
let requestNum = 0;
create.Page({
data: {
$data: null,
url: "",
platform: "",
name: "",
isBind: false,
isLoading: false,
showSelectPopup: false,
selectPopupList: [{ text: "取消关联" }],
bindStatus: "loading"
},
onLoad(e) {
this.setData({
platform: e.platform,
name: e.userName,
isBind: e.userName ? true : false
});
},
onShow() {},
sendRequest() {
let that = this;
interval = setInterval(() => {
if (requestNum >= 180) {
requestNum = 0;
that.setData({
isBind: false,
bindStatus: "fail"
});
setTimeout(() => {
that.setData({
isLoading: false
});
}, 2000);
clearInterval(interval);
}
requestNum++;
getThirdUserPlatForm().then(res => {
let relatedAppPlatformList = [];
res.data.data.forEach(item => {
if (item.platform === this.data.platform) {
this.setData({
name: item.userName,
isBind: true,
bindStatus: "success"
});
setTimeout(() => {
that.setData({
isLoading: false
});
}, 2000);
clearInterval(interval);
this.$store.data.relatedAppNeedUpdate = true;
this.update();
}
});
});
}, 1000);
},
bindApp() {
if (this.data.isLoading) {
return false;
}
this.setData({
isLoading: true,
bindStatus: "loading"
});
this.sendRequest();
if (this.data.platform === "outlook") {
let data = `${getApp().globalData.userid},${dd.corpId}`;
getOutlookUrl(data).then(res => {
openLink({
url: res.data.data
});
});
} else if (this.data.platform === "zoom") {
let data = {
userId: getApp().globalData.userid,
orgId: dd.corpId
};
getZoomUrl(data).then(res => {
openLink({
url: res.data.data
});
});
}
},
unbind() {
unbindingApp(this.data.platform).then(res => {
if (res.data.data) {
this.setData({
name: "",
isBind: false,
showSelectPopup: false
});
this.$store.data.relatedAppNeedUpdate = true;
this.update();
}
});
},
onSelectPopup(e) {
if (e.target.dataset.item.text === "取消关联") {
this.unbind();
}
},
onSelectPopupCancel() {
this.setData({
showSelectPopup: false
});
},
showPopup() {
this.setData({
showSelectPopup: true
});
},
onUnload() {
clearInterval(interval);
}
});
{
"usingComponents": {
"selectpopup": "../../components/selectPopup/selectPopup"
}
}
{ {
"pullRefresh": false,
"usingComponents": { "usingComponents": {
"popup": "../../components/popup/index", "popup": "../../components/popup/index",
"list": "../../components/list/list", "list": "../../components/list/list",
......
@import "../../template/loading/loading.acss"; @import "../../template/loading/loading.acss";
@import "../../template/affairBlank/index.acss"; @import "../../template/affairBlank/index.acss";
@import "../../template/fullScreen/fullScreen.acss"; @import "../../template/fullScreen/fullScreen.acss";
@import "../../template/refresh/index.acss";
.dynamicBox { .dynamicBox {
width: 100%; width: 100%;
overflow: hidden; overflow: hidden;
...@@ -9,6 +10,10 @@ ...@@ -9,6 +10,10 @@
height: 100vh; height: 100vh;
} }
.dynamicBox_add_padding {
padding-bottom: 188rpx;
}
.dynamicList { .dynamicList {
width: 100%; width: 100%;
} }
...@@ -100,6 +105,7 @@ ...@@ -100,6 +105,7 @@
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: center; align-items: center;
flex-direction: column;
} }
.scroll-lock { .scroll-lock {
...@@ -191,8 +197,9 @@ ...@@ -191,8 +197,9 @@
margin-bottom: 32rpx; margin-bottom: 32rpx;
} }
.today { .date .today {
border-left: 8rpx solid rgba(234, 12, 40, 1); border-left: 8rpx solid rgba(234, 12, 40, 1);
color: rgba(10, 10, 10, 1) !important;
} }
.todayNoData { .todayNoData {
...@@ -388,9 +395,9 @@ ...@@ -388,9 +395,9 @@
.iconicon_days { .iconicon_days {
position: absolute; position: absolute;
left: 10rpx; left: 9rpx;
top: 12rpx; top: 12rpx;
font-size: 23rpx; font-size: 24rpx;
} }
.tabBarView .iconicon_days { .tabBarView .iconicon_days {
......
<import src="../../template/loading/loading.axml"/> <import src="../../template/loading/loading.axml"/>
<import src="../../template/fullScreen/fullScreen.axml"/> <import src="../../template/fullScreen/fullScreen.axml"/>
<view a:if='{{refresh}}' onTap="onLoad">连接超时,请重试,刷新按钮</view> <import src="../../template/refresh/index.axml"/>
<template is="refresh" a:if='{{refresh}}' ></template>
<block a:else> <block a:else>
<view hidden="{{$data.tabBarIndex === '1'}}"> <view hidden="{{$data.tabBarIndex === '1'}}">
<import src="../../template/affairBlank/index.axml"/> <import src="../../template/affairBlank/index.axml"/>
<view class="{{isStopBodyScroll ? 'scroll-lock' : ''}}" onTap="closeSwipe" onTouchStart="closeSwipe" onTouchMove="closeSwipe" onTouchEnd="closeSwipe"> <view class="{{isStopBodyScroll ? 'scroll-lock' : ''}}" onTap="closeSwipe" onTouchStart="closeSwipe" onTouchMove="closeSwipe" onTouchEnd="closeSwipe">
<block a:if="{{!listLoading}}"> <block a:if="{{!listLoading}}">
<scroll-view a:if="{{dynamicList.length > 0}}" scroll-y="{{true}}" lower-threshold="{{400}}" class="dynamicBox" onScrollToLower="onScrollToLower"> <scroll-view a:if="{{dynamicList.length > 0}}" scroll-y="{{true}}" lower-threshold="{{400}}" class="dynamicBox {{isIPX ? 'dynamicBox_add_padding' : ''}}" onScrollToLower="onScrollToLower">
<view class="dynamicList"> <view class="dynamicList">
<swipe onSetBodyDisableScroll="setBodyDisableScroll" rightWidth="{{ 78 }}" leftWidth="{{ 0 }}" a:for="{{dynamicList}}" class="dynamicContent" key="{{item.scheduleId}}"> <swipe onSetBodyDisableScroll="setBodyDisableScroll" rightWidth="{{ 78 }}" leftWidth="{{ 0 }}" a:for="{{dynamicList}}" class="dynamicContent" key="{{item.scheduleId}}">
<view class="dynamicDetails"> <view class="dynamicDetails">
...@@ -79,7 +80,7 @@ ...@@ -79,7 +80,7 @@
<!-- 天 --> <!-- 天 -->
<block a:elif="{{item.type == 'day' || item.type == 'today'}}"> <block a:elif="{{item.type == 'day' || item.type == 'today'}}">
<view class="date li" id="{{ item.dateStr}}"> <view class="date li" id="{{ item.dateStr}}">
<view class="hasDateTitle {{item.type == 'today' && item.hasDateLabel ? 'today' : ''}} {{item.value.isBeOverdue ? 'overdueLabel':''}}"> <view class="hasDateTitle {{item.value.isBeOverdue ? 'overdueLabel':''}} {{item.type == 'today' && item.hasDateLabel ? 'today' : ''}}">
<view> <view>
{{item.week}} {{item.week}}
</view> </view>
...@@ -92,7 +93,7 @@ ...@@ -92,7 +93,7 @@
<view class="scheduleTime"> <view class="scheduleTime">
<text a:if="{{item.value.isDaySpan && item.value.isfirstDayOrEndDay === '0'}}">{{item.value.thisDayStartTime}}</text> <text a:if="{{item.value.isDaySpan && item.value.isfirstDayOrEndDay === '0'}}">{{item.value.thisDayStartTime}}</text>
<text a:elif="{{item.value.isDaySpan && item.value.isfirstDayOrEndDay === '1'}}">全天</text> <text a:elif="{{item.value.isDaySpan && item.value.isfirstDayOrEndDay === '1'}}">全天</text>
<text a:elif="{{item.value.isDaySpan && item.value.isfirstDayOrEndDay === '2'}}">直到{{item.value.thisDayEndTime}}</text> <text a:elif="{{item.value.isDaySpan && item.value.isfirstDayOrEndDay === '2'}}">{{ item.value.thisDayEndTime == '00:00' ? '全天' : '直到'+item.value.thisDayEndTime }}</text>
<text a:else>{{item.value.thisDayStartTime}} - {{item.value.thisDayEndTime}}</text> <text a:else>{{item.value.thisDayStartTime}} - {{item.value.thisDayEndTime}}</text>
</view> </view>
</view> </view>
...@@ -148,5 +149,5 @@ ...@@ -148,5 +149,5 @@
<text class="iconfont iconicon_add1"></text> <text class="iconfont iconicon_add1"></text>
</view> </view>
</view> </view>
<template is="fullScreen" data="{{isIPX:isFullscreen}}" /> <template is="fullScreen" data="{{isIPX:isIPX}}" />
</view> </view>
\ No newline at end of file
...@@ -36,24 +36,20 @@ export function getExcludeDate(data = []) { ...@@ -36,24 +36,20 @@ export function getExcludeDate(data = []) {
}; };
} }
// 返回跨天数 // 返回跨天数
export function getNextDateList(startTime, endTime) { export function getNextDateList(startTime, endTime) {
let days = 0; let days = 0;
const nextDateList = []; const nextDateList = [];
if (startTime.getDate() !== endTime.getDate()) {
//同一个月 //去掉时分
if (startTime.getMonth() == endTime.getMonth()) { const firstDate = new Date(startTime.toLocaleDateString());
days = endTime.getDate() - startTime.getDate(); const secondDate = new Date(endTime.toLocaleDateString());
} days = parseInt(Math.abs(firstDate.getTime() - secondDate.getTime()) / (1000 * 60 * 60 * 24));
//跨月
else { if (endTime.getHours() == 0 && endTime.getMinutes() == 0) {
// 一个月份有多少天new Date(year, month, 0).getDate() days -= 1;
const startMonth = new Date(startTime.getFullYear(), startTime.getMonth(), 0).getDate();
days = startMonth - startTime.getDate() + endTime.getDate()
}
} else {
//跨一个月 不考虑
} }
//返回跨天的日期数组 //返回跨天的日期数组
for (let i = 0; i <= days; i++) { for (let i = 0; i <= days; i++) {
const newDate = new Date(startTime); const newDate = new Date(startTime);
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
.affair-list { .affair-list {
background: #fff; background: #fff;
padding: 48rpx 32rpx 220rpx 32rpx; padding: 48rpx 32rpx 220rpx 32rpx;
/* height: calc(100vh - 200rpx); */
} }
.affair-list-margin-top { .affair-list-margin-top {
...@@ -113,11 +114,13 @@ page { ...@@ -113,11 +114,13 @@ page {
background: #fff; background: #fff;
z-index: 1; z-index: 1;
position: relative; position: relative;
width: 100%;
padding-bottom: 0; padding-bottom: 0;
height: 200rpx;
} }
.hideTitle { .hideTitle {
font-family: PingFangSC-Medium; font-family: PingFangSC-Regular;
font-size: 40rpx; font-size: 40rpx;
line-height: 56rpx; line-height: 56rpx;
color: #1B263D; color: #1B263D;
...@@ -414,12 +417,14 @@ input { ...@@ -414,12 +417,14 @@ input {
} }
.remindTimeContaint { .remindTimeContaint {
height: 100%;
display: inline-block; display: inline-block;
max-width: 400rpx; max-width: 400rpx;
overflow: scroll; min-width: 0;
white-space: nowrap; white-space: nowrap;
margin: 0 20rpx; margin: 0 20rpx;
text-align: center; text-align: center;
overflow: scroll;
} }
.remindTimeContaint>text { .remindTimeContaint>text {
...@@ -608,3 +613,17 @@ input { ...@@ -608,3 +613,17 @@ input {
.addPadding { .addPadding {
padding-bottom: 270rpx; padding-bottom: 270rpx;
} }
.lineThrough {
text-decoration: line-through;
}
.loading-more {
color: rgba(234, 12, 40, 1);
font-size: 24rpx;
text-align: center;
width: 400rpx;
border-top: 1px solid rgba(239, 242, 245, 1);
padding-top: 32rpx;
margin: 0 auto 50rpx;
}
\ No newline at end of file
...@@ -45,7 +45,7 @@ ...@@ -45,7 +45,7 @@
<view class="noPlace" a:if="{{!$data.locationName}}" onTap="nextPage" data-nextPage="location"> <view class="noPlace" a:if="{{!$data.locationName}}" onTap="nextPage" data-nextPage="location">
添加地点 添加地点
</view> </view>
<view class="hasplace" onTap="nextPage" data-nextPage="location" a:else> <view class="hasplace {{mrReserveStatus === 'Y' ? 'lineThrough' : ''}} " onTap="nextPage" data-nextPage="location" a:else>
{{$data.locationName}} {{$data.locationName}}
</view> </view>
<view class=" icon iconfont iconicon_close close" a:if="{{!!$data.locationName&&(currentPeople == organizer)}}" data-close="location" catchTap="close"> <view class=" icon iconfont iconicon_close close" a:if="{{!!$data.locationName&&(currentPeople == organizer)}}" data-close="location" catchTap="close">
...@@ -162,9 +162,9 @@ ...@@ -162,9 +162,9 @@
<view class="remind" catchTap="showPopup" data-type="aheadTime"> <view class="remind" catchTap="showPopup" data-type="aheadTime">
<text class="iconfont iconicon_time1"></text> <text class="iconfont iconicon_time1"></text>
<text class="remindTimeContaint" a:if="{{aheadTimes.length}}"> <text class="remindTimeContaint" a:if="{{aheadTimes.length}}">
<text class="remindTime" a:for="{{comListData.aheadTimesList}}" a:if="{{aheadTimes.includes(item.id)}}"> <block class="remindTime" decode="{{true}}" a:for="{{comListData.aheadTimesList}}" a:if="{{aheadTimes.includes(item.id)}}">
{{item.text}} {{item.text}}{{' '}}
</text> </block>
</text> </text>
<text class="noRemind" a:if="{{!aheadTimes.length}}">不提醒</text> <text class="noRemind" a:if="{{!aheadTimes.length}}">不提醒</text>
<text class="iconfont iconicon_share"></text> <text class="iconfont iconicon_share"></text>
...@@ -202,10 +202,10 @@ ...@@ -202,10 +202,10 @@
<!-- 动态列表 --> <!-- 动态列表 -->
<import src="../../template/avater/index.axml"/> <import src="../../template/avater/index.axml"/>
<import src="../../template/affairBlank/index.axml"/> <import src="../../template/affairBlank/index.axml"/>
<view class="affair-list {{isExpand? '' : 'affair-list-margin-top'}} {{!isExpand&&$data.participatorList.length>1 ? 'addPadding' : ''}}" onTap="hideFileOperate"> <scroll-view class="affair-list {{isExpand? '' : 'affair-list-margin-top'}} {{!isExpand&&$data.participatorList.length>1 ? 'addPadding' : ''}}" onTap="hideFileOperate" scroll-y="{{true}}" lower-threshold="{{400}}" onScrollToLower="onScrollToLower">
<view a:if="{{!isExpand}}" class="affair-list-title">会议动态</view> <view a:if="{{!isExpand}}" class="affair-list-title">会议动态</view>
<block a:if="{{!affairLoading}}"> <block a:if="{{!affairLoading}}">
<block a:for="{{affairList}}"> <block a:for="{{affairList}}" key="{{item.id}}">
<view a:if="{{item.category == '3' && item.taskViewList && item.taskViewList.length > 0}}" class='compose-column'> <view a:if="{{item.category == '3' && item.taskViewList && item.taskViewList.length > 0}}" class='compose-column'>
<view class="avater task-avater"> <view class="avater task-avater">
<text class="iconfont iconicon_task1"></text> <text class="iconfont iconicon_task1"></text>
...@@ -224,8 +224,9 @@ ...@@ -224,8 +224,9 @@
</view> </view>
<file-list fileView="{{item.fileView}}" organizer="{{organizer}}" currentPeople="{{currentPeople}}" onDeleteMeetingFile="deleteMeetingFile"/> <file-list fileView="{{item.fileView}}" organizer="{{organizer}}" currentPeople="{{currentPeople}}" onDeleteMeetingFile="deleteMeetingFile"/>
</view> </view>
<view a:if="{{item.content}}" class='simple-column'>{{item.content}} {{item.createTime}}</view> <view a:if="{{item.content && ((item.category == 1 || item.taskViewList && item.taskViewList.length > 0) || ( item.fileView && item.fileView.fileInfos && item.fileView.fileInfos.length > 0 ))}}" class='simple-column'>{{item.content}} {{item.createTime}}</view>
</block> </block>
<view class="loading-more" onTap="loadAffairMore" a:if="{{current < pages}}">加载更多动态...</view>
<view class="affair-placeholder" a:if="{{affairList.length == 1 && affairList[0].logType == 'create_schedule'}}"> <view class="affair-placeholder" a:if="{{affairList.length == 1 && affairList[0].logType == 'create_schedule'}}">
<template is="affair-placeholder" data="{{title: '添加文件', tip: '我们不开无准备的会,快来上传会议文件吧。'}}"/> <template is="affair-placeholder" data="{{title: '添加文件', tip: '我们不开无准备的会,快来上传会议文件吧。'}}"/>
</view> </view>
...@@ -243,7 +244,7 @@ ...@@ -243,7 +244,7 @@
<!-- 任务修改弹出框 --> <!-- 任务修改弹出框 -->
<task-panel a:if="{{pop.type === 'updateTask'}}" action='update' onDeleteTask="deleteTask"/> <task-panel a:if="{{pop.type === 'updateTask'}}" action='update' onDeleteTask="deleteTask"/>
</popup> </popup>
</view> </scroll-view>
</view> </view>
</block> </block>
<view class="loading" a:if="{{loading || !getData}}"> <view class="loading" a:if="{{loading || !getData}}">
......
{ {
"pullRefresh": false,
"usingComponents": { "usingComponents": {
"popup": "../../components/popup/index", "popup": "../../components/popup/index",
"task-list": "../../components/taskList/taskList", "task-list": "../../components/taskList/taskList",
......
...@@ -132,10 +132,12 @@ ...@@ -132,10 +132,12 @@
background: rgba(10, 10, 10, 0.2) !important; background: rgba(10, 10, 10, 0.2) !important;
border: 1rpx solid rgba(27, 38, 61, 0.1) !important; border: 1rpx solid rgba(27, 38, 61, 0.1) !important;
} }
.myOccupied { .myOccupied {
background: rgba(234, 12, 40, 1) !important; background: rgba(234, 12, 40, 1) !important;
border: 1rpx solid rgba(27, 38, 61, 0.1) !important; border: 1rpx solid rgba(27, 38, 61, 0.1) !important;
} }
.myReservation { .myReservation {
background: rgba(234, 12, 40, 1); background: rgba(234, 12, 40, 1);
border: 1rpx solid rgba(27, 38, 61, 0.1); border: 1rpx solid rgba(27, 38, 61, 0.1);
...@@ -179,11 +181,6 @@ ...@@ -179,11 +181,6 @@
height: 32rpx; height: 32rpx;
} }
.modalHeader>view {
flex: 1;
color: #191F25;
}
.changeDay { .changeDay {
width: 100%; width: 100%;
border-bottom: 2rpx solid rgba(25, 31, 37, 0.12); border-bottom: 2rpx solid rgba(25, 31, 37, 0.12);
......
<view class="searchHeader"> <view class="searchHeader">
<view class="searchTime"> <view class="searchTime">
<view onTap="selectSearchTime">{{search.time.split('-')[0]}}年{{search.time.split('-')[1]}}月{{search.time.split('-')[2]}}日</view> <view onTap="selectSearchTime">{{search.time.split('-')[0]}}年{{search.time.split('-')[1]}}月{{search.time.split('-')[2]}}日</view>
<view class="iconfont iconicon_open"></view> <view class="iconfont iconicon_open" onTap="selectSearchTime"></view>
</view> </view>
</view> </view>
<view class="roomScrollView" style="{{canScroll ? '': 'overflow:hidden'}}""> <view class="roomScrollView" style="{{canScroll ? '': 'overflow:hidden'}}">
<view class="reserveMeeting"> <view class="reserveMeeting">
<view class="meetingRoomContent" a:for="{{reserveRoomList}}" data-roomid="{{item.meetingRoomId}}" data-roomname="{{item.name}}" onTap="changeRoomTime"> <view class="meetingRoomContent" a:for="{{reserveRoomList}}" data-roomid="{{item.meetingRoomId}}" data-roomname="{{item.name}}" onTap="changeRoomTime">
<view class="roomMessage"> <view class="roomMessage">
...@@ -55,8 +55,8 @@ ...@@ -55,8 +55,8 @@
<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" onTap="onDetermine"> <view class="modalHeader">
确定 <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>
......
...@@ -3,14 +3,14 @@ ...@@ -3,14 +3,14 @@
<view class="platformImg {{item.platform}}"> <view class="platformImg {{item.platform}}">
</view> </view>
<view class="platformName"> <view class="platformName">
{{item.thirdUserIdentify}} {{item.userName}}
</view> </view>
</view> </view>
<view class="platformMsg" a:if="{{item.platform === 'zoom'}}"> <view class="platformMsg" a:if="{{item.platform === 'zoom'}}">
<view class="platformImg {{item.platform}}"> <view class="platformImg {{item.platform}}">
</view> </view>
<view class="platformName"> <view class="platformName">
{{item.thirdUserIdentify}} {{item.userName}}
</view> </view>
</view> </view>
<view class="unBinding" onTap="showPopup"> <view class="unBinding" onTap="showPopup">
......
.refresh-bg {
position: fixed;
left: 0;
top: 0;
background: #FFFFFF;
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
}
.refresh-btn {
padding: 0 48rpx;
margin-top: 32rpx;
}
\ No newline at end of file
<template name="refresh">
<view class="refresh-bg">
<view>您的网络好像不给力,请重试</view>
<button class="btn refresh-btn" onTap="refresh">刷新</button>
</view>
</template>
\ No newline at end of file
...@@ -7,11 +7,23 @@ dd-store@^1.9.0: ...@@ -7,11 +7,23 @@ dd-store@^1.9.0:
resolved "https://registry.yarnpkg.com/dd-store/-/dd-store-1.9.0.tgz#8f531e28b6991919bc60a17148fa9e1bba142397" resolved "https://registry.yarnpkg.com/dd-store/-/dd-store-1.9.0.tgz#8f531e28b6991919bc60a17148fa9e1bba142397"
integrity sha512-bhIkQMcHjNTDGG03riSeLp4UfdOBqWqg+qFfqqwAvgBiARrYbrEWU/YVE5tOV6XOqyfozp+MpZP3SaFyOtuUrw== integrity sha512-bhIkQMcHjNTDGG03riSeLp4UfdOBqWqg+qFfqqwAvgBiARrYbrEWU/YVE5tOV6XOqyfozp+MpZP3SaFyOtuUrw==
dingtalk-jsapi@^2.10.3:
version "2.10.3"
resolved "https://registry.yarnpkg.com/dingtalk-jsapi/-/dingtalk-jsapi-2.10.3.tgz#ade5c2f858f4ac41143d294ae172b34efaeb95e2"
integrity sha512-ozfuwWzOKx4qgfs+ijdN2XgylB8xZ4zxetDp4ND272YDD5C9GJLo5GKhsFR6kQ/lnU0WIzBo2rYjEwZKtMrJxw==
dependencies:
promise-polyfill "^7.1.0"
luxon@^1.21.3: luxon@^1.21.3:
version "1.22.2" version "1.22.2"
resolved "https://registry.yarnpkg.com/luxon/-/luxon-1.22.2.tgz#799d65cc1ed0ba85b4cb3f7dd38fc08a8d1a6750" resolved "https://registry.yarnpkg.com/luxon/-/luxon-1.22.2.tgz#799d65cc1ed0ba85b4cb3f7dd38fc08a8d1a6750"
integrity sha512-vq6eSaOOw1fKob+JXwfu0e3/UFUT4G4HTFRJab7dch8J1OdOGW/vXqCiJsY7rm2In+5gKNYx0EtnYT0Tc5V4Qw== integrity sha512-vq6eSaOOw1fKob+JXwfu0e3/UFUT4G4HTFRJab7dch8J1OdOGW/vXqCiJsY7rm2In+5gKNYx0EtnYT0Tc5V4Qw==
promise-polyfill@^7.1.0:
version "7.1.2"
resolved "https://registry.yarnpkg.com/promise-polyfill/-/promise-polyfill-7.1.2.tgz#ab05301d8c28536301622d69227632269a70ca3b"
integrity sha512-FuEc12/eKqqoRYIGBrUptCBRhobL19PS2U31vMNTfyck1FxPyMfgsXyW4Mav85y/ZN1hop3hOwRlUDok23oYfQ==
rrule@^2.6.4: rrule@^2.6.4:
version "2.6.4" version "2.6.4"
resolved "https://registry.yarnpkg.com/rrule/-/rrule-2.6.4.tgz#7f4f31fda12bc7249bb176c891109a9bc448e035" resolved "https://registry.yarnpkg.com/rrule/-/rrule-2.6.4.tgz#7f4f31fda12bc7249bb176c891109a9bc448e035"
......
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