Commit 68828893 authored by lijin's avatar lijin

modified

parent 2b6a7ea2
......@@ -44,7 +44,7 @@ export default {
data() {
return {
languages: [
{ code: 'en', name: '英语', selected: false },
{ code: 'en', name: '英语', selected: true },
{ code: 'es', name: '西班牙语', selected: false },
{ code: 'fr', name: '法语', selected: false },
{ code: 'de', name: '德语', selected: false },
......@@ -62,16 +62,20 @@ export default {
return this.languages.filter(lang => lang.selected);
},
},
created() {
this.$emit('input', this.selectedLanguages);
},
methods: {
handleLanguageChange(code) {
this.$emit('input', this.selectedLanguages.map(lang => lang.code));
this.$emit('input', this.selectedLanguages);
},
removeLanguage(code) {
const lang = this.languages.find(l => l.code === code);
if (lang) {
lang.selected = false;
}
this.$emit('input', this.selectedLanguages.map(lang => lang.code));
this.$emit('input', this.selectedLanguages);
},
},
};
......
<template>
3<template>
<div class="app-container">
<!-- 创建投放时 格式化你的表单 -->
<el-row>
......@@ -449,52 +450,12 @@
</template>
</el-radio-group>
</el-form-item>
<!-- 按媒体 -->
<el-form-item
v-if="makeCreative.putinInventoryType === 'inventoryType'"
>
<el-select
v-model="makeCreative.putinInventory"
multiple
placeholder="请选择媒体"
style="margin-left: 27px"
@change="change_putinInventory"
>
<el-option
v-for="item in globalEnums.putinMediaLocation"
:key="item.value"
:label="item.name"
:value="item.value"
>
</el-option>
</el-select>
</el-form-item>
<!-- 按场景 -->
<el-form-item
v-if="makeCreative.putinInventoryType === 'sceneInventory'"
>
<el-select
v-model="makeCreative.putinInventory"
placeholder="请选择场景"
style="margin-left: 27px"
>
<el-option
v-for="item in globalEnums.sceneInventory"
:key="item.value"
:label="item.name"
:value="item.value"
>
</el-option>
</el-select>
</el-form-item>
</el-form>
</div>
</div>
<!-- 投放目标 -->
<div class="drawer-item">
<div class="drawer-item border-bottom">
<div class="drawer-item-title">广告系列名称</div>
<div class="drawer-item-con">
<el-input
......@@ -504,8 +465,8 @@
</div>
</div>
<!-- 预算和出价 -->
<div class="drawer-item" style="padding-bottom: 20px">
<div class="drawer-item border-bottom" style="padding-bottom: 20px">
<div class="drawer-item-title">地理位置</div>
<div class="drawer-item-con">
<CountrySelector v-model="countries" />
......@@ -515,296 +476,72 @@
<div class="drawer-item-con">
<LanguageSelector v-model="languages" />
</div>
<div class="drawer-item-title">开始日期和结束日期</div>
<div class="drawer-item-con">
<el-form ref="form">
<el-form-item label="开始日期">
<el-date-picker
v-model="startDate"
align="right"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
<el-form-item label="结束日期">
<el-date-picker
v-model="endDate"
align="right"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择日期">
</el-date-picker>
</el-form-item>
</el-form>
</div>
</div>
<!-- 用户定向 -->
<!-- 预算和出价 -->
<div class="drawer-item border-bottom">
<div class="drawer-item-title">用户定向</div>
<el-tabs v-model="activeName" @tab-click="handleTabClick">
<!-- 新建定向包 -->
<el-tab-pane label="新建定向" name="first">
<div class="drawer-item-con">
<el-form ref="form">
<!-- 城市 -->
<el-form-item label="城市">
<el-select
v-model="orientation.allowCity"
placeholder="选择城市"
style="width: 500px"
>
<el-option
v-for="(item, index) in globalEnums.city"
:key="index"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</el-form-item>
<!-- 性别 单选 -->
<el-form-item label="性别">
<el-radio-group v-model="orientation.allowGender">
<template v-for="item of globalEnums.gender">
<el-radio-button
:key="item.value"
:label="item.value"
:value="item.value"
>{{ item.name }}</el-radio-button
>
</template>
</el-radio-group>
</el-form-item>
<!-- 年龄 --><!-- 多选 -->
<el-form-item label="年龄">
<el-checkbox-group
v-model="arrays.allowAge"
@change="handleAgeDire"
>
<el-checkbox-button
v-for="item in globalEnums.age"
:label="item.value"
:key="item.value"
>{{ item.name }}</el-checkbox-button
>
</el-checkbox-group>
</el-form-item>
<!-- 自定义人群 --><!-- 单选 -->
<el-form-item label="自定义人群">
<el-radio-group v-model="crowdValue" @change="testRadio">
<template v-for="item of crowd">
<el-radio-button
:key="item.type"
:label="item.label"
:value="item.label"
>{{ item.label }}</el-radio-button
>
</template>
</el-radio-group>
</el-form-item>
<!-- 定向逻辑 --><!-- 单选 -->
<el-form-item v-if="logicShow" label="定向逻辑">
<el-radio-group
v-model="allowDirect"
@change="testChange"
>
<template v-for="item of globalEnums.directLogic">
<el-radio-button
:key="item.value"
:label="item.value"
:value="item.value"
>{{ item.name }}</el-radio-button
>
</template>
</el-radio-group>
<!-- 定向 -->
<div v-if="allowDirect == 'retargetingTagsInclude'">
<el-select
v-model="custom_audienc_id"
multiple
placeholder="请选择"
@change="selectAudience"
>
<el-option
v-for="(item, index) in custom_audienc"
:key="index"
:label="item.name + item.custom_audience_id"
:value="item.custom_audience_id"
>
</el-option>
</el-select>
</div>
<!-- 排除 -->
<div v-if="allowDirect == 'retargetingTagsExclude'">
<el-select
v-model="custom_audienc_id"
multiple
placeholder="请选择"
@change="selectAudience2"
>
<el-option
v-for="(item, index) in custom_audienc"
:key="index"
:label="item.name + item.custom_audience_id"
:value="item.custom_audience_id"
>
</el-option>
</el-select>
</div>
<!-- 同时定向排除 -->
<div v-if="allowDirect == 'Both'">
<el-radio-group v-model="childTagsChecked">
<template v-for="item of childTags">
<el-radio-button
:key="item.type"
:label="item.label"
:value="item.label"
>{{ item.label }}</el-radio-button
>
</template>
</el-radio-group>
<div v-if="childTagsChecked == '定向'">
<el-select
v-model="together_id1"
multiple
placeholder="请选择"
@change="togetherChange1"
>
<el-option
v-for="(item, index) in custom_audienc"
:key="index"
:label="item.name + item.custom_audience_id"
:value="item.custom_audience_id"
>
</el-option>
</el-select>
</div>
<div v-if="childTagsChecked == '排除'">
<el-select
v-model="together_id2"
multiple
placeholder="请选择"
@change="togetherChange2"
>
<el-option
v-for="(item, index) in custom_audienc"
:key="index"
:label="item.name + item.custom_audience_id"
:value="item.custom_audience_id"
>
</el-option>
</el-select>
</div>
</div>
</el-form-item>
<!-- 行为兴趣 --><!-- 单选 -->
<el-form-item label="行为兴趣">
<el-radio-group v-model="orientation.interestActionMode">
<template
v-for="item of globalEnums.interestActionMode"
>
<el-radio-button
:key="item.value"
:label="item.value"
:value="item.value"
>
{{ item.name }}
</el-radio-button>
</template>
</el-radio-group>
</el-form-item>
<!-- 网络 --><!-- 多选 -->
<el-form-item label="网络">
<el-checkbox-group
v-model="arrays.allowNetwork"
@change="handleNetDire"
>
<el-checkbox-button
v-for="item in globalEnums.network"
:label="item.value"
:key="item.value"
>{{ item.name }}</el-checkbox-button
>
</el-checkbox-group>
</el-form-item>
<!-- 运营商 --><!-- 多选 -->
<el-form-item label="运营商">
<el-checkbox-group
v-model="arrays.allowCarrier"
@change="handleCarrierDire"
>
<el-checkbox-button
v-for="item in globalEnums.carrier"
:label="item.value"
:key="item.value"
>{{ item.name }}</el-checkbox-button
>
</el-checkbox-group>
</el-form-item>
</el-form>
</div>
</el-tab-pane>
<!-- 选择已有定向包 -->
<el-tab-pane label="选择已有定向包" name="second">
<el-select
v-model="orientation.id"
filterable
clearable
placeholder="选择定向包"
style="width: 500px"
@focus="selectPkg"
<div class="drawer-item-title">预算</div>
<el-form ref="form">
<el-form-item label="广告预算" prop="budget">
<el-input
v-model="dailyBudget"
placeholder="请输入广告预算"
@blur="formatBudget"
style="width: 30%"
>
<el-option
v-for="(item, index) in directPkg"
:key="index"
:label="item.name"
:value="item.id"
>
</el-option>
</el-select>
</el-tab-pane>
</el-tabs>
<template slot="prepend">$</template>
</el-input>
</el-form-item>
</el-form>
</div>
<!-- 创意分类 -->
<!-- 出价 -->
<div class="drawer-item border-bottom">
<div class="drawer-item-title">创意分类</div>
<div class="drawer-item-title">出价</div>
<div class="drawer-item-con">
<el-form ref="form">
<el-form-item label="创意分类多选">
<el-cascader
v-model="creativeCategoryDefault"
:props="{ multiple: true }"
:options="creativeCategoryList"
@change="handleMultipleChange"
style="width: 400px"
></el-cascader>
<span>已选 {{ creativeCategoryDefault.length }}</span>
</el-form-item>
<el-form-item label="创意标签">
<el-input
class="input-new-tag"
v-model="inputValue"
ref="saveTagInput"
@keyup.enter.native="handleInputConfirm"
@blur="handleInputConfirm"
style="width: 450px"
<el-select
v-model="zhuanhuamubiao"
placeholder=""
default-first-option
style="width: 200px"
>
<el-option
v-for="item in [{'name': '安装量', 'value': 1, 'disabled': false}, {'name': '应用内操作次数', 'value': 2, 'disabled': true}, {'name': '应用内操作价值', 'value': 3, 'disabled': false}]"
:key="item.value"
:label="item.name"
:value="item.value"
:disabled="item.disabled"
>
<template slot="append">添加(回车)</template>
</el-input>
<div class="checkedText">
<div class="checkedText-title">
<span style="margin-left: 10px"
>已选 {{ arrays.creativeTags.length }}</span
>
<span style="float: right; margin-right: 10px">
<a href="javascript:;" @click="removeAllCreative"
>清空</a
>
</span>
</div>
<div style="padding: 10px">
<el-tag
:key="tag"
v-for="tag in arrays.creativeTags"
closable
:disable-transitions="false"
@close="handleClose_creative(tag)"
>
{{ tag }}
</el-tag>
</div>
</div>
</el-form-item>
</el-option>
</el-select>
</el-form>
</div>
</div>
......@@ -1344,6 +1081,7 @@ export default {
size: 10,
page: 1,
}, // 分页信息
loading: false,
tryItOut: 0, //试玩搭配,默认不启用
tryMaterialList: [], //试玩素材列表
......@@ -1373,6 +1111,10 @@ export default {
],
countries: [],
languages: [],
startDate: '',
endDate: '',
dailyBudget: '1.00',
zhuanhuamubiao: '',
crowdValue: "不限", // 自定义人群的值
crowdAdvertiserId: "",
/* 测试假数据 使用 */
......@@ -1387,7 +1129,6 @@ export default {
ifDoublePrice: false,
bid_type: "only",
uploadAction: "http://api.putin.zhangxindiet.com/v1/oe/upload",
queryDate: [], // 默认日期
dateOptions: dateOptions,
materialGroupDesc: "",
callActionList: [], //行动号召列表
......@@ -1424,8 +1165,7 @@ export default {
planBudgetMode: "BUDGET_MODE_DAY",
planBudget: "",
scheduleType: "SCHEDULE_START_END", // 投放时间
startTime: "",
endTime: "",
scheduleTime: "", // 选择时段
pricing: "PRICING_OCPM",
cpaBid: "",
......@@ -1581,9 +1321,8 @@ export default {
},
},
created() {
let startTime = moment().subtract(7, "days").format("YYYY-MM-DD HH:MM");
let endTime = moment().format("YYYY-MM-DD HH:MM");
this.queryDate = [startTime, endTime]; // 近一周默认日期
this.startDate = moment().subtract(0, "days").format("YYYY-MM-DD");
// [new Date(2000, 10, 10, 10, 10), new Date(2000, 10, 11, 10, 10)],
......@@ -1687,8 +1426,7 @@ export default {
planBudgetMode: "",
planBudget: "",
scheduleType: "SCHEDULE_FROM_NOW", // 投放时间
startTime: "",
endTime: "",
scheduleTime: "", // 选择时段
pricing: "PRICING_OCPM",
cpaBid: "",
......@@ -2049,8 +1787,7 @@ export default {
this.makeCreative.productSellingPoints = JSON.stringify(
this.arrays.productSellingPoints
);
this.putinBaseInfo.startTime = this.queryDate[0];
this.putinBaseInfo.endTime = this.queryDate[1];
if (this.makeCreative.putinInventory instanceof Array) {
this.makeCreative.putinInventory = this.makeCreative.putinInventory.join();
......@@ -2828,6 +2565,22 @@ export default {
test() {
console.log(222, this.putinBaseInfo.deepBidType);
},
validateBudget(rule, value, callback) {
alert(rule, value)
if (value === '') {
callback(new Error('必填'));
} else if (isNaN(Number(value))) {
callback(new Error('请输入有效数字'));
} else {
callback();
}
},
formatBudget() {
if (this.dailyBudget !== '' && !isNaN(Number(this.dailyBudget))) {
this.dailyBudget = Number(this.dailyBudget).toFixed(2);
}
}
},
};
</script>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment