修改自定义处理逻辑

v1.1.0
于肖磊 2024-11-14 16:14:51 +08:00
parent 417a4d166b
commit 4e09c9cb0b
17 changed files with 118 additions and 62 deletions

View File

@ -48,10 +48,8 @@ const icon_class = computed(() => {
//
let icon = props.sourceList[form.data_source_id];
// , data
if (['goods', 'article', 'brand'].includes(props.sourceType)) {
if (!isEmpty(props.sourceList.data)) {
icon = props.sourceList.data[form.data_source_id];
}
if (['goods', 'article', 'brand'].includes(props.sourceType) && !isEmpty(props.sourceList.data)) {
icon = props.sourceList.data[form.data_source_id];
}
return icon;
} else {

View File

@ -26,7 +26,7 @@
</el-form-item>
<el-form-item label="数据链接">
<el-select v-model="form.data_source_link" value-key="id" clearable filterable placeholder="请选择数据链接字段" size="default" class="flex-1" @change="link_change('2')">
<el-option v-for="item in options.filter((item) => item.type == 'icon')" :key="item.field" :label="item.name" :value="item.field" />
<el-option v-for="item in options.filter((item) => item.type == 'link')" :key="item.field" :label="item.name" :value="item.field" />
</el-select>
</el-form-item>
<el-form-item label="图标颜色">

View File

@ -50,13 +50,11 @@ const img = computed(() => {
//
let image_url = props.sourceList[form.data_source_id];
// , data
if (['goods', 'article', 'brand'].includes(props.sourceType)) {
if (!isEmpty(props.sourceList.data)) {
if (form.data_source_id == keyMap[props.sourceType]) {
image_url = !isEmpty(props.sourceList.new_cover)? props.sourceList.new_cover[0]?.url || '' : props.sourceList.data[keyMap[props.sourceType]];
} else {
image_url = props.sourceList.data[form.data_source_id];
}
if (['goods', 'article', 'brand'].includes(props.sourceType) && !isEmpty(props.sourceList.data)) {
if (form.data_source_id == keyMap[props.sourceType]) {
image_url = !isEmpty(props.sourceList.new_cover)? props.sourceList.new_cover[0]?.url || '' : props.sourceList.data[keyMap[props.sourceType]];
} else {
image_url = props.sourceList.data[form.data_source_id];
}
}
return image_url;

View File

@ -26,7 +26,7 @@
</el-form-item>
<el-form-item label="数据链接">
<el-select v-model="form.data_source_link" value-key="id" clearable filterable placeholder="请选择数据链接字段" size="default" class="flex-1" @change="img_link_change('2')">
<el-option v-for="item in options.filter((item) => item.type == 'images')" :key="item.field" :label="item.name" :value="item.field" />
<el-option v-for="item in options.filter((item) => item.type == 'link')" :key="item.field" :label="item.name" :value="item.field" />
</el-select>
</el-form-item>
<el-form-item label="图片圆角">

View File

@ -52,14 +52,12 @@ const text_title = computed(() => {
let text = '';
let text_title = props.sourceList[form.data_source_id];
//
if (['goods', 'article', 'brand'].includes(props.sourceType)) {
if (!isEmpty(props.sourceList.data)) {
// data
if (form.data_source_id == keyMap[props.sourceType]) {
text_title = !isEmpty(props.sourceList.new_title) ? props.sourceList.new_title : props.sourceList.data[keyMap[props.sourceType]];
} else {
text_title = props.sourceList.data[form.data_source_id];
}
if (['goods', 'article', 'brand'].includes(props.sourceType) && !isEmpty(props.sourceList.data)) {
// data
if (form.data_source_id == keyMap[props.sourceType]) {
text_title = !isEmpty(props.sourceList.new_title) ? props.sourceList.new_title : props.sourceList.data[keyMap[props.sourceType]];
} else {
text_title = props.sourceList.data[form.data_source_id];
}
}
if (!isEmpty(form.text_title)) {

View File

@ -26,7 +26,7 @@
</el-form-item>
<el-form-item label="数据链接">
<el-select v-model="form.data_source_link" value-key="id" clearable filterable placeholder="请选择数据链接字段" size="default" class="flex-1" @change="text_link_change('2')">
<el-option v-for="item in options.filter((item) => item.type == 'text')" :key="item.field" :label="item.name" :value="item.field" />
<el-option v-for="item in options.filter((item) => item.type == 'link')" :key="item.field" :label="item.name" :value="item.field" />
</el-select>
</el-form-item>
<el-form-item label="富文本">

View File

@ -12,6 +12,9 @@
</div>
</template>
<template v-else>
<el-form-item label="关键字">
<el-input v-model="keyword" placeholder="请输入商品关键字" clearable @blur="keyword_blur"></el-input>
</el-form-item>
<el-form-item label="商品分类">
<el-select v-model="form.category_ids" multiple collapse-tags placeholder="请选择商品分类">
<el-option v-for="item in baseList.product_category_list" :key="item.id" :label="item.name" :value="item.id" />
@ -50,6 +53,9 @@
</div>
</template>
<template v-else>
<el-form-item label="关键字">
<el-input v-model="keyword" placeholder="请输入文章关键字" clearable @blur="keyword_blur"></el-input>
</el-form-item>
<el-form-item label="文章分类">
<el-select v-model="form.category_ids" multiple collapse-tags placeholder="请选择文章分类">
<el-option v-for="item in baseList.article_category_list" :key="item.id" :label="item.name" :value="item.id" />
@ -81,7 +87,7 @@
<template v-else>
<el-form-item label="读取方式">
<el-radio-group v-model="form.data_type">
<el-radio v-for="item in baseList.product_list" :key="item.value" :value="item.value">{{ item.name }}</el-radio>
<el-radio v-for="item in baseList.brand_data_type_list" :key="item.value" :value="item.value">{{ item.name }}</el-radio>
</el-radio-group>
</el-form-item>
<template v-if="form.data_type === '0'">
@ -91,14 +97,12 @@
</div>
</template>
<template v-else>
<el-form-item label="商品分类">
<el-select v-model="form.category_ids" multiple collapse-tags placeholder="请选择商品分类">
<el-option v-for="item in baseList.product_category_list" :key="item.id" :label="item.name" :value="item.id" />
</el-select>
<el-form-item label="关键字">
<el-input v-model="keyword" placeholder="请输入品牌关键字" clearable @blur="keyword_blur"></el-input>
</el-form-item>
<el-form-item label="指定品牌">
<el-select v-model="form.brand_ids" multiple collapse-tags placeholder="请选择品牌">
<el-option v-for="item in baseList.product_brand_list" :key="item.id" :label="item.name" :value="item.id" />
<el-form-item label="品牌分类">
<el-select v-model="form.category_ids" multiple collapse-tags placeholder="请选择品牌分类">
<el-option v-for="item in baseList.brand_category_list" :key="item.id" :label="item.name" :value="item.id" />
</el-select>
</el-form-item>
<el-form-item label="显示数量">
@ -106,7 +110,7 @@
</el-form-item>
<el-form-item label="排序类型">
<el-radio-group v-model="form.order_by_type">
<el-radio v-for="item in baseList.sort_list" :key="item.value" :value="item.value">{{ item.name }}</el-radio>
<el-radio v-for="item in baseList.brand_sort_list" :key="item.value" :value="item.value">{{ item.name }}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="排序规则">
@ -119,7 +123,7 @@
</template>
<script lang="ts" setup>
import { isEmpty } from 'lodash';
import { isEmpty, cloneDeep } from 'lodash';
const props = defineProps({
value: {
type: Object,
@ -138,23 +142,33 @@
default: 'goods',
}
});
const keyword = ref(props.value.keyword);
const form = ref(props.value);
const drag_list = ref(props.list);
//
watchEffect(() => {
keyword.value = props.value.keyword;
form.value = props.value;
drag_list.value = props.list;
});
const keyword_blur = () => {
form.value.keyword = keyword.value;
}
const emits = defineEmits(['data_list_sort', 'data_list_remove', 'data_list_replace', 'add']);
//
const data_list_sort = (new_list: any) => {
emits('data_list_sort', new_list);
};
//
const data_list_remove = (index: number) => {
emits('data_list_remove', index);
};
//
const data_list_replace = (index: number) => {
emits('data_list_replace', index);
};
//
const add = () => {
emits('add');
};

View File

@ -146,9 +146,9 @@ const new_content = computed(() => props.value?.content || {});
const new_style = computed(() => props.value?.style || {});
//
const get_auto_data_list = async () => {
const { category_ids, number, order_by_type, order_by_rule, is_cover } = new_content.value;
const { category_ids, number, order_by_type, order_by_rule, is_cover, keyword } = new_content.value;
const new_data = {
article_keywords: '',
article_keywords: keyword,
article_category_ids: category_ids.join(','),
article_order_by_type: order_by_type,
article_order_by_rule: order_by_rule,
@ -196,8 +196,8 @@ onMounted(() => {
});
// new_content
const data_list_computer = computed(() => {
const { data_type, category_ids, number, order_by_type, order_by_rule, is_cover, data_list } = new_content.value;
return { data_type, category_ids, number, order_by_type, order_by_rule, is_cover, data_list };
const { data_type, category_ids, number, order_by_type, order_by_rule, is_cover, data_list, keyword } = new_content.value;
return { data_type, category_ids, number, order_by_type, order_by_rule, is_cover, data_list, keyword };
});
// new_content
watch(

View File

@ -39,6 +39,7 @@ watch(
tabs_padding_style.value = padding_computer(new_style?.tabs_padding);
new_data.content.theme = new_data.content.article_theme;
new_data.content.data_type = new_data.content.tabs_list[tabs_active_index.value].data_type;
new_data.content.keyword = new_data.content.tabs_list[tabs_active_index.value].keyword;
new_data.content.category_ids = new_data.content.tabs_list[tabs_active_index.value].category_ids;
new_data.content.carousel_col = new_data.content.article_carousel_col;
new_data.content.data_list = new_data.content.tabs_list[tabs_active_index.value].data_list;

View File

@ -40,7 +40,7 @@
<model-lines-style :key="key" v-model:height="center_height" :value="diy_data"></model-lines-style>
</template>
<template v-else-if="diy_data.key == 'icon'">
<model-icon-style :key="key" v-model:height="center_height" :value="diy_data"></model-icon-style>
<model-icon-style :key="key" v-model:height="center_height" :options="model_data_source" :value="diy_data"></model-icon-style>
</template>
<template v-else-if="diy_data.key == 'panel'">
<model-panel-style :key="key" v-model:height="center_height" :value="diy_data"></model-panel-style>
@ -63,6 +63,7 @@ import { isEmpty, cloneDeep } from 'lodash';
import CustomAPI from '@/api/custom';
import ShopAPI from '@/api/shop';
import ArticleAPI from '@/api/article';
import BrandAPI from '@/api/brand';
import { commonStore, DataSourceStore } from '@/store';
import { get_math } from '@/utils';
const common_store = commonStore();
@ -206,6 +207,8 @@ const source_list = {
data_auto_list: [],
//
data_type: '0',
//
keyword: '',
//
category_ids: [],
//
@ -225,6 +228,8 @@ const source_list = {
//
data_auto_list: [],
data_type: '0',
//
keyword: '',
number: 4,
order_by_type: '0',
order_by_rule: '0',
@ -242,10 +247,10 @@ const source_list = {
data_auto_list: [],
//
data_type: '0',
//
keyword: '',
//
category_ids: [],
//
brand_ids: [],
//
number: 4,
//
@ -312,7 +317,7 @@ const base_list = reactive({
//
article_category_list: [] as select_1[],
data_type_list: [
{ name: '选择文章', value: '0' },
{ name: '指定文章', value: '0' },
{ name: '筛选文章', value: '1' },
],
new_sort_list: [
@ -325,16 +330,27 @@ const base_list = reactive({
{ name: '浏览量', value: '1' },
{ name: '描述', value: '2' },
],
//
brand_category_list: [] as select_1[],
brand_data_type_list: [
{ name: '指定品牌', value: '0' },
{ name: '筛选品牌', value: '1' },
],
brand_sort_list: [
{ name: '最新', value: '0' },
{ name: '热度', value: '1' },
],
});
onBeforeMount(() => {
nextTick(() => {
// common_store.common.article_category
const interval = setInterval(() => {
const { goods_category = [], brand_list = [], article_category = [] } = common_store.common;
const { goods_category = [], brand_list = [], article_category = [], brand_category = [] } = common_store.common;
if (goods_category.length > 0 || brand_list.length > 0 || article_category.length > 0) {
base_list.product_category_list = goods_category;
base_list.product_brand_list = brand_list;
base_list.article_category_list = article_category;
base_list.brand_category_list = brand_category;
clearInterval(interval);
}
}, 1000);
@ -398,9 +414,9 @@ let data_source_content_list = computed(() => {
})
//
const get_products = () => {
const { category_ids, brand_ids, number, order_by_type, order_by_rule } = form.data_source_content;
const { category_ids, brand_ids, number, order_by_type, order_by_rule, keyword } = form.data_source_content;
const params = {
goods_keywords: '',
goods_keywords: keyword,
goods_category_ids: category_ids,
goods_brand_ids: brand_ids,
goods_order_by_type: order_by_type,
@ -418,9 +434,9 @@ const get_products = () => {
};
//
const get_article = async () => {
const { category_ids, number, order_by_type, order_by_rule, is_cover } = form.data_source_content;
const { category_ids, number, order_by_type, order_by_rule, is_cover, keyword } = form.data_source_content;
const new_data = {
article_keywords: '',
article_keywords: keyword,
article_category_ids: category_ids.join(','),
article_order_by_type: order_by_type,
article_order_by_rule: order_by_rule,
@ -434,13 +450,31 @@ const get_article = async () => {
form.data_source_content.data_auto_list = res.data;
}
};
//
const get_brand = () => {
const { category_ids, number, order_by_type, order_by_rule, keyword } = form.data_source_content;
console.log(form.data_source_content);
const params = {
brand_keywords: keyword,
brand_category_ids: category_ids,
brand_order_by_type: order_by_type,
brand_order_by_rule: order_by_rule,
brand_number: number,
};
//
BrandAPI.getBrandLists(params).then((res: any) => {
//
form.data_source_content.data_auto_list = [];
if (!isEmpty(res.data)) {
form.data_source_content.data_auto_list = res.data;
}
});
console.log('品牌分类数据');
form.data_source_content.data_auto_list = [];
}
const data_source_content_value = computed(() => {
const { category_ids, brand_ids, number, order_by_type, order_by_rule, data_type, is_cover } = form.data_source_content;
return { category_ids: category_ids, brand_ids: brand_ids, number: number, order_by_type: order_by_type, order_by_rule: order_by_rule, data_type: data_type, is_cover: is_cover };
const { category_ids, brand_ids, number, order_by_type, order_by_rule, data_type, is_cover, keyword } = form.data_source_content;
return { category_ids: category_ids, brand_ids: brand_ids, number: number, order_by_type: order_by_type, order_by_rule: order_by_rule, data_type: data_type, is_cover: is_cover, keyword: keyword };
})
watch(() => data_source_content_value.value, (new_val) => {

View File

@ -87,7 +87,12 @@ let data_source_content_list = computed(() => {
if (form.value.data_source_content.data_type == '0') {
return form.value.data_source_content.data_list;
} else {
return form.value.data_source_content.data_auto_list;
return form.value.data_source_content.data_auto_list.map((item: any) => ({
id: Math.random(),
new_cover: [],
new_title: '',
data: item,
}));
}
} else {
return form.value.data_source_content.data_list;

View File

@ -257,9 +257,9 @@ onMounted(() => {
});
const get_products = () => {
const { category_ids, brand_ids, number, order_by_type, order_by_rule } = form.value;
const { category_ids, brand_ids, number, order_by_type, order_by_rule, keyword } = form.value;
const params = {
goods_keywords: '',
goods_keywords: keyword,
goods_category_ids: category_ids,
goods_brand_ids: brand_ids,
goods_order_by_type: order_by_type,
@ -277,8 +277,8 @@ const get_products = () => {
};
//
const watch_data = computed(() => {
const { category_ids, brand_ids, number, order_by_type, order_by_rule, data_type, data_list } = form.value;
return { category_ids: category_ids, brand_ids: brand_ids, number: number, order_by_type: order_by_type, order_by_rule: order_by_rule, data_type: data_type, data_list: data_list };
const { category_ids, brand_ids, number, order_by_type, order_by_rule, data_type, data_list, keyword } = form.value;
return { category_ids: category_ids, brand_ids: brand_ids, number: number, order_by_type: order_by_type, order_by_rule: order_by_rule, data_type: data_type, data_list: data_list, keyword: keyword };
})
// ,
watch(() => watch_data.value, (val, oldVal) => {

View File

@ -38,6 +38,7 @@ watch(
tabs_padding_style.value = padding_computer(new_style?.tabs_padding);
//
new_data.content.data_type = new_data.content.tabs_list[tabs_active_index.value].data_type;
new_data.content.keyword = new_data.content.tabs_list[tabs_active_index.value].keyword;
new_data.content.category_ids = new_data.content.tabs_list[tabs_active_index.value].category_ids;
new_data.content.brand_ids = new_data.content.tabs_list[tabs_active_index.value].brand_ids;
new_data.content.number = new_data.content.tabs_list[tabs_active_index.value].number;

View File

@ -13,6 +13,7 @@ interface DefaultArticleList {
theme: string;
carousel_col: string;
data_type: string;
keyword: string;
category_ids: string[];
data_list: ArticleList[];
data_ids: string;
@ -58,6 +59,7 @@ const defaultArticleList: DefaultArticleList = {
theme: '0',
carousel_col: '2',
data_type: '0',
keyword: '',
category_ids: defaultSetting.category_ids,
data_list: [],
data_ids: '',

View File

@ -11,6 +11,7 @@ interface articleTabsList {
title: string;
desc: string;
data_type: string;
keyword: string;
category_ids: string[];
number: number;
order_by_type: string;
@ -79,12 +80,12 @@ const defaultArticleTabs: DefaultArticleTabs = {
article_theme: '0',
article_carousel_col: '2',
tabs_list: [
{ id: '1', title: '热门推荐', desc: '简介', data_type: '0', category_ids: defaultSetting.category_ids, data_ids: '', number: defaultSetting.page_size, order_by_type: defaultSetting.order_by_type, order_by_rule: defaultSetting.order_by_rule, is_cover: defaultSetting.is_cover, data_list: [], data_auto_list: [] },
{ id: '2', title: '测试一', desc: '简介', data_type: '0', category_ids: defaultSetting.category_ids, data_ids: '', number: defaultSetting.page_size, order_by_type: defaultSetting.order_by_type, order_by_rule: defaultSetting.order_by_rule, is_cover: defaultSetting.is_cover, data_list: [], data_auto_list: [] },
{ id: '3', title: '测试二', desc: '简介', data_type: '0', category_ids: defaultSetting.category_ids, data_ids: '', number: defaultSetting.page_size, order_by_type: defaultSetting.order_by_type, order_by_rule: defaultSetting.order_by_rule, is_cover: defaultSetting.is_cover, data_list: [], data_auto_list: [] },
{ id: '4', title: '测试三', desc: '简介', data_type: '0', category_ids: defaultSetting.category_ids, data_ids: '', number: defaultSetting.page_size, order_by_type: defaultSetting.order_by_type, order_by_rule: defaultSetting.order_by_rule, is_cover: defaultSetting.is_cover, data_list: [], data_auto_list: [] },
{ id: '5', title: '测试四', desc: '简介', data_type: '0', category_ids: defaultSetting.category_ids, data_ids: '', number: defaultSetting.page_size, order_by_type: defaultSetting.order_by_type, order_by_rule: defaultSetting.order_by_rule, is_cover: defaultSetting.is_cover, data_list: [], data_auto_list: [] },
{ id: '6', title: '测试五', desc: '简介', data_type: '0', category_ids: defaultSetting.category_ids, data_ids: '', number: defaultSetting.page_size, order_by_type: defaultSetting.order_by_type, order_by_rule: defaultSetting.order_by_rule, is_cover: defaultSetting.is_cover, data_list: [], data_auto_list: [] },
{ id: '1', title: '热门推荐', desc: '简介', data_type: '0', keyword: '', category_ids: defaultSetting.category_ids, data_ids: '', number: defaultSetting.page_size, order_by_type: defaultSetting.order_by_type, order_by_rule: defaultSetting.order_by_rule, is_cover: defaultSetting.is_cover, data_list: [], data_auto_list: [] },
{ id: '2', title: '测试一', desc: '简介', data_type: '0', keyword: '', category_ids: defaultSetting.category_ids, data_ids: '', number: defaultSetting.page_size, order_by_type: defaultSetting.order_by_type, order_by_rule: defaultSetting.order_by_rule, is_cover: defaultSetting.is_cover, data_list: [], data_auto_list: [] },
{ id: '3', title: '测试二', desc: '简介', data_type: '0', keyword: '', category_ids: defaultSetting.category_ids, data_ids: '', number: defaultSetting.page_size, order_by_type: defaultSetting.order_by_type, order_by_rule: defaultSetting.order_by_rule, is_cover: defaultSetting.is_cover, data_list: [], data_auto_list: [] },
{ id: '4', title: '测试三', desc: '简介', data_type: '0', keyword: '', category_ids: defaultSetting.category_ids, data_ids: '', number: defaultSetting.page_size, order_by_type: defaultSetting.order_by_type, order_by_rule: defaultSetting.order_by_rule, is_cover: defaultSetting.is_cover, data_list: [], data_auto_list: [] },
{ id: '5', title: '测试四', desc: '简介', data_type: '0', keyword: '', category_ids: defaultSetting.category_ids, data_ids: '', number: defaultSetting.page_size, order_by_type: defaultSetting.order_by_type, order_by_rule: defaultSetting.order_by_rule, is_cover: defaultSetting.is_cover, data_list: [], data_auto_list: [] },
{ id: '6', title: '测试五', desc: '简介', data_type: '0', keyword: '', category_ids: defaultSetting.category_ids, data_ids: '', number: defaultSetting.page_size, order_by_type: defaultSetting.order_by_type, order_by_rule: defaultSetting.order_by_rule, is_cover: defaultSetting.is_cover, data_list: [], data_auto_list: [] },
],
tabs_active_index: 0,
field_show: ['0', '1'],

View File

@ -6,6 +6,7 @@ interface DefaultProductList {
content: {
theme: string;
data_type: string;
keyword: string;
carousel_col: number;
category_ids: string[];
brand_ids: string[];
@ -71,6 +72,8 @@ const defaultProductList: DefaultProductList = {
theme: '0',
// 商品类型
data_type: '0',
// 商品关键字
keyword: '',
// 轮播列数
carousel_col: 3,
// 商品列表

View File

@ -8,6 +8,7 @@ interface articleTabsList {
img: uploadList[];
desc: string;
data_type: string;
keyword: string;
category_ids: string[];
brand_ids: string[];
data_ids: string[];
@ -98,10 +99,10 @@ const defaultProductList: DefaultProductList = {
carousel_col: 3,
// 选项卡数据
tabs_list: [
{ id: '1', title: '热门推荐', img: [], desc: '简介', data_type: '0', category_ids: defaultSetting.category_ids, brand_ids: defaultSetting.brand_ids, data_ids: [], number: defaultSetting.page_size, order_by_type: defaultSetting.order_by_type, order_by_rule: defaultSetting.order_by_type, data_list: [], data_auto_list: [] },
{ id: '2', title: '测试一', img: [], desc: '简介', data_type: '0', category_ids: defaultSetting.category_ids, brand_ids: defaultSetting.brand_ids, data_ids: [], number: defaultSetting.page_size, order_by_type: defaultSetting.order_by_type, order_by_rule: defaultSetting.order_by_type, data_list: [], data_auto_list: [] },
{ id: '3', title: '测试二', img: [], desc: '简介', data_type: '0', category_ids: defaultSetting.category_ids, brand_ids: defaultSetting.brand_ids, data_ids: [], number: defaultSetting.page_size, order_by_type: defaultSetting.order_by_type, order_by_rule: defaultSetting.order_by_type, data_list: [], data_auto_list: [] },
{ id: '4', title: '测试三', img: [], desc: '简介', data_type: '0', category_ids: defaultSetting.category_ids, brand_ids: defaultSetting.brand_ids, data_ids: [], number: defaultSetting.page_size, order_by_type: defaultSetting.order_by_type, order_by_rule: defaultSetting.order_by_type, data_list: [], data_auto_list: [] },
{ id: '1', title: '热门推荐', img: [], desc: '简介', data_type: '0', keyword: '', category_ids: defaultSetting.category_ids, brand_ids: defaultSetting.brand_ids, data_ids: [], number: defaultSetting.page_size, order_by_type: defaultSetting.order_by_type, order_by_rule: defaultSetting.order_by_type, data_list: [], data_auto_list: [] },
{ id: '2', title: '测试一', img: [], desc: '简介', data_type: '0', keyword: '', category_ids: defaultSetting.category_ids, brand_ids: defaultSetting.brand_ids, data_ids: [], number: defaultSetting.page_size, order_by_type: defaultSetting.order_by_type, order_by_rule: defaultSetting.order_by_type, data_list: [], data_auto_list: [] },
{ id: '3', title: '测试二', img: [], desc: '简介', data_type: '0', keyword: '', category_ids: defaultSetting.category_ids, brand_ids: defaultSetting.brand_ids, data_ids: [], number: defaultSetting.page_size, order_by_type: defaultSetting.order_by_type, order_by_rule: defaultSetting.order_by_type, data_list: [], data_auto_list: [] },
{ id: '4', title: '测试三', img: [], desc: '简介', data_type: '0', keyword: '', category_ids: defaultSetting.category_ids, brand_ids: defaultSetting.brand_ids, data_ids: [], number: defaultSetting.page_size, order_by_type: defaultSetting.order_by_type, order_by_rule: defaultSetting.order_by_type, data_list: [], data_auto_list: [] },
],
// 选中的内容索引
tabs_active_index: 0,