wjx 1 năm trước cách đây
mục cha
commit
e5d0edb918

+ 74 - 9
src/pages/launchSystemNew/adq/ad/copy.tsx

@@ -22,6 +22,9 @@ const Copy: React.FC<Props> = (props) => {
     const { visible, onChange, onClose, selectedRows } = props
     const [form] = Form.useForm();
     let dateType = Form.useWatch('dateType', form)
+    let bidAmountMin = Form.useWatch('bidAmountMin', form)
+    let bidAmountMax = Form.useWatch('bidAmountMax', form)
+    let amountModel = Form.useWatch('amountModel', form)
     const [state, setState] = useState<any>({ isShowTime: [] })
     const [timeSeriesType, setTimeSeriesType] = useState<'allDayLong' | 'timeInterValS'>('allDayLong')
 
@@ -31,6 +34,12 @@ const Copy: React.FC<Props> = (props) => {
     const handleOk = () => {
         form.validateFields().then(values => {
             let newValues = JSON.parse(JSON.stringify(values))
+
+            if (newValues?.amountModel == 2 && newValues?.bidAmountMin && newValues?.bidAmountMax && newValues?.bidAmountMin > newValues?.bidAmountMax) {
+                message.error('随机出价最大值要大于最小值')
+                return
+            }
+
             if (newValues?.date) {
                 if (newValues.dateType === '2') {
                     newValues['beginDate'] = moment(newValues.date).format('YYYY-MM-DD')
@@ -52,12 +61,12 @@ const Copy: React.FC<Props> = (props) => {
 
             delete newValues?.date
             delete newValues?.dateType
-            if (newValues?.bidAmount) {
-                newValues.bidAmount = newValues.bidAmount * 100
-            }
-            if (newValues?.dailyBudget) {
-                newValues.dailyBudget = newValues.dailyBudget * 100
-            }
+            // if (newValues?.bidAmount) {
+            //     newValues.bidAmount = newValues.bidAmount * 100
+            // }
+            // if (newValues?.dailyBudget) {
+            //     newValues.dailyBudget = newValues.dailyBudget * 100
+            // }
             console.log(newValues);
             copyAdAd.run({ ...newValues, adgroupIds: selectedRows.map((item: { adgroupId: number }) => item.adgroupId) }).then(res => {
                 if (res) {
@@ -94,6 +103,7 @@ const Copy: React.FC<Props> = (props) => {
             className='ad_form_style'
             colon={false}
             initialValues={{
+                amountModel: 1,
                 dateType: '2',
                 date: moment().startOf('day'),
                 timeSeries: getTimeSeriesList(),
@@ -150,11 +160,66 @@ const Copy: React.FC<Props> = (props) => {
                     </Form.Item>}
                 </Space>
             </Form.Item>
-            <Form.Item label={<strong>广告出价</strong>} name={"bidAmount"}>
-                <InputNumber min={0} placeholder="价格 元" style={{ width: 150 }}/>
+            <Form.Item label={<strong>出价模式</strong>} name='amountModel'>
+                <Radio.Group>
+                    <Radio.Button value={0}>固定价格</Radio.Button>
+                    <Radio.Button value={1}>随机价格</Radio.Button>
+                </Radio.Group>
             </Form.Item>
+            {amountModel === 1 ? <>
+                <Form.Item label={<strong>最小广告出价</strong>} name='bidAmountMin' rules={[
+                    {
+                        required: true, message: '请输入最小出价'
+                    },
+                    {
+                        required: true, message: `需要小于最大出价`, validator(rule, value, callback) {
+                            let regPos = /^[0-9]+.?[0-9]*/; //判断是否是数字。
+                            if (!bidAmountMax) {
+                                return Promise.resolve()
+                            } else {
+                                if (!regPos.test(value)) {
+                                    return Promise.reject()
+                                }
+                                if (value < bidAmountMax) {
+                                    return Promise.resolve()
+                                } else {
+                                    return Promise.reject()
+                                }
+                            }
+                        },
+                    }
+                ]}>
+                    <InputNumber placeholder="输入最小出价" style={{ width: 150 }} />
+                </Form.Item>
+                <Form.Item label={<strong>最大广告出价</strong>} name='bidAmountMax' rules={[
+                    {
+                        required: true, message: '请输入最大出价'
+                    },
+                    {
+                        required: true, message: `需要大于最小出价`, validator(rule, value, callback) {
+                            let regPos = /^[0-9]+.?[0-9]*/; //判断是否是数字。
+                            if (!bidAmountMin) {
+                                return Promise.resolve()
+                            } else {
+                                if (!regPos.test(value)) {
+                                    return Promise.reject()
+                                }
+                                if (value > bidAmountMin) {
+                                    return Promise.resolve()
+                                } else {
+                                    return Promise.reject()
+                                }
+                            }
+                        },
+                    }
+                ]}>
+                    <InputNumber placeholder={`输入最大出价`} style={{ width: 150 }} />
+                </Form.Item>
+            </> : <Form.Item label={<strong>广告出价</strong>} name={"bidAmount"}>
+                <InputNumber min={0} placeholder="价格 元" style={{ width: 150 }} />
+            </Form.Item>}
             <Form.Item label={<strong>广告预算</strong>} name={"dailyBudget"}>
-                <InputNumber min={0} placeholder="价格 元" style={{ width: 150 }}/>
+                <InputNumber min={0} placeholder="价格 元" style={{ width: 150 }} />
             </Form.Item>
             <Form.Item label={<strong>广告启停</strong>} name={"configuredStatus"} tooltip="默认:沿用选择广告的启停状态,开启or关闭:复制的所有广告设置成开启or关闭">
                 <Select style={{ width: 100 }}>

+ 2 - 2
src/pages/launchSystemNew/adq/ad/updateAd.tsx

@@ -87,10 +87,10 @@ const UpdateAd: React.FC<Props> = ({ title = '修改广告', visible, onChange,
                             break
                         case 'bidSType':
                             adgroupsUpdateBidAmountDTO['bidStrategy'] = newValues.bidStrategy
-                            adgroupsUpdateBidAmountDTO['bidAmount'] = newValues.bidAmount * 100
+                            adgroupsUpdateBidAmountDTO['bidAmount'] = newValues.bidAmount
                             break
                         case 'dailyBudget':
-                            data['dailyBudget'] = newValues.dailyBudget * 100
+                            data['dailyBudget'] = newValues.dailyBudget
                             break
                         case 'adgroupName':
                             data['adgroupName'] = newValues.adgroupName

+ 82 - 19
src/pages/launchSystemNew/launchManage/createAd/ad/modal/leadAd.tsx

@@ -1,5 +1,5 @@
 import React, { useCallback, useEffect, useState } from 'react'
-import { Modal, Form, Input, Divider, Select, Radio, DatePicker, Switch, Checkbox, message, Tooltip, Row, Col, Space, TimePicker, Button } from 'antd'
+import { Modal, Form, Input, Divider, Select, Radio, DatePicker, Switch, Checkbox, message, Tooltip, Row, Col, Space, TimePicker, Button, InputNumber } from 'antd'
 import { BidModeEnum, OptimizationGoalEnum, BidStrategyEnum, AdStatus, GoalRoasEnum } from '@/services/launchAdq/enum'
 import { ModalConfig } from '../index'
 import moment from 'moment';
@@ -72,6 +72,9 @@ function LeadAdModal(props: Props) {
     let deepBidAmount = Form.useWatch('deepBidAmount', form)
     let bidAmountAdjustmentEnabled = Form.useWatch('bidAmountAdjustmentEnabled', form)
     let bidAmount = Form.useWatch('bidAmount', form)
+    let amountModel = Form.useWatch('amountModel', form)
+    let bidAmountMin = Form.useWatch('bidAmountMin', form)
+    let bidAmountMax = Form.useWatch('bidAmountMax', form)
 
     const [behaviorList, setBehaviorList] = useState<string[]>([])
     const [worthList, setWorthList] = useState<string[]>([])
@@ -206,6 +209,9 @@ function LeadAdModal(props: Props) {
                 siteSet: dataInfo?.siteSet,//广告版位
                 autoAcquisitionEnabled: dataInfo?.autoAcquisitionEnabled,//一键起量
                 bidAmount: dataInfo?.bidAmount,//出价
+                amountModel: dataInfo?.amountModel,
+                bidAmountMin: dataInfo?.bidAmountMin,
+                bidAmountMax: dataInfo?.bidAmountMax,
                 smartBidType: dataInfo?.smartBidType,//出价类型
                 bidStrategy: dataInfo?.bidStrategy,//出价策略
                 bidMode: dataInfo?.bidMode,//出价方式
@@ -270,6 +276,7 @@ function LeadAdModal(props: Props) {
             }
         } else {
             form.setFieldsValue({
+                amountModel: 1,
                 adgroupName: '广告_销售线索',
                 date: moment().startOf('day').add(2, 'M'),
                 optimizationGoal: "OPTIMIZATIONGOAL_ECOMMERCE_ORDER",
@@ -396,6 +403,7 @@ function LeadAdModal(props: Props) {
             className='ad_form_style'
             initialValues={
                 {
+                    amountModel: 1,
                     promotedObjectType: queryForm.promotedObjectType,
                     siteSet: ['SITE_SET_MOMENTS', 'SITE_SET_WECHAT', 'SITE_SET_WECHAT_PLUGIN'],
                     bidMode: 'BID_MODE_OCPM',
@@ -649,27 +657,82 @@ function LeadAdModal(props: Props) {
             }
             {/* 出价类型为手动出价才展示 */}
             {smartBidType !== 'SMART_BID_TYPE_SYSTEMATIC' && <>
-                <Form.Item label={<strong>出价</strong>} name='bidAmount' rules={[{ required: true, message: '请输入价格' }]}>
-                    <Input placeholder={`输入价格 元/${bidMode === 'BID_MODE_CPM' ? '千次曝光' : bidMode === 'BID_MODE_CPC' ? '点击' : OptimizationGoalEnum[optimizationGoal]}`} style={{ width: 300 }} />
+                <Form.Item label={<strong>出价模式</strong>} name='amountModel'>
+                    <Radio.Group>
+                        <Radio.Button value={0}>固定价格</Radio.Button>
+                        <Radio.Button value={1}>随机价格</Radio.Button>
+                    </Radio.Group>
                 </Form.Item>
+                {amountModel === 1 ? <>
+                    <Form.Item label={<strong>最小广告出价</strong>} name='bidAmountMin' rules={[
+                        { required: true, message: '请输入最小出价' },
+                        {
+                            required: true, message: `需要小于最大出价`, validator(rule, value, callback) {
+                                let regPos = /^[0-9]+.?[0-9]*/; //判断是否是数字。
+                                if (!bidAmountMax) {
+                                    return Promise.resolve()
+                                } else {
+                                    if (!regPos.test(value)) {
+                                        return Promise.reject()
+                                    }
+                                    if (value < bidAmountMax) {
+                                        return Promise.resolve()
+                                    } else {
+                                        return Promise.reject()
+                                    }
+                                }
+                            },
+                        }
+                    ]}>
+                        <InputNumber placeholder="输入最小出价" style={{ width: 150 }} />
+                    </Form.Item>
+                    <Form.Item label={<strong>最大广告出价</strong>} name='bidAmountMax' rules={[
+                        { required: true, message: '请输入最大出价' },
+                        {
+                            required: true, message: `需要大于最小出价`, validator(rule, value, callback) {
+                                let regPos = /^[0-9]+.?[0-9]*/; //判断是否是数字。
+                                if (!bidAmountMin) {
+                                    return Promise.resolve()
+                                } else {
+                                    if (!regPos.test(value)) {
+                                        return Promise.reject()
+                                    }
+                                    if (value > bidAmountMin) {
+                                        return Promise.resolve()
+                                    } else {
+                                        return Promise.reject()
+                                    }
+                                }
+                            },
+                        }
+                    ]}>
+                        <InputNumber placeholder={`输入最大出价`} style={{ width: 150 }} />
+                    </Form.Item>
+                </> : <Form.Item label={<strong>出价</strong>} name='bidAmount' rules={[{ required: true, message: '请输入价格' }]}>
+                    <Input placeholder={`输入价格 元/${bidMode === 'BID_MODE_CPM' ? '千次曝光' : bidMode === 'BID_MODE_CPC' ? '点击' : OptimizationGoalEnum[optimizationGoal]}`} style={{ width: 300 }} />
+                </Form.Item>}
+
                 {(bidMode === 'BID_MODE_OCPM' || bidMode === 'BID_MODE_OCPC') && <>
                     {/* 当版位选择大于1时才出现 */}
-                    {siteSet?.length > 1 && <Form.Item label={<strong>分版位出价</strong>} name='bidAmountAdjustmentEnabled' valuePropName="checked">
-                        <Switch checkedChildren="开启" unCheckedChildren="关闭" />
-                    </Form.Item>}
-                    {bidAmountAdjustmentEnabled && <Form.Item
-                        label={<strong>分版位出价</strong>}
-                        name='siteSetPackage'
-                        rules={[{ required: bidAmountAdjustmentEnabled ? true : false, message: '请设置系数' }]}
-                    >
-                        <BidAdjustment bidAmount={bidAmount} deepConversionType='BID_MODE' goal={goal}>
-                            <AdPositionList value={siteSetPackage} onChange={(data) => {
-                                form.setFieldsValue({
-                                    siteSetPackage: data
-                                })
-                            }} />
-                        </BidAdjustment>
-                    </Form.Item>}
+                    {amountModel === 0 && <>
+                        {siteSet?.length > 1 && <Form.Item label={<strong>分版位出价</strong>} name='bidAmountAdjustmentEnabled' valuePropName="checked">
+                            <Switch checkedChildren="开启" unCheckedChildren="关闭" />
+                        </Form.Item>}
+                        {bidAmountAdjustmentEnabled && <Form.Item
+                            label={<strong>分版位出价</strong>}
+                            name='siteSetPackage'
+                            rules={[{ required: bidAmountAdjustmentEnabled ? true : false, message: '请设置系数' }]}
+                        >
+                            <BidAdjustment bidAmount={bidAmount} deepConversionType='BID_MODE' goal={goal}>
+                                <AdPositionList value={siteSetPackage} onChange={(data) => {
+                                    form.setFieldsValue({
+                                        siteSetPackage: data
+                                    })
+                                }} />
+                            </BidAdjustment>
+                        </Form.Item>}
+                    </>}
+
                     <Form.Item label={<strong>一键起量</strong>} name='autoAcquisitionEnabled' valuePropName="checked">
                         <Switch checkedChildren="开启" unCheckedChildren="关闭" />
                     </Form.Item>

+ 80 - 19
src/pages/launchSystemNew/launchManage/createAd/ad/modal/wechat.tsx

@@ -1,5 +1,5 @@
 import React, { useCallback, useEffect, useState } from 'react'
-import { Modal, Form, Input, Divider, Select, Radio, DatePicker, Switch, Checkbox, Tooltip, Row, Col, Space, TimePicker, Button } from 'antd'
+import { Modal, Form, Input, Divider, Select, Radio, DatePicker, Switch, Checkbox, Tooltip, Row, Col, Space, TimePicker, Button, InputNumber } from 'antd'
 import { BidModeEnum, OptimizationGoalEnum, BidStrategyEnum, AdStatus, GoalRoasEnum } from '@/services/launchAdq/enum'
 import { ModalConfig } from '../index'
 import moment from 'moment';
@@ -54,6 +54,9 @@ function WeChatAdModal(props: Props) {
     let deepBidAmount = Form.useWatch('deepBidAmount', form)
     let bidAmountAdjustmentEnabled = Form.useWatch('bidAmountAdjustmentEnabled', form)
     let bidAmount = Form.useWatch('bidAmount', form)
+    let amountModel = Form.useWatch('amountModel', form)
+    let bidAmountMax = Form.useWatch('bidAmountMax', form)
+    let bidAmountMin = Form.useWatch('bidAmountMin', form)
 
     const [behaviorList, setBehaviorList] = useState<string[]>([])
     const [worthList, setWorthList] = useState<string[]>([])
@@ -186,6 +189,9 @@ function WeChatAdModal(props: Props) {
                 siteSet: dataInfo?.siteSet,//广告版位
                 autoAcquisitionEnabled: dataInfo?.autoAcquisitionEnabled,//一键起量
                 bidAmount: dataInfo?.bidAmount,//出价
+                amountModel: dataInfo?.amountModel,
+                bidAmountMin: dataInfo?.bidAmountMin,
+                bidAmountMax: dataInfo?.bidAmountMax,
                 smartBidType: dataInfo?.smartBidType,//出价类型
                 bidStrategy: dataInfo?.bidStrategy,//出价策略
                 bidMode: dataInfo?.bidMode,//出价方式
@@ -251,6 +257,7 @@ function WeChatAdModal(props: Props) {
             }
         } else {
             form.setFieldsValue({
+                amountModel: 1,
                 adgroupName: '广告_微信朋友圈', // + moment().format('YYYYMMDDhhmmss') + '_' + currentUser.userId,
                 date: moment().startOf('day').add(2, 'M'),
                 optimizationGoal: "OPTIMIZATIONGOAL_ECOMMERCE_ORDER",
@@ -375,6 +382,7 @@ function WeChatAdModal(props: Props) {
             className='ad_form_style'
             initialValues={
                 {
+                    amountModel: 1,
                     promotedObjectType: queryForm.promotedObjectType,
                     siteSet: ['SITE_SET_MOMENTS', 'SITE_SET_WECHAT', 'SITE_SET_WECHAT_PLUGIN'],
                     bidMode: 'BID_MODE_OCPM',
@@ -618,28 +626,81 @@ function WeChatAdModal(props: Props) {
             }
             {/* 出价类型为手动出价才展示 */}
             {smartBidType !== 'SMART_BID_TYPE_SYSTEMATIC' && <>
-                <Form.Item label={<strong>出价</strong>} name='bidAmount' rules={[{ required: true, message: '请输入价格' }]}>
-                    <Input placeholder={`输入价格 元/${bidMode === 'BID_MODE_CPM' ? '千次曝光' : bidMode === 'BID_MODE_CPC' ? '点击' : OptimizationGoalEnum[optimizationGoal]}`} style={{ width: 300 }} />
+                <Form.Item label={<strong>出价模式</strong>} name='amountModel'>
+                    <Radio.Group>
+                        <Radio.Button value={0}>固定价格</Radio.Button>
+                        <Radio.Button value={1}>随机价格</Radio.Button>
+                    </Radio.Group>
                 </Form.Item>
+                {amountModel === 1 ? <>
+                    <Form.Item label={<strong>最小广告出价</strong>} name='bidAmountMin' rules={[
+                        { required: true, message: '请输入最小出价' },
+                        {
+                            required: true, message: `需要小于最大出价`, validator(rule, value, callback) {
+                                let regPos = /^[0-9]+.?[0-9]*/; //判断是否是数字。
+                                if (!bidAmountMax) {
+                                    return Promise.resolve()
+                                } else {
+                                    if (!regPos.test(value)) {
+                                        return Promise.reject()
+                                    }
+                                    if (value < bidAmountMax) {
+                                        return Promise.resolve()
+                                    } else {
+                                        return Promise.reject()
+                                    }
+                                }
+                            },
+                        }
+                    ]}>
+                        <InputNumber placeholder="输入最小出价" style={{ width: 150 }} />
+                    </Form.Item>
+                    <Form.Item label={<strong>最大广告出价</strong>} name='bidAmountMax' rules={[
+                        { required: true, message: '请输入最大出价' },
+                        {
+                            required: true, message: `需要大于最小出价`, validator(rule, value, callback) {
+                                let regPos = /^[0-9]+.?[0-9]*/; //判断是否是数字。
+                                if (!bidAmountMin) {
+                                    return Promise.resolve()
+                                } else {
+                                    if (!regPos.test(value)) {
+                                        return Promise.reject()
+                                    }
+                                    if (value > bidAmountMin) {
+                                        return Promise.resolve()
+                                    } else {
+                                        return Promise.reject()
+                                    }
+                                }
+                            },
+                        }
+                    ]}>
+                        <InputNumber placeholder={`输入最大出价`} style={{ width: 150 }} />
+                    </Form.Item>
+                </> : <Form.Item label={<strong>出价</strong>} name='bidAmount' rules={[{ required: true, message: '请输入价格' }]}>
+                    <Input placeholder={`输入价格 元/${bidMode === 'BID_MODE_CPM' ? '千次曝光' : bidMode === 'BID_MODE_CPC' ? '点击' : OptimizationGoalEnum[optimizationGoal]}`} style={{ width: 300 }} />
+                </Form.Item>}
 
                 {bidMode === 'BID_MODE_OCPM' && <>
                     {/* 当版位选择大于1时才出现 */}
-                    {siteSet?.length > 1 && <Form.Item label={<strong>分版位出价</strong>} name='bidAmountAdjustmentEnabled' valuePropName="checked">
-                        <Switch checkedChildren="开启" unCheckedChildren="关闭" />
-                    </Form.Item>}
-                    {bidAmountAdjustmentEnabled && <Form.Item
-                        label={<strong>分版位出价</strong>}
-                        name='siteSetPackage'
-                        rules={[{ required: bidAmountAdjustmentEnabled ? true : false, message: '请设置系数' }]}
-                    >
-                        <BidAdjustment bidAmount={bidAmount} deepConversionType='BID_MODE' goal={goal}>
-                            <AdPositionList value={siteSetPackage} onChange={(data) => {
-                                form.setFieldsValue({
-                                    siteSetPackage: data
-                                })
-                            }} />
-                        </BidAdjustment>
-                    </Form.Item>}
+                    {amountModel === 1 && <>
+                        {siteSet?.length > 1 && <Form.Item label={<strong>分版位出价</strong>} name='bidAmountAdjustmentEnabled' valuePropName="checked">
+                            <Switch checkedChildren="开启" unCheckedChildren="关闭" />
+                        </Form.Item>}
+                        {bidAmountAdjustmentEnabled && <Form.Item
+                            label={<strong>分版位出价</strong>}
+                            name='siteSetPackage'
+                            rules={[{ required: bidAmountAdjustmentEnabled ? true : false, message: '请设置系数' }]}
+                        >
+                            <BidAdjustment bidAmount={bidAmount} deepConversionType='BID_MODE' goal={goal}>
+                                <AdPositionList value={siteSetPackage} onChange={(data) => {
+                                    form.setFieldsValue({
+                                        siteSetPackage: data
+                                    })
+                                }} />
+                            </BidAdjustment>
+                        </Form.Item>}
+                    </>}
                     <Form.Item label={<strong>一键起量</strong>} name='autoAcquisitionEnabled' valuePropName="checked">
                         <Switch checkedChildren="开启" unCheckedChildren="关闭" />
                     </Form.Item>

+ 14 - 13
src/pages/launchSystemNew/launchManage/createAd/adgroupsCol.tsx

@@ -13,22 +13,23 @@ const AdgroupsCol = React.forwardRef((props: Props, ref) => {
 
     /*************************/
     const { data } = props
-    const { adgroupName, promotedObjectType, siteSet, endDate, beginDate, bidMode, optimizationGoal, smartBidType, bidStrategy, bidAmount, dailyBudget ,firstDayBeginTime,configuredStatus} = data
+    const { adgroupName, promotedObjectType, siteSet, endDate, beginDate, bidMode, optimizationGoal, smartBidType, bidStrategy, amountModel, bidAmountMin, bidAmountMax, bidAmount, dailyBudget, firstDayBeginTime, configuredStatus } = data
     /*************************/
 
     return <>
-        <div><strong>广告名称:</strong> <span style={{color:"#5a5a5a"}}>{adgroupName}</span></div>
-        <div><strong>推广目标: </strong><span style={{color:"#5a5a5a"}}>{PromotedObjectType[promotedObjectType]}</span></div>
-        <div><strong>广告版位:</strong> <span style={{color:"#5a5a5a"}}>{siteSet?.map((item: string) => SiteSetEnum[item]).toString()}</span></div>
-        <div><strong>投放日期:</strong> <span style={{color:"#5a5a5a"}}>{endDate ? beginDate + '~' + endDate : beginDate + '~' + '长期投放'}</span></div>
-        {firstDayBeginTime && <div><strong>首日时间: </strong><span style={{color:"#5a5a5a"}}>{firstDayBeginTime}</span></div>}
-        <div><strong>出价方式: </strong><span style={{color:"#5a5a5a"}}>{BidModeEnum[bidMode]}</span></div>
-        {optimizationGoal && <div><strong>优化目标:</strong> <span style={{color:"#5a5a5a"}}>{OptimizationGoalEnum[optimizationGoal]}</span></div>}
-        <div><strong>出价类型:</strong> <span style={{color:"#5a5a5a"}}>{smartBidType === 'SMART_BID_TYPE_CUSTOM' ? '手动出价' : '自动出价'}</span></div>
-        {bidStrategy && <div><strong>出价策略:</strong> <span style={{color:"#5a5a5a"}}>{BidStrategyEnum[bidStrategy]}</span></div>}
-        <div><strong>广告出价:</strong> <span style={{color:"#5a5a5a"}}>{bidAmount}{`元/${OptimizationGoalEnum[optimizationGoal] || '千次曝光'}`}</span></div>
-        <div><strong>广告日预算:</strong> <span style={{color:"#5a5a5a"}}>{dailyBudget || '不限'}</span></div>
-        <div><strong>广告状态:</strong> <span style={{color:"#5a5a5a"}}>{AdStatus[configuredStatus||'AD_STATUS_SUSPEND']}</span></div>
+        <div><strong>广告名称:</strong> <span style={{ color: "#5a5a5a" }}>{adgroupName}</span></div>
+        <div><strong>推广目标: </strong><span style={{ color: "#5a5a5a" }}>{PromotedObjectType[promotedObjectType]}</span></div>
+        <div><strong>广告版位:</strong> <span style={{ color: "#5a5a5a" }}>{siteSet?.map((item: string) => SiteSetEnum[item]).toString()}</span></div>
+        <div><strong>投放日期:</strong> <span style={{ color: "#5a5a5a" }}>{endDate ? beginDate + '~' + endDate : beginDate + '~' + '长期投放'}</span></div>
+        {firstDayBeginTime && <div><strong>首日时间: </strong><span style={{ color: "#5a5a5a" }}>{firstDayBeginTime}</span></div>}
+        <div><strong>出价方式: </strong><span style={{ color: "#5a5a5a" }}>{BidModeEnum[bidMode]}</span></div>
+        {optimizationGoal && <div><strong>优化目标:</strong> <span style={{ color: "#5a5a5a" }}>{OptimizationGoalEnum[optimizationGoal]}</span></div>}
+        <div><strong>出价类型:</strong> <span style={{ color: "#5a5a5a" }}>{smartBidType === 'SMART_BID_TYPE_CUSTOM' ? '手动出价' : '自动出价'}</span></div>
+        {bidStrategy && <div><strong>出价策略:</strong> <span style={{ color: "#5a5a5a" }}>{BidStrategyEnum[bidStrategy]}</span></div>}
+        <div><strong>出价模式:</strong> <span style={{ color: "#5a5a5a" }}>{{'0': '固定出价', '1': '随机出价'}[amountModel]}</span></div>
+        <div><strong>广告出价:</strong> <span style={{ color: "#5a5a5a" }}>{amountModel == 0 ? bidAmount : bidAmountMin + '-' + bidAmountMax}{`元/${OptimizationGoalEnum[optimizationGoal] || '千次曝光'}`}</span></div>
+        <div><strong>广告日预算:</strong> <span style={{ color: "#5a5a5a" }}>{dailyBudget || '不限'}</span></div>
+        <div><strong>广告状态:</strong> <span style={{ color: "#5a5a5a" }}>{AdStatus[configuredStatus || 'AD_STATUS_SUSPEND']}</span></div>
     </>
 })
 

+ 1 - 1
src/pages/launchSystemNew/launchManage/createAd/targeting/index.tsx

@@ -2,7 +2,7 @@ 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 React, { useCallback, useState } from "react"
 import TargetingModal from "../../../components/targetingModal"
 import TargetingPup from "./modal"
 import TargetingTooltip from "../../../components/targetingTooltip"