import { useAjax } from '@/Hook/useAjax' import { CampaignTypeEnum, ConfiguredStatusEnum, PromotedObjectType } from '@/services/launchAdq/enum' import { Col, Row, Input, Select, Button, message } from 'antd' import React, { useEffect, useState, useCallback } from 'react' import TableData from '../../components/TableData' import tableConfig from './tableConfig' import { getAdqCampaignList, putAdqCampaignPage } from '@/services/launchAdq/adq' function Campaign(props: { accountId: string, adAccountId: string, userId: string }) { let { accountId, adAccountId, userId } = props // api方法 const listAjax = useAjax((params) => getAdqCampaignList(params), { formatResult: true }) const syncAjax = useAjax((adAccountId) => putAdqCampaignPage(adAccountId)) console.log('创意=====》') useEffect(() => { getList({ pageNum: 1, pageSize: 20 }) }, [accountId, userId]) // 获取列表 const getList = useCallback((params: { pageNum: number; pageSize: number; userId?: string;//用户ID accountId?: string;//账号本地ID campaignName?: string;//计划名称 configuredStatus?: string;//计划状态 campaignType?: string;//计划类型 promotedObjectType?: string;//推广目标类型 }) => { if (!params.campaignName || params.campaignName !== listAjax?.params[0]?.adcreativeName) { !params.campaignName && delete params.campaignName listAjax.run({ ...params, userId, accountId }) } }, [accountId, userId, listAjax]) // 同步 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
{ let value = e.target.value getList({ pageNum: 1, pageSize: 20, campaignName: value }) }} onKeyDownCapture={(e: any) => { let key = e.key if (key === 'Enter') { let value = e.target.value getList({ pageNum: 1, pageSize: 20, campaignName: value }) } }} onChange={(e) => { let value = e.target.value if (!value) { getList({ pageNum: 1, pageSize: 20, campaignName: value }) } }} /> } onChange={(props: any) => { let { sortData, pagination } = props let { current, pageSize } = pagination getList({ pageNum: current, pageSize }) }} />
} export default Campaign