From 9d194f548c6f40d0eb8f18b28341c8071a1683ef Mon Sep 17 00:00:00 2001
From: guanqb <18720758508@163.com>
Date: Tue, 06 Sep 2022 11:12:07 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.105:10010/r/zhny_web
---
src/api/system/role.js | 5 +-
src/views/authority/role.vue | 62 ++++++++++++++++++++++++++----
2 files changed, 56 insertions(+), 11 deletions(-)
diff --git a/src/api/system/role.js b/src/api/system/role.js
index 8d34555..7aa6caf 100644
--- a/src/api/system/role.js
+++ b/src/api/system/role.js
@@ -18,7 +18,7 @@
})
}
-export const grant = (roleIds, menuIds, dataScopeIds, apiScopeIds) => {
+export const grant = (roleIds, menuIds, dataScopeIds, apiScopeIds,systemIds) => {
return request({
url: '/api/blade-system/role/grant',
method: 'post',
@@ -26,7 +26,8 @@
roleIds,
menuIds,
dataScopeIds,
- apiScopeIds
+ apiScopeIds,
+ systemIds
}
})
}
diff --git a/src/views/authority/role.vue b/src/views/authority/role.vue
index bd80b24..303a54f 100644
--- a/src/views/authority/role.vue
+++ b/src/views/authority/role.vue
@@ -38,7 +38,7 @@
</template>
</avue-crud>
<el-dialog title="角色权限配置" append-to-body :visible.sync="box" width="345px">
- <el-tabs type="border-card">
+ <el-tabs stretch="true" type="border-card">
<el-tab-pane label="菜单权限">
<el-tree
:data="menuGrantList"
@@ -49,7 +49,17 @@
:props="props"
></el-tree>
</el-tab-pane>
- <el-tab-pane label="数据权限">
+ <el-tab-pane label="系统权限">
+ <el-tree
+ :data="systemList"
+ show-checkbox
+ node-key="dictKey"
+ ref="treeSystemScope"
+ :default-checked-keys="checkedSystem"
+ :props="propSystem"
+ ></el-tree>
+ </el-tab-pane>
+ <!-- <el-tab-pane label="数据权限">
<el-tree
:data="dataScopeGrantList"
show-checkbox
@@ -68,7 +78,7 @@
:default-checked-keys="apiScopeTreeObj"
:props="props"
></el-tree>
- </el-tab-pane>
+ </el-tab-pane> -->
</el-tabs>
<span slot="footer" class="dialog-footer">
@@ -81,10 +91,11 @@
<script>
import { add, getList, getRole, getRoleTreeById, grant, grantTree, remove, update } from "@/api/system/role"
+import {getDictionary} from "@/api/system/dictbiz"
import { mapGetters } from "vuex"
import website from '@/config/website'
-
export default {
+
data () {
return {
form: {},
@@ -92,6 +103,10 @@
props: {
label: "title",
value: "key"
+ },
+ propSystem:{
+ label:"dictValue",
+ value:"dictKey"
},
menuGrantList: [],
dataScopeGrantList: [],
@@ -204,7 +219,11 @@
}
]
},
- data: []
+ data: [],
+ checkAll: false,
+ checkedSystem: [],
+ systemList: [],
+ isIndeterminate: true
}
},
computed: {
@@ -242,9 +261,13 @@
},
submit () {
const menuList = this.$refs.treeMenu.getCheckedKeys()
- const dataScopeList = this.$refs.treeDataScope.getCheckedKeys()
- const apiScopeList = this.$refs.treeApiScope.getCheckedKeys()
- grant(this.idsArray, menuList, dataScopeList, apiScopeList).then(() => {
+ // const dataScopeList = this.$refs.treeDataScope.getCheckedKeys()
+ // const apiScopeList = this.$refs.treeApiScope.getCheckedKeys()
+ const dataScopeList = []
+ const apiScopeList = []
+ const systemLists = this.$refs.treeSystemScope.getCheckedKeys()
+ const systemIds = systemLists.join(",")
+ grant(this.idsArray, menuList, dataScopeList, apiScopeList,systemIds).then(() => {
this.box = false
this.$message({
type: "success",
@@ -252,6 +275,7 @@
})
this.onLoad(this.page)
})
+
},
rowSave (row, done, loading) {
add(row).then(() => {
@@ -333,13 +357,26 @@
this.menuGrantList = res.data.data.menu
this.dataScopeGrantList = res.data.data.dataScope
this.apiScopeGrantList = res.data.data.apiScope
+ getDictionary({code:"system"}).then(res=>{
+ if(res.data.code == 200){
+ this.systemList = res.data.data
+
+ }
+ })
getRole(this.ids).then(res => {
+ if(res.data.data.systemIds){
+ this.checkedSystem = res.data.data.systemIds.split(",")
+ }else{
+ this.checkedSystem = []
+ }
+
this.menuTreeObj = res.data.data.menu
this.dataScopeTreeObj = res.data.data.dataScope
this.apiScopeTreeObj = res.data.data.apiScope
this.box = true
})
})
+
},
handleDelete () {
if (this.selectionList.length === 0) {
@@ -379,7 +416,14 @@
this.loading = false
this.selectionClear()
})
- }
+ },
+ handleCheckAllChange(val) {
+ this.checkedSystem = val ? this.systemList : [];
+ this.isIndeterminate = false;
+ },
+ handleCheckedChange(value) {
+
+ },
}
};
</script>
--
Gitblit v1.9.3