332 lines
11 KiB
Plaintext
332 lines
11 KiB
Plaintext
<%@page import="com.pms.common.utils.CommonUtils"%>
|
|
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
|
<%@ include file="/WEB-INF/view/common/common_include.jsp"%>
|
|
<%
|
|
String userIdTargetObj = CommonUtils.checkNull(request.getParameter("userIdTargetObj"));
|
|
String userNameTargetObj = CommonUtils.checkNull(request.getParameter("userNameTargetObj"));
|
|
String deptIdTargetObj = CommonUtils.checkNull(request.getParameter("deptIdTargetObj"));
|
|
String deptNameTargetObj = CommonUtils.checkNull(request.getParameter("deptNameTargetObj"));
|
|
|
|
System.out.println("userIdTargetObj : "+userIdTargetObj);
|
|
System.out.println("userNameTargetObj : "+userNameTargetObj);
|
|
System.out.println("deptIdTargetObj : "+deptIdTargetObj);
|
|
System.out.println("deptNameTargetObj : "+deptNameTargetObj);
|
|
|
|
String searchDeptName = CommonUtils.checkNull(request.getParameter("searchDeptName"));
|
|
String searchUserName = CommonUtils.checkNull(request.getParameter("searchUserName"));
|
|
String searchUserId = CommonUtils.checkNull(request.getParameter("searchUserId"));
|
|
|
|
System.out.println("searchDeptName : "+searchDeptName);
|
|
System.out.println("searchUserName : "+searchUserName);
|
|
System.out.println("searchUserId : "+searchUserId);
|
|
|
|
|
|
boolean multiCheck = new Boolean(request.getParameter("multiCheck")).booleanValue();
|
|
System.out.println("multiCheck : "+multiCheck);
|
|
|
|
%>
|
|
<div id="wrap_pop02">
|
|
<div class="box01">
|
|
<div class="table01">
|
|
<form name="searchEmployeeForm" id="searchEmployeeForm" metohod="post" autocomplete="off">
|
|
<input type="hidden" name="multiCheck" id="multiCheck" value="${param.multiCheck}" />
|
|
<table summary="" class="pms_tableB" cellpadding="0">
|
|
<colgroup>
|
|
<col width="10%"/>
|
|
<col width="10%"/>
|
|
<col width="*"/>
|
|
</colgroup>
|
|
<thead>
|
|
<tr>
|
|
<th class="ta_c">사원명</th>
|
|
<td class="ta_c"><input type="text" name="searchUserName" id="searchUserName" value="${param.searchUserName}"></td>
|
|
<td class="ta_c" rowspan="3" style="text-align:center">
|
|
<div class="btn_area btn_area_ac">
|
|
<span class="btn">
|
|
<div class="btn_l"></div>
|
|
<div class="btn_c" id="btnSearch">조회</div>
|
|
<div class="btn_r"></div>
|
|
</span>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<th class="ta_c">부서명</th>
|
|
<td class="ta_c"><input type="text" name="searchDeptName" id="searchDeptName" value="${param.searchDeptName}"></td>
|
|
</tr>
|
|
<tr>
|
|
<th class="ta_c">사번</th>
|
|
<td class="ta_c"><input type="text" name="searchUserId" id="searchUserId" value="${param.searchUserId}"></td>
|
|
</tr>
|
|
</thead>
|
|
</table>
|
|
<div id="scroll" style="border:1;width:100%; height:240px; overflow: auto">
|
|
<table summary="" class="pms_tableB" id="employeeTable" cellpadding="0">
|
|
<caption></caption>
|
|
<colgroup>
|
|
<col width="5%" />
|
|
<col width="25%" />
|
|
<col width="25%" />
|
|
<col width="25%" />
|
|
<col width="20%" />
|
|
</colgroup>
|
|
<thead class="bb_2px">
|
|
<tr>
|
|
<th class="ta_c bg_th_2_t">
|
|
<c:if test="${param.multiCheck eq 'true'}">
|
|
<input type="checkbox" name="allChk" id="allChk">
|
|
</c:if>
|
|
</th>
|
|
<th class="ta_c bg_th_2_t">부서명</th>
|
|
<th class="ta_c bg_th_2_t">성명</th>
|
|
<th class="ta_c bg_th_2_t">직급</th>
|
|
<th class="ta_c bg_th_2_t">사번</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<c:choose>
|
|
<c:when test="${empty userList}">
|
|
<tr class="dataRow" onmouseover="fn_over(this)" onmouseout="fn_out(this)" style="cursor:pointer">
|
|
<td colspan="5" align="center">
|
|
<spring:message code="common.search.notfound" />
|
|
</td>
|
|
</tr>
|
|
</c:when>
|
|
<c:otherwise>
|
|
<c:forEach var="user" items="${userList}" varStatus="st">
|
|
<tr class="dataRow" onmouseover="fn_over(this)" onmouseout="fn_out(this)" style="cursor:pointer">
|
|
<td align="center">
|
|
<c:choose>
|
|
<c:when test="${'true' eq param.multiCheck}">
|
|
<input type="checkbox" name="chk" id="chk" value="${user.USERID}">
|
|
</c:when>
|
|
<c:when test="${'false' eq param.multiCheck} || ${'' eq param.multiCheck}">
|
|
|
|
</c:when>
|
|
</c:choose>
|
|
</td>
|
|
<td align="center">${user.DEPTNAME}</td>
|
|
<td align="center">${user.USERNAME}</td>
|
|
<td align="center">${user.LEVELNAME}</td>
|
|
<td align="center">${user.USERID}</td>
|
|
</tr>
|
|
</c:forEach>
|
|
</c:otherwise>
|
|
</c:choose>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div class="btn_area_ac btn_area">
|
|
<span class="btn">
|
|
<div class="btn_l"></div>
|
|
<div class="btn_c" id="btnRegist">적용</div>
|
|
<div class="btn_r"></div>
|
|
</span>
|
|
<span class="btn">
|
|
<div class="btn_l"></div>
|
|
<div class="btn_c" id="btnClose">닫기</div>
|
|
<div class="btn_r"></div>
|
|
</span>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<script>
|
|
$(function(){
|
|
$("#btnSearch").click(function(){
|
|
searchEmployee();
|
|
});
|
|
|
|
$("#btnClose").click(function(){
|
|
$("#SearchEmployee").dialog("close");
|
|
});
|
|
|
|
$("#btnApply").click(function(){
|
|
fn_apply();
|
|
});
|
|
|
|
$("input[type=text]").keydown(function(event){
|
|
if(event.keyCode == 13){
|
|
searchEmployee();
|
|
}
|
|
});
|
|
|
|
$("#allChk").click(function(){
|
|
fn_allChk($(this));
|
|
});
|
|
|
|
//row click시 checkbox 선택
|
|
$(document).on("click", ".dataRow", function(){
|
|
var multiCheck = $("#multiCheck").val();
|
|
|
|
$(this).children().children(":checkbox").each(function(){
|
|
this.checked = !this.checked;
|
|
});
|
|
if(multiCheck == "false"){
|
|
fn_apply($(this));
|
|
}
|
|
});
|
|
|
|
});
|
|
|
|
//적용
|
|
function fn_apply(obj){
|
|
var multiCheck = $("#multiCheck").val();
|
|
var userIdTargetObj = "${param.userIdTargetObj}";
|
|
var userNameTargetObj = "${param.userNameTargetObj}";
|
|
var deptIdTargetObj = "${param.deptIdTargetObj}";
|
|
var deptNameTargetObj = "${param.deptNameTargetObj}";
|
|
|
|
if(multiCheck == "true"){
|
|
//선택된 checkbox의 value를 모아서 return 해야함
|
|
var userIds = "";
|
|
var userNames = "";
|
|
var deptNames = "";
|
|
var deptIds = "";
|
|
|
|
$("input[name=chk]").each(function(){
|
|
if(this.checked){
|
|
if(userIds != "") userIds += ", "+$(this).attr("data-USERID");
|
|
else userIds = $(this).attr("data-USERID");
|
|
|
|
if(userNames != "") userNames += ", "+$(this).attr("data-USERNAME");
|
|
else userNames = $(this).attr("data-USERNAME");
|
|
|
|
if(deptNames != "") deptNames += ", "+$(this).attr("data-DEPTNAME");
|
|
else deptNames = $(this).attr("data-DEPTNAME");
|
|
|
|
if(deptIds != "") deptIds += ", "+$(this).attr("data-DEPTID");
|
|
else deptIds = $(this).attr("data-DEPTID");
|
|
}
|
|
});
|
|
|
|
$("#"+userIdTargetObj).val(userIds);
|
|
$("#"+userNameTargetObj).val(userNames);
|
|
|
|
$("#"+deptIdTargetObj).val(deptIds);
|
|
// $("#"+deptIdTargetObj).html(deptIds);
|
|
$("#"+deptNameTargetObj).val(deptNames);
|
|
// $("#"+deptNameTargetObj).html(deptNames);
|
|
}else{
|
|
//click된 row의 사번을 return 해야함
|
|
var userId = $(obj).attr("data-USERID");
|
|
var userName = $(obj).attr("data-USERNAME");
|
|
var deptId = $(obj).attr("data-DEPTID");
|
|
var deptName = $(obj).attr("data-DEPTNAME");
|
|
|
|
$("#"+userIdTargetObj).val(userId);
|
|
$("#"+userNameTargetObj).val(userName);
|
|
$("#"+deptIdTargetObj).val(deptId);
|
|
// $("#"+deptIdTargetObj).html(deptId);
|
|
$("#"+deptNameTargetObj).val(deptName);
|
|
// $("#"+deptNameTargetObj).html(deptName);
|
|
}
|
|
//$("#SearchEmployee").remove();
|
|
$("#SearchEmployee").dialog("close");
|
|
}
|
|
|
|
//자동 적용
|
|
function fn_autoApply(userId, userName, deptId, deptName){
|
|
var userIdTargetObj = "${param.userIdTargetObj}";
|
|
var userNameTargetObj = "${param.userNameTargetObj}";
|
|
var deptIdTargetObj = "${param.deptIdTargetObj}";
|
|
var deptNameTargetObj = "${param.deptNameTargetObj}";
|
|
|
|
$("#${param.userIdTargetObj}").val(userId);
|
|
$("#${param.userNameTargetObj}").val(userName);
|
|
$("#${param.deptIdTargetObj}").val(deptId);
|
|
$("#${param.deptIdTargetObj}").html(deptId);
|
|
$("#${param.deptNameTargetObj}").val(deptName);
|
|
$("#${param.deptNameTargetObj}").html(deptName);
|
|
|
|
$("#SearchEmployee").remove();
|
|
$("#SearchEmployee").dialog("close");
|
|
}
|
|
|
|
//전체 체크
|
|
function fn_allChk(obj){
|
|
var checked = $(obj).is(":checked");
|
|
|
|
$("input[name=chk]").each(function(){
|
|
if(checked) this.checked = true;
|
|
else this.checked = false;
|
|
});
|
|
}
|
|
|
|
//사원조회
|
|
function searchEmployee(){
|
|
|
|
var param = $("form[name=searchEmployeeForm]").serialize();
|
|
|
|
$.ajax({
|
|
type : "POST",
|
|
url : "/common/searchEmployee.do",
|
|
data : param,
|
|
dataType:"json",
|
|
complete:function(xhr){
|
|
if(xhr.status == 403) {
|
|
_unLoading();
|
|
jSwal.fire("", "<spring:message code="error.session.expired" />", function() {
|
|
top.document.location.href="<spring:eval expression="@property['login.url']" />";
|
|
});
|
|
} else {
|
|
var obj = $.parseJSON(xhr.responseText);
|
|
_unLoading();
|
|
if (obj != null) {
|
|
if (obj.length > 0) {
|
|
//화면에 조회된 데이터를 보여준다.
|
|
$(".dataRow").remove();
|
|
|
|
var multiCheck = $("#multiCheck").val();
|
|
|
|
var appendHtml = "";
|
|
$.each(obj, function(i, data){
|
|
// if(obj.length == 1){
|
|
// fn_autoApply(data.USERID, data.USERNAME, data.DEPTID, data.DEPTNAME);
|
|
// }
|
|
appendHtml += "<tr style=\"cursor:pointer\" class=\"dataRow\" onmouseover=\"fn_over(this)\" onmouseout=\"fn_out(this)\" data-USERID=\""+data.USERID+"\" data-USERNAME=\""+data.USERNAME+"\" data-DEPTID=\""+data.DEPTID+"\" data-DEPTNAME=\""+data.DEPTNAME+"\" style=\"cursor:hand;\">";
|
|
appendHtml += "<td align=\"center\">";
|
|
if(multiCheck == "true") appendHtml += "<input type=\"checkbox\" name=\"chk\" id=\"chk\" data-USERID=\""+data.USERID+"\" data-USERNAME=\""+data.USERNAME+"\" data-DEPTID=\""+data.DEPTID+"\" data-DEPTNAME=\""+data.DEPTNAME+"\">";
|
|
else appendHtml += " ";
|
|
appendHtml += "</td>";
|
|
appendHtml += "<td align=\"center\">"+data.DEPTNAME+"</td>";
|
|
appendHtml += "<td align=\"center\">"+data.USERNAME+"</td>";
|
|
appendHtml += "<td align=\"center\">"+data.LEVELNAME+"</td>";
|
|
appendHtml += "<td align=\"center\">"+data.USERID+"</td>";
|
|
appendHtml += "</tr>";
|
|
});
|
|
|
|
$("#employeeTable").append(appendHtml);
|
|
|
|
} else {
|
|
//조회된 데이터가 없다는 메세지 출력
|
|
$(".dataRow").remove();
|
|
|
|
jSwal.fire(null, obj.message, function(){
|
|
var noDataHtml = "";
|
|
noDataHtml += "<tr class=\"dataRow\">";
|
|
noDataHtml += "<td colspan=\"5\" align=\"center\">";
|
|
noDataHtml += "<spring:message code='common.search.notfound' />";
|
|
noDataHtml += "</td>";
|
|
noDataHtml += "</tr>";
|
|
|
|
$("#employeeTable").append(noDataHtml);
|
|
});
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
function fn_over(obj){
|
|
obj.bgColor = "#c1e3fa";
|
|
}
|
|
|
|
function fn_out(obj){
|
|
obj.bgColor = "";
|
|
}
|
|
|
|
</script> |