|
|
@@ -18,6 +18,22 @@
|
|
|
@size-change="sizeChange"
|
|
|
@refresh-change="refreshChange"
|
|
|
@on-load="onLoad">
|
|
|
+ <template slot-scope="{type,size}" slot="activeIdSearch">
|
|
|
+ <el-select @change="searchStateChange" v-model="query.activeId"
|
|
|
+ :loading="loading"
|
|
|
+ filterable
|
|
|
+ remote
|
|
|
+ reserve-keyword
|
|
|
+ placeholder="请输入关键词"
|
|
|
+ :remote-method="searchActiveList">
|
|
|
+ <el-option
|
|
|
+ v-for="item in searchActiveOption"
|
|
|
+ :key="item.id"
|
|
|
+ :label="item.title"
|
|
|
+ :value="item.id">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </template>
|
|
|
<template slot-scope="{type,size}" slot="createTimeSearch">
|
|
|
<el-radio-group v-model="query.createTime" :size="size" style="float: left">
|
|
|
<el-radio-button @click="searchStateChange" :label="-1">全部</el-radio-button>
|
|
|
@@ -71,7 +87,8 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import {add, getDetail, getList, remove, update, generateList} from "@/api/sing_active/activeproductrecord";
|
|
|
+import {add, generateList, getDetail, getList, remove, update} from "@/api/sing_active/activeproductrecord";
|
|
|
+import {getList as getActiveList,getDetail as getActiveRecordDetail} from "@/api/sing_active/activerecord";
|
|
|
import {mapGetters} from "vuex";
|
|
|
import moment from "moment";
|
|
|
import IconFontComp from "@/views/base/iconfont";
|
|
|
@@ -82,6 +99,7 @@ export default {
|
|
|
data() {
|
|
|
return {
|
|
|
form: {},
|
|
|
+ searchActiveOption:[],
|
|
|
query: {
|
|
|
createTime: -1,
|
|
|
createTimeRange: [],
|
|
|
@@ -131,9 +149,9 @@ export default {
|
|
|
label: "活动",
|
|
|
prop: "activeId",
|
|
|
search: true,
|
|
|
- change: (val)=>{
|
|
|
- this.query.activeId = val.value;
|
|
|
- this.searchStateChange();
|
|
|
+ searchslot: true,
|
|
|
+ control:(val,form)=>{
|
|
|
+ return this.controlActiveField(val,form);
|
|
|
},
|
|
|
searchSpan: 12,
|
|
|
searchOrder: 0,
|
|
|
@@ -157,6 +175,7 @@ export default {
|
|
|
prop: "type",
|
|
|
type: "select",
|
|
|
hide: true,
|
|
|
+ disabled: true,
|
|
|
control:(value)=>{
|
|
|
const result = {
|
|
|
videoUrl:{
|
|
|
@@ -419,7 +438,25 @@ export default {
|
|
|
return ids.join(",");
|
|
|
}
|
|
|
},
|
|
|
+ created() {
|
|
|
+ this.searchActiveList();
|
|
|
+ },
|
|
|
methods: {
|
|
|
+ searchActiveList(value){
|
|
|
+ getActiveList(1,999,{
|
|
|
+ title: value,
|
|
|
+ }).then(res=>{
|
|
|
+ this.searchActiveOption = res.data.data.records;
|
|
|
+ });
|
|
|
+ },
|
|
|
+ controlActiveField(value,form){
|
|
|
+ if(value){
|
|
|
+ getActiveRecordDetail(value).then(res=>{
|
|
|
+ form.type = res.data.data.type;
|
|
|
+ });
|
|
|
+ }
|
|
|
+ return {};
|
|
|
+ },
|
|
|
rowSave(row, done, loading) {
|
|
|
row.content = encodeURIComponent(row.content);
|
|
|
if (row.videoUrl && row.videoUrl.constructor == Array){
|
|
|
@@ -495,11 +532,6 @@ export default {
|
|
|
getDetail(this.form.id).then(res => {
|
|
|
res.data.data.content = decodeURIComponent(res.data.data.content);
|
|
|
this.form = res.data.data;
|
|
|
- if(this.form.videoUrl){
|
|
|
- this.form.type = "VIDEO_TEXT";
|
|
|
- }else{
|
|
|
- this.form.type = "IMAGE_TEXT";
|
|
|
- }
|
|
|
});
|
|
|
}
|
|
|
done();
|
|
|
@@ -531,8 +563,9 @@ export default {
|
|
|
},
|
|
|
onLoad(page, params = {}) {
|
|
|
let values = {};
|
|
|
+ Object.assign(params,this.query)
|
|
|
for (const item in params) {
|
|
|
- if (params[item] !== undefined && params[item] !== -1) {
|
|
|
+ if (params[item] && params[item] !== -1) {
|
|
|
values[item] = params[item];
|
|
|
}
|
|
|
}
|