球星卡微信小程序
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

101 lines
2.0 KiB

<template>
<view style="padding-bottom: 30px;">
<view class="notify-panel" v-for="(item,index) in datas" :key="index" @click="toDetail(item)">
<view class="notify-panel-top">
<view class="notify-dot"></view>
<view class="notify-tips">收到一条新消息</view>
<view class="notify-time">{{item.create_time}}</view>
</view>
<view class="notify-panel-bottom">{{item.title}}</view>
</view>
<u-loadmore :status="status" />
</view>
</template>
<script>
import { notify } from '@/service/index.js';
export default {
onReachBottom(){
console.log("onReachBottom")
if(this.status == 'loadmore'){
this.fetchDatas(this.page + 1)
}
},
onLoad(){
this.fetchDatas()
},
data() {
return {
datas:[],
page:1,
status: 'nomore',
}
},
methods: {
async fetchDatas(page = 1){
let res = await notify(page)
if(res.data.datas.current_page == 1){
this.datas = res.data.datas.data
}else{
this.datas = this.datas.concat(res.data.datas.data)
}
if(res.data.datas.prev_page_url){
this.status ='loadmore'
}else{
this.status = 'nomore'
}
this.page = res.data.datas.current_page
console.log("fetchDatas",res)
},
toDetail(item){
this.$url('/packages/article/article?type=notify_detail&id='+item.id)
}
}
}
</script>
<style lang="scss">
.notify-panel{
display: flex;
flex-direction: column;
background-color: white;
margin-bottom: 10rpx;
}
.notify-panel-top{
display: flex;
align-items: center;
margin-left: 32rpx;
padding-top: 20rpx;
padding-bottom: 20rpx;
}
.notify-dot {
width: 12rpx;
height: 12rpx;
background-color: red;
border-radius: 6rpx;
margin-right: 10rpx;
}
.notify-panel-bottom{
margin-left: 32rpx;
margin-bottom: 30rpx;
font-size: 28rpx;
line-height: 40rpx;
color: #222222;
}
.notify-tips{
margin-right: 110rpx;
font-size: 32rpx;
font-weight: 500;
color: #222222;
line-height: 44rpx;
}
.notify-time{
font-size: 28rpx;
font-weight: 400;
color: #777777;
line-height: 40rpx;
}
</style>