|
@@ -4,36 +4,18 @@
|
|
|
<el-main>
|
|
|
<el-form label-width="100px">
|
|
|
<el-divider content-position="left">编辑基本信息</el-divider>
|
|
|
- <el-form
|
|
|
- :model="form"
|
|
|
- :rules="rules"
|
|
|
- ref="ruleForm"
|
|
|
- label-width="100px"
|
|
|
- >
|
|
|
+ <el-form :model="form" :rules="rules" ref="ruleForm" label-width="100px">
|
|
|
<el-row :gutter="10">
|
|
|
<el-col :span="17">
|
|
|
<el-form-item label="策略名称" prop="name">
|
|
|
- <el-input
|
|
|
- style="width: 300px"
|
|
|
- v-model="form.name"
|
|
|
- @change="changeInputer"
|
|
|
- />
|
|
|
+ <el-input style="width: 300px" v-model="form.name" @change="changeInputer" />
|
|
|
</el-form-item>
|
|
|
<el-form-item label="策略描述" prop="maskText">
|
|
|
- <el-input
|
|
|
- type="textarea"
|
|
|
- :autosize="{ minRows: 2, maxRows: 4 }"
|
|
|
- v-model="form.content"
|
|
|
- />
|
|
|
+ <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 4 }" v-model="form.content" />
|
|
|
</el-form-item>
|
|
|
|
|
|
<el-form-item label="策略类型" prop="type">
|
|
|
- <el-select
|
|
|
- style="width: 300px"
|
|
|
- v-model="form.type"
|
|
|
- placeholder="请选择策略类型"
|
|
|
- :disabled="this.edit"
|
|
|
- >
|
|
|
+ <el-select style="width: 300px" v-model="form.type" placeholder="请选择策略类型" :disabled="this.edit">
|
|
|
<el-option label="A/B策略" :value="1" />
|
|
|
<el-option label="地域投放" :value="2" />
|
|
|
<el-option label="活动投放" :value="3" />
|
|
@@ -44,11 +26,7 @@
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="生效状态" v-if="this.edit">
|
|
|
- <el-select
|
|
|
- style="width: 300px"
|
|
|
- v-model="form.state"
|
|
|
- placeholder="请选择生效状态"
|
|
|
- >
|
|
|
+ <el-select style="width: 300px" v-model="form.state" placeholder="请选择生效状态">
|
|
|
<el-option label="有效" :value="1" />
|
|
|
<el-option label="无效" :value="0" />
|
|
|
</el-select>
|
|
@@ -63,46 +41,18 @@
|
|
|
<div class="tip">
|
|
|
<span class="req">*</span>
|
|
|
<el-form-item label="日期选择" prop="datetimerange">
|
|
|
- <el-date-picker
|
|
|
- type="datetimerange"
|
|
|
- clearable
|
|
|
- v-model="datetimerange"
|
|
|
- start-placeholder="开始日期"
|
|
|
- end-placeholder="结束日期"
|
|
|
- range-separator="至"
|
|
|
- value-format="yyyy-MM-dd HH:mm:ss"
|
|
|
- >
|
|
|
+ <el-date-picker type="datetimerange" clearable v-model="datetimerange" start-placeholder="开始日期" end-placeholder="结束日期" range-separator="至" value-format="yyyy-MM-dd HH:mm:ss">
|
|
|
</el-date-picker>
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
- <el-tabs
|
|
|
- v-model="editableTabsValue"
|
|
|
- type="card"
|
|
|
- closable
|
|
|
- @tab-click="clickTab"
|
|
|
- >
|
|
|
- <el-tab-pane
|
|
|
- v-for="item in abform.groupInfo"
|
|
|
- :key="item.groupName"
|
|
|
- :label="item.groupName"
|
|
|
- :name="item.groupName"
|
|
|
- >
|
|
|
+ <el-tabs v-model="editableTabsValue" type="card" closable @tab-click="clickTab">
|
|
|
+ <el-tab-pane v-for="item in abform.groupInfo" :key="item.groupName" :label="item.groupName" :name="item.groupName">
|
|
|
<div>
|
|
|
<div class="tip">
|
|
|
<span class="req">*</span>
|
|
|
<el-form-item label="选择策略" prop="strategyTemplateId">
|
|
|
- <el-select
|
|
|
- v-model="item.strategyTemplateId"
|
|
|
- clearable
|
|
|
- filterable
|
|
|
- placeholder="请选择"
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="item in strategyList"
|
|
|
- :key="item.id"
|
|
|
- :label="item.strategyName"
|
|
|
- :value="item.id"
|
|
|
- >
|
|
|
+ <el-select v-model="item.strategyTemplateId" clearable filterable placeholder="请选择">
|
|
|
+ <el-option v-for="item in strategyList" :key="item.id" :label="item.strategyName" :value="item.id">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
@@ -110,11 +60,7 @@
|
|
|
<div class="tip">
|
|
|
<span class="req">*</span>
|
|
|
<el-form-item label="分流占比" prop="flowPercent">
|
|
|
- <el-input
|
|
|
- style="width: 90%"
|
|
|
- v-model="item.flowPercent"
|
|
|
- placeholder="请输入小数"
|
|
|
- />
|
|
|
+ <el-input style="width: 90%" v-model="item.flowPercent" placeholder="请输入小数" />
|
|
|
<div style="color: red">
|
|
|
请输入小数如0.5,各组占比之和为1
|
|
|
</div>
|
|
@@ -130,18 +76,8 @@
|
|
|
<div class="tip">
|
|
|
<span class="req">*</span>
|
|
|
<el-form-item label="地域选择" prop="locatioName">
|
|
|
- <el-select
|
|
|
- v-model="locationForm.locatioName"
|
|
|
- clearable
|
|
|
- filterable
|
|
|
- placeholder="请选择"
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="item in provinceListAll"
|
|
|
- :key="item"
|
|
|
- :value="item"
|
|
|
- :label="item"
|
|
|
- >
|
|
|
+ <el-select v-model="locationForm.locatioName" clearable filterable placeholder="请选择">
|
|
|
+ <el-option v-for="item in provinceListAll" :key="item" :value="item" :label="item">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
@@ -149,18 +85,8 @@
|
|
|
<div class="tip">
|
|
|
<span class="req">*</span>
|
|
|
<el-form-item label="选用策略" prop="strategyTemplateId">
|
|
|
- <el-select
|
|
|
- v-model="locationForm.strategyTemplateId"
|
|
|
- clearable
|
|
|
- filterable
|
|
|
- placeholder="请选择"
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="item in strategyList"
|
|
|
- :key="item.id"
|
|
|
- :label="item.strategyName"
|
|
|
- :value="item.id"
|
|
|
- >
|
|
|
+ <el-select v-model="locationForm.strategyTemplateId" clearable filterable placeholder="请选择">
|
|
|
+ <el-option v-for="item in strategyList" :key="item.id" :label="item.strategyName" :value="item.id">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
@@ -172,77 +98,35 @@
|
|
|
<div class="tip">
|
|
|
<span class="req">*</span>
|
|
|
<el-form-item label="日期选择" prop="datetimerange">
|
|
|
- <el-date-picker
|
|
|
- type="datetimerange"
|
|
|
- clearable
|
|
|
- v-model="datetimerange"
|
|
|
- start-placeholder="开始日期"
|
|
|
- end-placeholder="结束日期"
|
|
|
- range-separator="至"
|
|
|
- value-format="yyyy-MM-dd"
|
|
|
- >
|
|
|
+ <el-date-picker type="datetimerange" clearable v-model="datetimerange" start-placeholder="开始日期" end-placeholder="结束日期" range-separator="至" value-format="yyyy-MM-dd">
|
|
|
</el-date-picker>
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
<el-form-item label="星期选择">
|
|
|
- <el-checkbox
|
|
|
- :indeterminate="isIndeterminate"
|
|
|
- v-model="checkAll"
|
|
|
- @change="handleCheckAllChange"
|
|
|
- >
|
|
|
+ <el-checkbox :indeterminate="isIndeterminate" v-model="checkAll" @change="handleCheckAllChange">
|
|
|
全选
|
|
|
</el-checkbox>
|
|
|
<div style="margin: 15px 0"></div>
|
|
|
- <el-checkbox-group
|
|
|
- v-model="checkedWeeks"
|
|
|
- @change="handleCheckedCitiesChange"
|
|
|
- >
|
|
|
- <el-checkbox
|
|
|
- v-for="item in weeksList"
|
|
|
- :label="item"
|
|
|
- :key="item"
|
|
|
- >{{ item }}</el-checkbox
|
|
|
- >
|
|
|
+ <el-checkbox-group v-model="checkedWeeks" @change="handleCheckedCitiesChange">
|
|
|
+ <el-checkbox v-for="item in weeksList" :label="item" :key="item">{{ item }}</el-checkbox>
|
|
|
</el-checkbox-group>
|
|
|
</el-form-item>
|
|
|
|
|
|
<div class="tip">
|
|
|
<span class="req">*</span>
|
|
|
<el-form-item label="时间选择" prop="startTime">
|
|
|
- <el-time-picker
|
|
|
- v-model="activeForm.startTime"
|
|
|
- :picker-options="{ start: '00:00', end: '18:30' }"
|
|
|
- format="HH:mm:ss"
|
|
|
- value-format="HH:mm:ss"
|
|
|
- placeholder="开始时间"
|
|
|
- >
|
|
|
+ <el-time-picker v-model="activeForm.startTime" :picker-options="{ start: '00:00', end: '18:30' }" format="HH:mm:ss" value-format="HH:mm:ss" placeholder="开始时间">
|
|
|
</el-time-picker>
|
|
|
-
|
|
|
- <el-time-picker
|
|
|
- v-model="activeForm.endTime"
|
|
|
- format="HH:mm:ss"
|
|
|
- value-format="HH:mm:ss"
|
|
|
- placeholder="结束时间"
|
|
|
- >
|
|
|
+ <el-time-picker v-model="activeForm.endTime" format="HH:mm:ss" value-format="HH:mm:ss" placeholder="结束时间">
|
|
|
</el-time-picker>
|
|
|
</el-form-item>
|
|
|
</div>
|
|
|
<div class="tip">
|
|
|
<span class="req">*</span>
|
|
|
<el-form-item label="投放策略" prop="strategyTemplateId">
|
|
|
- <el-select
|
|
|
- v-model="activeForm.strategyTemplateId"
|
|
|
- style="width: 40%"
|
|
|
- clearable
|
|
|
- filterable
|
|
|
- placeholder="请选择"
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="item in strategyList"
|
|
|
- :key="item.id"
|
|
|
- :label="item.strategyName"
|
|
|
- :value="item.id"
|
|
|
- >
|
|
|
+ <el-select v-model="activeForm.strategyTemplateId" style="width: 40%" clearable filterable placeholder="请选择">
|
|
|
+ <el-option v-for="item in strategyList" :key="item.id" :label="item.strategyName" :value="item.id">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
@@ -252,28 +136,14 @@
|
|
|
<div v-if="form.type == 4">
|
|
|
<el-form-item>
|
|
|
<el-checkbox-group v-model="checkVideo">
|
|
|
- <el-checkbox
|
|
|
- v-for="item in checkList"
|
|
|
- :label="item"
|
|
|
- :key="item.id"
|
|
|
- >{{ item }}</el-checkbox
|
|
|
- >
|
|
|
+ <el-checkbox v-for="item in checkList" :label="item" :key="item.id">{{ item }}</el-checkbox>
|
|
|
</el-checkbox-group>
|
|
|
+ <el-button class="elbut" style="float: right">拉取</el-button>
|
|
|
</el-form-item>
|
|
|
+
|
|
|
<el-form-item label="投放策略">
|
|
|
- <el-select
|
|
|
- v-model="form.strategyTemplateId"
|
|
|
- style="width: 40%"
|
|
|
- clearable
|
|
|
- filterable
|
|
|
- placeholder="请选择"
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="item in strategyList"
|
|
|
- :key="item.id"
|
|
|
- :label="item.strategyName"
|
|
|
- :value="item.id"
|
|
|
- >
|
|
|
+ <el-select v-model="form.strategyTemplateId" style="width: 40%" clearable filterable placeholder="请选择">
|
|
|
+ <el-option v-for="item in strategyList" :key="item.id" :label="item.strategyName" :value="item.id">
|
|
|
</el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
@@ -283,11 +153,7 @@
|
|
|
<el-footer style="z-index: 9999">
|
|
|
<div class="bodyBox" style="display: flex; justify-content: flex-end">
|
|
|
<el-button> 清空 </el-button>
|
|
|
- <el-button
|
|
|
- style="display: flex; justify-content: flex-end"
|
|
|
- type="primary"
|
|
|
- @click="onSubmit('ruleForm')"
|
|
|
- >
|
|
|
+ <el-button style="display: flex; justify-content: flex-end" type="primary" @click="onSubmit('ruleForm')">
|
|
|
保存
|
|
|
</el-button>
|
|
|
</div>
|
|
@@ -300,7 +166,7 @@ import { post, get } from "@/api/common";
|
|
|
const weekOptions = ["周日", "周一", "周二 ", "周三", "周四", "周五", "周六"];
|
|
|
import { parseTimee } from "@/utils";
|
|
|
export default {
|
|
|
- data() {
|
|
|
+ data () {
|
|
|
return {
|
|
|
form: {
|
|
|
id: null,
|
|
@@ -436,13 +302,13 @@ export default {
|
|
|
},
|
|
|
};
|
|
|
},
|
|
|
- created() {
|
|
|
+ created () {
|
|
|
// console.log(this.edit);
|
|
|
get("/strategytemplate/list", { pageSize: 999, pageNum: 1 }).then((res) => {
|
|
|
this.strategyList = res.data.list;
|
|
|
});
|
|
|
},
|
|
|
- mounted() {
|
|
|
+ mounted () {
|
|
|
//数据回显
|
|
|
if (this.$route.query.id) {
|
|
|
//编辑
|
|
@@ -531,7 +397,7 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
watch: {
|
|
|
- datetimerange(val) {
|
|
|
+ datetimerange (val) {
|
|
|
if (val) {
|
|
|
console.log(val);
|
|
|
//ab
|
|
@@ -549,7 +415,7 @@ export default {
|
|
|
this.activeForm.endDate = "";
|
|
|
}
|
|
|
},
|
|
|
- checkedWeeks(val) {
|
|
|
+ checkedWeeks (val) {
|
|
|
this.activeForm.weeks = val
|
|
|
.map((i) => weekOptions.findIndex((j) => j == i))
|
|
|
.sort()
|
|
@@ -559,7 +425,7 @@ export default {
|
|
|
},
|
|
|
methods: {
|
|
|
//提交
|
|
|
- onSubmit(formName) {
|
|
|
+ onSubmit (formName) {
|
|
|
if (this.$route.query.id) {
|
|
|
//修改
|
|
|
this.form.id = this.$route.query.id;
|
|
@@ -700,7 +566,7 @@ export default {
|
|
|
});
|
|
|
}
|
|
|
},
|
|
|
- changeInputer() {
|
|
|
+ changeInputer () {
|
|
|
//新增自动添加名字
|
|
|
if (!this.$route.query.id) {
|
|
|
if (this.form.name) {
|
|
@@ -708,14 +574,14 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
- clickTab(tab) {
|
|
|
+ clickTab (tab) {
|
|
|
console.log(this.abform.groupInfo[tab.index]);
|
|
|
},
|
|
|
- handleCheckAllChange(val) {
|
|
|
+ handleCheckAllChange (val) {
|
|
|
this.checkedWeeks = val ? weekOptions : [];
|
|
|
this.isIndeterminate = false;
|
|
|
},
|
|
|
- handleCheckedCitiesChange(value) {
|
|
|
+ handleCheckedCitiesChange (value) {
|
|
|
let checkedCount = value.length;
|
|
|
this.checkAll = checkedCount === this.weeksList.length;
|
|
|
this.isIndeterminate =
|
|
@@ -761,4 +627,8 @@ export default {
|
|
|
// margin-right: 0;
|
|
|
margin-right: -25px;
|
|
|
}
|
|
|
+.elbut {
|
|
|
+ margin-top: -40px;
|
|
|
+ // margin-right: 500px;
|
|
|
+}
|
|
|
</style>
|