修改页面显示逻辑

v1.4.0
于肖磊 2025-08-05 18:44:30 +08:00
parent d517730cca
commit e79ca02d8f
2 changed files with 20 additions and 11 deletions

View File

@ -69,7 +69,7 @@
</el-form-item> </el-form-item>
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
<el-icon class="iconfont icon-close-fillup size-16 abs cr-c top-de-5 right-de-5" @click="remove(index)" /> <el-icon class="iconfont icon-close-fillup size-16 abs cr-c top-de-5 right-de-5 c-pointer" @click="remove(index)" />
</div> </div>
</div> </div>
<el-button class="mt-20 mb-20 w" @click="add">+</el-button> <el-button class="mt-20 mb-20 w" @click="add">+</el-button>

View File

@ -27,6 +27,7 @@ import { clone, cloneDeep, isEmpty, omit } from 'lodash';
import DiyAPI, { diyData, headerAndFooter, diyConfig } from '@/api/diy'; import DiyAPI, { diyData, headerAndFooter, diyConfig } from '@/api/diy';
import CommonAPI from '@/api/common'; import CommonAPI from '@/api/common';
import { commonStore } from '@/store'; import { commonStore } from '@/store';
import { magic_config } from '@/config/const/tabs-magic';
const common_store = commonStore(); const common_store = commonStore();
interface diy_data_item { interface diy_data_item {
id: string; id: string;
@ -193,6 +194,17 @@ const default_merge = (data: any, key: string) => {
} else { } else {
data.content = cloneDeep((defaultSettings as any)[key.replace(/-/g, '_')]).content; data.content = cloneDeep((defaultSettings as any)[key.replace(/-/g, '_')]).content;
} }
//
if (key == 'tabs-magic') {
if (data.content.home_data) {
data.content.home_data = Object.assign({}, magic_config, data.content.home_data);
}
if (data.content.tabs_list.length > 0) {
data.content.tabs_list.forEach((item: any) => {
item = Object.assign({}, magic_config, item);
})
}
}
return data; return data;
}; };
@ -279,27 +291,24 @@ const save_formmat_form_data = (data: diy_data_item, close: boolean = false, is_
// //
const new_data_list = cloneDeep([item.com_data.content.home_data, ...item.com_data.content.tabs_list]); const new_data_list = cloneDeep([item.com_data.content.home_data, ...item.com_data.content.tabs_list]);
// //
let clone_data_list: any = [];
new_data_list.forEach((item1: any) => { new_data_list.forEach((item1: any) => {
if (['goods-list', 'article-list'].includes(item1.magic_type)) { if (['goods_list', 'article_list'].includes(item1.magic_type)) {
// //
goods_or_article_data_processing(item1[item1.magic_type], item1.magic_type == new_array_1[0], item1.magic_type); goods_or_article_data_processing(item1[item1.magic_type].content, item1.magic_type == new_array_1[0], item1.magic_type);
} else if (new_array_5.includes(item1.magic_type)) { } else if (['custom', 'goods_magic'].includes(item1.magic_type)) {
// //
custom_data_processing(item1[item1.magic_type].content); custom_data_processing(item1[item1.magic_type].content);
} }
clone_data_list.push( item1 = Object.keys(item1)
Object.keys(item1)
.filter(key => !(all_type.filter((item2: string) => !isEmpty(item1.magic_type) ? (item2 !== item1.magic_type) : item2).includes(key))) .filter(key => !(all_type.filter((item2: string) => !isEmpty(item1.magic_type) ? (item2 !== item1.magic_type) : item2).includes(key)))
.reduce((acc: Record<string, any>, key: string) => { .reduce((acc: Record<string, any>, key: string) => {
acc[key] = item1[key]; acc[key] = item1[key];
return acc; return acc;
}, {}) }, {});
);
}); });
// //
item.com_data.content.home_data = clone_data_list.length > 0 ? clone_data_list[0] : null; item.com_data.content.home_data = new_data_list.length > 0 ? new_data_list[0] : null;
item.com_data.content.tabs_list = clone_data_list.slice(1, clone_data_list.length); item.com_data.content.tabs_list = new_data_list.slice(1, new_data_list.length);
} }
return { return {
...item, ...item,