<el-cascader
ref="cascaderJob"
v-if="categoryjobOptions.length > 0"
class="el_input_widht"
v-model="categoryjobValue"
placeholder="职位分类"
:options="categoryjobOptions"
:props="{multiple: true, checkStrictly: true}"
:show-all-levels="true"
@change="categoryjobChange"
></el-cascader>
categoryjobChange(val){
if(val.length>2){
this.categoryjobOptions = this.DisabledForStatus(this.categoryjobOptions,1)
this.categoryjobOptions.forEach(element => {
val.forEach(item => {
if(item.length==1){
if(item[0] == element.value){
element.disabled = false;
}
}else if(item.length==2){
element.children.forEach(it => {
if(it.value==item[1]){
it.disabled = false;
}
});
}else if(item.length==3){
element.children.forEach(it => {
if(it.value==item[1]){
it.children.forEach(t => {
if(t.value==item[2]){
t.disabled = false;
}
});
}
});
}
});
});
}else{
this.categoryjobOptions = this.DisabledForStatus(this.categoryjobOptions,2)
}
},
DisabledForStatus(arr,type) {
let newArr = JSON.parse(JSON.stringify(arr));
newArr.forEach((item) => {
if(type==1){
item.disabled = true;
}else{
item.disabled = false;
}
if (item.children && item.children.length !== 0) {
let newChildren = [];
newChildren = this.addDisabledForStatus(item.children,type);
item.children = newChildren;
}
});
return newArr;
},