From 170cfb356c93c32fa804799c4bc9d02b83b21dae Mon Sep 17 00:00:00 2001 From: RuoYi <yzz_ivy@163.com> Date: 星期一, 12 七月 2021 08:42:11 +0800 Subject: [PATCH] 若依 3.6.0 --- ruoyi-ui/src/views/system/user/index.vue | 66 ++++++++++++++++++++++++--------- 1 files changed, 48 insertions(+), 18 deletions(-) diff --git a/ruoyi-ui/src/views/system/user/index.vue b/ruoyi-ui/src/views/system/user/index.vue index afd64ad..7208dcf 100644 --- a/ruoyi-ui/src/views/system/user/index.vue +++ b/ruoyi-ui/src/views/system/user/index.vue @@ -131,6 +131,7 @@ plain icon="el-icon-download" size="mini" + :loading="exportLoading" @click="handleExport" v-hasPermi="['system:user:export']" >导出</el-button> @@ -166,7 +167,7 @@ width="160" class-name="small-padding fixed-width" > - <template slot-scope="scope"> + <template slot-scope="scope" v-if="scope.row.userId !== 1"> <el-button size="mini" type="text" @@ -175,20 +176,23 @@ v-hasPermi="['system:user:edit']" >修改</el-button> <el-button - v-if="scope.row.userId !== 1" size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" v-hasPermi="['system:user:remove']" >删除</el-button> - <el-button - size="mini" - type="text" - icon="el-icon-key" - @click="handleResetPwd(scope.row)" - v-hasPermi="['system:user:resetPwd']" - >重置</el-button> + <el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)"> + <span class="el-dropdown-link"> + <i class="el-icon-d-arrow-right el-icon--right"></i>更多 + </span> + <el-dropdown-menu slot="dropdown"> + <el-dropdown-item command="handleResetPwd" icon="el-icon-key" + v-hasPermi="['system:user:resetPwd']">重置密码</el-dropdown-item> + <el-dropdown-item command="handleAuthRole" icon="el-icon-circle-check" + v-hasPermi="['system:user:edit']">分配角色</el-dropdown-item> + </el-dropdown-menu> + </el-dropdown> </template> </el-table-column> </el-table> @@ -209,7 +213,7 @@ <el-row> <el-col :span="12"> <el-form-item label="用户昵称" prop="nickName"> - <el-input v-model="form.nickName" placeholder="请输入用户昵称" /> + <el-input v-model="form.nickName" placeholder="请输入用户昵称" maxlength="30" /> </el-form-item> </el-col> <el-col :span="12"> @@ -233,12 +237,12 @@ <el-row> <el-col :span="12"> <el-form-item v-if="form.userId == undefined" label="用户名称" prop="userName"> - <el-input v-model="form.userName" placeholder="请输入用户名称" /> + <el-input v-model="form.userName" placeholder="请输入用户名称" maxlength="30" /> </el-form-item> </el-col> <el-col :span="12"> <el-form-item v-if="form.userId == undefined" label="用户密码" prop="password"> - <el-input v-model="form.password" placeholder="请输入用户密码" type="password" /> + <el-input v-model="form.password" placeholder="请输入用户密码" type="password" maxlength="20" /> </el-form-item> </el-col> </el-row> @@ -356,6 +360,8 @@ return { // 遮罩层 loading: true, + // 导出遮罩层 + exportLoading: false, // 选中数组 ids: [], // 非单个禁用 @@ -437,7 +443,8 @@ { required: true, message: "用户昵称不能为空", trigger: "blur" } ], password: [ - { required: true, message: "用户密码不能为空", trigger: "blur" } + { required: true, message: "用户密码不能为空", trigger: "blur" }, + { min: 5, max: 20, message: '用户密码长度必须介于 5 和 20 之间', trigger: 'blur' } ], email: [ { @@ -542,7 +549,7 @@ }, /** 搜索按钮操作 */ handleQuery() { - this.queryParams.page = 1; + this.queryParams.pageNum = 1; this.getList(); }, /** 重置按钮操作 */ @@ -556,6 +563,19 @@ this.ids = selection.map(item => item.userId); this.single = selection.length != 1; this.multiple = !selection.length; + }, + // 更多操作触发 + handleCommand(command, row) { + switch (command) { + case "handleResetPwd": + this.handleResetPwd(row); + break; + case "handleAuthRole": + this.handleAuthRole(row); + break; + default: + break; + } }, /** 新增按钮操作 */ handleAdd() { @@ -589,12 +609,20 @@ handleResetPwd(row) { this.$prompt('请输入"' + row.userName + '"的新密码', "提示", { confirmButtonText: "确定", - cancelButtonText: "取消" + cancelButtonText: "取消", + closeOnClickModal: false, + inputPattern: /^.{5,20}$/, + inputErrorMessage: "用户密码长度必须介于 5 和 20 之间", }).then(({ value }) => { resetUserPwd(row.userId, value).then(response => { this.msgSuccess("修改成功,新密码是:" + value); }); }).catch(() => {}); + }, + /** 分配角色操作 */ + handleAuthRole: function(row) { + const userId = row.userId; + this.$router.push("/auth/role/" + userId); }, /** 提交按钮 */ submitForm: function() { @@ -628,7 +656,7 @@ }).then(() => { this.getList(); this.msgSuccess("删除成功"); - }) + }).catch(() => {}); }, /** 导出按钮操作 */ handleExport() { @@ -637,11 +665,13 @@ confirmButtonText: "确定", cancelButtonText: "取消", type: "warning" - }).then(function() { + }).then(() => { + this.exportLoading = true; return exportUser(queryParams); }).then(response => { this.download(response.msg); - }) + this.exportLoading = false; + }).catch(() => {}); }, /** 导入按钮操作 */ handleImport() { -- Gitblit v1.9.2