레드마인 #2732
관리자 - 메뉴별 권한관리 페이지, 결재선 팝업
This commit is contained in:
HappyITN 2022-09-23 14:15:34 +09:00
parent 50d3057217
commit d042a36086
9 changed files with 1433 additions and 2 deletions

View File

@ -583,6 +583,16 @@ public class AdjReqMgrOffLineController {
model.addAttribute("list", list);
return "kccadr/adjReqMgrOff/popup/adjReqMgrOffHistoryPopList";
}
/**
* auth : bhkim
* 전자조정신청 목록 화면
* date : 2021.09.111
*/
@RequestMapping("/kccadr/adjReqMgOff/popup/adjReqMgrOffAppReqPop.do")
public String adjReqMgrOffAppReqPop(@ModelAttribute("adjReqMgrOffLineVO") AdjReqMgrOffLineVO adjReqMgrOffLineVO, ModelMap model) throws Exception {
return "kccadr/adjReqMgrOff/popup/adjReqMgrOffAppReqPop";
}
public void decryptInfomation(List<AdjReqMgrOffLineVO> list, AdjReqMgrOffLineVO info){

View File

@ -249,6 +249,31 @@ public class EgovMenuCreateManageController {
return "sym/mnu/mpm/EgovMenuCreatSelectJtree";
}
/* 메뉴생성 세부조회 */
/**
* 메뉴별 권한관리 페이지입니다.
*
* @param menuCreatVO
* MenuCreatVO
* @return 출력페이지정보 "sym/mnu/mcm/EgovMenuCreat"
* @exception Exception
*/
@RequestMapping(value = "/sym/mnu/mcm/EgovMenuAuthoritySelectJtree.do")
public String selectEgovMenuAuthoritySelectJtree(@ModelAttribute("menuCreatVO") MenuCreatVO menuCreatVO, @ModelAttribute("searchVO") ComDefaultVO searchVO,
ModelMap model, MenuManageVO menuManageVO , HttpSession session ) throws Exception {
// 0. Spring Security 사용자권한 처리
if(menuCreatVO.getMenuUserType() == null){
menuCreatVO.setMenuUserType("A"); //사용자 디폴트
}
if(null == menuManageVO.getAuthorCode()) {
menuManageVO.setAuthorCode("ROLE_ANONYMOUS");
}
model.addAttribute("menuCreatVO", menuCreatVO);
return "sym/mnu/mpm/EgovMenuAuthoritySelectJtree";
}
@RequestMapping(value = {"/sym/mnu/mcm/EgovMenuCreatSelectJtreeAjax.do", "/sym/mnu/mcm/EgovMenuQuickSelectJtreeAjax.do" } )
public void EgovMenuCreatSelectJtreeAjax(@ModelAttribute("menuManageVO") MenuManageJTreeVO menuManageVO, ModelMap model,

View File

@ -54,6 +54,14 @@
listForm.action = "<c:url value='/kccadr/adjReqMgOff/adjReqMgrOffDetail.do'/>";
listForm.submit();
}
function AppReq(){
var form = $('<form id="payform"></form>');
form.append($('<input/>', {type: 'hidden', name: 'mltApprSeq', value: 'test'}));
form.appendTo('body');
commonPopWindowopenForm("/kccadr/adjReqMgOff/popup/adjReqMgrOffAppReqPop.do" , "850", "700", "AppReqPopup", form);
form.remove();
}
</script>
<title>조정신청목록</title>
</head>
@ -181,6 +189,7 @@
<!-- //list -->
<div class="btn_wrap btn_layout02">
<button type="button" class="btnType02" onclick="AppReq();">결재 요청 팝업 임시버튼</button>
<button class="btnType02" onclick="fncCreate(); return false;" >등록</button>
</div>

View File

@ -0,0 +1,135 @@
<!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();
}
function btnReset(obj){
$(obj).closest('dd').find('span').html('');
}
function proxyPay(obj){
var proxyPayList = '';
proxyPayList += '<div class="appreq_box pay_box">';
proxyPayList += '<div class="add_box"><button type="button" class="btnType08">추가</button></div>';
proxyPayList += '<div class="list_box">';
proxyPayList += '<dl>';
proxyPayList += '<dt>대결자</dt>';
proxyPayList += '<dd>';
proxyPayList += '<span></span>';
proxyPayList += '<div class="button_box"><button type="button" class="btn_reset">초기화</button></div>';
proxyPayList += '</dd>';
proxyPayList += '</dl>';
proxyPayList += '</div>';
proxyPayList += '</div>';
if($(obj).hasClass('active')){
$(obj).removeClass('active').text('대결').prev('.btn_reset').show();
$(obj).closest('li').find('.pay_box').remove();
}else{
$(obj).addClass('active').text('대결취소').prev('.btn_reset').hide();
$(obj).closest('li').append(proxyPayList);
}
}
</script>
<title>○○○ 결재 요청</title>
</head>
<body>
<div class="area_popup">
<div class="cont_popup">
<div class="menu_select">
<select name="authorCode" id="authorCode" class="select" title="검색조건선택">
<option value="부서별">부서별</option>
</select>
</div>
<div class="menu_wrap appreq_menu_wrap">
<div class="menu_area">
<div class="btn_wrap">
<button type="button" class="btnType02 all_open" onclick="$('#kopost_organization').jstree('open_all' );">모두열기</button>
<button type="button" class="btnType03 all_close" onclick="$('#kopost_organization').jstree('close_node' , $('#0') );">모두닫기</button>
</div>
<div class="menu_list" id="kopost_organization" class="jstree_orgChart"></div>
</div>
<div class="menu_detail">
<ul class="appreq_list">
<li>
<div class="title">팀장</div>
<div class="appreq_box">
<div class="add_box">
<button type="button" class="btnType08">추가</button>
</div>
<div class="list_box">
<dl>
<dt>결재자</dt>
<dd>
<span>홍길동</span>
<div class="button_box">
<button type="button" class="btn_reset" onclick="btnReset(this);">초기화</button>
<button type="button" class="btn_pay" onclick="proxyPay(this);">대결</button>
</div>
</dd>
</dl>
</div>
</div>
</li>
<li>
<div class="title">부서장</div>
<div class="appreq_box">
<div class="add_box">
<button type="button" class="btnType08">추가</button>
</div>
<div class="list_box">
<dl>
<dt>결재자</dt>
<dd>
<span>홍길동</span>
<div class="button_box">
<button type="button" class="btn_reset" onclick="btnReset(this);">초기화</button>
<button type="button" class="btn_pay" onclick="proxyPay(this);">대결</button>
</div>
</dd>
</dl>
</div>
</div>
</li>
<li>
<div class="title">위원장</div>
<div class="appreq_box">
<div class="add_box">
<button type="button" class="btnType08">추가</button>
</div>
<div class="list_box">
<dl>
<dt>결재자</dt>
<dd>
<span>홍길동</span>
<div class="button_box">
<button type="button" class="btn_reset" onclick="btnReset(this);">초기화</button>
<button type="button" class="btn_pay" onclick="proxyPay(this);">대결</button>
</div>
</dd>
</dl>
</div>
</div>
</li>
</ul>
</div>
</div>
<div class="btn_wrap btn_layout04">
<button type="button" class="btnType06" onclick="fncGoClose();">닫기</button>
</div>
</div>
</div>
</body>
</html>

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@ -147,6 +147,9 @@ p+.list_util{width: auto;}
.btnType05:hover{background-color: #f5f5f5; transition: all 0.1s linear;}
.btnType06{min-width: 80px; height: 46px; padding: 0 12px; font-size: 18px; font-weight: 400; background-color: #1b6fcd; color: #fff; border-radius: 5px; transition: all 0.1s linear;}
.btnType06:hover{background-color: #0d5fba; transition: all 0.1s linear;}
.btnType07 {height:46px;padding:0 15px;font-size:18px;font-weight:400;color:#555;border:1px solid #555;border-radius:5px;transition:all 0.1s linear;}
.btnType07:hover {background:#fafafa;}
.btnType08 {display:inline-block;width:95px;height:33px;padding:0 10px;font-size:15px;line-height:30px;text-align:left;color:#666;border:1px solid #d5d5d5;background:url(/kccadrPb/adm/image/icon_btnType08.png) no-repeat right center;border-radius:5px;box-sizing:border-box;}
/* //버튼 타입 */
.btn_wrap .btn_print i{width: 22px; height: 22px; display: inline-block; background-image: url(/kccadrPb/adm/image/btn_print02.png); vertical-align: middle; margin-top: -5px;}
@ -209,6 +212,17 @@ p+.list_util{width: auto;}
.tbType01 tbody td p.status_ing{width: auto; font-size: 15px; border: 1px solid #1b6fcd; border-radius: 25px; color: #1b6fcd; padding: 3px 10px; display: inline-block; vertical-align: middle;}
.tbType01 tbody td .status_req{width: auto; height: auto; font-size: 15px; border: 1px solid #e40000; border-radius: 25px; color: #e40000; padding: 3px 10px; display: inline-block; vertical-align: middle;}
.tbType01 tr td textarea{width: 100%; border: 1px solid #d5d5d5; border-radius: 5px; margin: 15px 0 10px 0; font-size: 18px; color: #222; padding: 15px; box-sizing: border-box; font-family: 'Noto Sans KR', sans-serif;}
.tbType01.list_table {overflow:auto;max-height:510px;border-top:1px solid #000;}
.tbType01.list_table::-webkit-scrollbar {width:4px;height:4px;border:3px solid #fff;}
.tbType01.list_table::-webkit-scrollbar-thumb {width:20px;height:20px;background:#d5d5d5;border-radius:4px;}
.tbType01.list_table table {width:100%;table-layout:fixed;}
.tbType01.list_table table thead {position:sticky;top:0;z-index:1;}
.tbType01.list_table table thead tr th {height:50px;border-right:0 none;border-bottom-color:#d5d5d5;background:#e5e5e5;}
.tbType01.list_table table tbody tr th,
.tbType01.list_table table tbody tr td {height:50px;font-weight:300;border-right:0 none;border-bottom:1px solid #d5d5d5;background:none;}
.tbType01.list_table table tbody tr.depth th {font-weight:400;background:#f5f5f5;}
.tbType01.list_table table tbody tr.depth td {background:#f5f5f5;}
/* //list */
/* 갤러리 리스트 */
@ -323,6 +337,9 @@ table select+button{vertical-align: middle;}
.menu_wrap .menu_detail_tit{font-size: 20px; font-weight: 500; padding-left: 12px; position: relative; margin-bottom: 20px;}
.menu_wrap .menu_detail_tit::before{position: absolute; content: " "; width: 4px; height: 15px; background-color: #ea5404; left: 0; top: 3px; border-radius: 10px;}
.menu_wrap .menu_detail .tbType02{width: 100%;}
.menu_wrap .menu_detail_tit02 {overflow:hidden;line-height:46px;}
.menu_wrap .menu_detail_tit02:before {top:16px;}
.menu_wrap .menu_detail_tit02 .btnType07 {float:right;}
/* //매뉴 트리구조 */
/* 파일 테이블 */

View File

@ -74,6 +74,7 @@
/* //사건번호 변경 */
.cont_popup .btn_wrap button{height: 40px; min-width: 110px;}
.cont_popup .menu_area .btn_wrap button {min-width:auto;height:30px;}
/* 수수료납부금액 */
.fee_popup .tit_text+.tb_tit{margin-top: 30px;}
@ -153,4 +154,21 @@
.popup_tbType01 .req_text::before {top: 16px}
.area_popup table button{height: 30px; vertical-align: middle}
.area_popup table .number_select{width: 100px}
/* //21/11/24 */
/* //21/11/24 */
/* 결재요청 팝업 */
.appreq_menu_wrap .menu_list {width:270px;}
.appreq_menu_wrap .menu_detail {width:calc(100% - 290px);}
.appreq_menu_wrap .appreq_list li {margin:35px 0 0;}
.appreq_menu_wrap .appreq_list li:first-child {margin:0;}
.appreq_menu_wrap .appreq_list li .title {margin:0 0 0 116px;padding:0 0 18px;font-size:18px;color:#222;border-bottom:1px solid #000;}
.appreq_menu_wrap .appreq_list li .appreq_box {overflow:hidden;}
.appreq_menu_wrap .appreq_list li .appreq_box .add_box {float:left;margin:6px 0 0;}
.appreq_menu_wrap .appreq_list li .appreq_box .list_box {float:right;width:calc(100% - 116px);}
.appreq_menu_wrap .appreq_list li .appreq_box .list_box dl:after {content:'';display:block;clear:both;}
.appreq_menu_wrap .appreq_list li .appreq_box .list_box dl dt {float:left;width:100px;height:45px;padding:0 0 0 10px;font-size:16px;line-height:45px;border-bottom:1px solid #d5d5d5;background:#f5f5f5;box-sizing:border-box;}
.appreq_menu_wrap .appreq_list li .appreq_box .list_box dl dd {position:relative;float:left;width:calc(100% - 100px);height:45px;padding:0 0 0 10px;font-size:16px;font-weight:300;line-height:45px;border-bottom:1px solid #d5d5d5;box-sizing:border-box;}
.appreq_menu_wrap .appreq_list li .appreq_box .list_box dl dd .button_box {position:absolute;right:0;top:7px;}
.appreq_menu_wrap .appreq_list li .appreq_box .list_box dl dd .button_box button {float:left;height:31px;margin:0 0 0 8px;padding:0 10px;font-size:15px;line-height:29px;text-align:center;color:#ea5404;border:1px solid #ea5404;background:#fff;border-radius:5px;box-sizing:border-box;}
.appreq_menu_wrap .appreq_list li .appreq_box .list_box dl dd .button_box button.btn_reset {color:#666;border-color:#d5d5d5;}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB