From a09a342f58c282a89df6b5bc274cf8f37f8bf6f3 Mon Sep 17 00:00:00 2001 From: fungleo <web@fengcms.com> Date: 星期二, 21 七月 2020 10:22:07 +0800 Subject: [PATCH] 优化 uitls/ruoyi.js 中 selectDictLabel 方法,数组迭代器换为 some 提高性能 --- ruoyi-ui/src/views/system/role/index.vue | 45 +++++++++++++++++++++++---------------------- 1 files changed, 23 insertions(+), 22 deletions(-) diff --git a/ruoyi-ui/src/views/system/role/index.vue b/ruoyi-ui/src/views/system/role/index.vue index 05379c2..1739f0a 100644 --- a/ruoyi-ui/src/views/system/role/index.vue +++ b/ruoyi-ui/src/views/system/role/index.vue @@ -153,7 +153,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 +194,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 +238,7 @@ import { treeselect as deptTreeselect, roleDeptTreeselect } from "@/api/system/dept"; export default { + name: "Role", data() { return { // 遮罩层 @@ -367,16 +368,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 +407,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 +450,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 +488,6 @@ this.msgSuccess("修改成功"); this.open = false; this.getList(); - } else { - this.msgError(response.msg); } }); } else { @@ -492,8 +497,6 @@ this.msgSuccess("新增成功"); this.open = false; this.getList(); - } else { - this.msgError(response.msg); } }); } @@ -509,8 +512,6 @@ this.msgSuccess("修改成功"); this.openDataScope = false; this.getList(); - } else { - this.msgError(response.msg); } }); } -- Gitblit v1.9.2