import React, { useEffect, useCallback, useState } from 'react' import { Button, Col, Input, message, Row } from 'antd' import { useAjax } from '@/Hook/useAjax' import { getAdqLandingPageList, putAdqLandingPage } from '@/services/launchAdq/adq' import TableData from '../../components/TableData' import tableConfig from './tableConfig' function LandingPage(props: { accountId: string, adAccountId: string, userId: string, tableIdClick: any }) { let { accountId, adAccountId, userId, tableIdClick } = props const listAjax = useAjax((params) => getAdqLandingPageList(params), { formatResult: true }) const syncAjax = useAjax((adAccountId) => putAdqLandingPage(adAccountId)) const [queryFrom, set_queryFrom] = useState<{ pageNum: number; pageSize: number; accountId?: string; pageName?: string; pageType?: string; pageTemplateId?: string; pageStatus?: string; }>({ pageNum: 1, pageSize: 20 }) console.log('落地页=====》') useEffect(() => { getList({ pageNum: 1, pageSize: 20 }) }, [accountId]) // 获取列表 const getList = useCallback((params: { pageNum: number; pageSize: number; accountId?: string; pageName?: string; pageType?: string; pageTemplateId?: string; pageStatus?: string; }) => { if (!params.pageName || params.pageName !== listAjax?.params[0]?.pageName) { !params.pageName && delete params.pageName } listAjax.run({ ...params, userId }) }, [listAjax, userId]) // 同步 const sync = useCallback(() => { if (!adAccountId) { message.error('请先选择要同步的广点通账号!') return } syncAjax.run(adAccountId).then(res => { console.log(res) res && listAjax.refresh() res ? message.success('同步成功!') : message.error('同步失败!') }) }, [adAccountId, listAjax]) return
tableConfig(tableIdClick)} ajax={listAjax} syncAjax={sync} dataSource={listAjax?.data?.data?.records} loading={listAjax?.loading || syncAjax?.loading} scroll={{ y: 550 }} total={listAjax?.data?.data?.total} page={listAjax?.data?.data?.current} pageSize={listAjax?.data?.data?.size} myKey={'pageId'} leftChild={<> { let value = e.target.value set_queryFrom({ ...queryFrom, accountId: value }) }} /> { let value = e.target.value set_queryFrom({ ...queryFrom, pageName: value }) }} /> {/* */} } onChange={(props: any) => { let { sortData, pagination } = props let { current, pageSize } = pagination set_queryFrom({ ...queryFrom, pageNum: current, pageSize }) getList({ ...queryFrom, pageNum: current, pageSize }) }} />
} export default LandingPage