- Add Docker Compose configurations for dev, prod, and standalone environments - Add database initialization scripts (init-db.sh, init-db-docker.sh) - Add enhanced start-docker-linux.sh with DB init support - Add comprehensive database initialization guide - Support for automatic dbexport.pgsql import on first run - Include safety checks for production environment
204 lines
6.4 KiB
Plaintext
204 lines
6.4 KiB
Plaintext
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
|
<%@ page import="com.pms.common.utils.*"%>
|
|
<%@ page import="java.util.*" %>
|
|
<%@include file= "/init.jsp" %>
|
|
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
<title><%=Constants.SYSTEM_NAME%></title>
|
|
|
|
<!--
|
|
한화면에서 각기 다른 인원정보 set할 경우 사용
|
|
targetId는 HTML상의 id를 지칭한다.
|
|
-->
|
|
<c:set var="targetId" value="${empty param.targetId?'':param.targetId}" />
|
|
|
|
</head>
|
|
<script>
|
|
|
|
$(document).ready(function(){
|
|
$("#btnClose").click(function(){
|
|
self.close(0);
|
|
});
|
|
|
|
$("input").keyup(function(e){
|
|
if(e.keyCode == 13){
|
|
$("#btnSearch").trigger("click");
|
|
}
|
|
});
|
|
|
|
$("#btnSearch").click(function(){
|
|
var userTypeName = $("#search_userTypeName").val();
|
|
var deptName = $("#search_deptName").val();
|
|
var userName = $("#search_userName").val();
|
|
|
|
$.ajax({
|
|
url:"/common/searchUserList.do",
|
|
type:"POST",
|
|
data:{"isJson":true, "search_userTypeName":userTypeName, "search_deptName":deptName, "search_userName":userName, "search_dataType":"${param.dataType}"},
|
|
dataType:"json",
|
|
success:function(data){
|
|
var appendCode = "";
|
|
|
|
$.each(data, function(i){
|
|
appendCode += "<tr style='cursor:pointer;' class='btnUsers'>";
|
|
appendCode += "<td><input type='checkbox' name='checkUserId' data-USER_ID='"+data[i].USER_ID+"' data-USER_NAME='"+data[i].USER_NAME+"' data-DEPT_NAME='"+data[i].DEPT_NAME+"' data-DEPT_CODE='"+data[i].DEPT_CODE+"'></td>";
|
|
appendCode += "<td>"+(i+1)+"</td>";
|
|
appendCode += "<td>"+data[i].USER_TYPE_NAME+"</td>";
|
|
appendCode += "<td>"+data[i].DEPT_NAME+"</td>";
|
|
appendCode += "<td>"+data[i].USER_NAME+"</td>";
|
|
appendCode += "</tr>";
|
|
});
|
|
|
|
$("#dataList").children().remove();
|
|
$("#dataList").append(appendCode);
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
});
|
|
|
|
$(document).on("click", ".btnSave", function(){
|
|
var checkUserObj = $("input[name=checkUserId]:checked");
|
|
if(checkUserObj == 0){
|
|
Swal.fire("선택된 인원이 없습니다.");
|
|
return false;
|
|
}else{
|
|
if("${isMulti}" == "true" || "${isMulti}" == true){
|
|
|
|
var duplicateDeptFlag = true;
|
|
var deptCode = "";
|
|
|
|
$.each(checkUserObj,function(i){
|
|
if(deptCode == ""){
|
|
deptCode = $(this).attr("data-DEPT_CODE");
|
|
}else{
|
|
if(deptCode == $(this).attr("data-DEPT_CODE")){
|
|
duplicateDeptFlag = false;
|
|
}
|
|
}
|
|
});
|
|
|
|
if(!duplicateDeptFlag){
|
|
Swal.fire("부서별 1명만 지정 가능합니다.");
|
|
return false;
|
|
}else{
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
var userId = $(this).attr("data-USER_ID");
|
|
var userName = $(this).attr("data-USER_NAME");
|
|
var deptName = $(this).attr("data-DEPT_NAME");
|
|
var deptCode = $(this).attr("data-DEPT_CODE");
|
|
|
|
if("" != "${targetId}"){
|
|
//한 화면에 각기 다른 영역에 인원 정보를 set 경우 parameter에 targetId를 추가, 실행되는 param.callback에서 targetId로 분기하여 처리한다.
|
|
eval("top.opener.${param.callback}('"+userId+"', '"+userName+"', '"+deptName+"','"+deptCode+"','${targetId}');");
|
|
}else{
|
|
//한 화면에 인원정보를 set 할 영역이 하나일 경우 사용
|
|
eval("top.opener.${param.callback}('"+userId+"', '"+userName+"', '"+deptName+"','"+deptCode+"');");
|
|
}
|
|
|
|
self.close(0);
|
|
//Swal.fire("userId : "+userId+", userName : "+userName+", deptName : "+deptName);
|
|
});
|
|
|
|
//loading시 사용자명 조회로 focus 이동
|
|
$("#search_userName").focus();
|
|
});
|
|
</script>
|
|
<body>
|
|
<form name="form1" action="" method="post">
|
|
<section class="business_staff_popup_min_width">
|
|
<div class="plm_menu_name">
|
|
<h2>
|
|
<span>사용자 조회</span>
|
|
</h2>
|
|
</div>
|
|
<div id="businessPopupFormWrap">
|
|
<div class="form_popup_title"> ${empty param.title?'사용자 조회':param.title}</div>
|
|
<table class="pmsPopupForm">
|
|
<colgroup>
|
|
<col width="13%"/>
|
|
<col width="*"/>
|
|
<col width="13%"/>
|
|
<col width="*"/>
|
|
<col width="15%"/>
|
|
<col width="*"/>
|
|
<col width="40px"/>
|
|
</colgroup>
|
|
<tr>
|
|
<td class="input_title">
|
|
<label for="">소속</label>
|
|
</td>
|
|
<td colspan="">
|
|
<input type="text" name="search_userTypeName" id="search_userTypeName" class="textbox" style="width:100%;" />
|
|
</td>
|
|
<td class="input_title">
|
|
<label for="">팀명</label>
|
|
</td>
|
|
<td colspan="">
|
|
<input type="text" name="search_deptName" id="search_deptName" class="textbox" style="width:100%;" />
|
|
</td>
|
|
<td class="input_title">
|
|
<label for="">성명</label>
|
|
</td>
|
|
<td colspan="">
|
|
<input type="text" name="search_userName" id="search_userName" class="textbox" style="width:100%;" />
|
|
</td>
|
|
<td>
|
|
<input type="button" value="조회" id="btnSearch" class="blue_btn">
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td colspan="7">
|
|
<div style="overflow-y:scroll;">
|
|
<table class="project_form_in_table" style="width:100%;">
|
|
<colgroup>
|
|
<col width="10%"/>
|
|
<col width="30%"/>
|
|
<col width="*"/>
|
|
<col width="20%"/>
|
|
</colgroup>
|
|
<thead>
|
|
<tr>
|
|
<td>No</td>
|
|
<td>소속</td>
|
|
<td>팀명</td>
|
|
<td>성명</td>
|
|
</tr>
|
|
</thead>
|
|
</table>
|
|
</div>
|
|
<div class="in_table_scroll_wrap" style="width:100%;">
|
|
<table class="plm_table">
|
|
<colgroup>
|
|
<col width="10%"/>
|
|
<col width="30%"/>
|
|
<col width="*"/>
|
|
<col width="20%"/>
|
|
</colgroup>
|
|
<tbody id="dataList">
|
|
<tr>
|
|
<td colspan="4" align="center">조회결과가 없습니다.</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<div class="btn_wrap">
|
|
<div class="plm_btn_wrap_center">
|
|
<input type="button" value="지정" class="plm_btns btnSave">
|
|
<input type="button" value="닫기" id="btnClose" class="plm_btns">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
</form>
|
|
</body>
|
|
</html> |