MemberOrderView.vue 1.3 KB

1234567891011121314151617181920212223242526
  1. <template>
  2. <PagingTable url="/admin/membership/orders" :where="where">
  3. <template #filter>
  4. <EnumSelect :enum="MemberOrderStatus" v-model="where.status" placeholder="筛选状态" />
  5. </template>
  6. <ElTableColumn prop="id" label="#" width="80" />
  7. <ElTableColumn prop="userId" label="用户ID" min-width="120" />
  8. <ElTableColumn prop="planId" label="会员类型" min-width="120" />
  9. <ElTableColumn prop="name" label="会员名称" min-width="120" />
  10. <ElTableColumn prop="price" label="价格" min-width="120" />
  11. <ElTableColumn prop="status" label="状态" :formatter="statusFormatter" width="100" />
  12. <ElTableColumn prop="payMethod" label="支付方式" :formatter="payMethodFormatter" width="120" />
  13. <ElTableColumn prop="createdAt" label="创建时间" :formatter="timeFormatter" width="150" />
  14. </PagingTable>
  15. </template>
  16. <script setup>
  17. import PagingTable from '@/components/PagingTable.vue'
  18. import { useTimeFormatter, useEnumFormatter } from '@/utils/formatter'
  19. import { MemberOrderStatus, PayMethod } from '@/enums'
  20. import EnumSelect from '@/components/EnumSelect.vue'
  21. import { ref } from 'vue'
  22. const timeFormatter = useTimeFormatter()
  23. const statusFormatter = useEnumFormatter(MemberOrderStatus)
  24. const payMethodFormatter = useEnumFormatter(PayMethod)
  25. const where = ref({})
  26. </script>