修改商品加购逻辑

v1.2.0
于肖磊 2025-01-20 15:54:23 +08:00
parent 4bc19453d6
commit 9d197f8466
14 changed files with 78 additions and 54 deletions

View File

@ -11,7 +11,7 @@
</div> </div>
<div v-show="form.data_type === '1'" class="w h"> <div v-show="form.data_type === '1'" class="w h">
<el-form-item label="关键字"> <el-form-item label="关键字">
<el-input v-model="keyword" placeholder="请输入商品关键字" clearable @blur="keyword_blur"></el-input> <el-input v-model="keywords" placeholder="请输入商品关键字" clearable @blur="keyword_blur"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="商品分类"> <el-form-item label="商品分类">
<el-select v-model="form.category_ids" multiple collapse-tags filterable placeholder="请选择商品分类"> <el-select v-model="form.category_ids" multiple collapse-tags filterable placeholder="请选择商品分类">
@ -50,7 +50,7 @@
</div> </div>
<div v-show="form.data_type === '1'" class="w h"> <div v-show="form.data_type === '1'" class="w h">
<el-form-item label="关键字"> <el-form-item label="关键字">
<el-input v-model="keyword" placeholder="请输入文章关键字" clearable @blur="keyword_blur"></el-input> <el-input v-model="keywords" placeholder="请输入文章关键字" clearable @blur="keyword_blur"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="文章分类"> <el-form-item label="文章分类">
<el-select v-model="form.category_ids" multiple collapse-tags filterable placeholder="请选择文章分类"> <el-select v-model="form.category_ids" multiple collapse-tags filterable placeholder="请选择文章分类">
@ -87,7 +87,7 @@
</div> </div>
<div v-show="form.data_type === '1'" class="w h"> <div v-show="form.data_type === '1'" class="w h">
<el-form-item label="关键字"> <el-form-item label="关键字">
<el-input v-model="keyword" placeholder="请输入品牌关键字" clearable @blur="keyword_blur"></el-input> <el-input v-model="keywords" placeholder="请输入品牌关键字" clearable @blur="keyword_blur"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="品牌分类"> <el-form-item label="品牌分类">
<el-select v-model="form.category_ids" multiple collapse-tags filterable placeholder="请选择品牌分类"> <el-select v-model="form.category_ids" multiple collapse-tags filterable placeholder="请选择品牌分类">
@ -133,12 +133,12 @@
default: 'goods', default: 'goods',
} }
}); });
const keyword = ref(props.value.keyword); const keywords = ref(props.value.keywords);
const form = ref(props.value); const form = ref(props.value);
const drag_list = ref(props.list); const drag_list = ref(props.list);
// //
watchEffect(() => { watchEffect(() => {
keyword.value = props.value.keyword; keywords.value = props.value.keywords;
form.value = props.value; form.value = props.value;
// //
form.value.order_by_type = Number(props.value?.order_by_type || 0); form.value.order_by_type = Number(props.value?.order_by_type || 0);
@ -146,7 +146,7 @@
drag_list.value = props.list; drag_list.value = props.list;
}); });
const keyword_blur = () => { const keyword_blur = () => {
form.value.keyword = keyword.value; form.value.keywords = keywords.value;
} }
const emits = defineEmits(['data_list_sort', 'data_list_remove', 'data_list_replace', 'add']); const emits = defineEmits(['data_list_sort', 'data_list_remove', 'data_list_replace', 'add']);
// //

View File

