|
@@ -60,116 +60,6 @@
|
|
|
</a-form-model-item>
|
|
|
</div>
|
|
|
<a-form-model-item label="预算方式">
|
|
|
- <a-radio-group
|
|
|
- v-model="configForm.accountBudgetMode"
|
|
|
- button-style="solid"
|
|
|
- @change="handleAccountMode"
|
|
|
- >
|
|
|
- <a-radio-button value="1">不限预算</a-radio-button>
|
|
|
- <a-radio-button value="2">指定预算</a-radio-button>
|
|
|
- </a-radio-group>
|
|
|
- </a-form-model-item>
|
|
|
- <a-form-model-item
|
|
|
- v-if="configForm.accountBudgetMode === '2'"
|
|
|
- label="账户日预算"
|
|
|
- prop="accountBudget"
|
|
|
- >
|
|
|
- <a-input-number
|
|
|
- v-model="configForm.accountBudget"
|
|
|
- :min="1000"
|
|
|
- :max="9999999.99"
|
|
|
- :step="0.01"
|
|
|
- @blur="handleAccountBudget"
|
|
|
- /> 元
|
|
|
- </a-form-model-item>
|
|
|
- <div v-if="adBudgetShowTitle" style="width: 500px;color: #f00;margin-left: 140px;">单次修改预算幅度, 不能低于100.0元</div>
|
|
|
- </div>
|
|
|
- <div class="separate-module-con">
|
|
|
- <p class="rock-title">广告组信息</p>
|
|
|
- <a-form-model-item label="推广目标">
|
|
|
- <a-radio-group
|
|
|
- :disabled="modalTitle === 'edit'"
|
|
|
- v-model="configForm.campaignLandingType"
|
|
|
- button-style="solid"
|
|
|
- >
|
|
|
- <a-radio-button value="APP">应用</a-radio-button>
|
|
|
- <a-radio-button value="LINK" disabled>销售线索收集</a-radio-button>
|
|
|
- <a-radio-button value="SHOP" disabled>电商店铺推广</a-radio-button>
|
|
|
- </a-radio-group>
|
|
|
- </a-form-model-item>
|
|
|
- <a-form-model-item label="广告类型">
|
|
|
- <a-radio-group
|
|
|
- :disabled="modalTitle === 'edit'"
|
|
|
- v-model="configForm.advertisingType"
|
|
|
- button-style="solid"
|
|
|
- >
|
|
|
- <a-radio-button value="1">信息流广告</a-radio-button>
|
|
|
- <a-radio-button value="2">搜索广告</a-radio-button>
|
|
|
- </a-radio-group>
|
|
|
- </a-form-model-item>
|
|
|
- </div>
|
|
|
- <div class="separate-module-con">
|
|
|
- <p class="rock-title">基础信息</p>
|
|
|
- <a-form-model-item label="广告组名称" prop="campaignName">
|
|
|
- <a-input
|
|
|
- class="common-input-long"
|
|
|
- v-model="configForm.campaignName"
|
|
|
- allow-clear
|
|
|
- placeholder="请输入广告组名称"
|
|
|
- />
|
|
|
- </a-form-model-item>
|
|
|
- <a-form-model-item label="广告计划名称" prop="adName">
|
|
|
- <a-input
|
|
|
- class="common-input-long"
|
|
|
- id="groupName"
|
|
|
- v-model="configForm.adName"
|
|
|
- allow-clear
|
|
|
- placeholder="请输入广告计划名称"
|
|
|
- />
|
|
|
- <div>
|
|
|
- <a-tag
|
|
|
- v-for="item in adNameTags"
|
|
|
- :key="item"
|
|
|
- color="#1890ff"
|
|
|
- @click="handleGetChangeAll(item, 'groupName')"
|
|
|
- >
|
|
|
- + {{ item }}
|
|
|
- </a-tag>
|
|
|
- </div>
|
|
|
- </a-form-model-item>
|
|
|
- <a-form-model-item
|
|
|
- label="创建数量: 广告组数量"
|
|
|
- class="campaign-cnt-class"
|
|
|
- prop="campaignCnt"
|
|
|
- >
|
|
|
- <a-input-number
|
|
|
- v-model="configForm.campaignCnt"
|
|
|
- :min="1"
|
|
|
- :disabled="configForm.dpLinkIndexUsed === 0"
|
|
|
- @change="handleCampaignCnt"
|
|
|
- />
|
|
|
- <a-tooltip placement="top">
|
|
|
- <template slot="title">
|
|
|
- <span>输入的数量为每天所创建的广告组数量</span>
|
|
|
- <span>以及每个广告组创建的广告计划数量</span>
|
|
|
- </template>
|
|
|
- <a-icon class="form-itrm-icon" type="question-circle"/>
|
|
|
- </a-tooltip>
|
|
|
- <div v-if="campaignStatus" style="width: 500px;color: #f00;">单账号每天创建计划上限500个</div>
|
|
|
- </a-form-model-item>
|
|
|
- <a-form-model-item
|
|
|
- label="广告计划数量"
|
|
|
- class="campaign-ad-class"
|
|
|
- prop="campaignAdCnt"
|
|
|
- >
|
|
|
- <a-input-number
|
|
|
- v-model="configForm.campaignAdCnt"
|
|
|
- :min="1"
|
|
|
- @change="handleCampaignAdCnt"
|
|
|
- />
|
|
|
- </a-form-model-item>
|
|
|
- </div>
|
|
|
- <a-form-model-item label="预算方式">
|
|
|
<a-radio-group
|
|
|
v-model="configForm.accountBudgetMode"
|
|
|
button-style="solid"
|
|
@@ -233,12 +123,56 @@
|
|
|
allow-clear
|
|
|
placeholder="请输入广告计划名称"
|
|
|
/>
|
|
|
- <div>
|
|
|
- <a-tag
|
|
|
- v-for="item in adNameTags"
|
|
|
- :key="item"
|
|
|
- color="#1890ff"
|
|
|
- @click="handleGetChangeAll(item, 'groupName')"
|
|
|
+ <div>
|
|
|
+ <a-tag
|
|
|
+ v-for="item in adNameTags"
|
|
|
+ :key="item"
|
|
|
+ color="#1890ff"
|
|
|
+ @click="handleGetChangeAll(item, 'groupName')"
|
|
|
+ >
|
|
|
+ + {{ item }}
|
|
|
+ </a-tag>
|
|
|
+ </div>
|
|
|
+ </a-form-model-item>
|
|
|
+ <a-form-model-item
|
|
|
+ label="创建数量: 广告组数量"
|
|
|
+ class="campaign-cnt-class"
|
|
|
+ prop="campaignCnt"
|
|
|
+ >
|
|
|
+ <a-input-number
|
|
|
+ v-model="configForm.campaignCnt"
|
|
|
+ :min="1"
|
|
|
+ :disabled="configForm.dpLinkIndexUsed === 0"
|
|
|
+ @change="handleCampaignCnt"
|
|
|
+ />
|
|
|
+ <a-tooltip placement="top">
|
|
|
+ <template slot="title">
|
|
|
+ <span>输入的数量为每天所创建的广告组数量</span>
|
|
|
+ <span>以及每个广告组创建的广告计划数量</span>
|
|
|
+ </template>
|
|
|
+ <a-icon class="form-itrm-icon" type="question-circle"/>
|
|
|
+ </a-tooltip>
|
|
|
+ <div v-if="campaignStatus" style="width: 500px;color: #f00;">单账号每天创建计划上限500个</div>
|
|
|
+ </a-form-model-item>
|
|
|
+ <a-form-model-item
|
|
|
+ label="广告计划数量"
|
|
|
+ class="campaign-ad-class"
|
|
|
+ prop="campaignAdCnt"
|
|
|
+ >
|
|
|
+ <a-input-number
|
|
|
+ v-model="configForm.campaignAdCnt"
|
|
|
+ :min="1"
|
|
|
+ @change="handleCampaignAdCnt"
|
|
|
+ />
|
|
|
+ </a-form-model-item>
|
|
|
+ </div>
|
|
|
+ <div class="separate-module-con">
|
|
|
+ <p class="rock-title">投放内容</p>
|
|
|
+ <a-form-model-item label="投放目标">
|
|
|
+ <a-radio-group
|
|
|
+ :disabled="modalTitle === 'edit'"
|
|
|
+ v-model="configForm.launchTarget"
|
|
|
+ button-style="solid"
|
|
|
>
|
|
|
<a-radio-button value="OCPM">转化量</a-radio-button>
|
|
|
<a-radio-button value="CPC" disabled>点击量</a-radio-button>
|
|
@@ -450,84 +384,34 @@
|
|
|
button-style="solid"
|
|
|
@change="handleCustomPerson"
|
|
|
>
|
|
|
- {{ item.name }}
|
|
|
- </a-radio-button>
|
|
|
- </a-radio-group>
|
|
|
- </a-form-model-item>
|
|
|
- <a-form-model-item v-if="configForm.adHideIfConverted === 'CUSTOMER' || configForm.adHideIfConverted === 'APP'" label="过滤时间">
|
|
|
- <a-radio-group v-model="configForm.adConvertedTimeDuration" button-style="solid">
|
|
|
- <a-radio-button value="ONE_MONTH">1个月</a-radio-button>
|
|
|
- <a-radio-button value="THREE_MONTH">3个月</a-radio-button>
|
|
|
- <a-radio-button value="SIX_MONTH">6个月</a-radio-button>
|
|
|
- <a-radio-button value="TWELVE_MONTH">12个月</a-radio-button>
|
|
|
- </a-radio-group>
|
|
|
- <a-tooltip placement="top">
|
|
|
- <template slot="title">
|
|
|
- <span>对已转化过的用户避免再次投放的时间</span>
|
|
|
- </template>
|
|
|
- <a-icon class="form-itrm-icon" style="left: -90px;" type="question-circle"/>
|
|
|
- </a-tooltip>
|
|
|
- </a-form-model-item>
|
|
|
- <a-form-model-item label="智能放量">
|
|
|
- <a-radio-group v-model="configForm.adAutoExtendEnabled" button-style="solid" @change="handleAdAutoExtend">
|
|
|
- <a-radio-button value="0">不开启</a-radio-button>
|
|
|
- <a-radio-button value="1">开启</a-radio-button>
|
|
|
- </a-radio-group>
|
|
|
- <a-tooltip placement="top">
|
|
|
- <template slot="title">
|
|
|
- <span>智能放量可以帮您逐步探索已选定向人群之外的目标人群,提升跑量。已选择定向建议放开</span>
|
|
|
- </template>
|
|
|
- <a-icon class="form-itrm-icon" style="left: -90px;" type="question-circle"/>
|
|
|
- </a-tooltip>
|
|
|
- </a-form-model-item>
|
|
|
- <div v-if="configForm.adAutoExtendEnabled === '1'" class="adver-position-radio" style="width: 70%;">
|
|
|
- <auto-select
|
|
|
- :defaultlist="adAutoExtendList"
|
|
|
- :editdata="AutoExtendEditSelect"
|
|
|
- @select-finally-result="handleSelectTxtend"
|
|
|
- >
|
|
|
- </auto-select>
|
|
|
- </div>
|
|
|
- </a-tab-pane>
|
|
|
- <a-tab-pane key="choice" tab="选择定向包">
|
|
|
- <a-form-model-item class="select-orientation-class" label="选择已有定向包" :prop="configForm.adDirectionalFlag === 'choice' ? 'adAudiencePackageId' : ''">
|
|
|
- <a-select
|
|
|
- class="common-input-long"
|
|
|
- style="width: 320px;"
|
|
|
- v-model="configForm.adAudiencePackageId"
|
|
|
- allow-clear
|
|
|
- placeholder="请选择已有定向包名称"
|
|
|
- :disabled="selectOrientPlaceholder !== 'able'"
|
|
|
- @change="handleSelectiveOrientation"
|
|
|
- >
|
|
|
- <a-select-option
|
|
|
- v-for="(item, index) in selectiveList"
|
|
|
- :key="index"
|
|
|
- :value="item.audience_package_id"
|
|
|
+ <a-radio-button value="NONE">不限</a-radio-button>
|
|
|
+ <a-radio-button value="a">自定义人群</a-radio-button>
|
|
|
+ </a-radio-group>
|
|
|
+ </a-form-model-item>
|
|
|
+ <a-form-model-item v-if="configForm.customPerson === 'a'" label="定向逻辑">
|
|
|
+ <a-radio-group
|
|
|
+ v-model="configForm.adRetargetingTagsType"
|
|
|
+ button-style="solid"
|
|
|
+ @change="handleDirectionalLogic"
|
|
|
>
|
|
|
- <div class="orient-list">
|
|
|
- <span class="orient-option-left" style="display: inline-block;width: 150px;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;">{{ item.name }}</span>
|
|
|
- <span class="orient-option-right" style="display: inline-block;width: 150px;text-align:right;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;">{{ item.changeName }}</span>
|
|
|
- </div>
|
|
|
- </a-select-option>
|
|
|
- </a-select>
|
|
|
- <span style="margin-left: 20px;">
|
|
|
- <a-button :disabled="selectOrientPlaceholder !== 'able'" type="primary" @click="handleAsyncPackage">同步定向包</a-button>
|
|
|
- </span>
|
|
|
- <a-tooltip placement="top">
|
|
|
- <template slot="title">
|
|
|
- <span>已有定向包只展示当前推广目的和投放范围下,定向功能升级后仍可用的定向包</span>
|
|
|
- </template>
|
|
|
- <a-icon class="form-itrm-icon orientation-icon" type="question-circle"/>
|
|
|
- </a-tooltip>
|
|
|
- </a-form-model-item>
|
|
|
- <span v-if="selectOrientPlaceholder !== 'able'" style="color: #f00; margin-left: 198px;">{{ selectOrientPlaceholder }}</span>
|
|
|
- <div class="select-orientation-content">
|
|
|
- <p class="orientation-header-title">已选定向信息</p>
|
|
|
- <div v-if="packageMessageDetail.length" class="orientation-content-substance">
|
|
|
- <div class="content-substance-singal">
|
|
|
- <span class="singal-spn">定向人群包:</span>
|
|
|
- <span class="singal-content">{{ packageMessageDetail[0].description }}</span>
|
|
|
+ <a-radio-button value="1">定向</a-radio-button>
|
|
|
+ <a-radio-button value="2">排除</a-radio-button>
|
|
|
+ <a-radio-button value="3">同时定向排除</a-radio-button>
|
|
|
+ </a-radio-group>
|
|
|
+ </a-form-model-item>
|
|
|
+ <div v-if="configForm.customPerson === 'a' && configForm.adRetargetingTagsType === '1'" class="adver-position-radio">
|
|
|
+ <div style="width: 60%;">
|
|
|
+ <directional-logic
|
|
|
+ ref="direct"
|
|
|
+ packtype="directional"
|
|
|
+ multitype="alone"
|
|
|
+ :defaultlist="directionalData"
|
|
|
+ :valueids="configForm.adRetargetingTagsType"
|
|
|
+ :updatelistinclude="configForm.updateGetingInclude" @selection-alone-event="handleSelectionAloneEvent"
|
|
|
+ @clearlist="handleClearlist"
|
|
|
+ @clear-table-alone="handleClearTableAlone"
|
|
|
+ >
|
|
|
+ </directional-logic>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div v-if="configForm.customPerson === 'a' && configForm.adRetargetingTagsType === '2'" class="adver-position-radio">
|
|
@@ -678,13 +562,14 @@
|
|
|
:editdata="AutoExtendEditSelect"
|
|
|
@select-finally-result="handleSelectTxtend"
|
|
|
>
|
|
|
- </auto-select>
|
|
|
+ </auto-select>
|
|
|
</div>
|
|
|
</a-tab-pane>
|
|
|
<a-tab-pane key="choice" tab="选择定向包">
|
|
|
<a-form-model-item class="select-orientation-class" label="选择已有定向包" :prop="configForm.adDirectionalFlag === 'choice' ? 'adAudiencePackageId' : ''">
|
|
|
<a-select
|
|
|
class="common-input-long"
|
|
|
+ style="width: 320px;"
|
|
|
v-model="configForm.adAudiencePackageId"
|
|
|
allow-clear
|
|
|
placeholder="请选择已有定向包名称"
|
|
@@ -696,17 +581,14 @@
|
|
|
:key="index"
|
|
|
:value="item.audience_package_id"
|
|
|
>
|
|
|
- {{ item.name }}
|
|
|
+ <div class="orient-list">
|
|
|
+ <span class="orient-option-left" style="display: inline-block;width: 150px;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;">{{ item.name }}</span>
|
|
|
+ <span class="orient-option-right" style="display: inline-block;width: 150px;text-align:right;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;">{{ item.changeName }}</span>
|
|
|
+ </div>
|
|
|
</a-select-option>
|
|
|
</a-select>
|
|
|
<span style="margin-left: 20px;">
|
|
|
- <a-button
|
|
|
- :disabled="selectOrientPlaceholder !== 'able'"
|
|
|
- type="primary"
|
|
|
- @click="handleAsyncPackage"
|
|
|
- >
|
|
|
- 同步定向包
|
|
|
- </a-button>
|
|
|
+ <a-button :disabled="selectOrientPlaceholder !== 'able'" type="primary" @click="handleAsyncPackage">同步定向包</a-button>
|
|
|
</span>
|
|
|
<a-tooltip placement="top">
|
|
|
<template slot="title">
|