From 08d858276b81d4a45bd23e2a0adb8bca2ea953e8 Mon Sep 17 00:00:00 2001 From: smallchill Date: Fri, 3 Apr 2020 17:15:27 +0800 Subject: [PATCH] =?UTF-8?q?:heavy=5Fplus=5Fsign:=20=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E5=A2=9E=E5=8A=A0=E8=A7=92=E8=89=B2=E6=89=B9?= =?UTF-8?q?=E9=87=8F=E5=88=86=E9=85=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/system/user.js | 11 ++++++++ src/views/system/user.vue | 55 +++++++++++++++++++++++++++++++++++++-- 2 files changed, 64 insertions(+), 2 deletions(-) diff --git a/src/api/system/user.js b/src/api/system/user.js index 66b055d..3c72131 100644 --- a/src/api/system/user.js +++ b/src/api/system/user.js @@ -85,3 +85,14 @@ export const updateInfo = (row) => { data: row }) } + +export const grant = (userIds, roleIds) => { + return request({ + url: '/api/blade-user/grant', + method: 'post', + params: { + userIds, + roleIds, + } + }) +} diff --git a/src/views/system/user.vue b/src/views/system/user.vue index 8f79720..ffd3476 100644 --- a/src/views/system/user.vue +++ b/src/views/system/user.vue @@ -38,7 +38,7 @@ plain v-if="userInfo.role_name.includes('admin')" icon="el-icon-user" - @click="handleGrant">角色分配 + @click="handleGrant">角色配置 {{row.deptName}} + + + + + + + 取 消 + 确 定 + + @@ -85,6 +106,7 @@ remove, update, add, + grant, resetPassword } from "@/api/system/user"; import {getDeptTree, getDeptLazyTree} from "@/api/system/dept"; @@ -113,6 +135,7 @@ }; return { form: {}, + box: false, selectionList: [], query: {}, loading: true, @@ -125,6 +148,12 @@ roleTree: [], deptTree: [], }, + props: { + label: "title", + value: "key" + }, + roleGrantList: [], + roleTreeObj: [], treeDeptId: '', treeData: [], treeOption: { @@ -434,6 +463,17 @@ this.option.group[2].column[3].dicData = res.data.data; }); }, + submit() { + const roleList = this.$refs.treeRole.getCheckedKeys().join(","); + grant(this.ids, roleList).then(() => { + this.box = false; + this.$message({ + type: "success", + message: "操作成功!" + }); + this.onLoad(this.page); + }); + }, rowSave(row, loading, done) { row.deptId = row.deptId.join(","); row.roleId = row.roleId.join(","); @@ -545,7 +585,18 @@ }); }, handleGrant() { - + if (this.selectionList.length === 0) { + this.$message.warning("请选择至少一条数据"); + return; + } + this.roleTreeObj = []; + if (this.selectionList.length === 1) { + this.roleTreeObj = this.selectionList[0].roleId.split(","); + } + getRoleTree().then(res => { + this.roleGrantList = res.data.data; + this.box = true; + }); }, handleImport() {