<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<title>员工管理系统</title>
<link rel="stylesheet" href="${pageContext.request.contextPath }/layui/css/layui.css">
</head>
<body>
<div class="layui-container">
<!-- 上方线 -->
<div class="layui-progress" style="margin: 15px 0 30px;">
<div class="layui-progress-bar" lay-percent="100%"></div>
</div>
<!-- 表单-->
<form class="layui-form" id="form1">
<div class="layui-form-item">
<!-- 姓名-->
<div class="layui-inline">
<label class="layui-form-label">姓名</label>
<div class="layui-input-inline">
<input type="tel" name="ename" class="layui-input" id="ename"
placeholder="请输入姓名">
</div>
</div>
<!-- 入职日期选择 -->
<div class="layui-inline">
<label class="layui-form-label">入职日期</label>
<div class="layui-input-inline">
<input type="text" class="layui-input" id="startHiredate" placeholder="yyyy-MM-dd" name="startHiredate">
</div>
<div class="layui-form-mid">-</div>
<div class="layui-input-inline">
<input type="text" class="layui-input" id="endHiredate" placeholder="yyyy-MM-dd" name="endHiredate">
</div>
</div>
<!--查询全部按钮-->
<button type="button" class="layui-btn" id="selectAll" data-type="reload">查询全部</button>
<!--搜索按钮-->
<button type="button" class="layui-btn" id="select" data-type="reload"><i
class="layui-icon layui-icon-search"></i></button>
<!-- 职位-->
<div class="layui-inline">
<label class="layui-form-label">职位</label>
<div class="layui-input-inline">
<input type="text" name="job" class="layui-input" placeholder="请输入职位"
id="job">
</div>
</div>
<!-- 薪资范围-->
<div class="layui-inline">
<label class="layui-form-label">薪水</label>
<div class="layui-input-inline" style="width: 100px;">
<input type="text" name="startSal" placeholder="¥" autocomplete="off" class="layui-input" id="startSal">
</div>
<div class="layui-form-mid">-</div>
<div class="layui-input-inline" style="width: 100px;">
<input type="text" name="endSal" placeholder="¥" autocomplete="off" class="layui-input" id="endSal">
</div>
</div>
<!-- 下拉框 选择部门 -->
<div class="layui-inline" style="width=100px">
<label class="layui-form-label">所属部门</label>
<div class="layui-input-block">
<select name="dept.deptno" id="deptno">
<option value="">直接选择或搜索选择</option>
<c:forEach items="${allDept}" var="department">
<option value="${department.deptno}" >${department.dname}</option>
</c:forEach>
</select>
</div>
</div>
</div>
</form>
<!-- 左侧工具栏-->
<script type="text/html" id="toolbarDemo">
<button class="layui-btn layuiadmin-btn-role" lay-event="deleteMore">批量删除</button>
<button class="layui-btn layuiadmin-btn-role" lay-event="add">添加</button>
</script>
<!-- 数据表格-->
<table class="layui-table" id="test" lay-filter="curd"></table>
<!-- 表格中的操作栏-->
<script type="text/html" id="barDemo">
<a class="layui-btn layui-btn-xs" lay-event="update">修改</a>
<a class="layui-btn layui-btn-xs" lay-event="detail">查看</a>
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
</script>
</div>
<!-- 引入 layui.js 的 <script> 标签最好放置在 html 末尾 -->
<script src="${pageContext.request.contextPath }/layui/layui.js"></script>
<script>
//注册组件
layui.use(function () {
var layer = layui.layer
, form = layui.form
, laypage = layui.laypage
, element = layui.element
, laydate = layui.laydate
, table = layui.table
, dropdown = layui.dropdown
, $ = layui.jquery
, util = layui.util;
//日期
laydate.render({
elem: '#startHiredate'
});
laydate.render({
elem: '#endHiredate'
});
//数据表格
table.render({
elem: '#test' //表格id 绑定
, url: "${pageContext.request.contextPath }/employee/findAllEmp"
, title: '用户数据表'
, limit: 2
, limits: [2, 5, 7, 9]
, toolbar: '#toolbarDemo' //开启头部工具栏 右侧导出一类
, cols: [[
{ type: 'checkbox', fixed: 'left' }
, { field: 'empno', title: 'ID', fixed: 'left', unresize: true, sort: true }
, { field: 'ename', title: '员工名', edit: 'text', sort: true }
, { field: 'job', title: '职位', edit: 'text', sort: true }
, { field: 'hiredate', title: '入职日期', edit: 'text', sort: true }
, {
field: 'sal', title: '薪水', sort: true, templet: function (d) {
if (d.sal == null) { //自定义样式
return 0 + "元"
} else {
return d.sal + "元"
}
}
}
, { field: 'comm', title: '奖金', sort: true }
, {
field: 'dept', title: '部门', width: 80, sort: true, templet: function (d) { //外键对象
return d.dept.dname
}
}
, { field: 'right', title: '操作', width: 177, toolbar: "#barDemo" }//操作栏 上述id绑定
]]
, id: 'testReload' //数据表编号 //重载数据表时候使用
, method: "post"
, page: true //开启分页
, parseData: function (res) { //将原始数据解析成 table 组件所规定的数据 //逻辑分页 内存分页
var result;
if (this.page.curr) {
result = res.data.slice(this.limit * (this.page.curr - 1), this.limit * this.page.curr);
}
else {
result = res.data.slice(0, this.limit);
}
return {
"code": res.code,
"msg": res.msg,
"count": res.count,
"data": result
};
}
});
//头工具栏事件
table.on('toolbar(curd)', function (obj) {
var checkStatus = table.checkStatus(obj.config.id);
switch (obj.event) {
//批量删除
case 'deleteMore':
var data = checkStatus.data;
if (data.length < 1) {
layer.alert('没有选中项');
}
var ids = "";
if (data.length > 0) {
for (var i = 0; i < data.length; i++) {
if (i == (data.length - 1)) {
ids += data[i].empno;
} else {
ids += data[i].empno + ",";
}
}
layer.confirm('真的删除所选行么', function (index) {
$.ajax({
type: "post"
, url: '${pageContext.request.contextPath}/employee/deleteMoreEmp'
, data: { "ids": ids}
, success: function (res) {
layer.msg('已删除!', { icon: 1, time: 1500 });
table.reload('testReload');
},
error: function (data) {
layer.msg('未删除!', { icon: 1, time: 1500 });
}
});
});
}
break;
//添加
case 'add':
//弹框
layer.open({
type: 2,
area: [550+'px', 480+'px'],
fix: false,
maxmin: true,
shadeClose: true,
shade:0.4,
title: "添加职员",
content: '${pageContext.request.contextPath }/employee/toAddEmp',
});
break;
};
});
//操作栏工具栏
table.on('tool(curd)', function (obj) { //注:tool 是工具条事件名,curd 表格过滤器绑定
var data = obj.data
, layEvent = obj.event;
//详情
if (layEvent === 'detail') {
layer.open({
type: 2,
area: [550+'px', 480+'px'],
fix: false,
maxmin: true,
shadeClose: true,
shade:0.4,
title: "职员详情",
content: "${pageContext.request.contextPath }/employee/toShowEmp?empno="+data.empno
});
//删除
} else if (layEvent === 'del') {
layer.confirm('确定要删除吗?', function (index) {
layer.close(index);
$.ajax({
type: 'post',
url: '${pageContext.request.contextPath}/employee/deleteEmp?empno=' + data.empno,
success: function (data) {
obj.del();
layer.msg('已删除!', { icon: 1, time: 1000 });
},
error: function (data) {
console.log(data.msg);
},
});
});
//修改
} else if (layEvent === 'update') {
layer.open({
type: 2,
area: [550+'px', 480+'px'],
fix: false,
maxmin: true,
shadeClose: true,
shade:0.4,
title: "修改职员",
content: "${pageContext.request.contextPath }/employee/toUpdateEmp?empno="+data.empno
});
}
});
//重载 即多条件查询部分
var $ = layui.$, active = {
reload: function () {
//执行重载
table.reload('testReload', {
page: {
curr: 1 //重新从第 1 页开始
}
, where: {
ename:$('#ename').val(),
startHiredate: $('#startHiredate').val(),
endHiredate: $('#endHiredate').val(),
job: $('#job').val(),
"dept.deptno": $("#deptno").val(),
startSal: $('#startSal').val(),
endSal: $('#endSal').val()
}
});
}
};
//查询按钮的点击事件
$('#select').on('click', function () {
var type = $(this).data('type');
active[type] ? active[type].call(this) : '';
});
//查询全部点击事件
$('#selectAll').on('click', function () {
//document.location.reload();
$('#form1')[0].reset();
var type = $(this).data('type');
active[type] ? active[type].call(this) : '';
});
});
</script>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<link rel="stylesheet" href="${pageContext.request.contextPath }/layui/css/layui.css">
</head>
<body>
<form class="layui-form" id="formId" action="${pageContext.request.contextPath }/employee/addEmp" method="POST">
<div class="layui-form-item">
<label class="layui-form-label">员工姓名</label>
<div class="layui-input-block">
<input type="text" name="ename" lay-verify="required" lay-reqtext="员工姓名是必填项,不能为空~" autocomplete="off"
placeholder="请输入姓名" class="layui-input" style="width:100px">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">职位</label>
<div class="layui-input-block">
<input type="text" name="job" lay-verify="required" lay-reqtext="职位是必填项,岂能为空?" placeholder="请输入职位"
autocomplete="off" style="width:100px" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">入职日期</label>
<div class="layui-input-inline">
<input type="text" name="hiredate" id="date" lay-verify="date" placeholder="1970-00-00"
autocomplete="off" class="layui-input">
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">薪资</label>
<div class="layui-input-inline" style="width: 100px;">
<input type="number" min=0 name="sal" placeholder="¥" required autocomplete="off"
class="layui-input" lay-reqtext="请输入员工薪资">
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">奖金</label>
<div class="layui-input-inline" style="width: 100px;">
<input type="number" min=0 name="comm" placeholder="¥" required autocomplete="off"
class="layui-input" lay-reqtext="请输入员工奖金">
</div>
</div>
</div>
<div class="layui-form-item" style="width:300px">
<label class="layui-form-label">所属部门</label>
<div class="layui-input-block">
<select name="dept.deptno" lay-filter="aihao">
<c:forEach items="${allDept}" var="department">
<option value="${department.deptno}">${department.dname}</option>
</c:forEach>
</select>
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<button class="layui-btn" lay-submit lay-filter="add">添加</button>
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
</div>
</div>
</form>
<!-- 引入 layui.js 的 <script> 标签最好放置在 html 末尾 -->
<script src="${pageContext.request.contextPath }/layui/layui.js"></script>
<script>
layui.use(function () {
var laydate = layui.laydate
,form = layui.form
,$ = layui.jquery
,layer = layui.layer;
//日期
laydate.render({
elem: '#date'
});
//监听提交
form.on('submit(add)', function(data){
$.ajax({
url:'${pageContext.request.contextPath}/employee/addEmp',
data:data.field,
type:'post',
success:function(){
layer.msg("添加成功", {icon: 6,time:500},function () {
// 获得frame索引
var index = parent.layer.getFrameIndex(window.name);
//关闭当前frame
parent.layer.close(index);
//修改成功后刷新父界面
window.parent.location.reload();
});
}
});
return false;
});
});
</script>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<link rel="stylesheet" href="${pageContext.request.contextPath }/layui/css/layui.css">
</head>
<body>
<div class="layui-form-item">
<label class="layui-form-label">员工姓名</label>
<div class="layui-input-block">
<input type="text" name="ename" lay-verify="required" lay-reqtext="员工姓名是必填项,不能为空~" autocomplete="off"
placeholder="请输入姓名" class="layui-input" style="width:100px" disabled value="${employee.ename}">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">职位</label>
<div class="layui-input-block">
<input type="text" name="job" lay-verify="required" lay-reqtext="职位是必填项,岂能为空?" placeholder="请输入职位"
autocomplete="off" style="width:100px" disabled class="layui-input" value="${employee.job}">
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">入职日期</label>
<div class="layui-input-inline">
<input type="text" name="hiredate" id="date" lay-verify="date" placeholder="1970-00-00"
autocomplete="off" class="layui-input" disabled value="${employee.hiredate}">
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">薪资</label>
<div class="layui-input-inline" style="width: 100px;">
<input type="number" min=0 name="sal" placeholder="¥" required autocomplete="off"
class="layui-input" disabled lay-reqtext="请输入员工薪资" value="${employee.sal}">
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">奖金</label>
<div class="layui-input-inline" style="width: 100px;">
<input type="number" min=0 name="comm" placeholder="¥" required
class="layui-input" disabled lay-reqtext="请输入员工奖金" value="${employee.comm}">
</div>
</div>
</div>
<div class="layui-form-item" style="width:300px">
<label class="layui-form-label">所属部门</label>
<div class="layui-input-block">
<input type="text" min=0 name="comm" placeholder="¥" required autocomplete="off"
class="layui-input" disabled lay-reqtext="请输入员工奖金" value="${employee.dept.dname}">
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<button class="layui-btn" id="close" lay-filter="formDemo">关闭</button>
</div>
</div>
</form>
<!-- 引入 layui.js 的 <script> 标签最好放置在 html 末尾 -->
<script src="${pageContext.request.contextPath }/layui/layui.js"></script>
<script>
layui.use(['form','layer','laydate'], function () {
var laydate = layui.laydate
,form = layui.form
,$ = layui.jquery
,layer = layui.layer;
//日期
laydate.render({
elem: '#date'
});
$("#close").click(function(){
console.log(111)
// 获得frame索引
var index = parent.layer.getFrameIndex(window.name);
//关闭当前frame
parent.layer.close(index);
//document.location.reload();
});
});
</script>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<link rel="stylesheet" href="${pageContext.request.contextPath }/layui/css/layui.css">
</head>
<body>
<form class="layui-form" action="${pageContext.request.contextPath }/employee/updateEmp" method="POST">
<input type="hidden" name="empno" lay-verify="required" lay-reqtext="员工姓名是必填项,不能为空~" autocomplete="off"
placeholder="请输入姓名" class="layui-input" style="width:100px" value="${employee.empno}">
<div class="layui-form-item">
<label class="layui-form-label">员工姓名</label>
<div class="layui-input-block">
<input type="text" name="ename" lay-verify="required" lay-reqtext="员工姓名是必填项,不能为空~" autocomplete="off"
placeholder="请输入姓名" class="layui-input" style="width:100px" value="${employee.ename}">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">职位</label>
<div class="layui-input-block">
<input type="text" name="job" lay-verify="required" lay-reqtext="职位是必填项,岂能为空?" placeholder="请输入职位"
autocomplete="off" style="width:100px" class="layui-input" value="${employee.job}">
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">入职日期</label>
<div class="layui-input-inline">
<input type="text" name="hiredate" id="date" lay-verify="date" placeholder="1970-00-00"
autocomplete="off" class="layui-input" value="${employee.hiredate}">
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">薪资</label>
<div class="layui-input-inline" style="width: 100px;">
<input type="number" min=0 name="sal" placeholder="¥" required autocomplete="off"
class="layui-input" lay-reqtext="请输入员工薪资" value="${employee.sal}">
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">奖金</label>
<div class="layui-input-inline" style="width: 100px;">
<input type="number" min=0 name="comm" placeholder="¥" required autocomplete="off"
class="layui-input" lay-reqtext="请输入员工奖金" value="${employee.comm}">
</div>
</div>
</div>
<!-- 下拉框 选择部门 -->
<div class="layui-form-item" style="width:300px">
<label class="layui-form-label">所属部门</label>
<div class="layui-input-block">
<select name="dept.deptno" lay-filter="aihao">
<c:forEach items="${allDept}" var="department">
<option value="${department.deptno}" ${department.deptno==employee.dept.deptno ? "selected":"" } >${department.dname}</option>
</c:forEach>
</select>
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<button class="layui-btn" lay-submit lay-filter="update">修改</button>
</div>
</div>
</form>
<!-- 引入 layui.js 的 <script> 标签最好放置在 html 末尾 -->
<script src="${pageContext.request.contextPath }/layui/layui.js"></script>
<script>
layui.use(function () {
var laydate = layui.laydate
,form = layui.form
,$ = layui.jquery
,layer = layui.layer;
//日期
laydate.render({
elem: '#date'
});
//监听提交
form.on('submit(update)', function(data){
$.ajax({
url:'${pageContext.request.contextPath }/employee/updateEmp',
data:data.field,
type:'post',
success:function(){
layer.msg("修改成功", {icon: 6,time:500},function () {
// 获得frame索引
var index = parent.layer.getFrameIndex(window.name);
//关闭当前frame
parent.layer.close(index);
//修改成功后刷新父界面
window.parent.location.reload();
});
}
});
return false;
});
});
</script>
</body>
</html>