123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- <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>
|