index.vue 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <template>
  2. <view>
  3. <view class="list">
  4. <view class="t_item" v-for="(item, index) in list" :key="index" @click="detail(item)">
  5. <view class="r63">
  6. <view class="title">{{ item.title }}</view>
  7. </view>
  8. <view class="r35 day">{{ item.createTime.substring(0, 11) }}</view>
  9. <view class="clear"></view>
  10. </view>
  11. <view class="loading"><u-loadmore :status="loadMore ? 'loading' : 'nomore'" /></view>
  12. </view>
  13. </view>
  14. </template>
  15. <script>
  16. export default {
  17. data() {
  18. return {
  19. list: [],
  20. param: { pageNum: 1, pageSize: 10, type: 1 },
  21. loadMore: true
  22. };
  23. },
  24. onLoad() {
  25. this.getData();
  26. },
  27. methods: {
  28. //获取数据
  29. getData() {
  30. this.$http.request({
  31. url: this.$http.urls.getPageContent,
  32. data: this.param,
  33. loading: 'false',
  34. success: res => {
  35. this.loadMore = res.data.pages > this.param.pageNum ? true : false;
  36. res.data.rows.forEach(item => {
  37. this.list.push(item);
  38. });
  39. }
  40. });
  41. },
  42. //详情
  43. detail(item) {
  44. uni.navigateTo({ url: '/pages/government/detail?id=' + item.contentId });
  45. },
  46. //刷新数据
  47. refresh() {
  48. this.loadMore = true;
  49. this.param.pageNum = 1;
  50. this.list = [];
  51. this.getData();
  52. }
  53. },
  54. //下拉刷新
  55. onPullDownRefresh() {
  56. setTimeout(() => {
  57. uni.stopPullDownRefresh();
  58. this.refresh();
  59. }, 1000);
  60. },
  61. //上拉加载
  62. onReachBottom() {
  63. if (this.loadMore) {
  64. this.param.pageNum++;
  65. this.getData();
  66. }
  67. }
  68. };
  69. </script>
  70. <style lang="scss">
  71. .list {
  72. padding: 0px 10px 70px 10px;
  73. }
  74. </style>