index.vue 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. <template>
  2. <view class="msilde">
  3. <view class="top">
  4. <u-search placeholder="搜索标题" bgColor="white" :showAction="false"></u-search>
  5. </view>
  6. <view class="left">
  7. <view class="item" :class="{ active: index == current }" v-for="(item, index) in type_list" :key="index" @click="selected(item, index)">{{ item.dictLabel }}</view>
  8. </view>
  9. <view class="right">
  10. <view class="list">
  11. <view class="u_item" v-for="(item, index) in list" :key="index" @click="go('/pages/knowledge/detail?id=' + item.id)">
  12. <view class="con">
  13. <view class="name">{{ item.name }}</view>
  14. <view class="labels omit">{{ item.labels }}</view>
  15. <view class="labels">{{ item.columnName }}</view>
  16. </view>
  17. </view>
  18. </view>
  19. <view class="loading" v-if="loadMore"><u-loadmore :status="loadMore ? 'loading' : 'nomore'" /></view>
  20. <u-empty v-if="!loadMore && list.length == 0"></u-empty>
  21. </view>
  22. </view>
  23. </template>
  24. <script>
  25. export default {
  26. data() {
  27. return {
  28. type_list: [],
  29. current: 0,
  30. list: [],
  31. param: { pageNum: 1, pageSize: 10 },
  32. loadMore: true
  33. };
  34. },
  35. onLoad(e) {
  36. this.getType();
  37. this.getData();
  38. },
  39. methods: {
  40. getData() {
  41. this.http.request({
  42. url: '/app/knowledge/list',
  43. data: this.param,
  44. loading: 'false',
  45. success: (res) => {
  46. this.loadMore = res.data.pages > this.param.pageNum ? true : false;
  47. res.data.rows.forEach((item) => {
  48. item.createTime = uni.$u.timeFrom(Date.parse(item.createTime));
  49. this.list.push(item);
  50. });
  51. }
  52. });
  53. },
  54. getType() {
  55. this.http.request({
  56. url: '/app/common/type/knowledge_type',
  57. success: (res) => {
  58. this.type_list = res.data.data;
  59. this.type_list.unshift({ dictLabel: '全部类型', dictValue: '' });
  60. }
  61. });
  62. },
  63. //刷新数据
  64. refresh() {
  65. this.loadMore = true;
  66. this.param.pageNum = 1;
  67. this.list = [];
  68. this.getData();
  69. },
  70. go(url) {
  71. uni.navigateTo({ url: url });
  72. }
  73. },
  74. //下拉刷新
  75. onPullDownRefresh() {
  76. setTimeout(() => {
  77. this.refresh();
  78. uni.stopPullDownRefresh();
  79. }, 1000);
  80. },
  81. //上拉加载
  82. onReachBottom() {
  83. if (this.loadMore) {
  84. this.param.pageNum++;
  85. this.getData();
  86. }
  87. }
  88. };
  89. </script>
  90. <style lang="scss"></style>