디자인 수정 반영

This commit is contained in:
2025-10-15 14:43:56 +09:00
parent a95069a5cd
commit 4c84ae5db2
8 changed files with 775 additions and 690 deletions

View File

@@ -11,7 +11,7 @@ ArrayList userMenuList = new ArrayList();
userMenuList = (ArrayList)request.getAttribute("userMenuList");
%>
<!DOCTYPE html>
<html>
<html style="height: 100%; overflow: hidden; margin: 0; padding: 0;">
<head>
<meta charset="utf-8">
<title><%=Constants.SYSTEM_NAME %></title>
@@ -26,17 +26,25 @@ userMenuList = (ArrayList)request.getAttribute("userMenuList");
}
*/
.menu_off{
color:#000;
font-size:14px;
font-weight:normal;
color:#fff !important; padding: 2px 3px; font-size:9px; background-color:#0011ff; border-radius:2px;
display: inline-block; min-width: 40px; text-align: center; margin: 0px;
transition: all 0.3s ease; text-decoration: none !important; border: none;
cursor: pointer;
}
.menu_on{
color:#B3A7A7;
font-size:15px;
font-weight:bold;
color:#fff !important; padding: 2px 3px; font-size:9px; background-color:#c4c4f4; border-radius:2px;
display: inline-block; min-width: 40px; text-align: center; margin: 0px;
transition: all 0.3s ease; text-decoration: none !important; border: none;
cursor: pointer;
}
.menu_off:hover {
background-color: #c4c4f4 !important;
text-decoration: none !important;
color: #fff !important;
}
</style>
<link rel="stylesheet" href="/css/basic.css">
<script src="/js/jquery-1.11.3.min.js"></script>
<script src="/js/html5shiv.js"></script>
<!-- //datepicker -->
@@ -83,16 +91,51 @@ $(function(){
fn_registDetailPopup(userId);
});
$(".menu").click(function(){
var menuObjid = $(this).attr("menuObjid");
$(".menu_on").removeClass('menu_on').addClass('menu_off'); //이전 클릭한 메뉴 원복
$(this).removeClass('menu_off');
$(this).addClass('menu_on');
$(".menu").click(function(){
// 모든 메뉴를 off 스타일로 변경
$(".menu").css({
'background-color': '#0011ff',
'color': '#fff'
}).removeClass('menu_on').addClass('menu_off');
// 클릭된 메뉴를 on 스타일로 변경
$(this).css({
'background-color': '#c4c4f4',
'color': '#fff'
}).removeClass('menu_off').addClass('menu_on');
var menuObjid = $(this).attr("menuObjId");
// 안전하게 메뉴 처리
try {
if(parent.frames["contentsFS"] && parent.frames["contentsFS"].frames["menu_page"]) {
var menuFrame = parent.frames["contentsFS"].frames["menu_page"];
if(menuFrame.fn_initMenuArea && menuFrame.add_menu) {
menuFrame.fn_initMenuArea();
menuFrame.add_menu(menuObjid);
}
}
} catch(e) {
console.log("Menu frame not ready:", e);
}
});
parent.frames["contentsFS"].frames["menu_page"].fn_initMenuArea();
parent.frames["contentsFS"].frames["menu_page"].add_menu(menuObjid);
});
// 메뉴 hover 효과
$(".menu").hover(
function() {
if (!$(this).hasClass('menu_on')) {
$(this).css('background-color', '#E08550');
}
},
function() {
if (!$(this).hasClass('menu_on')) {
$(this).css('background-color', '#F29661');
}
}
);
$(".btnApprovalList").click(function(){
fn_goMyTaskMyApproval();
@@ -162,7 +205,31 @@ function fn_goFirstMenu(){
if($(".menu") && $(".menu").eq(0)){
var menuObjId = $(".menu").eq(0).attr("menuObjId");
//alert(menuObjId); -84984128(scm)
fn_goMenu(menuObjId);
// 모든 메뉴를 off 스타일로 변경
$(".menu").css({
'background-color': '#0011ff',
'color': '#fff'
}).removeClass('menu_on').addClass('menu_off');
// 첫 번째 메뉴를 on 스타일로 변경
$(".menu").eq(0).css({
'background-color': '#c4c4f4',
'color': '#fff'
}).removeClass('menu_off').addClass('menu_on');
// 안전하게 메뉴 처리
try {
if(parent.frames["contentsFS"] && parent.frames["contentsFS"].frames["menu_page"]) {
var menuFrame = parent.frames["contentsFS"].frames["menu_page"];
if(menuFrame.fn_initMenuArea && menuFrame.add_menu) {
menuFrame.fn_initMenuArea();
menuFrame.add_menu(menuObjId);
}
}
} catch(e) {
console.log("Menu frame not ready:", e);
}
}
}
function fn_goMyTask(subMenuObjid, onlyViewMenu){
@@ -175,37 +242,43 @@ function fn_goDashboard(subMenuObjid, onlyViewMenu){
fn_goMenu(menuobjid, subMenuObjid, onlyViewMenu);
}
function sel_menu(menuobjid, subMenuObjid, onlyViewMenu){
parent.frames["contentsFS"].frames["menu_page"].sel_menu(menuobjid, subMenuObjid, onlyViewMenu);
// 왼쪽 프레임 제거로 인해 더 이상 사용하지 않음
// parent.frames["contentsFS"].frames["menu_page"].sel_menu(menuobjid, subMenuObjid, onlyViewMenu);
console.log("sel_menu 호출됨 - 드롭다운 메뉴 방식으로 변경됨");
}
function fn_goMenu(menuobjid, subMenuObjid, onlyViewMenu){
if(fnc_isEmpty(menuobjid)){
return;
}
//$(".menu[menuobjid="+menuobjid+"]").trigger("click");
fn_selTopMenu(menuobjid);
/*
if(parent && parent.parent && parent.parent.frames["headerFS"] && typeof(parent.parent.frames["headerFS"].fn_goMyTask) == "function" ){
parent.parent.frames["headerFS"].fn_goMyTask();
}
*/
// 드롭다운 메뉴 방식으로 변경 - 왼쪽 프레임 제거됨
// 메뉴 클릭시 해당 메뉴의 첫 번째 하위 메뉴로 이동하거나 기본 페이지로 이동
$(".menu[menuObjId='" + menuobjid + "']").trigger("click");
/* 기존 왼쪽 프레임 방식 제거
parent.frames["contentsFS"].frames["menu_page"].fn_initMenuArea();
parent.frames["contentsFS"].frames["menu_page"].add_menu(menuobjid, subMenuObjid, onlyViewMenu);
//top.frames["contentsFS"].frames["menu_page"].fn_initMenuArea();
//top.frames["contentsFS"].frames["menu_page"].add_menu(menuobjid, subMenuObjid, onlyViewMenu);
*/
}
var menuLoaded = false;
function fn_firstCallMenu(){
if( parent
&& parent.frames["contentsFS"]
&& parent.frames["contentsFS"].frames["menu_page"]
&& parent.frames["contentsFS"].frames["menu_page"].fn_initMenuArea ){
//fn_goMyTask();
//alert('1');
fn_goFirstMenu();
clearInterval(_intervalId);
// 이미 로드되었으면 중복 실행 방지
if(menuLoaded) return;
// 왼쪽 프레임이 복구되었으므로 기존 방식으로 첫 번째 메뉴 호출
if(parent && parent.frames["contentsFS"] && parent.frames["contentsFS"].frames["menu_page"]){
// 메뉴 프레임이 완전히 로드될 때까지 기다림
var menuFrame = parent.frames["contentsFS"].frames["menu_page"];
if(menuFrame.fn_initMenuArea && menuFrame.add_menu) {
fn_goFirstMenu();
clearInterval(_intervalId);
menuLoaded = true;
}
}
}
@@ -259,6 +332,7 @@ function openAdminMngPop(){
window.open("/admin/adminMainFS.do","<%=Constants.SYSTEM_NAME %>","width=1630,height=950,menuBar=no,status=no");
}
//결재건수조회
function fn_setApprovalCnt(){
$.ajax({
@@ -285,72 +359,63 @@ function fn_setApprovalCnt(){
</script>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body style="height:100%;overflow-y: hidden;">
<body style="height:100%;overflow: hidden; margin: 0; padding: 0;">
<form name="HeaderForm" action="" method="post">
<input type="hidden" name="action" id="action">
<header>
<div style="height:35px;">
<header style="background-color: #fff; border-bottom: 1px solid #ddd; padding: 0; height: 50px; overflow: hidden;">
<div style="height:50px; display: flex; align-items: center;">
<h1><a href="#" id="logo" class="mainLogo_new"></a></h1>
<h1 style="margin: 0; padding: 0 20px;"><a href="#" id="logo" class="mainLogo_new"></a></h1>
<table>
<table style="width: 100%; border-collapse: collapse;">
<colgroup>
<col width="*%"/>
<col width="*%"/>
<col width="*%"/>
<col width="*%"/>
<col width="*%"/>
<col width="*"/>
<col width="400px"/>
</colgroup>
<tr>
<tr style="height: 50px; vertical-align: middle;">
<%
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)){
%>
<%--
<td style=""><a href="#" style="" class="menu menu_off" menuObjId="<%=menuObjid%>"><%=menuKorName%></a></td>
<div class="main_menu" menuObjId="<%=menuObjid%>"><span><a href="#" url="<%=menuUrl%>" objType="menuObj" menuObjId="<%=menuObjid%>"><%=menuKorName%></a></span></div>
--%>
<%
}
}
%>
<td class="work_notice" style="position:relative;">
<span id="blink" style="padding: 2px 10px 5px 10px;border-radius:0;" class="btnApprovalList blink_none">
<span class="bell_back"><img src="" height='20' width='20' /></span>
<label class="notice_no">0</label>&nbsp;개의 결재가 있습니다.</span>
</td>
<!--
<td style="font-size:11px; "><a href="#" onclick="javascript:fn_openBoardList('notice');" style="color:#fff;background-color:#676868; border-radius:0; padding:4px 10px 5px 10px;">공지사항</a></td>
-->
<td style="font-size:11px; "><a href="#" onclick="javascript:fn_openBoardList('qna');" style="color:#fff;background-color:#676868; border-radius:0; padding:4px 10px 5px 10px;">Q&A</a></td>
<td style="font-size:11px; "><a href="#" id="manualDownload" style="color:#fff;background-color:#676868; border-radius:0; padding:4px 10px 5px 10px;">Manual Download</a></td>
<%--
<td class="admin"><%if("plm_admin".equals(userId)){%><a href="#" onclick="javascript:openAdminMngPop();" style="color:#fff; padding: 5px 10px; font-size:11px; background-color:#75a0b6; border-radius:3px;">Admin</a><%}%></td>
<td class="admin"><a href="#" class="" data-USER_ID="<%=userId %>"><img src="/images/top-icon05.png"><%=person.getDeptName() %> <%=person.getUserName() %> <%=person.getPositionName() %></a></td>
--%>
<td class="crew" style="">
<a href="#" class="btnDetail" data-USER_ID="<%=userId %>">
<span style=" color:#fff; padding: 4.5px 10px; font-size:11px; background-color:#676868; border-radius:0;">
<!-- 메뉴 영역 -->
<td style="text-align: left; padding-left: 10px;">
<%
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)){
%>
<a href="#" class="menu menu_off" menuObjId="<%=menuObjid%>" style="background-color: #0015ff; color: #fff; padding: 3px 6px; font-size: 10px; border-radius: 3px; text-decoration: none; display: inline-block; min-width: 50px; text-align: center; margin-right: 4px;"><%=menuKorName%></a>
<%
}
}
%>
</td>
<!-- 우측 버튼 영역 -->
<td style="text-align: right; padding-right: 10px;">
<span id="blink" style="padding: 3px 6px; border-radius:3px; font-size:10px; background-color:#ff6b35; color:#fff; cursor:pointer; margin-right: 5px;" class="btnApprovalList blink_none">
결재 <label class="notice_no">0</label></span>
<a href="#" onclick="javascript:fn_openBoardList('qna');" style="color:#fff;background-color:#676868; border-radius:2px; padding:2px 4px; text-decoration: none; display: inline-block; font-size:9px; margin-right: 5px;">Q&A</a>
<a href="#" id="manualDownload" style="color:#fff;background-color:#676868; border-radius:2px; padding:2px 4px; text-decoration: none; display: inline-block; font-size:9px; margin-right: 5px;">Manual Download</a>
<a href="#" class="btnDetail" data-USER_ID="<%=userId %>" style="text-decoration: none; margin-right: 5px;">
<span style="color:#fff; padding: 2px 4px; font-size:9px; background-color:#676868; border-radius:2px; display: inline-block;">
<%=person.getDeptName() %> <%=person.getUserName() %> <%=person.getPositionName() %>
</span>
</a>
</td>
<td style=""><a href="#" style="color:#fff; padding: 4.5px 10px; font-size:11px; background-color:#676868; border-radius:0;" class="btnLogout">Logout</a></td>
<a href="#" style="color:#fff; padding: 2px 4px; font-size:9px; background-color:#676868; border-radius:2px; text-decoration: none; display: inline-block;" class="btnLogout">Logout</a>
</td>
<%--
<td style=""><a href="#" id="manualDownload" style="color:#fff; padding: 5px 10px; font-size:11px; background-color:#38426b; border-radius:3px;">Manual Download</a></td>
<td class="admin"><%if("plm_admin".equals(userId)){%><a href="#" onclick="javascript:openAdminMngPop();" style="color:#fff; padding: 5px 10px; font-size:11px; background-color:#75a0b6; border-radius:3px;">Admin</a><%}%></td>
@@ -384,8 +449,10 @@ function fn_setApprovalCnt(){
if("2".equals(lev)){
%>
<li class="" data-menu-id="417" data-menu-target="Current" data-menu-alias="" data-menu-alias2="" data-menu-url="">
<a href="#" style="" class="menu menu_off" menuObjId="<%=menuObjid%>"><%=menuKorName%></a>
<%-- <div class="main_menu" menuObjId="<%=menuObjid%>"><span><a href="#" url="<%=menuUrl%>" objType="menuObj" menuObjId="<%=menuObjid%>"><%=menuKorName%></a></span></div> --%>
<a href="#" class="menu menu_off waves-effect waves-light" menuObjId="<%=menuObjid%>">
<span><%=menuKorName%></span>
</a>
<%-- 하위 메뉴는 Materialize 드롭다운으로 동적 로드됨 --%>
</li>
<%
}