|
|
|
|
@ -20,7 +20,7 @@ |
|
|
|
|
@on-load="onLoad" |
|
|
|
|
> |
|
|
|
|
<template slot="menuLeft"> |
|
|
|
|
<el-button |
|
|
|
|
<!-- <el-button |
|
|
|
|
type="danger" |
|
|
|
|
size="small" |
|
|
|
|
icon="el-icon-delete" |
|
|
|
|
@ -28,7 +28,7 @@ |
|
|
|
|
plain |
|
|
|
|
@click="handleDelete" |
|
|
|
|
>删 除 |
|
|
|
|
</el-button> |
|
|
|
|
</el-button> --> |
|
|
|
|
<el-button |
|
|
|
|
size="small" |
|
|
|
|
icon="el-icon-setting" |
|
|
|
|
@ -152,36 +152,39 @@ export default { |
|
|
|
|
border: true, |
|
|
|
|
index: true, |
|
|
|
|
selection: true, |
|
|
|
|
viewBtn: true, |
|
|
|
|
viewBtn: false, |
|
|
|
|
addBtn: false, |
|
|
|
|
editBtn: false, // 隐藏编辑按钮 |
|
|
|
|
delBtn: false, // 隐藏删除按钮 |
|
|
|
|
labelWidth: 120, |
|
|
|
|
searchLabelWidth: 120, |
|
|
|
|
menuWidth: 350, |
|
|
|
|
dialogWidth: 600, |
|
|
|
|
dialogClickModal: false, |
|
|
|
|
column: [ |
|
|
|
|
{ |
|
|
|
|
label: "上级角色", |
|
|
|
|
prop: "parentId", |
|
|
|
|
dicData: [], |
|
|
|
|
type: "tree", |
|
|
|
|
hide: true, |
|
|
|
|
span: 24, |
|
|
|
|
headerAlign: "center", |
|
|
|
|
align: "center", |
|
|
|
|
props: { |
|
|
|
|
label: "title", |
|
|
|
|
}, |
|
|
|
|
rules: [ |
|
|
|
|
{ |
|
|
|
|
required: false, |
|
|
|
|
message: "请选择上级角色", |
|
|
|
|
trigger: "click", |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
// { |
|
|
|
|
// label: "上级角色", |
|
|
|
|
// prop: "parentId", |
|
|
|
|
// dicData: [], |
|
|
|
|
// type: "tree", |
|
|
|
|
// hide: true, |
|
|
|
|
// span: 24, |
|
|
|
|
// headerAlign: "center", |
|
|
|
|
// align: "center", |
|
|
|
|
// props: { |
|
|
|
|
// label: "title", |
|
|
|
|
// }, |
|
|
|
|
// rules: [ |
|
|
|
|
// { |
|
|
|
|
// required: false, |
|
|
|
|
// message: "请选择上级角色", |
|
|
|
|
// trigger: "click", |
|
|
|
|
// }, |
|
|
|
|
// ], |
|
|
|
|
// }, |
|
|
|
|
{ |
|
|
|
|
label: "角色名称", |
|
|
|
|
prop: "roleName", |
|
|
|
|
prop: "name", |
|
|
|
|
search: true, |
|
|
|
|
headerAlign: "center", |
|
|
|
|
align: "center", |
|
|
|
|
@ -194,36 +197,81 @@ export default { |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
// { |
|
|
|
|
// label: "所属租户", |
|
|
|
|
// prop: "tenantId", |
|
|
|
|
// type: "tree", |
|
|
|
|
// dicUrl: "/api/blade-system/tenant/select", |
|
|
|
|
// addDisplay: false, |
|
|
|
|
// editDisplay: false, |
|
|
|
|
// headerAlign: "center", |
|
|
|
|
// align: "center", |
|
|
|
|
// viewDisplay: website.tenantMode, |
|
|
|
|
// span: 24, |
|
|
|
|
// props: { |
|
|
|
|
// label: "tenantName", |
|
|
|
|
// value: "tenantId", |
|
|
|
|
// }, |
|
|
|
|
// hide: !website.tenantMode, |
|
|
|
|
// search: website.tenantMode, |
|
|
|
|
// rules: [ |
|
|
|
|
// { |
|
|
|
|
// required: true, |
|
|
|
|
// message: "请输入所属租户", |
|
|
|
|
// trigger: "click", |
|
|
|
|
// }, |
|
|
|
|
// ], |
|
|
|
|
// }, |
|
|
|
|
// { |
|
|
|
|
// label: "角色别名", |
|
|
|
|
// labelTip: |
|
|
|
|
// "用于权限校验与标注的属性,可手动录入也可点击现有别名快速录入", |
|
|
|
|
// prop: "roleAlias", |
|
|
|
|
// search: true, |
|
|
|
|
// span: 24, |
|
|
|
|
// headerAlign: "center", |
|
|
|
|
// align: "center", |
|
|
|
|
// rules: [ |
|
|
|
|
// { |
|
|
|
|
// required: true, |
|
|
|
|
// message: "请输入角色别名", |
|
|
|
|
// trigger: "blur", |
|
|
|
|
// }, |
|
|
|
|
// ], |
|
|
|
|
// }, |
|
|
|
|
// { |
|
|
|
|
// label: "现有别名", |
|
|
|
|
// labelTip: "当前系统已存在的角色别名,点击可快速录入", |
|
|
|
|
// prop: "currentAlias", |
|
|
|
|
// type: "radio", |
|
|
|
|
// dicData: [], |
|
|
|
|
// headerAlign: "center", |
|
|
|
|
// align: "center", |
|
|
|
|
// props: { |
|
|
|
|
// label: "roleName", |
|
|
|
|
// value: "roleAlias", |
|
|
|
|
// }, |
|
|
|
|
// hide: true, |
|
|
|
|
// span: 24, |
|
|
|
|
// }, |
|
|
|
|
// { |
|
|
|
|
// label: "角色排序", |
|
|
|
|
// prop: "sort", |
|
|
|
|
// type: "number", |
|
|
|
|
// headerAlign: "center", |
|
|
|
|
// align: "center", |
|
|
|
|
// span: 24, |
|
|
|
|
// rules: [ |
|
|
|
|
// { |
|
|
|
|
// required: true, |
|
|
|
|
// message: "请输入角色排序", |
|
|
|
|
// trigger: "blur", |
|
|
|
|
// }, |
|
|
|
|
// ], |
|
|
|
|
// }, |
|
|
|
|
{ |
|
|
|
|
label: "所属租户", |
|
|
|
|
prop: "tenantId", |
|
|
|
|
type: "tree", |
|
|
|
|
dicUrl: "/api/blade-system/tenant/select", |
|
|
|
|
addDisplay: false, |
|
|
|
|
editDisplay: false, |
|
|
|
|
headerAlign: "center", |
|
|
|
|
align: "center", |
|
|
|
|
viewDisplay: website.tenantMode, |
|
|
|
|
span: 24, |
|
|
|
|
props: { |
|
|
|
|
label: "tenantName", |
|
|
|
|
value: "tenantId", |
|
|
|
|
}, |
|
|
|
|
hide: !website.tenantMode, |
|
|
|
|
search: website.tenantMode, |
|
|
|
|
rules: [ |
|
|
|
|
{ |
|
|
|
|
required: true, |
|
|
|
|
message: "请输入所属租户", |
|
|
|
|
trigger: "click", |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
label: "角色别名", |
|
|
|
|
labelTip: |
|
|
|
|
"用于权限校验与标注的属性,可手动录入也可点击现有别名快速录入", |
|
|
|
|
prop: "roleAlias", |
|
|
|
|
label: "角色编码", |
|
|
|
|
prop: "code", |
|
|
|
|
search: true, |
|
|
|
|
span: 24, |
|
|
|
|
headerAlign: "center", |
|
|
|
|
@ -231,37 +279,7 @@ export default { |
|
|
|
|
rules: [ |
|
|
|
|
{ |
|
|
|
|
required: true, |
|
|
|
|
message: "请输入角色别名", |
|
|
|
|
trigger: "blur", |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
label: "现有别名", |
|
|
|
|
labelTip: "当前系统已存在的角色别名,点击可快速录入", |
|
|
|
|
prop: "currentAlias", |
|
|
|
|
type: "radio", |
|
|
|
|
dicData: [], |
|
|
|
|
headerAlign: "center", |
|
|
|
|
align: "center", |
|
|
|
|
props: { |
|
|
|
|
label: "roleName", |
|
|
|
|
value: "roleAlias", |
|
|
|
|
}, |
|
|
|
|
hide: true, |
|
|
|
|
span: 24, |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
label: "角色排序", |
|
|
|
|
prop: "sort", |
|
|
|
|
type: "number", |
|
|
|
|
headerAlign: "center", |
|
|
|
|
align: "center", |
|
|
|
|
span: 24, |
|
|
|
|
rules: [ |
|
|
|
|
{ |
|
|
|
|
required: true, |
|
|
|
|
message: "请输入角色排序", |
|
|
|
|
message: "请输入角色编码", |
|
|
|
|
trigger: "blur", |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
@ -312,9 +330,11 @@ export default { |
|
|
|
|
}); |
|
|
|
|
}, |
|
|
|
|
submit() { |
|
|
|
|
const menuList = this.$refs.treeMenu.getCheckedKeys(); |
|
|
|
|
const dataScopeList = this.$refs.treeDataScope.getCheckedKeys(); |
|
|
|
|
const apiScopeList = this.$refs.treeApiScope.getCheckedKeys(); |
|
|
|
|
|
|
|
|
|
const menuList = this.$refs.treeMenu ? this.$refs.treeMenu.getCheckedKeys() : []; |
|
|
|
|
const dataScopeList = this.$refs.treeDataScope ? this.$refs.treeDataScope.getCheckedKeys() : []; |
|
|
|
|
const apiScopeList = this.$refs.treeApiScope ? this.$refs.treeApiScope.getCheckedKeys() : []; |
|
|
|
|
|
|
|
|
|
grant(this.idsArray, menuList, dataScopeList, apiScopeList).then(() => { |
|
|
|
|
this.box = false; |
|
|
|
|
this.$message({ |
|
|
|
|
@ -411,13 +431,14 @@ export default { |
|
|
|
|
this.dataScopeTreeObj = []; |
|
|
|
|
this.apiScopeTreeObj = []; |
|
|
|
|
grantTree().then((res) => { |
|
|
|
|
this.menuGrantList = res.data.data.menu; |
|
|
|
|
this.dataScopeGrantList = res.data.data.dataScope; |
|
|
|
|
this.apiScopeGrantList = res.data.data.apiScope; |
|
|
|
|
const data = res.data.result |
|
|
|
|
this.menuGrantList = data.menu; |
|
|
|
|
this.dataScopeGrantList = data.dataScope || []; |
|
|
|
|
this.apiScopeGrantList = data.apiScope || []; |
|
|
|
|
getRole(this.ids).then((res) => { |
|
|
|
|
this.menuTreeObj = res.data.data.menu; |
|
|
|
|
this.dataScopeTreeObj = res.data.data.dataScope; |
|
|
|
|
this.apiScopeTreeObj = res.data.data.apiScope; |
|
|
|
|
this.menuTreeObj = res.data.result.menu; |
|
|
|
|
this.dataScopeTreeObj = res.data.result.dataScope || []; |
|
|
|
|
this.apiScopeTreeObj = res.data.result.apiScope || []; |
|
|
|
|
this.box = true; |
|
|
|
|
}); |
|
|
|
|
}); |
|
|
|
|
@ -427,13 +448,14 @@ export default { |
|
|
|
|
this.dataScopeTreeObj = []; |
|
|
|
|
this.apiScopeTreeObj = []; |
|
|
|
|
grantTree().then((res) => { |
|
|
|
|
this.menuGrantList = res.data.data.menu; |
|
|
|
|
this.dataScopeGrantList = res.data.data.dataScope; |
|
|
|
|
this.apiScopeGrantList = res.data.data.apiScope; |
|
|
|
|
const data = res.data.result |
|
|
|
|
this.menuGrantList = data.menu; |
|
|
|
|
this.dataScopeGrantList = data.dataScope || []; |
|
|
|
|
this.apiScopeGrantList = data.apiScope || []; |
|
|
|
|
getRole(row.id).then((res) => { |
|
|
|
|
this.menuTreeObj = res.data.data.menu; |
|
|
|
|
this.dataScopeTreeObj = res.data.data.dataScope; |
|
|
|
|
this.apiScopeTreeObj = res.data.data.apiScope; |
|
|
|
|
this.menuTreeObj = res.data.result.menu; |
|
|
|
|
this.dataScopeTreeObj = res.data.result.dataScope; |
|
|
|
|
this.apiScopeTreeObj = res.data.result.apiScope; |
|
|
|
|
this.selectionList.push(row); |
|
|
|
|
this.box = true; |
|
|
|
|
}); |
|
|
|
|
|