|
@@ -13,7 +13,7 @@
|
|
<div class="required-item"></div>
|
|
<div class="required-item"></div>
|
|
</div>
|
|
</div>
|
|
<div class="input-item">
|
|
<div class="input-item">
|
|
- <Treeselect :appId.sync="accountId" :multiple="false" request="2,4" ref="treeSelect" style="margin-bottom:8px;width:600px " />
|
|
|
|
|
|
+ <Treeselect :appId.sync="accountId" :multiple="false" :disabled="$route.query.id" request="2,4" ref="treeSelect" style="margin-bottom:8px;width:600px " />
|
|
<!-- <Treeselect :appId.sync="accountId" :multiple="false" request="2" reqUrl='/ctop/projectMember/getProjectAccountByUserId' ref="treeSelect" style="margin-bottom:8px;width:580px " /> -->
|
|
<!-- <Treeselect :appId.sync="accountId" :multiple="false" request="2" reqUrl='/ctop/projectMember/getProjectAccountByUserId' ref="treeSelect" style="margin-bottom:8px;width:580px " /> -->
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@@ -162,9 +162,9 @@
|
|
> -->
|
|
> -->
|
|
<a-tag color="#2db7f5" @click="getChangeAll('应用名称', 'form', 'groupName')">+应用名称</a-tag>
|
|
<a-tag color="#2db7f5" @click="getChangeAll('应用名称', 'form', 'groupName')">+应用名称</a-tag>
|
|
<a-tag color="#2db7f5" @click="getChangeAll('应用标记', 'form', 'groupName')">+应用标记</a-tag>
|
|
<a-tag color="#2db7f5" @click="getChangeAll('应用标记', 'form', 'groupName')">+应用标记</a-tag>
|
|
- <a-tag color="#2db7f5" @click="getChangeAll('应用包名', 'form', 'groupName')"
|
|
|
|
|
|
+ <!-- <a-tag color="#2db7f5" @click="getChangeAll('应用包名', 'form', 'groupName')"
|
|
>+应用包名</a-tag
|
|
>+应用包名</a-tag
|
|
- >
|
|
|
|
|
|
+ > -->
|
|
<a-tag color="#2db7f5" @click="getChangeAll('创意制作方式', 'form', 'groupName')"
|
|
<a-tag color="#2db7f5" @click="getChangeAll('创意制作方式', 'form', 'groupName')"
|
|
>+创意制作方式</a-tag
|
|
>+创意制作方式</a-tag
|
|
>
|
|
>
|
|
@@ -320,13 +320,20 @@
|
|
|
|
|
|
<span style="white-space:nowrap;line-height: 30px;margin-right: 10px;">OCPM出价</span>
|
|
<span style="white-space:nowrap;line-height: 30px;margin-right: 10px;">OCPM出价</span>
|
|
<a-input-number
|
|
<a-input-number
|
|
- style="width:300px"
|
|
|
|
|
|
+ style="width:150px"
|
|
:max="10000"
|
|
:max="10000"
|
|
:step="0.1"
|
|
:step="0.1"
|
|
v-model="item.cpaBid"
|
|
v-model="item.cpaBid"
|
|
/>
|
|
/>
|
|
- <span style="margin-left:20px;white-space:nowrap;line-height: 30px;margin-right: 10px;">监测链接</span>
|
|
|
|
- <a-input style="width:300px" placeholder="请填写链接" v-model="item.trackUrl" />
|
|
|
|
|
|
+ <span style="white-space:nowrap;line-height: 30px;margin-right: 10px;">深度转化出价</span>
|
|
|
|
+ <a-input-number
|
|
|
|
+ style="width:150px"
|
|
|
|
+ :max="10000"
|
|
|
|
+ :step="0.1"
|
|
|
|
+ v-model="item.deepConversionBid"
|
|
|
|
+ />
|
|
|
|
+ <span style="margin-left:20px;white-space:nowrap;line-height: 30px;margin-right: 10px;">渠道号</span>
|
|
|
|
+ <a-input style="width:150px" placeholder="请填写渠道号" v-model="item.channelCode" />
|
|
<a-icon
|
|
<a-icon
|
|
@click="checkOneBid(item)"
|
|
@click="checkOneBid(item)"
|
|
type="check" style="margin-left:20px;white-space:nowrap;line-height: 30px;margin-right: 10px;cursor:pointer;color:green" />
|
|
type="check" style="margin-left:20px;white-space:nowrap;line-height: 30px;margin-right: 10px;cursor:pointer;color:green" />
|
|
@@ -581,7 +588,7 @@
|
|
<div class="input-item">
|
|
<div class="input-item">
|
|
<a-form-item>
|
|
<a-form-item>
|
|
<a-radio-group v-decorator="['platformOs', {initialValue:1 }]" @change="platformOsChange">
|
|
<a-radio-group v-decorator="['platformOs', {initialValue:1 }]" @change="platformOsChange">
|
|
- <a-radio-button :value="0">不限</a-radio-button>
|
|
|
|
|
|
+ <!-- <a-radio-button :value="0">不限</a-radio-button> -->
|
|
<a-radio-button :value="1">Android</a-radio-button>
|
|
<a-radio-button :value="1">Android</a-radio-button>
|
|
<a-radio-button :value="2">IOS</a-radio-button>
|
|
<a-radio-button :value="2">IOS</a-radio-button>
|
|
</a-radio-group>
|
|
</a-radio-group>
|
|
@@ -1124,7 +1131,7 @@
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
- <div class="row-item" v-if="getFormData('bidType')==10&&getFormData('ocpxActionType')!= 191">
|
|
|
|
|
|
+ <div class="row-item" v-if="getFormData('bidType')==10&&getFormData('ocpxActionType')!= 191&&getFormData('multipleBids')!==1">
|
|
<div class="hint-item">
|
|
<div class="hint-item">
|
|
</div>
|
|
</div>
|
|
<div class="label-item">
|
|
<div class="label-item">
|
|
@@ -1179,7 +1186,8 @@
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
- <div class="row-item" v-if="(getFormData('ocpxActionType') == 180 || getFormData('ocpxActionType') == 53) && groupTypeData.deepConversionTypes && groupTypeData.deepConversionTypes.length > 0 ">
|
|
|
|
|
|
+ <div class="row-item" v-if="(getFormData('ocpxActionType') == 180 || getFormData('ocpxActionType') == 53)
|
|
|
|
+ && groupTypeData.deepConversionTypes && groupTypeData.deepConversionTypes.length > 0 && getFormData('multipleBids')!==1 ">
|
|
<div class="hint-item">
|
|
<div class="hint-item">
|
|
</div>
|
|
</div>
|
|
<div class="label-item">
|
|
<div class="label-item">
|
|
@@ -2032,14 +2040,20 @@ export default {
|
|
// }
|
|
// }
|
|
// })
|
|
// })
|
|
this.getAppList()
|
|
this.getAppList()
|
|
- getAction('/kuaishou/batch/getIsActivate', {
|
|
|
|
- accountId: this.accountId
|
|
|
|
- }).then(res => {
|
|
|
|
- if (res.success) {
|
|
|
|
- this.groupTypeData = res.result
|
|
|
|
-
|
|
|
|
- }
|
|
|
|
- })
|
|
|
|
|
|
+ let editRecordId=this.$route.query.id;
|
|
|
|
+ if(editRecordId){
|
|
|
|
+
|
|
|
|
+ }else{
|
|
|
|
+ getAction('/kuaishou/batch/getIsActivate', {
|
|
|
|
+ accountId: this.accountId
|
|
|
|
+ }).then(res => {
|
|
|
|
+ if (res.success) {
|
|
|
|
+ this.groupTypeData = res.result
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
|
|
|
|
|
|
getAction('/kuaishou/batch/getCreativeCategory', {
|
|
getAction('/kuaishou/batch/getCreativeCategory', {
|
|
@@ -2148,6 +2162,7 @@ export default {
|
|
console.log(item)
|
|
console.log(item)
|
|
let params = {...item}
|
|
let params = {...item}
|
|
params.cpaBid = params.cpaBid*1000
|
|
params.cpaBid = params.cpaBid*1000
|
|
|
|
+ params.deepConversionBid = params.deepConversionBid*1000
|
|
postAction('/adsp/kuaiShouAppMultipleBids/saveOrUpdate',params).then(res=>{
|
|
postAction('/adsp/kuaiShouAppMultipleBids/saveOrUpdate',params).then(res=>{
|
|
if(res.success){
|
|
if(res.success){
|
|
this.$message.success('添加成功')
|
|
this.$message.success('添加成功')
|
|
@@ -2545,9 +2560,11 @@ export default {
|
|
this.siteList=[]
|
|
this.siteList=[]
|
|
// this.getPageList(val)
|
|
// this.getPageList(val)
|
|
if(this.getFormData('singleAppid')==0){
|
|
if(this.getFormData('singleAppid')==0){
|
|
- if(val&&val.indexOf(0)>-1){
|
|
|
|
|
|
+ if(val&&val.findIndex(item=>item.key===0)>-1){
|
|
let appidArr=this.appList.map(item=>{
|
|
let appidArr=this.appList.map(item=>{
|
|
- return {key:item.appId,label:item.appName}
|
|
|
|
|
|
+ return {key:item.appId,label:`${item.platform === 1?'Android应用下载':item.platform === 2?'Android网页游戏':item.platform === 3?'iOS应用下载':'iOS网页游戏'}`
|
|
|
|
+ +'\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0'+
|
|
|
|
+ item.appName+'\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0'+item.appVersion}
|
|
})
|
|
})
|
|
// setTimeout(()=>{
|
|
// setTimeout(()=>{
|
|
|
|
|
|
@@ -2564,8 +2581,10 @@ export default {
|
|
...item,
|
|
...item,
|
|
cpaBid:null,
|
|
cpaBid:null,
|
|
trackUrl:'',
|
|
trackUrl:'',
|
|
|
|
+ channelCode:'',
|
|
appId:item.key,
|
|
appId:item.key,
|
|
- accountId:this.accountId
|
|
|
|
|
|
+ accountId:this.accountId,
|
|
|
|
+ deepConversionBid:null
|
|
|
|
|
|
}
|
|
}
|
|
})
|
|
})
|
|
@@ -2579,8 +2598,10 @@ export default {
|
|
...item,
|
|
...item,
|
|
cpaBid:null,
|
|
cpaBid:null,
|
|
trackUrl:'',
|
|
trackUrl:'',
|
|
|
|
+ channelCode:'',
|
|
appId:item.key,
|
|
appId:item.key,
|
|
- accountId:this.accountId
|
|
|
|
|
|
+ accountId:this.accountId,
|
|
|
|
+ deepConversionBid:null
|
|
|
|
|
|
}
|
|
}
|
|
})
|
|
})
|
|
@@ -2588,13 +2609,13 @@ export default {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- if(val!=undefined || (val&&val.length>0) ){
|
|
|
|
|
|
+ if(val!=undefined && (val&&val.length>0) ){
|
|
if(this.getFormData('campaignType')==2){
|
|
if(this.getFormData('campaignType')==2){
|
|
|
|
|
|
if(this.getFormData('singleAppid')==1){
|
|
if(this.getFormData('singleAppid')==1){
|
|
- this.getIsActivate(val)
|
|
|
|
|
|
+ this.getIsActivate(val.key)
|
|
}else{
|
|
}else{
|
|
- this.getIsActivate(val[0])
|
|
|
|
|
|
+ this.getIsActivate(val[0].key)
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|
|
@@ -2853,6 +2874,18 @@ export default {
|
|
this.$message.error('请正确填写必填项目,广告语未填')
|
|
this.$message.error('请正确填写必填项目,广告语未填')
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ if(values.multipleBids === 1) {
|
|
|
|
+ let multipleBidData = this.multipleBidData.findIndex(item => {
|
|
|
|
+ return item.cpaBid === null
|
|
|
|
+ })
|
|
|
|
+ if (multipleBidData > -1) {
|
|
|
|
+ this.$message.error('请正确填写必填项目,广告语未填')
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
// console.log(values)
|
|
// console.log(values)
|
|
this.goNextloading=true;
|
|
this.goNextloading=true;
|
|
|
|
|
|
@@ -2881,6 +2914,9 @@ export default {
|
|
// values.beginTime=this.dateRange[0].format('YYYY-MM-DD');
|
|
// values.beginTime=this.dateRange[0].format('YYYY-MM-DD');
|
|
// values.endTime= this.dateRange[1].format('YYYY-MM-DD');
|
|
// values.endTime= this.dateRange[1].format('YYYY-MM-DD');
|
|
// }
|
|
// }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
if(this.getData('campaignType') === 2 ) {
|
|
if(this.getData('campaignType') === 2 ) {
|
|
values.appIdArray=values.appId instanceof Array?JSON.stringify(values.appId.map(item=>{return item.key})):JSON.stringify([values.appId])
|
|
values.appIdArray=values.appId instanceof Array?JSON.stringify(values.appId.map(item=>{return item.key})):JSON.stringify([values.appId])
|
|
values.appId=undefined;
|
|
values.appId=undefined;
|
|
@@ -2898,7 +2934,7 @@ export default {
|
|
if(this.district!='NONE'){
|
|
if(this.district!='NONE'){
|
|
values.district=this.district
|
|
values.district=this.district
|
|
}else{
|
|
}else{
|
|
- values.region=[]
|
|
|
|
|
|
+ values.region="[]"
|
|
}
|
|
}
|
|
values.convertId=this.convertId==''?undefined:this.convertId.key;
|
|
values.convertId=this.convertId==''?undefined:this.convertId.key;
|
|
values.appInterest = JSON.stringify(values.appInterest)
|
|
values.appInterest = JSON.stringify(values.appInterest)
|
|
@@ -3094,7 +3130,7 @@ export default {
|
|
this.convertList = res.result.map(item => {
|
|
this.convertList = res.result.map(item => {
|
|
return {
|
|
return {
|
|
...item,
|
|
...item,
|
|
- convert_id: item.convert_id + ''
|
|
|
|
|
|
+ convert_id: item.convert_id + ""
|
|
}
|
|
}
|
|
})
|
|
})
|
|
}
|
|
}
|
|
@@ -3229,7 +3265,10 @@ export default {
|
|
this.sysType=res.result.platformOs
|
|
this.sysType=res.result.platformOs
|
|
let fngetIsActivate=new Promise((resolve,reject)=>{
|
|
let fngetIsActivate=new Promise((resolve,reject)=>{
|
|
getAction('/kuaishou/batch/getIsActivate', {
|
|
getAction('/kuaishou/batch/getIsActivate', {
|
|
- accountId: this.accountId
|
|
|
|
|
|
+ accountId: this.accountId,
|
|
|
|
+ campaignType: res.result.campaignType,
|
|
|
|
+ appId:res.result.appIdArray?JSON.parse(res.result.appIdArray)[0]:null
|
|
|
|
+
|
|
}).then(res => {
|
|
}).then(res => {
|
|
if (res.success) {
|
|
if (res.success) {
|
|
this.groupTypeData = res.result
|
|
this.groupTypeData = res.result
|
|
@@ -3321,15 +3360,18 @@ export default {
|
|
+'\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0'+
|
|
+'\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0'+
|
|
item.app_name+'\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0'+item.app_version,
|
|
item.app_name+'\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0'+item.app_version,
|
|
cpaBid:item.cpa_bid?item.cpa_bid/1000:null,
|
|
cpaBid:item.cpa_bid?item.cpa_bid/1000:null,
|
|
- trackUrl:item.track_url
|
|
|
|
|
|
+ trackUrl:item.track_url,
|
|
|
|
+ channelCode:item.channel_code,
|
|
|
|
+ deepConversionBid:item.deep_conversion_bid?item.deep_conversion_bid/1000:null,
|
|
}
|
|
}
|
|
}):[]
|
|
}):[]
|
|
setTimeout(()=>{
|
|
setTimeout(()=>{
|
|
this.form.setFieldsValue({
|
|
this.form.setFieldsValue({
|
|
...res.result,
|
|
...res.result,
|
|
|
|
+ appId:[],
|
|
creativeTag:res.result.creativeTag?JSON.parse(res.result.creativeTag):[],
|
|
creativeTag:res.result.creativeTag?JSON.parse(res.result.creativeTag):[],
|
|
isOpen:res.result.isOpen?res.result.isOpen:0,
|
|
isOpen:res.result.isOpen?res.result.isOpen:0,
|
|
- cpaBid:cpaBid,
|
|
|
|
|
|
+
|
|
|
|
|
|
deviceBrand:res.result.deviceBrand?JSON.parse(res.result.deviceBrand):[],
|
|
deviceBrand:res.result.deviceBrand?JSON.parse(res.result.deviceBrand):[],
|
|
devicePrice:res.result.devicePrice?JSON.parse(res.result.devicePrice):[],
|
|
devicePrice:res.result.devicePrice?JSON.parse(res.result.devicePrice):[],
|
|
@@ -3346,11 +3388,12 @@ export default {
|
|
iosOsv:res.result.iosOsv?res.result.iosOsv:6,
|
|
iosOsv:res.result.iosOsv?res.result.iosOsv:6,
|
|
url:res.result.url,
|
|
url:res.result.url,
|
|
schemaUri:res.result.schemaUri,
|
|
schemaUri:res.result.schemaUri,
|
|
- appId:res.result.singleAppid?JSON.parse(res.result.appIdArray)[0]:JSON.parse(res.result.appIdArray).map(item=>{return {key:item}}),
|
|
|
|
|
|
+ appId:res.result.singleAppid?JSON.parse(res.result.appIdArray).map(item=>{return {key:item}})[0]:JSON.parse(res.result.appIdArray).map(item=>{return {key:item}}),
|
|
|
|
|
|
appInterest:res.result.appInterest,
|
|
appInterest:res.result.appInterest,
|
|
roiRatio:res.result.roiRatio?res.result.roiRatio:null,
|
|
roiRatio:res.result.roiRatio?res.result.roiRatio:null,
|
|
- multipleBids:res.result.multipleBids
|
|
|
|
|
|
+ multipleBids:res.result.multipleBids,
|
|
|
|
+ cpaBid:cpaBid,
|
|
})
|
|
})
|
|
|
|
|
|
},100)
|
|
},100)
|
|
@@ -3474,7 +3517,6 @@ export default {
|
|
}
|
|
}
|
|
})
|
|
})
|
|
},
|
|
},
|
|
-
|
|
|
|
clickTrackUrlFocus(){
|
|
clickTrackUrlFocus(){
|
|
// //console.log('focus')
|
|
// //console.log('focus')
|
|
this.clickTrackUrlTip=true;
|
|
this.clickTrackUrlTip=true;
|