diff --git a/z_ele/src/utils/sys-config.ts b/z_ele/src/utils/sys-config.ts index d4d9dd1..c0b91c9 100644 --- a/z_ele/src/utils/sys-config.ts +++ b/z_ele/src/utils/sys-config.ts @@ -89,7 +89,7 @@ export function strToBind(type: string, bindStr: string): any { return {}; } -export function valueToStr(type: string, value: any) { +export function valueToStr(type: string, value: any):string { switch (type) { case 'json': return value ? JSON.stringify(value) : "{}"; @@ -109,7 +109,10 @@ export function valueToStr(type: string, value: any) { case 'date_range': case 'time_range': case 'datetime_range': - return value.join(","); + if(value.length == 2 && value[0] && value[1]){ + return value.join(","); + } + return ""; default: return value === null ? "" : value; } diff --git a/z_ele/src/views/system/config-set/components/config-form-list.vue b/z_ele/src/views/system/config-set/components/config-form-list.vue index ebea7a0..ed35d9f 100644 --- a/z_ele/src/views/system/config-set/components/config-form-list.vue +++ b/z_ele/src/views/system/config-set/components/config-form-list.vue @@ -10,6 +10,7 @@ @@ -19,6 +20,7 @@ @@ -35,6 +37,7 @@ > @@ -66,10 +69,22 @@ import type { ComponentPublicInstance } from "vue"; + interface ConfigFormListInstance { + getFormData: () => any; // 根据实际返回类型调整 + } // 定义组件引用类型 interface ConfigFormItemInstance { getDataValue: () => any; // 根据实际返回类型调整 } + // 存储所有组件引用的数组 + const listRefs = ref([]); + // 收集组件引用的函数 + const setListRef = (el: unknown) => { + const component = el as ComponentPublicInstance & ConfigFormListInstance; + if (component && component.getDataValue) { + listRefs.value.push(component); + } + }; // 存储所有组件引用的数组 const itemRefs = ref([]); @@ -88,6 +103,13 @@ const [name, value] = item.getDataValue(); data[name] = value; }); + listRefs.value.map((item)=>{ + let aa = item.getFormData(); + for (const dataKey in aa) { + data[dataKey] = aa[dataKey] + } + }); + return data; }; // 每次更新前清空引用数组 diff --git a/z_ele/src/views/system/config-set/index.vue b/z_ele/src/views/system/config-set/index.vue index 03151d1..e96d917 100644 --- a/z_ele/src/views/system/config-set/index.vue +++ b/z_ele/src/views/system/config-set/index.vue @@ -112,7 +112,7 @@ const reload = () => { } return d; }); - console.log("lists->lists", lists); + // console.log("lists->lists", lists); configList.value = toTree({ data: lists, idField: 'id', @@ -157,7 +157,7 @@ const saveForm = () => { console.log('所有组件数据:', allValues); updateConfigData(allValues).then(()=>{ EleMessage.success("保存成功"); - reload(); + // reload(); }) }