import { CreateAdProps } from "@/services/launchAdq/createAd" import { BaseResult } from "@ahooksjs/use-request/lib/types" import { CloseOutlined } from "@ant-design/icons" import { Button, Col, Empty, Popover, Space, Spin, Tooltip } from "antd" import React, { useCallback, 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" 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 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
定向 {getSysAdgroups?.data?.bidMode === 'BID_MODE_CPM' && <>{accountCreateLogs?.length > 0 && queryForm?.sysTargetingId ? : 0 ? `请先添加定向` : `请先选择媒体账户`}> }} {queryForm.sysTargeting && { setQueryForm({ ...queryForm, sysTargeting: undefined, sysTargetingId: undefined}) setAccountCreateLogs([]) }}>清空}
{queryForm?.sysTargetingId ? <> {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() }} />} {/* 新建定向包 */} {adModalConfig.visible && { setQueryForm({ ...queryForm, sysTargeting: values, }); setDxVisible(false); clearData(); handleAdModalConfig({ visible: false, dataInfo: null, type: 'add' }) }} type={adModalConfig.type} dataInfo={queryForm.sysTargeting} />} } export default TargetIng