useData.ts 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. import dayjs from 'dayjs'
  2. import { PageSizeEnum } from '~/enums/sizeEnum'
  3. import { cancelOrderApi, getOrderListApi } from '@/api/model/order'
  4. export function useData({ type }: any) {
  5. const tableData = ref([])
  6. const currentPage = ref(1)
  7. const page_size = ref(10)
  8. const total = ref(1)
  9. const getTableList = async (
  10. pageNo = PageSizeEnum.PAGE,
  11. pageSize = PageSizeEnum.PAGE_SIZE,
  12. state = type,
  13. ) => {
  14. try {
  15. const params = {
  16. pageNo,
  17. state,
  18. pageSize,
  19. }
  20. const res: any = await getOrderListApi(params)
  21. total.value = res.total
  22. tableData.value = res.records.map((item: any) => {
  23. return {
  24. ...item,
  25. totalPrice: `${numberToTwoDecimals(item.totalPrice)} USD`,
  26. createTime: dayjs(item.createTime).format('YYYY-MM-DD HH:mm:ss'),
  27. }
  28. })
  29. }
  30. catch (e) {
  31. console.log(e)
  32. }
  33. }
  34. const cancelOrder = async (data: any) => {
  35. try {
  36. await cancelOrderApi({ id: data.id })
  37. ElMessage.success('取消订单成功')
  38. await getTableList()
  39. }
  40. catch (error) {
  41. console.log(error)
  42. }
  43. }
  44. const changePage = (page: number, pageSize: number) => {
  45. currentPage.value = page
  46. getTableList(page, pageSize, type)
  47. }
  48. return {
  49. tableData,
  50. page_size,
  51. currentPage,
  52. total,
  53. cancelOrder,
  54. getTableList,
  55. changePage,
  56. }
  57. }