import useEcharts from "@/Hook/useEcharts" import { GetColumnTrendProps, getAdgroupDetailsApi } from "@/services/adMonitor/adMonitor" import { Card, Descriptions, Empty, Select, Space, Spin, Typography } from "antd" import React, { useEffect, useMemo, useState } from "react" import { useModel } from "umi" import '../../launchSystemNew/adq/ad/index.less' import { useAjax } from "@/Hook/useAjax" import { BidModeEnum, BidStrategyEnum, OptimizationGoalEnum } from "@/services/launchAdq/enum" import TimeSeriesLook from "../../launchSystemNew/adq/ad/timeSeriesLook" import { ADGROUP_STATUS } from "../adqv3/const" const AdExpandedRowRender: React.FC<{ data: any, scrollLeft: number, width?: number }> = ({ data, scrollLeft, width = 0 }) => { const { getColumnTrendV3 } = useModel('useAdMonitor.useMonitor') const getAdgroupDetails = useAjax((params) => getAdgroupDetailsApi(params), { formatResult: true }) const [queryColumnTrend, setQueryColumnTrend] = useState({ accountId: data.account_id, adgroupId: data.adgroup_id, trendColumns: ['view', 'cost'], timeUnit: 'hour' }) const { LineMonitor } = useEcharts() const [lineDis, setLineDis] = useState([]) useEffect(() => { getAdgroupDetails.run({ accountId: data.account_id, adgroupId: data.adgroup_id }) }, [data]) useEffect(() => { getCTList() }, [queryColumnTrend]) const getCTList = () => { getColumnTrendV3.run(queryColumnTrend).then(res => { if (res?.data) { let spendData: any = { legendName: '花费' } let exposureData: any = { legendName: '曝光次数' } res?.data?.forEach((item: { day: string, trend_unit: string, view: string, cost: string }) => { spendData[item?.trend_unit] = item?.cost exposureData[item?.trend_unit] = item?.view }); setLineDis(() => [spendData, exposureData]) } }) } const AdContent = useMemo(() => { if (getAdgroupDetails?.data?.data) { const { adgroupName, bidAmount, bidMode, optimizationGoal, systemStatus, targetingTranslation, timeSeries, firstDayBeginTime, dailyBudget, bidStrategy, } = getAdgroupDetails?.data?.data return
{adgroupName}
{ADGROUP_STATUS[systemStatus as keyof typeof ADGROUP_STATUS] || '--'} {`${BidModeEnum[bidMode as keyof typeof BidModeEnum]} ${bidAmount}元/${bidMode === 'BID_MODE_CPM' ? '千次曝光' : bidMode === 'BID_MODE_CPC' ? '点击' : OptimizationGoalEnum[optimizationGoal as keyof typeof OptimizationGoalEnum]}`} {}
{targetingTranslation}
{firstDayBeginTime} {dailyBudget} {BidStrategyEnum[bidStrategy as keyof typeof BidStrategyEnum]}
} return }, [getAdgroupDetails?.data?.data, getAdgroupDetails.loading]) return
广告 刷新时间:{getAdgroupDetails?.data?.reqTime} getAdgroupDetails.refresh()} style={{ fontSize: 14 }}>刷新
{AdContent}
趋势 刷新时间:{getColumnTrendV3?.data?.reqTime} getCTList()} style={{ fontSize: 14 }}>刷新
{getColumnTrendV3?.loading ? : }
} export default React.memo(AdExpandedRowRender)