index.vue 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <!-- -->
  2. <template>
  3. <div class="mt-3 white-bgc pa-3 pt-3">
  4. <v-tabs v-model="tab" align-tabs="start" color="primary" bg-color="#f7f8fa" @update:model-value="handleChangeTab">
  5. <v-tab :value="0">{{ '交易订单' }}</v-tab>
  6. </v-tabs>
  7. <CtTable
  8. class="mt-3"
  9. :items="dataList"
  10. :headers="headers[tab]"
  11. :loading="false"
  12. :elevation="0"
  13. :isTools="false"
  14. :showPage="true"
  15. :total="total"
  16. :page-info="query"
  17. itemKey="id"
  18. @pageHandleChange="handleChangePage"
  19. >
  20. </CtTable>
  21. </div>
  22. </template>
  23. <script setup>
  24. defineOptions({name: 'enterprise-memberCenter-tradingOrder'})
  25. import { getEnterpriseTradeOrderPage } from '@/api/recruit/enterprise/member/points'
  26. import { ref } from 'vue'
  27. import { timesTampChange } from '@/utils/date'
  28. import { getDict } from '@/hooks/web/useDictionaries'
  29. const tab = ref(0)
  30. const total = ref(0)
  31. const query = ref({
  32. pageNo: 1,
  33. pageSize: 10
  34. })
  35. const dataList = ref([])
  36. // 支付渠道
  37. const channelData = ref([])
  38. const getPayChannelCode = async () => {
  39. const { data } = await getDict('pay_channel_code')
  40. channelData.value = data
  41. }
  42. getPayChannelCode()
  43. const orderHeaders = ref([
  44. { title: '商品名称', key: 'spuName', sortable: false },
  45. { title: '价格', key: 'price', sortable: false },
  46. { title: '是否已支付', key: 'payStatus', sortable: false, value: item => item.payStatus ? '已支付' : '未支付' },
  47. { title: '支付订单编号', key: 'payOrderId', sortable: false },
  48. { title: '支付渠道', key: 'payChannelCode', value: item => channelData.value.find(e => e.value === item.payChannelCode)?.label, sortable: false },
  49. { title: '订单支付时间', key: 'payTime', value: item => timesTampChange(item.payTime), sortable: false },
  50. { title: '退款订单编号', key: 'payReFundId', sortable: false },
  51. { title: '退款金额', key: 'refundPrice', sortable: false },
  52. { title: '退款时间', key: 'refundTime', value: item => timesTampChange(item.refundTime), sortable: false },
  53. { title: '更新时间', key: 'updateTime', value: item => timesTampChange(item.updateTime), sortable: false },
  54. ])
  55. const getData = async () => {
  56. const res = await getEnterpriseTradeOrderPage(query.value)
  57. dataList.value = res.list
  58. total.value = res.total
  59. }
  60. getData()
  61. const handleChangePage = (e) => {
  62. query.value.pageNo = e
  63. getData()
  64. }
  65. // 切换
  66. const handleChangeTab = () => {
  67. query.value.pageNo = 1
  68. query.value.type = tab.value
  69. getData()
  70. }
  71. const headers = ref([orderHeaders.value])
  72. </script>
  73. <style lang="scss" scoped>
  74. </style>