reward-record-list.vue 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. <template>
  2. <main-layout :showHome="true" :showBack="true">
  3. <view class="selector">
  4. <uni-datetime-picker type="daterange" v-model="datePickerValue" @change="dateChange"/>
  5. </view>
  6. <uni-list :border="true">
  7. <uni-list-item v-for="item in listData" :key="item.id">
  8. <template v-slot:body>
  9. <p>{{item.claimRewardTime}}</p>
  10. <p>
  11. 领取奖励:{{item.claimRewardNum}},领取前奖励:{{item.beforeClaimRewardNum}},领取后奖励:{{item.afterClaimRewardNum}}
  12. </p>
  13. </template>
  14. </uni-list-item>
  15. </uni-list>
  16. </main-layout>
  17. </template>
  18. <script setup>
  19. import {ref} from 'vue';
  20. import { onLoad, onPullDownRefresh } from "@dcloudio/uni-app";
  21. import dateUtils from '@/utils/date';
  22. import { rewardApi } from '@/service/apis';
  23. //属性
  24. /**
  25. * 日期选择器值/
  26. */
  27. const datePickerValue = ref([]);
  28. /**
  29. * 查询条件
  30. */
  31. const queryData = ref(null);
  32. /**
  33. * 列表数据
  34. */
  35. const listData = ref(null);
  36. // 方法
  37. /**
  38. * 日期选择监听
  39. */
  40. const dateChange = (e) => {
  41. if (e.length == 0) {
  42. queryData.value = {};
  43. return;
  44. }
  45. queryData.value = {
  46. startDate: e[0],
  47. endDate: e[1]
  48. };
  49. loadData();
  50. }
  51. /**
  52. * 加载数据
  53. */
  54. const loadData = () => {
  55. rewardApi.queryClaimRewardRecords(queryData.value).then(res => {
  56. listData.value = res;
  57. });
  58. }
  59. // 生命周期
  60. onLoad(() => {
  61. const startDate = dateUtils.getFirstDayOfMonth();
  62. const endDate = dateUtils.getLastDayOfMonth();
  63. datePickerValue.value = [startDate, endDate];
  64. queryData.value = {
  65. startDate,
  66. endDate
  67. }
  68. loadData();
  69. });
  70. onPullDownRefresh(() => {
  71. loadData();
  72. uni.stopPullDownRefresh();
  73. });
  74. </script>
  75. <style lang="scss" scoped>
  76. .selector {
  77. background-color: #FFFFFF;
  78. }
  79. </style>