From 8aab90d0da2b6902e4b526810ab98381b614aaec Mon Sep 17 00:00:00 2001 From: keepsty Date: Wed, 14 Apr 2021 19:17:23 +0800 Subject: [PATCH] rights done --- src/assets/css/global.css | 5 + src/components/power/Rights.vue | 52 ++++++ src/components/power/Roles.vue | 274 ++++++++++++++++++++++++++++++++ src/components/user/Users.vue | 76 +++++++-- src/plugins/element.js | 8 + src/router/index.js | 24 ++- 6 files changed, 414 insertions(+), 25 deletions(-) create mode 100644 src/components/power/Rights.vue create mode 100644 src/components/power/Roles.vue diff --git a/src/assets/css/global.css b/src/assets/css/global.css index 5fda299..01b1c13 100644 --- a/src/assets/css/global.css +++ b/src/assets/css/global.css @@ -5,6 +5,11 @@ body, height: 100%; margin: 0; padding: 0; + min-width: 1366px; +} +.vcenter { + display: flex; + align-items: center; } .el-breadcrumb { diff --git a/src/components/power/Rights.vue b/src/components/power/Rights.vue new file mode 100644 index 0000000..a43afee --- /dev/null +++ b/src/components/power/Rights.vue @@ -0,0 +1,52 @@ + + + + + diff --git a/src/components/power/Roles.vue b/src/components/power/Roles.vue new file mode 100644 index 0000000..ffe3c1b --- /dev/null +++ b/src/components/power/Roles.vue @@ -0,0 +1,274 @@ + + + + + diff --git a/src/components/user/Users.vue b/src/components/user/Users.vue index ba01b34..651ff23 100644 --- a/src/components/user/Users.vue +++ b/src/components/user/Users.vue @@ -21,11 +21,11 @@ - - - - - + + + + + @@ -166,7 +191,13 @@ export default { { required: true, message: '请输入手机号', trigger: 'blur' }, { validator: checkMobile, trigger: 'blur' } ] - } + }, + setRoleDialogVisible: false, + // 用于分配用户数据接收 + userInfo: {}, + // 所有角色列表 + rolesList: [], + selectRoleId: '' } }, methods: { @@ -207,7 +238,7 @@ export default { // 可以进行真正的添加用户功能 const { data: res } = await this.$http.post('users', this.addForm) if (res.meta.status !== 201) { - console.log(res.meta.status) + // console.log(res.meta.status) this.$message.error('添加用户失败') } this.$message.success('添加用户成功') @@ -256,6 +287,31 @@ export default { } this.$message.success('确认删除用户') this.getUserList() + }, + async showSetDialog (user) { + this.userInfo = user + // 展示对话框前获取全部角色列表 + const { data: res } = await this.$http.get('roles') + if (res.meta.status !== 200) { + return this.$message.error('获取角色列表失败') + } + this.rolesList = res.data + this.setRoleDialogVisible = true + }, + async userRoleChanged () { + if (!this.selectRoleId) { + return this.$message.error('请选择分配的角色') + } + const { data: res } = await this.$http.put(`users/${this.userInfo.id}/role`, { + rid: this.selectRoleId + }) + if (res.meta.status !== 200) { + return this.$message.error('分配用户角色失败') + } + this.getUserList() + this.selectRoleId = '' + this.rolesList = [] + this.setRoleDialogVisible = false } } } diff --git a/src/plugins/element.js b/src/plugins/element.js index 1b734a9..c12de2c 100644 --- a/src/plugins/element.js +++ b/src/plugins/element.js @@ -24,6 +24,10 @@ import { Tooltip, Pagination, Dialog, + Tag, + Tree, + Select, + Option, MessageBox } from 'element-ui' @@ -50,5 +54,9 @@ Vue.use(Switch) Vue.use(Tooltip) Vue.use(Dialog) Vue.use(Pagination) +Vue.use(Tag) +Vue.use(Tree) +Vue.use(Select) +Vue.use(Option) Vue.prototype.$message = Message Vue.prototype.$confirm = MessageBox.confirm diff --git a/src/router/index.js b/src/router/index.js index 6589463..c90b6e1 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -4,29 +4,23 @@ import Login from '../components/Login.vue' import Home from '../components/Home.vue' import Welcome from '../components/Welcome' import Users from '@/components/user/Users' +import Rights from '@/components/power/Rights' +import Roles from '@/components/power/Roles' Vue.use(VueRouter) const routes = [ - { - path: '/login', - component: Login - }, - { - path: '/', - redirect: '/login' - }, + { path: '/login', component: Login }, + { path: '/', redirect: '/login' }, { path: '/home', component: Home, redirect: '/welcome', - children: [{ - path: '/welcome', - component: Welcome - }, { - path: '/users', - component: Users - }] + children: [ + { path: '/welcome', component: Welcome }, + { path: '/users', component: Users }, + { path: '/rights', component: Rights }, + { path: '/roles', component: Roles }] } ] -- Gitee