From d8d636fdbdf79d17c459a00e9381be0bf6b17a86 Mon Sep 17 00:00:00 2001 From: fungleo <web@fengcms.com> Date: 星期二, 04 八月 2020 11:39:43 +0800 Subject: [PATCH] 优化 回显数据字典(字符串数组)JS 函数 --- ruoyi-ui/src/views/system/role/index.vue | 47 ++++++++++++++++++++++++----------------------- 1 files changed, 24 insertions(+), 23 deletions(-) diff --git a/ruoyi-ui/src/views/system/role/index.vue b/ruoyi-ui/src/views/system/role/index.vue index 05379c2..dddc906 100644 --- a/ruoyi-ui/src/views/system/role/index.vue +++ b/ruoyi-ui/src/views/system/role/index.vue @@ -91,7 +91,7 @@ icon="el-icon-download" size="mini" @click="handleExport" - v-hasPermi="['system:post:export']" + v-hasPermi="['system:role:export']" >瀵煎嚭</el-button> </el-col> </el-row> @@ -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