423 lines
16 KiB
Plaintext
423 lines
16 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" %>
|
|
<%
|
|
ArrayList userMenuList = new ArrayList();
|
|
userMenuList = (ArrayList)request.getAttribute("userMenuList");
|
|
%>
|
|
<!DOCTYPE html>
|
|
<html lang="ko">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
<title>PLM</title>
|
|
|
|
<style>
|
|
/*
|
|
.menus_off{
|
|
color:#fff; padding: 5px 10px; font-size:11px; background-color:#F29661; border-radius:3px;
|
|
}
|
|
.menus_on{
|
|
color:#fff; padding: 5px 10px; font-size:11px; background-color:#B3A7A7; border-radius:3px;
|
|
}
|
|
*/
|
|
/* */
|
|
.menus_off{
|
|
/*
|
|
color:#000; //black
|
|
*/
|
|
color:#373740; /* dark gray로 변경 */
|
|
font-size:13px;
|
|
text-decoration: none;
|
|
padding: 8px 12px;
|
|
display: block;
|
|
border-left: 3px solid transparent;
|
|
transition: all 0.3s ease;
|
|
}
|
|
.menus_on{
|
|
color:#1159bc;
|
|
font-size:13.1px;
|
|
font-weight: bold;
|
|
background-color: #f0f7ff;
|
|
border-left: 3px solid #1159bc;
|
|
text-decoration: none;
|
|
padding: 8px 12px;
|
|
display: block;
|
|
}
|
|
.smenu{
|
|
font-weight:bold;
|
|
}
|
|
|
|
/* 메뉴 구조 개선 */
|
|
.main_menu {
|
|
border-bottom: 1px solid #eee;
|
|
cursor: pointer;
|
|
}
|
|
.main_menu:hover .smenu {
|
|
background-color: #f5f5f5;
|
|
}
|
|
.menu2 {
|
|
background-color: #fafafa;
|
|
border-bottom: 1px solid #e0e0e0;
|
|
margin-left: 15px;
|
|
cursor: pointer;
|
|
}
|
|
.menu2:hover .smenu {
|
|
background-color: #e8f4fd;
|
|
}
|
|
.menu3 {
|
|
background-color: #f0f0f0;
|
|
border-bottom: 1px solid #d0d0d0;
|
|
margin-left: 30px;
|
|
cursor: pointer;
|
|
}
|
|
.menu3:hover .smenu {
|
|
background-color: #e0f2fe;
|
|
}
|
|
|
|
/* 메뉴 접기/펼치기 아이콘 */
|
|
.menu-toggle-icon {
|
|
float: right;
|
|
margin-top: 2px;
|
|
font-size: 12px;
|
|
color: #666;
|
|
}
|
|
</style>
|
|
|
|
<script type="text/javascript">
|
|
$(function(){
|
|
$(document).ready(function () {
|
|
|
|
//메뉴 슬라이드토글
|
|
$("[objType=menuObj]").on('click', function(){
|
|
var url = $(this).attr("url");
|
|
var menuId = $(this).attr("id");
|
|
var menuObjId = $(this).attr("menuObjId");
|
|
if("" != url){
|
|
url = url +"?menuObjId="+menuObjId;
|
|
$(window.parent.frames['contents_page'].document.location).attr("href",url);
|
|
}else{
|
|
$(".main_menu").click(function(){
|
|
var menuKey = $(this).attr("menuObjid");
|
|
$(".menu2").css({display:"none"});
|
|
$("[parentObjid="+menuKey+"]").css({display:"block"});
|
|
});
|
|
}
|
|
});
|
|
|
|
$(".menu2").hide();
|
|
//$(".menu2").show();
|
|
|
|
$('.main_menu').on('click', function(){
|
|
var menuObjId = $(this).attr("menuObjId");
|
|
$(".menu2").not($("[parentObjid="+menuObjId+"]")).slideUp();
|
|
$("[parentObjid="+menuObjId+"]").slideToggle();
|
|
|
|
//$(".menu2").css({display:"none"});
|
|
//$("[parentObjid="+menuObjId+"]").css({display:"block"});
|
|
});
|
|
|
|
//선택된 메뉴에 다른 스타일을 준다
|
|
$("#menu>.menu2>a").click(function(){
|
|
$("#menu>.menu2>a").css({backgroundColor:"rgba( 255, 255, 255, 0 )" , color : "#000"});
|
|
$(this).css({color : "#1159bc"});
|
|
});
|
|
|
|
$(".smenu").click(function(){
|
|
$(".menus_on").removeClass('menus_on').addClass('menus_off'); //이전 클릭한 메뉴 원복
|
|
$(this).removeClass('menus_off');
|
|
$(this).addClass('menus_on');
|
|
|
|
//var firstLink = $('#menu a').first();
|
|
fnm_changeContentsLocation($(this).attr("url"), $(this).attr("menuObjId"), this);
|
|
});
|
|
});
|
|
});
|
|
|
|
function fn_alert(){
|
|
alert("menu.jsp");
|
|
}
|
|
function fn_initMenuArea(){
|
|
$("#menu").empty();
|
|
}
|
|
|
|
function fnm_changeContentsLocation(url, menuObjId, obj){
|
|
|
|
if("" != url){
|
|
|
|
//$(".on").removeClass('on'); //이전 클릭한 메뉴 원복
|
|
//obj.className = "on";
|
|
//obj.classList.add("on");
|
|
//$(".menus_on").removeClass('menus_on').addClass('menus_off'); //이전 클릭한 메뉴 원복
|
|
//$(this).removeClass('menus_off');
|
|
//$(this).addClass('menus_on');
|
|
|
|
var qPositionIdx = url.indexOf('?');
|
|
if(qPositionIdx > -1){
|
|
url = url +"&menuObjId="+menuObjId;
|
|
}else{
|
|
url = url +"?menuObjId="+menuObjId;
|
|
}
|
|
$(window.parent.frames['contents_page'].document.location).attr("href",url);
|
|
}else{
|
|
//$(".menu2").css({display:"none"});
|
|
//$("[parentObjid="+menuObjId+"]").css({display:"block"});
|
|
}
|
|
}
|
|
|
|
function add_menu(objid, subMenuObjid, onlyViewMenu){
|
|
//Swal.fire("add_menu : " + objid + ":" + subMenuObjid + ":" + onlyViewMenu);
|
|
|
|
var menu ="";
|
|
if(fnc_isNotEmpty(objid)){
|
|
$.ajax({
|
|
url:"/main/getmenu.do",
|
|
type:"POST",
|
|
data:{"MENUOBJID":objid},
|
|
dataType:"json",
|
|
async:false,
|
|
success:function(data){
|
|
if(data.RESULT.length>0){
|
|
for(var i=0;i<data.RESULT.length;i++){
|
|
//menu +="<div class='main_menu' menuObjId="+data.RESULT[i].OBJID+"><span><a href='javascript:fnm_changeContentsLocation(\""+data.RESULT[i].MENU_URL+"\",\""+data.RESULT[i].OBJID+"\")' url='"+data.RESULT[i].MENU_URL+"' objType='menuObj' menuObjId='"+data.RESULT[i].OBJID+"'>"+data.RESULT[i].MENU_NAME_KOR+"</a></span></div>";
|
|
/*
|
|
if((fnc_isEmpty(subMenuObjid) && i==0) || !fnc_isEmpty(subMenuObjid) && subMenuObjid == data.RESULT[i].OBJID){
|
|
menu +="<div class='main_menu' menuObjId="+data.RESULT[i].OBJID+"><span><a href='javascript:fnm_changeContentsLocation(\""+data.RESULT[i].MENU_URL+"\",\""+data.RESULT[i].OBJID+"\", this)' class='smenu menus_on' url='"+data.RESULT[i].MENU_URL+"' objType='menuObj' menuObjId='"+data.RESULT[i].OBJID+"'>"+data.RESULT[i].MENU_NAME_KOR+"</a></span></div>";
|
|
if(!onlyViewMenu) fnm_changeContentsLocation(data.RESULT[i].MENU_URL, data.RESULT[i].OBJID);
|
|
}else{
|
|
*/
|
|
var lev = data.RESULT[i].LEVEL;
|
|
var menuClass = "main_menu";
|
|
var menuUrl = fnc_checkNull(data.RESULT[i].MENU_URL);
|
|
var hasChildren = false;
|
|
|
|
// 하위 메뉴가 있는지 확인
|
|
for(var j = 0; j < data.RESULT.length; j++) {
|
|
if(data.RESULT[j].PARENT_OBJ_ID == data.RESULT[i].OBJID) {
|
|
hasChildren = true;
|
|
break;
|
|
}
|
|
}
|
|
|
|
var toggleIcon = hasChildren && fnc_isEmpty(menuUrl) ? '<span class="menu-toggle-icon">▶</span>' : '';
|
|
|
|
//console.log(lev);
|
|
if(fnc_isNotEmpty(lev) && Number(lev) <= 2){
|
|
menuClass = "main_menu";
|
|
menu +="<div class='"+menuClass+"' menuObjId="+data.RESULT[i].OBJID+" parentObjid="+data.RESULT[i].PARENT_OBJ_ID+"><span><a href='javascript:fnm_changeContentsLocation(\""+data.RESULT[i].MENU_URL+"\",\""+data.RESULT[i].OBJID+"\", this)' class='smenu menus_off' url='"+data.RESULT[i].MENU_URL+"' objType='menuObj' menuObjId='"+data.RESULT[i].OBJID+"'>"+data.RESULT[i].MENU_NAME_KOR+toggleIcon+"</a></span></div>";
|
|
}else if(fnc_isNotEmpty(lev) && Number(lev) == 3){
|
|
menuClass = "menu2";
|
|
menu +="<div class='"+menuClass+"' menuObjId="+data.RESULT[i].OBJID+" parentObjid="+data.RESULT[i].PARENT_OBJ_ID+"><span><a href='javascript:fnm_changeContentsLocation(\""+data.RESULT[i].MENU_URL+"\",\""+data.RESULT[i].OBJID+"\", this)' class='smenu menus_off' url='"+data.RESULT[i].MENU_URL+"' objType='menuObj' menuObjId='"+data.RESULT[i].OBJID+"'>"+data.RESULT[i].MENU_NAME_KOR+toggleIcon+"</a></span></div>";
|
|
}else if(fnc_isNotEmpty(lev) && Number(lev) >= 4){
|
|
menuClass = "menu3";
|
|
menu +="<div class='"+menuClass+"' menuObjId="+data.RESULT[i].OBJID+" parentObjid="+data.RESULT[i].PARENT_OBJ_ID+"><span><a href='javascript:fnm_changeContentsLocation(\""+data.RESULT[i].MENU_URL+"\",\""+data.RESULT[i].OBJID+"\", this)' class='smenu menus_off' url='"+data.RESULT[i].MENU_URL+"' objType='menuObj' menuObjId='"+data.RESULT[i].OBJID+"'>"+data.RESULT[i].MENU_NAME_KOR+"</a></span></div>";
|
|
}
|
|
//menu +="<div class='main_menu' menuObjId="+data.RESULT[i].OBJID+"><span><a href='' class='smenu menus_off' url='"+data.RESULT[i].MENU_URL+"' objType='menuObj' menuObjId='"+data.RESULT[i].OBJID+"'>"+data.RESULT[i].MENU_NAME_KOR+"</a></span></div>";
|
|
//}
|
|
}
|
|
}
|
|
},
|
|
error: function(jqxhr, status, error){
|
|
}
|
|
});
|
|
}
|
|
|
|
$('#menu').addClass('clickable');
|
|
$("#menu").append(menu);
|
|
|
|
//var firstLink = $('#menu a').first();
|
|
//fnm_changeContentsLocation(firstLink.attr("url"));
|
|
|
|
$(".main_menu").click(function(){
|
|
|
|
var smenu = $(this).find(".smenu");
|
|
var url = $(smenu).attr("url");
|
|
var menuObjId = $(smenu).attr("menuObjId");
|
|
var toggleIcon = $(this).find(".menu-toggle-icon");
|
|
|
|
if($(smenu).hasClass('menus_on')){
|
|
//return;
|
|
}else{
|
|
$(".menu2").not($("[parentObjid="+menuObjId+"]")).slideUp();
|
|
$(".menu3").slideUp(); // 3단계 메뉴도 닫기
|
|
$("[parentObjid="+menuObjId+"]").slideToggle();
|
|
|
|
// 아이콘 회전 효과
|
|
$(".menu-toggle-icon").text("▶");
|
|
if($("[parentObjid="+menuObjId+"]").is(":visible")) {
|
|
toggleIcon.text("▼");
|
|
}
|
|
}
|
|
|
|
$(".menus_on").removeClass('menus_on').addClass('menus_off'); //이전 클릭한 메뉴 원복
|
|
$(smenu).removeClass('menus_off');
|
|
$(smenu).addClass('menus_on');
|
|
|
|
//var firstLink = $('#menu a').first();
|
|
if(fnc_isNotEmpty(url)){
|
|
//alert('aa');
|
|
fnm_changeContentsLocation(url, menuObjId, this);
|
|
|
|
if(url.toUpperCase().indexOf('/DASHBOARD.DO') > -1){ //대시보드 전체화면
|
|
parent.frames["fToggle"].fntg_changeSizeS();
|
|
}else{
|
|
parent.frames["fToggle"].fntg_changeSizeM();
|
|
}
|
|
}else{
|
|
//alert('bb');
|
|
parent.frames["fToggle"].fntg_changeSizeM();
|
|
var menu2 = $("[parentObjid="+menuObjId+"]")[0];
|
|
if(menu2) {
|
|
smenu = $(menu2).find(".smenu");
|
|
$(menu2).trigger("click");
|
|
url = $(smenu).attr("url");
|
|
menuObjId = $(smenu).attr("menuObjId");
|
|
fnm_changeContentsLocation(url, menuObjId, menu2);
|
|
}
|
|
}
|
|
});
|
|
|
|
// 2단계 메뉴 클릭 이벤트
|
|
$("#menu").on("click", ".menu2", function(event){
|
|
var smenu = $(this).find(".smenu");
|
|
var url = $(smenu).attr("url");
|
|
var menuObjId = $(smenu).attr("menuObjId");
|
|
var toggleIcon = $(this).find(".menu-toggle-icon");
|
|
|
|
// 3단계 메뉴 토글
|
|
$(".menu3").not($("[parentObjid="+menuObjId+"]")).slideUp();
|
|
$("[parentObjid="+menuObjId+"]").slideToggle();
|
|
|
|
// 아이콘 회전 효과
|
|
if(toggleIcon.length > 0) {
|
|
$(".menu2 .menu-toggle-icon").text("▶");
|
|
if($("[parentObjid="+menuObjId+"]").is(":visible")) {
|
|
toggleIcon.text("▼");
|
|
}
|
|
}
|
|
|
|
$(".menus_on").removeClass('menus_on').addClass('menus_off');
|
|
$(smenu).removeClass('menus_off');
|
|
$(smenu).addClass('menus_on');
|
|
|
|
if(fnc_isNotEmpty(url)){
|
|
fnm_changeContentsLocation(url, menuObjId, this);
|
|
}
|
|
|
|
$("#menu>.menu2>span>a").css({backgroundColor:"rgba( 255, 255, 255, 0 )" , color : "#000"});
|
|
$(this).find("span>a").css({color : "#1159bc"});
|
|
|
|
// 이벤트 전파 방지
|
|
event.stopPropagation();
|
|
});
|
|
|
|
// 3단계 메뉴 클릭 이벤트
|
|
$("#menu").on("click", ".menu3", function(event){
|
|
var smenu = $(this).find(".smenu");
|
|
var url = $(smenu).attr("url");
|
|
var menuObjId = $(smenu).attr("menuObjId");
|
|
|
|
$(".menus_on").removeClass('menus_on').addClass('menus_off');
|
|
$(smenu).removeClass('menus_off');
|
|
$(smenu).addClass('menus_on');
|
|
|
|
if(fnc_isNotEmpty(url)){
|
|
fnm_changeContentsLocation(url, menuObjId, this);
|
|
}
|
|
|
|
// 이벤트 전파 방지
|
|
event.stopPropagation();
|
|
});
|
|
|
|
if(!onlyViewMenu){
|
|
if(fnc_isEmpty(subMenuObjid)){
|
|
$('#menu a').first().trigger("click");
|
|
}else{
|
|
$(".smenu").each(function(){
|
|
if(!fnc_isEmpty(subMenuObjid)){
|
|
var menuObjId = $(this).attr("menuObjId");
|
|
if(menuObjId == subMenuObjid){
|
|
//fnm_changeContentsLocation($(this).attr("url"), $(this).attr("menuObjId"), this);
|
|
$(this).trigger("click");
|
|
}
|
|
}
|
|
});
|
|
}
|
|
}else{
|
|
sel_menu(objid, subMenuObjid, onlyViewMenu);
|
|
}
|
|
}
|
|
|
|
function sel_menu(objid, subMenuObjid, onlyViewMenu){
|
|
|
|
//Swal.fire("sel_menu - " + objid + ":" + subMenuObjid + ":" + onlyViewMenu);
|
|
|
|
$(".menus_on").removeClass('menus_on').addClass('menus_off'); //이전 클릭한 메뉴 원복
|
|
|
|
if(!onlyViewMenu){
|
|
if(!fnc_isEmpty(subMenuObjid)){
|
|
$(".smenu").each(function(){
|
|
var menuObjId = $(this).attr("menuObjId");
|
|
if(menuObjId == subMenuObjid){
|
|
$(this).addClass('menus_on');
|
|
//fnm_changeContentsLocation($(this).attr("url"), $(this).attr("menuObjId"), this);
|
|
//$(this).trigger("click");
|
|
}
|
|
});
|
|
}
|
|
}
|
|
}
|
|
|
|
</script>
|
|
</head>
|
|
<body id="menuback_w" style="height:100%;overflow-y: hidden;">
|
|
<form name="menuForm" action="" method="post">
|
|
<!--
|
|
<div style="background:#f5f5f5;color:#000;font-size:11px;text-align:center;padding:5px;line-height:15px">Integrated Information<br/> Management System </div>
|
|
-->
|
|
<div style="height:1400px;overflow: hidden;">
|
|
<!--
|
|
<section id="comm_container">
|
|
<aside class="favoritCont" style="height:100%">
|
|
<div class="faovriteListCont mScrollV mCustomScrollbar _mCS_2 mCS_no_scrollbar"><div id="mCSB_2" class="mCustomScrollBox mCS-light mCSB_vertical mCSB_inside" style="max-height: none;" tabindex="0"><div id="mCSB_2_container" class="mCSB_container mCS_y_hidden mCS_no_scrollbar_y" style="position:relative; top:0; left:0;" dir="ltr"><div id="mCSB_2" class="mCustomScrollBox mCS-light mCSB_vertical mCSB_inside" style="max-height: none;" tabindex="0"><div id="mCSB_2_container" class="mCSB_container mCS_y_hidden mCS_no_scrollbar_y" style="position:relative; top:0; left:0;" dir="ltr">
|
|
<ul id="quickContainer" class="favoriteList"></ul>
|
|
</div><div id="mCSB_2_scrollbar_vertical" class="mCSB_scrollTools mCSB_2_scrollbar mCS-light mCSB_scrollTools_vertical" style="display: none;"><a href="https://www.e-iris.com/mail/layout/mail_Mail.do?CLSYS=mail&CLMD=user&CLBIZ=Mail#" class="mCSB_buttonUp" oncontextmenu="return false;"></a><div class="mCSB_draggerContainer"><div id="mCSB_2_dragger_vertical" class="mCSB_dragger" style="position: absolute; min-height: 0px; height: 0px; top: 0px;" oncontextmenu="return false;"><div class="mCSB_dragger_bar" style="line-height: 0px;"></div></div><div class="mCSB_draggerRail"></div></div><a href="https://www.e-iris.com/mail/layout/mail_Mail.do?CLSYS=mail&CLMD=user&CLBIZ=Mail#" class="mCSB_buttonDown" oncontextmenu="return false;"></a></div></div></div><div id="mCSB_2_scrollbar_vertical" class="mCSB_scrollTools mCSB_2_scrollbar mCS-light mCSB_scrollTools_vertical"><div class="mCSB_draggerContainer"><div id="mCSB_2_dragger_vertical" class="mCSB_dragger" style="position:absolute;" oncontextmenu="return false;"><div class="mCSB_dragger_bar"></div></div><div class="mCSB_draggerRail"></div></div></div></div></div>
|
|
<ul id="quickSetContainer" class="favorite_set clear"><li> <a class="btnFavAdd">즐겨찾기 추가</a></li></ul>
|
|
</aside>
|
|
</section>
|
|
-->
|
|
|
|
<div style="float:left;width:20px;height:100%;background:#606060;">
|
|
</div>
|
|
|
|
<div id="menu" style="float:left;width:100%;margin-left:5px">
|
|
<%-- <%
|
|
for(int i=0;i<userMenuList.size();i++){
|
|
HashMap menuMap = (HashMap)userMenuList.get(i);
|
|
String menuDesc = CommonUtils.checkNull(menuMap.get("menu_desc"));
|
|
String menuKorName = CommonUtils.checkNull(menuMap.get("menu_name_kor"));
|
|
String menuObjid = CommonUtils.checkNull(menuMap.get("objid"));
|
|
String parentObjid = CommonUtils.checkNull(menuMap.get("parent_obj_id"));
|
|
String menuUrl = CommonUtils.checkNull(menuMap.get("menu_url"));
|
|
String lev = CommonUtils.checkNull(menuMap.get("lev"));
|
|
/* String menuSeq = CommonUtils.checkNull(menuMap.get("SEQ")); */
|
|
/* String menuMaxSeq = CommonUtils.checkNull(menuMap.get("MAX_SEQ"));
|
|
String menuMinSeq = CommonUtils.checkNull(menuMap.get("MIN_SEQ")); */
|
|
|
|
if("2".equals(lev)){
|
|
%>
|
|
<div class="main_menu" menuObjId="<%=menuObjid%>"><span><a href="#" url="<%=menuUrl%>" objType="menuObj" menuObjId="<%=menuObjid%>"><%=menuKorName%></a></span></div>
|
|
<%
|
|
}else if("3".equals(lev)){
|
|
%>
|
|
<div class="menu2" parentObjid="<%=parentObjid%>" menuType="12"><a href="#" url="<%=menuUrl%>" objType="menuObj" menuObjId="<%=menuObjid%>"><%=menuKorName%></a></div>
|
|
<%
|
|
}
|
|
}
|
|
%> --%>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</body>
|
|
</html>
|