index.tsx 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. import React, { useEffect, useState } from "react"
  2. import { useAjax } from "@/Hook/useAjax"
  3. import { getGDTListApi, GetGDTListProps, getGDTTotalApi } from "@/services/iaaData"
  4. import TablePro from "@/components/TablePro"
  5. import columns12 from "./tableConfig"
  6. import QueryForm from "@/components/QueryForm"
  7. import moment from "moment"
  8. import { useModel } from "umi"
  9. /**
  10. * 腾讯广告列表
  11. * @returns
  12. */
  13. const TencentIaaAd: React.FC = () => {
  14. /****************************************/
  15. const { initialState } = useModel('@@initialState');
  16. const [queryForm, setQueryForm] = useState<GetGDTListProps>({
  17. pageNum: 1,
  18. pageSize: 30
  19. })
  20. const [totalData, setTotalData] = useState<any[]>([])
  21. const getGDTList = useAjax((params) => getGDTListApi(params))
  22. const getGDTTotal = useAjax((params) => getGDTTotalApi(params))
  23. /****************************************/
  24. useEffect(() => {
  25. if (initialState?.iaaApp) {
  26. const [appId, productType] = initialState.iaaApp.split('||')
  27. getGDTList.run({ ...queryForm, appId, productType })
  28. getGDTTotal.run({ ...queryForm, appId, productType }).then((res: { data: { id: number; accountId: string } }) => {
  29. if (res?.data) {
  30. let data = res?.data
  31. data.id = 1
  32. data.accountId = '总计'
  33. setTotalData([data])
  34. } else {
  35. setTotalData([{ id: 1, accountId: '总计' }])
  36. }
  37. })
  38. }
  39. }, [queryForm, initialState?.iaaApp])
  40. return <div>
  41. <TablePro
  42. leftChild={<QueryForm
  43. initialValues={{}}
  44. isAccountId
  45. isPromotionName
  46. isPutUserIdList
  47. isCpaBid
  48. isDeleted
  49. isPricing
  50. isStatus
  51. day1={{ placeholder: ['广告创建日期开始', '广告创建日期结束'] }}
  52. day2={{ placeholder: ['投放日期开始', '投放日期结束'] }}
  53. day3={{ placeholder: ['消耗日期开始', '消耗日期结束'] }}
  54. onChange={(data: any) => {
  55. console.log(data)
  56. const { day1, day2, day3, ...params } = data
  57. let newQueryForm = JSON.parse(JSON.stringify(queryForm))
  58. if (day1 && day1?.length === 2) {
  59. newQueryForm['adCreateBegin'] = moment(day1[0]).format('YYYY-MM-DD')
  60. newQueryForm['adCreateEnd'] = moment(day1[1]).format('YYYY-MM-DD')
  61. } else {
  62. delete newQueryForm['adCreateBegin']
  63. delete newQueryForm['adCreateEnd']
  64. }
  65. if (day2 && day2?.length === 2) {
  66. newQueryForm['putDayBegin'] = moment(day2[0]).format('YYYY-MM-DD')
  67. newQueryForm['putDayEnd'] = moment(day2[1]).format('YYYY-MM-DD')
  68. } else {
  69. delete newQueryForm['putDayBegin']
  70. delete newQueryForm['putDayEnd']
  71. }
  72. if (day3 && day3?.length === 2) {
  73. newQueryForm['costDayBegin'] = moment(day3[0]).format('YYYY-MM-DD')
  74. newQueryForm['costDayEnd'] = moment(day3[1]).format('YYYY-MM-DD')
  75. } else {
  76. delete newQueryForm['costDayBegin']
  77. delete newQueryForm['costDayEnd']
  78. }
  79. setQueryForm({ ...newQueryForm, ...params })
  80. }}
  81. />}
  82. isZj
  83. totalData={totalData}
  84. config={columns12()}
  85. configName={'腾讯广告列表'}
  86. fixed={{ left: 4, right: 0 }}
  87. scroll={{ x: 1000, y: 620 }}
  88. title='腾讯广告列表'
  89. loading={getGDTList.loading}
  90. ajax={getGDTList}
  91. page={getGDTList?.data?.data?.current || 1}
  92. pageSize={getGDTList?.data?.data?.size || 20}
  93. total={getGDTList?.data?.data?.total || 0}
  94. dataSource={getGDTList?.data?.data?.records?.map((item: any, index: number) => ({ ...item, id: Number(queryForm.pageNum.toString() + (index + '')) }))}
  95. onChange={(pagination: any, _: any, sortData: any) => {
  96. let { current, pageSize } = pagination
  97. let newQueryForm = JSON.parse(JSON.stringify(queryForm))
  98. if (sortData && sortData?.order) {
  99. newQueryForm['sortAsc'] = sortData?.order === 'ascend' ? true : false
  100. newQueryForm['sortFiled'] = sortData?.field
  101. } else {
  102. delete newQueryForm['sortAsc']
  103. delete newQueryForm['sortFiled']
  104. }
  105. newQueryForm.pageNum = current || newQueryForm.pageNum
  106. newQueryForm.pageSize = pageSize || newQueryForm.pageSize
  107. setQueryForm({ ...newQueryForm })
  108. }}
  109. />
  110. </div>
  111. }
  112. export default TencentIaaAd