From 21d07c1d711cec95b92ce90d3d3bd1757b125601 Mon Sep 17 00:00:00 2001
From: RuoYi <yzz_ivy@163.com>
Date: 星期二, 04 八月 2020 11:51:25 +0800
Subject: [PATCH] 修复角色的权限分配后,未实时生效问题
---
ruoyi-ui/src/views/system/role/index.vue | 61 ++++++++++++++++++------------
1 files changed, 36 insertions(+), 25 deletions(-)
diff --git a/ruoyi-ui/src/views/system/role/index.vue b/ruoyi-ui/src/views/system/role/index.vue
index 05379c2..ba74174 100644
--- a/ruoyi-ui/src/views/system/role/index.vue
+++ b/ruoyi-ui/src/views/system/role/index.vue
@@ -1,6 +1,6 @@
<template>
<div class="app-container">
- <el-form :model="queryParams" ref="queryForm" :inline="true">
+ <el-form :model="queryParams" ref="queryForm" v-show="showSearch" :inline="true">
<el-form-item label="角色名称" prop="roleName">
<el-input
v-model="queryParams.roleName"
@@ -50,7 +50,7 @@
></el-date-picker>
</el-form-item>
<el-form-item>
- <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+ <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
@@ -91,9 +91,17 @@
icon="el-icon-download"
size="mini"
@click="handleExport"
- v-hasPermi="['system:post:export']"
+ v-hasPermi="['system:role:export']"
>导出</el-button>
</el-col>
+ <div class="top-right-btn">
+ <el-tooltip class="item" effect="dark" content="刷新" placement="top">
+ <el-button size="mini" circle icon="el-icon-refresh" @click="handleQuery" />
+ </el-tooltip>
+ <el-tooltip class="item" effect="dark" :content="showSearch ? '隐藏搜索' : '显示搜索'" placement="top">
+ <el-button size="mini" circle icon="el-icon-search" @click="showSearch=!showSearch" />
+ </el-tooltip>
+ </div>
</el-row>
<el-table v-loading="loading" :data="roleList" @selection-change="handleSelectionChange">
@@ -153,7 +161,7 @@
/>
<!-- 添加或修改角色配置对话框 -->
- <el-dialog :title="title" :visible.sync="open" width="500px">
+ <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="角色名称" prop="roleName">
<el-input v-model="form.roleName" placeholder="请输入角色名称" />
@@ -194,7 +202,7 @@
</el-dialog>
<!-- 分配角色数据权限对话框 -->
- <el-dialog :title="title" :visible.sync="openDataScope" width="500px">
+ <el-dialog :title="title" :visible.sync="openDataScope" width="500px" append-to-body>
<el-form :model="form" label-width="80px">
<el-form-item label="角色名称">
<el-input v-model="form.roleName" :disabled="true" />
@@ -238,6 +246,7 @@
import { treeselect as deptTreeselect, roleDeptTreeselect } from "@/api/system/dept";
export default {
+ name: "Role",
data() {
return {
// 遮罩层
@@ -248,6 +257,8 @@
single: true,
// 非多个禁用
multiple: true,
+ // 显示搜索条件
+ showSearch: true,
// 总条数
total: 0,
// 角色表格数据
@@ -367,16 +378,16 @@
},
/** 根据角色ID查询菜单树结构 */
getRoleMenuTreeselect(roleId) {
- roleMenuTreeselect(roleId).then(response => {
- this.getMenuTreeselect();
- this.$refs.menu.setCheckedKeys(response.data);
+ return roleMenuTreeselect(roleId).then(response => {
+ this.menuOptions = response.menus;
+ return response;
});
},
/** 根据角色ID查询部门树结构 */
getRoleDeptTreeselect(roleId) {
- roleDeptTreeselect(roleId).then(response => {
- this.getDeptTreeselect();
- this.$refs.dept.setCheckedKeys(response.data);
+ return roleDeptTreeselect(roleId).then(response => {
+ this.deptOptions = response.depts;
+ return response;
});
},
// 角色状态修改
@@ -406,8 +417,8 @@
},
// 表单重置
reset() {
- if (this.$refs.tree != undefined) {
- this.$refs.tree.setCheckedKeys([]);
+ if (this.$refs.menu != undefined) {
+ this.$refs.menu.setCheckedKeys([]);
}
this.form = {
roleId: undefined,
@@ -449,24 +460,30 @@
handleUpdate(row) {
this.reset();
const roleId = row.roleId || this.ids
- this.$nextTick(() => {
- this.getRoleMenuTreeselect(roleId);
- });
+ const roleMenu = this.getRoleMenuTreeselect(roleId);
getRole(roleId).then(response => {
this.form = response.data;
this.open = true;
+ this.$nextTick(() => {
+ roleMenu.then(res => {
+ this.$refs.menu.setCheckedKeys(res.checkedKeys);
+ });
+ });
this.title = "修改角色";
});
},
/** 分配数据权限操作 */
handleDataScope(row) {
this.reset();
- this.$nextTick(() => {
- this.getRoleDeptTreeselect(row.roleId);
- });
+ const roleDeptTreeselect = this.getRoleDeptTreeselect(row.roleId);
getRole(row.roleId).then(response => {
this.form = response.data;
this.openDataScope = true;
+ this.$nextTick(() => {
+ roleDeptTreeselect.then(res => {
+ this.$refs.dept.setCheckedKeys(res.checkedKeys);
+ });
+ });
this.title = "分配数据权限";
});
},
@@ -481,8 +498,6 @@
this.msgSuccess("修改成功");
this.open = false;
this.getList();
- } else {
- this.msgError(response.msg);
}
});
} else {
@@ -492,8 +507,6 @@
this.msgSuccess("新增成功");
this.open = false;
this.getList();
- } else {
- this.msgError(response.msg);
}
});
}
@@ -509,8 +522,6 @@
this.msgSuccess("修改成功");
this.openDataScope = false;
this.getList();
- } else {
- this.msgError(response.msg);
}
});
}
--
Gitblit v1.9.2