|
|
@ -206,11 +206,8 @@ const recursionToGetFinallyHideFields = (hideFieldArr: any[],radioSelectArr3: st |
|
|
|
|
|
|
|
|
//以被默认隐藏的每个字段为key,显示该字段的所有条件的数组作为value,来作为该数组的每一项。 |
|
|
//以被默认隐藏的每个字段为key,显示该字段的所有条件的数组作为value,来作为该数组的每一项。 |
|
|
const hideFieldConditionArr:hideFieldConditionArritem[] = [] |
|
|
const hideFieldConditionArr:hideFieldConditionArritem[] = [] |
|
|
|
|
|
|
|
|
//保存应多选条件造成的应隐藏的字段 |
|
|
//保存应多选条件造成的应隐藏的字段 |
|
|
let hideFieldsFromCheckbox: string[] = [] |
|
|
let hideFieldsFromCheckbox: string[] = [] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for(let i = 0;i < hideFieldArr.length;i++){ |
|
|
for(let i = 0;i < hideFieldArr.length;i++){ |
|
|
hideFieldConditionArr.push({ |
|
|
hideFieldConditionArr.push({ |
|
|
toShow:hideFieldArr[i], |
|
|
toShow:hideFieldArr[i], |
|
|
@ -218,7 +215,6 @@ const recursionToGetFinallyHideFields = (hideFieldArr: any[],radioSelectArr3: st |
|
|
}) |
|
|
}) |
|
|
} |
|
|
} |
|
|
console.log(hideFieldConditionArr) |
|
|
console.log(hideFieldConditionArr) |
|
|
|
|
|
|
|
|
//遍历所有配置条件数组radioSelectArr3,当radioSelectArr3 [ i ] . toshowFieldKey 【i】==hideFieldArr【i】时 |
|
|
//遍历所有配置条件数组radioSelectArr3,当radioSelectArr3 [ i ] . toshowFieldKey 【i】==hideFieldArr【i】时 |
|
|
for(let i = 0;i < radioSelectArr3.length;i++){ |
|
|
for(let i = 0;i < radioSelectArr3.length;i++){ |
|
|
for(let j = 0;j < radioSelectArr3[i].toShowFieldKey.length;j++){ |
|
|
for(let j = 0;j < radioSelectArr3[i].toShowFieldKey.length;j++){ |
|
|
@ -227,8 +223,6 @@ const recursionToGetFinallyHideFields = (hideFieldArr: any[],radioSelectArr3: st |
|
|
console.log(j) |
|
|
console.log(j) |
|
|
console.log(n) */ |
|
|
console.log(n) */ |
|
|
if(radioSelectArr3[i].toShowFieldKey[j]==hideFieldConditionArr[n].toShow){ |
|
|
if(radioSelectArr3[i].toShowFieldKey[j]==hideFieldConditionArr[n].toShow){ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(Array.isArray(radioSelectArr3[i].conditionFieldValue)){ |
|
|
if(Array.isArray(radioSelectArr3[i].conditionFieldValue)){ |
|
|
let valStr = ""; |
|
|
let valStr = ""; |
|
|
for(let x = 0;x<radioSelectArr3[i].conditionFieldValue.length;x++){ |
|
|
for(let x = 0;x<radioSelectArr3[i].conditionFieldValue.length;x++){ |
|
|
@ -241,7 +235,6 @@ const recursionToGetFinallyHideFields = (hideFieldArr: any[],radioSelectArr3: st |
|
|
conditionFieldValue:valStr |
|
|
conditionFieldValue:valStr |
|
|
}] |
|
|
}] |
|
|
}) |
|
|
}) |
|
|
|
|
|
|
|
|
}else{ |
|
|
}else{ |
|
|
hideFieldConditionArr[n].conditions.push({ |
|
|
hideFieldConditionArr[n].conditions.push({ |
|
|
conditionFrom:"radioOrSelect",//本条件来自于单选或者下拉 |
|
|
conditionFrom:"radioOrSelect",//本条件来自于单选或者下拉 |
|
|
@ -253,7 +246,6 @@ const recursionToGetFinallyHideFields = (hideFieldArr: any[],radioSelectArr3: st |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
console.log(hideFieldConditionArr); |
|
|
console.log(hideFieldConditionArr); |
|
|
@ -261,9 +253,7 @@ const recursionToGetFinallyHideFields = (hideFieldArr: any[],radioSelectArr3: st |
|
|
//let showfieldsCountX = []; |
|
|
//let showfieldsCountX = []; |
|
|
for(let i = 0;i<hideFieldConditionArr.length;i++){ |
|
|
for(let i = 0;i<hideFieldConditionArr.length;i++){ |
|
|
let x = 0//满足显示条件的次数 |
|
|
let x = 0//满足显示条件的次数 |
|
|
|
|
|
|
|
|
let toshow = hideFieldConditionArr[i].toShow |
|
|
let toshow = hideFieldConditionArr[i].toShow |
|
|
|
|
|
|
|
|
let conditions = hideFieldConditionArr[i].conditions |
|
|
let conditions = hideFieldConditionArr[i].conditions |
|
|
//console.log(conditions) |
|
|
//console.log(conditions) |
|
|
for(let j = 0;j<conditions.length;j++){ |
|
|
for(let j = 0;j<conditions.length;j++){ |
|
|
@ -271,55 +261,46 @@ const recursionToGetFinallyHideFields = (hideFieldArr: any[],radioSelectArr3: st |
|
|
let conditionFieldValue = conditions[j].condition[0].conditionFieldValue |
|
|
let conditionFieldValue = conditions[j].condition[0].conditionFieldValue |
|
|
console.log(conditionField) |
|
|
console.log(conditionField) |
|
|
if(conditionFieldValue.includes(",")){//来自多选 |
|
|
if(conditionFieldValue.includes(",")){//来自多选 |
|
|
//alert(conditionFieldValue) |
|
|
|
|
|
|
|
|
|
|
|
let conditionFieldValueArr = conditionFieldValue.split(",") |
|
|
let conditionFieldValueArr = conditionFieldValue.split(",") |
|
|
conditionFieldValueArr = conditionFieldValueArr.slice(0, -1); |
|
|
conditionFieldValueArr = conditionFieldValueArr.slice(0, -1); |
|
|
console.log(conditionFieldValueArr) |
|
|
console.log(conditionFieldValueArr) |
|
|
console.log(conditionFieldValue) |
|
|
console.log(conditionFieldValue) |
|
|
//nextTick(()=>{ |
|
|
for(let n = 0; n< modelKeyArr.length;n++){ |
|
|
for(let n = 0; n< modelKeyArr.length;n++){ |
|
|
if(modelKeyArr[n]==conditionField){ |
|
|
if(modelKeyArr[n]==conditionField){ |
|
|
let count_1 = 0; |
|
|
let count_1 = 0; |
|
|
let trueValue = model.value[modelKeyArr[n]] |
|
|
let trueValue = model.value[modelKeyArr[n]] |
|
|
if(trueValue.length>0&&arrayEqual(trueValue,conditionFieldValueArr)){ |
|
|
if(trueValue.length>0&&arrayEqual(trueValue,conditionFieldValueArr)){ |
|
|
//此时满足了条件,但是必须看一下conditionField有没有被隐藏.如果被隐藏了,则x不能增加. |
|
|
//此时满足了条件,但是必须看一下conditionField有没有被隐藏.如果被隐藏了,则x不能增加. |
|
|
//alert("多选条件成功触发") |
|
|
//alert("多选条件成功触发") |
|
|
console.log(conditionField) |
|
|
console.log(conditionField) |
|
|
console.log(toshow) |
|
|
console.log(toshow) |
|
|
let flag = false//其依赖的选项的父字段是否被隐藏.默认没被隐藏, |
|
|
let flag = false//其依赖的选项的父字段是否被隐藏.默认没被隐藏, |
|
|
//如果此时的conditionField有可能被隐藏且已被隐藏,x不能++ |
|
|
//如果此时的conditionField有可能被隐藏且已被隐藏,x不能++ |
|
|
for(let a = 0;a<hideFieldConditionArr.length;a++){ |
|
|
for(let a = 0;a<hideFieldConditionArr.length;a++){ |
|
|
if(hideFieldConditionArr[a].toShow==conditionField){//当conditions.length>1说明时多选,=1说明是单选. |
|
|
if(hideFieldConditionArr[a].toShow==conditionField){//当conditions.length>1说明时多选,=1说明是单选. |
|
|
for(let b = 0;b<hideFieldConditionArr[a].conditions.length;b++){ |
|
|
for(let b = 0;b<hideFieldConditionArr[a].conditions.length;b++){ |
|
|
for(let c = 0;c<hideFieldConditionArr[a].conditions[b].condition.length;c++){ |
|
|
for(let c = 0;c<hideFieldConditionArr[a].conditions[b].condition.length;c++){ |
|
|
if(hideFieldConditionArr[a].conditions[b].condition[c]==conditionField){ |
|
|
if(hideFieldConditionArr[a].conditions[b].condition[c]==conditionField){ |
|
|
//暂时写到这里,先去组装多选条件数组. |
|
|
//暂时写到这里,先去组装多选条件数组. |
|
|
console.log(1) |
|
|
console.log(1) |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
} |
|
|
if(flag==false){ |
|
|
if(flag==false){ |
|
|
x++ |
|
|
x++ |
|
|
hideFieldsFromCheckbox.push(toshow) |
|
|
hideFieldsFromCheckbox.push(toshow) |
|
|
console.log(hideFieldArr) |
|
|
console.log(hideFieldArr) |
|
|
/* for(let i = 0;i<hideFieldsFromCheckbox.length;i++){ |
|
|
/* for(let i = 0;i<hideFieldsFromCheckbox.length;i++){ |
|
|
hideFieldArr = hideFieldArr.filter((item: string) => item!=hideFieldsFromCheckbox[i]) |
|
|
hideFieldArr = hideFieldArr.filter((item: string) => item!=hideFieldsFromCheckbox[i]) |
|
|
//emits('refresh') |
|
|
//emits('refresh') |
|
|
} */ |
|
|
} */ |
|
|
} |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
//}) |
|
|
} |
|
|
|
|
|
}else{//来自单选下拉 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}else{ |
|
|
|
|
|
console.log(conditionFieldValue) |
|
|
console.log(conditionFieldValue) |
|
|
for(let n = 0; n< modelKeyArr.length;n++){ |
|
|
for(let n = 0; n< modelKeyArr.length;n++){ |
|
|
if(modelKeyArr[n]==conditionField){ |
|
|
if(modelKeyArr[n]==conditionField){ |
|
|
@ -329,7 +310,6 @@ const recursionToGetFinallyHideFields = (hideFieldArr: any[],radioSelectArr3: st |
|
|
//console.log(trueValue) |
|
|
//console.log(trueValue) |
|
|
if(trueValue==conditionFieldValue){ |
|
|
if(trueValue==conditionFieldValue){ |
|
|
//此时满足了条件,但是必须看一下conditionField有没有被隐藏.如果被隐藏了,则x不能增加. |
|
|
//此时满足了条件,但是必须看一下conditionField有没有被隐藏.如果被隐藏了,则x不能增加. |
|
|
|
|
|
|
|
|
let flag = false//其依赖的选项的父字段是否被隐藏.默认没被隐藏, |
|
|
let flag = false//其依赖的选项的父字段是否被隐藏.默认没被隐藏, |
|
|
//如果此时的conditionField有可能被隐藏且已被隐藏,x不能++ |
|
|
//如果此时的conditionField有可能被隐藏且已被隐藏,x不能++ |
|
|
for(let a = 0;a<hideFieldConditionArr.length;a++){ |
|
|
for(let a = 0;a<hideFieldConditionArr.length;a++){ |
|
|
@ -352,14 +332,10 @@ const recursionToGetFinallyHideFields = (hideFieldArr: any[],radioSelectArr3: st |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(x>0){ |
|
|
if(x>0){ |
|
|
hideFieldArr = hideFieldArr.filter((item: string) => item!=toshow) |
|
|
hideFieldArr = hideFieldArr.filter((item: string) => item!=toshow) |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//将隐藏的字段值重置 |
|
|
//将隐藏的字段值重置 |
|
|
for(let i = 0; i< hideFieldArr.length;i++){ |
|
|
for(let i = 0; i< hideFieldArr.length;i++){ |
|
|
//console.log(i+"dsfafdasdfasfsda===="+hideFieldArr[i]+"=====jiuopfdsahokjuhuiofadshuiofadsjbknfdjisahuifhjken wij================"+model.value[hideFieldArr[i]]) |
|
|
//console.log(i+"dsfafdasdfasfsda===="+hideFieldArr[i]+"=====jiuopfdsahokjuhuiofadshuiofadsjbknfdjisahuifhjken wij================"+model.value[hideFieldArr[i]]) |
|
|
@ -369,8 +345,6 @@ const recursionToGetFinallyHideFields = (hideFieldArr: any[],radioSelectArr3: st |
|
|
model.value[hideFieldArr[i]] = [] |
|
|
model.value[hideFieldArr[i]] = [] |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//默认隐藏的字段中目前被显示出来的 |
|
|
//默认隐藏的字段中目前被显示出来的 |
|
|
nowShowingDefaultHideFieldArr = defaultHideFields.filter(a => !hideFieldArr.includes(a)) |
|
|
nowShowingDefaultHideFieldArr = defaultHideFields.filter(a => !hideFieldArr.includes(a)) |
|
|
console.log("(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))") |
|
|
console.log("(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))") |
|
|
@ -379,9 +353,7 @@ const recursionToGetFinallyHideFields = (hideFieldArr: any[],radioSelectArr3: st |
|
|
//当被显示出来的字段涉及到的conditionfield已经被隐藏了时,其x应-1,如果x-1后造成该field被隐藏,应递归重新敲定hideFieldArr |
|
|
//当被显示出来的字段涉及到的conditionfield已经被隐藏了时,其x应-1,如果x-1后造成该field被隐藏,应递归重新敲定hideFieldArr |
|
|
if() |
|
|
if() |
|
|
} */ |
|
|
} */ |
|
|
|
|
|
|
|
|
return hideFieldArr |
|
|
return hideFieldArr |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|