提交 107e9018 编写于 作者: JEECG低代码平台's avatar JEECG低代码平台

JeecgBoot 2.1.1 代码生成器AI版本发布

上级 c69884c8
...@@ -31,10 +31,8 @@ ...@@ -31,10 +31,8 @@
<div class="drawer-bootom-button"> <div class="drawer-bootom-button">
<a-dropdown style="float: left" :trigger="['click']" placement="topCenter"> <a-dropdown style="float: left" :trigger="['click']" placement="topCenter">
<a-menu slot="overlay"> <a-menu slot="overlay">
<!-- 简化Tree逻辑,使用默认checkStrictly为false的行为,即默认父子关联
<a-menu-item key="1" @click="switchCheckStrictly(1)">父子关联</a-menu-item> <a-menu-item key="1" @click="switchCheckStrictly(1)">父子关联</a-menu-item>
<a-menu-item key="2" @click="switchCheckStrictly(2)">取消关联</a-menu-item> <a-menu-item key="2" @click="switchCheckStrictly(2)">取消关联</a-menu-item>
-->
<a-menu-item key="3" @click="checkALL">全部勾选</a-menu-item> <a-menu-item key="3" @click="checkALL">全部勾选</a-menu-item>
<a-menu-item key="4" @click="cancelCheckALL">取消全选</a-menu-item> <a-menu-item key="4" @click="cancelCheckALL">取消全选</a-menu-item>
<a-menu-item key="5" @click="expandAll">展开所有</a-menu-item> <a-menu-item key="5" @click="expandAll">展开所有</a-menu-item>
...@@ -70,11 +68,10 @@ ...@@ -70,11 +68,10 @@
treeData: [], treeData: [],
defaultCheckedKeys:[], defaultCheckedKeys:[],
checkedKeys:[], checkedKeys:[],
halfCheckedKeys:[],
expandedKeysss:[], expandedKeysss:[],
allTreeKeys:[], allTreeKeys:[],
autoExpandParent: true, autoExpandParent: true,
checkStrictly: false, checkStrictly: true,
title:"角色权限配置", title:"角色权限配置",
visible: false, visible: false,
loading: false, loading: false,
...@@ -88,10 +85,12 @@ ...@@ -88,10 +85,12 @@
} }
this.$refs.datarule.show(this.selectedKeys[0],this.roleId) this.$refs.datarule.show(this.selectedKeys[0],this.roleId)
}, },
onCheck (checkedKeys, { halfCheckedKeys }) { onCheck (o) {
// 保存选中的和半选中的,后面保存的时候合并提交 if(this.checkStrictly){
this.checkedKeys = checkedKeys this.checkedKeys = o.checked;
this.halfCheckedKeys = halfCheckedKeys }else{
this.checkedKeys = o
}
}, },
show(roleId){ show(roleId){
this.roleId=roleId this.roleId=roleId
...@@ -122,18 +121,24 @@ ...@@ -122,18 +121,24 @@
this.checkedKeys = this.allTreeKeys this.checkedKeys = this.allTreeKeys
}, },
cancelCheckALL () { cancelCheckALL () {
//this.checkedKeys = this.defaultCheckedKeys
this.checkedKeys = [] this.checkedKeys = []
}, },
switchCheckStrictly (v) {
if(v==1){
this.checkStrictly = false
}else if(v==2){
this.checkStrictly = true
}
},
handleCancel () { handleCancel () {
this.close() this.close()
}, },
handleSubmit(){ handleSubmit(){
let that = this; let that = this;
let checkedKeys = [...that.checkedKeys, ...that.halfCheckedKeys]
const permissionIds = checkedKeys.join(",")
let params = { let params = {
roleId:that.roleId, roleId:that.roleId,
permissionIds, permissionIds:that.checkedKeys.join(","),
lastpermissionIds:that.defaultCheckedKeys.join(","), lastpermissionIds:that.defaultCheckedKeys.join(","),
}; };
that.loading = true; that.loading = true;
...@@ -150,15 +155,6 @@ ...@@ -150,15 +155,6 @@
} }
}) })
}, },
convertTreeListToKeyLeafPairs(treeList, keyLeafPair = []) {
for(const {key, isLeaf, children} of treeList) {
keyLeafPair.push({key, isLeaf})
if(children && children.length > 0) {
this.convertTreeListToKeyLeafPairs(children, keyLeafPair)
}
}
return keyLeafPair;
},
}, },
watch: { watch: {
visible () { visible () {
...@@ -166,23 +162,11 @@ ...@@ -166,23 +162,11 @@
queryTreeListForRole().then((res) => { queryTreeListForRole().then((res) => {
this.treeData = res.result.treeList this.treeData = res.result.treeList
this.allTreeKeys = res.result.ids this.allTreeKeys = res.result.ids
const keyLeafPairs = this.convertTreeListToKeyLeafPairs(this.treeData)
queryRolePermission({roleId:this.roleId}).then((res)=>{ queryRolePermission({roleId:this.roleId}).then((res)=>{
// 过滤出 leaf node 即可,即选中的 this.checkedKeys = [...res.result];
// Tree组件中checkStrictly默认为false的时候,选中子节点,父节点会自动设置选中或半选中 this.defaultCheckedKeys = [...res.result];
// 保存 checkedKeys 以及 halfCheckedKeys 以便于未做任何操作时提交表单数据 this.expandedKeysss = this.allTreeKeys;
const checkedKeys = [...res.result].filter(key => { //console.log(this.defaultCheckedKeys)
const keyLeafPair = keyLeafPairs.filter(item => item.key === key)[0]
return keyLeafPair && keyLeafPair.isLeaf
})
const halfCheckedKeys = [...res.result].filter(key => {
const keyLeafPair = keyLeafPairs.filter(item => item.key === key)[0]
return keyLeafPair && !keyLeafPair.isLeaf
})
this.checkedKeys = [...checkedKeys];
this.halfCheckedKeys = [...halfCheckedKeys]
this.defaultCheckedKeys = [...halfCheckedKeys, ...checkedKeys];
this.expandedKeysss = this.allTreeKeys;
}) })
}) })
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册