@ -2,38 +2,38 @@
<div class="flex-row gap-10 jc-sb align-c"> <div class="flex-row gap-10 jc-sb align-c">
<div class="tabs flex-row oh" :style="`column-gap: ${new_style.tabs_spacing}px;height: ${tabs_height}`"> <div class="tabs flex-row oh" :style="`column-gap: ${new_style.tabs_spacing}px;height: ${tabs_height}`">
<template v-for="(item, index) in form.tabs_list" :key="index"> <template v-for="(item, index) in form.tabs_list" :key="index">
<div class="item nowrap flex-col jc-c" :class="tabs_theme + (index == activeIndex ? ' active' : '') + ((tabs_theme_index == '0' && tabs_theme_1_style) || tabs_theme_index == '1' || tabs_theme_index == '2' ? ' pb-0' : '')" :style="`flex:0 0 auto;row-gap: ${new_style.tabs_sign_spacing}px;`"> <div class="item nowrap ma-auto" :class="tabs_theme + (index == activeIndex ? ' active' : '') + ((tabs_theme_index == '0' && tabs_theme_1_style) || tabs_theme_index == '1' || tabs_theme_index == '2' ? ' pb-0' : '')" style="flex:0 0 auto;">
<template v-if="!isEmpty(item.img)"> <template v-if="!isEmpty(item.img)">
<image-empty v-model="item.img[0]" class="img" :style="top_img_style('data')" fit="contain" error-img-style="width:3.9rem;height:3.9rem;"></image-empty> <image-empty v-model="item.img[0]" class="img re z-deep" :style="top_img_style('data')" fit="contain" error-img-style="width:3.9rem;height:3.9rem;"></image-empty>
</template> </template>
<template v-else> <template v-else>
<image-empty class="img" :style="top_img_style('noData')" fit="contain" error-img-style="width:3.9rem;height:3.9rem;"></image-empty> <image-empty class="img re z-deep" :style="top_img_style('noData')" fit="contain" error-img-style="width:3.9rem;height:3.9rem;"></image-empty>
</template> </template>
<template v-if="item.tabs_type == '1'"> <template v-if="item.tabs_type == '1'">
<template v-if="!isEmpty(item.tabs_icon)"> <template v-if="!isEmpty(item.tabs_icon)">
<div class="title" :style="index == activeIndex ? ['2', '4'].includes(tabs_theme_index) ? tabs_check : '' : padding_bottom"> <div :class="['title re ', tabs_theme_index == '4' ? 'z-i' : 'z-deep']" :style="title_icon_style(index, 'icon') + (index == activeIndex ? '' : padding_bottom)">
<el-icon :class="`iconfont ${ 'icon-' + item.tabs_icon}`" :style="icon_style(index)" /> <el-icon :class="`iconfont ${ 'icon-' + item.tabs_icon}`" :style="icon_style(index)" />
</div> </div>
</template> </template>
<template v-else> <template v-else>
<div class="title" :style="index == activeIndex ? new_style.is_tabs_img_background == '1' && ['2', '4'].includes(tabs_theme_index) ? tabs_check : '' : padding_bottom"> <div :class="['title re ', tabs_theme_index == '4' ? 'z-i' : 'z-deep']" :style="title_icon_style(index, 'img') + (index == activeIndex ? '' : padding_bottom)">
<image-empty v-model="item.tabs_img[0]" fit="contain" :style="img_style()" error-img-style="width: 2rem;height: 2rem;" /> <image-empty v-model="item.tabs_img[0]" fit="contain" :style="img_style()" error-img-style="width: 2rem;height: 2rem;" />
</div> </div>
</template> </template>
</template> </template>
<template v-else> <template v-else>
<div class="title" :style="title_style(index) + (index == activeIndex ? '' : padding_bottom)">{{ item.title }}</div> <div :class="['title re ', tabs_theme_index == '4' ? 'z-i' : 'z-deep']" :style="title_style(index) + (index == activeIndex ? '' : padding_bottom)">{{ item.title }}</div>
</template> </template>
<div class="desc" :style="tabs_theme_index == '1' && index == activeIndex ? tabs_check : ''">{{ item.desc }}</div> <div class="desc w re z-i" :style="tabs_sign_spacing + (tabs_theme_index == '1' && index == activeIndex ? tabs_check : '')">{{ item.desc }}</div>
<template v-if="tabs_theme_index == '3' && index == activeIndex"> <template v-if="tabs_theme_index == '3' && index == activeIndex">
<template v-if="!isEmpty(form.tabs_adorn_icon)"> <template v-if="!isEmpty(form.tabs_adorn_icon)">
<icon :name="form.tabs_adorn_icon" class="icon" :style="tabs_theme_index == '3' ? icon_tabs_check() : ''" :size="new_style.tabs_adorn_icon_size + ''"></icon> <icon :name="form.tabs_adorn_icon" class="icon re z-i" :style="icon_tabs_check() + tabs_sign_spacing" :size="new_style.tabs_adorn_icon_size + ''"></icon>
</template> </template>
<template v-else> <template v-else>
<image-empty v-model="form.tabs_adorn_img[0]" fit="contain" :style="tabs_theme_index == '3' ? tabs_adorn_img_style : ''" error-img-style="width: 2rem;height: 2rem;" /> <image-empty v-model="form.tabs_adorn_img[0]" fit="contain" class="re z-i" :style="tabs_adorn_img_style + tabs_sign_spacing" error-img-style="width: 2rem;height: 2rem;" />
</template> </template>
</template> </template>
<div class="bottom_line" :class="tabs_bottom_line_theme" :style="tabs_check"></div> <div class="bottom_line re z-i" :class="tabs_bottom_line_theme" :style="tabs_check + tabs_sign_spacing"></div>
</div> </div>
</template> </template>
</div> </div>
@ -66,6 +66,7 @@ const form = computed(() => props.value.content);
const new_style = computed(() => props.value.style); const new_style = computed(() => props.value.style);
// //
const tabs_theme_index = computed(() => form.value.tabs_theme); const tabs_theme_index = computed(() => form.value.tabs_theme);
const tabs_sign_spacing = computed(() => `margin-top: ${ new_style.value.tabs_sign_spacing }px;`);
// //
const tabs_theme = computed(() => { const tabs_theme = computed(() => {
let tabs_theme = ''; let tabs_theme = '';
@ -161,15 +162,32 @@ const title_style = (index: number) => {
} }
style = checked_style; style = checked_style;
} }
if (tabs_theme_index.value == '4') {
style += tabs_sign_spacing.value;
}
return style;
};
const title_icon_style = (index: number, type: string) => {
let style = '';
//
if (index == props.activeIndex) {
if ((type =='icon' && ['2', '4'].includes(tabs_theme_index.value)) || (type =='img' && new_style.value.is_tabs_img_background == '1' && ['2', '4'].includes(tabs_theme_index.value))) {
style += tabs_check.value;
}
}
if (tabs_theme_index.value == '4') {
style += tabs_sign_spacing.value;
}
return style; return style;
}; };
const icon_style = (index: number) => { const icon_style = (index: number) => {
// //
let style = `font-size: ${new_style.value.tabs_icon_size}px;line-height: ${new_style.value.tabs_icon_size}px;color:${new_style.value.tabs_icon_color};`; let style = `font-size: ${new_style.value.tabs_icon_size}px;line-height: ${new_style.value.tabs_icon_size}px;color:${new_style.value.tabs_icon_color};display:flex;`;
// //
if (index == props.activeIndex) { if (index == props.activeIndex) {
style = `font-size: ${new_style.value.tabs_icon_size_checked}px;line-height: ${new_style.value.tabs_icon_size_checked}px;color:${new_style.value.tabs_icon_color_checked};`; style = `font-size: ${new_style.value.tabs_icon_size_checked}px;line-height: ${new_style.value.tabs_icon_size_checked}px;color:${new_style.value.tabs_icon_color_checked};display:flex;`;
} }
return style; return style;
}; };
@ -253,6 +271,7 @@ const icon_tabs_check = () => {
// border-radius: 100%; // border-radius: 100%;
border: 0.1rem solid transparent; border: 0.1rem solid transparent;
display: none; display: none;
margin: 0 auto;
} }
&.tabs-style-1 { &.tabs-style-1 {
&.active { &.active {
@ -279,7 +298,7 @@ const icon_tabs_check = () => {
.desc { .desc {
border-radius: 2rem; border-radius: 2rem;
padding: 0.2rem 0.6rem; padding: 0.2rem 0.6rem;
display: inline-block; display: block;
} }
} }
&.tabs-style-3 { &.tabs-style-3 {
@ -323,4 +342,7 @@ const icon_tabs_check = () => {
.pb-0 { .pb-0 {
padding-bottom: 0 !important; padding-bottom: 0 !important;
} }
.ma-auto {
margin: auto;
}
</style> </style>

View File

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

View File

@ -65,7 +65,7 @@ watch(
// //
new_data.content.theme = new_data.content.article_theme; 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.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.keywords = new_data.content.tabs_list[tabs_active_index.value].keywords;
new_data.content.category_ids = new_data.content.tabs_list[tabs_active_index.value].category_ids; 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.carousel_col = new_data.content.article_carousel_col;
new_data.content.data_list = new_data.content.tabs_list[tabs_active_index.value].data_list; new_data.content.data_list = new_data.content.tabs_list[tabs_active_index.value].data_list;

View File

@ -57,7 +57,7 @@
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="上下间距"> <el-form-item label="上下间距">
<slider v-model="form.tabs_sign_spacing" :max="50"></slider> <slider v-model="form.tabs_sign_spacing" :min="-50" :max="50"></slider>
</el-form-item> </el-form-item>
<el-form-item label="左右间距"> <el-form-item label="左右间距">
<slider v-model="form.tabs_spacing" :max="100"></slider> <slider v-model="form.tabs_spacing" :max="100"></slider>

View File

@ -62,7 +62,7 @@
<!-- <div v-if="is_show('4')" class="pl-5" :style="trends_config('score')">0</div> --> <!-- <div v-if="is_show('4')" class="pl-5" :style="trends_config('score')">0</div> -->
</div> </div>
</div> </div>
<div v-if="form.is_shop_show == '1'"> <div v-if="(form.is_shop_show == '1' && form.shop_button_effect == '1' && item.is_error == 0) || (form.is_shop_show == '1' && form.shop_button_effect == '0')">
<template v-if="form.shop_type == 'text'"> <template v-if="form.shop_type == 'text'">
<div class="plr-11 ptb-3 round cr-f" :style="trends_config('button', 'gradient') + `color: ${new_style.shop_button_text_color};`">{{ form.shop_button_text }}</div> <div class="plr-11 ptb-3 round cr-f" :style="trends_config('button', 'gradient') + `color: ${new_style.shop_button_text_color};`">{{ form.shop_button_text }}</div>
</template> </template>
@ -88,7 +88,7 @@
</span> </span>
</div> </div>
</div> </div>
<div v-if="form.is_shop_show == '1'"> <div v-if="(form.is_shop_show == '1' && form.shop_button_effect == '1' && item.is_error == 0) || (form.is_shop_show == '1' && form.shop_button_effect == '0')">
<template v-if="form.shop_type == 'text'"> <template v-if="form.shop_type == 'text'">
<div class="plr-11 ptb-3 round cr-f" :style="trends_config('button', 'gradient') + `color: ${new_style.shop_button_text_color};`">{{ form.shop_button_text }}</div> <div class="plr-11 ptb-3 round cr-f" :style="trends_config('button', 'gradient') + `color: ${new_style.shop_button_text_color};`">{{ form.shop_button_text }}</div>
</template> </template>
@ -145,7 +145,7 @@
</span> </span>
</div> </div>
</div> </div>
<div v-if="form.is_shop_show == '1'"> <div v-if="(form.is_shop_show == '1' && form.shop_button_effect == '1' && item.is_error == 0) || (form.is_shop_show == '1' && form.shop_button_effect == '0')">
<template v-if="form.shop_type == 'text'"> <template v-if="form.shop_type == 'text'">
<div class="plr-11 ptb-3 round cr-f" :style="trends_config('button', 'gradient') + `color: ${new_style.shop_button_text_color};`">{{ form.shop_button_text }}</div> <div class="plr-11 ptb-3 round cr-f" :style="trends_config('button', 'gradient') + `color: ${new_style.shop_button_text_color};`">{{ form.shop_button_text }}</div>
</template> </template>
@ -208,6 +208,7 @@ interface data_list {
show_price_symbol: string; show_price_symbol: string;
show_price_unit: string; show_price_unit: string;
sales_count: string; sales_count: string;
is_error: number;
plugins_view_icon_data: plugins_icon_data[]; plugins_view_icon_data: plugins_icon_data[];
} }
const default_list = { const default_list = {
@ -221,6 +222,7 @@ const default_list = {
sales_count: '1000', sales_count: '1000',
images: '', images: '',
new_cover: [], new_cover: [],
is_error: 0,
plugins_view_icon_data: [ plugins_view_icon_data: [
{ {
name: '满减活动', name: '满减活动',
@ -265,9 +267,9 @@ onMounted(() => {
}); });
const get_products = () => { const get_products = () => {
const { category_ids, brand_ids, number, order_by_type, order_by_rule, keyword } = form.value; const { category_ids, brand_ids, number, order_by_type, order_by_rule, keywords } = form.value;
const params = { const params = {
goods_keywords: keyword, goods_keywords: keywords,
goods_category_ids: category_ids, goods_category_ids: category_ids,
goods_brand_ids: brand_ids, goods_brand_ids: brand_ids,
goods_order_by_type: order_by_type, goods_order_by_type: order_by_type,
@ -285,8 +287,8 @@ const get_products = () => {
}; };
// //
const watch_data = computed(() => { const watch_data = computed(() => {
const { category_ids, brand_ids, number, order_by_type, order_by_rule, data_type, data_list, keyword } = form.value; const { category_ids, brand_ids, number, order_by_type, order_by_rule, data_type, data_list, keywords } = 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 }; 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: keywords };
}) })
// , // ,
watch(() => watch_data.value, (val, oldVal) => { watch(() => watch_data.value, (val, oldVal) => {

View File

@ -64,7 +64,7 @@ watch(
shop_img_container.value = background_computer(shop_content_data) + padding_computer(new_style.shop_content_padding); shop_img_container.value = background_computer(shop_content_data) + padding_computer(new_style.shop_content_padding);
// //
new_data.content.data_type = new_data.content.tabs_list[tabs_active_index.value].data_type; 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.keywords = new_data.content.tabs_list[tabs_active_index.value].keywords;
new_data.content.category_ids = new_data.content.tabs_list[tabs_active_index.value].category_ids; 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.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; new_data.content.number = new_data.content.tabs_list[tabs_active_index.value].number;

View File

@ -67,7 +67,7 @@
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="上下间距"> <el-form-item label="上下间距">
<slider v-model="form.tabs_sign_spacing" :max="50"></slider> <slider v-model="form.tabs_sign_spacing" :min="-50" :max="50"></slider>
</el-form-item> </el-form-item>
<el-form-item label="左右间距"> <el-form-item label="左右间距">
<slider v-model="form.tabs_spacing" :max="100"></slider> <slider v-model="form.tabs_spacing" :max="100"></slider>

View File

@ -57,7 +57,7 @@
</div> </div>
</el-form-item> </el-form-item>
<el-form-item label="上下间距"> <el-form-item label="上下间距">
<slider v-model="form.tabs_sign_spacing" :max="50"></slider> <slider v-model="form.tabs_sign_spacing" :min="-50" :max="50"></slider>
</el-form-item> </el-form-item>
<el-form-item label="左右间距"> <el-form-item label="左右间距">
<slider v-model="form.tabs_spacing" :max="100"></slider> <slider v-model="form.tabs_spacing" :max="100"></slider>

View File

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

View File

@ -16,7 +16,7 @@ interface articleTabsList {
title: string; title: string;
desc: string; desc: string;
data_type: string; data_type: string;
keyword: string; keywords: string;
category_ids: string[]; category_ids: string[];
number: number; number: number;
order_by_type: number; order_by_type: number;
@ -146,12 +146,12 @@ const defaultArticleTabs: DefaultArticleTabs = {
article_theme: '0', article_theme: '0',
article_carousel_col: '2', article_carousel_col: '2',
tabs_list: [ tabs_list: [
{ id: '1', tabs_type: '0', tabs_img: [], tabs_icon: '', 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: '1', tabs_type: '0', tabs_img: [], tabs_icon: '', title: '热门推荐', desc: '简介', data_type: '0', keywords: '', 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', tabs_type: '0', tabs_img: [], tabs_icon: '', 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', tabs_type: '0', tabs_img: [], tabs_icon: '', title: '测试一', desc: '简介', data_type: '0', keywords: '', 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', tabs_type: '0', tabs_img: [], tabs_icon: '', 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', tabs_type: '0', tabs_img: [], tabs_icon: '', title: '测试二', desc: '简介', data_type: '0', keywords: '', 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', tabs_type: '0', tabs_img: [], tabs_icon: '', 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', tabs_type: '0', tabs_img: [], tabs_icon: '', title: '测试三', desc: '简介', data_type: '0', keywords: '', 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', tabs_type: '0', tabs_img: [], tabs_icon: '', 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', tabs_type: '0', tabs_img: [], tabs_icon: '', title: '测试四', desc: '简介', data_type: '0', keywords: '', 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', tabs_type: '0', tabs_img: [], tabs_icon: '', 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', tabs_type: '0', tabs_img: [], tabs_icon: '', title: '测试五', desc: '简介', data_type: '0', keywords: '', 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, tabs_active_index: 0,
field_show: ['0', '1', '3'], field_show: ['0', '1', '3'],

View File

@ -11,7 +11,7 @@ export const source_list = {
// 商品类型 // 商品类型
data_type: 0, data_type: 0,
// 关键字 // 关键字
keyword: '', keywords: '',
// 商品分类 // 商品分类
category_ids: [], category_ids: [],
// 品牌 // 品牌
@ -32,7 +32,7 @@ export const source_list = {
data_auto_list: [], data_auto_list: [],
data_type: 0, data_type: 0,
// 关键字 // 关键字
keyword: '', keywords: '',
number: 4, number: 4,
order_by_type: '0', order_by_type: '0',
order_by_rule: '0', order_by_rule: '0',
@ -51,7 +51,7 @@ export const source_list = {
// 商品类型 // 商品类型
data_type: 0, data_type: 0,
// 关键字 // 关键字
keyword: '', keywords: '',
// 商品分类 // 商品分类
category_ids: [], category_ids: [],
// 显示数量 // 显示数量

View File

@ -9,7 +9,7 @@ interface DefaultProductList {
content_top: object; content_top: object;
theme: string; theme: string;
data_type: string; data_type: string;
keyword: string; keywords: string;
carousel_col: number; carousel_col: number;
category_ids: string[]; category_ids: string[];
brand_ids: string[]; brand_ids: string[];
@ -104,7 +104,7 @@ const defaultProductList: DefaultProductList = {
// 商品类型 // 商品类型
data_type: '0', data_type: '0',
// 商品关键字 // 商品关键字
keyword: '', keywords: '',
// 轮播列数 // 轮播列数
carousel_col: 3, carousel_col: 3,
// 商品列表 // 商品列表

View File

@ -13,7 +13,7 @@ interface articleTabsList {
img: uploadList[]; img: uploadList[];
desc: string; desc: string;
data_type: string; data_type: string;
keyword: string; keywords: string;
category_ids: string[]; category_ids: string[];
brand_ids: string[]; brand_ids: string[];
data_ids: string[]; data_ids: string[];
@ -167,10 +167,10 @@ const defaultProductList: DefaultProductList = {
carousel_col: 3, carousel_col: 3,
// 选项卡数据 // 选项卡数据
tabs_list: [ tabs_list: [
{ id: '1', tabs_type: '0', tabs_img: [], tabs_icon: '', 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: '1', tabs_type: '0', tabs_img: [], tabs_icon: '', title: '热门推荐', img: [], desc: '简介', data_type: '0', keywords: '', 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', tabs_type: '0', tabs_img: [], tabs_icon: '', 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', tabs_type: '0', tabs_img: [], tabs_icon: '', title: '测试一', img: [], desc: '简介', data_type: '0', keywords: '', 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', tabs_type: '0', tabs_img: [], tabs_icon: '', 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', tabs_type: '0', tabs_img: [], tabs_icon: '', title: '测试二', img: [], desc: '简介', data_type: '0', keywords: '', 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', tabs_type: '0', tabs_img: [], tabs_icon: '', 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', tabs_type: '0', tabs_img: [], tabs_icon: '', title: '测试三', img: [], desc: '简介', data_type: '0', keywords: '', 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, tabs_active_index: 0,