Commit 06d2897e by fengzhaoyu

fix:合并

parents 84c1fb33 730a8867
{
"component": true,
"disableScroll": true,
"allowsBounceVertical": "NO",
"usingComponents": {
"task-list": "../../components/taskList/taskList",
"file-list": "../../components/fileList/fileList",
......
......@@ -4,7 +4,6 @@ setGlobalStore(exampleStore);
App({
onLaunch(options) {
this.checkFullScren()
// 第一次打开
// options.query == {number:1}
// console.info('App onLaunch');
......@@ -13,25 +12,8 @@ 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": [
"pages/index/index",
"pages/meetingRoomList/meetingRoomList",
"pages/scheduleList/scheduleList",
"pages/scheduleList/scheduleList",
"pages/meetingDetail/meetingDetail",
"pages/excutorList/excutorList",
"pages/createMeeting/createMeeting",
"pages/outLookContact/outLookContact",
"pages/place/place",
"pages/meetingRoomList/meetingRoomList",
"pages/uploadFile/uploadFile",
"pages/participantsDetail/participantsDetail",
"pages/applicationDetails/applicationDetails",
"pages/attendeeList/attendeeList"
],
"window": {
"allowsBounceVertical": "NO"
"allowsBounceVertical": "YES"
}
}
\ No newline at end of file
}
.am-calendar {
background-color: #fff;
padding-top: 10rpx;
}
.am-calendar-months {
display: flex;
box-sizing: border-box;
padding: 0 200rpx;
align-items: center;
height: 76rpx;
}
.am-calendar-prev-month, .am-calendar-next-month {
display: flex;
width: 40rpx;
font-size: 32rpx;
}
.am-calendar-prev-month {
justify-content: flex-start;
}
.am-calendar-next-month {
justify-content: flex-end;
}
.am-calendar-arrow {
height: 28rpx;
width: 28rpx;
background-image: url('https://gw.alipayobjects.com/zos/rmsportal/vYcMhkfyHRIOeVXWdcPe.png');
background-size: 8rpx 14rpx;
background-position: left center;
background-repeat: no-repeat;
}
.am-calendar-arrow_year {
width: 28rpx;
background-repeat: no-repeat;
}
.am-calendar-arrow.next {
transform: rotate(180deg);
}
.am-calendar-selected-month {
flex: 1;
text-align: center;
font-size: 32rpx;
font-weight: 600;
color: #1B263D;
}
.am-calendar-days {
display: flex;
height: 26rpx;
padding-top: 28rpx;
line-height: 26rpx;
box-sizing: content-box;
}
.am-calendar-day {
flex: 1;
text-align: center;
color: #1B263D;
font-size: 28rpx;
}
.am-calendar-dates {
display: flex;
flex-direction: column;
}
.am-calendar-week {
margin-bottom: 32rpx;
display: flex;
flex-direction: row;
}
.am-calendar-week:first-child {
margin-top: 32rpx;
}
.am-calendar-date-wrap {
position: relative;
text-align: center;
display: flex;
flex-direction: column;
align-items: center;
height: 42rpx;
flex: 1;
}
.am-calendar-date {
text-align: center;
height: 23rpx;
line-height: 23rpx;
font-size: 28rpx;
font-family: 'Helvetica';
color: #1B263D;
}
.am-calendar-tag {
position: absolute;
top: 21rpx;
width: 42rpx;
overflow: hidden;
text-overflow: hidden;
white-space: nowrap;
color: #f5a623;
font-size: 10rpx;
font-weight: 500;
}
.am-calendar-today {
color: #108ee9;
}
.am-calendar-gray {
color: #ccc;
}
.am-calendar-selected .am-calendar-block {
position: absolute;
left: calc(50% - 20rpx);
top: calc(50% - 12rpx);
transform: translateY(-50%);
width: 42rpx;
height: 42rpx;
background: #309EF2;
border-radius: 50%;
}
.am-calendar-middle.is-range .am-calendar-block {
position: absolute;
left: 0;
top: calc(50% - 10rpx);
transform: translateY(-50%);
height: 42rpx;
background: #309EF2;
width: 100%;
border-radius: 0;
}
.am-calendar-start.is-range .am-calendar-block {
position: absolute;
left: calc(50% - 21rpx);
top: calc(50% - 10rpx);
transform: translateY(-50%);
width: 100%;
height: 42rpx;
background: #309EF2;
border-radius: 2rpx 0 0 2rpx;
}
.am-calendar-end.is-range .am-calendar-block {
position: absolute;
left: 0;
top: calc(50% - 10rpx);
transform: translateY(-50%);
width: calc(50% + 21rpx);
height: 42rpx;
background: #309EF2;
border-radius: 0 2rpx 2rpx 0;
}
.am-calendar-selected .am-calendar-block.has-tag, .am-calendar-start .am-calendar-block.has-tag, .am-calendar-middle .am-calendar-block.has-tag, .am-calendar-end .am-calendar-block.has-tag {
top: calc(50% - 7rpx);
}
.am-calendar-selected .am-calendar-date, .am-calendar-start .am-calendar-date, .am-calendar-middle .am-calendar-date, .am-calendar-end .am-calendar-date {
position: relative;
color: #fff;
}
.am-calendar-selected .am-calendar-tag, .am-calendar-start .am-calendar-tag, .am-calendar-middle .am-calendar-tag, .am-calendar-end .am-calendar-tag {
color: #fff;
}
.am-calendar-disable .am-calendar-date {
color: #999;
}
\ No newline at end of file
<view class="am-calendar {{className}}" a:if="{{dates.length > 0}}">
<view class="am-calendar-months">
<view class="am-calendar-prev-month" onTap="onPrevYearTap" a:if="{{haveYear}}">
<view class="am-calendar-arrow am-calendar-arrow_year"></view>
</view>
<view class="am-calendar-prev-month" onTap="onPrevMonthTap">
<view class="am-calendar-arrow"></view>
</view>
<view class="am-calendar-selected-month">{{selectedYear}}年{{selectedMonth + 1}}月</view>
<view class="am-calendar-next-month" onTap="onNextMonthTap">
<view class="am-calendar-arrow next"></view>
</view>
<view class="am-calendar-next-month" onTap="onNextYearTap" a:if="{{haveYear}}">
<view class="am-calendar-arrow am-calendar-arrow_year next"></view>
</view>
</view>
<view class="am-calendar-days">
<block a:for="{{['日', '一', '二', '三', '四', '五', '六']}}">
<view class="am-calendar-day">{{item}}</view>
</block>
</view>
<view class="am-calendar-dates">
<block a:for="{{dates}}">
<view class="am-calendar-week">
<block a:for="{{item}}">
<view
class="am-calendar-date-wrap
{{ item.isSelected ? 'am-calendar-selected': '' }}
{{ item.isStart ? 'am-calendar-start': '' }}
{{ item.isMiddle ? 'am-calendar-middle': '' }}
{{ item.isEnd ? 'am-calendar-end': '' }}
{{ item.disable ? 'am-calendar-disable': '' }}
{{ type === 'range' ? 'is-range' : '' }}"
data-year="{{item.year}}"
data-month="{{item.month}}"
data-date="{{item.date}}"
onTap="onDateTap"
>
<view
class="am-calendar-block {{ blockType === 2 ? 'has-tag': '' }}"
></view>
<view
class="am-calendar-date {{ item.isGray ? 'am-calendar-gray': '' }} {{ item.isToday ? 'am-calendar-today': ''}}"
>{{item.date}}</view>
<view class="am-calendar-tag" style="{{
color: item.isSelected || item.isMiddle || item.isStart || item.isEnd ? '#fff' : (item.disable ? '#999' : item.color)
}}">{{item.disable ? '' : item.tag}}</view>
</view>
</block>
</view>
</block>
</view>
</view>
\ No newline at end of file
{
"component": true
}
\ No newline at end of file
......@@ -81,4 +81,10 @@ picker-view .column {
left: 32rpx;
right: auto;
color: red;
}
.tabBarBottom {
height: 68rpx;
width: 100%;
background: #fff;
}
\ No newline at end of file
......@@ -40,4 +40,6 @@
</picker-view-column>
</block>
</picker-view>
<view class="tabBarBottom" a:if="{{isIPX}}">
</view>
</view>
\ No newline at end of file
......@@ -259,6 +259,7 @@ Component({
})
} else {
// 实时校验
this.checkValue(startDate, this.data.endPostTime);
}
}
......@@ -294,12 +295,18 @@ Component({
},
changeWay() {
this.setData({
isEndTimeCustom: true
isEndTimeCustom: true,
currentTab: 'end'
});
//如果在end tab 切换, 需要设置结束时间的pick column回显
if (this.data.currentTab == 'end') {
//重新计算结束时间 开始时间+持续时间
const endDate = getDateByPickValue(this.data.start.pickValue);
endDate.setMinutes(endDate.getMinutes() + getDurationValue(this.data.duration.label));
this.changeEnd(endDate);
this.setData({
pickValue: this.data.end.pickValue
pickValue: this.data.end.pickValue,
});
}
},
......
{
"dependencies": {
"dd-store": "^1.8.4",
"less": "^3.11.1",
"rrule": "^2.6.4"
}
}
......@@ -33,6 +33,7 @@ input {
font-size: 40rpx;
font-family: PingFangSC-Medium;
width: 100%;
height: 52rpx;
}
.title>.icon {
......@@ -164,10 +165,10 @@ input {
}
.conflict {
line-height: 13px;
line-height: 15px;
vertical-align: top;
width: 13px;
height: 13px;
width: 15px;
height: 15px;
position: absolute;
background: #fff;
bottom: 0rpx;
......@@ -257,4 +258,10 @@ input {
.iconicon_repeat1 {
color: rgba(10, 10, 10, 0.4)
}
.tabBarBottom {
height: 68rpx;
width: 100%;
background: #fff;
}
\ No newline at end of file
......@@ -110,9 +110,11 @@
<view class="button">
立即创建
</view>
<view class="tabBarBottom" a:if="{{isIPX}}">
</view>
</view>
<popup title="{{popupTitle}}" show="{{popupShow}}" mask="true" onClose="closePopup">
<meeting-time-picker a:if="{{'time' === comType}}" onComplete="onComplete"></meeting-time-picker>
<meeting-time-picker a:if="{{'time' === comType}}" onComplete="onComplete" isIPX="{{isIPX}}"></meeting-time-picker>
<hlist a:if="{{'participator' === comType}}" dataComList="{{comHListData.contactData}}" onSelectComHList="selectComHList"></hlist>
<list a:if="{{comType=='repeat' || comType=='meetingWayModel'}}" dataComList="{{comType=='repeat' ? comListData.repeatList : comListData.meetingWayList}}" onComSelectList="selectComList" comSelectListId="{{comType=='repeat' ? comListData.comSelectListId : comListData.meetingWayModelId}}" iconType="{{comListData.iconType}}">
</list>
......
import { addSchedule, getUserScheduleInTime } from '../../api/request.js'
import { throttle, getInterTime } from './../../utils/utils.js'
import { checkFullScren } from "../../utils/checkFullScren";
import create from 'dd-store'
create.Page({
data: {
......@@ -44,7 +45,8 @@ create.Page({
week: '',
isAcrossDay: false,
conflictPeople: [],
placeholder: ''
placeholder: '',
isIPX: false
},
showPop(event) {
......@@ -66,6 +68,7 @@ create.Page({
title: `创建会议`
})
this.setData({
isIPX: checkFullScren(),
placeholder: `${getApp().globalData.name}创建的会议`
})
this.reset()
......
......@@ -105,7 +105,7 @@
}
.tabBarBottom {
height: 15rpx;
height: 68rpx;
width: 100%;
background: #fff;
}
\ No newline at end of file
......@@ -27,6 +27,6 @@
<text class="iconfont iconicon_add1"></text>
</view>
</view>
<view class="tabBarBottom">
<view class="tabBarBottom" a:if="{{isIPX}}">
</view>
</view>
\ No newline at end of file
import { getFormatDate } from "../../utils/utils";
import { checkFullScren } from "../../utils/checkFullScren";
import create from "dd-store";
create.Page({
data: {
......@@ -11,7 +12,7 @@ create.Page({
let iconDay = new Date().getDate();
this.setData({
iconDay: iconDay,
isIPX: getApp().globalData.isIPX
isIPX: checkFullScren()
});
dd.setNavigationBar({
title: "动态"
......@@ -30,7 +31,7 @@ create.Page({
let title = "动态";
switch (e.currentTarget.dataset.tabbar) {
case '0':
title = '动态185';
title = '动态186';
break;
case "1":
title = "日程";
......
......@@ -308,10 +308,10 @@ input {
}
.conflict {
line-height: 13px;
line-height: 15px;
vertical-align: top;
width: 13px;
height: 13px;
width: 15px;
height: 15px;
position: absolute;
background: #fff;
bottom: 0rpx;
......@@ -526,6 +526,8 @@ input {
border-top: 1px solid rgba(239, 242, 245, 1);
padding-top: 168rpx;
text-align: center;
width: 600rpx;
margin: 0 auto;
}
.affair-placeholder image {
......@@ -587,7 +589,7 @@ input {
}
.tabBarBottom {
height: 20rpx;
background: #fff;
height: 68rpx;
width: 100%;
background: #fff;
}
\ No newline at end of file
......@@ -37,7 +37,7 @@
<view class="permission" a:if="{{currentPeople != organizer}}">
</view>
<view class="place">
<view class="iconicon_room iconfont icon" a:if="{{roomId}}">
<view class="iconicon_room iconfont icon" a:if="{{$data.roomId}}">
</view>
<view class="iconicon_location1 iconfont icon {{$data.locationName ? '' : 'noValueIcon'}}" a:else>
</view>
......@@ -193,7 +193,7 @@
<text class="iconfont iconicon_share1"></text>
</view>
</view>
<view class="tabBarBottom">
<view class="tabBarBottom" a:if="{{isIPX}}">
</view>
</view>
<centerpopup centerPopup="{{centerPopup.showCenterPopup}}" centerPopupList="{{centerPopup.centerPopupList}}" onSelectSend="onSelectSend"></centerpopup>
......@@ -232,7 +232,7 @@
</block>
<view a:else>正在加载</view>
<popup a:if="{{popupShow}}" title="{{popupTitle}}" show="{{popupShow}}" mask="true" onClose="closePopup">
<meeting-time-picker a:if="{{'time' === comType}}" onComplete="onComplete" startTime="{{$data.startTime}}" endTime="{{$data.endTime}}"></meeting-time-picker>
<meeting-time-picker a:if="{{'time' === comType}}" onComplete="onComplete" startTime="{{$data.startTime}}" endTime="{{$data.endTime}}" isIPX="{{isIPX}}"></meeting-time-picker>
<hlist a:if="{{'participator' === comType}}" dataComList="{{comHListData.contactData}}" onSelectComHList="selectComHList"></hlist>
<list multiple="{{comListData.multiple}}" onCompelete="selectAheadtimes" comSelectList="{{comListData.aheadTimesListId}}" complete="{{comType=='aheadTime' ? true : false}}"a:if="{{comType=='repeat' || comType=='meetingWayModel' || comType=='aheadTime'}}" dataComList="{{comType=='repeat' ? comListData.repeatList : (comType=='aheadTime' ? comListData.aheadTimesList : comListData.meetingWayList)}}" onComSelectList="selectComList" comSelectListId="{{comType=='repeat' ? comListData.comSelectListId : (comType=='aheadTime'?comListData.aheadTimesListId : comListData.meetingWayModelId)}}" iconType="{{comListData.iconType}}">
</list>
......
import create from 'dd-store';
import { checkFullScren } from "../../utils/checkFullScren";
import pageStore from './store';
import { getMeetingRoomAffairs, createMeetingTask, deleteMeetingTask, updateMeetingTask, uploadPermissions } from '../../api/request';
import { isParticipate, deleteSchedule, getScheduleDetail, getUserScheduleInTime, modifySchedule } from '../../api/request.js'
......@@ -9,6 +10,7 @@ create.Page({
store: pageStore,
useAll: true,
data: {
isIPX: false,
$data: null,
affairLoading: true,
affairList: null, //store,页面用到的变量需要在这里声明
......@@ -184,6 +186,7 @@ create.Page({
title: `会议详情`
})
this.setData({
isIPX: checkFullScren(),
placeholder: `${getApp().globalData.name}创建的会议`,
scheduleItem: JSON.parse(event.scheduleItem) || JSON.parse(Object.keys(event)[0].split('=')[1]),
currentPeople: getApp().globalData.userid
......
......@@ -56,25 +56,6 @@
color: rgba(25, 31, 37, 0.40);
}
.searchLocation {
width: 200rpx;
height: 96rpx;
line-height: 96rpx;
}
.searchLocation>view:nth-of-type(1) {
flex: 1;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
text-align: right;
}
.searchLocation>view:nth-of-type(2) {
margin: 0 10rpx 0 16rpx;
width: 24rpx;
}
.reserveMeeting {
width: 100%;
}
......@@ -85,39 +66,6 @@
background: #ffffff;
}
.searchHeader2>scroll-view {
overflow-x: scroll;
display: flex;
height: 100%;
padding: 0 32rpx;
align-items: center;
}
.equipFacilityList {
margin-right: 24rpx;
white-space: nowrap;
display: flex;
align-items: center;
font-size: 26rpx;
line-height: 96rpx;
}
.selectListcheck {
margin-right: 8rpx;
}
.selectListcheck .iconfont {
font-size: 32rpx;
}
.selectListcheck .iconweigouxuan {
color: rgba(25, 31, 37, 0.12);
}
.selectListcheck .iconxuanzhong2 {
color: #3296FA;
}
.roomMessage {
width: 100%;
align-items: center
......@@ -157,26 +105,34 @@
.reserveRoomLocation {
color: rgba(25, 31, 37, 0.56);
}
.reserveRoomTimeBar{
.reserveRoomTimeBar {
overflow: hidden;
margin-top: 12rpx;
}
.reserveRoomTimeBarBg {
width: 100%;
display: flex;
margin-top: 32rpx;
border: 1px solid rgba(25, 31, 37, 0.08);
box-sizing: border-box;
flex-wrap: wrap;
flex-direction: column;
height: 60rpx;
}
.reserveRoomTimeBarBg>view {
flex: 1;
height: 32rpx;
border-right: 1px solid #ffffff;
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);
}
.reserveRoomTimeBarBg>view:nth-of-type(48) {
border-right: none !important;
.reserveRoomTimeBarBg>view:nth-of-type(47), .reserveRoomTimeBarBg>view:nth-of-type(48) {
margin-right: 0;
}
.preemption {
......@@ -184,15 +140,18 @@
}
.expired {
background: #EDEDEE;
background: url(../../assests/cancel.png) center /100% 100% !important;
border: 1px solid rgba(27, 38, 61, 0.04) !important;
}
.reservation {
background: #FFFFFF;
background: #F3F6FA !important;
border: 1px solid rgba(27, 38, 61, 0.10) !important;
}
.occupied {
background: #3296FA;
background: rgba(48, 112, 242, 0.28) !important;
border: 1rpx solid rgba(27, 38, 61, 0.10) !important;
}
.reserveRoomTimeBarNum {
......@@ -203,53 +162,32 @@
}
.reserveRoomTimeBarNum>view {
text-align: center;
flex: 1;
}
/* 弹框的样式 */
.modal {
position: fixed;
left: 0;
top: 0;
.modalContent, .calendarMoadl {
width: 100%;
height: 100%;
display: flex;
align-items: flex-end;
background: rgba(0, 0, 0, .15);
z-index: 999;
}
.modalContent {
width: 100%;
height: 838rpx;
background: #FFFFFF;
border-radius: 19rpx 19rpx 0 0;
box-shadow: 0 -2px 20px 0 rgba(25, 31, 37, 0.12);
height: 732rpx;
overflow: hidden;
margin-top: 10rpx;
}
.modalHeader {
height: 104rpx;
line-height: 104rpx;
font-size: 34rpx;
display: flex;
height: 32rpx;
line-height: 1;
font-size: 32rpx;
padding: 0 32rpx;
text-align: right;
color: #0A0A0A;
box-sizing: border-box;
border-bottom: 1px solid rgba(25, 31, 37, 0.12);
}
.modalHeader>view {
flex: 1;
}
.modalHeader>view:nth-of-type(1) {
color: #191F25;
text-align: left;
}
.modalHeader>view:nth-of-type(2) {
color: #3296FA;
text-align: right;
}
.changeDay {
......@@ -258,12 +196,29 @@
font-size: 30rpx;
text-align: center;
display: flex;
height: 104rpx;
line-height: 104rpx;
height: 80rpx;
align-items: center;
justify-content: space-between;
padding: 0 32rpx;
margin-top: 30rpx;
}
.changeDay>view {
flex: 1;
height: 80rpx;
}
.changeDay>view>view:nth-of-type(1) {
font-size: 28rpx;
font-family: DINAlternate-Bold, DINAlternate;
font-weight: bold;
color: rgba(10, 10, 10, 1);
line-height: 28rpx;
margin-bottom: 4rpx;
}
.changeDay>view>view:nth-of-type(2) {
font-size: 22rpx;
color: rgba(27, 38, 61, .56)
}
.modalOccupyTimeSlot {
......@@ -272,7 +227,7 @@
}
.modalOccupyTimeSlot>view {
height: 100rpx;
height: 80rpx;
width: 100%;
padding-left: 32rpx;
}
......@@ -285,7 +240,7 @@
display: flex;
align-items: center;
font-size: 24rpx;
color: rgba(25,31,37,0.56);
color: rgba(25, 31, 37, 0.56);
}
.OccupyTimeList>view:nth-of-type(1) {
......@@ -339,63 +294,16 @@
box-sizing: border-box;
}
.iconyigouxuan {
color: #3296FA;
}
/* 区域选择样式 */
.lableTreeBox {
position: fixed;
left: 0;
top: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, .1);
display: flex;
align-items: flex-end;
}
.lableTreeContent {
width: 100%;
height: 527rpx;
background: #FFFFFF;
box-shadow: 0 -2rpx 20rpx 0 rgba(25, 31, 37, 0.12);
border-radius: 19rpx 19rpx 0px 0px;
}
.lableTreeHeader {
width: 100%;
height: 104rpx;
padding: 0 32rpx;
line-height: 104rpx;
font-size: 34rpx;
display: flex;
box-sizing: border-box;
border-bottom: 1px solid rgba(25, 31, 37, 0.12);
}
.lableTreeHeader>view {
flex: 1;
height: 104rpx;
}
.lableTreeHeader>view:nth-of-type(1) {
color: #191F25;
}
.lableTreeHeader>view:nth-of-type(2) {
color: #3296FA;
text-align: right
.dataNumSelected {
border-bottom: 2rpx solid #EA0C28;
}
.dataNumSelected {
color: #3296FA;
.dataNumSelected view:nth-of-type(1) {
color: #EA0C28 !important;
}
.roomScrollView {
height: 100vh;
padding-top: 96rpx;
box-sizing: border-box;
position: relative;
}
......@@ -404,56 +312,71 @@
font-size: 24rpx;
margin-right: 8rpx;
}
.occupiedStatus {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.noRoom{
.noRoom {
position: absolute;
left: 0;
top: 0;
display: flex;
align-items: center;
justify-content: center;
width:100%;
height:100%;
width: 100%;
height: 100%;
}
.noRoom>view{
.noRoom>view {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
.noRoomTip{
.noRoomTip {
margin-top: 32rpx;
font-size: 30rpx;
color: rgba(25,31,37,0.56);
color: rgba(25, 31, 37, 0.56);
}
.modalFooter{
height: 120rpx;
line-height: 120rpx;
font-size: 26rpx;
color: #3296FA;
letter-spacing: -0.63px;
padding-left: 32rpx;
width: 100%;
box-sizing: border-box;
.modalTimeSlot {
height: 44rpx;
font-size: 32rpx;
font-family: DINAlternate-Bold, DINAlternate;
font-weight: bold;
color: rgba(10, 10, 10, .49);
line-height: 38rpx;
text-align: center;
}
::-webkit-scrollbar {
width: 0;
height: 0;
color: transparent;
}
.beOverdue .iconxuanzhong2{
color: rgba(25,31,37,0.12);
.beOverdue .iconicon_Agreed1 {
color: rgba(25, 31, 37, 0.12);
font-size: 40rpx;
}
.checked .iconxuanzhong2{
.checked .iconicon_Agreed1 {
color: #3296FA;
font-size: 40rpx;
}
.Unchecked .iconweigouxuan{
color: rgba(25,31,37,0.12);
.Unchecked .iconicon_uncheck {
color: rgba(25, 31, 37, 0.12);
font-size: 40rpx;
}
.calendarTip {
font-size: 24rpx;
text-align: center;
color: rgba(25, 31, 37, .56);
margin-top: 40rpx;
}
\ No newline at end of file
{
"usingComponents": {
"timecheckmodal": "../../components/timeCheckModal/timeCheckModal",
"lable-tree": "../../components/selectArea/selectArea"
},
"defaultTitle": "所有会议室"
}
\ No newline at end of file
"usingComponents": {
"popup": "../../components/popup/index",
"calendar": "../../components/calendar/calendar"
},
"defaultTitle": "所有会议室"
}
......@@ -92,10 +92,10 @@ input {
}
.conflict {
line-height: 13px;
line-height: 15px;
vertical-align: top;
width: 13px;
height: 13px;
width: 15px;
height: 15px;
position: absolute;
background: #fff;
bottom: 0rpx;
......
......@@ -28,10 +28,10 @@ page {
}
.conflict {
line-height: 13px;
line-height: 15px;
vertical-align: top;
width: 13px;
height: 13px;
width: 15px;
height: 15px;
position: absolute;
background: #fff;
bottom: 0rpx;
......@@ -108,4 +108,10 @@ page {
color: #FFFFFF;
text-align: center;
line-height: 72rpx;
}
.tabBarBottom {
height: 68rpx;
width: 100%;
background: #fff;
}
\ No newline at end of file
......@@ -21,6 +21,8 @@
<view class="button">
完成
</view>
<view class="tabBarBottom" a:if="{{isIPX}}">
</view>
</view>
<popup title="{{comPopupData.title}}" show="{{comPopupData.popupShow}}" mask="true" onClose="closePopup">
<hlist dataComList="{{comHListData.contactData}}" onSelectComHList="selectComHList"></hlist>
......
import create from 'dd-store'
import pageStore from './store';
import { checkFullScren } from "../../utils/checkFullScren";
import { modifySchedule, addSchedule, getUserScheduleInTime, getHomeUserSchedule } from '../../api/request.js'
// 传给组件 hList 水平排列 所有数据 comHListData
......@@ -25,7 +27,8 @@ create.Page({
currentPeople: '',
comHListData: comHListData,
comPopupData: comPopupData,
isClick: false
isClick: false,
isIPX: false
},
onLoad(event) {
if (event.scheduleItem) {
......@@ -41,6 +44,7 @@ create.Page({
}
this.setData({
isIPX: checkFullScren(),
currentPeople: getApp().globalData.userid
})
......
import { RRule, RRuleSet, rrulestr } from "rrule";
import { padZero } from "../../utils/utils";
export function getDateMap(minYear, maxYear) {
const DateMap = new Map();
const getOneYear = (year) => {
const yearDays = (year % 4 == 0 && year % 100 != 0) || year % 400 == 0 ? 366 : 365;
for (let i = 1; i <= yearDays; i++) {
DateMap.set(new Date(year, 0, i).toLocaleDateString(), []);
}
}
for (let i = minYear; i <= maxYear; i++) {
getOneYear(i);
}
return DateMap
}
// 返回删除的日期
/**
* 如果删除单次重复会议返回['2020-04-20'],
* 如果删除此次及以后重复会议返回['future2020-04-20']
*/
export function getExcludeDate(data = []) {
const excludeDateList = [];
const futureList = [];
data.forEach(item => {
//删除此次及以后
if (item.length > 10) {
futureList.push(new Date(item.slice(6, 16).replace(/-/g, "/")).getTime());
}
//删除单次
else {
excludeDateList.push(item);
}
});
return {
excludeDateList,
minFutureTime: Math.min(...futureList)
};
}
// 返回跨天数
export function getNextDateList(startTime, endTime) {
let days = 0;
const nextDateList = [];
if (startTime.getDate() !== endTime.getDate()) {
//同一个月
if (startTime.getMonth() !== endTime.getMonth()) {
days = endTime.getDate() - startTime.getDate();
}
//跨月
else {
// 一个月份有多少天new Date(year, month, 0).getDate()
const startMonth = new Date(startTime.getFullYear(), startTime.getMonth(), 0).getDate();
days = startMonth - startTime.getDate() + endTime.getDate()
}
} else {
//跨一个月 不考虑
}
//返回跨天的日期数组
for (let i = 1; i <= days; i++) {
const newDate = new Date(startTime);
const nextDate = new Date(newDate.setDate(newDate.getDate() + i)).toLocaleDateString();
nextDateList.push(nextDate)
}
return nextDateList
}
export function getWeekNumber(year, month, days) {
const isLeapYear = (year) => (year % 400 == 0) || (year % 4 == 0 && year % 100 != 0)
const getMonthDays = (year, month) => [31, null, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month] || (isLeapYear(year) ? 29 : 28);
//那一天是那一年中的第多少天
for (var i = 0; i < month; i++) {
days += getMonthDays(year, i);
}
//那一年第一天是星期几
var yearFirstDay = new Date(year, 0, 1).getDay();
var week = null;
if (yearFirstDay == 0) {
week = Math.ceil(days / 7);
} else {
days -= (6 - yearFirstDay + 1);
week = Math.ceil(days / 7);
}
return week;
}
export function getBlankList(year) {
const dateMap = getDateMap(year, year);
const DateList = [];
dateMap.forEach(function (value, key) {
const keyDate = new Date(key);
const year = keyDate.getFullYear();
const month = keyDate.getMonth();
const date = keyDate.getDate();
const day = keyDate.getDay();
// 生成年
if (month === 0 && date === 1) {
DateList.push({
type: "year",
value: year,
dateStr: `${year}`
});
}
//生成月
if (date === 1) {
DateList.push({
type: "month",
value: month + 1,
dateStr: `${year}/${month + 1}`
});
}
//生成周
if (day === 0) {
const rangeDate = new Date(year, month, date + 6);
const rangeMonth2 = new Date(rangeDate).getMonth();
const rangeDay2 = new Date(rangeDate).getDate();
DateList.push({
type: "week",
value: `第${getWeekNumber(year, month, date)}周,${month + 1}${date}日 - ${
rangeMonth2 == month ? "" : rangeMonth2 + 1 + "月"
}${rangeDay2}日`,
dateStr: `${year}/${month + 1}/${date}-week`
});
}
})
return DateList;
}
\ No newline at end of file
......@@ -9,7 +9,7 @@
</view>
</view>
</view>
<scroll-view class="indexScrollView" scroll-y="{{true}}" style="background: #FFFFFF" lower-threshold="100" onScrollToLower="lower" onScrollToUpper="upper" scroll-into-view="{{todayStr}}">
<scroll-view class="indexScrollView" scroll-y="{{true}}" style="background: #FFFFFF" lower-threshold="100" onScrollToLower="lower" scroll-into-view="{{todayStr}}">
<block a:for="{{scheduleList}}" key="{{item.dateStr}}">
<!-- 年 -->
<block a:if="{{item.type == 'year'}}">
......
{
"allowsBounceVertical": "YES",
"pullRefresh": true,
"usingComponents": {
"popup": "../../components/popup/index"
}
}
}
\ No newline at end of file
const iphoneModel = ['iPhone10,3', 'iPhone10,6', 'iPhone11,2', 'iPhone11,4', 'iPhone11,6', 'iPhone11,8', 'iPhone12,1', 'iPhone12,3', 'iPhone12,5']
let fullscren = false
export function checkFullScren() {
let systemInfo = dd.getSystemInfoSync()
if (iphoneModel.includes(systemInfo.model)) {
return true
} else {
return false
}
}
......@@ -51,6 +51,8 @@ export function getFormatDate(time, format, symbol) {
: `${year}/${month}/${day}`;
} else if (format === "HH:mm:ss") {
return `${hour}:${minutes}:${seconds}`;
} else if (format === "HH:mm") {
return `${hour}:${minutes}`;
}
}
// 返回每个月的第一天
......@@ -142,3 +144,7 @@ export function getCreateShowTime(createdTime) {
return timeResule
}
export function padZero(val) {
return ("00" + val).slice(-2);
}
\ No newline at end of file
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