|
@@ -9,114 +9,80 @@
|
|
:width="800"
|
|
:width="800"
|
|
:visible="visible"
|
|
:visible="visible"
|
|
:confirmLoading="confirmLoading"
|
|
:confirmLoading="confirmLoading"
|
|
- @ok="handleOk"
|
|
|
|
|
|
+ @ok="handleSubmit"
|
|
@cancel="handleCancel"
|
|
@cancel="handleCancel"
|
|
cancelText="关闭"
|
|
cancelText="关闭"
|
|
>
|
|
>
|
|
<a-spin :spinning="confirmLoading">
|
|
<a-spin :spinning="confirmLoading">
|
|
<a-form :form="form">
|
|
<a-form :form="form">
|
|
- <a-form-item label="地域" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
|
|
|
- <a-radio-group v-model="area" :defaultValue="0">
|
|
|
|
- <a-radio-button value="0">不限</a-radio-button>
|
|
|
|
- <a-radio-button value="按省市">按省市</a-radio-button>
|
|
|
|
- <a-radio-button value="按区县">按区县</a-radio-button>
|
|
|
|
- </a-radio-group>
|
|
|
|
- </a-form-item>
|
|
|
|
- <a-form-item
|
|
|
|
- label=" "
|
|
|
|
- :colon="false"
|
|
|
|
- :labelCol="labelCol"
|
|
|
|
- :wrapperCol="wrapperCol"
|
|
|
|
- class="else-width"
|
|
|
|
- v-if="area!='0'"
|
|
|
|
- >
|
|
|
|
- <transfer v-if="area == '按区县'" :checkData.sync="dataBox"></transfer>
|
|
|
|
- <transfer-city v-if="area == '按省市'" :checkData.sync="dataBox"></transfer-city>
|
|
|
|
|
|
+ <a-form-item label="定向模板名称" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
|
|
|
+
|
|
|
|
+ <a-input v-model="name"></a-input>
|
|
|
|
+
|
|
</a-form-item>
|
|
</a-form-item>
|
|
|
|
+<!-- <a-form-item label="地域" :labelCol="labelCol" :wrapperCol="wrapperCol">-->
|
|
|
|
+<!-- <a-radio-group v-model="area" :defaultValue="0">-->
|
|
|
|
+<!-- <a-radio-button value="0">不限</a-radio-button>-->
|
|
|
|
+<!-- <a-radio-button value="按省市">按省市</a-radio-button>-->
|
|
|
|
+<!-- <a-radio-button value="按区县">按区县</a-radio-button>-->
|
|
|
|
+<!-- </a-radio-group>-->
|
|
|
|
+<!-- </a-form-item>-->
|
|
|
|
+<!-- <a-form-item-->
|
|
|
|
+<!-- label=" "-->
|
|
|
|
+<!-- :colon="false"-->
|
|
|
|
+<!-- :labelCol="labelCol"-->
|
|
|
|
+<!-- :wrapperCol="wrapperCol"-->
|
|
|
|
+<!-- class="else-width"-->
|
|
|
|
+<!-- v-if="area!='0'"-->
|
|
|
|
+<!-- >-->
|
|
|
|
+<!-- <transfer v-if="area == '按区县'" :checkData.sync="dataBox"></transfer>-->
|
|
|
|
+<!-- <transfer-city v-if="area == '按省市'" :checkData.sync="dataBox"></transfer-city>-->
|
|
|
|
+<!-- </a-form-item>-->
|
|
|
|
|
|
<a-form-item label="性别" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
|
<a-form-item label="性别" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
|
<a-radio-group v-model="gender">
|
|
<a-radio-group v-model="gender">
|
|
- <a-radio-button
|
|
|
|
- v-for="sex in toutiaoSex"
|
|
|
|
- :key="sex.itemValue"
|
|
|
|
- :value="sex.itemValue"
|
|
|
|
- >{{sex.description}}</a-radio-button>
|
|
|
|
|
|
+ <a-radio-button v-for="sex in toutiaoSex" :key="sex.itemValue" :value="sex.itemValue">{{sex.description}}</a-radio-button>
|
|
</a-radio-group>
|
|
</a-radio-group>
|
|
</a-form-item>
|
|
</a-form-item>
|
|
|
|
|
|
<a-form-item label="年龄" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
|
<a-form-item label="年龄" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
|
- <a-checkbox value>不限</a-checkbox>
|
|
|
|
<a-checkbox-group v-model="ageRange">
|
|
<a-checkbox-group v-model="ageRange">
|
|
- <a-checkbox
|
|
|
|
- v-for="age in toutiaoAgeRange"
|
|
|
|
- :key="age.itemValue"
|
|
|
|
- :value="age.itemValue"
|
|
|
|
- >{{age.description}}</a-checkbox>
|
|
|
|
|
|
+ <a-checkbox v-for="age in toutiaoAgeRange" :key="age.itemValue" :value="age.itemValue">{{age.description}}</a-checkbox>
|
|
</a-checkbox-group>
|
|
</a-checkbox-group>
|
|
</a-form-item>
|
|
</a-form-item>
|
|
|
|
|
|
- <a-form-item label="自定义人群" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
|
|
|
- <a-radio-group v-model="zdyrq">
|
|
|
|
- <a-radio-button value="as">不限</a-radio-button>
|
|
|
|
- <a-radio-button value="sd">自定义人群</a-radio-button>
|
|
|
|
- </a-radio-group>
|
|
|
|
- </a-form-item>
|
|
|
|
-
|
|
|
|
- <a-form-item label="兴趣定向" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
|
|
|
- <a-radio-group>
|
|
|
|
- <a-radio-button value="as">不限</a-radio-button>
|
|
|
|
- <a-radio-button value="sd">系统推荐</a-radio-button>
|
|
|
|
- <a-radio-button value="zdy">自定义</a-radio-button>
|
|
|
|
- </a-radio-group>
|
|
|
|
- </a-form-item>
|
|
|
|
-
|
|
|
|
- <a-form-item label="兴趣分类" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
|
|
|
- <a-tree-select
|
|
|
|
- showSearch
|
|
|
|
- style="width: 300px"
|
|
|
|
- :value="value"
|
|
|
|
- :dropdownStyle="{ maxHeight: '400px', overflow: 'auto' }"
|
|
|
|
- placeholder="Please select"
|
|
|
|
- allowClear
|
|
|
|
- multiple
|
|
|
|
- treeDefaultExpandAll
|
|
|
|
- @change="onChange"
|
|
|
|
- @search="onSearch"
|
|
|
|
- @select="onSelect"
|
|
|
|
- >
|
|
|
|
- <a-tree-select-node value="parent 1" title="parent 1" key="0-1">
|
|
|
|
- <a-tree-select-node value="parent 1-0" title="parent 1-0" key="0-1-1">
|
|
|
|
- <a-tree-select-node value="leaf1" title="my leaf" key="random" />
|
|
|
|
- <a-tree-select-node value="leaf2" title="your leaf" key="random1" />
|
|
|
|
- </a-tree-select-node>
|
|
|
|
- <a-tree-select-node value="parent 1-1" title="parent 1-1" key="random2">
|
|
|
|
- <a-tree-select-node value="sss" key="random3">
|
|
|
|
- <b style="color: #08c" slot="title">sss</b>
|
|
|
|
- </a-tree-select-node>
|
|
|
|
- </a-tree-select-node>
|
|
|
|
- </a-tree-select-node>
|
|
|
|
- </a-tree-select>
|
|
|
|
- </a-form-item>
|
|
|
|
-
|
|
|
|
- <a-form-item label="精选流量包" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
|
|
|
- <a-radio-group>
|
|
|
|
- <a-radio-button value="llb_bx">不限</a-radio-button>
|
|
|
|
- <a-radio-button value="rjjx">应用软件精选</a-radio-button>
|
|
|
|
- <a-radio-button value="yxjx">游戏精选</a-radio-button>
|
|
|
|
|
|
+ <a-form-item
|
|
|
|
+ label="兴趣定向"
|
|
|
|
+ :labelCol="labelCol"
|
|
|
|
+ :wrapperCol="wrapperCol">
|
|
|
|
+ <a-radio-group v-model="intrestType">
|
|
|
|
+ <a-radio-button value="NONE">不限</a-radio-button>
|
|
|
|
+ <a-radio-button value="SYSTEM_TJ">系统推荐</a-radio-button>
|
|
|
|
+ <!--<a-radio-button value="ZDY">自定义</a-radio-button>-->
|
|
</a-radio-group>
|
|
</a-radio-group>
|
|
</a-form-item>
|
|
</a-form-item>
|
|
|
|
|
|
|
|
+ <!--<a-form-item
|
|
|
|
+ label=" "
|
|
|
|
+ :colon="false"
|
|
|
|
+ :labelCol="labelCol"
|
|
|
|
+ :wrapperCol="wrapperCol"
|
|
|
|
+ class="else-width"
|
|
|
|
+ v-if="intrestType=='ZDY'"
|
|
|
|
+ >
|
|
|
|
+ <intrest-category v-if="intrestType == 'ZDY'" :checkData.sync="intrestCategoryList"></intrest-category>
|
|
|
|
+ </a-form-item>-->
|
|
<a-form-item label="平台" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
|
<a-form-item label="平台" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
|
- <a-radio-group>
|
|
|
|
- <a-radio-button value="as">不限</a-radio-button>
|
|
|
|
- <a-radio-button value="sd">IOS</a-radio-button>
|
|
|
|
- <a-radio-button value="sd">Android</a-radio-button>
|
|
|
|
|
|
+ <a-radio-group v-model="platformType">
|
|
|
|
+ <a-radio-button value="NONE">不限</a-radio-button>
|
|
|
|
+ <a-radio-button value="IOS">IOS</a-radio-button>
|
|
|
|
+ <a-radio-button value="ANDROID">Android</a-radio-button>
|
|
|
|
+ <a-radio-button value="PC">PC</a-radio-button>
|
|
</a-radio-group>
|
|
</a-radio-group>
|
|
</a-form-item>
|
|
</a-form-item>
|
|
|
|
|
|
<a-form-item label="网络" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
|
<a-form-item label="网络" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
|
- <a-checkbox-group v-model="ageRange">
|
|
|
|
- <a-checkbox value>不限</a-checkbox>
|
|
|
|
|
|
+ <a-checkbox-group v-model="netType">
|
|
<a-checkbox
|
|
<a-checkbox
|
|
v-for="netType in toutiaoNetType"
|
|
v-for="netType in toutiaoNetType"
|
|
:key="netType.itemValue"
|
|
:key="netType.itemValue"
|
|
@@ -125,48 +91,46 @@
|
|
</a-checkbox-group>
|
|
</a-checkbox-group>
|
|
</a-form-item>
|
|
</a-form-item>
|
|
|
|
|
|
- <a-form-item label="app行为" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
|
|
|
- <a-radio-group>
|
|
|
|
- <a-radio-button value="as">不限</a-radio-button>
|
|
|
|
- <a-radio-button value="sd">按分类</a-radio-button>
|
|
|
|
- <a-radio-button value="sd">按app</a-radio-button>
|
|
|
|
|
|
+ <a-form-item label="智能放量" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
|
|
|
+ <a-radio-group v-model="smartFl">
|
|
|
|
+ <a-radio-button value="0">不启用</a-radio-button>
|
|
|
|
+ <a-radio-button value="1">启用</a-radio-button>
|
|
</a-radio-group>
|
|
</a-radio-group>
|
|
</a-form-item>
|
|
</a-form-item>
|
|
|
|
|
|
<a-form-item label="文章分类" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
|
<a-form-item label="文章分类" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
|
<a-radio-group v-model="isArticleCategory" @change="changeArticleCategoryType">
|
|
<a-radio-group v-model="isArticleCategory" @change="changeArticleCategoryType">
|
|
- <a-radio-button value="unlimit_category">不限</a-radio-button>
|
|
|
|
- <a-radio-button value="category">文章分类</a-radio-button>
|
|
|
|
|
|
+ <a-radio-button value="NONE">不限</a-radio-button>
|
|
|
|
+ <a-radio-button value="CATEGORY">文章分类</a-radio-button>
|
|
</a-radio-group>
|
|
</a-radio-group>
|
|
<br />
|
|
<br />
|
|
<a-select
|
|
<a-select
|
|
mode="tags"
|
|
mode="tags"
|
|
|
|
+ v-model="tags"
|
|
placeholder="选择文章分类"
|
|
placeholder="选择文章分类"
|
|
style="width: 600px"
|
|
style="width: 600px"
|
|
@change="onChange"
|
|
@change="onChange"
|
|
- v-if="showArticleCategory"
|
|
|
|
- >
|
|
|
|
|
|
+ v-if="showArticleCategory">
|
|
<a-select-option
|
|
<a-select-option
|
|
v-for="articleCategory in articleCategoryList"
|
|
v-for="articleCategory in articleCategoryList"
|
|
:key="articleCategory.itemValue"
|
|
:key="articleCategory.itemValue"
|
|
- :value="articleCategory.itemValue"
|
|
|
|
- >{{articleCategory.itemText}}</a-select-option>
|
|
|
|
|
|
+ :value="articleCategory.itemValue">{{articleCategory.itemText}}</a-select-option>
|
|
</a-select>
|
|
</a-select>
|
|
</a-form-item>
|
|
</a-form-item>
|
|
|
|
|
|
<a-form-item label="手机品牌" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
|
<a-form-item label="手机品牌" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
|
<a-radio-group @change="changeMobileBrandType" v-model="isMobileBrand">
|
|
<a-radio-group @change="changeMobileBrandType" v-model="isMobileBrand">
|
|
- <a-radio-button value="unlimit_brand">不限</a-radio-button>
|
|
|
|
- <a-radio-button value="brand">按品牌</a-radio-button>
|
|
|
|
|
|
+ <a-radio-button value="NONE">不限</a-radio-button>
|
|
|
|
+ <a-radio-button value="BRAND">按品牌</a-radio-button>
|
|
</a-radio-group>
|
|
</a-radio-group>
|
|
<br />
|
|
<br />
|
|
<a-select
|
|
<a-select
|
|
mode="tags"
|
|
mode="tags"
|
|
|
|
+ v-model="mobileType"
|
|
placeholder="选择手机品牌"
|
|
placeholder="选择手机品牌"
|
|
style="width: 600px"
|
|
style="width: 600px"
|
|
@change="onChange"
|
|
@change="onChange"
|
|
- v-if="showMobileBrand"
|
|
|
|
- >
|
|
|
|
|
|
+ v-if="showMobileBrand">
|
|
<a-select-option
|
|
<a-select-option
|
|
v-for="mobileBrand in mobileBrandList"
|
|
v-for="mobileBrand in mobileBrandList"
|
|
:key="mobileBrand.itemValue"
|
|
:key="mobileBrand.itemValue"
|
|
@@ -183,15 +147,27 @@
|
|
import { deleteAction, postAction, getAction } from '@/api/manage'
|
|
import { deleteAction, postAction, getAction } from '@/api/manage'
|
|
import transfer from './transfer'
|
|
import transfer from './transfer'
|
|
import transferCity from './transferCity'
|
|
import transferCity from './transferCity'
|
|
|
|
+import intrestCategory from './IntrestCategory'
|
|
|
|
+import ARadioGroup from "ant-design-vue/es/radio/Group";
|
|
export default {
|
|
export default {
|
|
name: 'ByteDanceUserOrientationTemplateModal',
|
|
name: 'ByteDanceUserOrientationTemplateModal',
|
|
components: {
|
|
components: {
|
|
|
|
+ ARadioGroup,
|
|
transfer,
|
|
transfer,
|
|
- transferCity
|
|
|
|
|
|
+ transferCity,
|
|
|
|
+ intrestCategory
|
|
},
|
|
},
|
|
data() {
|
|
data() {
|
|
return {
|
|
return {
|
|
|
|
+ name:"",
|
|
|
|
+ netType:[],
|
|
|
|
+ platformType:"NONE",
|
|
|
|
+ mobileType:[],
|
|
|
|
+ intrestCategoryList:[],
|
|
|
|
+ smartFl:"0",
|
|
|
|
+ intrestType:"NONE",
|
|
title: '操作',
|
|
title: '操作',
|
|
|
|
+ intrestCategory:'',
|
|
dataBox:[],
|
|
dataBox:[],
|
|
visible: false,
|
|
visible: false,
|
|
model: {},
|
|
model: {},
|
|
@@ -205,17 +181,18 @@ export default {
|
|
},
|
|
},
|
|
confirmLoading: false,
|
|
confirmLoading: false,
|
|
form: this.$form.createForm(this),
|
|
form: this.$form.createForm(this),
|
|
- gender: {},
|
|
|
|
|
|
+ tags:[],
|
|
|
|
+ gender: "NONE",
|
|
toutiaoSex: {},
|
|
toutiaoSex: {},
|
|
ageRange: [],
|
|
ageRange: [],
|
|
toutiaoAgeRange: {},
|
|
toutiaoAgeRange: {},
|
|
toutiaoNetType: {},
|
|
toutiaoNetType: {},
|
|
- isMobileBrand: '',
|
|
|
|
|
|
+ isMobileBrand: "NONE",
|
|
showMobileBrand: false,
|
|
showMobileBrand: false,
|
|
mobileBrandList: {},
|
|
mobileBrandList: {},
|
|
showArticleCategory: false,
|
|
showArticleCategory: false,
|
|
articleCategoryList: [],
|
|
articleCategoryList: [],
|
|
- isArticleCategory: {},
|
|
|
|
|
|
+ isArticleCategory: "NONE",
|
|
zdyrq: [],
|
|
zdyrq: [],
|
|
area: "0",
|
|
area: "0",
|
|
value: undefined,
|
|
value: undefined,
|
|
@@ -285,7 +262,8 @@ export default {
|
|
}
|
|
}
|
|
],
|
|
],
|
|
url: {
|
|
url: {
|
|
- dictListUrl: 'toutiao/dictitem/list'
|
|
|
|
|
|
+ dictListUrl: 'toutiao/dictitem/list',
|
|
|
|
+ insertUrl:'template/userorentation/insert'
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
},
|
|
@@ -298,7 +276,7 @@ export default {
|
|
this.edit({})
|
|
this.edit({})
|
|
},
|
|
},
|
|
edit(record) {
|
|
edit(record) {
|
|
- this.form.resetFields()
|
|
|
|
|
|
+ // this.form.resetFields()
|
|
this.model = Object.assign({}, record)
|
|
this.model = Object.assign({}, record)
|
|
this.visible = true
|
|
this.visible = true
|
|
},
|
|
},
|
|
@@ -320,7 +298,7 @@ export default {
|
|
},
|
|
},
|
|
changeMobileBrandType(value) {
|
|
changeMobileBrandType(value) {
|
|
console.log(this.isMobileBrand)
|
|
console.log(this.isMobileBrand)
|
|
- if (this.isMobileBrand == 'brand') {
|
|
|
|
|
|
+ if (this.isMobileBrand == 'BRAND') {
|
|
this.showMobileBrand = true
|
|
this.showMobileBrand = true
|
|
} else {
|
|
} else {
|
|
this.showMobileBrand = false
|
|
this.showMobileBrand = false
|
|
@@ -328,7 +306,7 @@ export default {
|
|
},
|
|
},
|
|
changeArticleCategoryType(value) {
|
|
changeArticleCategoryType(value) {
|
|
console.log(this.isMobileBrand)
|
|
console.log(this.isMobileBrand)
|
|
- if (this.isArticleCategory == 'category') {
|
|
|
|
|
|
+ if (this.isArticleCategory == 'CATEGORY') {
|
|
this.showArticleCategory = true
|
|
this.showArticleCategory = true
|
|
} else {
|
|
} else {
|
|
this.showArticleCategory = false
|
|
this.showArticleCategory = false
|
|
@@ -340,6 +318,42 @@ export default {
|
|
onSelect() {
|
|
onSelect() {
|
|
console.log(...arguments)
|
|
console.log(...arguments)
|
|
},
|
|
},
|
|
|
|
+ handleSubmit(e) {
|
|
|
|
+ e.preventDefault()
|
|
|
|
+ this.form.validateFields((err, values) => {
|
|
|
|
+ if (!err) {
|
|
|
|
+ console.log('Received values of form: ', values);
|
|
|
|
+ let params = {};
|
|
|
|
+ params.gender = this.gender;
|
|
|
|
+ params.ageRange = this.ageRange;
|
|
|
|
+ params.intrestType = this.intrestType;
|
|
|
|
+ params.platformType = this.platformType;
|
|
|
|
+ params.netType = this.netType;
|
|
|
|
+ params.smartFl = this.smartFl;
|
|
|
|
+ params.isArticleCategory = this.isArticleCategory;
|
|
|
|
+ params.tags = this.tags;
|
|
|
|
+ params.isMobileBrand = this.isMobileBrand;
|
|
|
|
+ params.mobileType = this.mobileType;
|
|
|
|
+ params.name = this.name;
|
|
|
|
+
|
|
|
|
+ console.log(params);
|
|
|
|
+ postAction(this.url.insertUrl,params).then((res)=>{
|
|
|
|
+ console.log(res);
|
|
|
|
+ if(res.success){
|
|
|
|
+ if(null == this.id){
|
|
|
|
+ this.$message.success("投放目标模板创建成功");
|
|
|
|
+ }else {
|
|
|
|
+ this.$message.success("投放目标模板修改成功");
|
|
|
|
+ }
|
|
|
|
+ this.$emit('ok');
|
|
|
|
+ this.close();
|
|
|
|
+ }else{
|
|
|
|
+ this.$message.error(res.message);
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ })
|
|
|
|
+ },
|
|
loadData2(arg) {
|
|
loadData2(arg) {
|
|
if (!this.url.list2) {
|
|
if (!this.url.list2) {
|
|
this.$message.error('请设置url.list2属性!')
|
|
this.$message.error('请设置url.list2属性!')
|