From 31ec6747d00a013212acc542654103eb3da67c16 Mon Sep 17 00:00:00 2001 From: zengwh <81383286@qq.com> Date: Wed, 10 Nov 2021 16:22:48 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=A6=87=E5=B9=BC=E7=94=9F?= =?UTF-8?q?=E6=AE=96=E7=A7=91=E7=9A=84=E7=94=A8=E6=88=B7=E8=81=8C=E4=BD=8D?= =?UTF-8?q?=E6=90=9C=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/manage/controller/UserController.java | 42 ++ .../webapp/WEB-INF/views/userDir/user1.jsp | 322 +++++++++ .../webapp/static/img/login/logo/logo.jpg | Bin 0 -> 28619 bytes .../src/main/webapp/static/js/user1.js | 655 ++++++++++++++++++ .../java/com/manage/dao/Power_UserMapper.java | 2 + .../resources/mapper/Power_UserMapper.xml | 3 + .../com/manage/service/Power_UserService.java | 2 + .../service/ipml/Power_UserServiceImpl.java | 5 + 8 files changed, 1031 insertions(+) create mode 100644 power-admin/src/main/webapp/WEB-INF/views/userDir/user1.jsp create mode 100644 power-admin/src/main/webapp/static/img/login/logo/logo.jpg create mode 100644 power-admin/src/main/webapp/static/js/user1.js diff --git a/power-admin/src/main/java/com/manage/controller/UserController.java b/power-admin/src/main/java/com/manage/controller/UserController.java index 5c21743..691cf76 100644 --- a/power-admin/src/main/java/com/manage/controller/UserController.java +++ b/power-admin/src/main/java/com/manage/controller/UserController.java @@ -89,6 +89,28 @@ public class UserController { model.addAttribute("depts",depts); return "userDir/user"; } + @OptionalLog(module = "查看",methods = "用户管理页面") + @RequiresPermissions(value="/user/pageUI1") + @RequestMapping("/pageUI1") + public String pageUI1(Model model,HttpServletRequest request){ + CacheManager.addExcCount("noExc"); + Power_User user = (Power_User) request.getSession().getAttribute("CURRENT_USER"); + //根据登陆者查询所属医院id。非系统管理员,查询所属医院id + Integer dictId = null; + List depts = null; + try { + if(!user.getRoleId().equals(0)){ + Power_User_Dict powerUserDict = userDictMapper.selectDictIdByUserId(user.getUserId()); + dictId = powerUserDict.getDictId(); + } + depts = deptService.selectDeptByDictId(dictId,null); + } catch (Exception e) { + ExceptionPrintUtil.printException(e); + e.printStackTrace(); + } + model.addAttribute("depts",depts); + return "userDir/user1"; + } @OptionalLog(module = "导出excel",methods = "用户管理") @RequiresPermissions(value="/user/export") @@ -261,4 +283,24 @@ public class UserController { return new ResponseEntity(e.getMessage(), responseHeaders, HttpStatus.OK); } } + /** + * @Date 2021-11-10 + * @Author zwh + * @Description 查询用户职位列表 + * */ + @RequestMapping("/loadPosition") + @ResponseBody + public Msg selectList() { + try { + List deptList = powerUserService.loadPosition(); + CacheManager.addExcCount("noExc"); + return Msg.success().add("list",deptList); + }catch (Exception e){ + ExceptionPrintUtil.printException(e); + CacheManager.addExcCount("exc"); + e.printStackTrace(); + return Msg.fail(); + } + } + } diff --git a/power-admin/src/main/webapp/WEB-INF/views/userDir/user1.jsp b/power-admin/src/main/webapp/WEB-INF/views/userDir/user1.jsp new file mode 100644 index 0000000..1e32403 --- /dev/null +++ b/power-admin/src/main/webapp/WEB-INF/views/userDir/user1.jsp @@ -0,0 +1,322 @@ +<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> +<%@ page contentType="text/html;charset=UTF-8" language="java" %> +<%@ include file="/WEB-INF/jspf/common.jspf" %> +<%@ include file="/WEB-INF/jspf/confirmJsp.jspf" %> + + + 用户管理 + + + + + + + + + +
+ + +
+
+

基本管理/用户管理

+
+
+
+
+ + +
+
+ + +
+
+ + +
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+ +
+
+
+ +
+
+
+
+
+
+ + + + + + + + + + + + +
+
+
+
+
+ + + + + + + + +<%@ include file="/WEB-INF/jspf/importExcelJsp.jspf" %> + + \ No newline at end of file diff --git a/power-admin/src/main/webapp/static/img/login/logo/logo.jpg b/power-admin/src/main/webapp/static/img/login/logo/logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fad284bb00921836343367b288ec3a17e806c2a0 GIT binary patch literal 28619 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编辑'; + } + if(row.isDelete == 1){ + editanddrop += ''; + } + return editanddrop; + } + } + ], + onLoadSuccess: function(){ //加载成功时执行 + $(".page-list").show(); + $("th").css({'text-align':'center','vertical-align':'middle'}) + $("td").css({'text-align':'center','vertical-align':'middle'}) + }, + //监听分页点击事件 + onPageChange: function(num, type) { + pageNumber = num; + }, + //选中单个复选框 + onCheck:function(row){ + var checks = $("#checks").val(); + var userNames = $("#userNames").val(); + $("#checks").val(checks+=row.userId + ","); + $("#userNames").val(userNames+=row.userName + ","); + }, + //取消单个复选框 + onUncheck:function(row){ + var checks = $("#checks").val(); + var userNames = $("#userNames").val(); + checks = checks.replace(row.userId + ",",""); + userNames = userNames.replace(row.userName + ",",""); + $("#checks").val(checks); + $("#userNames").val(userNames); + }, + //全选 + onCheckAll:function(rows){ + $("#checks").val(""); + $("#userNames").val(""); + var checks = ''; + var userNames = ''; + for(var i=0;i'+value+'

' + return value; +} + + +//验证表单 +//验证用户名不重复 +$("#re_userName").blur(function(){ + var userId = $("#userId").val(); + var userName = $("#re_userName").val(); + if(userId == '' && userName != ''){ + $.ajax({ + type:'get', + url:path+'/user/checkUserName?userName='+userName, + dataType:'json', + success:function(data){ + if(data.code == 200){ + toastr.warning(data.msg); + $("#re_userName").val(""); + $("#re_userName").focus(); + } + } + }) + } +}) +//验证密码长度不少于6位 +$("#re_userPwd").blur(function(){ + var password = $("#re_userPwd").val(); + if(password != '' && password.length < 6){ + toastr.warning("密码长度不能少于6位!"); + } +}) +/*//验证手机号 +$("#re_userTel").blur(function(){ + var tel = $("#re_userTel").val(); + if(tel != ''){ + if(!tel.match(/^1[34578]\d{9}$/)){ + toastr.warning("移动电话格式不正确!"); + $("#re_userTel").val(""); + $("#re_userTel").focus(); + } + } +}) +//验证邮箱 +$("#re_userEmail").blur(function(){ + var email = $("#re_userEmail").val(); + if(email != ''){ + if(!email.match(/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/)){ + toastr.warning("邮箱地址格式不正确!"); + $("#re_userEmail").val(""); + $("#re_userEmail").focus(); + } + } +})*/ +//所属科室多选树形 +function showMenu1() { + var cityObj = $('#txtTreeSelect1'); + var cityOffset = cityObj.offset(); + $("#menuContent1").css({ left: cityOffset.left + "px", top: cityOffset.top + cityObj.outerHeight() + "px" }).slideDown("fast"); + $("body").bind("mousedown", onBodyDown1); +} +function onBodyDown1(event) { + if (!(event.target.id == "menuBtn" || event.target.id == "menuContent1" || $(event.target).parents("#menuContent1").length > 0)) { + hideMenu1(); + } +} +function hideMenu1() { + $("#menuContent1").fadeOut("name"); + $("body").unbind("mousedown", onBodyDown1); +} +//加载角色 +function loadRole(){ + $.ajax({ + type: "GET", + url: path+"/role/selectList", + dataType: "json", + success: function(data){ + var html = ''; + $.each(data, function(commentIndex, comment){ + html += ''; + }); + $('#re_roleId').append(html); + $('#roleId').append(html); + } + }); +} +function loadDept(){ + $.ajax({ + type: "GET", + url: path+"/dept/selectList", + dataType: "json", + success: function(data){ + var html = ''; + for(var i = 0;i < data.extend.list.length;i++){ + html += ''; + } + $('#dept_id').append(html); + } + }); +} +function loadPosition(){ + $.ajax({ + type: "GET", + url: path+"/user/loadPosition", + dataType: "json", + success: function(data){ + var html = ''; + for(var i = 0;i < data.extend.list.length;i++){ + html += ''; + } + $('#user_position').append(html); + } + }); +} +//搜索 +$('#queryBtn').click(function () { + $("#checks").val(""); + refresh(); +}) +//编辑框回显 +function edit(id){ + $("#re_userName").prop("readOnly",true); + $("#passwordDiv").hide(); + $("#myModalLabel").text("编辑"); + $.ajax({ + type: "post", + url: path+"/user/selectUser", + data:{ + userId:id + }, + dataType:"json", + success: function(data){ + $("#userId").val(data.userId); + $("#re_userName").val(data.userName); + $("#name").val(data.name); + var deptIds = data.deptId; + var deptArr = deptIds.split(","); + $('#deptId').selectpicker('val', deptArr); + if(data.userSex == 1){ + $("#re_userSex").val("1"); + }else{ + $("#re_userSex").val("0"); + } + $("#re_userAge").val(data.userAge); + $("#re_userTel").val(data.userTel); + $("#re_userEmail").val(data.userEmail); + $("#re_userPosition").val(data.userPosition); + $("#txtTreeSelect1").val(data.powerDepts); + $("#deptIds").val(data.deptId); + $("#re_roleId").find("option[value='"+data.roleId+"']").attr("selected",true); + $("#re_effective").find("option[value='"+data.effective+"']").attr("selected",true); + $("#re_remark").val(data.remark); + /*loadTree(); + var deptIds = data.deptId; + if(deptIds != ''){ + var deptIdSplit =deptIds.split(","); + for (var i = 0;i < deptIdSplit.length;i++){ + if(deptIdSplit[i] != ''){ + //选中节点 + treeSelectNode(deptIdSplit[i]); + } + } + }*/ + } + }); + $('#myModal').modal('show'); +} +//删除 +function drop(id) { + Common.confirm({ + title: "提示", + message: "确定是否删除这条记录", + operate: function (reselt) { + if (reselt) { + $.ajax({ + type: "post", + url: path + "/user/delete", + data: { + userId: id + }, + async: false, + success: function (data) { + if ("success" == data.msg) { + toastr.success("删除成功!"); + $("#checks").val(""); + $("#userNames").val(""); + backToPage(); + } else { + toastr.error(data.msg); + } + }, + error: function () { + window.confirm("删除失败"); + } + }) + } + } + }) +} +//新增框 +function add() { + $("#re_userName").prop("readOnly",false); + clearForm(); + $("#userId").val(""); + $("#deptIds").val(""); + $('.selectpicker').selectpicker('val','1'); + $('#myModal').modal('show'); + $("#passwordDiv").show(); +} +//清空 +function clearForm(){ + $("#updateaddform")[0].reset(); + //loadTree(); + $("#deptIds").val(""); +} +//提交更改 +$('#btn_submit').click(function () { + var reUserTel = $("#re_userTel").val(); + if(reUserTel != ''){ + if(!reUserTel.match(/^1[34578]\d{9}$/)){ + toastr.warning("移动电话格式不正确!"); + $("#re_userTel").val(""); + $("#re_userTel").focus(); + return false; + } + } + var reUserEmail = $("#re_userEmail").val(); + if(reUserEmail != ''){ + if(!reUserEmail.match(/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/)){ + toastr.warning("邮箱地址格式不正确!"); + $("#re_userEmail").val(""); + $("#re_userEmail").focus(); + return false; + } + } + var userName = $("#re_userName").val(); + var userPwd = $("#re_userPwd").val(); + var deptIds = $("#deptIds").val(); + var roleId = $("#re_roleId").val(); + if(userName != ''){ + if(userPwd != '' || $("#userId").val() != ''){ + if(userPwd.length >= 6 || $("#userId").val() != ''){ + if(deptIds != ''){ + if(roleId != ''){ + saveForm(); + }else{ + toastr.warning("所属角色不能为空,如未显示角色请到角色管理添加角色!"); + } + }else{ + toastr.warning("所属科室不能为空!"); + } + }else{ + toastr.warning("密码长度不能少于6位!"); + } + }else{ + toastr.warning("密码不能为空!"); + } + }else{ + toastr.warning("用户名不能为空!"); + } +}) + +function saveForm(){ + var userId = $("#userId").val(); + if(userId != ''){ + $.ajax({ + type: "post", + url:path+ "/user/update", + data:$("#updateaddform").serialize(), + dataType:"json", + success: function(data){ + if("success"==data.msg){ + toastr.success("修改成功!"); + $('#myModal').modal('hide'); + backToPage(); + }else{ + toastr.warning(data.msg); + } + } + }) + }else if(userId == ''){ + $.ajax({ + type: "post", + url:path+ "/user/add", + data:$("#updateaddform").serialize(), + dataType:"json", + success: function(data){ + if("success"==data.msg){ + toastr.success("添加成功!"); + setTimeout(function(){ + window.location.reload(); + },500) + }else{ + toastr.warning(data.msg); + } + } + }) + } +} +//获取table的高度 +function getHeight() { + return $(window).height() - 190; +} +//刷新表格 +function refresh() { + $('#bootstrapTable').bootstrapTable('refresh',{ + url : path+'/user/pageList' + }) +} +//重置密码 +function resetPassword(){ + var checks = $("#checks").val(); + var userNames = $("#userNames").val(); + if(checks != ''){ + var ids = checks.split(","); + var userName = userNames.split(","); + if(ids.length == 2){ + Common.confirm({ + title: "提示", + message: '确定是否重置用户名'+userName[0]+'的密码为000000', + operate: function (reselt) { + if (reselt) { + $.ajax({ + type: 'post', + url: path + '/user/resetPassword', + data: {userId: ids[0]}, + dataType: 'json', + success: function (data) { + if (data.code == 100) { + toastr.success("重置成功!"); + $("#checks").val(""); + $("#userNames").val(""); + backToPage(); + } else { + toastr.error("重置失败,请联系系统管理员!") + } + } + }) + } + } + }) + }else{ + toastr.warning("以防重置密码误选择,只允许一次重置一个!") + } + }else{ + toastr.warning("请至少选中一条记录!") + } +} +//导出excel功能 +function exportExcel(){ + var checks = $("#checks").val(); + if(checks != '') { + checks = checks.substring(0, checks.length - 1); + var url = path+"/user/export1?userName="+$("#user_name").val()+"&userEmail="+$("#user_email").val()+"&searchRoleId="+$("#roleId").val()+"&deptId="+$("#dept_id").val()+"&effective="+$("#effective").val()+"&checks="+checks; + window.location.href = url; + }else{ + Common.confirm({ + title: "提示", + message: "没有选中,您确定要按搜索栏条件导出?", + operate: function (reselt) { + if (reselt) { + var url = path+"/user/export?userName="+$("#user_name").val()+"&searchRoleId="+$("#roleId").val()+"&deptId="+$("#dept_id").val()+"&effective="+$("#effective").val()+"&name="+$("#searchName").val()+"&userPosition="+$("#user_position").val(); + window.location.href = url; + } + } + }) + /* if(confirm('没有选中,您确定要按搜索栏条件导出?')) { + var url = path+"/user/export?userName="+$("#user_name").val()+"&userEmail="+$("#user_email").val()+"&searchRoleId="+$("#roleId").val()+"&deptId="+$("#dept_id").val()+"&effective="+$("#effective").val()+"&checks="+checks; + window.location.href = url; + }*/ + } + +} +/**树操作*/ +/*var setting = { + view: { + showIcon: true,//设置 zTree 是否显示节点的图标。默认值:true + showLine: true//设置 zTree 是否显示节点之间的连线。默认值:true + }, + data: { + simpleData: { + chkStyle: "checkbox", + enable: true, + idKey: "id", + pIdKey: "parentId" + } + }, + check:{ + enable:true + }, + callback: { + onCheck:onCheck + } +}; +function onCheck(e, treeId, treeNode) { + var treeObj=$.fn.zTree.getZTreeObj("treeDemo"), + nodes=treeObj.getCheckedNodes(true); + var deptIds = ''; + var deptNames = ''; + //父节点必须一样 + var parentId = new Array(); + for (var i = 0; i < nodes.length; i++) { + if(nodes[i].level == 0){ + var id = nodes[i].id; + parentId.push(id); + } + if(nodes[i].level == 1){ + var deptId = nodes[i].selfId; + deptIds += deptId + ","; + deptNames += nodes[i].name + ","; + } + } + if(parentId.length > 1) { + toastr.warning("科室必须全部属于同一医院!"); + treeObj.checkNode(treeNode,false,true); + }else{ + if(deptIds != ''){ + deptIds = deptIds.substring(0,deptIds.length-1); + deptNames = deptNames.substring(0,deptNames.length-1); + } + $("#txtTreeSelect1").val(deptNames); + $("#deptIds").val(deptIds); + } +} +var zNodes = []; +function loadTree() { + $.ajax({ + type: "GET", + url: path + "/dept/selectDeptTreeByUserId", + dataType: "json", + async: false, + success: function (data) { + $.fn.zTree.init($("#treeDemo"), setting, data); + zTree = $.fn.zTree.getZTreeObj("treeDemo"); + var nodes = zTree.getNodes(); + for (var i = 0; i < nodes.length; i++) { //设置节点展开 + zTree.expandNode(nodes[i], true, false, true); + } + } + }); +} +//加载树 +$(function(){ + $("#re_userName").val(""); + $("#updateaddform")[0].reset(); + loadTree(); +}) +//选中节点 selfId +function treeSelectNode(selfId){ + var zTree = $.fn.zTree.getZTreeObj("treeDemo"); + var node = zTree.getNodeByParam("selfId",selfId); + if(node != null){ + zTree.checkNode(node, true, true); + } +}*/ + +//监听关闭模态框刷新事件 +$('#myModal1').on('hide.bs.modal', function () { + window.location.reload(); +}); \ No newline at end of file diff --git a/power-dao/src/main/java/com/manage/dao/Power_UserMapper.java b/power-dao/src/main/java/com/manage/dao/Power_UserMapper.java index 8094c99..530afbf 100644 --- a/power-dao/src/main/java/com/manage/dao/Power_UserMapper.java +++ b/power-dao/src/main/java/com/manage/dao/Power_UserMapper.java @@ -64,4 +64,6 @@ public interface Power_UserMapper { * 查询有审批权限的用户id * */ List selectUserIdsWithApprove(@Param("menuUrl")String menuUrl); + + List loadPosition(); } \ No newline at end of file diff --git a/power-dao/src/main/resources/mapper/Power_UserMapper.xml b/power-dao/src/main/resources/mapper/Power_UserMapper.xml index 9ca99bd..5d44b89 100644 --- a/power-dao/src/main/resources/mapper/Power_UserMapper.xml +++ b/power-dao/src/main/resources/mapper/Power_UserMapper.xml @@ -713,4 +713,7 @@ role_id = 0 OR role_id = - 100 + \ No newline at end of file diff --git a/power-service/src/main/java/com/manage/service/Power_UserService.java b/power-service/src/main/java/com/manage/service/Power_UserService.java index 366973d..c631be2 100644 --- a/power-service/src/main/java/com/manage/service/Power_UserService.java +++ b/power-service/src/main/java/com/manage/service/Power_UserService.java @@ -84,4 +84,6 @@ public interface Power_UserService { * @Description 根据用户名和备注获取用户信息 * */ public Power_UserVo findPowerUserByUserNameAndRemark(Power_User powerUser); + + List loadPosition(); } diff --git a/power-service/src/main/java/com/manage/service/ipml/Power_UserServiceImpl.java b/power-service/src/main/java/com/manage/service/ipml/Power_UserServiceImpl.java index b4da23c..cffeeeb 100644 --- a/power-service/src/main/java/com/manage/service/ipml/Power_UserServiceImpl.java +++ b/power-service/src/main/java/com/manage/service/ipml/Power_UserServiceImpl.java @@ -235,4 +235,9 @@ public class Power_UserServiceImpl implements Power_UserService { return powerUserMapper.findPowerUserByUserNameAndRemark(powerUser); } + @Override + public List loadPosition() { + return powerUserMapper.loadPosition(); + } + }