|
@@ -120,14 +120,14 @@
|
|
</a-checkbox-group>
|
|
</a-checkbox-group>
|
|
</a-form-item>
|
|
</a-form-item>
|
|
|
|
|
|
- <!-- <a-form-item label="投放范围" :labelCol="{ lg: { span: 7 }, sm: { span: 7 } }"
|
|
|
|
|
|
+ <a-form-item label="投放范围" :labelCol="{ lg: { span: 7 }, sm: { span: 7 } }"
|
|
:wrapperCol="{ lg: { span: 10 }, sm: { span: 17 } }"
|
|
:wrapperCol="{ lg: { span: 10 }, sm: { span: 17 } }"
|
|
v-if="allianceAccount">
|
|
v-if="allianceAccount">
|
|
<a-radio-group buttonStyle="solid" v-model="allForm.allianceAccount">
|
|
<a-radio-group buttonStyle="solid" v-model="allForm.allianceAccount">
|
|
<a-radio-button value="1">默认</a-radio-button>
|
|
<a-radio-button value="1">默认</a-radio-button>
|
|
<a-radio-button value="2">联盟广告</a-radio-button>
|
|
<a-radio-button value="2">联盟广告</a-radio-button>
|
|
</a-radio-group>
|
|
</a-radio-group>
|
|
- </a-form-item> -->
|
|
|
|
|
|
+ </a-form-item>
|
|
|
|
|
|
|
|
|
|
<div style="text-align:center;font-size:16px;margin-bottom:10px">
|
|
<div style="text-align:center;font-size:16px;margin-bottom:10px">
|
|
@@ -143,7 +143,7 @@
|
|
</a-select>
|
|
</a-select>
|
|
</a-form-item>
|
|
</a-form-item>
|
|
<targeted-population ref="population" :populationData.sync="populationData"
|
|
<targeted-population ref="population" :populationData.sync="populationData"
|
|
- :platform="getPlatForm(getData('appId'))" />
|
|
|
|
|
|
+ :platform="getPlatForm(getData('appId'))" :lol="allForm.allianceAccount"/>
|
|
<a-form-item label=" " :labelCol="{ lg: { span: 7 }, sm: { span: 7 } }"
|
|
<a-form-item label=" " :labelCol="{ lg: { span: 7 }, sm: { span: 7 } }"
|
|
:wrapperCol="{ lg: { span: 10 }, sm: { span: 17 } }" class="else-label">
|
|
:wrapperCol="{ lg: { span: 10 }, sm: { span: 17 } }" class="else-label">
|
|
<div style="display:flex;">
|
|
<div style="display:flex;">
|
|
@@ -223,7 +223,7 @@
|
|
</span>
|
|
</span>
|
|
</a-form-item>
|
|
</a-form-item>
|
|
<a-form-item label="场景广告位" :labelCol="{ lg: { span: 7 }, sm: { span: 7 } }"
|
|
<a-form-item label="场景广告位" :labelCol="{ lg: { span: 7 }, sm: { span: 7 } }"
|
|
- :wrapperCol="{ lg: { span: 17 }, sm: { span: 17 } }">
|
|
|
|
|
|
+ :wrapperCol="{ lg: { span: 17 }, sm: { span: 17 } }" v-if="allForm.allianceAccount == '1'">
|
|
<!-- v-decorator="['speed', { initialValue: '1' }]" -->
|
|
<!-- v-decorator="['speed', { initialValue: '1' }]" -->
|
|
<a-radio-group buttonStyle="solid" v-decorator="['sceneId', { initialValue: '1' }]">
|
|
<a-radio-group buttonStyle="solid" v-decorator="['sceneId', { initialValue: '1' }]">
|
|
<a-radio-button value="1">优选广告位</a-radio-button>
|
|
<a-radio-button value="1">优选广告位</a-radio-button>
|
|
@@ -241,6 +241,13 @@
|
|
<a-checkbox :value="3">视频播放页广告</a-checkbox>
|
|
<a-checkbox :value="3">视频播放页广告</a-checkbox>
|
|
</a-checkbox-group>
|
|
</a-checkbox-group>
|
|
</a-form-item>
|
|
</a-form-item>
|
|
|
|
+ <a-form-item label="创意制作方式" :labelCol="{ lg: { span: 7 }, sm: { span: 7 } }"
|
|
|
|
+ :wrapperCol="{ lg: { span: 10 }, sm: { span: 17 } }">
|
|
|
|
+ <a-radio-group buttonStyle="solid" v-decorator="['unitType', { initialValue: '4' }]">
|
|
|
|
+ <a-radio-button value="4">自定义</a-radio-button>
|
|
|
|
+ <a-radio-button value="7" :disabled="allForm.allianceAccount=='2'">程序化创意2.0</a-radio-button>
|
|
|
|
+ </a-radio-group>
|
|
|
|
+ </a-form-item>
|
|
<div style="text-align:center;font-size:16px">优化目标和计费</div>
|
|
<div style="text-align:center;font-size:16px">优化目标和计费</div>
|
|
<a-form-item label=" " :labelCol="{ lg: { span: 6 }, sm: { span: 6 } }"
|
|
<a-form-item label=" " :labelCol="{ lg: { span: 6 }, sm: { span: 6 } }"
|
|
:wrapperCol="{ lg: { span: 18 }, sm: { span: 18 } }" class="else-label">
|
|
:wrapperCol="{ lg: { span: 18 }, sm: { span: 18 } }" class="else-label">
|
|
@@ -258,19 +265,62 @@
|
|
<div style="clear:both"></div>
|
|
<div style="clear:both"></div>
|
|
<a-form-item label="优化目标" :labelCol="{ lg: { span: 6 }, sm: { span: 7 } }"
|
|
<a-form-item label="优化目标" :labelCol="{ lg: { span: 6 }, sm: { span: 7 } }"
|
|
:wrapperCol="{ lg: { span: 18 }, sm: { span: 17 } }">
|
|
:wrapperCol="{ lg: { span: 18 }, sm: { span: 17 } }">
|
|
|
|
+
|
|
<a-radio-group buttonStyle="solid" v-model="item.bidType" @change="resData(index)">
|
|
<a-radio-group buttonStyle="solid" v-model="item.bidType" @change="resData(index)">
|
|
<a-radio-button :value="1">点击数</a-radio-button>
|
|
<a-radio-button :value="1">点击数</a-radio-button>
|
|
- <a-radio-button :value="2">行为数</a-radio-button>
|
|
|
|
- <a-radio-button :value="180"
|
|
|
|
- v-if="campaignType == '2' && allForm.groupTypeData.isActivate == '1'">激活</a-radio-button>
|
|
|
|
- <a-radio-button :value="53" v-if="
|
|
|
|
- (campaignType == '4' || campaignType == '5') && allForm.groupTypeData.isFormSubmit == '1'
|
|
|
|
- ">表单提交</a-radio-button>
|
|
|
|
|
|
+
|
|
|
|
+ <a-radio-button :value="10">转化数</a-radio-button>
|
|
</a-radio-group>
|
|
</a-radio-group>
|
|
|
|
+
|
|
|
|
+ <!-- // isOrderSubmit: 0 //订单提交优化目标
|
|
|
|
+ // isValidClue: 0 //使用有效线索
|
|
|
|
+ // isCreditGrant: 0 //授信出价
|
|
|
|
+ // deepConversionTypes: [{deepConversionType: 3, desc: "付费"}]
|
|
|
|
+ // isWanJian: 0 //完件出价
|
|
|
|
+ // isPurchase: 1 //付费出价
|
|
|
|
+ // isFirstdayRoi: 0 //首日ROI
|
|
|
|
+ // isActivate: 0 //激活出价
|
|
|
|
+ // isFormSubmit: 1 // 表单出价
|
|
|
|
+ // isRegister: 0 //注册优化目标 -->
|
|
|
|
+ </a-form-item>
|
|
|
|
+ <a-form-item label="转化目标" :labelCol="{ lg: { span: 6 }, sm: { span: 7 } }"
|
|
|
|
+ :wrapperCol="{ lg: { span: 18 }, sm: { span: 17 } }" v-if="item.bidType==10">
|
|
|
|
+ <a-select v-model="item.ocpxActionType">
|
|
|
|
+
|
|
|
|
+ <a-select-option :value="2">行为数</a-select-option>
|
|
|
|
+ <a-select-option :value="180"
|
|
|
|
+ v-if="campaignType == '2' && allForm.groupTypeData.isActivate == '1'">激活</a-select-option>
|
|
|
|
+ <a-select-option :value="53" v-if="
|
|
|
|
+ (campaignType == '4' || campaignType == '5') && allForm.groupTypeData.isFormSubmit == '1'
|
|
|
|
+ ">表单提交</a-select-option>
|
|
|
|
+
|
|
|
|
+ <a-select-option :value="394" v-if="
|
|
|
|
+ allForm.groupTypeData.isOrderSubmit == '1'
|
|
|
|
+ ">订单提交</a-select-option>
|
|
|
|
+ <a-select-option :value="348" v-if="
|
|
|
|
+ allForm.groupTypeData.isValidClue == '1'
|
|
|
|
+ ">使用有效线索</a-select-option>
|
|
|
|
+ <a-select-option :value="383" v-if="
|
|
|
|
+ allForm.groupTypeData.isCreditGrant == '1'
|
|
|
|
+ ">授信出价</a-select-option>
|
|
|
|
+ <a-select-option :value="384" v-if="
|
|
|
|
+ allForm.groupTypeData.isWanJian == '1'
|
|
|
|
+ ">完件出价</a-select-option>
|
|
|
|
+ <a-select-option :value="190" v-if="
|
|
|
|
+ allForm.groupTypeData.isPurchase == '1'
|
|
|
|
+ ">付费出价</a-select-option>
|
|
|
|
+ <a-select-option :value="191" v-if="
|
|
|
|
+ allForm.groupTypeData.isFirstdayRoi == '1'
|
|
|
|
+ ">首日ROI</a-select-option>
|
|
|
|
+ <a-select-option :value="396" v-if="
|
|
|
|
+ allForm.groupTypeData.isRegister == '1'
|
|
|
|
+ ">注册优化目标</a-select-option>
|
|
|
|
+ </a-select>
|
|
|
|
+
|
|
</a-form-item>
|
|
</a-form-item>
|
|
<a-form-item label="深度转化目标" :labelCol="{ lg: { span: 6 }, sm: { span: 7 } }"
|
|
<a-form-item label="深度转化目标" :labelCol="{ lg: { span: 6 }, sm: { span: 7 } }"
|
|
:wrapperCol="{ lg: { span: 18 }, sm: { span: 17 } }" v-if="
|
|
:wrapperCol="{ lg: { span: 18 }, sm: { span: 17 } }" v-if="
|
|
- (item.bidType == 180 || item.bidType == 53) &&
|
|
|
|
|
|
+ (item.ocpxActionType == 180 || item.ocpxActionType == 53) &&
|
|
allForm.groupTypeData.deepConversionTypes.length > 0
|
|
allForm.groupTypeData.deepConversionTypes.length > 0
|
|
">
|
|
">
|
|
<a-select v-model="item.deepConversionType" allowClear>
|
|
<a-select v-model="item.deepConversionType" allowClear>
|
|
@@ -292,7 +342,7 @@
|
|
:style="{ borderColor: item.showTipCheck ? 'red' : '#d9d9d9' }" style="width:100%">
|
|
:style="{ borderColor: item.showTipCheck ? 'red' : '#d9d9d9' }" style="width:100%">
|
|
</a-input-number>
|
|
</a-input-number>
|
|
<span style="color:red"
|
|
<span style="color:red"
|
|
- v-if="item.showTipCheck&&item.bidType==180">不得低于0.2元,不得高于项目最高出价{{ maxBid }}元</span>
|
|
|
|
|
|
+ v-if="item.showTipCheck&&item.ocpxActionType==180">不得低于0.2元,不得高于项目最高出价{{ maxBid }}元</span>
|
|
</a-form-item>
|
|
</a-form-item>
|
|
<a-form-item label="目标成本" :labelCol="{ lg: { span: 6 }, sm: { span: 7 } }"
|
|
<a-form-item label="目标成本" :labelCol="{ lg: { span: 6 }, sm: { span: 7 } }"
|
|
:wrapperCol="{ lg: { span: 18 }, sm: { span: 17 } }" v-else>
|
|
:wrapperCol="{ lg: { span: 18 }, sm: { span: 17 } }" v-else>
|
|
@@ -300,17 +350,17 @@
|
|
:style="{ borderColor: item.showTipCheck ? 'red' : '#d9d9d9' }" style="width:100%">
|
|
:style="{ borderColor: item.showTipCheck ? 'red' : '#d9d9d9' }" style="width:100%">
|
|
</a-input-number>
|
|
</a-input-number>
|
|
<span style="color:red" v-if="item.showTipCheck">{{
|
|
<span style="color:red" v-if="item.showTipCheck">{{
|
|
- item.bidType == 2
|
|
|
|
|
|
+ item.bidType == 1
|
|
? '不得低于1元,不得高于项目最高出价' + maxBid + '元'
|
|
? '不得低于1元,不得高于项目最高出价' + maxBid + '元'
|
|
: '不得低于1元,不得高于项目最高出价' + maxBid + '元'
|
|
: '不得低于1元,不得高于项目最高出价' + maxBid + '元'
|
|
}}</span>
|
|
}}</span>
|
|
- <span style="color:red;font-weight:700" v-else-if="item.bidType==2&&item.cpaBid&&item.cpaBid>1">
|
|
|
|
|
|
+ <span style="color:red;font-weight:700" v-else-if="item.ocpxActionType==2&&item.cpaBid&&item.cpaBid>1">
|
|
行为出价大于1元,请注意!!!
|
|
行为出价大于1元,请注意!!!
|
|
</span>
|
|
</span>
|
|
</a-form-item>
|
|
</a-form-item>
|
|
<a-form-item label="深度转化出价" :labelCol="{ lg: { span: 6 }, sm: { span: 7 } }"
|
|
<a-form-item label="深度转化出价" :labelCol="{ lg: { span: 6 }, sm: { span: 7 } }"
|
|
:wrapperCol="{ lg: { span: 18 }, sm: { span: 17 } }" v-if="
|
|
:wrapperCol="{ lg: { span: 18 }, sm: { span: 17 } }" v-if="
|
|
- (item.bidType == 180 || item.bidType == 53) &&
|
|
|
|
|
|
+ (item.ocpxActionType == 180 || item.ocpxActionType == 53) &&
|
|
allForm.groupTypeData.deepConversionTypes.length > 0 &&
|
|
allForm.groupTypeData.deepConversionTypes.length > 0 &&
|
|
item.deepConversionType != ''
|
|
item.deepConversionType != ''
|
|
">
|
|
">
|
|
@@ -480,7 +530,7 @@
|
|
]
|
|
]
|
|
|
|
|
|
export default {
|
|
export default {
|
|
- name: 'BaseForm',
|
|
|
|
|
|
+ name: 'Step2',
|
|
components: {
|
|
components: {
|
|
creatApplication,
|
|
creatApplication,
|
|
targetedPopulation,
|
|
targetedPopulation,
|
|
@@ -546,7 +596,7 @@
|
|
success: [],
|
|
success: [],
|
|
sceneId: [7],
|
|
sceneId: [7],
|
|
appStore: ['huawei', 'oppo', 'vivo', 'xiaomi', 'meizu', 'smartisan'],
|
|
appStore: ['huawei', 'oppo', 'vivo', 'xiaomi', 'meizu', 'smartisan'],
|
|
- allianceAccount:false
|
|
|
|
|
|
+ allianceAccount:"1"
|
|
},
|
|
},
|
|
convertType: '1',
|
|
convertType: '1',
|
|
dataList: []
|
|
dataList: []
|
|
@@ -623,7 +673,7 @@
|
|
},
|
|
},
|
|
addGroup() {
|
|
addGroup() {
|
|
this.allForm.group.push({
|
|
this.allForm.group.push({
|
|
- bidType: this.campaignType == '2' && this.allForm.groupTypeData.isActivate == '1' ? 180 : 2,
|
|
|
|
|
|
+ bidType: 10,
|
|
bid: '',
|
|
bid: '',
|
|
cpaBid: '',
|
|
cpaBid: '',
|
|
showTipCheck: false,
|
|
showTipCheck: false,
|
|
@@ -631,7 +681,8 @@
|
|
unitName: '',
|
|
unitName: '',
|
|
unitNameCheck: false,
|
|
unitNameCheck: false,
|
|
deepConversionType: '',
|
|
deepConversionType: '',
|
|
- deepConversionBid: ''
|
|
|
|
|
|
+ deepConversionBid: '',
|
|
|
|
+ ocpxActionType:this.campaignType == '2' && this.allForm.groupTypeData.isActivate == '1' ? 180 : 2,
|
|
})
|
|
})
|
|
},
|
|
},
|
|
resData(index) {
|
|
resData(index) {
|
|
@@ -831,6 +882,7 @@
|
|
},
|
|
},
|
|
handleSubmit(e) {
|
|
handleSubmit(e) {
|
|
// this.$refs.population.handleSubmit()
|
|
// this.$refs.population.handleSubmit()
|
|
|
|
+
|
|
e.preventDefault()
|
|
e.preventDefault()
|
|
this.$refs.population.handleSubmit()
|
|
this.$refs.population.handleSubmit()
|
|
this.form.validateFieldsAndScroll((err, values) => {
|
|
this.form.validateFieldsAndScroll((err, values) => {
|
|
@@ -843,14 +895,14 @@
|
|
cpaBid: item.cpaBid != '' ? item.cpaBid * 1000 : '',
|
|
cpaBid: item.cpaBid != '' ? item.cpaBid * 1000 : '',
|
|
bid: item.bid != '' ? item.bid * 1000 : '',
|
|
bid: item.bid != '' ? item.bid * 1000 : '',
|
|
deepConversionBid: item.deepConversionBid != '' ? item.deepConversionBid * 1000 : '',
|
|
deepConversionBid: item.deepConversionBid != '' ? item.deepConversionBid * 1000 : '',
|
|
- ocpxActionType: item.bidType,
|
|
|
|
|
|
+ ocpxActionType: item.ocpxActionType,
|
|
bidType: item.bidType == 1 ? 2 : 10
|
|
bidType: item.bidType == 1 ? 2 : 10
|
|
}
|
|
}
|
|
})
|
|
})
|
|
var json = {
|
|
var json = {
|
|
...values,
|
|
...values,
|
|
convertId: this.convertId ? this.convertId.key : null,
|
|
convertId: this.convertId ? this.convertId.key : null,
|
|
- sceneId: values.sceneId == 1 ? [values.sceneId] : this.allForm.sceneId,
|
|
|
|
|
|
+ sceneId: this.allForm.allianceAccount=='1'?values.sceneId == 1 ? [values.sceneId] : this.allForm.sceneId:[5],
|
|
dayBudget: values.dayBudget * 1000
|
|
dayBudget: values.dayBudget * 1000
|
|
}
|
|
}
|
|
var params = {
|
|
var params = {
|
|
@@ -859,7 +911,6 @@
|
|
groupArr: groupArr,
|
|
groupArr: groupArr,
|
|
accountId: localStorage.getItem('accountId'),
|
|
accountId: localStorage.getItem('accountId'),
|
|
campaignId: localStorage.getItem('campaignId'),
|
|
campaignId: localStorage.getItem('campaignId'),
|
|
- unitType: 4,
|
|
|
|
beginTime: moment(this.timeRange[0]).format('YYYY-MM-DD'),
|
|
beginTime: moment(this.timeRange[0]).format('YYYY-MM-DD'),
|
|
endTime: this.allForm.time == '2' ? moment(this.timeRange[1]).format('YYYY-MM-DD') : '',
|
|
endTime: this.allForm.time == '2' ? moment(this.timeRange[1]).format('YYYY-MM-DD') : '',
|
|
scheduleTime: this.allForm.scheduleTime == '2' ?
|
|
scheduleTime: this.allForm.scheduleTime == '2' ?
|
|
@@ -872,7 +923,14 @@
|
|
params.appStore = this.allForm.appStore
|
|
params.appStore = this.allForm.appStore
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- console.log(params)
|
|
|
|
|
|
+ if(this.allForm.allianceAccount=='1'){
|
|
|
|
+ var {...paramsEnd} = params
|
|
|
|
+ }else{
|
|
|
|
+ var {fansStar,appType,businessInterestType,interestVideo,isOpen,noAgeBreak,noGenderBreak,noAreaBreak,...paramsElse} = params.allForm
|
|
|
|
+ params.allForm = paramsElse
|
|
|
|
+ var {businessInterestType,isOpen,noAgeBreak,noGenderBreak,noAreaBreak,...paramsEnd} = params
|
|
|
|
+ }
|
|
|
|
+ //fansStar appType businessInterestType interestVideo isOpen
|
|
if (this.checkedTrue) {
|
|
if (this.checkedTrue) {
|
|
var data = this.populationData
|
|
var data = this.populationData
|
|
postAction('/kuaishou/batch/addDirectionalTemplate', {
|
|
postAction('/kuaishou/batch/addDirectionalTemplate', {
|
|
@@ -881,22 +939,24 @@
|
|
templateContent: JSON.stringify(this.populationData)
|
|
templateContent: JSON.stringify(this.populationData)
|
|
}).then(res => {})
|
|
}).then(res => {})
|
|
}
|
|
}
|
|
- postAction('/kuaishou/batch/createUnit', params).then(res => {
|
|
|
|
|
|
+ postAction('/kuaishou/batch/createUnit', paramsEnd).then(res => {
|
|
if (res.success) {
|
|
if (res.success) {
|
|
this.visible = true
|
|
this.visible = true
|
|
this.allForm.fail = res.result.fail
|
|
this.allForm.fail = res.result.fail
|
|
this.allForm.success = res.result.success
|
|
this.allForm.success = res.result.success
|
|
this.loading = false
|
|
this.loading = false
|
|
if (res.result.success.length > 0) {
|
|
if (res.result.success.length > 0) {
|
|
- var dataJson = JSON.stringify(
|
|
|
|
- res.result.success.map(item => {
|
|
|
|
|
|
+
|
|
|
|
+ var dataElse = res.result.success.map(item => {
|
|
return {
|
|
return {
|
|
tab: item.unitName,
|
|
tab: item.unitName,
|
|
key: item.unitId,
|
|
key: item.unitId,
|
|
- bidType: item.ocpxActionType
|
|
|
|
|
|
+ bidType: item.ocpxActionType,
|
|
|
|
+ sceneId:JSON.stringify(item.sceneId),
|
|
|
|
+ unitType: item.unitType
|
|
}
|
|
}
|
|
})
|
|
})
|
|
- )
|
|
|
|
|
|
+ var dataJson = JSON.stringify(dataElse)
|
|
localStorage.setItem('pans', dataJson)
|
|
localStorage.setItem('pans', dataJson)
|
|
localStorage.setItem('appId', this.getData('appId'))
|
|
localStorage.setItem('appId', this.getData('appId'))
|
|
}
|
|
}
|