|
@@ -128,7 +128,7 @@
|
|
<span>输入的数量为每天所创建的广告组数量</span>
|
|
<span>输入的数量为每天所创建的广告组数量</span>
|
|
<span>以及每个广告组创建的广告计划数量</span>
|
|
<span>以及每个广告组创建的广告计划数量</span>
|
|
</template>
|
|
</template>
|
|
- <a-icon class="form-itrm-icon" type="smile-o"/>
|
|
|
|
|
|
+ <a-icon class="form-itrm-icon" type="question-circle"/>
|
|
</a-tooltip>
|
|
</a-tooltip>
|
|
<div v-if="campaignStatus" style="width: 500px;color: #f00;">单账号每天创建计划上限500个</div>
|
|
<div v-if="campaignStatus" style="width: 500px;color: #f00;">单账号每天创建计划上限500个</div>
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
@@ -277,8 +277,8 @@
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="separate-module-con">
|
|
<div class="separate-module-con">
|
|
- <a-tabs v-model="selectPackageTabs" @change="handleSelectPackageTabs">
|
|
|
|
- <a-tab-pane key="1" tab="新建定向">
|
|
|
|
|
|
+ <a-tabs v-model="configForm.adDirectionalFlag" @change="handleSelectPackageTabs">
|
|
|
|
+ <a-tab-pane key="add" tab="新建定向">
|
|
<p class="rock-title">用户定向</p>
|
|
<p class="rock-title">用户定向</p>
|
|
<a-form-model-item label="地域">
|
|
<a-form-model-item label="地域">
|
|
<a-radio-group v-model="configForm.adDistrict" button-style="solid">
|
|
<a-radio-group v-model="configForm.adDistrict" button-style="solid">
|
|
@@ -397,6 +397,12 @@
|
|
</a-radio-group>
|
|
</a-radio-group>
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
<a-form-model-item label="平台">
|
|
<a-form-model-item label="平台">
|
|
|
|
+ <!-- <check-more-plat
|
|
|
|
+ v-model="configForm.adPlatform"
|
|
|
|
+ :options="adPlatformOption"
|
|
|
|
+ @change="getAgeSelect"
|
|
|
|
+ >
|
|
|
|
+ </check-more-plat> -->
|
|
<a-radio-group v-model="configForm.adPlatform" button-style="solid">
|
|
<a-radio-group v-model="configForm.adPlatform" button-style="solid">
|
|
<a-radio-button value="NONE" :disabled="platformLoadingType === 'APP_IOS' || platformLoadingType === 'APP_ANDROID'">不限</a-radio-button>
|
|
<a-radio-button value="NONE" :disabled="platformLoadingType === 'APP_IOS' || platformLoadingType === 'APP_ANDROID'">不限</a-radio-button>
|
|
<a-radio-button value="IOS" :disabled="platformLoadingType === 'APP_ANDROID'">IOS</a-radio-button>
|
|
<a-radio-button value="IOS" :disabled="platformLoadingType === 'APP_ANDROID'">IOS</a-radio-button>
|
|
@@ -405,7 +411,12 @@
|
|
</a-radio-group>
|
|
</a-radio-group>
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
<a-form-model-item label="设备类型">
|
|
<a-form-model-item label="设备类型">
|
|
- <radio-check v-model="configForm.adDeviceSelectType" :options="deviceTypeList" @change="getAgeSelect"></radio-check>
|
|
|
|
|
|
+ <radio-check
|
|
|
|
+ v-model="configForm.adDeviceSelectType"
|
|
|
|
+ :options="deviceTypeList"
|
|
|
|
+ @change="getAgeSelect"
|
|
|
|
+ >
|
|
|
|
+ </radio-check>
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
<a-form-model-item v-if="configForm.adDownloadUrl" label="安卓版本">
|
|
<a-form-model-item v-if="configForm.adDownloadUrl" label="安卓版本">
|
|
<a-radio-group v-model="configForm.adAndroidVersion" button-style="solid" @change="handleAndroidVersion">
|
|
<a-radio-group v-model="configForm.adAndroidVersion" button-style="solid" @change="handleAndroidVersion">
|
|
@@ -459,11 +470,11 @@
|
|
<template slot="title">
|
|
<template slot="title">
|
|
<span>对已转化过的用户避免再次投放的时间</span>
|
|
<span>对已转化过的用户避免再次投放的时间</span>
|
|
</template>
|
|
</template>
|
|
- <a-icon class="form-itrm-icon" style="left: -90px;" type="smile-o"/>
|
|
|
|
|
|
+ <a-icon class="form-itrm-icon" style="left: -90px;" type="question-circle"/>
|
|
</a-tooltip>
|
|
</a-tooltip>
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
<a-form-model-item label="智能放量">
|
|
<a-form-model-item label="智能放量">
|
|
- <a-radio-group v-model="configForm.adAutoExtendEnabled" button-style="solid">
|
|
|
|
|
|
+ <a-radio-group v-model="configForm.adAutoExtendEnabled" button-style="solid" @change="handleAdAutoExtend">
|
|
<a-radio-button value="0">不开启</a-radio-button>
|
|
<a-radio-button value="0">不开启</a-radio-button>
|
|
<a-radio-button value="1">开启</a-radio-button>
|
|
<a-radio-button value="1">开启</a-radio-button>
|
|
</a-radio-group>
|
|
</a-radio-group>
|
|
@@ -471,7 +482,7 @@
|
|
<template slot="title">
|
|
<template slot="title">
|
|
<span>智能放量可以帮您逐步探索已选定向人群之外的目标人群,提升跑量。已选择定向建议放开</span>
|
|
<span>智能放量可以帮您逐步探索已选定向人群之外的目标人群,提升跑量。已选择定向建议放开</span>
|
|
</template>
|
|
</template>
|
|
- <a-icon class="form-itrm-icon" style="left: -90px;" type="smile-o"/>
|
|
|
|
|
|
+ <a-icon class="form-itrm-icon" style="left: -90px;" type="question-circle"/>
|
|
</a-tooltip>
|
|
</a-tooltip>
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
<div v-if="configForm.adAutoExtendEnabled === '1'" class="adver-position-radio" style="width: 70%;">
|
|
<div v-if="configForm.adAutoExtendEnabled === '1'" class="adver-position-radio" style="width: 70%;">
|
|
@@ -483,8 +494,8 @@
|
|
</auto-select>
|
|
</auto-select>
|
|
</div>
|
|
</div>
|
|
</a-tab-pane>
|
|
</a-tab-pane>
|
|
- <a-tab-pane key="2" tab="选择定向包">
|
|
|
|
- <a-form-model-item class="select-orientation-class" label="选择已有定向包" :prop="selectPackageTabs === '2' ? 'adAudiencePackageId' : ''">
|
|
|
|
|
|
+ <a-tab-pane key="choice" tab="选择定向包">
|
|
|
|
+ <a-form-model-item class="select-orientation-class" label="选择已有定向包" :prop="configForm.adDirectionalFlag === 'choice' ? 'adAudiencePackageId' : ''">
|
|
<a-select
|
|
<a-select
|
|
class="common-input-long"
|
|
class="common-input-long"
|
|
v-model="configForm.adAudiencePackageId"
|
|
v-model="configForm.adAudiencePackageId"
|
|
@@ -508,7 +519,7 @@
|
|
<template slot="title">
|
|
<template slot="title">
|
|
<span>已有定向包只展示当前推广目的和投放范围下,定向功能升级后仍可用的定向包</span>
|
|
<span>已有定向包只展示当前推广目的和投放范围下,定向功能升级后仍可用的定向包</span>
|
|
</template>
|
|
</template>
|
|
- <a-icon class="form-itrm-icon orientation-icon" type="smile-o"/>
|
|
|
|
|
|
+ <a-icon class="form-itrm-icon orientation-icon" type="question-circle"/>
|
|
</a-tooltip>
|
|
</a-tooltip>
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
<span v-if="selectOrientPlaceholder !== 'able'" style="color: #f00; margin-left: 198px;">{{ selectOrientPlaceholder }}</span>
|
|
<span v-if="selectOrientPlaceholder !== 'able'" style="color: #f00; margin-left: 198px;">{{ selectOrientPlaceholder }}</span>
|
|
@@ -914,6 +925,7 @@ import radioCheck from '@/components/formComponents/checkBoxGroup';
|
|
import linkMultiSelect from '@/views/modules/BatchCreate/linkMultiSelect';
|
|
import linkMultiSelect from '@/views/modules/BatchCreate/linkMultiSelect';
|
|
import DirectionalLogic from './directional-logic/directional-logic';
|
|
import DirectionalLogic from './directional-logic/directional-logic';
|
|
import AutoSelect from './tree-select/tree-select';
|
|
import AutoSelect from './tree-select/tree-select';
|
|
|
|
+import CheckMorePlat from './check-more-plat/check-more-plat';
|
|
|
|
|
|
import moment from 'moment';
|
|
import moment from 'moment';
|
|
import BMF from 'browser-md5-file';
|
|
import BMF from 'browser-md5-file';
|
|
@@ -945,7 +957,8 @@ export default {
|
|
radioCheck,
|
|
radioCheck,
|
|
linkMultiSelect,
|
|
linkMultiSelect,
|
|
DirectionalLogic,
|
|
DirectionalLogic,
|
|
- AutoSelect
|
|
|
|
|
|
+ AutoSelect,
|
|
|
|
+ CheckMorePlat
|
|
},
|
|
},
|
|
data() {
|
|
data() {
|
|
let handleConfirmValue = (rule, value, callback) => {
|
|
let handleConfirmValue = (rule, value, callback) => {
|
|
@@ -996,6 +1009,24 @@ export default {
|
|
subTitleMsgStatus: false,
|
|
subTitleMsgStatus: false,
|
|
subTitleMsg: '',
|
|
subTitleMsg: '',
|
|
AutoExtendEditSelect: [],
|
|
AutoExtendEditSelect: [],
|
|
|
|
+ adPlatformOption: [
|
|
|
|
+ {
|
|
|
|
+ value: 'NONE',
|
|
|
|
+ label: '不限'
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ value: 'IOS',
|
|
|
|
+ label: 'IOS'
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ value: 'ANDROID',
|
|
|
|
+ label: 'ANDROID'
|
|
|
|
+ },
|
|
|
|
+ {
|
|
|
|
+ value: 'PC',
|
|
|
|
+ label: 'PC'
|
|
|
|
+ }
|
|
|
|
+ ],
|
|
adAutoExtendList: [
|
|
adAutoExtendList: [
|
|
{
|
|
{
|
|
value: 'AGE',
|
|
value: 'AGE',
|
|
@@ -1020,7 +1051,6 @@ export default {
|
|
],
|
|
],
|
|
directionalData: [],
|
|
directionalData: [],
|
|
platformLoadingType: '',
|
|
platformLoadingType: '',
|
|
- selectPackageTabs: '1',
|
|
|
|
deviceTypeList: [
|
|
deviceTypeList: [
|
|
{
|
|
{
|
|
value: 'NONE',
|
|
value: 'NONE',
|
|
@@ -1095,7 +1125,7 @@ export default {
|
|
regionCityListUrl: 'ctop/bytedanceAreaInfo/list',
|
|
regionCityListUrl: 'ctop/bytedanceAreaInfo/list',
|
|
defaultAdBudget: '',
|
|
defaultAdBudget: '',
|
|
adBudgetShowTitle: false,
|
|
adBudgetShowTitle: false,
|
|
- adBudgetNum: 1,
|
|
|
|
|
|
+ adBudgetNum: 300,
|
|
campaignStatus: false,
|
|
campaignStatus: false,
|
|
detailData: {},
|
|
detailData: {},
|
|
modalTitle: '',
|
|
modalTitle: '',
|
|
@@ -1217,6 +1247,7 @@ export default {
|
|
creativeThirdIndustryIds: [{required: true, message: '请选择', trigger: 'change'}]
|
|
creativeThirdIndustryIds: [{required: true, message: '请选择', trigger: 'change'}]
|
|
},
|
|
},
|
|
configForm: {
|
|
configForm: {
|
|
|
|
+ adDirectionalFlag: 'add',
|
|
adInterestActionMode: 'UNLIMITED',
|
|
adInterestActionMode: 'UNLIMITED',
|
|
creativeDisplayMode: 'CREATIVE_DISPLAY_MODE_CTR',
|
|
creativeDisplayMode: 'CREATIVE_DISPLAY_MODE_CTR',
|
|
creativeAppName: '',
|
|
creativeAppName: '',
|
|
@@ -1245,7 +1276,7 @@ export default {
|
|
productSellingPoints: [], // 商品买点
|
|
productSellingPoints: [], // 商品买点
|
|
adBudgetMode: 'BUDGET_MODE_DAY', // 预算类型
|
|
adBudgetMode: 'BUDGET_MODE_DAY', // 预算类型
|
|
adDownloadUrl: '', // 下载链接
|
|
adDownloadUrl: '', // 下载链接
|
|
- accountBudget: 1000, // 账户日预算
|
|
|
|
|
|
+ accountBudget: 0, // 账户日预算
|
|
accountId: undefined, // 账户
|
|
accountId: undefined, // 账户
|
|
dpLinkStartIndex: 1,
|
|
dpLinkStartIndex: 1,
|
|
dpLinkEndIndex: 2,
|
|
dpLinkEndIndex: 2,
|
|
@@ -1282,7 +1313,7 @@ export default {
|
|
adAndroidVersion: 'NONE', // 定向-安卓版本
|
|
adAndroidVersion: 'NONE', // 定向-安卓版本
|
|
androidChangeValue: '', // 安卓版本-自定义
|
|
androidChangeValue: '', // 安卓版本-自定义
|
|
adSmartBidType: 'SMART_BID_CUSTOM', // 投放场景
|
|
adSmartBidType: 'SMART_BID_CUSTOM', // 投放场景
|
|
- adBudget: 1, // 预算
|
|
|
|
|
|
+ adBudget: 300, // 预算
|
|
adScheduleType: 'SCHEDULE_FROM_NOW', // 投放时间
|
|
adScheduleType: 'SCHEDULE_FROM_NOW', // 投放时间
|
|
launchDateRange: [], // 设置开始和结束时间
|
|
launchDateRange: [], // 设置开始和结束时间
|
|
launchTimeInterval: 'buxian', // 投放时段
|
|
launchTimeInterval: 'buxian', // 投放时段
|
|
@@ -1419,6 +1450,13 @@ export default {
|
|
methods: {
|
|
methods: {
|
|
...mapGetters(['nickname', 'avatar', 'userInfo']),
|
|
...mapGetters(['nickname', 'avatar', 'userInfo']),
|
|
moment,
|
|
moment,
|
|
|
|
+ handleAdAutoExtend(e) {
|
|
|
|
+ const defaultValue = e.target.value;
|
|
|
|
+ if (defaultValue === '0') {
|
|
|
|
+ this.AutoExtendEditSelect = [];
|
|
|
|
+ this.configForm.adAutoExtendTargets = '';
|
|
|
|
+ }
|
|
|
|
+ },
|
|
handleCreativeSubTitleBlur(e) {
|
|
handleCreativeSubTitleBlur(e) {
|
|
const defaultValue = e.target.value;
|
|
const defaultValue = e.target.value;
|
|
let cnReg = /([\u4e00-\u9fa5]|[\u3000-\u303F]|[\uFF00-\uFF60])/;
|
|
let cnReg = /([\u4e00-\u9fa5]|[\u3000-\u303F]|[\uFF00-\uFF60])/;
|
|
@@ -1846,7 +1884,6 @@ export default {
|
|
const detailData = result.result;
|
|
const detailData = result.result;
|
|
this.configForm.accountId = detailData.accountId;
|
|
this.configForm.accountId = detailData.accountId;
|
|
if (detailData.adAudiencePackageId) {
|
|
if (detailData.adAudiencePackageId) {
|
|
- this.selectPackageTabs = '2';
|
|
|
|
getAction(urlAcount + '/bytedance-api/advertiser/aiBytedanceAdvertiserStrategy/getAdAudiencePackage', {accountId: detailData.accountId})
|
|
getAction(urlAcount + '/bytedance-api/advertiser/aiBytedanceAdvertiserStrategy/getAdAudiencePackage', {accountId: detailData.accountId})
|
|
.then(result => {
|
|
.then(result => {
|
|
if (result.code === 0) {
|
|
if (result.code === 0) {
|
|
@@ -1862,13 +1899,11 @@ export default {
|
|
console.log(error, 'eeee');
|
|
console.log(error, 'eeee');
|
|
});
|
|
});
|
|
}
|
|
}
|
|
- else {
|
|
|
|
- this.selectPackageTabs = '1';
|
|
|
|
- }
|
|
|
|
this.configForm.dpLinkStartIndex = detailData.dpLinkStartIndex;
|
|
this.configForm.dpLinkStartIndex = detailData.dpLinkStartIndex;
|
|
this.configForm.dpLinkEndIndex = detailData.dpLinkEndIndex;
|
|
this.configForm.dpLinkEndIndex = detailData.dpLinkEndIndex;
|
|
this.configForm.accountBudgetMode = detailData.accountBudgetMode;
|
|
this.configForm.accountBudgetMode = detailData.accountBudgetMode;
|
|
this.configForm.accountBudget = detailData.accountBudget;
|
|
this.configForm.accountBudget = detailData.accountBudget;
|
|
|
|
+ this.configForm.adDirectionalFlag = detailData.adDirectionalFlag;
|
|
this.configForm.campaignLandingType = detailData.campaignLandingType;
|
|
this.configForm.campaignLandingType = detailData.campaignLandingType;
|
|
this.configForm.advertisingType = detailData.advertisingType || '1';
|
|
this.configForm.advertisingType = detailData.advertisingType || '1';
|
|
this.configForm.campaignName = detailData.campaignName || '';
|
|
this.configForm.campaignName = detailData.campaignName || '';
|
|
@@ -1939,7 +1974,7 @@ export default {
|
|
item.key = item.custom_audience_id;
|
|
item.key = item.custom_audience_id;
|
|
});
|
|
});
|
|
this.directionalData = result.result;
|
|
this.directionalData = result.result;
|
|
- this.configForm.adRetargetingTagsType = detailData.adRetargetingTagsType || '1';
|
|
|
|
|
|
+ this.configForm.adRetargetingTagsType = detailData.adRetargetingTagsType;
|
|
if (detailData.adRetargetingTagsType === '3') {
|
|
if (detailData.adRetargetingTagsType === '3') {
|
|
this.configForm.customPerson = 'a';
|
|
this.configForm.customPerson = 'a';
|
|
this.configForm.adRetargetingTagsInclude = detailData.adRetargetingTagsInclude;
|
|
this.configForm.adRetargetingTagsInclude = detailData.adRetargetingTagsInclude;
|
|
@@ -2161,7 +2196,7 @@ export default {
|
|
}
|
|
}
|
|
else if (e === 'BUDGET_MODE_DAY') {
|
|
else if (e === 'BUDGET_MODE_DAY') {
|
|
this.adBudgetNum = 0;
|
|
this.adBudgetNum = 0;
|
|
- this.configForm.adBudget = 0;
|
|
|
|
|
|
+ this.configForm.adBudget = 300;
|
|
}
|
|
}
|
|
},
|
|
},
|
|
handleDelOrigin(list) {
|
|
handleDelOrigin(list) {
|
|
@@ -2320,7 +2355,7 @@ export default {
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- if (this.selectPackageTabs === '2' && !this.configForm.adAudiencePackageId) {
|
|
|
|
|
|
+ if (this.configForm.adDirectionalFlag === 'choice' && !this.configForm.adAudiencePackageId) {
|
|
this.$message.error('请选择已有定向包');
|
|
this.$message.error('请选择已有定向包');
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
@@ -2338,6 +2373,10 @@ export default {
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ if (paramsFormData.adAutoExtendEnabled === '1' && !paramsFormData.adAutoExtendTargets) {
|
|
|
|
+ this.$message.error('请选择可开放定向');
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
if (this.configForm.adScheduleType === 'SCHEDULE_START_END' && !this.configForm.launchDateRange.length) {
|
|
if (this.configForm.adScheduleType === 'SCHEDULE_START_END' && !this.configForm.launchDateRange.length) {
|
|
this.$message.error('请选择投放时间');
|
|
this.$message.error('请选择投放时间');
|
|
return;
|
|
return;
|