parent
41e38055b1
commit
e91fac85fc
@ -54,6 +54,24 @@ public class EgovCustomRankManageController {
|
||||
return "cmm/uss/rnt/EgovRankManageTree";
|
||||
}
|
||||
|
||||
// 부서관리
|
||||
@RequestMapping(value = "/uss/rnt/EgovDepartmentManageTree.do")
|
||||
public String selectDepartmentManage(@ModelAttribute("menuCreatVO") MenuCreatVO menuCreatVO, @ModelAttribute("searchVO") ComDefaultVO searchVO,
|
||||
ModelMap model, MenuManageVO menuManageVO , HttpSession session ) throws Exception {
|
||||
// 직급정보 C0050
|
||||
if(menuCreatVO.getMenuUserType() == null){
|
||||
menuCreatVO.setMenuUserType("A"); //사용자 디폴트
|
||||
}
|
||||
|
||||
return "cmm/uss/rnt/EgovDepartmentManageTree";
|
||||
}
|
||||
|
||||
// 부서관리 - 관리자 검색 팝업
|
||||
@RequestMapping(value = "/uss/rnt/popup/EgovDepartmentManagePop.do")
|
||||
public String selectDepartmentManagePop(@ModelAttribute("menuCreatVO") MenuCreatVO menuCreatVO, ModelMap model ) throws Exception {
|
||||
return "cmm/uss/rnt/popup/EgovDepartmentManagePop";
|
||||
}
|
||||
|
||||
|
||||
@RequestMapping(value = {"/uss/rnt/EgovRankDataLoad.do"}, method = RequestMethod.POST)
|
||||
public ResponseEntity<RestResponse> egovRankDataLoad(HttpServletRequest request , @RequestBody EgovCustomRankManageVO rankManageVO) throws Exception {
|
||||
|
||||
@ -81,6 +81,7 @@
|
||||
|
||||
<decorator name="adminPoplayout" page="/WEB-INF/jsp/layout/adminLayoutPopup.jsp">
|
||||
<pattern>/kccadr/**/popup/*</pattern><!-- 관리자 팝업페이지 -->
|
||||
<pattern>/uss/**/popup/*</pattern><!-- 관리자 팝업페이지 -->
|
||||
</decorator>
|
||||
|
||||
<!-- <decorator name="null" page="/WEB-INF/jsp/layout/none.jsp"> -->
|
||||
|
||||
@ -0,0 +1,396 @@
|
||||
<%--
|
||||
Class Name : EgovOrgChartManage.jsp
|
||||
Description : 조직도 관리 화면
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2018.06.11 ITN 최초 생성
|
||||
|
||||
author : ITN
|
||||
since : 2018.06.11
|
||||
--%>
|
||||
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
|
||||
<%@ page import="kcc.com.cmm.service.EgovProperties"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Language" content="ko">
|
||||
<link href="<c:url value='/'/>css/jstree/themes/default/style.min.css" rel="stylesheet" type="text/css">
|
||||
<style>
|
||||
.jstree_orgChart {
|
||||
overflow: auto;
|
||||
border: 1px solid silver;
|
||||
min-height: 100px;
|
||||
width: 290px;
|
||||
}
|
||||
</style>
|
||||
<script src="<c:url value='/js/jquery-1.12.4.min.js' />"></script>
|
||||
<script src="<c:url value='/js/jstree.min.js' />"></script>
|
||||
<script src="<c:url value='/js/EgovCmmUtl.js' />"></script>
|
||||
<script>
|
||||
/*********************************
|
||||
* jstree
|
||||
*********************************
|
||||
*/
|
||||
$(document).ready(function() {
|
||||
loadProcess();
|
||||
});
|
||||
|
||||
// 초기 데이터 만드는 function
|
||||
function fn_makeList(data){
|
||||
var resultList = data['dataList'];
|
||||
|
||||
var dataList = [];
|
||||
var data = {};
|
||||
|
||||
data.id = 'C0050';
|
||||
data.text = '직급관리';
|
||||
data.parent = '#';
|
||||
data.state = {opened : true};
|
||||
dataList.push(data);
|
||||
|
||||
$.each( resultList, function (index, item) {
|
||||
data = {};
|
||||
data.id = item.code;
|
||||
data.text = item.codeNm;
|
||||
data.parent = item.codeId;
|
||||
data.info = item.codeId;
|
||||
data.li_attr = {'data-info' : item.codeId};
|
||||
dataList.push(data);
|
||||
});
|
||||
|
||||
return dataList;
|
||||
}
|
||||
|
||||
// jsTree function
|
||||
function fn_jsTree(resultData){
|
||||
$("#rank_organization").jstree({
|
||||
"core" : {
|
||||
"check_callback" : true
|
||||
,"data" : resultData
|
||||
}
|
||||
,"plugins" : [
|
||||
"contextmenu"
|
||||
, "dnd"
|
||||
, "search"
|
||||
, "types"
|
||||
]
|
||||
// ,'contextmenu' : {
|
||||
// "items" : {
|
||||
// "test" : { //사실상 "test"라는 이름은 변수에 가깝기 때문에 뭐든 상관없다 생각한다.
|
||||
// "separator_before" : false,
|
||||
// "separator_after" : true,
|
||||
// "label" : "신규메뉴",
|
||||
// "action" : function(obj){alert('메뉴테스트')}
|
||||
// }
|
||||
// ,"test1" : {
|
||||
// "separator_before" : false,
|
||||
// "separator_after" : true,
|
||||
// "label" : "신규메뉴2",
|
||||
// "action" : function(obj){alert('메뉴테스트2')}
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
})
|
||||
.on('select_node.jstree', function (e, data) {
|
||||
|
||||
console.log('data.instance.get_node(data.selected) : ', data.instance.get_node(data.selected));
|
||||
var id = data.instance.get_node(data.selected).id; //id 가져오기
|
||||
var type = data.instance.get_node(data.selected).type; //type 가져오기
|
||||
var path = data.instance.get_node(data.selected).path; //paht 가져오기
|
||||
var a = data.instance.get_node(data.selected).li_attr['data-info']; //data 에서 a 가져오기
|
||||
|
||||
console.log(' id : ', id);
|
||||
console.log(' type : ', type);
|
||||
console.log(' path : ', path);
|
||||
console.log(' a : ', a );
|
||||
})
|
||||
/* 추가 */
|
||||
.on('create_node.jstree', function(e, data) {
|
||||
|
||||
console.log('data.node.parent : ', data.node.parent);
|
||||
if (confirm("메뉴를 추가하시겠습니까?")){
|
||||
}else{
|
||||
data.instance.refresh();
|
||||
}
|
||||
})
|
||||
/* 삭제 */
|
||||
.on('delete_node.jstree', function (e, data) {
|
||||
|
||||
if(data.node.children.length != 0){
|
||||
alert("하위 메뉴를 먼저 삭제 후 메뉴를 삭제해 주세요.");
|
||||
data.instance.refresh();
|
||||
}else{
|
||||
if (confirm("[" + data.node.text + "]" + " 메뉴를 삭제하시겠습니까?")){
|
||||
// $.ajax({
|
||||
// type:"POST",
|
||||
// url:"<c:url value='/sym/mnu/mcm/EgovMenuInfoDeleteAjax.do' />",
|
||||
// data:{ "menuNo" : data.node.id , "authorCode" : $('#authorCode').val() },
|
||||
// dataType:'json',
|
||||
// //timeout:(1000*30),
|
||||
// success : function(returnData, status) {
|
||||
// if (status == "success") {
|
||||
// alert("메뉴 정보가 삭제되었습니다.");
|
||||
// fn_init_menuInfo();
|
||||
// } else { alert("ERROR"); }
|
||||
// },
|
||||
// error : function(request , status, error) {
|
||||
// alert("메뉴 정보 삭제가 실패되었습니다.");
|
||||
// //alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||
// },
|
||||
// complete : function () {
|
||||
// data.instance.refresh();
|
||||
// deleteLodingBar();
|
||||
// }
|
||||
// });
|
||||
} else {
|
||||
data.instance.refresh();
|
||||
}
|
||||
}
|
||||
|
||||
})
|
||||
/* 코드명 변경 */
|
||||
.on('rename_node.jstree', function (e, data) {
|
||||
var nodeId = data.node.id;
|
||||
var oldText = data.old;
|
||||
var newText = data.text;
|
||||
|
||||
if (nodeId > 0) {
|
||||
/* 부서명 변경 */
|
||||
// if (oldText != newText) {
|
||||
// if (confirm("메뉴명을 변경하시겠습니까?" )) {
|
||||
// $.ajax({
|
||||
// type:"POST",
|
||||
// url:"<c:url value='/sym/mnu/mcm/EgovMenuInfoNmUpdateAjax.do' />",
|
||||
// data:{ "menuNo" : nodeId, "menuNm" : newText },
|
||||
// dataType:'json',
|
||||
// success : function(returnData, status) {
|
||||
// if (status == "success") {
|
||||
// alert("메뉴명이 변경되었습니다.");
|
||||
// } else { alert("ERROR"); }
|
||||
// },
|
||||
// error : function(request , status, error) {
|
||||
// alert("메뉴명이 변경이 실패되었습니다.");
|
||||
// },
|
||||
// complete : function () {
|
||||
// data.instance.refresh();
|
||||
// deleteLodingBar();
|
||||
// }
|
||||
// });
|
||||
// } else {
|
||||
// data.instance.refresh();
|
||||
// }
|
||||
// }
|
||||
} else {/* 메뉴 추가 */
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
/* Tree 모두 열기 */
|
||||
console.log('!! : ', $("#rank_organization").jstree().element.context.innerHTML)
|
||||
}
|
||||
|
||||
function loadProcess() {
|
||||
|
||||
$.ajax({
|
||||
type : "POST"
|
||||
, url : "<c:url value='/uss/rnt/EgovRankDataLoad.do'/>"
|
||||
, data : JSON.stringify({
|
||||
codeId : "C0050"
|
||||
})
|
||||
, dataType : 'json'
|
||||
, async : false
|
||||
, processData : false
|
||||
, contentType : "application/json"
|
||||
, cache : false
|
||||
, success : function(returnData) {
|
||||
if (data.status == "OK") {
|
||||
// 초기데이터 생성 후 jsTree 만듬
|
||||
var resultData = fn_makeList(returnData);
|
||||
fn_jsTree(resultData);
|
||||
} else {
|
||||
alert(returnData.data);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
, error : function(e) {
|
||||
console.log("ERROR : ", e);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function addPerson(){
|
||||
var form = $('<form id="payform"></form>');
|
||||
form.append($('<input/>', {type: 'hidden', name: 'mltApprSeq', value: 'test'}));
|
||||
form.appendTo('body');
|
||||
commonPopWindowopenForm("/uss/rnt/popup/EgovDepartmentManagePop.do" , "550", "520", "addPersonPopup", form);
|
||||
form.remove();
|
||||
}
|
||||
</script>
|
||||
<style type="text/css">
|
||||
.tbType02 tbody tr td .tbType01 thead th,
|
||||
.tbType02 tbody tr td .tbType01 tbody td {text-align:center;}
|
||||
.tbType02 tbody tr td .tbType01 tbody td .btnType04 {font-size:16px;}
|
||||
.tbType02 tbody tr td .btn_wrap {margin:15px 0 10px;}
|
||||
</style>
|
||||
<title>부서관리</title>
|
||||
</head>
|
||||
<body>
|
||||
<form name="searchForm" method="get" action="<c:url value='/sym/mnu/mcm/EgovMenuCreatSelectJtree.do'/>" >
|
||||
<input name="authorCode" type="hidden" value="ROLE_ADMIN" />
|
||||
<input name="seCd" type="hidden" value="" />
|
||||
<input name="searchNm" type="hidden" value="" />
|
||||
</form>
|
||||
<form name="menuForm" id="menuForm" >
|
||||
<input type="hidden" id="existChildNode" name="existChildNode" value="N" />
|
||||
<input type="hidden" name="emplyrId" id="emplyrId" /><!-- 담당자ID -->
|
||||
|
||||
<!-- cont -->
|
||||
<div class="cont_wrap">
|
||||
|
||||
<div class="box">
|
||||
|
||||
<!-- cont_tit -->
|
||||
<div class="cont_tit">
|
||||
<h2>부서관리</h2>
|
||||
<ul class="cont_nav">
|
||||
<li class="home"><a href="/"><i></i></a></li>
|
||||
<li>
|
||||
<p>조직관리</p>
|
||||
</li>
|
||||
<li><span class="cur_nav">부서관리</span></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- //cont_tit -->
|
||||
|
||||
|
||||
<div class="cont">
|
||||
|
||||
<div class="menu_wrap">
|
||||
<div class="menu_area">
|
||||
<div class="btn_wrap">
|
||||
<button type="button" class="btnType02 all_open" onclick="$('#rank_organization').jstree('open_all' );">모두열기</button>
|
||||
<button type="button" class="btnType03 all_close" onclick="$('#rank_organization').jstree('close_all');">모두닫기</button>
|
||||
</div>
|
||||
<div class="menu_list" id="rank_organization" class="jstree_orgChart">
|
||||
<!-- <ul> -->
|
||||
<!-- <li>직급 -->
|
||||
<!-- <ul> -->
|
||||
<!-- <li id="child_node_1" data-info="infoTest" value="child1">Child node 1</li> -->
|
||||
<!-- <li>Child node 2</li> -->
|
||||
<!-- </ul> -->
|
||||
<!-- </li> -->
|
||||
<!-- </ul> -->
|
||||
</div>
|
||||
</div>
|
||||
<div class="menu_detail">
|
||||
<p class="menu_detail_tit">부서 상세</p>
|
||||
<table class="tbType02">
|
||||
<colgroup>
|
||||
<col style="width: 215px;">
|
||||
<col style="width: auto;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th><span>부서코드</span></th>
|
||||
<td>
|
||||
<input type="text" name="depCode" id="depCode" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><span>부서명</span></th>
|
||||
<td>
|
||||
<input type="text" name="depName" id="depName" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><span>부서명</span></th>
|
||||
<td>
|
||||
<select name="depHighCode" id="depHighCode">
|
||||
<option value="분쟁조정본부">분쟁조정본부</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><span>부서설명</span></th>
|
||||
<td>
|
||||
<input type="text" name="depDesc" id="depDesc" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><span>사용/미사용</span></th>
|
||||
<td>
|
||||
<select name="depUseStus" id="depUseStus">
|
||||
<option value="사용">사용</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><span>소속인원</span></th>
|
||||
<td>
|
||||
<div class="tbType01">
|
||||
<table>
|
||||
<colgroup>
|
||||
<col style="width:80px;" />
|
||||
<col style="width:110px;" />
|
||||
<col style="width:120px;" />
|
||||
<col style="width:auto;" />
|
||||
<col style="width:120px;" />
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>번호</th>
|
||||
<th>성명</th>
|
||||
<th>직책</th>
|
||||
<th>전화번호</th>
|
||||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>1</td>
|
||||
<td>홍길동</td>
|
||||
<td>부서장</td>
|
||||
<td>010-1234-5678</td>
|
||||
<td>
|
||||
<button type="button" class="btnType04">소속삭제</button>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="btn_wrap btn_layout01">
|
||||
<div class="area_left"></div>
|
||||
<div class="area_right">
|
||||
<button type="button" class="btnType01" onclick="addPerson();">인원추가</button>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<!-- btn_wrap -->
|
||||
<div class="btn_wrap btn_layout01">
|
||||
<div class="area_left">
|
||||
|
||||
</div>
|
||||
<div class="area_right">
|
||||
<button type="button" class="btnType04" id="deleteBtn" onClick="fn_delete(); return false;">삭제</button>
|
||||
<button type="button" class="btnType06" id="saveBtn" onClick="fn_save(); return false;">저장</button>
|
||||
</div>
|
||||
</div>
|
||||
<!-- //btn_wrap -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- //cont -->
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
@ -0,0 +1,77 @@
|
||||
<!DOCTYPE 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="ui" uri="http://egovframework.gov/ctl/ui"%>
|
||||
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
|
||||
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<script type="text/javascript">
|
||||
function fncGoClose() {
|
||||
self.close();
|
||||
}
|
||||
</script>
|
||||
<style type="text/css">
|
||||
.search_form select {width:100px;background-image:url(/kccadrPb/adm/image/icon_select.png);background-position:calc(100% - 15px) center;background-repeat:no-repeat;vertical-align:middle;}
|
||||
.search_form .btnType02 {height:38px;vertical-align:middle;}
|
||||
.pop_tbType02 {margin:20px 0 0;}
|
||||
.btn_wrap {text-align:center;}
|
||||
</style>
|
||||
<title>관리자 검색</title>
|
||||
</head>
|
||||
<body>
|
||||
<div class="area_popup">
|
||||
<div class="cont_popup">
|
||||
<ul class="search_form">
|
||||
<select name="depRank" id="depRank">
|
||||
<option value="직급">직급</option>
|
||||
</select>
|
||||
<input type="text" name="depName" id="depName" />
|
||||
<button type="button" class="btnType02">검색</button>
|
||||
</ul>
|
||||
|
||||
<table class="pop_tbType02">
|
||||
<colgroup>
|
||||
<col style="width:40px;">
|
||||
<col style="width:60px;">
|
||||
<col style="width:100px;">
|
||||
<col style="width:120px;">
|
||||
<col style="width:auto;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th><input type="checkbox" name="" id="" /></th>
|
||||
<th>번호</th>
|
||||
<th>성명</th>
|
||||
<th>직책</th>
|
||||
<th>부서명</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td><input type="checkbox" name="" id="" /></td>
|
||||
<td>1</td>
|
||||
<td>홍길동</td>
|
||||
<td>부서장</td>
|
||||
<td>-</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><input type="checkbox" name="" id="" /></td>
|
||||
<td>2</td>
|
||||
<td>홍길동</td>
|
||||
<td>팀장</td>
|
||||
<td>등록임치팀</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="btn_wrap">
|
||||
<button type="button" class="btnType06">추가</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
Loading…
Reference in New Issue
Block a user