settle-list.vue 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  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="settle in settleData" :key="settle.id">
  8. <template v-slot:body>
  9. 结算时间:{{settle.settlementTime}} 结算前奖励:{{settle.beforeSettleRewardNum}},结算奖励:{{settle.settleRewardNum}},结算后奖励:{{settle.afterSettleRewardNum}}
  10. </template>
  11. </uni-list-item>
  12. </uni-list>
  13. </main-layout>
  14. </template>
  15. <script setup>
  16. import {ref} from 'vue';
  17. import { onLoad, onPullDownRefresh } from "@dcloudio/uni-app";
  18. import dateUtils from '@/utils/date';
  19. import { settleApi } from '@/service/apis';
  20. //属性
  21. /**
  22. * 日期选择器值/
  23. */
  24. const datePickerValue = ref([]);
  25. /**
  26. * 查询条件
  27. */
  28. const queryData = ref(null);
  29. /**
  30. * 结算数据
  31. */
  32. const settleData = ref(null);
  33. // 方法
  34. /**
  35. * 日期选择监听
  36. */
  37. const dateChange = (e) => {
  38. if (e.length == 0) {
  39. queryData.value = {};
  40. return;
  41. }
  42. queryData.value = {
  43. startDate: e[0],
  44. endDate: e[1]
  45. };
  46. loadData();
  47. }
  48. /**
  49. * 加载数据
  50. */
  51. const loadData = () => {
  52. settleApi.querySettle(queryData.value).then(res => {
  53. settleData.value = res;
  54. });
  55. }
  56. // 生命周期
  57. onLoad(() => {
  58. const startDate = dateUtils.getFirstDayOfMonth();
  59. const endDate = dateUtils.getLastDayOfMonth();
  60. datePickerValue.value = [startDate, endDate];
  61. queryData.value = {
  62. startDate,
  63. endDate
  64. }
  65. loadData();
  66. });
  67. onPullDownRefresh(() => {
  68. loadData();
  69. uni.stopPullDownRefresh();
  70. });
  71. </script>
  72. <style lang="scss" scoped>
  73. .selector {
  74. background-color: #FFFFFF;
  75. }
  76. </style>