index.vue 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. <template>
  2. <view>
  3. <view class="px-20">
  4. <view v-if="expList.length" class="list">
  5. <view class="item" v-for="(item,index) in expList" :key="index">
  6. <view class="pt-32 pb-24 fs-24 lh-34rpx text--w111-999">{{ item.time }}</view>
  7. <view class="px-24 rd-24rpx bg--w111-fff">
  8. <view class="flex py-32" v-for="cell in item.list" :key="cell.id">
  9. <view class="flex-1">
  10. <view class="fs-28 lh-40rpx">{{cell.title}}</view>
  11. <view class="mt-12 text--w111-999 fs-24 lh-34rpx">{{cell.add_time}}</view>
  12. </view>
  13. <view class="Regular fs-36 lh-40rpx" v-if="cell.pm">+{{cell.number}}</view>
  14. <view class="Regular fs-36 lh-40rpx" v-else>-{{cell.number}}</view>
  15. </view>
  16. </view>
  17. </view>
  18. </view>
  19. <view v-if="!expList.length && !loading" class="mt-20">
  20. <emptyPage title="暂无经验记录~" src="/statics/images/noOrder.gif"></emptyPage>
  21. </view>
  22. </view>
  23. <view class='loadingicon flex-center' v-if="expList.length">
  24. <text class='loading iconfont icon-jiazai' :hidden='loading==false'></text>{{loadTitle}}
  25. </view>
  26. </view>
  27. </template>
  28. <script>
  29. import {
  30. getUserInfo,
  31. getlevelInfo,
  32. getlevelExpList
  33. } from '@/api/user.js';
  34. import {
  35. HTTP_REQUEST_URL
  36. } from '@/config/app';
  37. import emptyPage from '@/components/emptyPage.vue';
  38. export default {
  39. data() {
  40. return {
  41. loading: false,
  42. loadend: false,
  43. loadTitle: '加载更多', //提示语
  44. page: 1,
  45. limit: 20,
  46. expList: [],
  47. list: [],
  48. imgHost: HTTP_REQUEST_URL
  49. }
  50. },
  51. components: {
  52. emptyPage
  53. },
  54. created() {
  55. this.getlevelList();
  56. },
  57. onShow() {
  58. uni.removeStorageSync('form_type_cart');
  59. },
  60. methods: {
  61. getlevelList: function() {
  62. if (this.loadend) return false;
  63. if (this.loading) return false;
  64. getlevelExpList({
  65. page: this.page,
  66. limit: this.limit
  67. }).then(res => {
  68. let list = res.data;
  69. this.list = [...this.list, ...list];
  70. let expData = [...this.list];
  71. let expList = [];
  72. for (let i = 0; i < expData.length; i++) {
  73. expList.push({
  74. time: expData[i].time,
  75. list: [expData[i]],
  76. });
  77. for (let j = i + 1; j < expData.length; j++) {
  78. if (expData[i].time == expData[j].time) {
  79. expList[expList.length - 1].list.push(expData[j]);
  80. expData.splice(j, 1);
  81. j--;
  82. }
  83. }
  84. }
  85. this.expList = expList;
  86. this.loadend = list.length < this.limit;;
  87. this.loadTitle = this.loadend ? '没有更多了~' : '加载更多';
  88. this.page = this.page + 1;
  89. this.loading = false;
  90. }).catch(err => {
  91. this.loading = false;
  92. this.loadTitle = '加载更多';
  93. });
  94. }
  95. },
  96. onReachBottom: function() {
  97. this.getlevelList();
  98. }
  99. }
  100. </script>