<template>
|
<view class="">
|
<z-paging ref="paging" v-model="list" :auto="false" @query="queryList" @onRefresh="refreshList"
|
loading-more-no-more-text="没有更多了">
|
<view class="tab" slot="top" v-show="tabList.length">
|
<u-tabs :list="tabList" :current="tabIndex" keyName="dictValue" @change="changeTab"
|
:inactiveStyle="{color:'#999999'}" :activeStyle="{color:'#017BFC'}"></u-tabs>
|
</view>
|
<view class="list bgc-ff">
|
<notice-list :data="list" :page-type="type" />
|
</view>
|
</z-paging>
|
<!-- <u-loadmore :status="loadingStatus" loadmoreText="开始加载" loadingText="数据加载中" nomoreText="没有更多了" line /> -->
|
</view>
|
</template>
|
|
<script>
|
import {
|
getPage,
|
getCategory
|
} from "@/api/article/article.js";
|
import noticeList from "@/components/noticeList/noticeList.vue"
|
export default {
|
components: {
|
noticeList
|
},
|
data() {
|
return {
|
tabList: [],
|
tabId: "",
|
tabIndex: 0,
|
list: [],
|
currentPage: 1,
|
loadingStatus: 'nomore',
|
eventType: "",
|
type: ""
|
}
|
},
|
onLoad(option) {
|
console.log(option);
|
if (option.type == 1) {
|
// this.eventType = option.type;
|
// if (option.type == 0) {
|
// this.tabList = [{
|
// dictKey: "",
|
// dictValue: "公益报名"
|
// }]
|
// } else {
|
// this.tabList = [{
|
// dictKey: "",
|
// dictValue: "选举调查"
|
// }]
|
// }
|
// this.getNoticeList()
|
uni.setNavigationBarTitle({
|
title: "公共收益"
|
})
|
this.type = option.type;
|
this.$refs.paging.reload();
|
|
} else if (option.type == 6) {
|
uni.setNavigationBarTitle({
|
title: "反诈宣传"
|
})
|
this.type = option.type;
|
this.$refs.paging.reload();
|
} else {
|
this.getCateList()
|
}
|
},
|
// onReachBottom() {
|
// this.currentPage++
|
// this.getNoticeList()
|
// },
|
|
methods: {
|
refreshList() {
|
this.$refs.paging.reload();
|
},
|
|
changeTab(e) {
|
this.tabIndex = e.index;
|
this.tabId = e.dictKey;
|
this.list = [];
|
this.currentPage = 1;
|
this.$refs.paging.reload();
|
// this.getNoticeList()
|
},
|
|
getCateList() {
|
getCategory({
|
parentId: '1722966265111248897',
|
}).then(res => {
|
console.log(res)
|
let data = res.data;
|
data.unshift({
|
dictKey: "",
|
dictValue: "全部"
|
})
|
|
this.tabList = data;
|
// this.tabId = data[0].dictKey;
|
// this.getNoticeList()
|
this.$refs.paging.reload();
|
})
|
},
|
|
|
queryList(pageNo, pageSize) {
|
getPage({
|
current: pageNo,
|
size: pageSize,
|
articleType: this.tabId,
|
eventType: this.eventType,
|
type: this.type,
|
houseCode: uni.getStorageSync("siteInfo").houseCode
|
}).then(res => {
|
this.$refs.paging.complete(res.data.records);
|
})
|
},
|
|
|
async getNoticeList() {
|
this.loadingStatus = 'loadingmore'
|
const param = {
|
size: 10,
|
current: this.currentPage,
|
articleType: this.tabId,
|
eventType: this.eventType
|
}
|
const res = await getPage(param)
|
const {
|
code,
|
data: {
|
records
|
}
|
} = res
|
if (code != 200) {
|
uni.showToast({
|
title: '数据请求失败',
|
icon: 'error'
|
})
|
return
|
}
|
this.list = [...this.list, ...records]
|
this.loadingStatus = 'nomore'
|
|
},
|
navTo(id, type) {
|
this.$u.func.globalNavigator(`detail?id=${id}&type=${type}`, "navTo")
|
}
|
}
|
}
|
</script>
|
|
<style lang="scss">
|
page {
|
background-color: #f5f5f5;
|
}
|
|
.tab {
|
width: 100%;
|
height: 88rpx;
|
// position: fixed;
|
/*#ifdef H5*/
|
top: 88rpx;
|
/*#endif*/
|
/*#ifdef MP-WEIXIN*/
|
top: 0;
|
/*#endif*/
|
left: 0;
|
background-color: #fff;
|
padding: 0 30rpx;
|
box-sizing: border-box;
|
z-index: 999;
|
}
|
|
.list {
|
margin-top: 20rpx;
|
padding: 0 30rpx;
|
}
|
</style>
|