|
@@ -271,14 +271,14 @@
|
|
<div class="input-item">
|
|
<div class="input-item">
|
|
<a-form-item>
|
|
<a-form-item>
|
|
<a-radio-group
|
|
<a-radio-group
|
|
- v-show="convertType=='AD_CONVERT_SOURCE_TYPE_NORMAL_APP_DOWNLOAD'"
|
|
|
|
|
|
+ v-if="convertType=='AD_CONVERT_SOURCE_TYPE_NORMAL_APP_DOWNLOAD'"
|
|
@change="externalActionsChange"
|
|
@change="externalActionsChange"
|
|
>
|
|
>
|
|
<a-radio-button v-for="item in currentConvertType.external_actions" :key="item.external_action" :value="item.external_action">
|
|
<a-radio-button v-for="item in currentConvertType.external_actions" :key="item.external_action" :value="item.external_action">
|
|
{{item.external_name}}</a-radio-button>
|
|
{{item.external_name}}</a-radio-button>
|
|
</a-radio-group>
|
|
</a-radio-group>
|
|
- <a-select style="width: 335px" v-show="convertType=='AD_CONVERT_SOURCE_TYPE_APP_DOWNLOAD'" @change="APIChange">
|
|
|
|
- <a-select-option v-for="item in currentConvertType.external_actions" :key="item.external_action" :value='item.external_action'>
|
|
|
|
|
|
+ <a-select style="width: 335px" v-if="convertType=='AD_CONVERT_SOURCE_TYPE_APP_DOWNLOAD'" @change="APIChange">
|
|
|
|
+ <a-select-option v-for="item in currentConvertType.external_actions" :key="item.convert_id" :value='item.convert_id'>
|
|
{{item.external_name}}
|
|
{{item.external_name}}
|
|
</a-select-option>
|
|
</a-select-option>
|
|
</a-select>
|
|
</a-select>
|
|
@@ -318,8 +318,8 @@
|
|
ctions" :key="item.external_action" :value="item.external_action">
|
|
ctions" :key="item.external_action" :value="item.external_action">
|
|
{{item.external_name}}</a-radio-button>
|
|
{{item.external_name}}</a-radio-button>
|
|
</a-radio-group> -->
|
|
</a-radio-group> -->
|
|
- <a-select style="width: 335px" v-show="convertType=='AD_CONVERT_SOURCE_TYPE_INTERNAL'&¤tConvertType.external_actions.length>0" @change="APIChange" placeholder="请选择转化目标">
|
|
|
|
- <a-select-option v-for="item in currentConvertType.external_actions" :key="item.external_action" :value='item.external_action'>
|
|
|
|
|
|
+ <a-select style="width: 335px" v-if="convertType=='AD_CONVERT_SOURCE_TYPE_INTERNAL'&¤tConvertType.external_actions.length>0" @change="APIChange" placeholder="请选择转化目标">
|
|
|
|
+ <a-select-option v-for="item in currentConvertType.external_actions" :key="item.convert_id" :value='item.convert_id'>
|
|
{{item.external_name}}
|
|
{{item.external_name}}
|
|
</a-select-option>
|
|
</a-select-option>
|
|
</a-select>
|
|
</a-select>
|
|
@@ -706,6 +706,74 @@
|
|
>请输入目标转化出价,不少于0.1元,不超过10000元</span>
|
|
>请输入目标转化出价,不少于0.1元,不超过10000元</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
+
|
|
|
|
+ <div class="row-item" v-if="externalAction=='AD_CONVERT_TYPE_ACTIVE'">
|
|
|
|
+ <div class="hint-item"> </div>
|
|
|
|
+ <div class="label-item">
|
|
|
|
+ <div class="text-item">深度优化方式</div>
|
|
|
|
+ <div class="required-item"></div>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="input-item">
|
|
|
|
+ <a-form-item>
|
|
|
|
+ <a-radio-group
|
|
|
|
+ v-decorator="['deepBidType', { initialValue:'DEEP_BID_PACING' }]"
|
|
|
|
+ >
|
|
|
|
+ <a-radio-button value="DEEP_BID_PACING" v-if="currentDeepConvert.deep_external_action=='AD_CONVERT_TYPE_NEXT_DAY_OPEN'">自动优化</a-radio-button>
|
|
|
|
+ <a-radio-button value="DEEP_BID_MIN" v-if="currentDeepConvert.deep_external_action=='AD_CONVERT_TYPE_NEXT_DAY_OPEN'">自定义双出价</a-radio-button>
|
|
|
|
+ <a-radio-button value="ROI_COEFFICIENT" v-if="currentDeepConvert.deep_external_action=='AD_CONVERT_TYPE_LT_ROI'">ROI系数</a-radio-button>
|
|
|
|
+
|
|
|
|
+ </a-radio-group>
|
|
|
|
+ </a-form-item>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ <!-- {{currentDeepConvert}} -->
|
|
|
|
+ <div class="row-item" v-if="getFormData('smartBidType')=='SMART_BID_CUSTOM'&&getFormData('deepBidType')=='DEEP_BID_MIN'">
|
|
|
|
+ <div class="hint-item"> </div>
|
|
|
|
+ <div class="label-item">
|
|
|
|
+ <div class="text-item">深度转化出价</div>
|
|
|
|
+ <div class="required-item"></div>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="input-item">
|
|
|
|
+ <a-form-item>
|
|
|
|
+ <a-input-number
|
|
|
|
+ style="width:200px"
|
|
|
|
+ :max="10000"
|
|
|
|
+ :step="0.1"
|
|
|
|
+ :min='0.1'
|
|
|
|
+ v-decorator="['deepCpabid', {rules:validationRules.bid} ]"
|
|
|
|
+ />
|
|
|
|
+
|
|
|
|
+ <span style="margin-left:5px">元</span>
|
|
|
|
+ </a-form-item>
|
|
|
|
+ <span
|
|
|
|
+ class="tip"
|
|
|
|
+ v-if="getFormData('pricing')!='PRICING_CPA'&&getFormData('deepCpabid')<0.1"
|
|
|
|
+ >请输入深度转化出价,不少于0.1元,不超过10000元</span>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="row-item" v-if="getFormData('smartBidType')=='SMART_BID_CUSTOM'&&getFormData('deepBidType')=='ROI_COEFFICIENT'">
|
|
|
|
+ <div class="hint-item"> </div>
|
|
|
|
+ <div class="label-item">
|
|
|
|
+ <div class="text-item">ROI系数</div>
|
|
|
|
+ <div class="required-item"></div>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="input-item">
|
|
|
|
+ <a-form-item>
|
|
|
|
+ <a-input-number
|
|
|
|
+ style="width:200px"
|
|
|
|
+ :max="5"
|
|
|
|
+ :min='0.001'
|
|
|
|
+ v-decorator="['roiGoal', {rules:validationRules.roi} ]"
|
|
|
|
+ />
|
|
|
|
+
|
|
|
|
+ <span style="margin-left:5px">元</span>
|
|
|
|
+ </a-form-item>
|
|
|
|
+ <span
|
|
|
|
+ class="tip"
|
|
|
|
+ v-if="getFormData('pricing')!='PRICING_CPA'&&(getFormData('roiGoal')<0 || getFormData('roiGoal')>5)"
|
|
|
|
+ >请输入ROI系数,ROI系数不大于5,保留小数点后四位</span>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- 计划名称 -->
|
|
<!-- 计划名称 -->
|
|
@@ -798,7 +866,12 @@ export default {
|
|
required: true,
|
|
required: true,
|
|
message:'出价信息必须填写',
|
|
message:'出价信息必须填写',
|
|
// validator: this.validateBid,
|
|
// validator: this.validateBid,
|
|
- }]
|
|
|
|
|
|
+ }],
|
|
|
|
+ roi:[{
|
|
|
|
+ required: true,
|
|
|
|
+ message:'ROI系数必须填写',
|
|
|
|
+ // validator: this.validateBid,
|
|
|
|
+ }],
|
|
},
|
|
},
|
|
isShowConversionTarget: false,
|
|
isShowConversionTarget: false,
|
|
downloadMode: '',
|
|
downloadMode: '',
|
|
@@ -811,6 +884,7 @@ export default {
|
|
convertType:'',
|
|
convertType:'',
|
|
currentConvertType:{},
|
|
currentConvertType:{},
|
|
convertId:undefined,
|
|
convertId:undefined,
|
|
|
|
+ currentDeepConvert:{},
|
|
externalAction:'',
|
|
externalAction:'',
|
|
}
|
|
}
|
|
},
|
|
},
|
|
@@ -870,13 +944,26 @@ export default {
|
|
// 应用下载API
|
|
// 应用下载API
|
|
APIChange(val){
|
|
APIChange(val){
|
|
console.log(val,this.currentConvertType);
|
|
console.log(val,this.currentConvertType);
|
|
|
|
+ this.convertId=val
|
|
this.currentConvertType.external_actions.forEach(item=>{
|
|
this.currentConvertType.external_actions.forEach(item=>{
|
|
- if(item.external_action==val){
|
|
|
|
- this.convertId=item.convert_id;
|
|
|
|
-
|
|
|
|
|
|
+ if(item.convert_id==val){
|
|
|
|
+ console.log(item)
|
|
|
|
+ this.externalAction=item.external_action;
|
|
|
|
+ this.currentDeepConvert=item.deep_external_actions[0];
|
|
|
|
+ if(item.deep_external_actions[0].deep_external_action=='AD_CONVERT_TYPE_LT_ROI'){
|
|
|
|
+ this.form.getFieldDecorator('deepBidType')
|
|
|
|
+ this.form.setFieldsValue({
|
|
|
|
+ deepBidType:'ROI_COEFFICIENT'
|
|
|
|
+ })
|
|
|
|
+ }else if(item.deep_external_actions[0].deep_external_action=='AD_CONVERT_TYPE_NEXT_DAY_OPEN'){
|
|
|
|
+ this.form.getFieldDecorator('deepBidType')
|
|
|
|
+ this.form.setFieldsValue({
|
|
|
|
+ deepBidType:'DEEP_BID_PACING'
|
|
|
|
+ })
|
|
|
|
+ }
|
|
}
|
|
}
|
|
})
|
|
})
|
|
- this.externalAction=val
|
|
|
|
|
|
+
|
|
},
|
|
},
|
|
// 转化目标显示
|
|
// 转化目标显示
|
|
SelectConversionTarget() {
|
|
SelectConversionTarget() {
|
|
@@ -899,22 +986,7 @@ export default {
|
|
})).then(res=>{
|
|
})).then(res=>{
|
|
// console.log(res)
|
|
// console.log(res)
|
|
if(res.success){
|
|
if(res.success){
|
|
- // if(res.result.data){
|
|
|
|
- // res.result.data.list.forEach((item)=>{
|
|
|
|
- // if(item.convert_type=='AD_CONVERT_SOURCE_TYPE_NORMAL_APP_DOWNLOAD'){
|
|
|
|
- // item.convert_name='普通应用下载'
|
|
|
|
- // }
|
|
|
|
- // if(item.convert_type=='AD_CONVERT_SOURCE_TYPE_SDK'){
|
|
|
|
- // item.convert_name='应用下载SDK'
|
|
|
|
- // }
|
|
|
|
- // if(item.convert_type=='AD_CONVERT_SOURCE_TYPE_APP_DOWNLOAD'){
|
|
|
|
- // item.convert_name='应用下载API'
|
|
|
|
- // }
|
|
|
|
- // if(item.convert_type=='AD_CONVERT_SOURCE_TYPE_INTERNAL'){
|
|
|
|
- // item.convert_name='线索通'
|
|
|
|
- // }
|
|
|
|
- // })
|
|
|
|
- // }
|
|
|
|
|
|
+
|
|
this.convertList=[];
|
|
this.convertList=[];
|
|
this.convertList=res.result.data.list;
|
|
this.convertList=res.result.data.list;
|
|
this.isShowConversionTarget = true
|
|
this.isShowConversionTarget = true
|
|
@@ -927,6 +999,10 @@ export default {
|
|
|
|
|
|
|
|
|
|
},
|
|
},
|
|
|
|
+ // 深度转化方式改变
|
|
|
|
+ deepBidTypeChange(e){
|
|
|
|
+ console.log(e)
|
|
|
|
+ },
|
|
//获取表单的某一个属性值
|
|
//获取表单的某一个属性值
|
|
getFormData(className) {
|
|
getFormData(className) {
|
|
return this.form.getFieldValue(className)
|
|
return this.form.getFieldValue(className)
|
|
@@ -1058,7 +1134,7 @@ export default {
|
|
this.form.validateFieldsAndScroll((err, values) => {
|
|
this.form.validateFieldsAndScroll((err, values) => {
|
|
if (!err) {
|
|
if (!err) {
|
|
this.goPlanShowloading=true;
|
|
this.goPlanShowloading=true;
|
|
- // console.log('Received values of form: ', values)
|
|
|
|
|
|
+ console.log('Received values of form: ', values)
|
|
// console.log(this.names)
|
|
// console.log(this.names)
|
|
values.accountId = this.groupInfo.accountId
|
|
values.accountId = this.groupInfo.accountId
|
|
values.campaignId = this.groupInfo.id;
|
|
values.campaignId = this.groupInfo.id;
|
|
@@ -1091,7 +1167,7 @@ export default {
|
|
this.$router.replace(`/modules/BatchCreate/TouTiaoBatch`)
|
|
this.$router.replace(`/modules/BatchCreate/TouTiaoBatch`)
|
|
},2000)
|
|
},2000)
|
|
}else{
|
|
}else{
|
|
- if(res.message='convert_id is required'){
|
|
|
|
|
|
+ if(res.message=='convert_id is required'){
|
|
this.$message.error('转化方式必须选择!')
|
|
this.$message.error('转化方式必须选择!')
|
|
}else{
|
|
}else{
|
|
this.$message.error(res.message)
|
|
this.$message.error(res.message)
|
|
@@ -1203,51 +1279,7 @@ export default {
|
|
this.directPackageValue={};
|
|
this.directPackageValue={};
|
|
this.directPackageValue=val;
|
|
this.directPackageValue=val;
|
|
},
|
|
},
|
|
- goHttp() {
|
|
|
|
- // console.log(this.validatorName())
|
|
|
|
- this.$nextTick(()=>{
|
|
|
|
- console.log(this.$refs.directedPackage)
|
|
|
|
- if(this.visible){
|
|
|
|
- this.$refs.directedPackage.getValuehandle()
|
|
|
|
- }
|
|
|
|
- if (this.validatorName()) {
|
|
|
|
- this.form.validateFieldsAndScroll((err, values) => {
|
|
|
|
- if (!err) {
|
|
|
|
- console.log('Received values of form: ', values)
|
|
|
|
- console.log(this.names)
|
|
|
|
- values.accountId = this.groupInfo.accountId
|
|
|
|
- values.campaignId = this.groupInfo.id;
|
|
|
|
- values.convertId = this.convertId;
|
|
|
|
- values.appType=this.getFormData('appType')
|
|
|
|
- values.externalAction=this.externalAction
|
|
|
|
-
|
|
|
|
- postAction('/ctop/byteDanceAdvertisePlan/add', {
|
|
|
|
- names: this.names,
|
|
|
|
- landingType: this.groupInfo.landingType,
|
|
|
|
- ...values,
|
|
|
|
- ...this.directPackageValue
|
|
|
|
- }).then((res) => {
|
|
|
|
- console.log(res)
|
|
|
|
- if (res.success) {
|
|
|
|
- if(res.code==0){
|
|
|
|
- this.$message.success('广告计划创建成功,2s后将跳转到新建计划页面')
|
|
|
|
- let planInfo=JSON.stringify({...values,...this.directPackageValue,names:this.names,landingType: this.groupInfo.landingType,})
|
|
|
|
- localStorage.setItem('planInfo',planInfo)
|
|
|
|
- }else{
|
|
|
|
- this.$message.error(res.message)
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- } else {
|
|
|
|
- this.$message.error('网络开小差了,等会再试试')
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
- }else{
|
|
|
|
- console.log(err)
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
- },
|
|
|
|
|
|
+
|
|
},
|
|
},
|
|
created() {},
|
|
created() {},
|
|
beforeMount() {},
|
|
beforeMount() {},
|