|
|
|
@ -246,6 +246,48 @@ interface hideFieldConditionArritem { |
|
|
|
conditions: any[]; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function funWait(trueValue,conditionFieldValueArr,x,hideFieldsFromCheckbox,toshow){ |
|
|
|
if(trueValue){ |
|
|
|
if (trueValue.length > 0 && arrayEqual(trueValue, conditionFieldValueArr)) { |
|
|
|
//此时满足了条件,但是必须看一下conditionField有没有被隐藏.如果被隐藏了,则x不能增加. |
|
|
|
//alert("多选条件成功触发") |
|
|
|
/* console.log(conditionField) |
|
|
|
console.log(toshow) */ |
|
|
|
let flag = false; //其依赖的选项的父字段是否被隐藏.默认没被隐藏, |
|
|
|
//如果此时的conditionField有可能被隐藏且已被隐藏,x不能++ |
|
|
|
/* for(let a = 0;a<hideFieldConditionArr.length;a++){ |
|
|
|
if(hideFieldConditionArr[a].toShow==conditionField){//当conditions.length>1说明时多选,=1说明是单选. |
|
|
|
for(let b = 0;b<hideFieldConditionArr[a].conditions.length;b++){ |
|
|
|
for(let c = 0;c<hideFieldConditionArr[a].conditions[b].condition.length;c++){ |
|
|
|
if(hideFieldConditionArr[a].conditions[b].condition[c]==conditionField){ |
|
|
|
//暂时写到这里,先去组装多选条件数组. |
|
|
|
//console.log(1) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} */ |
|
|
|
if (flag == false) { |
|
|
|
x++; |
|
|
|
hideFieldsFromCheckbox.push(toshow); |
|
|
|
//console.log(hideFieldArr) |
|
|
|
/* for(let i = 0;i<hideFieldsFromCheckbox.length;i++){ |
|
|
|
hideFieldArr = hideFieldArr.filter((item: string) => item!=hideFieldsFromCheckbox[i]) |
|
|
|
//emits('refresh') |
|
|
|
} */ |
|
|
|
} |
|
|
|
} |
|
|
|
}else{ |
|
|
|
setTimeout(()=>{ |
|
|
|
funWait(trueValue,conditionFieldValueArr,x,hideFieldsFromCheckbox,toshow) |
|
|
|
},100) |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
const recursionToGetFinallyHideFields = ( |
|
|
|
hideFieldArr: any[], |
|
|
|
radioSelectArr3: string | any[], |
|
|
|
@ -351,35 +393,10 @@ const recursionToGetFinallyHideFields = ( |
|
|
|
if (modelKeyArr[n] == conditionField) { |
|
|
|
//let count_1 = 0; |
|
|
|
let trueValue = model.value[modelKeyArr[n]]; |
|
|
|
if (trueValue.length > 0 && arrayEqual(trueValue, conditionFieldValueArr)) { |
|
|
|
//此时满足了条件,但是必须看一下conditionField有没有被隐藏.如果被隐藏了,则x不能增加. |
|
|
|
//alert("多选条件成功触发") |
|
|
|
/* console.log(conditionField) |
|
|
|
console.log(toshow) */ |
|
|
|
let flag = false; //其依赖的选项的父字段是否被隐藏.默认没被隐藏, |
|
|
|
//如果此时的conditionField有可能被隐藏且已被隐藏,x不能++ |
|
|
|
/* for(let a = 0;a<hideFieldConditionArr.length;a++){ |
|
|
|
if(hideFieldConditionArr[a].toShow==conditionField){//当conditions.length>1说明时多选,=1说明是单选. |
|
|
|
for(let b = 0;b<hideFieldConditionArr[a].conditions.length;b++){ |
|
|
|
for(let c = 0;c<hideFieldConditionArr[a].conditions[b].condition.length;c++){ |
|
|
|
if(hideFieldConditionArr[a].conditions[b].condition[c]==conditionField){ |
|
|
|
//暂时写到这里,先去组装多选条件数组. |
|
|
|
//console.log(1) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} */ |
|
|
|
if (flag == false) { |
|
|
|
x++; |
|
|
|
hideFieldsFromCheckbox.push(toshow); |
|
|
|
//console.log(hideFieldArr) |
|
|
|
/* for(let i = 0;i<hideFieldsFromCheckbox.length;i++){ |
|
|
|
hideFieldArr = hideFieldArr.filter((item: string) => item!=hideFieldsFromCheckbox[i]) |
|
|
|
//emits('refresh') |
|
|
|
} */ |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
funWait(trueValue,conditionFieldValueArr,x,hideFieldsFromCheckbox,toshow) |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} else { |
|
|
|
|