import { useAjax } from "@/Hook/useAjax" import { PromotedObjectType } from "@/services/launchAdq/enum" import { getTaskListApi, TaskListProps } from "@/services/launchAdq/taskList" import { Input, Select, Space } from "antd" import React, { useEffect, useState } from "react" import LookLanding from "../../components/lookLanding" import TableData from "../../components/TableData" import Log from "./log" import tableConfig from './tableConfig' const TaskList: React.FC = () => { /*************************/ const [queryForm, setQueryForm] = useState({ pageSize: 20, pageNum: 1 }) const [logVisible, setLogVisible] = useState(false) const [lookVisible, setLookVisible] = useState(false) const [logData, setLogData] = useState<{ taskId: number, campaignName: string } | number>({ taskId: 0, campaignName: '' }) const [allData, setAllData] = useState({}) const getTaskList = useAjax((params) => getTaskListApi(params), { formatResult: true }) /*************************/ useEffect(() => { let campaignName = sessionStorage.getItem('CAMP') if (campaignName) { setQueryForm({ ...queryForm, campaignName }) sessionStorage.removeItem('CAMP') } }, []) useEffect(() => { getList() }, [queryForm]) const getList = () => { getTaskList.run(queryForm) } const callback = (data: any, type: 'log' | 'page', allData?: any) => { switch (type) { case 'log': setLogData({ ...data }) setLogVisible(true) setAllData(allData) break case 'page': setLogData(data) setLookVisible(true) break } } return <> tableConfig(callback)} ajax={getTaskList} dataSource={getTaskList?.data?.data?.records} loading={getTaskList?.loading} scroll={{ y: 600 }} total={getTaskList?.data?.data?.total} page={getTaskList?.data?.data?.current} pageSize={getTaskList?.data?.data?.size} leftChild={ {setQueryForm({ ...queryForm, campaignName: e.target.value, pageNum: 1 }); sessionStorage.removeItem('CAMP')}} /> } onChange={(props: any) => { let { pagination } = props let { current, pageSize } = pagination setQueryForm({ ...queryForm, pageNum: current, pageSize }) }} /> {/* 日志 */} {logVisible && setLogVisible(false)} allData={allData}/>} {/* 查看落地页 */} {lookVisible && setLookVisible(false)} id={logData as any} />} } export default React.memo(TaskList)