1.代码优化
parent
b2273c3cf1
commit
ca409f551a
|
|
@ -2,28 +2,26 @@
|
|||
<div class="oh" :style="style_container">
|
||||
<div class="re oh" :style="style">
|
||||
<div v-if="!['4'].includes(article_theme)" class="flex-warp" :class="article_theme_class" :style="article_theme !== '3' ? article_spacing : ''">
|
||||
<template v-for="(item, index) in data_list" :key="index">
|
||||
<div class="item bg-f oh" :class="article_theme == '0' ? 'flex-row' : 'flex-col'" :style="article_style">
|
||||
<template v-if="article_theme !== '3'">
|
||||
<template v-if="item.new_cover.length > 0">
|
||||
<image-empty v-model="item.new_cover[0].url" class="img" :style="img_radius" :error-img-style="error_img"></image-empty>
|
||||
</template>
|
||||
<template v-else> <image-empty v-model="item.data.cover" class="img" :style="img_radius" :error-img-style="error_img"></image-empty> </template>
|
||||
<div v-for="(item, index) in data_list" :key="index" class="item bg-f oh" :class="article_theme == '0' ? 'flex-row' : 'flex-col'" :style="article_style">
|
||||
<template v-if="article_theme !== '3'">
|
||||
<template v-if="item.new_cover.length > 0">
|
||||
<image-empty v-model="item.new_cover[0].url" class="img" :style="img_radius" :error-img-style="error_img"></image-empty>
|
||||
</template>
|
||||
<div class="jc-sb flex-1" :class="article_theme == '3' ? 'flex-row align-c' : 'flex-col'" :style="article_theme !== '0' ? content_padding : ''">
|
||||
<div class="title" :class="article_theme == '3' ? 'text-line-1 flex-1 flex-width' : 'text-line-2'" :style="article_name">{{ !isEmpty(item.new_title) ? item.new_title : item.data.title }}</div>
|
||||
<div class="flex-row jc-sb gap-8" :class="article_theme == '3' ? 'ml-10' : 'align-e mt-10'">
|
||||
<div :style="article_date">{{ field_show.includes('0') ? (!is_obj_empty(item.data) ? item.data.add_time : '2020-06-05 15:20') : '' }}</div>
|
||||
<div v-show="field_show.includes('1')" class="flex-row align-c gap-3" :style="article_page_view">
|
||||
<icon name="eye"></icon>
|
||||
<div>
|
||||
{{ item.data.access_count ? item.data.access_count : '16' }}
|
||||
</div>
|
||||
<template v-else> <image-empty v-model="item.data.cover" class="img" :style="img_radius" :error-img-style="error_img"></image-empty> </template>
|
||||
</template>
|
||||
<div class="jc-sb flex-1" :class="article_theme == '3' ? 'flex-row align-c' : 'flex-col'" :style="article_theme !== '0' ? content_padding : ''">
|
||||
<div class="title" :class="article_theme == '3' ? 'text-line-1 flex-1 flex-width' : 'text-line-2'" :style="article_name">{{ !isEmpty(item.new_title) ? item.new_title : item.data.title }}</div>
|
||||
<div class="flex-row jc-sb gap-8" :class="article_theme == '3' ? 'ml-10' : 'align-e mt-10'">
|
||||
<div :style="article_date">{{ field_show.includes('0') ? (!is_obj_empty(item.data) ? item.data.add_time : '2020-06-05 15:20') : '' }}</div>
|
||||
<div v-show="field_show.includes('1')" class="flex-row align-c gap-3" :style="article_page_view">
|
||||
<icon name="eye"></icon>
|
||||
<div>
|
||||
{{ item.data.access_count ? item.data.access_count : '16' }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
<div v-else class="oh" :class="article_theme_class">
|
||||
<el-carousel :key="carousel_key" indicator-position="none" :interval="interval_time" arrow="never" :autoplay="is_roll ? true : false">
|
||||
|
|
@ -156,10 +154,16 @@ const get_auto_data_list = async () => {
|
|||
const new_content = computed(() => props.value?.content || {});
|
||||
const new_style = computed(() => props.value?.style || {});
|
||||
onMounted(() => {
|
||||
if (!isEmpty(new_content.value.data_list) && new_content.value.data_type == '0') {
|
||||
if (new_content.value.data_type == '0' && !isEmpty(new_content.value.data_list)) {
|
||||
data_list.value = new_content.value.data_list;
|
||||
} else if (!isEmpty(new_content.value.data_auto_list) && new_content.value.data_type == '1') {
|
||||
data_list.value = new_content.value.data_auto_list;
|
||||
} else if (new_content.value.data_type == '1' && !isEmpty(new_content.value.data_auto_list)) {
|
||||
// data_list.value = new_content.value.data_auto_list;
|
||||
data_list.value = new_content.value.data_auto_list.map((item: any) => ({
|
||||
id: get_math(),
|
||||
new_title: '',
|
||||
new_cover: [],
|
||||
data: item,
|
||||
}));
|
||||
} else {
|
||||
data_list.value = Array(4).fill(default_data_list);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@ watch(() => props.value, (val) => {
|
|||
new_data.content.category_ids = new_data.content.tabs_list[0].category_ids;
|
||||
new_data.content.carousel_col = new_data.content.article_carousel_col;
|
||||
new_data.content.data_list = new_data.content.tabs_list[0].data_list;
|
||||
new_data.content.data_auto_list = new_data.content.tabs_list[0].data_auto_list;
|
||||
new_data.content.data_ids = new_data.content.tabs_list[0].data_ids;
|
||||
new_data.content.number = new_data.content.tabs_list[0].number;
|
||||
new_data.content.order_by_type = new_data.content.tabs_list[0].order_by_type;
|
||||
|
|
|
|||
|
|
@ -187,23 +187,48 @@ const save_formmat_form_data = (data: diy_data_item, close: boolean = false, is_
|
|||
const clone_form = cloneDeep(data);
|
||||
clone_form.header.show_tabs = '1';
|
||||
clone_form.footer.show_tabs = '0';
|
||||
const new_array_1 = ['goods-list', 'article-list', 'coupon'];
|
||||
// 字段比coupon多
|
||||
const new_array_1 = ['goods-list', 'article-list'];
|
||||
// 数据比正常list多一级
|
||||
const new_array_2 = ['goods-tabs', 'article-tabs'];
|
||||
// 数据格式简单
|
||||
const new_array_3 = ['coupon'];
|
||||
// 层级更深
|
||||
const new_array_4 = ['data-magic'];
|
||||
clone_form.diy_data = clone_form.diy_data.map((item: any) => {
|
||||
if (new_array_1.includes(item.key)) {
|
||||
item.com_data.content.data_ids = item.com_data.content.data_list.map((item: any) => item.data.id).join(',') || '';
|
||||
item.com_data.content.data_list = [];
|
||||
item.com_data.content.data_list = item.com_data.content.data_list.map((item1: any) => {
|
||||
return {
|
||||
...item1,
|
||||
data: [],
|
||||
};
|
||||
});
|
||||
item.com_data.content.data_auto_list = [];
|
||||
} else if (new_array_2.includes(item.key)) {
|
||||
item.com_data.content.tabs_list.map((item: any) => {
|
||||
item.data_ids = item.data_list.map((item1: any) => item1.data.id).join(',') || '';
|
||||
item.data_list = [];
|
||||
item.data_list = item.data_list.map((item2: any) => {
|
||||
return {
|
||||
...item2,
|
||||
data: [],
|
||||
};
|
||||
});
|
||||
item.data_auto_list = [];
|
||||
});
|
||||
} else if (item.key == 'data-magic') {
|
||||
} else if (new_array_3.includes(item.key)) {
|
||||
item.com_data.content.data_ids = item.com_data.content.data_list.map((item: any) => item.data.id).join(',') || '';
|
||||
item.com_data.content.data_list = [];
|
||||
item.com_data.content.data_auto_list = [];
|
||||
} else if (new_array_4.includes(item.key)) {
|
||||
item.com_data.content.data_magic_list.map((item1: any) => {
|
||||
item1.data_content.goods_ids = item1.data_content.goods_list.map((item2: any) => item2.data.id).join(',') || '';
|
||||
item1.data_content.goods_list = [];
|
||||
item1.data_content.goods_list = item1.data_content.goods_list.map((item3: any) => {
|
||||
return {
|
||||
...item3,
|
||||
data: [],
|
||||
};
|
||||
});
|
||||
});
|
||||
}
|
||||
return {
|
||||
|
|
|
|||
Loading…
Reference in New Issue