bug
This commit is contained in:
@@ -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],
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user