From 99e66bf11c38ebe2f21f73b956918468eae4929c Mon Sep 17 00:00:00 2001 From: RuoYi <yzz_ivy@163.com> Date: 星期日, 30 六月 2024 08:02:22 +0800 Subject: [PATCH] 若依 3.8.8 --- ruoyi-ui/src/views/system/user/index.vue | 47 ++++++++++++++++++++++++----------------------- 1 files changed, 24 insertions(+), 23 deletions(-) diff --git a/ruoyi-ui/src/views/system/user/index.vue b/ruoyi-ui/src/views/system/user/index.vue index 4b00e03..ff79894 100644 --- a/ruoyi-ui/src/views/system/user/index.vue +++ b/ruoyi-ui/src/views/system/user/index.vue @@ -20,20 +20,21 @@ :expand-on-click-node="false" :filter-node-method="filterNode" ref="tree" + node-key="id" default-expand-all + highlight-current @node-click="handleNodeClick" /> </div> </el-col> <!--用户数据--> <el-col :span="20" :xs="24"> - <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px"> + <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form-item label="用户名称" prop="userName"> <el-input v-model="queryParams.userName" placeholder="请输入用户名称" clearable - size="small" style="width: 240px" @keyup.enter.native="handleQuery" /> @@ -43,7 +44,6 @@ v-model="queryParams.phonenumber" placeholder="请输入手机号码" clearable - size="small" style="width: 240px" @keyup.enter.native="handleQuery" /> @@ -53,7 +53,6 @@ v-model="queryParams.status" placeholder="用户状态" clearable - size="small" style="width: 240px" > <el-option @@ -67,7 +66,6 @@ <el-form-item label="创建时间"> <el-date-picker v-model="dateRange" - size="small" style="width: 240px" value-format="yyyy-MM-dd" type="daterange" @@ -182,9 +180,7 @@ v-hasPermi="['system:user:remove']" >删除</el-button> <el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)" v-hasPermi="['system:user:resetPwd', 'system:user:edit']"> - <span class="el-dropdown-link"> - <i class="el-icon-d-arrow-right el-icon--right"></i>更多 - </span> + <el-button size="mini" type="text" icon="el-icon-d-arrow-right">更多</el-button> <el-dropdown-menu slot="dropdown"> <el-dropdown-item command="handleResetPwd" icon="el-icon-key" v-hasPermi="['system:user:resetPwd']">重置密码</el-dropdown-item> @@ -248,7 +244,7 @@ <el-row> <el-col :span="12"> <el-form-item label="用户性别"> - <el-select v-model="form.sex" placeholder="请选择"> + <el-select v-model="form.sex" placeholder="请选择性别"> <el-option v-for="dict in dict.type.sys_user_sex" :key="dict.value" @@ -273,7 +269,7 @@ <el-row> <el-col :span="12"> <el-form-item label="岗位"> - <el-select v-model="form.postIds" multiple placeholder="请选择"> + <el-select v-model="form.postIds" multiple placeholder="请选择岗位"> <el-option v-for="item in postOptions" :key="item.postId" @@ -286,7 +282,7 @@ </el-col> <el-col :span="12"> <el-form-item label="角色"> - <el-select v-model="form.roleIds" multiple placeholder="请选择"> + <el-select v-model="form.roleIds" multiple placeholder="请选择角色"> <el-option v-for="item in roleOptions" :key="item.roleId" @@ -345,9 +341,8 @@ </template> <script> -import { listUser, getUser, delUser, addUser, updateUser, resetUserPwd, changeUserStatus } from "@/api/system/user"; +import { listUser, getUser, delUser, addUser, updateUser, resetUserPwd, changeUserStatus, deptTreeSelect } from "@/api/system/user"; import { getToken } from "@/utils/auth"; -import { treeselect } from "@/api/system/dept"; import Treeselect from "@riophae/vue-treeselect"; import "@riophae/vue-treeselect/dist/vue-treeselect.css"; @@ -438,12 +433,13 @@ ], password: [ { required: true, message: "用户密码不能为空", trigger: "blur" }, - { min: 5, max: 20, message: '用户密码长度必须介于 5 和 20 之间', trigger: 'blur' } + { min: 5, max: 20, message: '用户密码长度必须介于 5 和 20 之间', trigger: 'blur' }, + { pattern: /^[^<>"'|\\]+$/, message: "不能包含非法字符:< > \" ' \\\ |", trigger: "blur" } ], email: [ { type: "email", - message: "'请输入正确的邮箱地址", + message: "请输入正确的邮箱地址", trigger: ["blur", "change"] } ], @@ -465,7 +461,7 @@ }, created() { this.getList(); - this.getTreeselect(); + this.getDeptTree(); this.getConfigKey("sys.user.initPassword").then(response => { this.initPassword = response.msg; }); @@ -482,8 +478,8 @@ ); }, /** 查询部门下拉树结构 */ - getTreeselect() { - treeselect().then(response => { + getDeptTree() { + deptTreeSelect().then(response => { this.deptOptions = response.data; }); }, @@ -540,6 +536,8 @@ resetQuery() { this.dateRange = []; this.resetForm("queryForm"); + this.queryParams.deptId = undefined; + this.$refs.tree.setCurrentKey(null); this.handleQuery(); }, // 多选框选中数据 @@ -564,7 +562,6 @@ /** 新增按钮操作 */ handleAdd() { this.reset(); - this.getTreeselect(); getUser().then(response => { this.postOptions = response.posts; this.roleOptions = response.roles; @@ -576,14 +573,13 @@ /** 修改按钮操作 */ handleUpdate(row) { this.reset(); - this.getTreeselect(); const userId = row.userId || this.ids; getUser(userId).then(response => { this.form = response.data; this.postOptions = response.posts; this.roleOptions = response.roles; - this.form.postIds = response.postIds; - this.form.roleIds = response.roleIds; + this.$set(this.form, "postIds", response.postIds); + this.$set(this.form, "roleIds", response.roleIds); this.open = true; this.title = "修改用户"; this.form.password = ""; @@ -596,7 +592,12 @@ cancelButtonText: "取消", closeOnClickModal: false, inputPattern: /^.{5,20}$/, - inputErrorMessage: "用户密码长度必须介于 5 和 20 之间" + inputErrorMessage: "用户密码长度必须介于 5 和 20 之间", + inputValidator: (value) => { + if (/<|>|"|'|\||\\/.test(value)) { + return "不能包含非法字符:< > \" ' \\\ |" + } + }, }).then(({ value }) => { resetUserPwd(row.userId, value).then(response => { this.$modal.msgSuccess("修改成功,新密码是:" + value); -- Gitblit v1.9.2