Commit c3fcb0ac by fengzhaoyu

feat 加loading

parent dbb96ef0
@import "../../template/affairBlank/index.acss";
@import "../../template/loading/loading.acss";
.dynamicBox {
width: 100%;
overflow: hidden;
......
<import src="../../template/affairBlank/index.axml"/>
<view class="{{isStopBodyScroll ? 'scroll-lock' : ''}}" onTap="closeSwipe" onTouchStart="closeSwipe" onTouchMove="closeSwipe" onTouchEnd="closeSwipe">
<block a:if="{{!loading}}">
<scroll-view a:if="{{dynamicList.length > 0}}" scroll-y="{{true}}" class="dynamicBox" onScrollToLower="onScrollToLower">
<view class="dynamicList">
<swipe onSetBodyDisableScroll="setBodyDisableScroll" rightWidth="{{ 78 }}" leftWidth="{{ 0 }}" a:for="{{dynamicList}}" class="dynamicContent">
<view class="dynamicDetails">
<view class="meetingtitle">
<view>
<import src="../../template/loading/loading.axml"/>
<view class="{{isStopBodyScroll ? 'scroll-lock' : ''}}" onTap="closeSwipe" onTouchStart="closeSwipe">
<template is="loading" a:if="{{loading}}"/>
<view a:if="{{dynamicList.length !== 0}}" scroll-y="{{true}}" class="dynamicBox" onScrollToLower="onScrollToLower">
<view class="dynamicList">
<swipe onSetBodyDisableScroll="setBodyDisableScroll" rightWidth="{{ 78 }}" leftWidth="{{ 0 }}" a:for="{{dynamicList}}" class="dynamicContent">
<view class="dynamicDetails">
<view class="meetingtitle">
<view>
{{item.title}}
</view>
<view>
<text a:if="{{item.traceTime !== traceTime}}" class="iconfont iconicon_top1"></text>
</view>
</view>
<block a:for="{{item.meetingLogDataList.slice(0,2)}}" a:for-item="dynamicItem">
<view class="userDynamic">
<view class="dynamicTime">
<text>{{dynamicItem.content}}</text>
<text>{{dynamicItem.createTime}}</text>
</view>
<view>
<text a:if="{{item.traceTime !== traceTime}}" class="iconfont iconicon_top1"></text>
<file-list a:if="{{dynamicItem.category === '2'}}" fileView="{{dynamicItem.meetingLogResource}}" isCanEdit="{{false}}"/>
<view class="dynamicFile" a:if="{{dynamicItem.category === '3'}}">
<task-list onChangeTaskStatusOnList="onChangeTaskStatusOnList" taskList="{{[dynamicItem.meetingLogResource]}}" isCanEdit="{{false}}"/>
</view>
</view>
<block a:for="{{item.meetingLogDataList.slice(0,2)}}" a:for-item="dynamicItem">
<view class="userDynamic">
<view class="dynamicTime">
<text>{{dynamicItem.content}}</text>
<text>{{dynamicItem.createTime}}</text>
</view>
<file-list a:if="{{dynamicItem.category === '2'}}" fileView="{{dynamicItem.meetingLogResource}}" isCanEdit="{{false}}"/>
<view class="dynamicFile" a:if="{{dynamicItem.category === '3'}}">
<task-list onChangeTaskStatusOnList="onChangeTaskStatusOnList" taskList="{{[dynamicItem.meetingLogResource]}}" isCanEdit="{{false}}"/>
</view>
</view>
</block>
</view>
<view slot="right" class="placedTop" onTap="changeCollection" data-scheduleId="{{item.scheduleId}}" data-index="{{index}}" data-collection="{{item.traceTime === traceTime ? 'Y':'N'}}">
<text class="iconfont iconicon_top1 {{item.traceTime === traceTime ? '': 'isTopIcon'}}"></text>
</view>
</swipe>
</view>
</block>
</view>
<view slot="right" class="placedTop" onTap="changeCollection" data-scheduleId="{{item.scheduleId}}" data-index="{{index}}" data-collection="{{item.traceTime === traceTime ? 'Y':'N'}}">
<text class="iconfont iconicon_top1 {{item.traceTime === traceTime ? '': 'isTopIcon'}}"></text>
</view>
</swipe>
</view>
</scroll-view>
<view class="noDate" a:else>
<view class="noDate" a:if="{{dynamicList.length == 0}}">
<template is="affair-placeholder" data="{{title: '展示安排的所有动态', tip: '实时同步所有事件的最新动态,便于随时处理工作内容'}}"/>
</view>
</block>
<view class="noDate" a:else>
正在加载
</block>
</view>
</view>
\ No newline at end of file
......@@ -15,8 +15,9 @@ create.Component({
dynamicList: [],
current: 1,
pages: 1,
size: 10
size: 10,
noData: false,
loading: true
},
props: {},
didMount() {
......@@ -103,8 +104,11 @@ create.Component({
this.setData({
current: res.data.data.current,
pages: res.data.data.pages,
loading: false
});
this.setData({
loading: false
})
});
},
changeCollection(e) {
......
@import "../../template/loading/loading.acss";
.index {
background: #FFFFFF;
}
......
......@@ -23,7 +23,8 @@ create.Component({
show: false,
scrollHeight: "",
timeStamp: "",
userMsg: {}
userMsg: {},
loading: true
},
props: {},
didMount() {
......@@ -45,15 +46,16 @@ create.Component({
this.getDate();
}
},
didUnmount() {},
didUnmount() { },
methods: {
getDate: throttle(function(e) {
getDate: throttle(function (e) {
let data = {
startTime: "2020-01-01 00:00:00",
endTime: "2025-12-30 23:59:59"
};
let that = this;
getHomeUserSchedule1(data).then(res => {
console.log(this)
that.setData(
{
response: res.data.data
......@@ -71,13 +73,18 @@ create.Component({
scheduleList: scheduleList,
todayStr: finalDate.toLocaleDateString(),
thisYear: year,
maxYear: year
maxYear: year,
loading: false
});
}
);
that.setData({
loading: false
})
});
}, 1000),
nextDetail: throttle(function(e) {
nextDetail: throttle(function (e) {
let item = e.target.dataset.item;
dd.navigateTo({
url: `./../meetingDetail/meetingDetail?scheduleItem=${JSON.stringify(
......@@ -193,8 +200,8 @@ create.Component({
item.recurrenceModel.startTime;
let endTime = new Date(
getFormatDate(item2, "yyyyMMdd") +
" " +
item.recurrenceModel.startTime
" " +
item.recurrenceModel.startTime
);
endTime.setMinutes(
endTime.getMinutes() + item.recurrenceModel.duration
......@@ -233,7 +240,7 @@ create.Component({
);
}
});
scheduleMap.forEach(function(value, key, map) {
scheduleMap.forEach(function (value, key, map) {
scheduleList.push(value);
});
return scheduleList;
......@@ -291,9 +298,9 @@ create.Component({
duration: count + 1,
isBeOverdue:
new Date().getTime() >
new Date(
AllScheduleList[y].endTime.replace(/-/g, "/")
).getTime()
new Date(
AllScheduleList[y].endTime.replace(/-/g, "/")
).getTime()
? true
: false
});
......@@ -305,7 +312,7 @@ create.Component({
// 第一个月的第一天
let listWeek = new Date(year, 0, 1).getDay() === 0 ? 0 : 1;
let thisDay = new Date().toLocaleDateString();
DateMap.forEach(function(value, key, map) {
DateMap.forEach(function (value, key, map) {
const keyDate = new Date(key);
if (keyDate.getDay() === 0) {
let rangeYear1 = keyDate.getFullYear();
......@@ -318,7 +325,7 @@ create.Component({
type: "week",
value: `第${listWeek}周,${rangeMonth1 + 1}${rangeDay1}日 - ${
rangeMonth2 == rangeMonth1 ? "" : rangeMonth2 + 1 + "月"
}${rangeDay2}日`,
}${rangeDay2}日`,
dayStr: key
});
listWeek += 1;
......
......@@ -15,11 +15,19 @@ export default function http(data) {
success: function (res) {
if (res.data.code == 0) {
resolve(res);
} else {
dd.alert({
content: '网络异常',
buttonText: '确定'
})
}
},
fail: function (res) {
dd.alert({
content: '网络异常',
buttonText: '确定'
})
rejects(res)
console.log(res)
}
})
})
......
assests/all.png

888 Bytes | W: | H:

assests/all.png

962 Bytes | W: | H:

assests/all.png
assests/all.png
assests/all.png
assests/all.png
  • 2-up
  • Swipe
  • Onion skin
assests/docx.png

1.25 KB | W: | H:

assests/docx.png

939 Bytes | W: | H:

assests/docx.png
assests/docx.png
assests/docx.png
assests/docx.png
  • 2-up
  • Swipe
  • Onion skin
assests/image.png

1.25 KB | W: | H:

assests/image.png

1.58 KB | W: | H:

assests/image.png
assests/image.png
assests/image.png
assests/image.png
  • 2-up
  • Swipe
  • Onion skin
assests/mp4.png

974 Bytes | W: | H:

assests/mp4.png

902 Bytes | W: | H:

assests/mp4.png
assests/mp4.png
assests/mp4.png
assests/mp4.png
  • 2-up
  • Swipe
  • Onion skin
assests/pdf.png

1.52 KB | W: | H:

assests/pdf.png

1.95 KB | W: | H:

assests/pdf.png
assests/pdf.png
assests/pdf.png
assests/pdf.png
  • 2-up
  • Swipe
  • Onion skin
assests/xlsx.png

1.52 KB | W: | H:

assests/xlsx.png

982 Bytes | W: | H:

assests/xlsx.png
assests/xlsx.png
assests/xlsx.png
assests/xlsx.png
  • 2-up
  • Swipe
  • Onion skin
assests/zip.png

715 Bytes | W: | H:

assests/zip.png

1 KB | W: | H:

assests/zip.png
assests/zip.png
assests/zip.png
assests/zip.png
  • 2-up
  • Swipe
  • Onion skin
......@@ -6,7 +6,7 @@
}
.task-list {
border: 1rpx solid rgba(245, 246, 247, 1);
border: 1rpx solid rgba(10, 10, 10, 0.14);
border-radius: 16rpx;
border-radius: 16rpx;
padding: 24rpx 22rpx 0 22rpx;
......@@ -107,41 +107,29 @@
}
.pdf {
background: url(../../assests/pdf.png) center /100% 100%;
background: url(../../assests/pdf.png) center /100% 100% !important;
}
.png, .jpg, .svg, .jpeg {
background: url(../../assests/image.png) center /100% 100%;
background: url(../../assests/image.png) center /100% 100% !important;
}
.docx {
background: url(../../assests/docx.png) center /100% 100%;
.docx, .txt, .doc, .pages, .wps {
background: url(../../assests/docx.png) center /100% 100% !important;
}
.mov {
background: url(../../assests/mp4.png) center /100% 100%;
.mov, .mp4 {
background: url(../../assests/mp4.png) center /100% 100% !important;
}
.mp4 {
background: url(../../assests/mp4.png) center /100% 100%;
.pptx, .ppt, .key {
background: url(../../assests/ppt.png) center /100% 100% !important;
}
.ppt {
background: url(../../assests/ppt.png) center /100% 100%;
.xlsx, .numbers {
background: url(../../assests/xlsx.png) center /100% 100% !important;
}
.pptx {
background: url(../../assests/ppt.png) center /100% 100%;
}
.pdf {
background: url(../../assests/pdf.png) center /100% 100%;
}
.xlsx {
background: url(../../assests/xlsx.png) center /100% 100%;
}
.zip {
background: url(../../assests/zip.png) center /100% 100%;
.zip, .rar {
background: url(../../assests/zip.png) center /100% 100% !important;
}
\ No newline at end of file
@import "../../template/avater/index.acss";
@import "../../template/checkbox/index.acss";
.task-list {
border: 1rpx solid rgba(245, 246, 247, 1);
border: 1rpx solid rgba(10, 10, 10, 0.14);
border-radius: 16rpx;
border-radius: 16rpx;
padding: 14rpx 16rpx 0;
......@@ -11,7 +11,7 @@
.task-list>.task-box {
background: rgba(255, 255, 255, 1);
border-radius: 8rpx;
box-shadow: 0 0 8rpx 0rpx rgba(0, 0, 0, 0.04);
box-shadow: 0 0 8rpx 0rpx rgba(0, 0, 0, 0.14);
padding: 0 16rpx;
height: 80rpx;
color: rgba(27, 38, 61, 1);
......
......@@ -9,7 +9,7 @@ page {
.icon {
vertical-align: middle;
color: #0a0a0a;
font-size: 40rpx;
font-size: 36rpx;
line-height: 50rpx;
}
......@@ -43,9 +43,8 @@ input {
.remark>input {
padding-left: 0;
width: 100%;
opacity: 0.72;
font-size: 28rpx;
color: rgba(3, 3, 3, 1)
color: rgba(10, 10, 10, 0.4)
}
.placeholder {
......@@ -94,6 +93,11 @@ input {
color: #9599A2;
}
.close {
font-size: 32rpx;
color: rgba(10, 10, 10, 0.4)
}
.repeatModal {
color: #191F25;
margin-top: 24rpx;
......@@ -196,8 +200,8 @@ input {
text-align: center;
line-height: 78rpx;
font-size: 50rpx;
height: 80rpx;
border: 1rpx solid #F6F6F6;
height: 78rpx;
border: 1rpx solid rgba(10, 10, 10, 0.14);
border-radius: 50%;
color: #BBBEC5;
}
......
<!--<<<<<<< Updated upstream<view a:if="{{tabBarIndex === '0'}}">
=======<view style="position:absolute"></view> -->
<view a:if="{{$data.tabBarIndex === '0'}}">
<!-- >>>>>>> Stashed changes -->
<my-dynamic>
</my-dynamic>
</view>
......
......@@ -143,7 +143,7 @@ page {
.icon {
vertical-align: middle;
color: #0a0a0a;
font-size: 40rpx;
font-size: 36rpx;
line-height: 50rpx;
line-height: 50rpx;
}
......@@ -184,9 +184,8 @@ input {
.remark>input {
padding-left: 0;
width: 100%;
opacity: 0.72;
font-size: 28rpx;
color: rgba(3, 3, 3, 1)
color: rgba(10, 10, 10, 0.4)
}
.placeholder {
......@@ -239,6 +238,11 @@ input {
color: #9599A2;
}
.close {
font-size: 32rpx;
color: rgba(10, 10, 10, 0.4)
}
.repeatModal {
color: #191F25;
margin-top: 24rpx;
......@@ -341,8 +345,8 @@ input {
text-align: center;
line-height: 78rpx;
font-size: 50rpx;
height: 80rpx;
border: 1rpx solid #F6F6F6;
height: 78rpx;
border: 1rpx solid rgba(10, 10, 10, 0.14);
border-radius: 50%;
color: #BBBEC5;
}
......@@ -385,7 +389,7 @@ input {
.originStaus>view>.iconfont {
margin-right: 12rpx;
color: #A9ACB4;
color: rgba(10, 10, 10, 0.4);
vertical-align: middle;
}
......@@ -456,6 +460,7 @@ input {
align-items: center;
justify-content: flex-end;
width: 100%;
color: rgba(10, 10, 10, 0.4);
}
.footerBottom>view {
......@@ -548,4 +553,27 @@ input {
vertical-align: top;
width: 100%;
height: 100%;
}
.loading {
width: 100vw;
height: 100%;
background: #fff;
position: fixed;
top: 0;
left: 0;
right: 0;
}
.loading .image {
width: 56rpx;
height: 56rpx;
position: absolute;
left: 50%;
top: 50%;
margin-left: -28rpx;
margin-top: -28rpx;
text-align: center;
background: url(../../assests/loading.gif) center / 100% 100%;
vertical-align: middle;
}
\ No newline at end of file
......@@ -207,7 +207,7 @@
<text class="iconfont iconicon_task1"></text>
</view>
<view class="title">
会议任务
会议任务
<text>{{item.createTime}}</text>
</view>
<task-list onShowPop="showPop" onSetCurrentTask="setCurrentTask" taskList="{{item.taskViewList}}" onChangeTaskStatusOnList="changeTaskStatusOnList"/>
......@@ -215,7 +215,7 @@
<view a:if="{{item.category == '2' && item.fileView && item.fileView.fileInfos && item.fileView.fileInfos.length > 0 }}" class='compose-column'>
<template is="avater" data="{{item: item.fileView.creatorInfo}}"/>
<view class="title">
{{item.fileView.creatorInfo.username}}
{{item.fileView.creatorInfo.username}}
<text>{{item.createTime}}</text>
</view>
<file-list fileView="{{item.fileView}}" organizer="{{organizer}}" currentPeople="{{currentPeople}}" onDeleteMeetingFile="deleteMeetingFile"/>
......@@ -238,4 +238,9 @@
<task-panel a:if="{{pop.type === 'updateTask'}}" action='update' onDeleteTask="deleteTask"/>
</popup>
</view>
</block>
\ No newline at end of file
</view>
</block>
<view class="loading" a:if="{{loading || !getData}}">
<view class="image">
</view>
</view>
\ No newline at end of file
......@@ -218,10 +218,6 @@ create.Page({
if (res.data.code === 0) {
this.$store.data.indexNeedUpdate = true
this.update()
this.setData({
'conToastData.showToast': true,
'conToastData.title': '保存成功'
})
if (this.$store.data.originalData.repeatable === 1) {
observer.notice(res.data.data)
}
......
......@@ -252,10 +252,6 @@ create.Page({
if (res.data.code === 0) {
this.$store.data.indexNeedUpdate = true
this.update()
this.setData({
'conToastData.showToast': true,
'conToastData.title': '保存成功'
})
this.operateUserS()
if (this.$store.data.originalData.repeatable === 1) {
observer.notice(res.data.data)
......
......@@ -161,10 +161,6 @@ create.Page({
return new Promise((resolve, rejects) => {
modifySchedule(Object.assign(data, obj)).then(res => {
if (res.data.code === 0) {
this.setData({
'conToastData.showToast': true,
'conToastData.title': '保存成功'
})
if (this.$store.data.originalData.repeatable === 1) {
observer.notice(res.data.data)
}
......
......@@ -18,4 +18,8 @@
color: rgba(242, 86, 67, 1);
font-size: 28rpx;
margin-right: 18rpx;
}
.delete-task-text {
color: #0a0a0a;
}
\ No newline at end of file
......@@ -2,7 +2,7 @@
<view class="delete-task-wrap">
<view class="delete-task" onTap="handleDelete">
<text class="iconfont iconicon_delete"></text>
{{title}}
<text class="delete-task-text">{{title}}</text>
</view>
</view>
</template>
\ No newline at end of file
.loading {
width: 100vw;
height: 100vh;
background: #fff;
position: fixed;
top: 0;
left: 0;
right: 0;
}
.loading .image {
width: 56rpx;
height: 56rpx;
position: absolute;
left: 50%;
top: 50%;
margin-left: -28rpx;
margin-top: -28rpx;
text-align: center;
background: url(../../assests/loading.gif) center / 100% 100%;
vertical-align: middle;
}
\ No newline at end of file
<template name="loading">
<view class="loading">
<view class="image">
</view>
</view>
</template>
\ 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