|
|
|
@ -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<props.formData.list.length;i++){ |
|
|
|
modelKeyArr.push(props.formData.list[i].name+"") |
|
|
|
} |
|
|
|
console.log("所有字段modelKeyArr^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^") |
|
|
|
console.log(modelKeyArr) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//当前处于显示状态的默认隐藏的字段 |
|
|
|
let nowShowingDefaultHideFieldArr = defaultHideFields.filter(a => !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<defaultHideFields.length;i++){ |
|
|
|
hideFieldArr = recursionToGetFinallyHideFields(hideFieldArr,radioSelectArr3,defaultHideFields) |
|
|
|
} |
|
|
|
hideFieldArr = recursionToGetFinallyHideFields(hideFieldArr,radioSelectArr3,defaultHideFields) |
|
|
|
|
|
|
|
|
|
|
|
nextTick(() => { |
|
|
|
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<props.formData.list.length;i++){ |
|
|
|
modelKeyArr.push(props.formData.list[i].name+"") |
|
|
|
} |
|
|
|
console.log("所有字段modelKeyArr^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^") |
|
|
|
console.log(modelKeyArr) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//当前处于显示状态的默认隐藏的字段 |
|
|
|
let nowShowingDefaultHideFieldArr = defaultHideFields.filter(a => !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) |
|
|
|
} |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|