|
@@ -1,8 +1,15 @@
|
|
|
+<style>
|
|
|
+ #table_time_selected1 tr {
|
|
|
+ border: 1px solid rgb(102, 162, 243)
|
|
|
+ }
|
|
|
+
|
|
|
+ .plug-timer-grid th {
|
|
|
+ line-height: 25px;
|
|
|
+ }
|
|
|
+</style>
|
|
|
<template>
|
|
|
<a-card :body-style="{padding: '24px 32px'}" :bordered="false">
|
|
|
<a-form @submit="handleSubmit" :form="form">
|
|
|
-
|
|
|
-
|
|
|
<a-form-item
|
|
|
label="选择快手账户"
|
|
|
:labelCol="{lg: {span: 7}, sm: {span: 7}}"
|
|
@@ -31,6 +38,7 @@
|
|
|
:wrapperCol="{lg: {span: 10}, sm: {span: 17} }">
|
|
|
<a-select
|
|
|
v-model="campaignTemplateId"
|
|
|
+ @change="getUrlType"
|
|
|
showSearch
|
|
|
showArrow
|
|
|
placeholder="请选择广告计划模板"
|
|
@@ -46,6 +54,88 @@
|
|
|
|
|
|
|
|
|
<a-form-item
|
|
|
+ v-if="showApp"
|
|
|
+ label="目标应用"
|
|
|
+ :labelCol="{lg: {span: 7}, sm: {span: 7}}"
|
|
|
+ :wrapperCol="{lg: {span: 10}, sm: {span: 17} }">
|
|
|
+ <a-select
|
|
|
+ v-model="appId"
|
|
|
+ showSearch
|
|
|
+ allowClear
|
|
|
+ placeholder="选择应用目标"
|
|
|
+ optionFilterProp="children"
|
|
|
+ style="width: 500px"
|
|
|
+ @focus="handleFocus"
|
|
|
+ @blur="handleBlur"
|
|
|
+ @change="handleChange"
|
|
|
+ :filterOption="filterOption"
|
|
|
+ >
|
|
|
+ <a-select-option value="0">请选择目标应用</a-select-option>
|
|
|
+ <a-select-option v-for="appModel in appList" :key="appModel.id" :value="appModel.id">{{appModel.appName}}   {{appModel.appType}}  
|
|
|
+ {{appModel.appVersion}}
|
|
|
+ </a-select-option>
|
|
|
+ </a-select>
|
|
|
+ </a-form-item>
|
|
|
+
|
|
|
+
|
|
|
+ <a-form-item
|
|
|
+ v-if="showRedirect"
|
|
|
+ label="链接地址"
|
|
|
+ :labelCol="{lg: {span: 7}, sm: {span: 7}}"
|
|
|
+ :wrapperCol="{lg: {span: 10}, sm: {span: 17} }">
|
|
|
+ <a-input style="width: 500px" v-model="redirectUrl"></a-input>
|
|
|
+
|
|
|
+ </a-form-item>
|
|
|
+
|
|
|
+
|
|
|
+ <a-form-item
|
|
|
+ v-if="showPlatformOs"
|
|
|
+ label="最低版本"
|
|
|
+ :colon="false"
|
|
|
+ :labelCol="{lg: {span: 7}, sm: {span: 7}}"
|
|
|
+ :wrapperCol="{lg: {span: 10}, sm: {span: 17} }">
|
|
|
+ <a-radio-group v-model="platformOs" @change="changePlatform">
|
|
|
+ <a-radio-button value='0'>不限</a-radio-button>
|
|
|
+ <a-radio-button value='1'>Android系统</a-radio-button>
|
|
|
+ <a-radio-button value='2'>IOS系统</a-radio-button>
|
|
|
+ </a-radio-group>
|
|
|
+ </a-form-item>
|
|
|
+
|
|
|
+
|
|
|
+ <a-form-item
|
|
|
+ v-if="showAndroidOsa"
|
|
|
+ label=" "
|
|
|
+ :colon="false"
|
|
|
+ :labelCol="{lg: {span: 7}, sm: {span: 7}}"
|
|
|
+ :wrapperCol="{lg: {span: 10}, sm: {span: 17} }">
|
|
|
+ <a-radio-group v-model="androidOsv">
|
|
|
+ <a-radio value='3'>不限</a-radio>
|
|
|
+ <a-radio value='4'>4.x+</a-radio>
|
|
|
+ <a-radio value='5'>5.x+</a-radio>
|
|
|
+ <a-radio value='6'>6.x+</a-radio>
|
|
|
+ <a-radio value='7'>7.x+</a-radio>
|
|
|
+ </a-radio-group>
|
|
|
+ </a-form-item>
|
|
|
+
|
|
|
+
|
|
|
+ <a-form-item
|
|
|
+ v-if="showIOSOsa"
|
|
|
+ label=" "
|
|
|
+ :colon="false"
|
|
|
+ :labelCol="{lg: {span: 7}, sm: {span: 7}}"
|
|
|
+ :wrapperCol="{lg: {span: 10}, sm: {span: 17} }">
|
|
|
+ <a-radio-group v-model="iosOsv">
|
|
|
+ <a-radio value='6'>不限</a-radio>
|
|
|
+ <a-radio value='7'>7.x+</a-radio>
|
|
|
+ <a-radio value='8'>8.x+</a-radio>
|
|
|
+ <a-radio value='9'>9.x+</a-radio>
|
|
|
+ <a-radio value='10'>10.x+</a-radio>
|
|
|
+
|
|
|
+ </a-radio-group>
|
|
|
+ </a-form-item>
|
|
|
+
|
|
|
+
|
|
|
+ <a-form-item
|
|
|
label="请选择目标人群"
|
|
|
:labelCol="{lg: {span: 7}, sm: {span: 7}}"
|
|
|
:wrapperCol="{lg: {span: 10}, sm: {span: 17} }">
|
|
@@ -140,7 +230,7 @@
|
|
|
v-model="scheduleTime"
|
|
|
:labelCol="{lg: {span: 7}, sm: {span: 20}}"
|
|
|
:wrapperCol="{lg: {span: 15}, sm: {span: 16} }">
|
|
|
- <div id="table_time_selected1" class="table_time_selected1">
|
|
|
+ <div id="table_time_selected1" class="table_time_selected1" style="width:70%">
|
|
|
</div>
|
|
|
</a-form-item>
|
|
|
|
|
@@ -306,7 +396,7 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
- import {deleteAction, postAction, getAction} from '@/api/manage'
|
|
|
+ import {getAction, postAction} from '@/api/manage'
|
|
|
import moment from "moment"
|
|
|
import {mapGetters} from 'vuex'
|
|
|
import jq from 'jquery'
|
|
@@ -328,7 +418,7 @@
|
|
|
speed: '1', // 1 快速投放 2平滑投放
|
|
|
schedulingType: '1',// 1 从今天开始长期投放 2 设置开始和结束日期
|
|
|
showTime: false,
|
|
|
- createCount: 0,
|
|
|
+ createCount: 1,
|
|
|
time: [],
|
|
|
scheduleTimeType: '1',
|
|
|
showScheduleTime: false,
|
|
@@ -356,21 +446,82 @@
|
|
|
deepConversionBid: 0,
|
|
|
unitType: '4',
|
|
|
|
|
|
+ showApp: false,
|
|
|
+ showRedirect: false,
|
|
|
+ appList: {},
|
|
|
+ appId: '',
|
|
|
+ redirectUrl: '',
|
|
|
+ showPlatformOs: true,
|
|
|
+ platformOs: '0',
|
|
|
+ showAndroidOsa: false,
|
|
|
+ androidOsv: '3',
|
|
|
+ showIOSOsa: false,
|
|
|
+ iosOsv: '6',
|
|
|
+
|
|
|
+
|
|
|
form: this.$form.createForm(this),
|
|
|
- url: {
|
|
|
- insertTemplateUrl: '/kuaishou/create/createGroups',
|
|
|
- userAllocationList: '/ctop/userAllocation/list',
|
|
|
- campaignList: '/kuaishou/kuaiShouCampaignTemplate/list',
|
|
|
- getDeepConversionUrl: '/kuaishou/kuaiShouConversionTypes/getIsActivate',
|
|
|
+ url:
|
|
|
+ {
|
|
|
+ insertTemplateUrl: '/kuaishou/create/createGroups',
|
|
|
+ userAllocationList: '/ctop/userAllocation/list',
|
|
|
+ campaignList: '/kuaishou/kuaiShouCampaignTemplate/list',
|
|
|
+ getDeepConversionUrl: '/kuaishou/kuaiShouConversionTypes/getIsActivate',
|
|
|
+ getCampaignTemplate: '/kuaishou/kuaiShouCampaignTemplate/getKuaiShouCampaignTemplate',
|
|
|
+ appListUrl: '/kuaishou/kuaiShouCreateAppTemplate/list',
|
|
|
|
|
|
|
|
|
- }
|
|
|
+ }
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
|
...mapGetters(["nickname", "avatar", "userInfo"]),
|
|
|
|
|
|
|
|
|
+ changePlatform() {
|
|
|
+ if (this.platformOs == '0') {
|
|
|
+ this.showAndroidOsa = false;
|
|
|
+ this.showIOSOsa = false;
|
|
|
+ } else if (this.platformOs == '1') {
|
|
|
+ this.showAndroidOsa = true;
|
|
|
+ this.showIOSOsa = false;
|
|
|
+ } else {
|
|
|
+ this.showAndroidOsa = false;
|
|
|
+ this.showIOSOsa = true;
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+ getUrlType() {
|
|
|
+
|
|
|
+ let params = {};
|
|
|
+ params.id = this.campaignTemplateId;
|
|
|
+ getAction(this.url.getCampaignTemplate, params).then((res) => {
|
|
|
+ if (res.type == '2') {
|
|
|
+ this.appId = res.appId
|
|
|
+ let params2 = {};
|
|
|
+ params2.loginId = this.userInfo().id;
|
|
|
+ params2.pageSize = '1000';
|
|
|
+ getAction(this.url.appListUrl, params2).then((res) => {
|
|
|
+ if (res.success) {
|
|
|
+ this.appList = res.result.records
|
|
|
+ console.log(this.appList)
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ this.showApp = true
|
|
|
+ this.showRedirect = false
|
|
|
+ this.showPlatformOs = false
|
|
|
+ } else {
|
|
|
+ this.showRedirect = true
|
|
|
+ this.showApp = false
|
|
|
+ this.showPlatformOs = true
|
|
|
+ this.redirectUrl = res.url
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ });
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
changeShowPosition() {
|
|
|
if (this.placementPosition == 1) {
|
|
|
this.showPosition = false;
|
|
@@ -385,13 +536,15 @@
|
|
|
params.accountId = this.accountId;
|
|
|
getAction(this.url.getDeepConversionUrl, params).then((res) => {
|
|
|
if (res.success) {
|
|
|
- if (res.result.isActivate == 1) {
|
|
|
+
|
|
|
+ console.log(typeof res.result.isActivate)
|
|
|
+ if (res.result.isActivate == '1') {
|
|
|
this.activationDisabled = false;
|
|
|
this.deepConversionTypes = res.result.deepConversionTypes;
|
|
|
} else {
|
|
|
this.activationDisabled = true;
|
|
|
}
|
|
|
- if (res.result.isFormSubmit == 1) {
|
|
|
+ if (res.result.isFormSubmit == '1') {
|
|
|
this.isFormDisabled = false;
|
|
|
} else {
|
|
|
this.isFormDisabled = true;
|
|
@@ -551,6 +704,18 @@
|
|
|
params.deepConversionBid = this.deepConversionBid * 1000;
|
|
|
|
|
|
|
|
|
+ let redundancyParams = {};
|
|
|
+
|
|
|
+ redundancyParams.appId = this.appId;
|
|
|
+ redundancyParams.redirectUrl = this.redirectUrl;
|
|
|
+ redundancyParams.platformOs = this.platformOs;
|
|
|
+ if (this.platformOs == '1') {
|
|
|
+ redundancyParams.androidOsv = this.androidOsv
|
|
|
+ } else if (this.platformOs == '2') {
|
|
|
+ redundancyParams.iosOsv = this.iosOsv
|
|
|
+ }
|
|
|
+
|
|
|
+ params.redundancy = JSON.stringify(redundancyParams);
|
|
|
console.log(params)
|
|
|
postAction(this.url.insertTemplateUrl, params).then((res) => {
|
|
|
console.log(res)
|