91 lines
2.0 KiB
Vue
91 lines
2.0 KiB
Vue
<template>
|
|
<view class="notice">
|
|
<mescroll-body ref="mescrollRef" @init="mescrollInit" @down="downCallback" @up="upCallback" :up="upOption">
|
|
<view v-for="(item, index) in lists" :key="index" class="notice-item bg-white">
|
|
<view class="flex row-between item-header">
|
|
<view class="header-title md bold">{{item.title}}</view>
|
|
<view class="header-time muted xs">{{item.create_time}}</view>
|
|
</view>
|
|
<view class="item-main m-t-24">
|
|
<view class="content sm lighter">{{item.content}}</view>
|
|
</view>
|
|
</view>
|
|
</mescroll-body>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
import {
|
|
getNoticeLists
|
|
} from '@/api/store';
|
|
import MescrollMixin from "@/components/mescroll-uni/mescroll-mixins";
|
|
export default {
|
|
mixins: [MescrollMixin],
|
|
data() {
|
|
return {
|
|
lists: [],
|
|
upOption: {
|
|
empty: {
|
|
icon: '/static/images/news_null.png',
|
|
tip: "暂无消息通知~",
|
|
}
|
|
},
|
|
};
|
|
},
|
|
onLoad() {
|
|
this.type = this.$Route.query.type;
|
|
|
|
switch (this.type) {
|
|
case "system":
|
|
uni.setNavigationBarTitle({
|
|
title: '系统通知'
|
|
});
|
|
break;
|
|
|
|
case "earning":
|
|
uni.setNavigationBarTitle({
|
|
title: '收益通知'
|
|
});
|
|
break;
|
|
}
|
|
},
|
|
|
|
|
|
methods: {
|
|
upCallback(page) {
|
|
getNoticeLists({
|
|
page_size: page.size,
|
|
page_no: page.num,
|
|
type: this.type
|
|
}).then(({
|
|
data
|
|
}) => {
|
|
if (page.num == 1) this.lists = [];
|
|
const curPageData = data.list;
|
|
const curPageLen = curPageData.length;
|
|
const hasNext = !!data.more;
|
|
this.lists = this.lists.concat(curPageData);
|
|
this.mescroll.endSuccess(curPageLen, hasNext);
|
|
}).catch(() => {
|
|
this.mescroll.endErr()
|
|
})
|
|
},
|
|
}
|
|
};
|
|
</script>
|
|
<style lang="scss">
|
|
.notice {
|
|
overflow: hidden;
|
|
.notice-item {
|
|
padding: 0 20rpx 30rpx;
|
|
border-radius: 10rpx;
|
|
margin: 20rpx 20rpx 0;
|
|
.item-header {
|
|
padding: 19rpx 0;
|
|
border-bottom: $-solid-border;
|
|
}
|
|
}
|
|
|
|
}
|
|
</style>
|