recode.vue 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. <template>
  2. <view class="content">
  3. <empty v-if="loaded && list.length == 0"></empty>
  4. <view v-for="(item, index) in list" :key="index" class="order-item flex">
  5. <view class="title-box flex_item">
  6. <!-- <view class="title-avatar"><image src=""></image></view> -->
  7. <view class="list_tpl">
  8. <view class="title">
  9. <text>UID: {{item.uid}}</text>
  10. </view>
  11. <view class="time">
  12. <text>{{item.pay_time | time}}</text>
  13. </view>
  14. </view>
  15. </view>
  16. <view class="money">
  17. ¥{{item.price}}
  18. </view>
  19. </view>
  20. <uni-load-more :status="loadingType"></uni-load-more>
  21. </view>
  22. </template>
  23. <script>
  24. import { getRechargeList } from '@/api/wallet.js'
  25. import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
  26. import empty from '@/components/empty';
  27. export default {
  28. data() {
  29. return {
  30. list: [],
  31. loadingType: 'more',
  32. page: 1,
  33. limit: 10,
  34. loaded: false
  35. }
  36. },
  37. filters: {
  38. time(val) {
  39. let str = ''
  40. if(val) {
  41. let date = new Date(parseInt(val) * 1000);
  42. let year = date.getFullYear();
  43. let mon = date.getMonth() + 1;
  44. let day = date.getDate();
  45. let hours = date.getHours();
  46. let minu = date.getMinutes();
  47. let sec = date.getSeconds();
  48. return year + '-' + mon + '-' + day + ' ' + hours + ':' + minu + ':' + sec;
  49. }
  50. }
  51. },
  52. components: {
  53. uniLoadMore,
  54. empty
  55. },
  56. onReachBottom() {
  57. this.loadData()
  58. },
  59. onLoad() {
  60. this.loadData()
  61. },
  62. methods: {
  63. loadData() {
  64. let obj = this
  65. if(obj.loadingType == 'loading' || obj.loadingType == 'noMore') {
  66. return
  67. }
  68. obj.loadingType = 'loading'
  69. getRechargeList({
  70. page: obj.page,
  71. limit: obj.limit
  72. }).then(({data}) => {
  73. console.log(data)
  74. let arr = data.list.map( item => {
  75. return item
  76. })
  77. obj.list = obj.list.concat(arr)
  78. if(data.list.length == obj.limit) {
  79. obj.page++
  80. obj.loadingType = 'more'
  81. }else {
  82. obj.loadingType = 'noMore'
  83. }
  84. this.loaded = true
  85. }).catch( err => {
  86. if(obj.page == 1) {
  87. uni.hideLoading()
  88. }
  89. })
  90. }
  91. }
  92. }
  93. </script>
  94. <style lang="scss" scoped>
  95. .order-item {
  96. padding: 20rpx 30rpx;
  97. line-height: 1.5;
  98. background-color: #fff;
  99. border-bottom: #F0F0F0 1rpx solid;
  100. .title-box {
  101. width: 100%;
  102. .title-avatar{
  103. width: 100rpx;
  104. height: 100rpx;
  105. margin-right: 25rpx;
  106. image{
  107. width: 100%;
  108. height: 100%;
  109. border-radius: 100%;
  110. background-color: red;
  111. }
  112. }
  113. .list_tpl{
  114. width: 85%;
  115. .title {
  116. font-size: $font-lg;
  117. color: $font-color-base;
  118. overflow:hidden; //超出的文本隐藏
  119. text-overflow:ellipsis; //溢出用省略号显示
  120. white-space:nowrap;
  121. }
  122. .time {
  123. margin-top: 15rpx;
  124. font-size: 22rpx;
  125. color: $font-color-light;
  126. }
  127. }
  128. }
  129. .money {
  130. color: #901B21;
  131. font-size: $font-lg;
  132. }
  133. }
  134. </style>