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.3