shjz-applet/pagesA/news/news.vue

86 lines
1.9 KiB
Vue

<template>
<view class="pad-x100" v-if="isLoading">
<!-- 头部 -->
<status-nav navBarTitle="新闻资讯" :marginBottom="0"></status-nav>
<!-- 资讯列表 -->
<view class="news">
<list-all :newsList="newsList"></list-all>
</view>
<!-- 加载更多 -->
<view class="tags font20 opacity-05">{{tags}}</view>
<!-- 尾部 -->
<foot-tab :current="99"></foot-tab>
</view>
</template>
<script>
import listAll from '@/components/list/list-all.vue';
export default {
components:{
listAll
},
data() {
return {
screenHeight:uni.getSystemInfoSync().screenHeight,
statusHeight:uni.getSystemInfoSync().statusBarHeight,
newsList:[], //资讯列表
tags:'~ 下拉加载更多内容 ~', //提示信息
page:1,
size:10,
total:0,
noMore:false,
isLoading:false,
}
},
onLoad(op) {
// 获取资讯列表
this.getNewsList();
},
// 触底
onReachBottom(e) {
if(!this.noMore){
this.page++;
// 获取线路列表
this.getNewsList();
}
},
methods: {
// 获取资讯列表
getNewsList(){
uni.showLoading({
title:'加载中'
})
let params = {
page:this.page,
size:this.size
}
this.$requst.post('/api/common/news-list',params).then(res=>{
if(res.code==0){
console.log(res,'资讯列表');
this.total = res.data.total;
let newsArr = [];
res.data.list.forEach(item=>{
let obj = {
id:item.id,
cover:item.cover,
title:item.title,
info:item.summary,
click:item.view
}
newsArr.push(obj);
})
this.newsList = this.newsList.concat(newsArr);
if(this.newsList.length == this.total){
this.noMore = true;
this.tags = '~ 暂无更多内容 ~';
}
uni.hideLoading();
this.isLoading = true;
}
})
},
}
}
</script>
<style>
</style>