Skip to content

Commit

Permalink
添加了用户模块,增加了过滤器,过滤所有操作,非登录状态将定位到登录页面
Browse files Browse the repository at this point in the history
  • Loading branch information
rain committed Jun 21, 2018
1 parent 8478e18 commit eaffc0f
Show file tree
Hide file tree
Showing 24 changed files with 863 additions and 11 deletions.
1 change: 1 addition & 0 deletions .settings/org.eclipse.core.resources.prefs
Expand Up @@ -2,4 +2,5 @@ eclipse.preferences.version=1
encoding//WebContent/WEB-INF/page/dept/add.jsp=UTF-8
encoding//WebContent/WEB-INF/page/dept/list.jsp=UTF-8
encoding//WebContent/WEB-INF/page/index.jsp=UTF-8
encoding//WebContent/WEB-INF/page/loginForm.jsp=UTF-8
encoding//WebContent/WEB-INF/page/welcome.jsp=UTF-8
6 changes: 2 additions & 4 deletions README.md
@@ -1,10 +1,8 @@
# 人事管理系统

该项目包含了用户管理、部门管理、职位管理、员工管理、公告管理、下载中心等多个模
块,页面使用JQuery框架完成动态功能,用户管理、部门管理等模块包含了项目开发中常用的增删改查动作,下载中
心包含了 Spring MVC的文件上传、下载等功能
## 使用JavaEE开发,基于SpringMVC+Mybatis框架,该项目包含了用户管理、部门管理、职位管理、员工管理、公告管理、下载中心等多个模块,页面使用JQuery框架完成动态功能,用户管理、部门管理等模块包含了项目开发中常用的增删改查动作,下载中心包含了 Spring MVC的文件上传、下载等功能

系统功能介绍
## 系统功能介绍
用户管理的功能包括:添加用户,用户可以为管理员或者普通用户;查询用户,可以查询所有用户或根据用户名和用户状态进行模糊查询,删除用户,修改用户。
部门管理的功能包括:添加部门,查询部门,可以查询所有部门或根据部门名称进行模糊查询,删除部门,修改部门
职位管理的功能包括:添加职位,查询职位,可以查询所有职位或根据职位名称进行模糊查询,删除职位,修改职位
Expand Down
4 changes: 2 additions & 2 deletions WebContent/WEB-INF/page/index.jsp
Expand Up @@ -55,14 +55,14 @@
</a>
<ul class="sub-menu">
<li>
<a _href="member-list.html">
<a _href="${ctx }/user/list">
<i class="iconfont">&#xe6a7;</i>
<cite>用户列表</cite>

</a>
</li >
<li>
<a _href="member-del.html">
<a _href="${ctx }/user/add">
<i class="iconfont">&#xe6a7;</i>
<cite>添加用户</cite>

Expand Down
44 changes: 44 additions & 0 deletions WebContent/WEB-INF/page/loginForm.jsp
@@ -0,0 +1,44 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<c:set var="ctx" value="${pageContext.request.contextPath}"/>
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>后台登录-X-admin2.0</title>
<meta name="renderer" content="webkit|ie-comp|ie-stand">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi" />
<meta http-equiv="Cache-Control" content="no-siteapp" />

<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
<link rel="stylesheet" href="${ctx}/public/css/font.css">
<link rel="stylesheet" href="${ctx}/public/css/xadmin.css">
<script type="text/javascript" src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
<script src="${ctx}/public/lib/layui/layui.js" charset="utf-8"></script>
<script type="text/javascript" src="${ctx}/public/js/xadmin.js"></script>

</head>
<body class="login-bg">

<div class="login layui-anim layui-anim-up">
<div class="message">x-admin2.0-管理登录</div>
<div id="darkbannerwrap"></div>
${requestScope.message}
<form method="post" class="layui-form" action="${ctx}/login">
<input name="loginname" placeholder="用户名" value="${loginname }" type="text" lay-verify="required" class="layui-input" >
<hr class="hr15">
<input name="password" lay-verify="required" placeholder="密码" type="password" class="layui-input">
<hr class="hr15">
<input value="登录" lay-submit lay-filter="login" style="width:100%;" type="submit">
<hr class="hr20" >
</form>
</div>





</body>
</html>
111 changes: 111 additions & 0 deletions WebContent/WEB-INF/page/user/add.jsp
@@ -0,0 +1,111 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>

<head>
<meta charset="UTF-8">
<title>欢迎页面-X-admin2.0</title>
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi" />
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
<link rel="stylesheet" href="${ctx}/public/css/font.css">
<link rel="stylesheet" href="${ctx}/public/css/xadmin.css">
<script type="text/javascript" src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
<script type="text/javascript" src="${ctx}/public/lib/layui/layui.js" charset="utf-8"></script>
<script type="text/javascript" src="${ctx}/public/js/xadmin.js"></script>
<!-- 让IE8/9支持媒体查询,从而兼容栅格 -->
<!--[if lt IE 9]>
<script src="https://cdn.staticfile.org/html5shiv/r29/html5.min.js"></script>
<script src="https://cdn.staticfile.org/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
</head>

