|
|
|
@ -105,16 +105,18 @@
|
|
|
|
|
@click.prevent.native="handleCheckAll(index)" style="color:#697882;margin-right: 20px;">{{item.name}}</Checkbox>
|
|
|
|
|
</div>
|
|
|
|
|
<!--2-->
|
|
|
|
|
<CheckboxGroup v-model="item.checkArr">
|
|
|
|
|
<div v-for="(itemSon, itemSonIndex) in item.sonPermissionList" :key="itemSon.id" style="height: 49px;">
|
|
|
|
|
<div style="float: left;width: 20%;border-right: 1px solid #E4E9F1;border-bottom: 1px solid #E4E9F1;height: 49px;line-height: 49px;">
|
|
|
|
|
<CheckboxGroup v-model="item.checkArr">
|
|
|
|
|
|
|
|
|
|
<Checkbox style="margin-left: 30px;color:#697882" :label="itemSon.id"
|
|
|
|
|
@click.prevent.native="handleSonCheckAll(itemSonIndex, index)"
|
|
|
|
|
@on-change="handleSonCheckAllChange(itemSonIndex, index)"
|
|
|
|
|
:key="itemSon.id"
|
|
|
|
|
:indeterminate="itemSon.indeterminate" :value="itemSon.check">
|
|
|
|
|
{{itemSon.name}}
|
|
|
|
|
</Checkbox>
|
|
|
|
|
</CheckboxGroup>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
<!--3-->
|
|
|
|
|
<div style="float: left;width: 80%;height: 49px;line-height: 49px;border-bottom: 1px solid #E4E9F1;">
|
|
|
|
@ -128,7 +130,6 @@
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</CheckboxGroup>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div style="top: 76%;border-top: 1px solid #E4E9F1;width: 100%;padding-top: 20px;position: absolute;text-align: center;">
|
|
|
|
@ -374,46 +375,8 @@
|
|
|
|
|
item.check = false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
handleSonCheckAllChange(itemSonIndex, index) {
|
|
|
|
|
let item = this.permissionList[index];
|
|
|
|
|
let itemSon = this.permissionList[index].sonPermissionList[itemSonIndex];
|
|
|
|
|
if (itemSon.indeterminate) {
|
|
|
|
|
itemSon.check = false;
|
|
|
|
|
} else {
|
|
|
|
|
itemSon.check = !itemSon.check;
|
|
|
|
|
}
|
|
|
|
|
itemSon.indeterminate = false;
|
|
|
|
|
//三级权限全选
|
|
|
|
|
let sonPermission = itemSon.sonPermissionList;
|
|
|
|
|
if (itemSon.check) {
|
|
|
|
|
//全选
|
|
|
|
|
itemSon.checkArr = [];
|
|
|
|
|
sonPermission.forEach(function (sonItem) {
|
|
|
|
|
if (itemSon.checkArr.indexOf(sonItem.id) < 0) {
|
|
|
|
|
itemSon.checkArr.push(sonItem.id);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
if (item.checkArr.indexOf(itemSon.id) < 0) {
|
|
|
|
|
item.checkArr.push(itemSon.id);
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
//取消全部选择
|
|
|
|
|
itemSon.checkArr = [];
|
|
|
|
|
}
|
|
|
|
|
//处理一级权限勾选
|
|
|
|
|
let sonPermissionCount = this.permissionList.length;
|
|
|
|
|
if (item.checkArr.length === sonPermissionCount) {
|
|
|
|
|
item.indeterminate = false;
|
|
|
|
|
item.check = true;
|
|
|
|
|
} else if (item.checkArr.length > 0) {
|
|
|
|
|
item.indeterminate = true;
|
|
|
|
|
item.check = false;
|
|
|
|
|
} else {
|
|
|
|
|
item.indeterminate = false;
|
|
|
|
|
item.check = false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
console.log("click");
|
|
|
|
|
console.log(item);
|
|
|
|
|
},
|
|
|
|
|
//三级权限-点击事件
|
|
|
|
|
handleGrandSonCheckChange (itemSonIndex, index) {
|
|
|
|
|