Merge branch 'dev-sugx20250623' into 'dev'
表单个性化配置:问题修正 See merge request itc-framework/ma/2024/front!86
This commit is contained in:
@ -11,12 +11,18 @@ const { t } = useI18n();
|
||||
const { notification } = useMessage();
|
||||
|
||||
export function useFormConfig() {
|
||||
async function mergeFormSchemas(formSchema: FormSchema[],formPath:String){
|
||||
async function mergeFormSchemas(obj:{formSchema: FormSchema[],formId:String,formPath:String}){
|
||||
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;
|
||||
if(fschemas&&fschemas.length>0){
|
||||
return deepMerge(formSchema,fschemas);
|
||||
return deepMerge(obj.formSchema,fschemas);
|
||||
}else{
|
||||
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{
|
||||
const fEConfigs=await queryConfigByFormPath(componentPath,'formEventConfigs');
|
||||
return deepMerge(formEventConfigs,fEConfigs);
|
||||
let fEConfigs;
|
||||
if(obj.formId){
|
||||
fEConfigs=await queryConfig(obj.formId,'formEventConfigs');
|
||||
}else{
|
||||
fEConfigs=await queryConfigByFormPath(obj.formPath,'formEventConfigs');
|
||||
}
|
||||
|
||||
return deepMerge(obj.formEventConfigs,fEConfigs);
|
||||
}catch(e){
|
||||
return {};
|
||||
}
|
||||
|
||||
@ -1751,9 +1751,9 @@ export function buildSimpleFormCode(model: GeneratorConfig, _tableInfo: TableInf
|
||||
if(props.fromPage !== FromPageType.FLOW){
|
||||
let formPath=currentRoute.value.query.formPath;
|
||||
//1.合并字段配置
|
||||
cloneProps.schemas=await mergeFormSchemas(cloneProps.schemas!,formPath);
|
||||
cloneProps.schemas=await mergeFormSchemas({formSchema:cloneProps.schemas!,formPath:formPath});
|
||||
//2.合并表单事件配置
|
||||
fEventConfigs=await mergeFormEventConfigs(fEventConfigs,formPath);
|
||||
fEventConfigs=await mergeFormEventConfigs({formEventConfigs:fEventConfigs,formPath:formPath});
|
||||
}
|
||||
}
|
||||
data.formDataProps=cloneProps;
|
||||
@ -1842,8 +1842,8 @@ export function buildSimpleFormCode(model: GeneratorConfig, _tableInfo: TableInf
|
||||
if (formConfig.useCustomConfig) {
|
||||
const parts = obj.formConfigKey.split('_');
|
||||
const formId=parts[1];
|
||||
cloneProps.schemas=await mergeFormSchemas(cloneProps.schemas!,formId);
|
||||
customFormEventConfigs=await mergeFormEventConfigs(customFormEventConfigs,formId);
|
||||
cloneProps.schemas=await mergeFormSchemas({formSchema:cloneProps.schemas!,formId:formId});
|
||||
customFormEventConfigs=await mergeFormEventConfigs({formEventConfigs:customFormEventConfigs,formId:formId});
|
||||
}
|
||||
|
||||
let flowData = changeWorkFlowForm(cloneProps, obj);
|
||||
|
||||
Reference in New Issue
Block a user