<body>
<div class="x-body">
<form class="layui-form" method="POST" id="deptForm" action="${ctx}/user/add">
<input type="hidden" name="id" id="id" value="${job.id }" >
<div class="layui-form-item">
<label for="username" class="layui-form-label">
<span class="x-red">*</span>登录名
</label>
<div class="layui-input-inline">
<input type="text" id="loginname" name="loginname" required="" lay-verify="required"
autocomplete="off" class="layui-input" value="${job.loginname }">
</div>

</div>
<div class="layui-form-item">
<label for="username" class="layui-form-label">
<span class="x-red">*</span>用户名
</label>
<div class="layui-input-inline">
<input type="text" id="username" name="username" required="" lay-verify="required"
autocomplete="off" class="layui-input" value="${job.username }">
</div>

</div>
<div class="layui-form-item">
<label for="username" class="layui-form-label">
<span class="x-red">*</span>密码
</label>
<div class="layui-input-inline">
<input type="text" id="password" name="password" required="" lay-verify="required"
autocomplete="off" class="layui-input" value="${job.password }">
</div>

</div>

<div class="layui-form-item">
<label for="L_repass" class="layui-form-label">
</label>
<input type="submit" value=" 提交" class="layui-btn" lay-filter="add" lay-submit=""/>

</div>
</form>
</div>
<script>
layui.use(['form','layer'], function(){
$ = layui.jquery;
var form = layui.form
,layer = layui.layer;
//自定义验证规则
form.verify({
nikename: function(value){
if(value.length < 5){
return '昵称至少得5个字符啊';
}
}
,pass: [/(.+){6,12}$/, '密码必须6到12位']
,repass: function(value){
if($('#L_pass').val()!=$('#L_repass').val()){
return '两次密码不一致';
}
}
});
//监听提交
form.on('submit(add)', function(data){
console.log(data);
//发异步,把数据提交给php
layer.alert("增加成功", {icon: 6},function () {
document.getElementById('deptForm').submit();
// 获得frame索引
var index = parent.layer.getFrameIndex(window.name);
//关闭当前frame
parent.layer.close(index);
});
return false;
});
});
</script>

</body>

</html>
181 changes: 181 additions & 0 deletions WebContent/WEB-INF/page/user/list.jsp
@@ -0,0 +1,181 @@
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>

<head>
<meta charset="UTF-8">
<title>用户信息</title>
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi" />
<link rel="shortcut icon" href="${ctx}/public/logo.ico" type="image/x-icon" />
<link rel="stylesheet" href="${ctx}/public/css/font.css">
<link rel="stylesheet" href="${ctx}/public/css/xadmin.css">
<script type="text/javascript" src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
<script type="text/javascript" src="${ctx}/public/lib/layui/layui.js" charset="utf-8"></script>
<script type="text/javascript" src="${ctx}/public/js/xadmin.js"></script>
<!-- 让IE8/9支持媒体查询,从而兼容栅格 -->
<!--[if lt IE 9]>
<script src="https://cdn.staticfile.org/html5shiv/r29/html5.min.js"></script>
<script src="https://cdn.staticfile.org/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
</head>

<body>
<div class="x-nav">
<span class="layui-breadcrumb">
<a href="">首页</a>
<a>
<cite>用户信息</cite></a>
</span>
<button type="button" onclick="location.href='${ctx}/user/add'" class="layui-btn layui-btn-small" style="line-height:1.6em;margin-top:3px;float:innert;margin-left:75%;;" ><i class="layui-icon"></i>增加</button>
<a class="layui-btn layui-btn-small" style="line-height:1.6em;margin-top:3px;float:right" href="${ctx }/user/list" title="刷新">
<i class="layui-icon" style="line-height:30px">ဂ</i></a>
</div>
<div class="x-body">
<div class="layui-row" style="" align="center">
<form class="layui-form layui-col-md12 x-so" method="get" action="${ctx }/user/list">
<!-- <input class="layui-input" placeholder="开始日" name="start" id="start">
<input class="layui-input" placeholder="截止日" name="end" id="end"> -->
<input type="text" name="content" style="width:50%;" placeholder="请输入查找内容" autocomplete="off" class="layui-input">
<button class="layui-btn" lay-submit="" lay-filter="sreach"><i class="layui-icon">&#xe615;</i></button>
</form>
</div>
<%-- <xblock>
<!-- <button class="layui-btn layui-btn-danger" onclick="delAll()"><i class="layui-icon"></i>批量删除</button> -->
<button class="layui-btn" onclick="x_admin_show('添加用户','${ctx}/dept/add')"><i class="layui-icon"></i>添加</button>
<span class="x-right" style="line-height:40px">共有数据:88 条</span>
</xblock> --%>


