import { FnAjax, useAjax } from '@/Hook/useAjax' import { ListData, } from '@/services/launchAdq' import { PromotedObjectType } from '@/services/launchAdq/enum' import { createSysAdcreative, getSysAdcreativeList } from '@/services/launchAdq/creative' import { Col, Row, Input, Select, Button } from 'antd' import React, { useEffect, useState, useCallback } from 'react' import TableData from '../../../components/TableData' import AdModal from './modal' import tableConfig from './tableConfig' export interface ModalConfig { visible: boolean; title?: string; } function Creative() { // 变量 const [modalConfig, setModalConfig] = useState({ visible: false, title: '新建' }) const [oldsearchData, setOldsearchData] = useState(null) // api方法 const sysAdcreativeList: FnAjax|any> = useAjax((params) => getSysAdcreativeList(params),{formatResult:true}) const createSysAdgroup = useAjax((params) => createSysAdcreative(params)) // 初始获取列表 useEffect(() => { getList({ pageSize: 20, pageNum: 1 }) }, []) // 获取列表 const getList = useCallback((arg: { pageSize: number, pageNum: number, adcreativeName?: string, promotedObjectType?: string }) => { Object.keys(arg).forEach(key => { !arg[key] && delete arg[key] }) if (JSON.stringify(arg) !== JSON.stringify(oldsearchData)) { setOldsearchData(arg) sysAdcreativeList.run(arg) } }, [oldsearchData]) // 设置变量 const handleModalConfig = useCallback((arg: ModalConfig) => { setModalConfig({ ...modalConfig, ...arg }) }, [modalConfig]) // submit const submit = useCallback((arg: any) => { console.log(arg) createSysAdgroup.run(arg).then(res => { if (res) { sysAdcreativeList.refresh() handleModalConfig({ visible: false }) } }) }, [sysAdcreativeList]) console.log(sysAdcreativeList) return
{ let value = e.target.value getList({ pageNum: 1, pageSize: 20, adcreativeName: value }) }} onKeyDownCapture={(e: any) => { let key = e.key if (key === 'Enter') { let value = e.target.value getList({ pageNum: 1, pageSize: 20, adcreativeName: value }) } }} onChange={(e) => { let value = e.target.value if (!value) { getList({ pageNum: 1, pageSize: 20, adcreativeName: value }) } }} /> } onChange={(props: any) => { let { sortData, pagination } = props let { current, pageSize } = pagination getList({ pageNum: current, pageSize }) }} /> {modalConfig.visible && }
} export default Creative