index.tsx 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. import QueryForm from "@/components/QueryForm"
  2. import { useAjax } from "@/Hook/useAjax"
  3. import { getOrderListApi, getOrderTotalApi, OrderListType } from "@/services/gameData/order"
  4. import React, { useEffect, useState } from "react"
  5. import TableData from "../components/TableData"
  6. import columns12 from "./tableConfig"
  7. import { getPresets } from "@/components/QueryForm/const"
  8. import moment from "moment"
  9. const Order: React.FC = () => {
  10. /***************************/
  11. const [queryForm, setQueryForm] = useState<OrderListType>({ pageNum: 1, pageSize: 100, sourceSystem: 'ZX_ONE', sortFiled: 'orderCreateTime', sortType: 'desc' })
  12. const [totalData, setTotalData] = useState<any[]>([])
  13. const getOrderList = useAjax((params) => getOrderListApi(params))
  14. const getOrderTotal = useAjax((params) => getOrderTotalApi(params))
  15. /***************************/
  16. useEffect(() => {
  17. getOrderList.run(queryForm)
  18. getOrderTotal.run(queryForm).then(res => {
  19. res.id = 1
  20. res.day = '总计'
  21. setTotalData([res])
  22. })
  23. }, [queryForm])
  24. return <div>
  25. <TableData
  26. leftChild={<QueryForm
  27. initialValues={{ sourceSystem: 'ZX_ONE' }}
  28. onChange={(data: any) => {
  29. const { os, regStartDay, orderStatus, gameUserId, regEndDay, payTime, placeAnOrderTime, agentId, ...params } = data
  30. let newQueryForm = JSON.parse(JSON.stringify(queryForm))
  31. newQueryForm.pageNum = 1
  32. newQueryForm.deviceSystem = os
  33. newQueryForm.status = orderStatus
  34. newQueryForm.userId = gameUserId
  35. newQueryForm.channelId = agentId
  36. if (regStartDay && regEndDay) {
  37. newQueryForm.regTimeStart = regStartDay
  38. newQueryForm.regTimeEnd = regEndDay
  39. } else {
  40. delete newQueryForm.regTimeStart
  41. delete newQueryForm.regTimeEnd
  42. }
  43. if (payTime && payTime?.length > 0) {
  44. newQueryForm.payTimeStart = moment(payTime[0]).format('YYYY-MM-DD')
  45. newQueryForm.payTimeEnd = moment(payTime[1]).format('YYYY-MM-DD')
  46. } else {
  47. delete newQueryForm.payTimeStart
  48. delete newQueryForm.payTimeEnd
  49. }
  50. if (placeAnOrderTime && placeAnOrderTime?.length > 0) {
  51. newQueryForm.beginDate = moment(placeAnOrderTime[0]).format('YYYY-MM-DD')
  52. newQueryForm.endDate = moment(placeAnOrderTime[1]).format('YYYY-MM-DD')
  53. } else {
  54. delete newQueryForm.beginDate
  55. delete newQueryForm.endDate
  56. }
  57. setQueryForm({ ...newQueryForm, ...params })
  58. }}
  59. isSource
  60. isAccountId
  61. isCpName
  62. isCpOrderId
  63. isCpStatus
  64. isOs
  65. isGameId
  66. isFirstRecharge
  67. isMerchantNo
  68. isMerchantOrderNo
  69. isOrderId
  70. isPayWay
  71. isSysUserId
  72. isProductName
  73. isGameRoleName
  74. isServerName
  75. isPayStatus
  76. isGameUserId
  77. isUserName
  78. isPayIntervalTime
  79. isAgentId
  80. payTimeDay={{ ranges: getPresets() }}
  81. isRegDay={{ ranges: getPresets() }}
  82. placeAnOrderDay={{ ranges: getPresets() }}
  83. />}
  84. isZj
  85. totalData={totalData}
  86. scroll={{ x: 1000, y: 600 }}
  87. ajax={getOrderList}
  88. fixed={{ left: 3, right: 2 }}
  89. dataSource={getOrderList?.data?.records?.map((item: any, index: number) => ({ ...item, id: item?.orderId?.replace(/\D/g, '') || index }))}
  90. total={getOrderList?.data?.total}
  91. page={queryForm.pageNum}
  92. pageSize={queryForm.pageSize}
  93. title='订单明细'
  94. onChange={(props: any) => {
  95. console.log('props--->', props)
  96. let { pagination, sortData } = props
  97. let { current, pageSize } = pagination
  98. let newQueryForm = JSON.parse(JSON.stringify(queryForm))
  99. if (sortData && sortData?.order) {
  100. newQueryForm['sortType'] = sortData?.order === 'ascend' ? 'asc' : 'desc'
  101. newQueryForm['sortFiled'] = sortData?.field
  102. } else {
  103. delete newQueryForm['sortType']
  104. delete newQueryForm['sortFiled']
  105. }
  106. newQueryForm.pageNum = current
  107. newQueryForm.pageSize = pageSize
  108. setQueryForm({ ...newQueryForm })
  109. }}
  110. config={columns12()}
  111. configName={'订单明细'}
  112. // summary={() => {
  113. // let defSelectData = localStorage.getItem(`myAdMonitorConfig1.0.0_订单明细`)
  114. // let newDefSelectData: any[] = []
  115. // if (defSelectData) {
  116. // newDefSelectData = JSON.parse(defSelectData)
  117. // } else {
  118. // newDefSelectData = columns12()[0]?.data
  119. // }
  120. // return <Table.Summary fixed={'top'}>
  121. // <Table.Summary.Row>
  122. // {newDefSelectData?.map((item: { dataIndex: string }, index: number) => {
  123. // if (item.dataIndex === 'amount') {
  124. // return <Table.Summary.Cell index={index} align='center' key={index}><Statistic valueStyle={{ color: 'red', fontWeight: 600 }} value={getOrderList?.data?.totalData?.totalAmount || 0} precision={2}/></Table.Summary.Cell>
  125. // } else if (item.dataIndex === 'realAmount') {
  126. // return <Table.Summary.Cell index={index} align='center' key={index}><Statistic valueStyle={{ color: 'red', fontWeight: 600 }} value={getOrderList?.data?.totalData?.totalRealAmount || 0} precision={2}/></Table.Summary.Cell>
  127. // } else if (index === 0) {
  128. // return <Table.Summary.Cell index={index} align='center' key={index}><span style={{ fontSize: 16, fontWeight: 'bold' }}>汇总</span></Table.Summary.Cell>
  129. // }
  130. // return <Table.Summary.Cell index={index} align='center' key={index}><span>--</span></Table.Summary.Cell>
  131. // })}
  132. // </Table.Summary.Row>
  133. // </Table.Summary>
  134. // }}
  135. />
  136. </div>
  137. }
  138. export default Order