修改商品加购逻辑
parent
4bc19453d6
commit
9d197f8466
|
|
@ -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']);
|
||||||
// 数组顺序更新时触发事件
|
// 数组顺序更新时触发事件
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
|
|
|
||||||
|
|
@ -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(
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
|
|
|
||||||
|
|
@ -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) => {
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
|
|
|
||||||
|
|
@ -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: '',
|
||||||
|
|
|
||||||
|
|
@ -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'],
|
||||||
|
|
|
||||||
|
|
@ -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: [],
|
||||||
// 显示数量
|
// 显示数量
|
||||||
|
|
|
||||||
|
|
@ -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,
|
||||||
// 商品列表
|
// 商品列表
|
||||||
|
|
|
||||||
|
|
@ -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,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue