Merge branch 'dev-sugx20250623' into 'dev'

表单个性化配置:问题修正

See merge request itc-framework/ma/2024/front!86
This commit is contained in:
890147
2025-06-23 07:09:24 +00:00
2 changed files with 22 additions and 10 deletions

View File

@ -11,12 +11,18 @@ const { t } = useI18n();
const { notification } = useMessage(); const { notification } = useMessage();
export function useFormConfig() { export function useFormConfig() {
async function mergeFormSchemas(formSchema: FormSchema[],formPath:String){ async function mergeFormSchemas(obj:{formSchema: FormSchema[],formId:String,formPath:String}){
try{ try{
const formProps=await queryConfigByFormPath(formPath,'formProps'); let formProps;
if(obj.formId){
formProps=await queryConfig(obj.formId,'formProps');
}else{
formProps=await queryConfigByFormPath(obj.formPath,'formProps');
}
let fschemas=formProps?.schemas; let fschemas=formProps?.schemas;
if(fschemas&&fschemas.length>0){ if(fschemas&&fschemas.length>0){
return deepMerge(formSchema,fschemas); return deepMerge(obj.formSchema,fschemas);
}else{ }else{
return formSchema; return formSchema;
} }
@ -25,10 +31,16 @@ export function useFormConfig() {
} }
} }
async function mergeFormEventConfigs(formEventConfigs,componentPath:String){ async function mergeFormEventConfigs(obj:{formEventConfigs,formId:String,formPath:String}){
try{ try{
const fEConfigs=await queryConfigByFormPath(componentPath,'formEventConfigs'); let fEConfigs;
return deepMerge(formEventConfigs,fEConfigs); if(obj.formId){
fEConfigs=await queryConfig(obj.formId,'formEventConfigs');
}else{
fEConfigs=await queryConfigByFormPath(obj.formPath,'formEventConfigs');
}
return deepMerge(obj.formEventConfigs,fEConfigs);
}catch(e){ }catch(e){
return {}; return {};
} }

View File

@ -1751,9 +1751,9 @@ export function buildSimpleFormCode(model: GeneratorConfig, _tableInfo: TableInf
if(props.fromPage !== FromPageType.FLOW){ if(props.fromPage !== FromPageType.FLOW){
let formPath=currentRoute.value.query.formPath; let formPath=currentRoute.value.query.formPath;
//1.合并字段配置 //1.合并字段配置
cloneProps.schemas=await mergeFormSchemas(cloneProps.schemas!,formPath); cloneProps.schemas=await mergeFormSchemas({formSchema:cloneProps.schemas!,formPath:formPath});
//2.合并表单事件配置 //2.合并表单事件配置
fEventConfigs=await mergeFormEventConfigs(fEventConfigs,formPath); fEventConfigs=await mergeFormEventConfigs({formEventConfigs:fEventConfigs,formPath:formPath});
} }
} }
data.formDataProps=cloneProps; data.formDataProps=cloneProps;
@ -1842,8 +1842,8 @@ export function buildSimpleFormCode(model: GeneratorConfig, _tableInfo: TableInf
if (formConfig.useCustomConfig) { if (formConfig.useCustomConfig) {
const parts = obj.formConfigKey.split('_'); const parts = obj.formConfigKey.split('_');
const formId=parts[1]; const formId=parts[1];
cloneProps.schemas=await mergeFormSchemas(cloneProps.schemas!,formId); cloneProps.schemas=await mergeFormSchemas({formSchema:cloneProps.schemas!,formId:formId});
customFormEventConfigs=await mergeFormEventConfigs(customFormEventConfigs,formId); customFormEventConfigs=await mergeFormEventConfigs({formEventConfigs:customFormEventConfigs,formId:formId});
} }
let flowData = changeWorkFlowForm(cloneProps, obj); let flowData = changeWorkFlowForm(cloneProps, obj);