import { CreateAdProps } from "@/services/launchAdq/createAd" import { BaseResult } from "@ahooksjs/use-request/lib/types" import { CloseOutlined, DownOutlined } from "@ant-design/icons" import { Button, Col, Dropdown, Empty, Menu, message, Popover, Space, Spin, Tooltip } from "antd" import React, { useCallback, useEffect, useState } from "react" import TargetingModal from "../../../components/targetingModal" import TargetingPup from "./modal" import TargetingTooltip from "../../../components/targetingTooltip" import CrowdPackModal from "../../../components/crowdPackModal" import style from '../index.less' import { ModalConfig } from "./modal" import ExpandModal from "@/pages/launchSystemNew/components/expandModal" import { ExpandTargeting } from "@/services/launchAdq/enum" type Props = { queryForm: Partial, setQueryForm: React.Dispatch>>, setAccountCreateLogs: React.Dispatch>, getSysAdgroups: BaseResult, getsysTargeting: BaseResult, accountCreateLogs: any[], geoLocationList: any[], modelList: any[], clearData: () => void, cpDel: (index: number, num: number, key: string) => void, } function TargetIng(props: Props) { let { queryForm, getSysAdgroups, getsysTargeting, accountCreateLogs, geoLocationList, modelList, setQueryForm, clearData, cpDel, setAccountCreateLogs } = props const [adModalConfig, setAdModalConfig] = useState({//新建广告弹窗 visible: false, type: 'add' }) const [dxVisible, setDxVisible] = useState(false) // 选择定向弹窗控制 const [cpVisible, setCpVisible] = useState(false) // 选择设置名称弹窗控制 const [expandVisible, setExpandVisible] = useState(false) // 自动扩量弹窗控制 // 设置变量 const handleAdModalConfig = useCallback((arg: ModalConfig) => { setAdModalConfig({ ...adModalConfig, ...arg }) }, [adModalConfig]) // 获取定向详情 const getInfo = useCallback((sysTargetingId) => { getsysTargeting.run(sysTargetingId).then(res => { setQueryForm({ ...queryForm, sysTargetingId: sysTargetingId, sysTargeting: { ...res, isTemplate: false } }); setDxVisible(false); clearData() }) }, [queryForm]) return
定向 {/* (queryForm.sysAdgroup?.bidMode === 'BID_MODE_CPM' || queryForm.sysAdgroup?.bidMode === 'BID_MODE_CPC') && */} {accountCreateLogs?.length > 0 && queryForm?.sysTargeting ? : 0 ? `请先添加定向` : `请先选择媒体账户`}> } }, { key: '2', label: <> {accountCreateLogs?.length > 0 && queryForm?.sysTargeting ? : 0 ? `请先添加定向` : `请先选择媒体账户`}> } } ]} />} > e.preventDefault()}> 扩展 {queryForm.sysTargeting && { setQueryForm({ ...queryForm, sysTargeting: undefined, sysTargetingId: undefined }) setAccountCreateLogs([]) }}>清空}
{queryForm?.sysTargeting ? <> {queryForm.expandEnabled &&
自动扩量: 开启
不可突破定向: {queryForm?.expandTargeting?.map(item => ExpandTargeting[item]).toString() || '无'}
{accountCreateLogs?.map((item: any, index: number) => { if (item?.coldStartAudienceList) { return
{item.adAccountId}
{item?.coldStartAudienceList?.length > 0 && <>
扩量种子人群
{ item?.coldStartAudienceList?.map((pack: { name: string, id: number }, index1: number) => { return
{pack.name} { cpDel(index, index1, 'coldStartAudienceList') }} />
}) } }
} else { return null } })}
} {accountCreateLogs?.some((item: any) => item?.customAudienceList?.length > 0) ? <> {queryForm.sysTargeting &&
} trigger="hover" placement="right" >
定向名称: {queryForm?.sysTargeting?.targetingName}
定向描述: {queryForm?.sysTargeting?.description || '<空>'}
} {accountCreateLogs?.map((item: any, index: number) => { if (item?.customAudienceList) { return
{item.adAccountId}
{item?.customAudienceList?.length > 0 && <>
定向用户群
{ item?.customAudienceList?.map((pack: { name: string, id: number }, index1: number) => { return
{pack.name} { cpDel(index, index1, 'customAudienceList') }} />
}) } } {item?.excludedCustomAudienceList?.length > 0 && <>
排除用户群
{ item?.excludedCustomAudienceList?.map((pack: { name: string, id: number }, index1: number) => { return
{pack.name} { cpDel(index, index1, 'excludedCustomAudienceList') }} />
}) } }
} else { return null } })} : <>
定向名称: {queryForm?.sysTargeting?.targetingName}
定向描述: {queryForm?.sysTargeting?.description || '<空>'}
} : }
{ setDxVisible(true) }}>{queryForm?.sysTargeting ? '重选定向' : '选择定向'} { handleAdModalConfig(queryForm?.sysTargeting ? { visible: true, type: 'edit' } : { visible: true, type: 'add' }) }}>{queryForm?.sysTargeting ? '编辑定向' : '新建定向'}
{/* 选择定向 */} {dxVisible && setDxVisible(false)} onChange={getInfo} sysTargetingId={queryForm?.sysTargetingId} />} {/* 选择定向包 */} {cpVisible && setCpVisible(false)} onChange={(e) => { setAccountCreateLogs(e); setCpVisible(false); clearData() }} />} {/* 设置自动扩量 */} {expandVisible && setExpandVisible(false)} onChange={(e, expandData) => { setAccountCreateLogs(e); setQueryForm({ ...queryForm, ...expandData }) setExpandVisible(false) clearData() }} />} {/* 新建定向包 */} {adModalConfig.visible && { if (queryForm?.expandEnabled && queryForm?.expandTargeting && queryForm?.expandTargeting?.length > 0) { message.error('不可突破定向已重置,需要请重新设置') setQueryForm({ ...queryForm, sysTargeting: values, expandTargeting: [] }); } else { setQueryForm({ ...queryForm, sysTargeting: values }); } setDxVisible(false); clearData(); handleAdModalConfig({ visible: false, dataInfo: null, type: 'add' }) }} type={adModalConfig.type} dataInfo={queryForm.sysTargeting} />} } export default TargetIng