This commit is contained in:
2026-03-03 18:44:27 +08:00
parent 3b5706fce7
commit f8bbb718ac

View File

@@ -104,16 +104,21 @@ onMounted(() => {
} }
}); });
const tableData = ref<any>([]);
const formatDataFun = (data: any) => { const formatDataFun = (data: any) => {
if (tableData.value.length === 0) {
data?.extras?.forEach((item: any) => { data?.extras?.forEach((item: any) => {
const { propertyName, propertyValue } = item; const { propertyName, propertyValue } = item;
data[propertyName] = propertyValue; data[propertyName] = propertyValue;
}); });
return data; return data;
} else {
return getFormDataFun(data);
}
}; };
const formData = ref<any>(formatDataFun(props.data)); const formData = ref<any>(formatDataFun(props.data));
const tableData = ref<any>([]);
const rules = ref<any>({}); const rules = ref<any>({});
const formRef = ref<any>(); const formRef = ref<any>();
@@ -127,6 +132,7 @@ const getHeadDataFun = () => {
formConfigData.value = data; formConfigData.value = data;
setValidateFun(data); setValidateFun(data);
tableData.value = data; tableData.value = data;
getFormDataFun(props.data);
formOptionsFormat(tableData.value); formOptionsFormat(tableData.value);
emit('load'); emit('load');
} }
@@ -236,20 +242,20 @@ const validateFun = () => {
}); });
}; };
const getFormDataFun = () => { const getFormDataFun = (data?: any) => {
const objData: any = formData.value || {}; const objData: any = data || formData.value || {};
const hasExtras = !!formData.value.extras; const hasExtras = !!objData.extras;
objData.extras = hasExtras ? formData.value.extras : []; objData.extras = hasExtras ? objData.extras : [];
tableData.value.forEach((item: any) => { tableData.value.forEach((item: any) => {
const { key, type } = item; const { key, type } = item;
if (type === 1) { if (type === 1) {
objData[key] = formData.value[key]; objData[key] = objData[key];
} else { } else {
if (hasExtras) { if (hasExtras) {
let hasExtraKey = false; let hasExtraKey = false;
objData.extras.some((val: any) => { objData.extras.some((val: any) => {
if (val.propertyName === key) { if (val.propertyName === key) {
val.propertyValue = formData.value[key]; val.propertyValue = objData[key];
hasExtraKey = true; hasExtraKey = true;
return true; return true;
} }
@@ -258,14 +264,14 @@ const getFormDataFun = () => {
objData.extras.push({ objData.extras.push({
propertyClass: 'default', propertyClass: 'default',
propertyName: key, propertyName: key,
propertyValue: formData.value[key], propertyValue: objData[key],
}); });
} }
} else { } else {
objData.extras.push({ objData.extras.push({
propertyClass: 'default', propertyClass: 'default',
propertyName: key, propertyName: key,
propertyValue: formData.value[key], propertyValue: objData[key],
}); });
} }
} }