<table class="layui-table">
<thead>
<tr>
<th>
<div class="layui-unselect header layui-form-checkbox" lay-skin="primary"><i class="layui-icon">&#xe605;</i></div>
</th>
<th>ID</th>
<th>登录名</th>
<th>用户名</th>
<th>注册日期</th>
<th>操作</th>
</thead>
<tbody>
<c:forEach items="${requestScope.list}" var="dept" varStatus="stat">
<tr>
<td>
<div class="layui-unselect layui-form-checkbox" lay-skin="primary" data-id='2'><i class="layui-icon">&#xe605;</i></div>
</td>
<td>${dept.id}</td>
<td>${dept.loginname }</td>
<td>${dept.username }</td>
<td>${dept.create_date }</td>

<!-- <td class="td-status">
<span class="layui-btn layui-btn-normal layui-btn-mini">已启用</span></td> -->
<td class="td-manage">
<!-- <a onclick="member_stop(this,'10001')" href="javascript:;" title="启用">
<i class="layui-icon">&#xe601;</i>
</a> -->
<%-- <a title="编辑" onclick="x_admin_show('编辑','${ctx}/job/add?id=${dept.id }');" href="javascript:;"> --%>
<a title="编辑" href="${ctx}/notice/add?id=${dept.id }">
<i class="layui-icon">&#xe642;</i>
</a>
<a title="删除" onclick="member_del(this,'${dept.id }')" href="javascript:;">
<i class="layui-icon">&#xe640;</i>
</a>
</td>
</tr>

</c:forEach>




</tbody>
</table>
<div class="page">
<div>
<a class="prev" href="">&lt;&lt;</a>
<a class="num" href="">1</a>
<span class="current">2</span>
<a class="num" href="">3</a>
<a class="num" href="">489</a>
<a class="next" href="">&gt;&gt;</a>
</div>
</div>

</div>
<script>
layui.use('laydate', function(){
var laydate = layui.laydate;
//执行一个laydate实例
laydate.render({
elem: '#start' //指定元素
});
//执行一个laydate实例
laydate.render({
elem: '#end' //指定元素
});
});
/*用户-停用*/
function member_stop(obj,id){
layer.confirm('确认要停用吗?',function(index){
if($(obj).attr('title')=='启用'){
//发异步把用户状态进行更改
$(obj).attr('title','停用')
$(obj).find('i').html('&#xe62f;');
$(obj).parents("tr").find(".td-status").find('span').addClass('layui-btn-disabled').html('已停用');
layer.msg('已停用!',{icon: 5,time:1000});
}else{
$(obj).attr('title','启用')
$(obj).find('i').html('&#xe601;');
$(obj).parents("tr").find(".td-status").find('span').removeClass('layui-btn-disabled').html('已启用');
layer.msg('已启用!',{icon: 5,time:1000});
}
});
}
/*用户-删除*/
function member_del(obj,id){
layer.confirm('确认要删除吗?',function(index){
//发异步删除数据
//等以后再使用异步,这里先使用
$.get("${ctx}/user/delete?id="+id);
$(obj).parents("tr").remove();
layer.msg('已删除!',{icon:1,time:1000});
});
}
function delAll (argument) {
var data = tableCheck.getData();
layer.confirm('确认要删除吗?'+data,function(index){
//捉到所有被选中的,发异步进行删除
layer.msg('删除成功', {icon: 1});
$(".layui-form-checked").not('.header').parents('tr').remove();
});
}
</script>
<script>var _hmt = _hmt || []; (function() {
var hm = document.createElement("script");
hm.src = "https://hm.baidu.com/hm.js?b393d153aeb26b46e9431fabaf0f6190";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();</script>
</body>

</html>
9 changes: 9 additions & 0 deletions WebContent/WEB-INF/springmvc-config.xml
Expand Up @@ -17,6 +17,15 @@
<mvc:annotation-driven/>
<!-- 使用默认的Servlet来响应静态文件 -->
<mvc:default-servlet-handler/>
<!-- 定义Spring MVC的拦截器 -->
<mvc:interceptors>
<mvc:interceptor>
<!-- 拦截所有请求 -->
<mvc:mapping path="/*"/>
<!-- 自定义判断用户权限的拦截类 -->
<bean class="com.rain.interceptor.AuthorizedInterceptor"/>
</mvc:interceptor>
</mvc:interceptors>
<!-- 视图解析器 -->
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
Expand Down
Binary file not shown.
Binary file added build/classes/com/rain/dao/UserDao.class
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file modified build/classes/com/rain/domain/User.class
Binary file not shown.
Binary file not shown.
Binary file modified build/classes/com/rain/service/RainService.class
Binary file not shown.
Binary file modified build/classes/com/rain/service/impl/RainServiceImpl.class
Binary file not shown.

0 comments on commit eaffc0f

Please sign in to comment.