|
@@ -19,46 +19,42 @@
|
|
<a-form-model-item label="广告账户">
|
|
<a-form-model-item label="广告账户">
|
|
<acount-search class="acount-search-class" :appId.sync="configForm.acountId" :multiple="false"></acount-search>
|
|
<acount-search class="acount-search-class" :appId.sync="configForm.acountId" :multiple="false"></acount-search>
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
|
|
+ <a-form-model-item label="dp链接范围">
|
|
|
|
+ <a-input class="common-input" v-model="configForm.adverName" placeholder="请输入"/>
|
|
|
|
+ <span>~</span>
|
|
|
|
+ <a-input class="common-input" v-model="configForm.adverName" placeholder="请输入"/>
|
|
|
|
+ </a-form-model-item>
|
|
<a-form-model-item label="预算方式">
|
|
<a-form-model-item label="预算方式">
|
|
- <a-radio-group default-value="a" v-model="configForm.budget" button-style="solid">
|
|
|
|
- <a-radio-button value="a">不限于算</a-radio-button>
|
|
|
|
- <a-radio-button value="b">指定预算</a-radio-button>
|
|
|
|
|
|
+ <a-radio-group v-model="configForm.budget" button-style="solid">
|
|
|
|
+ <a-radio-button value="unlimited">不限于算</a-radio-button>
|
|
|
|
+ <a-radio-button value="designated">指定预算</a-radio-button>
|
|
</a-radio-group>
|
|
</a-radio-group>
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
- <a-form-model-item ref="name" label="账户日预算" prop="name">
|
|
|
|
- <a-input
|
|
|
|
- class="common-input"
|
|
|
|
- v-model="configForm.name"
|
|
|
|
- @blur="
|
|
|
|
- () => {
|
|
|
|
- $refs.name.onFieldBlur();
|
|
|
|
- }
|
|
|
|
- "
|
|
|
|
- placeholder="请输入账户日预算"
|
|
|
|
- /> 元
|
|
|
|
|
|
+ <a-form-model-item v-if="configForm.budget === 'designated'" ref="name" label="账户日预算">
|
|
|
|
+ <a-input-number v-model="configForm.name" :min="1000" :max="9999999.99" :step="0.01"/> 元
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
<p class="form-line"></p>
|
|
<p class="form-line"></p>
|
|
<p class="rock-title">广告组信息</p>
|
|
<p class="rock-title">广告组信息</p>
|
|
<a-form-model-item label="推广目标">
|
|
<a-form-model-item label="推广目标">
|
|
- <a-radio-group default-value="a" v-model="configForm.target" button-style="solid">
|
|
|
|
- <a-radio-button value="a">应用</a-radio-button>
|
|
|
|
- <a-radio-button value="b">销售线索收集</a-radio-button>
|
|
|
|
- <a-radio-button value="c">电商店铺推广</a-radio-button>
|
|
|
|
|
|
+ <a-radio-group v-model="configForm.target" 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-radio-group>
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
<a-form-model-item label="广告类型">
|
|
<a-form-model-item label="广告类型">
|
|
- <a-radio-group default-value="a" v-model="configForm.adverType" button-style="solid">
|
|
|
|
- <a-radio-button value="a">信息流广告</a-radio-button>
|
|
|
|
- <a-radio-button value="b">搜索广告</a-radio-button>
|
|
|
|
|
|
+ <a-radio-group v-model="configForm.adverType" button-style="solid">
|
|
|
|
+ <a-radio-button value="information_flow">信息流广告</a-radio-button>
|
|
|
|
+ <a-radio-button value="search_flow">搜索广告</a-radio-button>
|
|
</a-radio-group>
|
|
</a-radio-group>
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
<p class="form-line"></p>
|
|
<p class="form-line"></p>
|
|
<p class="rock-title">基础信息</p>
|
|
<p class="rock-title">基础信息</p>
|
|
<a-form-model-item label="广告组名称" prop="adverName">
|
|
<a-form-model-item label="广告组名称" prop="adverName">
|
|
- <a-input class="common-input" v-model="configForm.adverName" placeholder="请输入广告组名称"/>
|
|
|
|
|
|
+ <a-input class="common-input-long" v-model="configForm.adverName" placeholder="请输入广告组名称"/>
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
- <a-form-model-item label="广告计划名称">
|
|
|
|
- <a-input class="common-input" v-model="configForm.adverPlaneName" placeholder="请输入广告计划名称"/>
|
|
|
|
|
|
+ <a-form-model-item label="广告计划名称" prop="adverPlaneName">
|
|
|
|
+ <a-input class="common-input-long" v-model="configForm.adverPlaneName" placeholder="请输入广告计划名称"/>
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
<a-form-model-item label="创建数量">
|
|
<a-form-model-item label="创建数量">
|
|
<span class="advers-title-class">广告组数量</span>
|
|
<span class="advers-title-class">广告组数量</span>
|
|
@@ -76,36 +72,36 @@
|
|
<p class="form-line"></p>
|
|
<p class="form-line"></p>
|
|
<p class="rock-title">投放内容</p>
|
|
<p class="rock-title">投放内容</p>
|
|
<a-form-model-item label="投放目标">
|
|
<a-form-model-item label="投放目标">
|
|
- <a-radio-group default-value="a" v-model="configForm.launchTarget" button-style="solid">
|
|
|
|
- <a-radio-button value="a">转量化</a-radio-button>
|
|
|
|
- <a-radio-button value="b">点击量</a-radio-button>
|
|
|
|
- <a-radio-button value="b">展示量</a-radio-button>
|
|
|
|
|
|
+ <a-radio-group v-model="configForm.launchTarget" button-style="solid">
|
|
|
|
+ <a-radio-button value="OCPM">转量化</a-radio-button>
|
|
|
|
+ <a-radio-button value="CPC">点击量</a-radio-button>
|
|
|
|
+ <a-radio-button value="CPM">展示量</a-radio-button>
|
|
</a-radio-group>
|
|
</a-radio-group>
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
<a-form-model-item label="下载方式">
|
|
<a-form-model-item label="下载方式">
|
|
- <a-radio-group default-value="a" v-model="configForm.downloadMethod" button-style="solid">
|
|
|
|
- <a-radio-button value="a">下载链接</a-radio-button>
|
|
|
|
- <a-radio-button value="b">落地页</a-radio-button>
|
|
|
|
|
|
+ <a-radio-group v-model="configForm.downloadMethod" button-style="solid">
|
|
|
|
+ <a-radio-button value="DOWNLOAD_URL">下载链接</a-radio-button>
|
|
|
|
+ <a-radio-button value="EXTERNAL_URL">落地页</a-radio-button>
|
|
</a-radio-group>
|
|
</a-radio-group>
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
- <a-form-model-item v-if="configForm.downloadMethod === 'b'" label="落地页链接">
|
|
|
|
|
|
+ <a-form-model-item v-if="configForm.downloadMethod === 'EXTERNAL_URL'" label="落地页链接">
|
|
<a-input class="common-input-long" v-model="configForm.landLink" placeholder="请输入落地页链接"/>
|
|
<a-input class="common-input-long" v-model="configForm.landLink" placeholder="请输入落地页链接"/>
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
- <a-form-model-item v-if="configForm.downloadMethod === 'b'" label="直达链接内容">
|
|
|
|
|
|
+ <a-form-model-item v-if="configForm.downloadMethod === 'EXTERNAL_URL'" label="直达链接内容">
|
|
<a-input class="common-input-long" v-model="configForm.accessLinkContent" placeholder="请输入直达链接内容"/>
|
|
<a-input class="common-input-long" v-model="configForm.accessLinkContent" placeholder="请输入直达链接内容"/>
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
- <a-form-model-item v-if="configForm.downloadMethod === 'a'" label="下载链接">
|
|
|
|
|
|
+ <a-form-model-item v-if="configForm.downloadMethod === 'DOWNLOAD_URL'" label="下载链接">
|
|
<a-input class="common-input-long" v-model="configForm.downloadLink" placeholder="请输入下载链接" @change="handleDownloadLink"/>
|
|
<a-input class="common-input-long" v-model="configForm.downloadLink" placeholder="请输入下载链接" @change="handleDownloadLink"/>
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
- <a-form-model-item v-if="configForm.downloadMethod === 'a'" label="应用包名">
|
|
|
|
|
|
+ <a-form-model-item v-if="configForm.downloadMethod === 'DOWNLOAD_URL'" label="应用包名">
|
|
<a-input class="common-input-long" v-model="configForm.applicationName" placeholder="请输入应用包名"/>
|
|
<a-input class="common-input-long" v-model="configForm.applicationName" placeholder="请输入应用包名"/>
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
<p class="form-line"></p>
|
|
<p class="form-line"></p>
|
|
<p class="rock-title">优化目标</p>
|
|
<p class="rock-title">优化目标</p>
|
|
<a-form-model-item label="转化跟踪方式">
|
|
<a-form-model-item label="转化跟踪方式">
|
|
<a-select class="common-input-long" v-model="configForm.trackMode" placeholder="请选择">
|
|
<a-select class="common-input-long" v-model="configForm.trackMode" placeholder="请选择">
|
|
- <a-select-option value="shanghai">Zone one</a-select-option>
|
|
|
|
- <a-select-option value="beijing">Zone two</a-select-option>
|
|
|
|
|
|
+ <a-select-option value="shanghai">跟踪线索</a-select-option>
|
|
|
|
+ <a-select-option value="beijing">跟踪应用</a-select-option>
|
|
</a-select>
|
|
</a-select>
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
<a-form-model-item label="优化目标">
|
|
<a-form-model-item label="优化目标">
|
|
@@ -117,7 +113,7 @@
|
|
<p class="form-line"></p>
|
|
<p class="form-line"></p>
|
|
<p class="rock-title">设置投放位置</p>
|
|
<p class="rock-title">设置投放位置</p>
|
|
<a-form-model-item label="广告位置">
|
|
<a-form-model-item label="广告位置">
|
|
- <a-radio-group default-value="a" v-model="configForm.adverPosition" button-style="solid">
|
|
|
|
|
|
+ <a-radio-group v-model="configForm.adverPosition" button-style="solid">
|
|
<a-radio-button value="a">系统优选广告位</a-radio-button>
|
|
<a-radio-button value="a">系统优选广告位</a-radio-button>
|
|
<a-radio-button value="b">按媒体指定位置</a-radio-button>
|
|
<a-radio-button value="b">按媒体指定位置</a-radio-button>
|
|
<a-radio-button value="c">按场景指定位置</a-radio-button>
|
|
<a-radio-button value="c">按场景指定位置</a-radio-button>
|
|
@@ -128,32 +124,32 @@
|
|
<div v-if="configForm.adverPosition === 'c'" class="position-radio-change">
|
|
<div v-if="configForm.adverPosition === 'c'" class="position-radio-change">
|
|
<p>位置选择</p>
|
|
<p>位置选择</p>
|
|
<a-radio-group v-model="configForm.radioChangeValue">
|
|
<a-radio-group v-model="configForm.radioChangeValue">
|
|
- <a-radio :style="radioStyle" :value="1">沉浸式竖版视频场景</a-radio>
|
|
|
|
- <a-radio :style="radioStyle" :value="2">信息流场景</a-radio>
|
|
|
|
- <a-radio :style="radioStyle" :value="3">视频后贴和尾帧场景</a-radio>
|
|
|
|
|
|
+ <a-radio :style="radioStyle" value="VIDEO_SCENE">沉浸式竖版视频场景</a-radio>
|
|
|
|
+ <a-radio :style="radioStyle" value="FEED_SCENE">信息流场景</a-radio>
|
|
|
|
+ <a-radio :style="radioStyle" value="TAIL_SCENE">视频后贴和尾帧场景</a-radio>
|
|
</a-radio-group>
|
|
</a-radio-group>
|
|
</div>
|
|
</div>
|
|
<div v-if="configForm.adverPosition === 'b'" class="position-radio-change">
|
|
<div v-if="configForm.adverPosition === 'b'" class="position-radio-change">
|
|
<p>位置选择</p>
|
|
<p>位置选择</p>
|
|
<a-checkbox-group v-model="configForm.checkboxChangeValue">
|
|
<a-checkbox-group v-model="configForm.checkboxChangeValue">
|
|
- <a-checkbox :style="radioStyle" :value="1">今日头条</a-checkbox>
|
|
|
|
- <a-checkbox :style="radioStyle" :value="2">西瓜视频</a-checkbox>
|
|
|
|
- <a-checkbox :style="radioStyle" :value="3">抖音火山版</a-checkbox>
|
|
|
|
- <a-checkbox :style="radioStyle" :value="4">抖音短视频</a-checkbox>
|
|
|
|
- <a-checkbox :style="radioStyle" :value="5">穿山甲</a-checkbox>
|
|
|
|
|
|
+ <a-checkbox :style="radioStyle" value="INVENTORY_FEED">今日头条</a-checkbox>
|
|
|
|
+ <a-checkbox :style="radioStyle" value="INVENTORY_VIDEO_FEED">西瓜视频</a-checkbox>
|
|
|
|
+ <a-checkbox :style="radioStyle" value="INVENTORY_HOTSOON_FEED">抖音火山版</a-checkbox>
|
|
|
|
+ <a-checkbox :style="radioStyle" value="INVENTORY_AWEME_FEED">抖音短视频</a-checkbox>
|
|
|
|
+ <a-checkbox :style="radioStyle" value="INVENTORY_UNION_SLOT">穿山甲</a-checkbox>
|
|
</a-checkbox-group>
|
|
</a-checkbox-group>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<a-form-model-item label="搜索快投">
|
|
<a-form-model-item label="搜索快投">
|
|
- <a-radio-group v-model="configForm.searchQuick" button-style="solid">
|
|
|
|
- <a-radio-button value="a">不启用</a-radio-button>
|
|
|
|
- <a-radio-button value="b">启用</a-radio-button>
|
|
|
|
|
|
+ <a-radio-group v-model="configForm.feed_delivery_search" button-style="solid">
|
|
|
|
+ <a-radio-button value="DISABLED">不启用</a-radio-button>
|
|
|
|
+ <a-radio-button value="HAS_OPEN">启用</a-radio-button>
|
|
</a-radio-group>
|
|
</a-radio-group>
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
<p class="form-line"></p>
|
|
<p class="form-line"></p>
|
|
<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.areaDirect" button-style="solid">
|
|
|
|
|
|
+ <a-radio-group v-model="configForm.REGION" button-style="solid">
|
|
<a-radio-button value="buxian">不限</a-radio-button>
|
|
<a-radio-button value="buxian">不限</a-radio-button>
|
|
<a-radio-button value="a">按省市</a-radio-button>
|
|
<a-radio-button value="a">按省市</a-radio-button>
|
|
<a-radio-button value="b">按区县</a-radio-button>
|
|
<a-radio-button value="b">按区县</a-radio-button>
|
|
@@ -161,20 +157,20 @@
|
|
</a-radio-group>
|
|
</a-radio-group>
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
<a-form-model-item label="性别">
|
|
<a-form-model-item label="性别">
|
|
- <a-radio-group v-model="configForm.genderDirect" button-style="solid">
|
|
|
|
- <a-radio-button value="buxian">不限</a-radio-button>
|
|
|
|
- <a-radio-button value="a">男</a-radio-button>
|
|
|
|
- <a-radio-button value="b">女</a-radio-button>
|
|
|
|
|
|
+ <a-radio-group v-model="configForm.GENDER" button-style="solid">
|
|
|
|
+ <a-radio-button value="NONE">不限</a-radio-button>
|
|
|
|
+ <a-radio-button value="GENDER_MALE">男</a-radio-button>
|
|
|
|
+ <a-radio-button value="GENDER_FEMALE">女</a-radio-button>
|
|
</a-radio-group>
|
|
</a-radio-group>
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
<a-form-model-item label="年龄">
|
|
<a-form-model-item label="年龄">
|
|
- <a-radio-group v-model="configForm.ageDirect" button-style="solid">
|
|
|
|
|
|
+ <a-radio-group v-model="configForm.AGE" button-style="solid">
|
|
<a-radio-button value="buxian">不限</a-radio-button>
|
|
<a-radio-button value="buxian">不限</a-radio-button>
|
|
- <a-radio-button value="a">18-23</a-radio-button>
|
|
|
|
- <a-radio-button value="b">24-30</a-radio-button>
|
|
|
|
- <a-radio-button value="c">31-40</a-radio-button>
|
|
|
|
- <a-radio-button value="d">41-49</a-radio-button>
|
|
|
|
- <a-radio-button value="e">50+</a-radio-button>
|
|
|
|
|
|
+ <a-radio-button value="AGE_BETWEEN_18_23">18-23</a-radio-button>
|
|
|
|
+ <a-radio-button value="AGE_BETWEEN_24_30">24-30</a-radio-button>
|
|
|
|
+ <a-radio-button value="AGE_BETWEEN_31_40">31-40</a-radio-button>
|
|
|
|
+ <a-radio-button value="AGE_BETWEEN_41_49">41-49</a-radio-button>
|
|
|
|
+ <a-radio-button value="AGE_ABOVE_50">50+</a-radio-button>
|
|
</a-radio-group>
|
|
</a-radio-group>
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
<a-form-model-item label="自定义人群">
|
|
<a-form-model-item label="自定义人群">
|
|
@@ -185,17 +181,17 @@
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
<a-form-model-item label="媒体定向">
|
|
<a-form-model-item label="媒体定向">
|
|
<a-radio-group v-model="configForm.mediaDirect" button-style="solid">
|
|
<a-radio-group v-model="configForm.mediaDirect" button-style="solid">
|
|
- <a-radio-button value="buxian">不限</a-radio-button>
|
|
|
|
- <a-radio-button value="a" disabled>游戏优质媒体</a-radio-button>
|
|
|
|
|
|
+ <a-radio-button value="NONE">不限</a-radio-button>
|
|
|
|
+ <a-radio-button value="GAME" disabled>游戏优质媒体</a-radio-button>
|
|
<a-radio-button value="b">自定义</a-radio-button>
|
|
<a-radio-button value="b">自定义</a-radio-button>
|
|
</a-radio-group>
|
|
</a-radio-group>
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
<a-form-model-item label="平台">
|
|
<a-form-model-item label="平台">
|
|
- <a-radio-group v-model="configForm.platDirect" button-style="solid">
|
|
|
|
|
|
+ <a-radio-group v-model="configForm.platform" button-style="solid">
|
|
<a-radio-button value="buxian" :disabled="!!configForm.downloadLink">不限</a-radio-button>
|
|
<a-radio-button value="buxian" :disabled="!!configForm.downloadLink">不限</a-radio-button>
|
|
- <a-radio-button value="a" :disabled="!!configForm.downloadLink">IOS</a-radio-button>
|
|
|
|
- <a-radio-button value="b">Andriod</a-radio-button>
|
|
|
|
- <a-radio-button value="c" :disabled="!!configForm.downloadLink">PC</a-radio-button>
|
|
|
|
|
|
+ <a-radio-button value="IOS" :disabled="!!configForm.downloadLink">IOS</a-radio-button>
|
|
|
|
+ <a-radio-button value="ANDROID">Andriod</a-radio-button>
|
|
|
|
+ <a-radio-button value="PC" :disabled="!!configForm.downloadLink">PC</a-radio-button>
|
|
</a-radio-group>
|
|
</a-radio-group>
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
<a-form-model-item v-if="configForm.downloadLink" label="安卓版本">
|
|
<a-form-model-item v-if="configForm.downloadLink" label="安卓版本">
|
|
@@ -208,70 +204,70 @@
|
|
<div v-if="configForm.androidDirect === 'a'" class="position-radio-change">
|
|
<div v-if="configForm.androidDirect === 'a'" class="position-radio-change">
|
|
<p>安卓版本</p>
|
|
<p>安卓版本</p>
|
|
<a-radio-group v-model="configForm.androidChangeValue">
|
|
<a-radio-group v-model="configForm.androidChangeValue">
|
|
- <a-radio :style="radioStyle" :value="1">Andriod 8.0以上</a-radio>
|
|
|
|
- <a-radio :style="radioStyle" :value="2">Andriod 7.1以上</a-radio>
|
|
|
|
- <a-radio :style="radioStyle" :value="3">Andriod 7.0以上</a-radio>
|
|
|
|
- <a-radio :style="radioStyle" :value="4">Andriod 6.0以上</a-radio>
|
|
|
|
|
|
+ <a-radio :style="radioStyle" value="8.0">Andriod 8.0以上</a-radio>
|
|
|
|
+ <a-radio :style="radioStyle" value="7.1">Andriod 7.1以上</a-radio>
|
|
|
|
+ <a-radio :style="radioStyle" value="7.0">Andriod 7.0以上</a-radio>
|
|
|
|
+ <a-radio :style="radioStyle" value="6.0">Andriod 6.0以上</a-radio>
|
|
</a-radio-group>
|
|
</a-radio-group>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<a-form-model-item label="网络">
|
|
<a-form-model-item label="网络">
|
|
<a-radio-group v-model="configForm.networkDirect" button-style="solid">
|
|
<a-radio-group v-model="configForm.networkDirect" button-style="solid">
|
|
- <a-radio-button value="buxian">不限</a-radio-button>
|
|
|
|
- <a-radio-button value="a">Wi-Fi</a-radio-button>
|
|
|
|
- <a-radio-button value="b">2G</a-radio-button>
|
|
|
|
- <a-radio-button value="c">3G</a-radio-button>
|
|
|
|
- <a-radio-button value="d">4G</a-radio-button>
|
|
|
|
|
|
+ <a-radio-button value="unknown">不限</a-radio-button>
|
|
|
|
+ <a-radio-button value="WIFI">Wi-Fi</a-radio-button>
|
|
|
|
+ <a-radio-button value="2G">2G</a-radio-button>
|
|
|
|
+ <a-radio-button value="3G">3G</a-radio-button>
|
|
|
|
+ <a-radio-button value="4G">4G</a-radio-button>
|
|
</a-radio-group>
|
|
</a-radio-group>
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
<a-form-model-item label="已安装用户">
|
|
<a-form-model-item label="已安装用户">
|
|
<a-radio-group v-model="configForm.installUserDirect" button-style="solid">
|
|
<a-radio-group v-model="configForm.installUserDirect" button-style="solid">
|
|
- <a-radio-button value="buxian">不限</a-radio-button>
|
|
|
|
- <a-radio-button value="a">过滤</a-radio-button>
|
|
|
|
- <a-radio-button value="b">定向</a-radio-button>
|
|
|
|
|
|
+ <a-radio-button value="0">不限</a-radio-button>
|
|
|
|
+ <a-radio-button value="1">过滤</a-radio-button>
|
|
|
|
+ <a-radio-button value="2">定向</a-radio-button>
|
|
</a-radio-group>
|
|
</a-radio-group>
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
<a-form-model-item v-if="configForm.trackMode" label="过滤已转化用户">
|
|
<a-form-model-item v-if="configForm.trackMode" label="过滤已转化用户">
|
|
<a-radio-group v-model="configForm.conversionUserDirect" button-style="solid">
|
|
<a-radio-group v-model="configForm.conversionUserDirect" button-style="solid">
|
|
- <a-radio-button value="buxian">不限</a-radio-button>
|
|
|
|
- <a-radio-button value="a">广告计划</a-radio-button>
|
|
|
|
- <a-radio-button value="b">广告组</a-radio-button>
|
|
|
|
- <a-radio-button value="c">广告账户</a-radio-button>
|
|
|
|
- <a-radio-button value="d">公司账户</a-radio-button>
|
|
|
|
- <a-radio-button value="e">APP</a-radio-button>
|
|
|
|
|
|
+ <a-radio-button value="NO_EXCLUDE">不限</a-radio-button>
|
|
|
|
+ <a-radio-button value="AD">广告计划</a-radio-button>
|
|
|
|
+ <a-radio-button value="CAMPAIGN">广告组</a-radio-button>
|
|
|
|
+ <a-radio-button value="ADVERTISER">广告账户</a-radio-button>
|
|
|
|
+ <a-radio-button value="CUSTOMER">公司账户</a-radio-button>
|
|
|
|
+ <a-radio-button value="APP">APP</a-radio-button>
|
|
</a-radio-group>
|
|
</a-radio-group>
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
- <a-form-model-item label="智能播放">
|
|
|
|
- <a-radio-group v-model="configForm.intelligenceDirect" button-style="solid">
|
|
|
|
- <a-radio-button value="a">不开启</a-radio-button>
|
|
|
|
- <a-radio-button value="b">开启</a-radio-button>
|
|
|
|
|
|
+ <a-form-model-item label="智能放量">
|
|
|
|
+ <a-radio-group v-model="configForm.auto_extend_enabled" button-style="solid">
|
|
|
|
+ <a-radio-button value="0">不开启</a-radio-button>
|
|
|
|
+ <a-radio-button value="1">开启</a-radio-button>
|
|
</a-radio-group>
|
|
</a-radio-group>
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
<p class="form-line"></p>
|
|
<p class="form-line"></p>
|
|
<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.launchScenarios" button-style="solid">
|
|
|
|
- <a-radio-button value="a">常规投放</a-radio-button>
|
|
|
|
- <a-radio-button value="b" disabled>放量投放</a-radio-button>
|
|
|
|
|
|
+ <a-radio-group v-model="configForm.smart_bid_type" button-style="solid">
|
|
|
|
+ <a-radio-button value="SMART_BID_CUSTOM">常规投放</a-radio-button>
|
|
|
|
+ <a-radio-button value="SMART_BID_CONSERVATIVE" disabled>放量投放</a-radio-button>
|
|
</a-radio-group>
|
|
</a-radio-group>
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
<a-form-model-item label="预算">
|
|
<a-form-model-item label="预算">
|
|
<a-input-group compact>
|
|
<a-input-group compact>
|
|
<a-select default-value="Zhejiang">
|
|
<a-select default-value="Zhejiang">
|
|
- <a-select-option value="Zhejiang">Zhejiang</a-select-option>
|
|
|
|
- <a-select-option value="Jiangsu">Jiangsu</a-select-option>
|
|
|
|
|
|
+ <a-select-option value="Zhejiang">日预算</a-select-option>
|
|
|
|
+ <a-select-option value="Jiangsu">总预算</a-select-option>
|
|
</a-select>
|
|
</a-select>
|
|
- <a-input style="width: 50%" v-model="configForm.budgetNum"/>
|
|
|
|
|
|
+ <a-input style="width: 50%" placeholder="请输入" v-model="configForm.budgetNum"/>
|
|
</a-input-group>
|
|
</a-input-group>
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
<a-form-model-item label="投放时间">
|
|
<a-form-model-item label="投放时间">
|
|
- <a-radio-group v-model="configForm.launchTime" button-style="solid">
|
|
|
|
- <a-radio-button value="a">从今天起长期投放</a-radio-button>
|
|
|
|
- <a-radio-button value="b">设置开始和结束日期</a-radio-button>
|
|
|
|
|
|
+ <a-radio-group v-model="configForm.schedule_type" button-style="solid">
|
|
|
|
+ <a-radio-button value="SCHEDULE_FROM_NOW">从今天起长期投放</a-radio-button>
|
|
|
|
+ <a-radio-button value="SCHEDULE_START_END">设置开始和结束日期</a-radio-button>
|
|
</a-radio-group>
|
|
</a-radio-group>
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
<div class="adver-position-radio">
|
|
<div class="adver-position-radio">
|
|
- <div v-if="configForm.launchTime === 'b'" class="position-radio-change">
|
|
|
|
|
|
+ <div v-if="configForm.schedule_type === 'SCHEDULE_START_END'" class="position-radio-change">
|
|
<a-range-picker v-model="configForm.launchDateRange"/>
|
|
<a-range-picker v-model="configForm.launchDateRange"/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@@ -291,33 +287,33 @@
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<a-form-model-item label="付费方式">
|
|
<a-form-model-item label="付费方式">
|
|
- <a-radio-group v-model="configForm.payMethod" button-style="solid">
|
|
|
|
- <a-radio-button value="a">按展示付费(oCPM)</a-radio-button>
|
|
|
|
|
|
+ <a-radio-group v-model="configForm.pricing" button-style="solid">
|
|
|
|
+ <a-radio-button value="PRICING_OCPM">按展示付费(oCPM)</a-radio-button>
|
|
</a-radio-group>
|
|
</a-radio-group>
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
<a-form-model-item label="目标转化出价">
|
|
<a-form-model-item label="目标转化出价">
|
|
- <a-input class="common-input" v-model="configForm.conversionBid"/> 元
|
|
|
|
|
|
+ <a-input class="common-input" placeholder="请输入" v-model="configForm.conversionBid"/> 元
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
<p class="form-line"></p>
|
|
<p class="form-line"></p>
|
|
<p class="rock-title">第三方检测链接</p>
|
|
<p class="rock-title">第三方检测链接</p>
|
|
<a-form-model-item label="点击监测">
|
|
<a-form-model-item label="点击监测">
|
|
- <a-input class="common-input-long" v-model="configForm.monitoringAddress"/>
|
|
|
|
|
|
+ <a-input class="common-input-long" placeholder="请输入链接地址" v-model="configForm.monitoringAddress"/>
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
<p class="form-line"></p>
|
|
<p class="form-line"></p>
|
|
<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.creativeWay" button-style="solid">
|
|
|
|
- <a-radio-button value="a">程序化创意</a-radio-button>
|
|
|
|
|
|
+ <a-radio-group v-model="configForm.creative_material_mode" button-style="solid">
|
|
|
|
+ <a-radio-button value="STATIC_ASSEMBLE">程序化创意</a-radio-button>
|
|
<a-radio-button value="b">自定义创意</a-radio-button>
|
|
<a-radio-button value="b">自定义创意</a-radio-button>
|
|
</a-radio-group>
|
|
</a-radio-group>
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
<a-form-model-item label="创意内容">
|
|
<a-form-model-item label="创意内容">
|
|
- <a-radio-group v-model="configForm.creativeContent" button-style="solid">
|
|
|
|
- <a-radio-button value="a">竖版视频</a-radio-button>
|
|
|
|
- <a-radio-button value="b">横版视频</a-radio-button>
|
|
|
|
- <a-radio-button value="c">大图横图</a-radio-button>
|
|
|
|
- <a-radio-button value="d">小图</a-radio-button>
|
|
|
|
- <a-radio-button value="e">大图竖图</a-radio-button>
|
|
|
|
|
|
+ <a-radio-group v-model="configForm.image_mode" button-style="solid">
|
|
|
|
+ <a-radio-button value="CREATIVE_IMAGE_MODE_VIDEO_VERTICAL">竖版视频</a-radio-button>
|
|
|
|
+ <a-radio-button value="CREATIVE_IMAGE_MODE_VIDEO">横版视频</a-radio-button>
|
|
|
|
+ <a-radio-button value="CREATIVE_IMAGE_MODE_LARGE">大图横图</a-radio-button>
|
|
|
|
+ <a-radio-button value="CREATIVE_IMAGE_MODE_SMALL">小图</a-radio-button>
|
|
|
|
+ <a-radio-button value="CREATIVE_IMAGE_MODE_LARGE_VERTICAL">大图竖图</a-radio-button>
|
|
</a-radio-group>
|
|
</a-radio-group>
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
<a-form-model-item label="卡片主图">
|
|
<a-form-model-item label="卡片主图">
|
|
@@ -326,44 +322,60 @@
|
|
list-type="picture-card"
|
|
list-type="picture-card"
|
|
class="avatar-uploader"
|
|
class="avatar-uploader"
|
|
:show-upload-list="false"
|
|
:show-upload-list="false"
|
|
|
|
+ :before-upload="beforeUpload"
|
|
@change="handleChange"
|
|
@change="handleChange"
|
|
>
|
|
>
|
|
<div v-if="imageUrl" class="upload-img-class" @mouseover="handleChangeActive">
|
|
<div v-if="imageUrl" class="upload-img-class" @mouseover="handleChangeActive">
|
|
<div class="img-flex-url">
|
|
<div class="img-flex-url">
|
|
<img :src="imageUrl" alt="avatar"/>
|
|
<img :src="imageUrl" alt="avatar"/>
|
|
</div>
|
|
</div>
|
|
- </div>
|
|
|
|
- <div v-if="imageUrl && isCoverImgDiv" class="cover-img-div" @mouseleave="handleRemoveActive">
|
|
|
|
- <a-icon class="delete-icon-class" type="delete" @click.stop="handleDeleteImg"/>
|
|
|
|
|
|
+ <div v-if="isCoverImgDiv" class="cover-img-div" @mouseleave="handleRemoveActive">
|
|
|
|
+ <a-icon class="delete-icon-class" type="delete" @click.stop="handleDeleteImg"/>
|
|
|
|
+ </div>
|
|
</div>
|
|
</div>
|
|
<div v-if="!imageUrl && !isCoverImgDiv">
|
|
<div v-if="!imageUrl && !isCoverImgDiv">
|
|
- <a-icon type="plus"/>
|
|
|
|
|
|
+ <a-icon type="plus" style="margin-top: 10px;"/>
|
|
<div class="ant-upload-text">Upload</div>
|
|
<div class="ant-upload-text">Upload</div>
|
|
</div>
|
|
</div>
|
|
</a-upload>
|
|
</a-upload>
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
<a-form-model-item label="卡片标题">
|
|
<a-form-model-item label="卡片标题">
|
|
- <a-input class="common-input-long" v-model="configForm.cardTitle"/>
|
|
|
|
|
|
+ <a-input class="common-input-long" placeholder="请输入卡片标题" v-model="configForm.cardTitle"/>
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
|
|
+ <a-form-model-item label="推广卖点">
|
|
|
|
+ <a-button type="primary" @click="handleAddOrigin"><a-icon type="plus" />推广卖点</a-button>
|
|
|
|
+ </a-form-model-item>
|
|
|
|
+ <div class="adver-position-radio">
|
|
|
|
+ <a-form-model-item
|
|
|
|
+ v-for="item in defaultFormList"
|
|
|
|
+ :key="item.id"
|
|
|
|
+ class="examin-form-model"
|
|
|
|
+ >
|
|
|
|
+ <a-input class="common-input-long" v-model="item.value" placeholder="请输入"/>
|
|
|
|
+ <a-icon class="examin-form-icon" type="delete" @click="handleDelOrigin(item)"/>
|
|
|
|
+ </a-form-model-item>
|
|
|
|
+ </div>
|
|
<a-form-model-item label="行动号召">
|
|
<a-form-model-item label="行动号召">
|
|
- <a-radio-group v-model="configForm.intelligentOptimization" button-style="solid">
|
|
|
|
- <a-radio-button value="a">开启智能优选</a-radio-button>
|
|
|
|
- <a-radio-button value="b">关闭智能优选</a-radio-button>
|
|
|
|
|
|
+ <a-radio-group v-model="configForm.enable_personal_action" button-style="solid">
|
|
|
|
+ <a-radio-button :value="true">开启智能优选</a-radio-button>
|
|
|
|
+ <a-radio-button :value="false">关闭智能优选</a-radio-button>
|
|
</a-radio-group>
|
|
</a-radio-group>
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
<a-form-model-item label="来源">
|
|
<a-form-model-item label="来源">
|
|
- <a-input class="common-input-long" v-model="configForm.cardSource"/>
|
|
|
|
|
|
+ <a-input class="common-input-long" placeholder="请输入来源" v-model="configForm.cardSource"/>
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
<p class="form-line"></p>
|
|
<p class="form-line"></p>
|
|
<p class="rock-title">创意分类</p>
|
|
<p class="rock-title">创意分类</p>
|
|
<a-form-model-item label="创意分类">
|
|
<a-form-model-item label="创意分类">
|
|
- <a-select class="common-input-long" v-model="configForm.creativeClassification" placeholder="请选择">
|
|
|
|
- <a-select-option value="shanghai">Zone one</a-select-option>
|
|
|
|
- <a-select-option value="beijing">Zone two</a-select-option>
|
|
|
|
- </a-select>
|
|
|
|
|
|
+ <a-cascader
|
|
|
|
+ v-model="configForm.creativeClassification"
|
|
|
|
+ class="common-input-long"
|
|
|
|
+ :options="createOptions"
|
|
|
|
+ :fieldNames="fieldNames"
|
|
|
|
+ placeholder="请选择创意分类"
|
|
|
|
+ />
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
<a-form-model-item label="创意标签">
|
|
<a-form-model-item label="创意标签">
|
|
- <!-- <a-input class="common-input-long" v-model="configForm.creativeLabel" @keyup.enter="handleEnterChang" placeholder="按回车生成标签"/> -->
|
|
|
|
<a-select
|
|
<a-select
|
|
v-model="configForm.creativeLabel"
|
|
v-model="configForm.creativeLabel"
|
|
mode="tags"
|
|
mode="tags"
|
|
@@ -377,9 +389,17 @@
|
|
</a-form-model-item>
|
|
</a-form-model-item>
|
|
<div class="adver-position-radio">
|
|
<div class="adver-position-radio">
|
|
<div class="creative-label-content">
|
|
<div class="creative-label-content">
|
|
- <p>已选</p>
|
|
|
|
|
|
+ <p>已选:{{ creativeTag.length || 0 }}</p>
|
|
<div class="label-content-select-tag">
|
|
<div class="label-content-select-tag">
|
|
- <a-tag v-for="item in creativeTag" :key="item" :closable="true" class="tag-select-class" @close="handleTagsClose(item)">{{ item }}</a-tag>
|
|
|
|
|
|
+ <a-tag
|
|
|
|
+ v-for="item in creativeTag"
|
|
|
|
+ :key="item"
|
|
|
|
+ :closable="true"
|
|
|
|
+ class="tag-select-class"
|
|
|
|
+ @close="handleTagsClose(item)"
|
|
|
|
+ >
|
|
|
|
+ {{ item }}
|
|
|
|
+ </a-tag>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@@ -391,6 +411,13 @@
|
|
import AcountSearch from '@/views/modules/Statistics/components/Treeselect.vue';
|
|
import AcountSearch from '@/views/modules/Statistics/components/Treeselect.vue';
|
|
import SelectCheckAll from '../../BatchCreate/toutiaoTime';
|
|
import SelectCheckAll from '../../BatchCreate/toutiaoTime';
|
|
|
|
|
|
|
|
+import {getAction} from '@/api/manage';
|
|
|
|
+
|
|
|
|
+let COS = require('cos-js-sdk-v5');
|
|
|
|
+let cos = new COS({
|
|
|
|
+ SecretId: 'AKIDE6IpMi8fJQRCg1iuWzFajjRs43kbbets',
|
|
|
|
+ SecretKey: 'tXzuwMfplTTK3c9GFUyETilasvQfePu9'
|
|
|
|
+});
|
|
let str = '';
|
|
let str = '';
|
|
for (let i = 0; i < 7 * 48; i++) {
|
|
for (let i = 0; i < 7 * 48; i++) {
|
|
str += '0';
|
|
str += '0';
|
|
@@ -413,13 +440,22 @@ export default {
|
|
},
|
|
},
|
|
data() {
|
|
data() {
|
|
return {
|
|
return {
|
|
|
|
+ createOptions: [],
|
|
|
|
+ fieldNames: {
|
|
|
|
+ label: 'category_name',
|
|
|
|
+ value: 'category_id',
|
|
|
|
+ children: 'child'
|
|
|
|
+ },
|
|
|
|
+ fileList: [],
|
|
|
|
+ defaultFormList: [],
|
|
isCoverImgDiv: false,
|
|
isCoverImgDiv: false,
|
|
imageUrl: '',
|
|
imageUrl: '',
|
|
- creativeTag: ['123', 'qaz', '3dcfvgfv', 'Mmm'],
|
|
|
|
|
|
+ creativeTag: [],
|
|
radioStyle: {
|
|
radioStyle: {
|
|
display: 'block',
|
|
display: 'block',
|
|
height: '30px',
|
|
height: '30px',
|
|
- lineHeight: '30px'
|
|
|
|
|
|
+ lineHeight: '30px',
|
|
|
|
+ marginLeft: 0
|
|
},
|
|
},
|
|
labelCol: {span: 4},
|
|
labelCol: {span: 4},
|
|
wrapperCol: {span: 14},
|
|
wrapperCol: {span: 14},
|
|
@@ -429,56 +465,60 @@ export default {
|
|
{min: 3, max: 5, message: 'Length should be 3 to 5', trigger: 'blur'}
|
|
{min: 3, max: 5, message: 'Length should be 3 to 5', trigger: 'blur'}
|
|
],
|
|
],
|
|
adverName: [
|
|
adverName: [
|
|
- {required: true, message: 'Please input Activity name', trigger: 'blur'},
|
|
|
|
- {min: 3, max: 5, message: 'Length should be 3 to 5', trigger: 'blur'}
|
|
|
|
|
|
+ {required: true, message: '请输入广告组名称', trigger: 'blur'},
|
|
|
|
+ {min: 1, max: 100, message: '长度位1-100字符', trigger: 'blur'}
|
|
|
|
+ ],
|
|
|
|
+ adverPlaneName: [
|
|
|
|
+ {required: true, message: '请输入广告计划名称', trigger: 'blur'},
|
|
|
|
+ {min: 1, max: 100, message: '长度位1-100字符', trigger: 'blur'}
|
|
]
|
|
]
|
|
},
|
|
},
|
|
configForm: {
|
|
configForm: {
|
|
name: '', // 账户日预算
|
|
name: '', // 账户日预算
|
|
acountId: '', // 账户
|
|
acountId: '', // 账户
|
|
- budget: 'a', // 预算方式
|
|
|
|
- target: 'a', // 推广目标
|
|
|
|
- adverType: 'a', // 广告类型
|
|
|
|
|
|
+ budget: 'unlimited', // 预算方式
|
|
|
|
+ target: 'APP', // 推广目标
|
|
|
|
+ adverType: 'information_flow', // 广告类型
|
|
adverName: '', // 广告组名称
|
|
adverName: '', // 广告组名称
|
|
adverPlaneName: '', // 广告计划名称
|
|
adverPlaneName: '', // 广告计划名称
|
|
adversNum: 0, // 广告组计划数量
|
|
adversNum: 0, // 广告组计划数量
|
|
adversPlanNum: 0, // 广告计划数量
|
|
adversPlanNum: 0, // 广告计划数量
|
|
- launchTarget: 'a', // 投放目标
|
|
|
|
- downloadMethod: 'a', // 下载方式
|
|
|
|
|
|
+ launchTarget: 'OCPM', // 投放目标
|
|
|
|
+ downloadMethod: 'DOWNLOAD_URL', // 下载方式
|
|
landLink: '', // 落地页链接
|
|
landLink: '', // 落地页链接
|
|
accessLinkContent: '', // 直达链接内容
|
|
accessLinkContent: '', // 直达链接内容
|
|
applicationName: '', // 应用包名
|
|
applicationName: '', // 应用包名
|
|
trackMode: '', // 转化跟踪方式
|
|
trackMode: '', // 转化跟踪方式
|
|
optimObj: '', // 优化目标
|
|
optimObj: '', // 优化目标
|
|
adverPosition: 'a', // 广告位置
|
|
adverPosition: 'a', // 广告位置
|
|
- searchQuick: '', // 搜索快投
|
|
|
|
|
|
+ feed_delivery_search: 'DISABLED', // 搜索快投
|
|
radioChangeValue: '', // 广告位置-按照场景指定位置
|
|
radioChangeValue: '', // 广告位置-按照场景指定位置
|
|
checkboxChangeValue: [], // 广告位置-按照媒体指定位置
|
|
checkboxChangeValue: [], // 广告位置-按照媒体指定位置
|
|
- areaDirect: 'buxian', // 定向-区域
|
|
|
|
- genderDirect: 'buxian', // 定向-性别
|
|
|
|
- ageDirect: 'buxian', // 定向-年龄
|
|
|
|
|
|
+ REGION: 'buxian', // 定向-区域
|
|
|
|
+ GENDER: 'NONE', // 定向-性别
|
|
|
|
+ AGE: 'buxian', // 定向-年龄
|
|
customDirect: 'buxian', // 定向-自定义
|
|
customDirect: 'buxian', // 定向-自定义
|
|
- mediaDirect: 'buxian', // 定向-媒体定向
|
|
|
|
- platDirect: 'buxian', // 定向-平台
|
|
|
|
- networkDirect: 'buxian', // 定向-网络
|
|
|
|
- installUserDirect: 'buxian', // 定向-已安装用户
|
|
|
|
- conversionUserDirect: 'buxian', // 定向-已转化用户
|
|
|
|
- intelligenceDirect: 'a', // 定向-智能播放
|
|
|
|
|
|
+ mediaDirect: 'NONE', // 定向-媒体定向
|
|
|
|
+ platform: 'buxian', // 定向-平台
|
|
|
|
+ networkDirect: 'unknown', // 定向-网络
|
|
|
|
+ installUserDirect: '0', // 定向-已安装用户
|
|
|
|
+ conversionUserDirect: 'NO_EXCLUDE', // 定向-已转化用户
|
|
|
|
+ auto_extend_enabled: '0', // 定向-智能播放
|
|
androidDirect: 'buxian', // 定向-安卓版本
|
|
androidDirect: 'buxian', // 定向-安卓版本
|
|
androidChangeValue: '', // 安卓版本-自定义
|
|
androidChangeValue: '', // 安卓版本-自定义
|
|
- launchScenarios: 'a', // 投放场景
|
|
|
|
|
|
+ smart_bid_type: 'SMART_BID_CUSTOM', // 投放场景
|
|
budgetNum: '', // 预算
|
|
budgetNum: '', // 预算
|
|
- launchTime: 'a', // 投放时间
|
|
|
|
|
|
+ schedule_type: 'SCHEDULE_FROM_NOW', // 投放时间
|
|
launchDateRange: '', // 设置开始和结束时间
|
|
launchDateRange: '', // 设置开始和结束时间
|
|
launchTimeInterval: 'buxian', // 投放时段
|
|
launchTimeInterval: 'buxian', // 投放时段
|
|
scheduleTimeData: str, // 指定时段选择
|
|
scheduleTimeData: str, // 指定时段选择
|
|
- payMethod: 'a', // 付费方式
|
|
|
|
|
|
+ pricing: 'PRICING_OCPM', // 付费方式
|
|
conversionBid: '', // 目标转化出价
|
|
conversionBid: '', // 目标转化出价
|
|
monitoringAddress: '', // 监测地址
|
|
monitoringAddress: '', // 监测地址
|
|
- creativeWay: 'a', // 创意方式
|
|
|
|
- creativeContent: 'a', // 创意内容
|
|
|
|
|
|
+ creative_material_mode: 'STATIC_ASSEMBLE', // 创意方式
|
|
|
|
+ image_mode: 'CREATIVE_IMAGE_MODE_VIDEO_VERTICAL', // 创意内容
|
|
cardTitle: '', // 卡片标题
|
|
cardTitle: '', // 卡片标题
|
|
- intelligentOptimization: 'a', // 智能优选
|
|
|
|
|
|
+ enable_personal_action: true, // 智能优选
|
|
cardSource: '', // 来源
|
|
cardSource: '', // 来源
|
|
creativeClassification: '', // 创意分类
|
|
creativeClassification: '', // 创意分类
|
|
creativeLabel: undefined // 倡议标签
|
|
creativeLabel: undefined // 倡议标签
|
|
@@ -486,38 +526,147 @@ export default {
|
|
};
|
|
};
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
|
|
+ handleDelOrigin(list) {
|
|
|
|
+ let formData = this.defaultFormList;
|
|
|
|
+ this.defaultFormList = formData.filter(item => list.id !== item.id);
|
|
|
|
+ },
|
|
|
|
+ handleAddOrigin() {
|
|
|
|
+ const randomNum = new Date().getTime() + Math.ceil(Math.random() * 1000);
|
|
|
|
+ this.defaultFormList.push({
|
|
|
|
+ id: randomNum,
|
|
|
|
+ value: ''
|
|
|
|
+ });
|
|
|
|
+ },
|
|
handleDownloadLink(e) {
|
|
handleDownloadLink(e) {
|
|
- this.configForm.platDirect = e.target.value ? 'b' : 'buxian';
|
|
|
|
|
|
+ this.configForm.platform = e.target.value ? 'b' : 'buxian';
|
|
},
|
|
},
|
|
handleDeleteImg() {
|
|
handleDeleteImg() {
|
|
this.imageUrl = '';
|
|
this.imageUrl = '';
|
|
this.isCoverImgDiv = false;
|
|
this.isCoverImgDiv = false;
|
|
},
|
|
},
|
|
handleChangeActive() {
|
|
handleChangeActive() {
|
|
- this.isCoverImgDiv = true;
|
|
|
|
|
|
+ console.log('划入111');
|
|
|
|
+ setTimeout(() => {
|
|
|
|
+ this.isCoverImgDiv = true;
|
|
|
|
+ }, 100);
|
|
},
|
|
},
|
|
handleRemoveActive() {
|
|
handleRemoveActive() {
|
|
- this.isCoverImgDiv = false;
|
|
|
|
|
|
+ console.log('划出222');
|
|
|
|
+ setTimeout(() => {
|
|
|
|
+ this.isCoverImgDiv = false;
|
|
|
|
+ }, 100);
|
|
},
|
|
},
|
|
getBase64(img, callback) {
|
|
getBase64(img, callback) {
|
|
const reader = new FileReader();
|
|
const reader = new FileReader();
|
|
reader.addEventListener('load', () => callback(reader.result));
|
|
reader.addEventListener('load', () => callback(reader.result));
|
|
reader.readAsDataURL(img);
|
|
reader.readAsDataURL(img);
|
|
},
|
|
},
|
|
|
|
+ beforeUpload(info) {
|
|
|
|
+ this.cosUpload(info);
|
|
|
|
+ },
|
|
handleChange(info) {
|
|
handleChange(info) {
|
|
- console.log(info, 'info--info');
|
|
|
|
this.getBase64(info.file.originFileObj, imageUrl => {
|
|
this.getBase64(info.file.originFileObj, imageUrl => {
|
|
this.imageUrl = imageUrl;
|
|
this.imageUrl = imageUrl;
|
|
});
|
|
});
|
|
},
|
|
},
|
|
|
|
+ cosUpload(file) {
|
|
|
|
+ let that = this;
|
|
|
|
+ let date = new Date();
|
|
|
|
+ let y = date.getFullYear();
|
|
|
|
+ let MM = date.getMonth() + 1;
|
|
|
|
+ MM = MM < 10 ? '0' + MM : MM;
|
|
|
|
+ let d = date.getDate();
|
|
|
|
+ d = d < 10 ? '0' + d : d;
|
|
|
|
+ let timeElse = new Date().getTime();
|
|
|
|
+ let arr = file.name.split('.');
|
|
|
|
+ let str = '';
|
|
|
|
+ for (let i = 0; i < arr.length; i++) {
|
|
|
|
+ if (i === arr.length - 1) {
|
|
|
|
+ }
|
|
|
|
+ else {
|
|
|
|
+ if (i === arr.length - 2) {
|
|
|
|
+ str += arr[i];
|
|
|
|
+ }
|
|
|
|
+ else {
|
|
|
|
+ str += arr[i] + '.';
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ cos.putObject(
|
|
|
|
+ {
|
|
|
|
+ Bucket: 'media-1301855440',
|
|
|
|
+ Region: 'ap-chongqing',
|
|
|
|
+ // 存储桶所在地域,必须字段
|
|
|
|
+ Key: that.uploadType + '/' + y + '-' + MM + '-' + d + '/' + str + '-' + timeElse + '.' + arr[arr.length - 1],
|
|
|
|
+ StorageClass: 'STANDARD',
|
|
|
|
+ Body: file // 上传文件对象
|
|
|
|
+ },
|
|
|
|
+ function (err, data) {
|
|
|
|
+ if (err) {
|
|
|
|
+ that.$message.error('上传失败!!!' + err);
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ that.loadingElse = false;
|
|
|
|
+ that.fileList.push({
|
|
|
|
+ uid: file.name,
|
|
|
|
+ name: file.name,
|
|
|
|
+ status: 'done',
|
|
|
|
+ url: '//' + data.Location
|
|
|
|
+ });
|
|
|
|
+ console.log(that.fileList, 'fileListfileList--fileList');
|
|
|
|
+ // that.handleMd5(file);
|
|
|
|
+ }
|
|
|
|
+ );
|
|
|
|
+ },
|
|
|
|
+ // handleMd5(file) {
|
|
|
|
+ // let bmf = new BMF();
|
|
|
|
+ // let that = this;
|
|
|
|
+ // return new Promise(function (resolve, reject) {
|
|
|
|
+ // bmf.md5(file, (err, md5) => {
|
|
|
|
+ // console.log();
|
|
|
|
+ // // getAction('/kuaishouCrowdPack/checkCrowdPackage', {signature: md5}).then(result => {
|
|
|
|
+ // // if (result.code === 200) {
|
|
|
|
+ // // that.personNameDisabled = false;
|
|
|
|
+ // // that.personResourceDisabled = false;
|
|
|
|
+ // // resolve();
|
|
|
|
+ // // }
|
|
|
|
+ // // else if (result.code === 201) {
|
|
|
|
+ // // that.$message.error(result.message);
|
|
|
|
+ // // that.personForm.name = result.result.orientationName;
|
|
|
|
+ // // that.personForm.resource = result.result.type;
|
|
|
|
+ // // that.personNameDisabled = true;
|
|
|
|
+ // // that.personResourceDisabled = true;
|
|
|
|
+ // // reject();
|
|
|
|
+ // // }
|
|
|
|
+ // // }).catch(error => {
|
|
|
|
+ // // console.log(error, 'eeee');
|
|
|
|
+ // // reject();
|
|
|
|
+ // // });
|
|
|
|
+ // });
|
|
|
|
+ // });
|
|
|
|
+ // },
|
|
handleRelaxSure() {
|
|
handleRelaxSure() {
|
|
- console.log(this.configForm, 'configForm-configForm');
|
|
|
|
- const paramsData = {
|
|
|
|
- name: '123'
|
|
|
|
- };
|
|
|
|
|
|
+ let paramsFormData = this.configForm;
|
|
|
|
+ console.log(this.defaultFormList, 'defaultFormList-defaultFormList-defaultFormList');
|
|
|
|
+ if (paramsFormData.adverPosition === 'a') {
|
|
|
|
+ paramsFormData.smart_inventory = 0;
|
|
|
|
+ }
|
|
|
|
+ else if (paramsFormData.adverPosition === 'b') {
|
|
|
|
+ paramsFormData.inventory_type = paramsFormData.checkboxChangeValue;
|
|
|
|
+ }
|
|
|
|
+ else if (paramsFormData.adverPosition === 'c') {
|
|
|
|
+ paramsFormData.scene_inventory = paramsFormData.radioChangeValue;
|
|
|
|
+ }
|
|
|
|
+ if (paramsFormData.launchTimeInterval === 'buxian') {
|
|
|
|
+ paramsFormData.schedule_time = '';
|
|
|
|
+ }
|
|
|
|
+ else if (paramsFormData.launchTimeInterval === 'a') {
|
|
|
|
+ paramsFormData.schedule_time = paramsFormData.scheduleTimeData;
|
|
|
|
+ }
|
|
|
|
+ console.log(paramsFormData, 'paramsFormData-paramsFormData');
|
|
// this.$refs.ruleForm.validate(valid => {
|
|
// this.$refs.ruleForm.validate(valid => {
|
|
// if (valid) {
|
|
// if (valid) {
|
|
- // alert('submit!');
|
|
|
|
|
|
+ // alert('submit!Object.assign(this.$data, this.$options.data());');
|
|
// }
|
|
// }
|
|
// else {
|
|
// else {
|
|
// console.log('error submit!!');
|
|
// console.log('error submit!!');
|