knowledge.vue 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. <template>
  2. <!-- 知识库列表 -->
  3. <view class="container">
  4. <view class="rnwdList">
  5. <view class="list" @tap="goDetails(item.id)" v-for="(item, index1) in dataSource" :key="index1">
  6. <span class="listTitle">{{ item.titleName }}</span>
  7. <view class="onePic">
  8. <image :src="loadImgSrcLocalhost(item.imgUrlList)">
  9. </image>
  10. </view>
  11. <view class="jlSj">
  12. <view class="ck">
  13. <span>
  14. <em class="iconfont icon-chakan"></em>
  15. {{ item.likeNum }}
  16. </span>
  17. <span>
  18. <em class="iconfont icon-shoucang"></em>
  19. {{ item.watchNum }}
  20. </span>
  21. </view>
  22. </view>
  23. </view>
  24. </view>
  25. </view>
  26. </template>
  27. <script>
  28. import {
  29. list
  30. } from '@/api/knowledge/knowledge.js';
  31. export default {
  32. data() {
  33. return {
  34. dataSource: [],
  35. // 数据总量
  36. total: 0,
  37. queryParams: {
  38. // 当前页
  39. pageNum: 1,
  40. // 每页数据量
  41. pageSize: 10,
  42. },
  43. loading: false,
  44. }
  45. },
  46. /**
  47. * 生命周期函数--监听页面加载
  48. */
  49. onLoad(options) {
  50. this.getList(1)
  51. },
  52. onReachBottom(){
  53. let pageNum = this.queryParams.pageNum
  54. let pageSize = this.queryParams.pageSize
  55. let total = this.total
  56. if(pageNum * pageSize >= total){
  57. uni.showToast({
  58. title:'暂无更多数据'
  59. })
  60. return
  61. } else {
  62. this.queryParams.pageNum += 1;
  63. this.getList()
  64. }
  65. },
  66. methods: {
  67. goDetails(id) {
  68. uni.navigateTo({
  69. url: '/pages/knowledgeDetails/knowledgeDetails?id=' + id,
  70. });
  71. },
  72. // 分页触发
  73. change(e) {
  74. this.getList(e.current);
  75. },
  76. // 获取数据
  77. getList(pageNum) {
  78. let params = {
  79. pageSize: this.queryParams.pageSize,
  80. pageNum: pageNum,
  81. }
  82. list(params).then(res => {
  83. if (res.code == 200) {
  84. this.dataSource = [...this.dataSource,...res.rows]
  85. this.total = res.total
  86. }
  87. })
  88. },
  89. }
  90. }
  91. </script>
  92. <style>
  93. @import './knowledge.css';
  94. </style>