diff --git a/src/components/DesignForm/public/form/form.vue b/src/components/DesignForm/public/form/form.vue index 9d62527b0..8d8d9f92c 100644 --- a/src/components/DesignForm/public/form/form.vue +++ b/src/components/DesignForm/public/form/form.vue @@ -202,8 +202,36 @@ interface hideFieldConditionArritem { conditions: any[] } -const recursionToGetFinallyHideFields = (hideFieldArr: any[],radioSelectArr3: string | any[],modelKeyArr: string | any[],defaultHideFields: any[],nowShowingDefaultHideFieldArr: any[],nowShowingFieldArr: string[]) => { +const recursionToGetFinallyHideFields = (hideFieldArr: any[],radioSelectArr3: string | any[],defaultHideFields: any[]) => { + + nextTick(() => { + console.log("以showFields的处理过冒号的每个元素为key,其对应的optionValue为value,新建的数组radioselectArr3 --- 内容为完整显示隐藏条件") + console.log(radioSelectArr3) + console.log("当前表单的值-------------------") + console.log(model.value) + console.log("默认隐藏的字段-----------------") + console.log(defaultHideFields) + let modelKeyArr = [];//所有字段 + for(let i= 0;i !hideFieldArr.includes(a)) + //当前所有处于显示状态的字段 + let nowShowingFieldArr = modelKeyArr.filter(a => !hideFieldArr.includes(a)) + + + + + + + //以被默认隐藏的每个字段为key,显示该字段的所有条件的数组作为value,来作为该数组的每一项。 const hideFieldConditionArr:hideFieldConditionArritem[] = [] //保存应多选条件造成的应隐藏的字段 @@ -353,6 +381,25 @@ const recursionToGetFinallyHideFields = (hideFieldArr: any[],radioSelectArr3: st //当被显示出来的字段涉及到的conditionfield已经被隐藏了时,其x应-1,如果x-1后造成该field被隐藏,应递归重新敲定hideFieldArr if() } */ + + + + + + + console.log("条件筛选过后最终要隐藏的字段-----"+hideFieldArr) + + +//编辑表单页不隐藏任何字段。 +if(formProps.value.type!=5){ + props.formData.config.hideField?.push(...hideFieldArr) +} + +}); + + + + return hideFieldArr } @@ -611,30 +658,13 @@ provide(constControlChange, ({ key, value, data, tProp, type, attribute }: any) hideFieldArr = Array.from(new Set(hideFieldArr)) const defaultHideFields: any[] = JSON.parse(JSON.stringify(hideFieldArr)) + for(let i = 0;i { - console.log("以showFields的处理过冒号的每个元素为key,其对应的optionValue为value,新建的数组radioselectArr3 --- 内容为完整显示隐藏条件") - console.log(radioSelectArr3) - console.log("当前表单的值-------------------") - console.log(model.value) - console.log("默认隐藏的字段-----------------") - console.log(hideFieldArr) - let modelKeyArr = [];//所有字段 - for(let i= 0;i !hideFieldArr.includes(a)) - //当前所有处于显示状态的字段 - let nowShowingFieldArr = modelKeyArr.filter(a => !hideFieldArr.includes(a)) - hideFieldArr = recursionToGetFinallyHideFields(hideFieldArr,radioSelectArr3,modelKeyArr,defaultHideFields,nowShowingDefaultHideFieldArr,nowShowingFieldArr) @@ -642,16 +672,7 @@ provide(constControlChange, ({ key, value, data, tProp, type, attribute }: any) - - console.log("条件筛选过后最终要隐藏的字段-----"+hideFieldArr) - - - //编辑表单页不隐藏任何字段。 - if(formProps.value.type!=5){ - props.formData.config.hideField?.push(...hideFieldArr) - } - - }); +