修改自定义数据的存放
parent
836bdeade3
commit
8ab1bd254d
|
|
@ -87,7 +87,7 @@ const style_img_container = computed(() => common_img_computer(new_style.value.c
|
|||
// 数据来源的内容
|
||||
let data_source_content_list = computed(() => {
|
||||
if (['goods', 'article', 'brand'].includes(form.value.data_source)) {
|
||||
if (form.value.data_source_content_value.data_type == '0') {
|
||||
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;
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
<card-container>
|
||||
<div class="mb-12">{{ form.data_source == 'goods' ? '商品' : form.data_source == 'article' ? '文章' : '品牌' }}设置</div>
|
||||
<!-- 数据筛选组件, 根据数据源类型显示不同的筛选组件 -->
|
||||
<data-filter :type="form.data_source" :value="form.data_source_content_value" :list="form.data_source_content.data_list" :base-list="base_list" @add="add" @data_list_replace="data_list_replace" @data_list_remove="data_list_remove" @data_list_sort="data_list_sort"></data-filter>
|
||||
<data-filter :type="form.data_source" :value="form.data_source_content" :list="form.data_source_content.data_list" :base-list="base_list" @add="add" @data_list_replace="data_list_replace" @data_list_remove="data_list_remove" @data_list_sort="data_list_sort"></data-filter>
|
||||
</card-container>
|
||||
</template>
|
||||
<div class="divider-line"></div>
|
||||
|
|
@ -112,11 +112,9 @@ const getCustominit = () => {
|
|||
onBeforeMount(() => {
|
||||
// 不包含新创建的数组时,将历史数据放到手动添加数组中
|
||||
if (!Object.keys(form.data_source_content).includes('data_auto_list') && !Object.keys(form.data_source_content).includes('data_list')) {
|
||||
form.data_source_content = cloneDeep(source_list[form.data_source as keyof typeof source_list]);
|
||||
form.data_source_content.data_list = [ form.data_source_content ];
|
||||
}
|
||||
if (!isEmpty(form.data_source) && typeof form.data_source_content_value == 'string' && form.data_source in source_list) {
|
||||
form.data_source_content_value = source_list[form.data_source as keyof typeof source_list];
|
||||
}
|
||||
if (!data_source_store.is_data_source_api) {
|
||||
data_source_store.set_is_data_source_api(true);
|
||||
getCustominit();
|
||||
|
|
@ -194,6 +192,10 @@ const source_list = {
|
|||
goods: {
|
||||
// 存放手动输入的id
|
||||
data_ids: [],
|
||||
// 手动输入
|
||||
data_list: [],
|
||||
// 自动
|
||||
data_auto_list: [],
|
||||
// 商品类型
|
||||
data_type: '0',
|
||||
// 商品分类
|
||||
|
|
@ -210,6 +212,10 @@ const source_list = {
|
|||
article: {
|
||||
// 存放手动输入的id
|
||||
data_ids: [],
|
||||
// 手动输入
|
||||
data_list: [],
|
||||
// 自动
|
||||
data_auto_list: [],
|
||||
data_type: '0',
|
||||
number: 4,
|
||||
order_by_type: '0',
|
||||
|
|
@ -222,6 +228,10 @@ const source_list = {
|
|||
brand: {
|
||||
// 存放手动输入的id
|
||||
data_ids: [],
|
||||
// 手动输入
|
||||
data_list: [],
|
||||
// 自动
|
||||
data_auto_list: [],
|
||||
// 商品类型
|
||||
data_type: '0',
|
||||
// 商品分类
|
||||
|
|
@ -240,16 +250,24 @@ const changeDataSource = (key: string) => {
|
|||
const type_data = options.value.filter((item) => item.type == key);
|
||||
processing_data(key);
|
||||
if (type_data.length > 0 && !isEmpty(type_data[0].appoint_data)) {
|
||||
form.data_source_content.data_list = [type_data[0].appoint_data];
|
||||
form.data_source_content = {
|
||||
// 存放手动输入的id
|
||||
data_ids: [],
|
||||
data_list: [ type_data[0].appoint_data ],
|
||||
// 自动
|
||||
data_auto_list: [],
|
||||
}
|
||||
} else {
|
||||
form.data_source_content = {
|
||||
// 存放手动输入的id
|
||||
data_ids: [],
|
||||
// 手动输入
|
||||
data_list: [],
|
||||
// 自动
|
||||
data_auto_list: [],
|
||||
};
|
||||
if (!isEmpty(key) && key in source_list) {
|
||||
form.data_source_content_value = source_list[key as keyof typeof source_list];
|
||||
form.data_source_content = cloneDeep(source_list[key as keyof typeof source_list]);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
|
@ -353,7 +371,7 @@ const url_value_dialog_call_back = (item: any[]) => {
|
|||
// 数据来源的内容
|
||||
let data_source_content_list = computed(() => {
|
||||
if (['goods', 'article', 'brand'].includes(form.data_source)) {
|
||||
if (form.data_source_content_value.data_type == '0') {
|
||||
if (form.data_source_content.data_type == '0') {
|
||||
return form.data_source_content.data_list;
|
||||
} else {
|
||||
return form.data_source_content.data_auto_list;
|
||||
|
|
@ -364,7 +382,7 @@ 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_value;
|
||||
const { category_ids, brand_ids, number, order_by_type, order_by_rule } = form.data_source_content;
|
||||
const params = {
|
||||
goods_keywords: '',
|
||||
goods_category_ids: category_ids,
|
||||
|
|
@ -391,7 +409,7 @@ const get_products = () => {
|
|||
};
|
||||
// 获取文章自动数据
|
||||
const get_article = async () => {
|
||||
const { category_ids, number, order_by_type, order_by_rule, is_cover } = form.data_source_content_value;
|
||||
const { category_ids, number, order_by_type, order_by_rule, is_cover } = form.data_source_content;
|
||||
const new_data = {
|
||||
article_keywords: '',
|
||||
article_category_ids: category_ids.join(','),
|
||||
|
|
@ -418,7 +436,12 @@ const get_brand = () => {
|
|||
console.log('品牌分类数据');
|
||||
form.data_source_content.data_auto_list = [];
|
||||
}
|
||||
watch(() => form.data_source_content_value, (new_val) => {
|
||||
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 };
|
||||
})
|
||||
|
||||
watch(() => data_source_content_value.value, (new_val) => {
|
||||
// 数据发生变化时,如果是自动获取数据,则调用接口获取数据
|
||||
if (new_val.data_type != '0') {
|
||||
if (form.data_source == 'goods') {
|
||||
|
|
|
|||
|
|
@ -84,7 +84,7 @@ const percentage_count = (val: number) => {
|
|||
// 数据来源的内容
|
||||
let data_source_content_list = computed(() => {
|
||||
if (['goods', 'article', 'brand'].includes(form.value.data_source)) {
|
||||
if (form.value.data_source_content_value.data_type == '0') {
|
||||
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;
|
||||
|
|
|
|||
|
|
@ -200,13 +200,10 @@ const data_content = {
|
|||
width: 0,
|
||||
// 图片key
|
||||
img_key: '',
|
||||
// 存放数据内容的id
|
||||
data_source_content_value: {
|
||||
// 存放手动输入的id
|
||||
data_ids: [],
|
||||
},
|
||||
// 数据源内容
|
||||
data_source_content: {
|
||||
// 存放手动输入的id
|
||||
data_ids: [],
|
||||
// 手动输入
|
||||
data_list: [],
|
||||
// 自动
|
||||
|
|
|
|||
|
|
@ -1,18 +1,13 @@
|
|||
import defaultCommon from "./index";
|
||||
interface content {
|
||||
data_ids: Array<string>;
|
||||
data_list: Array<object>;
|
||||
data_auto_list: Array<object>;
|
||||
}
|
||||
|
||||
interface content_value {
|
||||
data_ids: Array<string>;
|
||||
}
|
||||
interface defaultSearch {
|
||||
}interface defaultSearch {
|
||||
content: {
|
||||
height: number;
|
||||
img_key: string;
|
||||
data_source: string;
|
||||
data_source_content_value: content_value;
|
||||
data_source_content: content;
|
||||
custom_list: string[];
|
||||
};
|
||||
|
|
@ -26,13 +21,10 @@ const defaultSearch: defaultSearch = {
|
|||
height: 390,
|
||||
// 图片key
|
||||
img_key: '',
|
||||
// 存放数据内容的id
|
||||
data_source_content_value: {
|
||||
// 存放手动输入的id
|
||||
data_ids: [],
|
||||
},
|
||||
// 数据源内容
|
||||
data_source_content: {
|
||||
// 存放手动输入的id
|
||||
data_ids: [],
|
||||
// 手动输入
|
||||
data_list: [],
|
||||
// 自动
|
||||
|
|
|
|||
|
|
@ -305,12 +305,13 @@ const save_formmat_form_data = (data: diy_data_item, close: boolean = false, is_
|
|||
data_id: item3.data.id,
|
||||
};
|
||||
});
|
||||
const data_list = cloneDeep(item1.data_content.data_source_content.data_list);
|
||||
// 数据改造,存放手动的id
|
||||
item1.data_content.data_source_content_value.data_ids = item1.data_content.data_source_content.data_list.map((item4: any) => item4.data.id).join(',') || '';
|
||||
item1.data_content.data_source_content.data_ids = data_list.map((item4: any) => item4.data.id).join(',') || '';
|
||||
// 自动数据清空
|
||||
item1.data_content.data_source_content.data_auto_list = [];
|
||||
// 数据改造,存放手动的清除里边的data
|
||||
item1.data_content.data_source_content.data_list = item1.data_content.data_source_content.data_list.map((item5: any) => {
|
||||
item1.data_content.data_source_content.data_list = data_list.map((item5: any) => {
|
||||
return {
|
||||
...item5,
|
||||
data: [],
|
||||
|
|
@ -319,12 +320,13 @@ const save_formmat_form_data = (data: diy_data_item, close: boolean = false, is_
|
|||
});
|
||||
});
|
||||
} else if (new_array_5.includes(item.key)) {
|
||||
const data_list = cloneDeep(item.data_content.data_source_content.data_list);
|
||||
// 数据改造,存放手动的id
|
||||
item.com_data.content.data_source_content_value.data_ids = item.com_data.content.data_source_content.data_list.map((item: any) => item.data.id).join(',') || '';
|
||||
item.com_data.content.data_source_content.data_ids = data_list.map((item: any) => item.data.id).join(',') || '';
|
||||
// 自动数据清空
|
||||
item.com_data.content.data_source_content.data_auto_list = [];
|
||||
// 数据改造,存放手动的清除里边的data
|
||||
item.com_data.content.data_source_content.data_list = item.com_data.content.data_source_content.data_list.map((item1: any) => {
|
||||
item.com_data.content.data_source_content.data_list = data_list.map((item1: any) => {
|
||||
return {
|
||||
...item1,
|
||||
data: [],
|
||||
|
|
|
|||
Loading…
Reference in New Issue