index.tsx 3.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. import React, { useEffect, useState } from "react"
  2. import TableData from "../../components/TableData"
  3. import columns12 from "./tableConfig"
  4. import { useAjax } from "@/Hook/useAjax"
  5. import { GameTotalProps, getGameTotalListApi } from "@/services/gameData/game"
  6. import QueryForm from "@/components/QueryForm"
  7. import { czPresets } from "@/components/QueryForm/const"
  8. import moment from "moment"
  9. /**
  10. * 游戏总数居
  11. * @returns
  12. */
  13. const Total: React.FC = () => {
  14. /*****************************/
  15. const [queryForm, setQueryForm] = useState<GameTotalProps>({
  16. pageNum: 1, pageSize: 20,
  17. registeredBeginDate: moment().subtract(30, 'd').format('YYYY-MM-DD'),
  18. registeredEndDate: moment().format('YYYY-MM-DD'),
  19. rechargeBeginDate: moment().subtract(30, 'd').format('YYYY-MM-DD'),
  20. rechargeEndDate: moment().format('YYYY-MM-DD')
  21. })
  22. const getGameTotalList = useAjax((params) => getGameTotalListApi(params))
  23. /*****************************/
  24. useEffect(() => {
  25. getGameTotalList.run(queryForm)
  26. }, [queryForm])
  27. return <div>
  28. <TableData
  29. leftChild={<QueryForm
  30. initialValues={{ regDay: [moment().subtract(30, 'd'), moment()], rechargeDay: [moment().subtract(30, 'd'), moment()] }}
  31. onChange={(data: any) => {
  32. console.log(data)
  33. const { regStartDay, regEndDay, rechargeDay, ...params } = data
  34. let newQueryForm = JSON.parse(JSON.stringify(queryForm))
  35. newQueryForm.pageNum = 1
  36. if (rechargeDay && rechargeDay?.length === 2) {
  37. newQueryForm['rechargeBeginDate'] = moment(rechargeDay[0]).format('YYYY-MM-DD')
  38. newQueryForm['rechargeEndDate'] = moment(rechargeDay[1]).format('YYYY-MM-DD')
  39. } else {
  40. delete newQueryForm['rechargeBeginDate']
  41. delete newQueryForm['rechargeEndDate']
  42. }
  43. if (regStartDay && regEndDay) {
  44. newQueryForm.registeredBeginDate = regStartDay
  45. newQueryForm.registeredEndDate = regEndDay
  46. } else {
  47. delete newQueryForm.registeredBeginDate
  48. delete newQueryForm.registeredEndDate
  49. }
  50. setQueryForm({ ...newQueryForm, ...params })
  51. }}
  52. isRegDay
  53. isGameName
  54. isBGGameClassify
  55. rechargeDay={{ ranges: czPresets }}
  56. />}
  57. scroll={{ x: 1000, y: 600 }}
  58. ajax={getGameTotalList}
  59. fixed={{ left: 5, right: 0 }}
  60. dataSource={getGameTotalList?.data?.records?.map((item: any, index: number) => ({ ...item, id: Number(queryForm.pageNum.toString() + index.toString()) }))}
  61. total={getGameTotalList?.data?.total}
  62. page={queryForm.pageNum}
  63. pageSize={queryForm.pageSize}
  64. title='游戏总数据'
  65. onChange={(props: any) => {
  66. let { pagination, sortData } = props
  67. let { current, pageSize } = pagination
  68. let newQueryForm = JSON.parse(JSON.stringify(queryForm))
  69. if (sortData && sortData?.order) {
  70. newQueryForm['sortType'] = sortData?.order === 'ascend' ? 'asc' : 'desc'
  71. newQueryForm['sortFiled'] = sortData?.field
  72. } else {
  73. delete newQueryForm['sortType']
  74. delete newQueryForm['sortFiled']
  75. }
  76. newQueryForm.pageNum = current
  77. newQueryForm.pageSize = pageSize
  78. setQueryForm({ ...newQueryForm })
  79. }}
  80. config={columns12()}
  81. configName={'游戏总数据'}
  82. />
  83. </div>
  84. }
  85. export default Total