fairnet/src/main/webapp/WEB-INF/jsp/sym/mnu/mpm/EgovMenuCreatSelectJtree.jsp

936 lines
32 KiB
Plaintext

<%--
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() {
jstreeInit();
});
var newNodeId = "";
function jstreeInit() {
$('#itn_organization').jstree({
"core" : {
"animation" : 0,
"multiple" : false,
"check_callback" : true,
"themes" : { "stripes" : true },
"data" : {
"url" : "<c:url value='/sym/mnu/mcm/EgovMenuCreatSelectJtreeAjax.do'/>",
"dataType" : "json",
"data" : function (node) {
console.log("node.id :: ", node.id);
return {'id' : node.id, 'authorCode' : $('#authorCode').val() };
}
}
},
"types" : {
"#" : {
/* "max_children" : 4, */
"max_depth" : 5,
"valid_children" : ["root"]
},
"root" : {
"icon" : "glyphicon glyphicon-flash",
"valid_children" : ["default"]
},
"default" : {
"valid_children" : ["default","file"]
},
"file" : {
"icon" : "jstree-file",
"valid_children" : []
}
},
"plugins" : [
"contextmenu", "dnd", "search",
"types"
]
})
.bind('loaded.jstree', function(e, data) {
$('#itn_organization').jstree('open_node' , $('#0') );
var tree = $.jstree.reference('itn_organization');
tree.select_node(tree.get_node('#').children[0]);
})
.on('select_node.jstree', function (e, data) {
if(!$('.organ_rightbox').is(":visible")){
$(".organ_rightbox").show();
}
/* 메뉴 선택 */
var menuNo = data.node.id;
var upperMenuId = data.node.parent;
//하위 메뉴가 있으면 메뉴코드 변경못하게
if(data.node.children.length > 0){
$('#menuNo').attr("readonly",true);
$('#existChildNode').val("Y");
}else{
$('#menuNo').attr("readonly",false);
$('#existChildNode').val("N");
}
/* 메뉴 선택 */
var menuNo = data.node.id;
//메뉴 추가시 자동 선택되게
if(newNodeId !=""){
menuNo = newNodeId ;
newNodeId = "";
$('#'+data.instance.get_node(menuNo).a_attr.id).trigger("click") //클릭 이벤트 발생
}
$("#menuTopNm").text(data.node.text);
$.ajax({
type:"POST",
url:"<c:url value='/sym/mnu/mcm/EgovMenuInfoAjax.do' />",
data:{ "menuNo" : menuNo , "authorCode" : $('#authorCode').val()},
dataType:'json',
//timeout:(1000*30),
success : function(returnData, status) {
if (status == "success") {
var menuManageVO = returnData.menuManageVO;
var menuUserTypeList = returnData.menuUserTypeList;
var authorList = returnData.authorList;
fn_select_menuNo(menuManageVO, menuUserTypeList, authorList);
} else { alert("ERROR"); }
},
error : function(request , status, error) {
},
complete : function () {
deleteLodingBar();
}
});
})
.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 {/* 메뉴 추가 */
}
})
.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('create_node.jstree', function(e, data) {
if (confirm("메뉴를 추가하시겠습니까?")){
var instance = data.instance;
var menuNm = data.text;
var upperMenuId = data.node.parent;
var menuOrdr = 1;
var childrenNodes = instance.get_node(upperMenuId).children;
// 하위 메뉴 있을 시 마지막 부서 sort_ord + 1
if (childrenNodes.length > 1) {
//var lastChildrenNode = instance.get_node(childrenNodes[childrenNodes.length - 2]);
//sortOrd = lastChildrenNode.li_attr.sortOrd + 1;
menuOrdr = childrenNodes.length ;
}
$.ajax({
type:"POST",
url:"<c:url value='/sym/mnu/mcm/EgovMenuInfoInsertAjax.do' />",
data:{ "menuNm" : menuNm, "upperMenuId" : upperMenuId, "menuOrdr" : menuOrdr , "authorCode" : $('#authorCode').val() },
dataType:'json',
//timeout:(1000*30),
success : function(returnData, status) {
if (returnData.status == "success") {
alert("메뉴가 추가 되었습니다.");
//fn_select_menuNo(returnData.menuManageVO, returnData.menuManageVO.menuUserType);
newNodeId = returnData.menuManageVO.menuNo ;
}else if(returnData.status == "dupl"){
alert("중복된 아이디가 있습니다.\n 중복된 아이디변경/삭제후 다시 추가해 주세요\n"+ "("+returnData.menuManageResultVO.menuCours+")");
}else{
alert("메뉴 추가가 실패하였습니다.");
}
},
error : function(request , status, error) {
alert("메뉴 추가가 실패되었습니다.")
},
complete : function () {
data.instance.refresh();
deleteLodingBar();
}
});
}else{
data.instance.refresh();
}
})
.on('move_node.jstree', function (e, data) {
/* 메뉴 위치 변경 */
var instance = data.instance;
var menuNo = data.node.id;
var childrenNodes = instance.get_node(menuNo).children;
if (confirm("메뉴 위치를 변경하시겠습니까?" )){
//var partIdx = data.node.id;
var upperMenuId = data.parent;
var menuOrdr = data.position + 1;
var sortOver = "A" ;
$.ajax({
type:"POST",
url:"<c:url value='/sym/mnu/mcm/EgovMenuInfoMoveAjax.do' />",
data:{ "menuNo" : menuNo, "upperMenuId" : upperMenuId, "menuOrdr" : menuOrdr , "authorCode" : $('#authorCode').val()},
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();
}
}) ;
}
//메뉴 정보 세팅
function fn_select_menuNo(menuManageVO, menuUserTypeList, authorList){
var tmpHtml = "";
if(menuManageVO!=null){
$('#menuNo').val(menuManageVO.menuNo);
$('#tmp_Id').val(menuManageVO.menuNo);
$('#menuCours').text(menuManageVO.menuCours);
$('#menuOrdr').val(menuManageVO.menuOrdr);
$('#menuNm').val(menuManageVO.menuNm);
$('#menuDc').val(menuManageVO.menuDc);
$('#upperMenuIdText').text(menuManageVO.upperMenuId);
$('#upperMenuId').val(menuManageVO.upperMenuId);
$('#progrmFileNm').val(menuManageVO.progrmFileNm);
/* $('#progrmFileNmText').text(menuManageVO.progrmFileNm); */
$('#tmp_Name').val(menuManageVO.progrmFileNm);
$('#dc_Name').val(menuManageVO.menuDc);
$('#relateImageNm').val(menuManageVO.relateImageNm);
$('#relateImagePath').val(menuManageVO.relateImagePath);
$('#userType').val(menuManageVO.userType);
$('#url').val(menuManageVO.url);
$('#useYn').val(menuManageVO.useYn);
$('#satisYn').val(menuManageVO.satisYn);
if(""!=menuManageVO.emplyrId) $('#emplyrId').val(menuManageVO.emplyrId); //담당자 세팅
if(""!=menuManageVO.emplyrIdTxt) $('#emplyrIdTxt').val(menuManageVO.emplyrIdTxt); //담당자 세팅
if(menuManageVO.satisYn == null){
$('#satisYn').val('N')
}
$("#menuTopNm").text( menuManageVO.menuNm );
$("#progrmHtmlFileId").val( menuManageVO.progrmHtmlFileId );
$("#progrmBbsId").val(menuManageVO.progrmBbsId);
$('#progrmFileNm_tmp').val(menuManageVO.progrmFileNm);
var menuType = menuManageVO.menuType ;
if(menuType == "M"){
$("#satisTr").css("display", "none");
}else{
$("#satisTr").css("display", "");
}
if(menuManageVO.progrmFileNm == 'dir' || menuType == 'M'){
$("#menuType").val("M"); //메뉴로 세팅
$('#progrmFileNm').attr("readonly", true);
$('#progrmFileNm_tmp').val("");
$('#url_tmp').val("");
}else{
$("#menuType").val(menuType);
//$('#progrmFileNm').attr("readonly", false);
$('#url_tmp').val(menuManageVO.url);
}
//메뉴타입 설정
initShowUrl('Y');
$('#url').val(menuManageVO.url);
$(".main1_delete_btn").removeAttr("onclick");
$(".main1_delete_btn").attr("onclick", "fn_delete_menuInfo('"+menuManageVO.menuNo+"' , '"+menuManageVO.progrmFileNm+"' );return false;");
$(".main1_save_btn").removeAttr("onclick");
$(".main1_save_btn").attr("onclick", "fn_save_menuInfo('"+menuManageVO.menuNo+"');return false;");
$('.tr_item').remove();
if( ( "P" == $('#menuType').val() || "C" == $('#menuType').val()) && "ROLE_ANONYMOUS"==$('#authorCode').val() ){ //추가 게시판 조회(프로그램/사용자 화면만 조회)
$('#tr_add_bbs').show();
set_bbs();
}else{
$('#tr_add_bbs').hide();
}
$('#htmlComfirm').hide();
if(""!=menuManageVO.progrmHtmlFileId){
$('#htmlComfirm').show();
$('#a_contentLink').attr("onclick" , "htmlComfirm('"+menuManageVO.progrmHtmlFileId+"');")
}
if(menuManageVO.menuNo > 10){
$('#menuOpen').show();
var authorChkList = $("input[name=authorChkList]");
$("input[name=authorChkList]").prop('checked', false);
for(var i = 0 ; i < authorChkList.size() ; i++){
for(var j = 0 ; j < authorList.length ; j++){
if(authorChkList[i].id == authorList[j].authorCode){
authorChkList[i].checked = true;
}
}
}
}else{
$('#menuOpen').hide();
}
}
}
//메뉴 정보 삭제
function fn_delete_menuInfo(menuNo , progrmFileNm ) {
if(menuNo == null || "undefined"== menuNo){
alert("삭제 하려는 메뉴를 먼저 선택해주세요.");
return ;
}
var instance = $('#itn_organization').jstree(true);
if(instance.get_node(menuNo).children.length != 0){
alert("하위 메뉴를 먼저 삭제 후 메뉴를 삭제해 주세요.");
return;
}
if (confirm("메뉴를 삭제 하시겠습니까?")){
$.ajax({
type:"POST",
"url" : "<c:url value='/sym/mnu/mcm/EgovMenuInfoDeleteAjax.do'/>",
data:{ "menuNo" : menuNo , "progrmFileNm" : progrmFileNm , "authorCode" : $('#authorCode').val() },
dataType:'json',
//timeout:(1000*30),
success : function(returnData, status) {
if (returnData.status == "success") {
// 직원 목록 갱신
var instance = $('#itn_organization').jstree(true);
//$("#" + instance.get_node(partIdx).a_attr.id).trigger("click");
alert("메뉴 정보가 삭제 되었습니다.");
$("#itn_organization").jstree("refresh");
fn_init_menuInfo();
} else if(returnData.status == "duplPk"){
alert("삭제하려는 메뉴를 참조하고 있는 메뉴가 있습니다.\n 참조하는 메뉴를 삭제후 다시 시도해 주세요\n"+ "("+returnData.menuManageResultVO.menuCours+")");
}
else {
alert("메뉴 삭제가 실패되었습니다.");
}
},
error : function(request , status, error) {
alert("메뉴 삭제가 실패되었습니다..");
},
complete : function (){
deleteLodingBar();
}
});
}
}
//메뉴정보 init(메뉴 초기화)
function fn_init_menuInfo() {
$("#menuTopNm").text("메뉴선택");
$("#menuForm input[type=text]").val("")
$('#menuCours').text("");
$('#upperMenuIdText').text("");
/* $('#progrmFileNmText').text(""); */
}
//메뉴 초기화
function jstreeRefresh() {
var searchForm = document.searchForm ;
searchForm.authorCode.value = $('#authorCode').val();
searchForm.submit();
}
//메뉴 정보 저장. 등록/수정
function fn_save_menuInfo(menuNo) {
if(menuNo == null || "undefined"== menuNo){
alert("저장 하려는 메뉴를 먼저 메뉴트리에서 생성해 주세요."); return ;
}
var menuForm = document.menuForm;
if(""==menuForm.menuNo.value){
alert("메뉴번호는 필수 값입니다"); return;
}
if(!$.isNumeric(menuForm.menuNo.value)){
alert("메뉴번호는 숫자만 가능합니다."); return;
}
if(!$.isNumeric(menuForm.menuOrdr.value)){
alert("메뉴순서는 숫자만 가능합니다."); return;
}
var menuType = $("#menuType option:selected").val();
if(menuType !="M"){
if($("#progrmFileNm").val() == ""){
alert("프로그램 파일명은 필수 값입니다");
return;
}
}
if(!confirm("저장하시겠습니까?")) return;
var url = "";
url = "<c:url value='/sym/mnu/mcm/EgovMenuInfoUpdateAjax.do'/>";
var params = $(menuForm).serialize();
$.ajax({
type:"POST",
"url":url,
data:params,
dataType:'json',
success : function(returnData, status) {
if (returnData.status == "success") {
alert("메뉴 정보가 저장 되었습니다.");
var instance = $('#itn_organization').jstree(true);
$('#'+instance.get_node($('#tmp_Id').val()).a_attr.id).trigger("click");//이전 메뉴id선택되게
$('#tmp_Id').val($('#menuNo').val());
} else if(returnData.status == "upperDupl"){
alert("상위 메뉴 번호가 있습니다.");
}else if(returnData.status == "dupl"){
alert("이미 사용하고 있는 메뉴 번호가 있습니다.");
}else if(returnData.status == "duplProNm"){
alert("이미 사용하고 있는 프로그램파일명이 있습니다.");
}else if(returnData.status == "authorFail"){
alert("메뉴권한등록에 실패했습니다.");
}else{
alert("ERROR");
}
},
error : function(request , status, error) {
alert("메뉴 정보 저장이 실패되었습니다.");
},
complete : function () {
$("#itn_organization").jstree("refresh");
deleteLodingBar();
}
});
}
//메뉴 초기화
function initShowUrl(init){
var menuType = $("#menuType option:selected").val();
$("#url").val("");
$("#showUrl").hide();
$("#btnContent").hide();
$("#btnBBS").hide();
$('#htmlComfirm').hide();
$('#BBSNameSpan').text("");
if("M" == menuType){ //메뉴
$("#progrmFileNm").val("dir");
$("#url").val("");
$('#progrmFileNm').attr("readonly", true);
}else{
$("#progrmFileNm").val($("#progrmFileNm_tmp").val());
$("#url").val($("#url_tmp").val());
if("P" == menuType){ //프로그램
$('#progrmFileNm').attr("readonly", false);
$("#url").attr("readonly", false);
}else if("C" == menuType ){ //컨텐츠
$('#progrmFileNm').attr("readonly", false);
$("#url").attr("readonly", false);
}else if("B" == menuType){ //게시판
$('#progrmFileNm').attr("readonly", false);
$("#url").attr("readonly", false);
}else if("O" == menuType){ //게시판
$('#progrmFileNm').attr("readonly", false);
$("#url").attr("readonly", false);
}
if(init=='N'){
var instance = $('#itn_organization').jstree(true);
if($('#itn_organization').jstree('get_selected')[0] != null){
if(instance.get_node($('#itn_organization').jstree('get_selected')[0]).children.length != 0){
alert("하위 메뉴가 있을경우는 다른타입으로 변경할수 없습니다.");
return;
}
}
}
$("#showUrl").show();
if("C" == menuType){
$("#btnContent").show();
$("#url").attr("readonly", false);
}else if("B" == menuType){
$("#btnBBS").show();
$("#url").attr("readonly", false);
}
}
}
var docWidth = screen.availWidth;
var docHeight = screen.availHeight;
var scX = window.screenX||window.screenLeft||0;
var scY = window.screenY||window.screenTop||0;
/* ********************************************************
* 게시판목록조회 함수
******************************************************** */
function searchBBSId(obj) {
var popupX = scX + (docWidth - 185) / 2;
var popupY = scY + (docHeight - 195) / 2;
memuPopup = window.open('', 'memuPopup', "width=800, height=730, left="+popupX+", top="+popupY, "location = no","status= no","toolbars= no");
document.searchForm.method = "post";
if("menuAdd"==$(obj).attr('id')){ //추가게시판 버튼 클릭시
document.searchForm.seCd.value = $(obj).attr('id');
document.searchForm.searchNm.value = $(obj).attr('value');
}
document.searchForm.action = "/cop/bbs/EgovBBSIdListSearch.do";
document.searchForm.target = "memuPopup" ;
document.searchForm.submit();
document.searchForm.target = "_self" ;
document.searchForm.action= "/sym/mnu/mcm/EgovMenuCreatSelectJtree.do";
}
/* ********************************************************
* 화면컨텐츠ID 검색 팝업
******************************************************** */
var memuPopup ="";
function searchContentList() {
var popupX = scX + (docWidth - 185) / 2;
var popupY = scY + (docHeight - 195) / 2;
memuPopup = window.open('', 'memuPopup', "width=800, height=730, left="+popupX+", top="+popupY, "location = no","status= no","toolbars= no");
document.searchForm.method = "post";
document.searchForm.action = "/uss/ion/cnt/contentListPopup.do";
document.searchForm.target = "memuPopup" ;
document.searchForm.submit();
document.searchForm.target = "_self" ;
document.searchForm.action= "/sym/mnu/mcm/EgovMenuCreatSelectJtree.do";
}
function onkeyContentName(event){
var tempContentUrl = "/web/content.do?proFn=" ;
if($("#menuType option:selected").val()=="C"){
$("#url").val(tempContentUrl + $("#progrmFileNm").val()) ;
}
}
//행추가
function add_line(bbsInfo){
var eva_temp_tr = $('#temp_tr').clone();
$('#tbl_bbsId').append(eva_temp_tr);
eva_temp_tr.attr('id' , 'tr_bbs').attr('class' , 'tr_item');
{ //변수 변경
var tr_item_length = $('.tr_item').size()-1 ;
eva_temp_tr.find("#temp_bbsTxt").attr('name', eva_temp_tr.find("#temp_bbsTxt").attr('name').replace('[]' , '['+tr_item_length+']' )) ;
eva_temp_tr.find("#temp_bbsTxt").attr('id' , 'bbsTxt_'+tr_item_length) ;
eva_temp_tr.find("#temp_bbsIds").attr('name', eva_temp_tr.find("#temp_bbsIds").attr('name').replace('[]' , '['+tr_item_length+']' )) ;
eva_temp_tr.find("#temp_bbsIds").attr('id' , 'menuAdd_'+tr_item_length) ;
eva_temp_tr.find("#temp_bbsSorts").attr('name' , eva_temp_tr.find("#temp_bbsSorts").attr('name').replace('[]' , '['+tr_item_length+']' ) ) ;
eva_temp_tr.find("#temp_bbsSorts").attr('id' , 'bbsSorts_'+tr_item_length) ;
eva_temp_tr.find("#menuAdd").attr('value' , 'menuAdd_'+tr_item_length ) ;
}
if(null != bbsInfo){
$('#bbsTxt_'+tr_item_length).val(bbsInfo.bbsNm);
$('#bbsSorts_'+tr_item_length).val(bbsInfo.bbsSort);
$('#menuAdd_'+tr_item_length).val(bbsInfo.bbsId);
}
}
//삭제시 배열 초기화
var arrCd = [];
function set_count(){ //tr 세팅
$('.tr_item').each(function(index, item){
$(this).find('input[name^=bbsTxt]').attr('name', 'bbsTxt['+index+']' ).attr('id' , 'bbsTxt_'+index ) ;
$(this).find('input[name^=bbsSorts]').attr('name', 'bbsSorts['+index+']' );
$(this).find('input[name^=bbsIds]').attr('name', 'bbsIds['+index+']' ).attr('id' , 'menuAdd_'+index ) ;
$(this).find('#menuAdd').attr('value' , 'menuAdd_'+index) ;
});
}
var arrDel = []; //1차배열
function delete_line(obj){
$(obj).parent().parent().remove();
set_count();
}
function htmlComfirm(progrmHtmlFileId) {
$.ajax({
type: "POST",
url: "/sym/mnu/mcm/HtmlComfirmAjax.do",
data:{
"cntId": progrmHtmlFileId
},
dataType:'json',
timeout: 600000,
success: function (returnData, status) {
if(status == 'success'){
console.log("sdfsdf");
window.open("/uss/ion/cnt/cntManageInsert.do?cntId="+returnData.cntManageVO.cntId+"&cntDtId="+returnData.cntManageVO.cntDtId);
}else{
//alert("등록에 실패하였습니다.");
return false;
}
},
error: function (e) {
console.log("ERROR : ", e);
alert("등록에 실패하였습니다.");
}
});
}
function set_bbs(){
var frm = document.menuForm;
var data = new FormData(frm);
$.ajax({
type: "POST",
url: "/sym/mnu/mcm/MenuBbsSelectAjax.do",
data: data,
dataType:'json',
processData: false,
contentType: false,
cache: false,
timeout: 600000,
success: function (returnData, status) {
if(status == 'success'){
for(var i = 0 ; i < returnData.boardMasterList.length ; i++){
add_line(returnData.boardMasterList[i]);
}
}else{
alert("등록에 실패하였습니다.");
}
},
error: function (e) {
console.log("ERROR : ", e);
alert("등록에 실패하였습니다.");
}
});
}
</script>
<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_select">
<select name="authorCode" id="authorCode" class="select" onchange="jstreeRefresh(); return false;" title="검색조건선택">
<option value='ROLE_ANONYMOUS' <c:if test="${menuCreatVO.authorCode == 'ROLE_ANONYMOUS' || empty menuCreatVO.authorCode }">selected</c:if>>사용자</option>
<option value='ROLE_ADMIN' <c:if test="${menuCreatVO.authorCode == 'ROLE_ADMIN' }">selected</c:if>>관리자</option>
<c:forEach var="authorList" items="${authorList}" varStatus="status">
<option value='${authorList.authorCode}' <c:if test="${menuCreatVO.authorCode == authorList.authorCode}">selected</c:if>>${authorList.authorCode}</option>
</c:forEach>
</select>
</div> --%>
<div class="menu_wrap">
<div class="menu_area">
<div class="btn_wrap">
<button type="button" class="btnType02 all_open" onclick="$('#itn_organization').jstree('open_all' );">모두열기</button>
<button type="button" class="btnType03 all_close" onclick="$('#itn_organization').jstree('close_node' , $('#0') );">모두닫기</button>
</div>
<div class="menu_list" id="itn_organization" class="jstree_orgChart"></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>
<div id="select_part">
<input type="text" name="menuNo" id="menuNo" />
<input type="hidden" id="tmp_Id" name="tmp_Id"/><!-- 이전메뉴 No -->
</div>
</td>
</tr>
<tr>
<th><span>메뉴명</span></th>
<td>
<input type="text" name="menuNm" id="menuNm" />
<input type="hidden" id="tmp_Name" name="tmp_Name"/><!-- 이전메뉴 이름 -->
</td>
</tr>
<tr>
<th><span>메뉴설명</span></th>
<td>
<input type="text" name="menuDc" id="menuDc" style="width:100%;"/>
<input type="hidden" id="dc_Name" name="dc_Name"/><!-- 이전메뉴 이름 -->
<br/>상세페이지에 대한 제어가 필요한 경우 상세 페이지 주소를 넣으면 된다.
<br/>ex)adjReqMgrRegDetail
</td>
</tr>
<tr>
<th><span>타입</span></th>
<td>
<select name="menuType" id="menuType" title="" onchange="initShowUrl('N'); return false;">
<option value="M" <c:if test="${userSearchVO.menuType == 'M'}">selected="selected"</c:if> >메뉴</option>
<option value="P" <c:if test="${userSearchVO.menuType == 'P'}">selected="selected"</c:if> >프로그램</option>
<option value="C" <c:if test="${userSearchVO.menuType == 'C'}">selected="selected"</c:if> >HTML컨텐츠</option>
<option value="B" <c:if test="${userSearchVO.menuType == 'B'}">selected="selected"</c:if> >게시판</option>
<option value="O" <c:if test="${userSearchVO.menuType == 'O'}">selected="selected"</c:if> >외부링크</option>
</select>
<span>
<a style="display: none;cursor:pointer;" id="btnContent"
target="_blank" title="새창으로" onclick="searchContentList(); return false;"
style="selector-dummy:expression(this.hideFocus=false);" >
<img src="<c:url value='/img/post/serch_img.png' />" alt='컨텐츠ID 검색' width="15" height="15" />
<span style="vertical-align: middle;">(화면컨텐츠ID 검색)</span>
</a>
<span style="display: none;cursor:pointer;padding-left:30px;vertical-align:middle;" id="htmlComfirm">
<a href="#" onclick="htmlComfirm();" id="a_contentLink">확인</a>
</span>
<span id="contentNameSpan" style="color: blue"></span>
<a style="display: none;cursor:pointer;" id="btnBBS"
target="_blank" title="새창으로" onclick="searchBBSId(); return false;"
style="selector-dummy:expression(this.hideFocus=false);" >
<img src="<c:url value='/img/post/serch_img.png' />" alt='게시판ID 검색' width="15" height="15" />
<span style="vertical-align: middle;">(게시판ID 검색)</span>
</a>
<span id="BBSNameSpan" style="color: blue"></span>
<span id="showUrl" style="display: none;" >
<br>
URL <input type="text" name="url" id="url" style="width:100%;"/>
<input type="hidden" id="url_tmp" name="url_tmp"/>
</span>
</td>
</tr>
<tr>
<th><span>상위메뉴번호</span></th>
<td>
<span id="upperMenuIdText"></span>
<input type="hidden" id="upperMenuId" name="upperMenuId"/>
</td>
</tr>
<tr>
<th><span>프로그램파일명</span></th>
<td>
<input type="text" name="progrmFileNm" id="progrmFileNm" readonly="readonly" onkeyup="onkeyContentName(event);" />
<input type="hidden" name="progrmHtmlFileId" id="progrmHtmlFileId" />
<input type="hidden" name="progrmBbsId" id="progrmBbsId" />
<input type="hidden" name="progrmFileNm_tmp" id="progrmFileNm_tmp" />
</td>
</tr>
<tr>
<th><span>메뉴경로</span></th>
<td>
<span id="menuCours">
</span>
</td>
</tr>
<tr>
<th><span>메뉴순서</span></th>
<td>
<input type="text" name="menuOrdr" id="menuOrdr" />
</td>
</tr>
<tr id="menuOpen">
<th><span>메뉴노출</span></th>
<td>
<!-- <select name="useYn" id="useYn" title="" > -->
<!-- </select> -->
<%-- <option value="Y" <c:if test="${userSearchVO.useYn == 'Y'}">selected="selected"</c:if> >사용</option>
<option value="N" <c:if test="${userSearchVO.useYn == 'N'}">selected="selected"</c:if> >미사용</option> --%>
<c:forEach var="authorList" items="${authorList}" varStatus="status">
<div>
<%-- <input type="checkbox" id="${authorList.authorCode}" name="${authorList.authorCode}" value="${authorList.authorCode}"/>
<label for="${authorList.authorCode}"> ${authorList.authorNm} </label> --%>
<input name="authorChkList" id="<c:out value="${authorList.authorCode}"/>" title="Check <c:out value="${status.count}"/>" type="checkbox" value="${authorList.authorCode}"/>
<label for="<c:out value="${authorList.authorCode}"/>" style="position: unset;"><c:out value="${authorList.authorCode}"/></label>
</div>
</c:forEach>
</td>
</tr>
<c:if test="${menuManageVO.authorCode == 'ROLE_ANONYMOUS'}">
<tr id="satisTr">
<th><span>만족도 평가</span></th>
<td>
<select name="satisYn" id="satisYn" title="" >
<option value="Y" <c:if test="${userSearchVO.satisYn == 'Y'}">selected="selected"</c:if> >사용</option>
<option value="N" <c:if test="${userSearchVO.satisYn == 'N'}">selected="selected"</c:if> >미사용</option>
</select>
</td>
</tr>
</c:if>
</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 main1_delete_btn" onClick="fn_delete_menuInfo(); return false;">삭제</button>
<button type="button" class="btnType06 main1_save_btn" onClick="fn_save_menuInfo(); return false;">저장</button>
</div>
</div>
<!-- //btn_wrap -->
</div>
</div>
</div>
<!-- //cont -->
</form>
<table id="eva_temp_table" style="display:none">
<tr id="temp_tr">
<td>
게시판<input type="text" name="bbsTxt[]" id="temp_bbsTxt" style="width:4%;" readonly="readonly">
순서<input type="text" name="bbsSorts[]" id="temp_bbsSorts" style="width:1%;" >
<input type="hidden" name="bbsIds[]" id="temp_bbsIds" style="width:4%;" readonly="readonly">
<input type="button" value="삭제" onclick="delete_line(this);">
<a id="menuAdd" value="bbsIds[]" style="cursor:pointer;" target="_blank" title="새창으로" onclick="searchBBSId(this); return false;">
<img src="/img/post/serch_img.png" alt="게시판ID 검색" width="15" height="15">
<span style="vertical-align: middle;">게시판 검색</span>
</a>
</td>
</tr>
</table>
</body>
</html>