index.tsx 4.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. import { AgainListProps, getAgainListApi, getAgainTotalApi } from "@/services/gameData/game"
  2. import React, { useEffect, useState } from "react"
  3. import moment from "moment"
  4. import { useAjax } from "@/Hook/useAjax"
  5. import TableData from "../../components/TableData"
  6. import QueryForm from "@/components/QueryForm"
  7. import columns12 from "./tableConfig"
  8. import { getPresets } from "@/components/QueryForm/const"
  9. const Again: React.FC = () => {
  10. /************************************/
  11. const [queryForm, setQueryForm] = useState<AgainListProps>({
  12. tableTypes: 'buy',
  13. pageNum: 1, pageSize: 50,
  14. registeredBeginDate: moment().format('YYYY-MM-DD'),
  15. registeredEndDate: moment().format('YYYY-MM-DD'),
  16. sourceSystem: 'ZX_ONE'
  17. })
  18. const [totalData, setTotalData] = useState<any[]>([])
  19. const getAgainList = useAjax((params) => getAgainListApi(params))
  20. const getAgainTotal = useAjax((params) => getAgainTotalApi(params))
  21. /************************************/
  22. useEffect(() => {
  23. getAgainList.run(queryForm)
  24. getAgainTotal.run(queryForm).then((res: { id: number; costDate: string; beginDay: string | undefined }) => {
  25. res.id = 1
  26. res.costDate = '总计'
  27. res.beginDay = queryForm.registeredBeginDate
  28. setTotalData([res])
  29. })
  30. }, [queryForm])
  31. return <div>
  32. <TableData
  33. leftChild={<QueryForm
  34. initialValues={{ regDay: [moment(), moment()], sourceSystem: 'ZX_ONE', tableTypes: 'buy' }}
  35. onChange={(data: any) => {
  36. console.log(data)
  37. const { regStartDay, gameClassify, regEndDay, rechargeDay, ...params } = data
  38. let newQueryForm = JSON.parse(JSON.stringify(queryForm))
  39. newQueryForm.pageNum = 1
  40. if (regStartDay && regEndDay) {
  41. newQueryForm.registeredBeginDate = regStartDay
  42. newQueryForm.registeredEndDate = regEndDay
  43. } else {
  44. delete newQueryForm.registeredBeginDate
  45. delete newQueryForm.registeredEndDate
  46. }
  47. newQueryForm.classify = gameClassify
  48. setQueryForm({ ...newQueryForm, ...params })
  49. }}
  50. isSource
  51. isRegDay={{ ranges: getPresets() }}
  52. isGameId
  53. isBGGameClassify
  54. isUserEnterType
  55. />}
  56. isZj
  57. totalData={totalData}
  58. scroll={{ x: 1000, y: 600 }}
  59. ajax={getAgainList}
  60. fixed={{ left: 2, right: 1 }}
  61. dataSource={getAgainList?.data?.records?.map((item: any, index: number) => ({ ...item, id: Number(queryForm.pageNum.toString() + index.toString()) }))}
  62. total={getAgainList?.data?.total}
  63. page={queryForm.pageNum}
  64. pageSize={queryForm.pageSize}
  65. sortData={{
  66. field: queryForm?.sortFiled,
  67. order: queryForm?.sortType === 'asc' ? 'ascend' : 'descend'
  68. }}
  69. title={`游戏首日复充`}
  70. onChange={(props: any) => {
  71. let { pagination, sortData } = props
  72. let { current, pageSize } = pagination
  73. let newQueryForm = JSON.parse(JSON.stringify(queryForm))
  74. if (sortData && sortData?.order) {
  75. newQueryForm['sortType'] = sortData?.order === 'ascend' ? 'asc' : 'desc'
  76. newQueryForm['sortFiled'] = sortData?.field
  77. } else {
  78. delete newQueryForm['sortType']
  79. delete newQueryForm['sortFiled']
  80. }
  81. newQueryForm.pageNum = current
  82. newQueryForm.pageSize = pageSize
  83. setQueryForm({ ...newQueryForm })
  84. }}
  85. config={columns12()}
  86. configName={'游戏首日复充'}
  87. />
  88. </div>
  89. }
  90. export default Again