Browse Source

关联选项设置-多选结合单选效果实现

lwx_v8
liwenxuan 2 years ago
parent
commit
02afadbb79
  1. 86
      src/components/DesignForm/public/form/form.vue

86
src/components/DesignForm/public/form/form.vue

@ -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)
//radioSelectArr3radioSelectArr3 [ i ] . toshowFieldKey i==hideFieldArri //radioSelectArr3radioSelectArr3 [ i ] . toshowFieldKey i==hideFieldArri
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-1field,hideFieldArr //conditionfield,x-1,x-1field,hideFieldArr
if() if()
} */ } */
return hideFieldArr return hideFieldArr
} }

Loading…
Cancel
Save