小组管理 数据权限树option的checked行为调整

This commit is contained in:
anhc 2022-07-14 17:36:22 +08:00
parent e1bb125fc3
commit d4ada9e932
2 changed files with 33 additions and 3 deletions

View File

@ -73,7 +73,7 @@ export default {
initData() {
const that = this;
that.loading = true;
console.log("teams",that.teamMembers);
// console.log("teams",that.teamMembers);
that.teamMembers.forEach(member=>{
let option = {
value: member.userId,

View File

@ -61,7 +61,8 @@
<span>{{node.label}}</span>
<span v-if="node.level > 1" class="action-checkBox" style="flex: 1;text-align: right" @click="handleCheckedActionChange(node)">
<el-checkbox-group v-model="node.data.dataActionPerm">
<el-checkbox v-for="dataAction in dataActionPermOpts" :label="dataAction.label" :key="dataAction.label" :disabled="!node.checked" >{{dataAction.value}}</el-checkbox>
<el-checkbox v-for="dataAction in node.data.dataActionPermOpts" :label="dataAction.label" :key="dataAction.label"
:disabled="!node.checked || dataAction.disabled" @change="checkBoxDisabledHandle(node.data,dataAction)" >{{dataAction.value}}</el-checkbox>
</el-checkbox-group>
</span>
</span>
@ -500,13 +501,20 @@
let data = ro.data;
for (let i = 0; i < data.length; i++) {
let item = data[i];
Object.assign(item,{dataActionPermOpts: that.dataActionPermOpts})
if (that.dataActionPerm[item.versionId] != undefined){
Object.assign(item,{dataActionPerm:that.dataActionPerm[item.versionId]})
if (that.dataActionPerm[item.versionId].includes('d') || that.dataActionPerm[item.versionId].includes('v')){
item.dataActionPermOpts.forEach(item=>{
if (item.label == 'w'){
item.disabled = true;
}
})
}
}else {
Object.assign(item,{dataActionPerm:[]})
}
}
// console.log("data",data)
resolve(data);
that.loading = false;
if (node.level == 0 && ro.data.length > 0) {
@ -533,6 +541,28 @@
},100)
},
checkBoxDisabledHandle(data,dataAction){
let dataActionPerm = data.dataActionPerm;
let actionOpts = data.dataActionPermOpts;
let flag = dataActionPerm.includes('d') || dataActionPerm.includes('v')
if ((dataAction.label == 'd' || dataAction.label == 'v') && flag){
if (!dataActionPerm.includes('w')){
dataActionPerm.push('w');
}
actionOpts.forEach(item=>{
if (item.label == 'w'){
item.disabled = true;
}
})
}else {
actionOpts.forEach(item=>{
if (item.label == 'w'){
item.disabled = false;
}
})
}
}
},
watch: {