|
@@ -70,10 +70,74 @@
|
|
</div>
|
|
</div>
|
|
<div class="input-item">
|
|
<div class="input-item">
|
|
<a-form-item>
|
|
<a-form-item>
|
|
- <a-input v-decorator="['campaignName',{ rules: [{ required: true, message: '请填写计划的命名规则' }] }]" allow-clear />
|
|
|
|
|
|
+ <a-input v-decorator="['campaignName',{ rules: [{ required: true, message: '请填写计划的命名规则' }] }]" allow-clear id="campaignName"/>
|
|
</a-form-item>
|
|
</a-form-item>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
+ <!-- <div class="row-item">
|
|
|
|
+ <div class="hint-item"> </div>
|
|
|
|
+ <div class="label-item">
|
|
|
|
+ <div class="text-item"></div>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="input-item">
|
|
|
|
+ <a-form-item>
|
|
|
|
+ <a-tag color="#2db7f5" @click="getChangeAll('定向包', 'form', 'campaignName')"
|
|
|
|
+ >+定向包</a-tag
|
|
|
|
+ >
|
|
|
|
+ <a-tag color="#2db7f5" @click="getChangeAll('日期', 'form', 'campaignName')">+日期</a-tag>
|
|
|
|
+ <a-tag color="#2db7f5" @click="getChangeAll('标号', 'form', 'campaignName')">+标号</a-tag>
|
|
|
|
+ <a-tag color="#2db7f5" @click="getChangeAll('应用包名', 'form', 'campaignName')"
|
|
|
|
+ >+应用包名</a-tag
|
|
|
|
+ >
|
|
|
|
+ <a-tag color="#2db7f5" @click="getChangeAll('自定义', 'form', 'campaignName')"
|
|
|
|
+ >+自定义</a-tag
|
|
|
|
+ >
|
|
|
|
+ </a-form-item>
|
|
|
|
+ </div>
|
|
|
|
+ </div> -->
|
|
|
|
+
|
|
|
|
+ <div class="row-item">
|
|
|
|
+ <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-model="budgetType">
|
|
|
|
+ <a-radio-button value="1">不限</a-radio-button>
|
|
|
|
+ <a-radio-button value="2">统一预算</a-radio-button>
|
|
|
|
+ </a-radio-group>
|
|
|
|
+ </a-form-item>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+
|
|
|
|
+ <div class="row-item" v-if="budgetType == '2'">
|
|
|
|
+ <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
|
|
|
|
+ v-decorator="[
|
|
|
|
+ 'campaignDayBudget',
|
|
|
|
+ {
|
|
|
|
+ rules: [{ required: true, message: '不小于500, 不超过100000000,仅支持输入自然数' }],
|
|
|
|
+ },
|
|
|
|
+ ]"
|
|
|
|
+ :min="500"
|
|
|
|
+ :precision="0"
|
|
|
|
+ :max="100000000"
|
|
|
|
+ style="width: 100%"
|
|
|
|
+ placeholder="不小于500, 不超过100000000,仅支持输入自然数"
|
|
|
|
+ />
|
|
|
|
+ </a-form-item>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+
|
|
|
|
+
|
|
<div class="row-item">
|
|
<div class="row-item">
|
|
<div class="hint-item"> </div>
|
|
<div class="hint-item"> </div>
|
|
<div class="label-item">
|
|
<div class="label-item">
|
|
@@ -82,10 +146,76 @@
|
|
</div>
|
|
</div>
|
|
<div class="input-item">
|
|
<div class="input-item">
|
|
<a-form-item>
|
|
<a-form-item>
|
|
- <a-input v-decorator="['groupName',{ rules: [{ required: true, message: '请填写组的命名规则' }] }]" allow-clear />
|
|
|
|
|
|
+ <a-input v-decorator="['groupName',{ rules: [{ required: true, message: '请填写组的命名规则' }] }]" allow-clear id="groupName"/>
|
|
</a-form-item>
|
|
</a-form-item>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
+ <!-- <div class="row-item">
|
|
|
|
+ <div class="hint-item"> </div>
|
|
|
|
+ <div class="label-item">
|
|
|
|
+ <div class="text-item"></div>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="input-item">
|
|
|
|
+ <a-form-item>
|
|
|
|
+ <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
|
|
|
|
+ >
|
|
|
|
+ <a-tag color="#2db7f5" @click="getChangeAll('广告位置', 'form', 'groupName')"
|
|
|
|
+ >+广告位置</a-tag
|
|
|
|
+ >
|
|
|
|
+ <a-tag color="#2db7f5" @click="getChangeAll('自定义', 'form', 'groupName')"
|
|
|
|
+ >+自定义</a-tag
|
|
|
|
+ >
|
|
|
|
+ </a-form-item>
|
|
|
|
+ </div>
|
|
|
|
+ </div> -->
|
|
|
|
+ <div class="row-item">
|
|
|
|
+ <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-model="dayBudgetType">
|
|
|
|
+ <a-radio-button value="1">不限</a-radio-button>
|
|
|
|
+ <a-radio-button value="2">统一预算</a-radio-button>
|
|
|
|
+ </a-radio-group>
|
|
|
|
+ </a-form-item>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ <div class="row-item" v-if="dayBudgetType=='2'">
|
|
|
|
+ <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
|
|
|
|
+ v-decorator="[
|
|
|
|
+ 'unitDayBudget',
|
|
|
|
+ {
|
|
|
|
+ rules: [{ required: true, message: '不小于500, 不超过100000000,仅支持输入自然数' }],
|
|
|
|
+ },
|
|
|
|
+ ]"
|
|
|
|
+ style="width: 100%"
|
|
|
|
+ placeholder="不小于500, 不超过100000000,仅支持输入自然数"
|
|
|
|
+ :min="500"
|
|
|
|
+ :precision="0"
|
|
|
|
+ />
|
|
|
|
+ </a-form-item>
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<div class="moduler">
|
|
<div class="moduler">
|
|
@@ -220,16 +350,16 @@
|
|
</div>
|
|
</div>
|
|
<div class="moduler">
|
|
<div class="moduler">
|
|
<div class="moduler-title">用户定向
|
|
<div class="moduler-title">用户定向
|
|
- <div style="margin-left:30px;position:relative;top:-2px">
|
|
|
|
|
|
+ <!-- <div style="margin-left:30px;position:relative;top:-2px">
|
|
<a-radio-group v-model="useDirectional" @change="useDirectionalChange">
|
|
<a-radio-group v-model="useDirectional" @change="useDirectionalChange">
|
|
<a-radio :value="1">
|
|
<a-radio :value="1">
|
|
不使用定向
|
|
不使用定向
|
|
</a-radio>
|
|
</a-radio>
|
|
- <!-- <a-radio :value="0">
|
|
|
|
|
|
+ <a-radio :value="0">
|
|
使用定向包
|
|
使用定向包
|
|
- </a-radio> -->
|
|
|
|
|
|
+ </a-radio>
|
|
</a-radio-group>
|
|
</a-radio-group>
|
|
- </div>
|
|
|
|
|
|
+ </div> -->
|
|
</div>
|
|
</div>
|
|
<div class="ad-range" v-if="useDirectional==1">
|
|
<div class="ad-range" v-if="useDirectional==1">
|
|
<div class="row-item">
|
|
<div class="row-item">
|
|
@@ -308,7 +438,7 @@
|
|
<a-form-item>
|
|
<a-form-item>
|
|
<a-radio-group v-decorator="['androidOsv',{initialValue: 3,}]">
|
|
<a-radio-group v-decorator="['androidOsv',{initialValue: 3,}]">
|
|
<a-radio :value="3">不限</a-radio>
|
|
<a-radio :value="3">不限</a-radio>
|
|
- <a-radio :value="4">4X+</a-radio>
|
|
|
|
|
|
+ <a-radio :value="4">4x+</a-radio>
|
|
<a-radio :value="5">5x+</a-radio>
|
|
<a-radio :value="5">5x+</a-radio>
|
|
<a-radio :value="6">6x+</a-radio>
|
|
<a-radio :value="6">6x+</a-radio>
|
|
<a-radio :value="7">7x+</a-radio>
|
|
<a-radio :value="7">7x+</a-radio>
|
|
@@ -319,7 +449,7 @@
|
|
<a-form-item>
|
|
<a-form-item>
|
|
<a-radio-group v-decorator="['iosOsv',{initialValue: 6,}]">
|
|
<a-radio-group v-decorator="['iosOsv',{initialValue: 6,}]">
|
|
<a-radio :value="6">不限</a-radio>
|
|
<a-radio :value="6">不限</a-radio>
|
|
- <a-radio :value="7">7X+</a-radio>
|
|
|
|
|
|
+ <a-radio :value="7">7x+</a-radio>
|
|
<a-radio :value="8">8x+</a-radio>
|
|
<a-radio :value="8">8x+</a-radio>
|
|
<a-radio :value="9">9x+</a-radio>
|
|
<a-radio :value="9">9x+</a-radio>
|
|
<a-radio :value="10">10x+</a-radio>
|
|
<a-radio :value="10">10x+</a-radio>
|
|
@@ -349,6 +479,7 @@
|
|
<div class="inventory-tags-lists-name"><strong>品牌名称</strong></div>
|
|
<div class="inventory-tags-lists-name"><strong>品牌名称</strong></div>
|
|
</div>
|
|
</div>
|
|
<div class="inventory-tags-lists-container" >
|
|
<div class="inventory-tags-lists-container" >
|
|
|
|
+ <a-form-item>
|
|
<a-checkbox-group
|
|
<a-checkbox-group
|
|
v-decorator="['deviceBrand', { rules: [{ required: true, message: '请选择设备品牌' }] }]"
|
|
v-decorator="['deviceBrand', { rules: [{ required: true, message: '请选择设备品牌' }] }]"
|
|
>
|
|
>
|
|
@@ -364,6 +495,7 @@
|
|
<a-checkbox :value="10" style="margin-bottom: 8px">其他</a-checkbox>
|
|
<a-checkbox :value="10" style="margin-bottom: 8px">其他</a-checkbox>
|
|
<a-checkbox :value="11" v-if="getFormData('platformOs') == 0" style="margin-bottom: 8px">苹果</a-checkbox>
|
|
<a-checkbox :value="11" v-if="getFormData('platformOs') == 0" style="margin-bottom: 8px">苹果</a-checkbox>
|
|
</a-checkbox-group>
|
|
</a-checkbox-group>
|
|
|
|
+ </a-form-item>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
@@ -385,9 +517,10 @@
|
|
<div style="width: 400px; margin-top: 24px;" class="inventoryTypes" v-if="devicePrice==1">
|
|
<div style="width: 400px; margin-top: 24px;" class="inventoryTypes" v-if="devicePrice==1">
|
|
<div class="inventory-tags-lists-header" style="padding-left:15px">
|
|
<div class="inventory-tags-lists-header" style="padding-left:15px">
|
|
|
|
|
|
- <div class="inventory-tags-lists-name"><strong>品牌名称</strong></div>
|
|
|
|
|
|
+ <div class="inventory-tags-lists-name"><strong>价格区间</strong></div>
|
|
</div>
|
|
</div>
|
|
<div class="inventory-tags-lists-container" >
|
|
<div class="inventory-tags-lists-container" >
|
|
|
|
+ <a-form-item>
|
|
<a-checkbox-group
|
|
<a-checkbox-group
|
|
v-decorator="['devicePrice', { rules: [{ required: true, message: '请选择设备价格' }] }]"
|
|
v-decorator="['devicePrice', { rules: [{ required: true, message: '请选择设备价格' }] }]"
|
|
style="width: 120%"
|
|
style="width: 120%"
|
|
@@ -403,6 +536,7 @@
|
|
<a-checkbox :value="9" style="margin-left: 0; margin-bottom: 8px">5001~5500</a-checkbox>
|
|
<a-checkbox :value="9" style="margin-left: 0; margin-bottom: 8px">5001~5500</a-checkbox>
|
|
<a-checkbox :value="10" style="margin-bottom: 8px">5500以上</a-checkbox>
|
|
<a-checkbox :value="10" style="margin-bottom: 8px">5500以上</a-checkbox>
|
|
</a-checkbox-group>
|
|
</a-checkbox-group>
|
|
|
|
+ </a-form-item>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
@@ -1338,6 +1472,8 @@ export default {
|
|
},
|
|
},
|
|
data() {
|
|
data() {
|
|
return {
|
|
return {
|
|
|
|
+ budgetType:'1',
|
|
|
|
+ dayBudgetType:'1',
|
|
clickTrackUrlTip:false,
|
|
clickTrackUrlTip:false,
|
|
deviceBrand:0,
|
|
deviceBrand:0,
|
|
devicePrice:0,
|
|
devicePrice:0,
|
|
@@ -2046,7 +2182,8 @@ export default {
|
|
|
|
|
|
this.form.validateFields((err, values) => {
|
|
this.form.validateFields((err, values) => {
|
|
//console.log(values)
|
|
//console.log(values)
|
|
- if (!err) {
|
|
|
|
|
|
+ if (!err) {
|
|
|
|
+ console.log(values)
|
|
this.goNextloading=true;
|
|
this.goNextloading=true;
|
|
if(this.district!='NONE'){
|
|
if(this.district!='NONE'){
|
|
values.district=this.district
|
|
values.district=this.district
|
|
@@ -2125,11 +2262,8 @@ export default {
|
|
values.creativeCategory=undefined
|
|
values.creativeCategory=undefined
|
|
}
|
|
}
|
|
|
|
|
|
- if(this.deviceBrand==0){
|
|
|
|
-
|
|
|
|
- }
|
|
|
|
values.deviceBrand=this.deviceBrand==0?'[]':JSON.stringify(values.deviceBrand)
|
|
values.deviceBrand=this.deviceBrand==0?'[]':JSON.stringify(values.deviceBrand)
|
|
- values.devicePrice=this.devicePrice==0?'[]':JSON.stringify(values.deviceBrand)
|
|
|
|
|
|
+ values.devicePrice=this.devicePrice==0?'[]':JSON.stringify(values.devicePrice)
|
|
values.accountId = this.accountId
|
|
values.accountId = this.accountId
|
|
|
|
|
|
values.creativeTag=values.creativeTag?JSON.stringify(values.creativeTag):undefined
|
|
values.creativeTag=values.creativeTag?JSON.stringify(values.creativeTag):undefined
|
|
@@ -2138,6 +2272,8 @@ export default {
|
|
values.noGenderBreak=this.noGenderBreak?1:0
|
|
values.noGenderBreak=this.noGenderBreak?1:0
|
|
values.noAgeBreak=this.noAgeBreak?1:0
|
|
values.noAgeBreak=this.noAgeBreak?1:0
|
|
|
|
|
|
|
|
+ values.campaignDayBudget = this.budgetType =='1'?0: values.campaignDayBudget*1000
|
|
|
|
+ values.unitDayBudget = this.dayBudgetType =='1'?0: values.unitDayBudget*1000
|
|
//console.log('Received values of form: ', values)
|
|
//console.log('Received values of form: ', values)
|
|
let url=''
|
|
let url=''
|
|
if(this.editRecordId){
|
|
if(this.editRecordId){
|
|
@@ -2398,13 +2534,17 @@ export default {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- if(res.result.deviceBrand){
|
|
|
|
|
|
+
|
|
|
|
|
|
- this.deviceBrand=JSON.parse(res.result.deviceBrand).length>0?1:0;
|
|
|
|
- }
|
|
|
|
- if(res.result.devicePrice){
|
|
|
|
- this.devicePrice=JSON.parse(res.result.devicePrice).length>0?1:0
|
|
|
|
- }
|
|
|
|
|
|
+ this.deviceBrand=res.result.deviceBrand?JSON.parse(res.result.deviceBrand).length>0?1:0:0;
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ this.devicePrice=res.result.devicePrice?JSON.parse(res.result.devicePrice).length>0?1:0:0
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ this.budgetType = res.result.campaignDayBudget?res.result.campaignDayBudget>0?'2':'1':'1'
|
|
|
|
+ this.dayBudgetType = res.result.unitDayBudget?res.result.unitDayBudget>0?'2':'1':'1'
|
|
|
|
+
|
|
setTimeout(()=>{
|
|
setTimeout(()=>{
|
|
this.form.setFieldsValue({
|
|
this.form.setFieldsValue({
|
|
...res.result,
|
|
...res.result,
|
|
@@ -2415,8 +2555,19 @@ export default {
|
|
appId:res.singleAppid?JSON.parse(res.result.appIdArray)[0]:JSON.parse(res.result.appIdArray),
|
|
appId:res.singleAppid?JSON.parse(res.result.appIdArray)[0]:JSON.parse(res.result.appIdArray),
|
|
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):[],
|
|
|
|
+
|
|
|
|
+ campaignDayBudget:res.result.campaignDayBudget?res.result.campaignDayBudget/1000:null,
|
|
|
|
+ unitDayBudget:res.result.unitDayBudget?res.result.unitDayBudget/1000:null
|
|
|
|
+
|
|
})
|
|
})
|
|
},0)
|
|
},0)
|
|
|
|
+ setTimeout(()=>{
|
|
|
|
+ this.form.setFieldsValue({
|
|
|
|
+ androidOsv:res.result.androidOsv?res.result.androidOsv:3,
|
|
|
|
+ iosOsv:res.result.iosOsv?res.result.iosOsv:6,
|
|
|
|
+ })
|
|
|
|
+
|
|
|
|
+ },100)
|
|
if((res.result.ocpxActionType == 180 || res.result.ocpxActionType == 53) && this.groupTypeData.deepConversionTypes&&this.groupTypeData.deepConversionTypes.length > 0){
|
|
if((res.result.ocpxActionType == 180 || res.result.ocpxActionType == 53) && this.groupTypeData.deepConversionTypes&&this.groupTypeData.deepConversionTypes.length > 0){
|
|
// //console.log(1)
|
|
// //console.log(1)
|
|
setTimeout(()=>{
|
|
setTimeout(()=>{
|
|
@@ -2538,7 +2689,55 @@ export default {
|
|
clickTrackUrlBlur(){
|
|
clickTrackUrlBlur(){
|
|
// //console.log('blur')
|
|
// //console.log('blur')
|
|
this.clickTrackUrlTip=false;
|
|
this.clickTrackUrlTip=false;
|
|
- }
|
|
|
|
|
|
+ },
|
|
|
|
+ getChangeAll(type, form, field) {
|
|
|
|
+ var node = document.getElementById(field)
|
|
|
|
+ var v = '{{' + type + '}}-'
|
|
|
|
+ if (document.selection) {
|
|
|
|
+ //IE
|
|
|
|
+ node.focus()
|
|
|
|
+ var sel = document.selection.createRange()
|
|
|
|
+ sel.text = v
|
|
|
|
+ sel.select()
|
|
|
|
+ if (field == 'campaignName') {
|
|
|
|
+ this[form].setFieldsValue({ campaignName: sel.text })
|
|
|
|
+ } else if (field == 'unitName') {
|
|
|
|
+ this.unitInfo.unitName = sel.text
|
|
|
|
+ this.$refs.ruleForm.validateField('unitName')
|
|
|
|
+ }
|
|
|
|
+ } else if (node.selectionStart || node.selectionStart == '0') {
|
|
|
|
+ //MOZILLA/GOOGLE
|
|
|
|
+ var startPos = node.selectionStart
|
|
|
|
+ var endPos = node.selectionEnd
|
|
|
|
+ var restoreTop = node.scrollTop
|
|
|
|
+ node.value = node.value.substring(0, startPos) + v + node.value.substring(endPos, node.value.length)
|
|
|
|
+ if (restoreTop > 0) {
|
|
|
|
+ node.scrollTop = restoreTop
|
|
|
|
+ }
|
|
|
|
+ if (field == 'campaignName') {
|
|
|
|
+ this[form].setFieldsValue({ campaignName: node.value })
|
|
|
|
+ } else if (field == 'unitName') {
|
|
|
|
+ this.unitInfo.unitName = node.value
|
|
|
|
+ this.$refs.ruleForm.validateField('unitName')
|
|
|
|
+ }
|
|
|
|
+ node.focus()
|
|
|
|
+ node.selectionStart = startPos + v.length
|
|
|
|
+ node.selectionEnd = startPos + v.length
|
|
|
|
+ // this.campaignName = node.value
|
|
|
|
+ } else {
|
|
|
|
+ //OTHER
|
|
|
|
+ node.value += v
|
|
|
|
+ // console.log(node.value)
|
|
|
|
+ if (field == 'campaignName') {
|
|
|
|
+ this[form].setFieldsValue({ campaignName: node.value })
|
|
|
|
+ } else if (field == 'unitName') {
|
|
|
|
+ this.unitInfo.unitName = node.value
|
|
|
|
+ this.$refs.ruleForm.validateField('unitName')
|
|
|
|
+ }
|
|
|
|
+ node.focus()
|
|
|
|
+ // this.campaignName = node.value
|
|
|
|
+ }
|
|
|
|
+ },
|
|
},
|
|
},
|
|
created() {
|
|
created() {
|
|
if(this.$route){
|
|
if(this.$route){
|