feat: 사용자등록 반영

주소검색 공통 처리
main
minuk926 2 years ago
parent 8a06794b67
commit 148af956b2

@ -0,0 +1,90 @@
package kr.xit.framework.biz.cmm.web;
import javax.annotation.Resource;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
import kr.xit.framework.biz.cmm.service.XitFramePopupService;
import kr.xit.framework.core.constants.FrameworkConstants;
import kr.xit.framework.core.constants.FrameworkConstants.TILES_TYPE;
import kr.xit.framework.core.message.XitMessageSource;
import kr.xit.framework.core.model.XitBaseSearchVO;
/**
*
* @: XIT Controller
* @:
* @author ()
* @since 2002. 2. 2.
* @version 1.0 Copyright(c) XIT All rights reserved.
*/
@Controller
@RequestMapping("/framework/biz/cmm")
public class FrameworkCmmController {
@Resource
private XitFramePopupService xitFramePopupService;
@Resource
private kr.xit.framework.biz.cmm.service.XitFrameUnitService XitFrameUnitService;
@Resource(name = "xitMessageSource")
XitMessageSource xitMessageSource;
@Value("#{prop['Globals.Xit.Pagination.PageUnit']}")
private int PAGE_UNIT;
@Value("#{prop['Globals.Xit.Pagination.PageSize']}")
private int PAGE_SIZE;
/**
* <pre> : </pre>
* @param modelMap
* @return String
* @author:
* @date: 2020. 4. 10.
*/
@GetMapping(value="/popup/ZipSearch")
public String ZipSearch() {
return FrameworkConstants.FRAMEWORK_JSP_BASE_PATH +"cmm/popup/XitZipSearch"+TILES_TYPE.POPUP.getVal();
}
/**
* <pre> : </pre>
* @param modelMap
* @return String
* @author:
* @date: 2020. 4. 10.
*/
@GetMapping(value="/popup/ZipSearchList")
public String ZipSearchList(@ModelAttribute("searchVO") XitBaseSearchVO searchVO , ModelMap modelMap) {
searchVO.setPageUnit(PAGE_UNIT);
searchVO.setPageSize(PAGE_SIZE);
/** pageing */
PaginationInfo paginationInfo = new PaginationInfo();
paginationInfo.setCurrentPageNo(searchVO.getPageIndex());
paginationInfo.setRecordCountPerPage(searchVO.getPageUnit());
paginationInfo.setPageSize(searchVO.getPageSize());
searchVO.setFirstIndex(paginationInfo.getFirstRecordIndex());
searchVO.setLastIndex(paginationInfo.getLastRecordIndex());
searchVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
modelMap.addAttribute("resultList", xitFramePopupService.findListZip(searchVO));
int totCnt = xitFramePopupService.findListZipTotCnt(searchVO);
paginationInfo.setTotalRecordCount(totCnt);
modelMap.addAttribute("paginationInfo", paginationInfo);
return FrameworkConstants.FRAMEWORK_JSP_BASE_PATH +"cmm/popup/XitZipSearchList"+TILES_TYPE.POPUP.getVal();
}
}

@ -49,7 +49,7 @@ public class XitFramePopupController {
*/ */
@RequestMapping(value="ZipSearch", method={RequestMethod.GET, RequestMethod.POST}) @RequestMapping(value="ZipSearch", method={RequestMethod.GET, RequestMethod.POST})
public String ZipSearch(ModelMap modelMap) { public String ZipSearch(ModelMap modelMap) {
return FrameworkConstants.FRAMEWORK_JSP_BASE_PATH +"common/popup/XitZipSearch"+TILES_TYPE.POPUP.getVal(); return FrameworkConstants.FRAMEWORK_JSP_BASE_PATH +"cmm/popup/XitZipSearch"+TILES_TYPE.POPUP.getVal();
} }
/** /**
* <pre> : </pre> * <pre> : </pre>
@ -80,7 +80,7 @@ public class XitFramePopupController {
paginationInfo.setTotalRecordCount(totCnt); paginationInfo.setTotalRecordCount(totCnt);
modelMap.addAttribute("paginationInfo", paginationInfo); modelMap.addAttribute("paginationInfo", paginationInfo);
return FrameworkConstants.FRAMEWORK_JSP_BASE_PATH +"common/popup/XitZipSearchList"+TILES_TYPE.POPUP.getVal(); return FrameworkConstants.FRAMEWORK_JSP_BASE_PATH +"cmm/popup/XitZipSearchList"+TILES_TYPE.POPUP.getVal();
} }

@ -18,6 +18,7 @@ import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
@ -96,6 +97,7 @@ public class UserMgtController {
} }
@PostMapping(value = "/addUser")
public ModelAndView addUser( public ModelAndView addUser(
@ModelAttribute final XitUserInfoVO userInfoVO @ModelAttribute final XitUserInfoVO userInfoVO
,final BindingResult bindingResult){ ,final BindingResult bindingResult){
@ -108,6 +110,7 @@ public class UserMgtController {
return mav; return mav;
} }
@PostMapping(value = "/modifyUser")
public ModelAndView modifyUser( public ModelAndView modifyUser(
@ModelAttribute final XitUserInfoVO userInfoVO @ModelAttribute final XitUserInfoVO userInfoVO
,final BindingResult bindingResult){ ,final BindingResult bindingResult){
@ -120,6 +123,7 @@ public class UserMgtController {
return mav; return mav;
} }
@PostMapping(value = "/removeUser")
public ModelAndView removeUser(final String uniqId){ public ModelAndView removeUser(final String uniqId){
ModelAndView mav = new ModelAndView(FrameworkConstants.JSON_VIEW); ModelAndView mav = new ModelAndView(FrameworkConstants.JSON_VIEW);

@ -17,7 +17,9 @@
<security:http pattern="/images" security="none"/> <security:http pattern="/images" security="none"/>
<security:http pattern="/js" security="none"/> <security:http pattern="/js" security="none"/>
<security:http pattern="/resource" security="none"/> <security:http pattern="/resource" security="none"/>
<!--security:http pattern="/framework/biz/cmm/cache/**" security="none"/--> <security:http pattern="/framework/biz/cmm/cache/**" security="none"/>
<security:http pattern="/framework/biz/mng/usr/addUser.do" security="none"/>
<security:http pattern="/framework/biz/mng/usr/mngUserMgtPopup.do" security="none"/>
<security:http pattern="\A/WEB-INF/jsp/.*\Z" request-matcher="regex" security="none"/> <security:http pattern="\A/WEB-INF/jsp/.*\Z" request-matcher="regex" security="none"/>
<!-- 전자정부 프레임워크 사용 시 --> <!-- 전자정부 프레임워크 사용 시 -->

@ -30,7 +30,10 @@
<!-- [JS] SheetJS --> <!-- [JS] SheetJS -->
<!-- <script src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.16.1/xlsx.full.min.js" ></script> --> <!-- <script src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.16.1/xlsx.full.min.js" ></script> -->
<script type="text/javascript" src="${ctx}/resources/3rd-party/sheetJS/js/xlsx.full.min.js" ></script> <script type="text/javascript" src="${ctx}/resources/3rd-party/sheetJS/js/xlsx.full.min.js" ></script>
<script type="text/javascript" src="${ctx}/resources/3rd-party/sheetJS/js/FileSaver.min.js" ></script> <!-- [선택]클라이언트 저장기능 필요 시 --> <script type="text/javascript" src="${ctx}/resources/3rd-party/sheetJS/js/FileSaver.min.js" ></script>
<script type="text/javascript" src="${ctx}/resources/framework/js/cmm/cmmPopup.js"></script>
<!-- [선택]클라이언트 저장기능 필요 시 -->
<!-- [JS] tableExport --> <!-- [JS] tableExport -->
<%-- <script src="${ctx}/resources/3rd-party/tableExport/js/FileSaver.min.js" ></script> <!-- [선택]클라이언트 저장기능 필요 시 --> --%> <%-- <script src="${ctx}/resources/3rd-party/tableExport/js/FileSaver.min.js" ></script> <!-- [선택]클라이언트 저장기능 필요 시 --> --%>
<%-- <script src="${ctx}/resources/3rd-party/tableExport/js/xlsx.core.min.js" ></script> <!-- [선택]XLSX(Excel 2007+XML 형식) 형식으로 Export 시 필요 --> --%> <%-- <script src="${ctx}/resources/3rd-party/tableExport/js/xlsx.core.min.js" ></script> <!-- [선택]XLSX(Excel 2007+XML 형식) 형식으로 Export 시 필요 --> --%>

@ -124,7 +124,7 @@ table {
<%--@elvariable id="userManageVO" type=""--%> <%--@elvariable id="userManageVO" type=""--%>
<form:form commandName="userManageVO" action="${pageContext.request.contextPath}/_anonymous_/login/UserReg_insert_proc.do" name="userManageVO" method="post" > <form:form commandName="userManageVO" action="${pageContext.request.contextPath}/_anonymous_/login/UserReg_insert_proc.do" name="userManageVO" method="post" >
<!-- 우편번호검색 --> <!-- 우편번호검색 -->
<input type="hidden" name="zip_url" value="<c:url value='/_cmmn_/popup/ZipSearchList.do'/>" /> <input type="hidden" name="zip_url" value="<c:url value='/framework/biz/cmm/popup/ZipSearchList.do'/>" />
<div class="modify_user"> <div class="modify_user">
<table class="tbl02"> <table class="tbl02">

@ -10,7 +10,7 @@
<script type="text/javascript" src="<c:url value="/_anonymous_/login/validator.do"/>"></script> <script type="text/javascript" src="<c:url value="/_anonymous_/login/validator.do"/>"></script>
<validator:javascript formName="entrprsManageVO" staticJavascript="false" xhtml="true" cdata="false"/> <validator:javascript formName="entrprsManageVO" staticJavascript="false" xhtml="true" cdata="false"/>
<form:form commandName="entrprsManageVO" name="entrprsManageVO" method="post" action="${pageContext.request.contextPath}/_anonymous_/login/UserReg_insert_proc.do"> <form:form commandName="entrprsManageVO" name="entrprsManageVO" method="post" action="${pageContext.request.contextPath}/_anonymous_/login/UserReg_insert_proc.do">
<input type="hidden" name="zip_url" value="<c:url value='/_cmmn_/popup/ZipSearchList.do'/>" /> <input type="hidden" name="zip_url" value="<c:url value='/framework/biz/cmm/popup/ZipSearchList.do'/>" />
<input type="hidden" name="userSe" value="ENT"/> <input type="hidden" name="userSe" value="ENT"/>
<div class="popup" style="min-width: 700px;"> <div class="popup" style="min-width: 700px;">

@ -10,7 +10,7 @@
<script type="text/javascript" src="<c:url value="/_anonymous_/login/validator.do"/>"></script> <script type="text/javascript" src="<c:url value="/_anonymous_/login/validator.do"/>"></script>
<validator:javascript formName="mberManageVO" staticJavascript="false" xhtml="true" cdata="false" /> <validator:javascript formName="mberManageVO" staticJavascript="false" xhtml="true" cdata="false" />
<form:form commandName="mberManageVO" name="mberManageVO" method="post" action="${pageContext.request.contextPath}/_anonymous_/login/UserReg_insert_proc.do"> <form:form commandName="mberManageVO" name="mberManageVO" method="post" action="${pageContext.request.contextPath}/_anonymous_/login/UserReg_insert_proc.do">
<input type="hidden" name="zip_url" value="<c:url value='/_cmmn_/popup/ZipSearchList.do'/>" /> <input type="hidden" name="zip_url" value="<c:url value='/framework/biz/cmm/popup/ZipSearchList.do'/>" />
<input type="hidden" name="userSe" value="GNR" /> <input type="hidden" name="userSe" value="GNR" />
<div class="popup" style="min-width: 700px;"> <div class="popup" style="min-width: 700px;">

@ -11,7 +11,7 @@
<validator:javascript formName="userManageVO" staticJavascript="false" xhtml="true" cdata="false"/> <validator:javascript formName="userManageVO" staticJavascript="false" xhtml="true" cdata="false"/>
<form:form commandName="userManageVO" name="userManageVO" method="post" action="${pageContext.request.contextPath}/_anonymous_/login/UserReg_insert_proc.do"> <form:form commandName="userManageVO" name="userManageVO" method="post" action="${pageContext.request.contextPath}/_anonymous_/login/UserReg_insert_proc.do">
<!-- 우편번호검색 --> <!-- 우편번호검색 -->
<input type="hidden" name="zip_url" value="<c:url value='/_cmmn_/popup/ZipSearchList.do'/>" /> <input type="hidden" name="zip_url" value="<c:url value='/framework/biz/cmm/popup/ZipSearchList.do'/>" />
<input type="hidden" name="userSe" value="USR"/> <input type="hidden" name="userSe" value="USR"/>

@ -16,4 +16,4 @@
<iframe name="ifcal" src="<c:url value='/sym/cmm/EgovCcmZipSearchList.do'/>" style="width:500px; height:325px;" frameborder=0></iframe> <iframe name="ifcal" src="<c:url value='/sym/cmm/EgovCcmZipSearchList.do'/>" style="width:500px; height:325px;" frameborder=0></iframe>
--> -->
<!-- FIREFOX --> <!-- FIREFOX -->
<iframe name="ifcal" title="우편번호찾기 팝업" src="<c:url value='/_cmmn_/popup/XitZipSearchList.do'/>" style="width:560px; height:340px;" frameborder=0></iframe> <iframe name="ifcal" title="우편번호찾기 팝업" src="<c:url value='/framework/biz/cmm/popup/XitZipSearchList.do'/>" style="width:560px; height:340px;" frameborder=0></iframe>

@ -17,7 +17,7 @@
******************************************************** */ ******************************************************** */
function fn_xit_pageview(pageNo){ function fn_xit_pageview(pageNo){
document.listForm.pageIndex.value = pageNo; document.listForm.pageIndex.value = pageNo;
document.listForm.action = "<c:url value='/_cmmn_/popup/ZipSearchList.do'/>"; document.listForm.action = "<c:url value='/framework/biz/cmm/popup/ZipSearchList.do'/>";
document.listForm.submit(); document.listForm.submit();
} }
/* ******************************************************** /* ********************************************************
@ -53,7 +53,7 @@ function fn_xit_return_Zip(zip,addr){
<!-- 자바스크립트 경고 태그 --> <!-- 자바스크립트 경고 태그 -->
<noscript class="noScriptTitle">자바스크립트를 지원하지 않는 브라우저에서는 일부 기능을 사용하실 수 없습니다.</noscript> <noscript class="noScriptTitle">자바스크립트를 지원하지 않는 브라우저에서는 일부 기능을 사용하실 수 없습니다.</noscript>
<form name="listForm" action="<c:url value='/_cmmn_/popup/ZipSearchList.do'/>" method="post"> <form name="listForm" action="<c:url value='/framework/biz/cmm/popup/ZipSearchList.do'/>" method="post">
<input name="searchCondition" type="hidden" size="35" value="4" /> <input name="searchCondition" type="hidden" size="35" value="4" />
<table style="width:550px" cellpadding="8" class="table-search" border="0"> <table style="width:550px" cellpadding="8" class="table-search" border="0">
<tr> <tr>

@ -1,8 +1,5 @@
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <%@ 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="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="form" uri="http://www.springframework.org/tags/form" %>
<meta http-equiv="X-UA-Compatible" content="IE=10" /> <meta http-equiv="X-UA-Compatible" content="IE=10" />
@ -10,252 +7,241 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html> <html>
<head> <head>
<meta http-equiv="Content-Language" content="ko" > <meta http-equiv="Content-Language" content="ko" >
<title>로그인</title> <title>로그인</title>
<link href="<c:url value='/'/>resources/framework/css/common.css" rel="stylesheet" type="text/css" > <link href="<c:url value='/'/>resources/framework/css/common.css" rel="stylesheet" type="text/css" >
<link href="<c:url value='/'/>resources/framework/css/login.css" rel="stylesheet" type="text/css" > <link href="<c:url value='/'/>resources/framework/css/login.css" rel="stylesheet" type="text/css" >
<style type="text/css"> <style>
.captcha_wrap { .captcha_wrap {
margin-top: 10px; margin-top: 10px;
text-align: right; text-align: right;
} }
.captcha_wrap button { .captcha_wrap button {
padding: 5px; padding: 5px;
font-weight: bold; font-weight: bold;
margin-left: -70px; margin-left: -70px;
cursor: pointer; cursor: pointer;
} }
.captcha_wrap input[type="text"] { .captcha_wrap input[type="text"] {
margin-left: 10px; margin-left: 10px;
height: 45px; height: 45px;
width: 280px; width: 280px;
border: 2px solid #828282; border: 2px solid #828282;
font-size: 17px; font-size: 17px;
font-family: Nanumsquare_B; font-family: Nanumsquare_B;
padding: 0 0 0 10px; padding: 0 0 0 10px;
} }
</style> </style>
</head> </head>
<body onload="fnInit();"> <body onload="fnInit();">
<div class="login_bg"> <div class="login_bg">
<div class="header_wrap"> <div class="header_wrap">
<%--<h1 class="logo"><img src="<c:url value='/'/>images/login/mainLogo.png" alt="Logo Image"></img></h1>--%> <%--<h1 class="logo"><img src="<c:url value='/'/>images/login/mainLogo.png" alt="Logo Image"></img></h1>--%>
<h1 class="logo"><img src="<c:url value='/'/>resources/images/login/mainLogo_02.png" alt="Logo Image"></img></h1> <h1 class="logo"><img src="<c:url value='/'/>resources/images/login/mainLogo_02.png" alt="Logo Image"></img></h1>
</div> </div>
<div class="login_text"> <div class="login_text">
<%--<p class="main_img"><img src="<c:url value='/'/>images/login/loginDeco.png" alt=""></img></p>--%> <%--<p class="main_img"><img src="<c:url value='/'/>images/login/loginDeco.png" alt=""></img></p>--%>
<p class="main_img"><img src="<c:url value='/'/>resources/images/login/loginDeco_02.png" alt=""></img></p> <p class="main_img"><img src="<c:url value='/'/>resources/images/login/loginDeco_02.png" alt=""></img></p>
<form:form id="loginForm" name="loginForm" method="post"> <form:form id="loginForm" name="loginForm" method="post">
<div class="input_wrap"> <div class="input_wrap">
<input type="text" name="id" id="id" title="아이디 입력" class="typeText required form-control inp-long" placeholder="아이디" /> <input type="text" name="id" id="id" title="아이디 입력" class="typeText required form-control inp-long" placeholder="아이디" />
<input type="password" name="password" id="password" title="비밀번호 입력" class="typePassword required form-control inp-long" placeholder="비밀번호" onkeydown="javascript:if (event.keyCode == 13) { actionLogin(); }"/> <input type="password" name="password" id="password" title="비밀번호 입력" class="typePassword required form-control inp-long" placeholder="비밀번호" onkeydown="javascript:if (event.keyCode == 13) { actionLogin(); }"/>
<!-- 캡차인증 --> <!-- 캡차인증 -->
<div class="captcha_wrap"> <div class="captcha_wrap">
<img id="captchaImg" alt="자동로그인 방지 이미지"/> <img id="captchaImg" alt="자동로그인 방지 이미지"/>
<button id="btn_captchaRefresh" alt="자동로그인 방지 이미지 새로고침">새로고침</button> <button id="btn_captchaRefresh" alt="자동로그인 방지 이미지 새로고침">새로고침</button>
<input type="text" id="captcha" name="captcha" value="" title="자동로그인 방지 문구 입력" placeholder="좌측의 자동로그인 방지 문구 입력"/> <input type="text" id="captcha" name="captcha" value="" title="자동로그인 방지 문구 입력" placeholder="좌측의 자동로그인 방지 문구 입력"/>
</div> </div>
<!-- //캡차인증 --> <!-- //캡차인증 -->
<div class="input_wrap2"> <div class="input_wrap2">
<!-- <label for="idSave"><input type="checkbox" id="idSave" name="idSave"/> ID저장</label> --> <!-- <label for="idSave"><input type="checkbox" id="idSave" name="idSave"/> ID저장</label> -->
<a href="#" onclick="javascript:fn_FindId(); return false;">아이디 찾기</a> <a href="#" onclick="javascript:fn_FindId(); return false;">아이디 찾기</a>
<a href="#" onclick="javascript:fn_FindPw(); return false;" class="line">비밀번호 찾기</a> <a href="#" onclick="javascript:fn_FindPw(); return false;" class="line">비밀번호 찾기</a>
<a href="#" onclick="javascript:fnReg(); return false;" class="line">회원가입</a> <a href="#" onclick="javascript:fnReg(); return false;" class="line">회원가입</a>
</div>
</div> </div>
<input type="hidden" name="message" value="${message}" />
<input type="hidden" name="userSe" value="USR"/>
<input name="j_username" type="hidden"/>
</form:form>
<div class="btn_wrap">
<!-- <a href="#" onclick="javascript:fn_MngrInput(); return false;" class="line">회원가입</a> -->
<input type="submit" onclick="javascript:actionLogin()" class="typeButton" title="로그인" value="로그인" />
</div> </div>
<input type="hidden" name="message" value="${message}" />
<input type="hidden" name="userSe" value="USR"/>
<input name="j_username" type="hidden"/>
</form:form>
<div class="btn_wrap">
<!-- <a href="#" onclick="javascript:fn_MngrInput(); return false;" class="line">회원가입</a> -->
<input type="submit" onclick="javascript:actionLogin()" class="typeButton" title="로그인" value="로그인" />
</div> </div>
</div> </div>
<script type="text/javascript" src="<c:url value='/'/>resources/3rd-party/jquery/3.6.1/jquery.min.js"></script> </div>
<%-- <link href="<c:url value='/'/>resourcescss/style.css" rel="stylesheet" type="text/css" > --%> <script type="text/javascript" src="<c:url value='/'/>resources/3rd-party/jquery/3.6.1/jquery.min.js"></script>
<script type="text/javascript"> <script type="text/javascript" src="<c:url value='/'/>resources/framework/js/cmm/cmmPopup.js"></script>
<%-- <link href="<c:url value='/'/>resourcescss/style.css" rel="stylesheet" type="text/css" > --%>
<script type="text/javascript">
/**
* 로그인
*/ /**
function actionLogin() { * 로그인
*/
if (document.loginForm.id.value =="") { function actionLogin() {
alert("아이디를 입력하세요");
return false; if (document.loginForm.id.value =="") {
} else if (document.loginForm.password.value =="") { alert("아이디를 입력하세요");
alert("비밀번호를 입력하세요"); return false;
return false; } else if (document.loginForm.password.value =="") {
} else { alert("비밀번호를 입력하세요");
document.loginForm.action="<c:url value='/login/actionSecurityLogin.do'/>"; return false;
//document.loginForm.j_username.value = document.loginForm.userSe.value + document.loginForm.username.value; } else {
//document.loginForm.action="<c:url value='/j_spring_security_check'/>"; document.loginForm.action="<c:url value='/login/actionSecurityLogin.do'/>";
document.loginForm.submit(); //document.loginForm.j_username.value = document.loginForm.userSe.value + document.loginForm.username.value;
} //document.loginForm.action="<c:url value='/j_spring_security_check'/>";
document.loginForm.submit();
} }
}
/**
* 쿠키 설정 /**
*/ * 쿠키 설정
function setCookie (name, value, expires) { */
document.cookie = name + "=" + escape (value) + "; path=/; expires=" + expires.toGMTString(); function setCookie (name, value, expires) {
} document.cookie = name + "=" + escape (value) + "; path=/; expires=" + expires.toGMTString();
}
/**
* 쿠키 조회 /**
* -쿠키에 저장된 목록을 조회 한다. * 쿠키 조회
*/ * -쿠키에 저장된 목록을 조회 한다.
function getCookie(Name) { */
var search = Name + "=" function getCookie(Name) {
if (document.cookie.length > 0) { // 쿠키가 설정되어 있다면 var search = Name + "="
offset = document.cookie.indexOf(search) if (document.cookie.length > 0) { // 쿠키가 설정되어 있다면
if (offset != -1) { // 쿠키가 존재하면 offset = document.cookie.indexOf(search)
offset += search.length if (offset != -1) { // 쿠키가 존재하면
// set index of beginning of value offset += search.length
end = document.cookie.indexOf(";", offset) // set index of beginning of value
// 쿠키 값의 마지막 위치 인덱스 번호 설정 end = document.cookie.indexOf(";", offset)
if (end == -1) // 쿠키 값의 마지막 위치 인덱스 번호 설정
end = document.cookie.length if (end == -1)
return unescape(document.cookie.substring(offset, end)) end = document.cookie.length
} return unescape(document.cookie.substring(offset, end))
} }
return "";
} }
return "";
/** }
* 쿠키에 ID 저장or제거
* -"로그인ID 저장여부"를 check 시 일정기간동안 쿠키에 ID를 저장 한다. /**
* -"로그인ID 저장여부"를 uncheck 시 쿠키에 저장된 ID를 삭제 한다. * 쿠키에 ID 저장or제거
*/ * -"로그인ID 저장여부"를 check 시 일정기간동안 쿠키에 ID를 저장 한다.
function saveid(form) { * -"로그인ID 저장여부"를 uncheck 시 쿠키에 저장된 ID를 삭제 한다.
var expdate = new Date(); */
// 기본적으로 30일동안 기억하게 함. 일수를 조절하려면 * 30에서 숫자를 조절하면 됨 function saveid(form) {
if (form.checkId.checked) var expdate = new Date();
expdate.setTime(expdate.getTime() + 1000 * 3600 * 24 * 30); // 30일 // 기본적으로 30일동안 기억하게 함. 일수를 조절하려면 * 30에서 숫자를 조절하면 됨
else if (form.checkId.checked)
expdate.setTime(expdate.getTime() - 1); // 쿠키 삭제조건 expdate.setTime(expdate.getTime() + 1000 * 3600 * 24 * 30); // 30일
setCookie("saveid", form.id.value, expdate); else
expdate.setTime(expdate.getTime() - 1); // 쿠키 삭제조건
setCookie("saveid", form.id.value, expdate);
}
/**
* 쿠키에 저장된 ID 취득
* -저장된 ID가 존재할 경우 "로그인ID 저장여부"항목을 check 설정 한다.
*/
function getid(form) {
form.checkId.checked = ((form.id.value = getCookie("saveid")) != "");
}
function fnInit() {
var message = document.loginForm.message.value;
if (message != "") {
alert(message);
} }
/**
* 쿠키에 저장된 ID 취득
* -저장된 ID가 존재할 경우 "로그인ID 저장여부"항목을 check 설정 한다.
*/
function getid(form) {
form.checkId.checked = ((form.id.value = getCookie("saveid")) != "");
}
function fnInit() {
var message = document.loginForm.message.value;
if (message != "") {
alert(message);
}
// getid(document.loginForm); // getid(document.loginForm);
$('#id').focus(); $('#id').focus();
CaptchaUtil.init(); CaptchaUtil.init();
} }
/** /**
* 회원가입 팝업 * 회원가입 팝업
*/ */
function fnReg(){ function fnReg(){
var popUrl ="${ctx}/_anonymous_/login/UserReg_input.do"; CmmPopup.open("<c:url value='/framework/biz/mng/usr/mngUserMgtPopup.do'/>", {}, {width: 1100, height:570}, '사용자 등록');
var popOption = "width=840px, height=500px, resizable=no, scrollbars=yes, location=no, top=100px, left=100px"; }
var target = '사용자등록';
/**
window.open(popUrl,target,popOption); * 아이디 찾기 팝업
} */
function fn_FindId(){
/** CmmPopup.open("<c:url value='/login/FindId_input_popup.do'/>", {}, {width: 500, height:300}, '아이디 찾기');
* 아이디 찾기 팝업 }
*/
function fn_FindId(){ /**
var popUrl = "${ctx}/login/FindId_input_popup.do"; * 비밀번호 찾기 팝업
var popOption = "width=500px, height=300x, resizable=no, location=no, top=100px, left100px"; */
var target = '아이디 찾기'; function fn_FindPw(){
CmmPopup.open("<c:url value='/login/FindPwd_input_popup.do'/>", {}, {width: 500, height:330}, '비밀번호 찾기');
window.open(popUrl,target,popOption); }
}
/**
/** * 캡차 인증 도구
* 비밀번호 찾기 팝업 * @date 2020.09.22.
*/ * @author 박민규
function fn_FindPw(){ */
var popUrl = "${ctx}/login/FindPwd_input_popup.do"; var CaptchaUtil = {
var popOption = "width=500px, height=330px, resizable=no, location=no, top=100px, left100px"; init: function(){
var target = '비밀번호 찾기'; //캡차인증 이미지 출력
CaptchaUtil.refresh();
window.open(popUrl,target,popOption);
}
//새로고침 버튼 EventListener 설정
/** $('#btn_captchaRefresh').on({
* 캡차 인증 도구 click: function(){
* @date 2020.09.22. CaptchaUtil.refresh();
* @author 박민규
*/ return false;
var CaptchaUtil = { }
init: function(){ });
//캡차인증 이미지 출력 //자동로그인방지문자 입력란 EventListener 설정
CaptchaUtil.refresh(); $('#captcha').on({
keypress: function(){
if(event.keyCode==13){
//새로고침 버튼 EventListener 설정 actionLogin();
$('#btn_captchaRefresh').on({
click: function(){
CaptchaUtil.refresh();
return false; return false;
} }
}); },
//자동로그인방지문자 입력란 EventListener 설정 keyup: function(){
$('#captcha').on({ this.value = this.value.toLowerCase();
keypress: function(){ }
if(event.keyCode==13){ });
actionLogin();
},
return false; refresh: function(){
} /* ==============================
}, * 2020.09.22 박민규
keyup: function(){ * IE 동작이슈 처리
this.value = this.value.toLowerCase(); * -사유: 크롬에서 정상동작 하나 IE에서 img 태그에 이미지가 출력된 상태에서
} * document.querySelector('#captchaImg').setAttribute('src', url)를 호출해도 이벤트가 발생하지 않음.
}); * -해결: 이미지 태그의 src(이미지 경로)를 제거 후 timeout을 이용하여 일정시간 후 document.querySelector('#captchaImg').setAttribute('src', url) 호출
============================== */
}, //2020.09.22 주석처리
refresh: function(){
/* ==============================
* 2020.09.22 박민규
* IE 동작이슈 처리
* -사유: 크롬에서 정상동작 하나 IE에서 img 태그에 이미지가 출력된 상태에서
* document.querySelector('#captchaImg').setAttribute('src', url)를 호출해도 이벤트가 발생하지 않음.
* -해결: 이미지 태그의 src(이미지 경로)를 제거 후 timeout을 이용하여 일정시간 후 document.querySelector('#captchaImg').setAttribute('src', url) 호출
============================== */
//2020.09.22 주석처리
// var url = '<c:url value="/_anonymous_/captcha.do"/>'; // var url = '<c:url value="/_anonymous_/captcha.do"/>';
// document.querySelector('#captchaImg').setAttribute('src', url); // document.querySelector('#captchaImg').setAttribute('src', url);
var url = '<c:url value="/_anonymous_/captcha.do"/>'; var url = '<c:url value="/_anonymous_/captcha.do"/>';
// IE old version ( IE 10 or Lower ) // IE old version ( IE 10 or Lower )
if ( navigator.appName == "Microsoft Internet Explorer" ){ if ( navigator.appName == "Microsoft Internet Explorer" ){
document.querySelector('#captchaImg').removeAttribute('src'); document.querySelector('#captchaImg').removeAttribute('src');
setTimeout(function(){ setTimeout(function(){
document.querySelector('#captchaImg').setAttribute('src', url);
}, 20);
}
// 그 외 브라우저
else{
document.querySelector('#captchaImg').setAttribute('src', url); document.querySelector('#captchaImg').setAttribute('src', url);
} }, 20);
}
// 그 외 브라우저
else{
document.querySelector('#captchaImg').setAttribute('src', url);
} }
} }
}
</script> </script>
</body> </body>
</html> </html>

@ -87,13 +87,6 @@
* Global Variable * Global Variable
**************************************************************************/ **************************************************************************/
const init = () => {
$(".popup").css("position","absolute");
$(".content_header").css("display","none");
$("#cur_loc").css("display","none");
}
/* ******************************* /* *******************************
* function * function
******************************* */ ******************************* */
@ -102,11 +95,10 @@
if(!validateProgrmMngVO(document.getElementById("progrmMngVO"))) if(!validateProgrmMngVO(document.getElementById("progrmMngVO")))
return; return;
var varFrom = document.getElementById("progrmMngVO");
if(confirm("저장 하시겠습니까?")){ if(confirm("저장 하시겠습니까?")){
cmmAjax({ cmmAjax({
url: '<c:url value="/framework/biz/mng/menu/addProgram.do"/>' url: '<c:url value="/framework/biz/mng/menu/addProgram.do"/>'
,data: $(varFrom).serialize() ,data: document.getElementById("progrmMngVO").serialize()
,success: () => { ,success: () => {
window.opener.callBackSearch(); window.opener.callBackSearch();
window.close(); window.close();
@ -119,11 +111,10 @@
if(!validateProgrmMngVO(document.getElementById("progrmMngVO"))) if(!validateProgrmMngVO(document.getElementById("progrmMngVO")))
return; return;
var varFrom = document.getElementById("progrmMngVO");
if(confirm("변경 하시겠습니까?")){ if(confirm("변경 하시겠습니까?")){
cmmAjax({ cmmAjax({
url: '<c:url value="/framework/biz/mng/menu/modifyProgram.do"/>' url: '<c:url value="/framework/biz/mng/menu/modifyProgram.do"/>'
,data: $(varFrom).serialize() ,data: document.getElementById("progrmMngVO").serialize()
,success: () => { ,success: () => {
window.opener.callBackSearch(); window.opener.callBackSearch();
window.close(); window.close();
@ -167,6 +158,8 @@
* initialize * initialize
**************************************************************************/ **************************************************************************/
$(document).ready(function(){ $(document).ready(function(){
init(); $(".popup").css("position","absolute");
$(".content_header").css("display","none");
$("#cur_loc").css("display","none");
}); });
</script> </script>

@ -8,7 +8,7 @@
<input type="hidden" name="searchKeyword" value="<c:out value='${userSearchVO.searchKeyword}'/>"/> <input type="hidden" name="searchKeyword" value="<c:out value='${userSearchVO.searchKeyword}'/>"/>
<input type="hidden" name="sbscrbSttus" value="<c:out value='${userSearchVO.sbscrbSttus}'/>"/> <input type="hidden" name="sbscrbSttus" value="<c:out value='${userSearchVO.sbscrbSttus}'/>"/>
<input type="hidden" name="pageIndex" value="<c:out value='${userSearchVO.pageIndex}'/>"/> <input type="hidden" name="pageIndex" value="<c:out value='${userSearchVO.pageIndex}'/>"/>
<input type="hidden" name="zip_url" value="<c:url value='/_cmmn_/popup/ZipSearchList.do'/>" /> <input type="hidden" name="zip_url" value="<c:url value='/framework/biz/cmm/popup/ZipSearchList.do'/>" />
<!-- 상세정보 사용자 삭제시 prameter 전달용 input --> <!-- 상세정보 사용자 삭제시 prameter 전달용 input -->
<input type="hidden" name="checkedIdForDel" id="checkedIdForDel" value="<c:out value='${entrprsManageVO.userTy}'/>:<c:out value='${entrprsManageVO.entrprsmberId}'/>"> <input type="hidden" name="checkedIdForDel" id="checkedIdForDel" value="<c:out value='${entrprsManageVO.userTy}'/>:<c:out value='${entrprsManageVO.entrprsmberId}'/>">
<!-- 사용자유형정보 : password 수정화면으로 이동시 타겟 유형정보 확인용, 만약검색조건으로 유형이 포함될경우 혼란을 피하기위해 userTy명칭을 쓰지 않음--> <!-- 사용자유형정보 : password 수정화면으로 이동시 타겟 유형정보 확인용, 만약검색조건으로 유형이 포함될경우 혼란을 피하기위해 userTy명칭을 쓰지 않음-->

@ -8,7 +8,7 @@
<input type="hidden" name="searchKeyword" value="<c:out value='${userSearchVO.searchKeyword}'/>"/> <input type="hidden" name="searchKeyword" value="<c:out value='${userSearchVO.searchKeyword}'/>"/>
<input type="hidden" name="sbscrbSttus" value="<c:out value='${userSearchVO.sbscrbSttus}'/>"/> <input type="hidden" name="sbscrbSttus" value="<c:out value='${userSearchVO.sbscrbSttus}'/>"/>
<input type="hidden" name="pageIndex" value="<c:out value='${userSearchVO.pageIndex}'/>"/> <input type="hidden" name="pageIndex" value="<c:out value='${userSearchVO.pageIndex}'/>"/>
<input type="hidden" name="zip_url" value="<c:url value='/_cmmn_/popup/ZipSearchList.do'/>" /> <input type="hidden" name="zip_url" value="<c:url value='/framework/biz/cmm/popup/ZipSearchList.do'/>" />
<div class="popup" style="min-width: 700px;"> <div class="popup" style="min-width: 700px;">
<div class="popup_inner" style="max-width: 700px;"> <div class="popup_inner" style="max-width: 700px;">

@ -139,7 +139,7 @@ table.tbl03 input[type="text"], table.tbl03 select{
<input type="hidden" name="sbscrbSttus" value="<c:out value='${userSearchVO.sbscrbSttus}'/>"/> <input type="hidden" name="sbscrbSttus" value="<c:out value='${userSearchVO.sbscrbSttus}'/>"/>
<input type="hidden" name="pageIndex" value="<c:out value='${userSearchVO.pageIndex}'/>"/> <input type="hidden" name="pageIndex" value="<c:out value='${userSearchVO.pageIndex}'/>"/>
<!-- 우편번호검색 --> <!-- 우편번호검색 -->
<input type="hidden" name="zip_url" value="<c:url value='/_cmmn_/popup/ZipSearchList.do'/>" /> <input type="hidden" name="zip_url" value="<c:url value='/framework/biz/cmm/popup/ZipSearchList.do'/>" />
<!-- 사용자유형정보 : password 수정화면으로 이동시 타겟 유형정보 확인용, 만약검색조건으로 유형이 포함될경우 혼란을 피하기위해 userTy명칭을 쓰지 않음--> <!-- 사용자유형정보 : password 수정화면으로 이동시 타겟 유형정보 확인용, 만약검색조건으로 유형이 포함될경우 혼란을 피하기위해 userTy명칭을 쓰지 않음-->
<input type="hidden" name="userTyForPassword" value="<c:out value='${entrprsManageVO.userTy}'/>" /> <input type="hidden" name="userTyForPassword" value="<c:out value='${entrprsManageVO.userTy}'/>" />

@ -8,7 +8,7 @@
<input type="hidden" name="searchKeyword" value="<c:out value='${userSearchVO.searchKeyword}'/>"/> <input type="hidden" name="searchKeyword" value="<c:out value='${userSearchVO.searchKeyword}'/>"/>
<input type="hidden" name="sbscrbSttus" value="<c:out value='${userSearchVO.sbscrbSttus}'/>"/> <input type="hidden" name="sbscrbSttus" value="<c:out value='${userSearchVO.sbscrbSttus}'/>"/>
<input type="hidden" name="pageIndex" value="<c:out value='${userSearchVO.pageIndex}'/>"/> <input type="hidden" name="pageIndex" value="<c:out value='${userSearchVO.pageIndex}'/>"/>
<input type="hidden" name="zip_url" value="<c:url value='/_cmmn_/popup/ZipSearchList.do'/>" /> <input type="hidden" name="zip_url" value="<c:url value='/framework/biz/cmm/popup/ZipSearchList.do'/>" />
<!-- 상세정보 사용자 삭제시 prameter 전달용 input --> <!-- 상세정보 사용자 삭제시 prameter 전달용 input -->
<input type="hidden" name="checkedIdForDel" id="checkedIdForDel" value="<c:out value='${mberManageVO.userTy}'/>:<c:out value='${mberManageVO.mberId}'/>"> <input type="hidden" name="checkedIdForDel" id="checkedIdForDel" value="<c:out value='${mberManageVO.userTy}'/>:<c:out value='${mberManageVO.mberId}'/>">
<!-- 사용자유형정보 : password 수정화면으로 이동시 타겟 유형정보 확인용, 만약검색조건으로 유형이 포함될경우 혼란을 피하기위해 userTy명칭을 쓰지 않음--> <!-- 사용자유형정보 : password 수정화면으로 이동시 타겟 유형정보 확인용, 만약검색조건으로 유형이 포함될경우 혼란을 피하기위해 userTy명칭을 쓰지 않음-->

@ -8,7 +8,7 @@
<input type="hidden" name="searchKeyword" value="<c:out value='${userSearchVO.searchKeyword}'/>"/> <input type="hidden" name="searchKeyword" value="<c:out value='${userSearchVO.searchKeyword}'/>"/>
<input type="hidden" name="sbscrbSttus" value="<c:out value='${userSearchVO.sbscrbSttus}'/>"/> <input type="hidden" name="sbscrbSttus" value="<c:out value='${userSearchVO.sbscrbSttus}'/>"/>
<input type="hidden" name="pageIndex" value="<c:out value='${userSearchVO.pageIndex}'/>"/> <input type="hidden" name="pageIndex" value="<c:out value='${userSearchVO.pageIndex}'/>"/>
<input type="hidden" name="zip_url" value="<c:url value='/_cmmn_/popup/ZipSearchList.do'/>" /> <input type="hidden" name="zip_url" value="<c:url value='/framework/biz/cmm/popup/ZipSearchList.do'/>" />
<div class="popup" style="min-width: 700px;"> <div class="popup" style="min-width: 700px;">
<div class="popup_inner" style="max-width: 700px;"> <div class="popup_inner" style="max-width: 700px;">

@ -138,7 +138,7 @@ table.tbl03 input[type="text"], table.tbl03 select{
<input type="hidden" name="sbscrbSttus" value="<c:out value='${userSearchVO.sbscrbSttus}'/>"/> <input type="hidden" name="sbscrbSttus" value="<c:out value='${userSearchVO.sbscrbSttus}'/>"/>
<input type="hidden" name="pageIndex" value="<c:out value='${userSearchVO.pageIndex}'/>"/> <input type="hidden" name="pageIndex" value="<c:out value='${userSearchVO.pageIndex}'/>"/>
<!-- 우편번호검색 --> <!-- 우편번호검색 -->
<input type="hidden" name="zip_url" value="<c:url value='/_cmmn_/popup/ZipSearchList.do'/>" /> <input type="hidden" name="zip_url" value="<c:url value='/framework/biz/cmm/popup/ZipSearchList.do'/>" />
<!-- 사용자유형정보 : password 수정화면으로 이동시 타겟 유형정보 확인용, 만약검색조건으로 유형이 포함될경우 혼란을 피하기위해 userTy명칭을 쓰지 않음--> <!-- 사용자유형정보 : password 수정화면으로 이동시 타겟 유형정보 확인용, 만약검색조건으로 유형이 포함될경우 혼란을 피하기위해 userTy명칭을 쓰지 않음-->
<input type="hidden" name="userTyForPassword" value="<c:out value='${mberManageVO.userTy}'/>" /> <input type="hidden" name="userTyForPassword" value="<c:out value='${mberManageVO.userTy}'/>" />

@ -8,7 +8,7 @@
<input type="hidden" name="searchKeyword" value="<c:out value='${userSearchVO.searchKeyword}'/>"/> <input type="hidden" name="searchKeyword" value="<c:out value='${userSearchVO.searchKeyword}'/>"/>
<input type="hidden" name="sbscrbSttus" value="<c:out value='${userSearchVO.sbscrbSttus}'/>"/> <input type="hidden" name="sbscrbSttus" value="<c:out value='${userSearchVO.sbscrbSttus}'/>"/>
<input type="hidden" name="pageIndex" value="<c:out value='${userSearchVO.pageIndex}'/>"/> <input type="hidden" name="pageIndex" value="<c:out value='${userSearchVO.pageIndex}'/>"/>
<input type="hidden" name="zip_url" value="<c:url value='/_cmmn_/popup/ZipSearchList.do'/>" /> <input type="hidden" name="zip_url" value="<c:url value='/framework/biz/cmm/popup/ZipSearchList.do'/>" />
<div class="popup" style="min-width: 1100px;"> <div class="popup" style="min-width: 1100px;">
<div class="popup_inner" style="max-width: 1100px;"> <div class="popup_inner" style="max-width: 1100px;">

@ -135,7 +135,7 @@ table {
<input type="hidden" name="sbscrbSttus" value="<c:out value='${userSearchVO.sbscrbSttus}'/>"/> <input type="hidden" name="sbscrbSttus" value="<c:out value='${userSearchVO.sbscrbSttus}'/>"/>
<input type="hidden" name="pageIndex" value="<c:out value='${userSearchVO.pageIndex}'/>"/> <input type="hidden" name="pageIndex" value="<c:out value='${userSearchVO.pageIndex}'/>"/>
<!-- 우편번호검색 --> <!-- 우편번호검색 -->
<input type="hidden" name="zip_url" value="<c:url value='/_cmmn_/popup/ZipSearchList.do'/>" /> <input type="hidden" name="zip_url" value="<c:url value='/framework/biz/cmm/popup/ZipSearchList.do'/>" />
<!-- 사용자유형정보 : password 수정화면으로 이동시 타겟 유형정보 확인용, 만약검색조건으로 유형이 포함될경우 혼란을 피하기위해 userTy명칭을 쓰지 않음--> <!-- 사용자유형정보 : password 수정화면으로 이동시 타겟 유형정보 확인용, 만약검색조건으로 유형이 포함될경우 혼란을 피하기위해 userTy명칭을 쓰지 않음-->
<input type="hidden" name="userTyForPassword" value="<c:out value='${userManageVO.userTy}'/>" /> <input type="hidden" name="userTyForPassword" value="<c:out value='${userManageVO.userTy}'/>" />

@ -88,7 +88,7 @@ table {
<input type="hidden" name="sbscrbSttus" value="<c:out value='${userSearchVO.sbscrbSttus}'/>"/> <input type="hidden" name="sbscrbSttus" value="<c:out value='${userSearchVO.sbscrbSttus}'/>"/>
<input type="hidden" name="pageIndex" value="<c:out value='${userSearchVO.pageIndex}'/>"/> <input type="hidden" name="pageIndex" value="<c:out value='${userSearchVO.pageIndex}'/>"/>
<!-- 우편번호검색 --> <!-- 우편번호검색 -->
<input type="hidden" name="zip_url" value="<c:url value='/_cmmn_/popup/ZipSearchList.do'/>" /> <input type="hidden" name="zip_url" value="<c:url value='/framework/biz/cmm/popup/ZipSearchList.do'/>" />
<!-- 사용자유형정보 : password 수정화면으로 이동시 타겟 유형정보 확인용, 만약검색조건으로 유형이 포함될경우 혼란을 피하기위해 userTy명칭을 쓰지 않음--> <!-- 사용자유형정보 : password 수정화면으로 이동시 타겟 유형정보 확인용, 만약검색조건으로 유형이 포함될경우 혼란을 피하기위해 userTy명칭을 쓰지 않음-->
<input type="hidden" name="userTyForPassword" value="<c:out value='${userManageVO.userTy}'/>" /> <input type="hidden" name="userTyForPassword" value="<c:out value='${userManageVO.userTy}'/>" />

@ -96,7 +96,7 @@ table {
</div> </div>
<form:form commandName="userManageVO" action="${pageContext.request.contextPath}/framework/biz/mng/usr/UserRegMng_insert_proc.do" name="userManageVO" method="post" > <form:form commandName="userManageVO" action="${pageContext.request.contextPath}/framework/biz/mng/usr/UserRegMng_insert_proc.do" name="userManageVO" method="post" >
<!-- 우편번호검색 --> <!-- 우편번호검색 -->
<input type="hidden" name="zip_url" value="<c:url value='/_cmmn_/popup/ZipSearchList.do'/>" /> <input type="hidden" name="zip_url" value="<c:url value='/framework/biz/cmm/popup/ZipSearchList.do'/>" />
<div class="modify_user" > <div class="modify_user" >
<table> <table>

@ -56,6 +56,7 @@
* Global Variable * Global Variable
**************************************************************************/ **************************************************************************/
let GRID = null; let GRID = null;
var callBackSearch = () => fnProgramMgt.search();
/* ******************************* /* *******************************
@ -239,7 +240,7 @@
let popOption; let popOption;
switch (flag) { switch (flag) {
case "add": //등록 case "add": //등록
popTitle = "사용자 신규등록"; popTitle = "사용자 등록";
popOption = {width: 1100, height:700} popOption = {width: 1100, height:700}
break; break;
case "detail": //상세 case "detail": //상세
@ -254,7 +255,7 @@
,fnClickRegBtn: function(props){ ,fnClickRegBtn: function(props){
const rowData = props.grid.getRow(props.rowKey); const rowData = props.grid.getRow(props.rowKey);
fnUserMgt.pagePopup('add', {uniqId: rowData.uniqId}); fnUserMgt.pagePopup('detail', {uniqId: rowData.uniqId});
} }
} }
@ -265,7 +266,7 @@
$('#btnSearch').bind('click', () => fnUserMgt.search()); $('#btnSearch').bind('click', () => fnUserMgt.search());
$('#btnRegist').bind('click', () => { $('#btnRegist').bind('click', () => {
fnUserMgt.pagePopup('detail', {}); fnUserMgt.pagePopup('add', {});
}); });
}); });

@ -5,7 +5,7 @@
<validator:javascript formName="userInfoVO" staticJavascript="true" xhtml="true" cdata="false"/> <validator:javascript formName="userInfoVO" staticJavascript="true" xhtml="true" cdata="false"/>
<%--@elvariable id="userInfoVO" type=""--%> <%--@elvariable id="userInfoVO" type=""--%>
<form:form commandName="userInfoVO" name="userInfoVO"> <form:form commandName="userInfoVO" name="userInfoVO">
<input type="hidden" name="zip_url" value="<c:url value='/_cmmn_/popup/ZipSearchList.do'/>" /> <input type="hidden" name="zip_url" value="<c:url value='/framework/biz/cmm/popup/ZipSearchList.do'/>" />
<!-- 상세정보 사용자 삭제시 prameter 전달용 input --> <!-- 상세정보 사용자 삭제시 prameter 전달용 input -->
<input type="hidden" name="checkedIdForDel" id="checkedIdForDel" value="<c:out value='${userInfoVO.userTy}'/>:<c:out value='${userInfoVO.emplyrId}'/>"> <input type="hidden" name="checkedIdForDel" id="checkedIdForDel" value="<c:out value='${userInfoVO.userTy}'/>:<c:out value='${userInfoVO.emplyrId}'/>">
<!-- 사용자유형정보 : password 수정화면으로 이동시 타겟 유형정보 확인용, 만약검색조건으로 유형이 포함될경우 혼란을 피하기위해 userTy명칭을 쓰지 않음--> <!-- 사용자유형정보 : password 수정화면으로 이동시 타겟 유형정보 확인용, 만약검색조건으로 유형이 포함될경우 혼란을 피하기위해 userTy명칭을 쓰지 않음-->
@ -223,212 +223,107 @@
<!-- //popup --> <!-- //popup -->
</form:form> </form:form>
<script type="text/javascript" src="<c:url value='/resources/framework/js/egov/EgovZipPopup.js' />" ></script> <script type="text/javaScript">
<script type="text/javaScript"> /**************************************************************************
$(document).ready(function(){ * Global Variable
XitUserRegMng_edit.init(); **************************************************************************/
}); var fnCallbackZipSearch = (obj) => CmmPopup.setZipSearch(obj, document.userInfoVO);
/* ******************************* /* *******************************
* 사용자 등록관리 수정화면 Functions * function
******************************* */ ******************************* */
var XitUserRegMng_edit = { const fnUserMgtPopup = {
/* ======================== search: () => {
* 초기화 }
======================== */
init : function(){
//닫기 버튼 EVENT 설정
$("#btnClose").on({
click : function(){
window.close();
}
});
//저장 버튼 Event 설정
$('#btnSave').on({
click: function(){
if (confirm('변경 하시겠습니까?')) {
if(validateUserInfoVO(document.userInfoVO)){
XitUserRegMng_edit.modifyData();
}
}
}
});
$('#btnRemove').on({
click : function(){
if(confirm("삭제 하시겠습니까?")){
XitUserRegMng_edit.removeData();
}
}
})
//주소검색버튼 Event설정
$('#addrSearch').on({
click : function(){
/*
* 2020.10.05. 박민규
* 우편번호검색 Event 변경
* -작업내용: DB조회->행자부API로 변경
*/
// fn_egov_ZipSearch(
// document.userInfoVO
// , document.userInfoVO.zip
// , document.userInfoVO.zip_view
// , document.userInfoVO.houseAdres
// );
XitUserRegMng_edit.fnSearchAdres();
}
});
$('#btnPwdChg').on({
click : function(){
var params = "";
var form = $('#userInfoVO');
var array = $(form).serializeArray();
var result = {};
if(array){
$(array).each(function(index, item){
if(this.value){
params += (this.name+"=" + this.value);
if(index < (array.length -1)) params += "&"
}
})
}
XitUserRegMng_edit.pagePopup('pwd', '<c:url value="/framework/biz/mng/usr/UserRegMng_editPwd_popup.do"/>', params);
}
});
}, ,add: () => {
/* ======================== if(validateUserInfoVO(document.getElementById('userInfoVO'))) return;
* 입력값 언어 선택
======================== */
fn_setInputLimit : function(){
},
/* ========================
* 데이터 조회
======================== */
findData : function(){
},
/* ========================
* 데이터 등록
======================== */
addData : function(){
},
/* ========================
* 데이터 수정
======================== */
modifyData : function(){
var param = $("#userInfoVO").serialize();
$.ajax({
url : "/framework/biz/mng/usr/UserRegMng_update_proc.do",
data : param,
type : "post",
dataType : "json",
success : function(data) {
alert(data.resp.message);
window.opener.XitUserRegMng_list.findData();
window.close();
},
error: function(){
} if(confirm("등록 하시겠습니까?")){
}); cmmAjax({
}, url: '<c:url value="/framework/biz/mng/usr/addUser.do"/>'
/* ======================== ,data: $("#userInfoVO").serialize()
* 데이터 삭제 ,success: () => {
======================== */ window.opener.callBackSearch();
removeData : function(){ window.close();
var param = $("#userInfoVO").serialize(); }
$.ajax({ })
url : "/framework/biz/mng/usr/UserRegMng_delete_proc.do", }
data : param, }
type : "post",
dataType : "json",
success : function(data) {
alert(data.resp.message);
window.opener.XitUserRegMng_list.findData();
window.close();
},
error: function(){
} ,modify: () => {
}); if(validateUserInfoVO(document.getElementById('userInfoVO'))) return;
},
/* ========================
* 유효성 검증
-flag에 따라 유효성 검증을 분기처리한다.
======================== */
validate : function(flag){
switch(flag){
case 'update' : //수정
break;
default : break;
}
return true; if(confirm("변경 하시겠습니까?")){
}, cmmAjax({
/* ======================== url: '<c:url value="/framework/biz/mng/usr/modifyUser.do"/>'
* 페이지 이동 ,data: $("#userInfoVO").serialize()
-외부사이트 링크가 필요 시 사용(내부코드는 각 페이지에 맞게 수정, ex>https://www.gov.kr/portal/main ) ,success: () => {
======================== */ window.opener.callBackSearch();
pageLink: function(flag, url, params){ window.close();
switch (flag) { }
case "move": //페이지 이동 })
break; }
case "popup": //팝업 OPEN }
break;
default:
break;
}
},
/* ========================
* 페이지 Open
-팝업페이지를 Open 한다.
======================== */
pagePopup: function(flag, url, params){
var popUrl = url;
if(!(params == undefined || params == null)){
popUrl += "?";
popUrl += params;
}
var popTitle = '';
var popOption = '';
switch (flag) {
case "pwd":
popTitle = "";
popOption = "width=570px, height=420px, resizable=yes, scrollbars=yes, location=no, top=100px, left=100px;";
break;
default:
break;
}
window.open(popUrl, popTitle ,popOption);
},
/* ======================== , removeData: () => {
* 주소 검색 팝업 OPEN if(confirm("삭제 하시겠습니까?")){
-도로명 주소를 검색할 수 있는 팝업을 오픈한다. cmmAjax({
======================== */ url: '<c:url value="/framework/biz/mng/usr/removeUser.do"/>'
fnSearchAdres: function(){ ,data: $("#userInfoVO").serialize()
var popUrl = '<c:url value="/_anonymous_/api/AdresSearch.do"/>'; ,success: () => {
var params = '?callback=XitUserRegMng_edit.fnSearchAdresCallback'; window.opener.callBackSearch();
popUrl += params; window.close();
var popTitle = "주소 찾기"; }
var popOption = "width=570px, height=420px, resizable=yes, scrollbars=yes, location=no, top=100px, left=100px"; })
window.open(popUrl, popTitle ,popOption); }
}, }
/* ========================
* 주소 검색 콜백 함수
-주소 검색 팝업의 검색결과를 전달 받는다.
======================== */
fnSearchAdresCallback: function(obj){
//검색결과 Set
var totalDetailAdres = ""; // 전체 상세 주소
totalDetailAdres += obj.addrDetail;
totalDetailAdres += obj.roadAddrPart2;
,validate: function (flag) {
switch (flag) {
case 'update' : //수정
break;
default :
break;
}
return true;
}
};
/**************************************************************************
* event
**************************************************************************/
$(() => {
$("#btnClose").on('click', () => window.close());
$('#addrSearch').on('click', () => CmmPopup.zipPopup());
$('#btnSave').on('click', () => fnUserMgtPopup.modify());
$('#btnRemove').on('click', () => fnUserMgtPopup.removeData());
$('#btnPwdChg').on('click', () => {
var params = "";
var form = $('#userInfoVO');
var array = $(form).serializeArray();
var result = {};
if(array){
$(array).each(function(index, item){
if(this.value){
params += (this.name+"=" + this.value);
if(index < (array.length -1)) params += "&"
}
})
}
fnUserMgtPopup.pagePopup('pwd', '<c:url value="/framework/biz/mng/usr/UserRegMng_editPwd_popup.do"/>', params);
});
});
/**************************************************************************
* initialize
**************************************************************************/
$(document).ready(function(){
});
//화면에 출력
document.userInfoVO.houseAdres.value = obj.roadAddrPart1;
document.userInfoVO.zip.value = obj.zipNo;
document.userInfoVO.zip_view.value = obj.zipNo;
document.userInfoVO.detailAdres.value = totalDetailAdres;
}
}
</script> </script>

@ -5,7 +5,7 @@
<validator:javascript formName="userManageVO" staticJavascript="true" xhtml="true" cdata="false"/> <validator:javascript formName="userManageVO" staticJavascript="true" xhtml="true" cdata="false"/>
<%--@elvariable id="userManageVO" type=""--%> <%--@elvariable id="userManageVO" type=""--%>
<form:form commandName="userManageVO" name="userManageVO"> <form:form commandName="userManageVO" name="userManageVO">
<input type="hidden" name="zip_url" value="<c:url value='/_cmmn_/popup/ZipSearchList.do'/>" /> <input type="hidden" name="zip_url" value="<c:url value='/framework/biz/cmm/popup/ZipSearchList.do'/>" />
<!-- 상세정보 사용자 삭제시 prameter 전달용 input --> <!-- 상세정보 사용자 삭제시 prameter 전달용 input -->
<input type="hidden" name="checkedIdForDel" id="checkedIdForDel" value="<c:out value='${userManageVO.userTy}'/>:<c:out value='${userManageVO.emplyrId}'/>"> <input type="hidden" name="checkedIdForDel" id="checkedIdForDel" value="<c:out value='${userManageVO.userTy}'/>:<c:out value='${userManageVO.emplyrId}'/>">
<!-- 사용자유형정보 : password 수정화면으로 이동시 타겟 유형정보 확인용, 만약검색조건으로 유형이 포함될경우 혼란을 피하기위해 userTy명칭을 쓰지 않음--> <!-- 사용자유형정보 : password 수정화면으로 이동시 타겟 유형정보 확인용, 만약검색조건으로 유형이 포함될경우 혼란을 피하기위해 userTy명칭을 쓰지 않음-->

@ -0,0 +1,358 @@
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ include file="/WEB-INF/jsp/framework/taglibs.jsp"%>
<script type="text/javascript" src="<c:url value="/framework/util/validator.do"/>"></script>
<validator:javascript formName="userInfoVO" staticJavascript="true" xhtml="true" cdata="false"/>
<%--@elvariable id="userInfoVO" type=""--%>
<form:form commandName="userInfoVO" name="userInfoVO">
<input type="hidden" name="zip_url" value="<c:url value='/framework/biz/cmm/popup/ZipSearchList.do'/>" />
<!-- 상세정보 사용자 삭제시 prameter 전달용 input -->
<input type="hidden" name="checkedIdForDel" id="checkedIdForDel" value="<c:out value='${userInfoVO.userTy}'/>:<c:out value='${userInfoVO.emplyrId}'/>">
<!-- 사용자유형정보 : password 수정화면으로 이동시 타겟 유형정보 확인용, 만약검색조건으로 유형이 포함될경우 혼란을 피하기위해 userTy명칭을 쓰지 않음-->
<input type="hidden" name="userTyForPassword" value="<c:out value='${userInfoVO.userTy}'/>" />
<div class="popup" style="min-width: 1100px;">
<div class="popup_inner" style="max-width: 1100px;">
<c:set var="pageTitle"><spring:message code="comUssUmt.deptUserManage.title"/></c:set>
<p class="pop_title">${pageTitle } <spring:message code="title.update" /></p>
<table class="tbl03">
<caption>${pageTitle } <spring:message code="title.update" /></caption>
<colgroup>
<col style="width: 20%;"/>
<col style="width: 30%;"/>
<col style="width: 20%;"/>
<col style="width: 30%;"/>
</colgroup>
<tbody>
<tr>
<th height="23" class="required">
<label>사용자아이디</label>
</th>
<td >
<form:input path="emplyrId" id="emplyrId" cssClass="txaIpt" size="20" maxlength="20" readonly="readonly" />
<form:errors path="emplyrId" cssClass="error"/>
<form:hidden path="uniqId" />
</td>
<th height="23" class="required">
<label>핸드폰번호</label>
</th>
<td >
<form:input path="mbtlnum" id="mbtlnum" title="핸드폰번호" cssClass="txaIpt" size="20" maxlength="15" />
<form:errors path="mbtlnum" cssClass="error" />
</td>
</tr>
<tr>
<th height="23" class="required">
<label>비밀번호힌트</label>
</th>
<td>
<code:select id="passwordHint" name="passwordHint" codeId="XIT022" title="비밀번호힌트" cls="selectBox" alt="비밀번호힌트"/>
<%--
<form:select path="passwordHint" id="passwordHint" title="비밀번호힌트">
<form:option value="" label="--선택하세요--" />
<form:options items="${passwordHint_result}" itemValue="code" itemLabel="codeNm" />
</form:select>
--%>
<form:errors path="passwordHint" cssClass="error" /></td>
<th height="23" class="required">
<label>비밀번호정답</label>
</th>
<td>
<form:input path="passwordCnsr" id="passwordCnsr" title="비밀번호정답" cssClass="txaIpt" size="50" maxlength="100" />
<form:errors path="passwordCnsr" cssClass="error" />
</td>
</tr>
<tr>
<th height="23" class="required">
<label>이름</label>
</th>
<td>
<form:input path="emplyrNm" id="emplyrNm" cssClass="txaIpt" size="20" maxlength="60" />
<form:errors path="emplyrNm" cssClass="error" />
</td>
<th height="23" class="required">
<label>소속기관</label>
</th>
<td>
<code:select id="pstinstCode" name="pstinstCode" codeId="XIT025" title="소속기관" cls="selectBox" alt="소속기관"/>
<%--
<form:select path="pstinstCode" id="pstinstCode" title="소속기관">
<form:option value="" label="--선택하세요--" />
<form:options items="${pstinstCode_result}" itemValue="code" itemLabel="codeNm" />
</form:select>
--%>
<form:errors path="pstinstCode" cssClass="error" />
</td>
</tr>
<tr>
<th height="23" class="required">
<label>조직코드</label>
</th>
<td>
<code:select type="ORGN" id="orgnztId" name="orgnztId" title="부서" cls="selectBox" alt="부서"/>
<%--
<form:select path="orgnztId" id="orgnztId" title="부서">
<form:option value="" label="--선택하세요--" />
<form:options items="${orgnztId_result}" itemValue="code" itemLabel="codeNm" />
</form:select>
--%>
<form:errors path="orgnztId" cssClass="error" />
</td>
<th height="23" class="required">
<label>직위명</label>
</th>
<td>
<input path="ofcpsNm" id="ofcpsNm" title="직위명" cssClass="txaIpt" size="20" maxlength="30" />
<%-- <form:errors path="ofcpsNm" cssClass="error" />--%>
</td>
</tr>
<tr>
<th height="23" class="required">
<label>이메일주소</label>
</th>
<td>
<form:input path="emailAdres" id="emailAdres" title="이메일주소" cssClass="txaIpt" size="20" maxlength="50" />
<form:errors path="emailAdres" cssClass="error" />
</td>
<th height="23" class="required">
<label>집전화지역번호</label>
</th>
<td>
<form:input path="areaNo" id="areaNo" style="width : 20%" title="areaNo" cssClass="txaIpt" size="5" maxlength="5" />
- <form:input path="houseMiddleTelno" style="width : 20%" title="houseMiddleTelno" id="houseMiddleTelno" cssClass="txaIpt" size="5" maxlength="5" />
- <form:input path="houseEndTelno" style="width : 20%" title="houseEndTelno" id="houseEndTelno" cssClass="txaIpt" size="5" maxlength="5" />
<form:errors path="areaNo" cssClass="error" />
<form:errors path="houseMiddleTelno" cssClass="error" />
<form:errors path="houseEndTelno" cssClass="error" />
</td>
</tr>
<tr>
<th height="23" class="required">
<label>사무실전화번호</label>
</th>
<td>
<form:input path="offmTelno" id="offmTelno" title="사무실전화번호" cssClass="txaIpt" size="20" maxlength="15" />
<form:errors path="offmTelno" cssClass="error" />
</td>
<th height="23" class="required">
<label>팩스번호</label>
</th>
<td>
<form:input path="fxnum" id="fxnum" cssClass="txaIpt" title="팩스번호" size="20" maxlength="15" />
<form:errors path="fxnum" cssClass="error" />
</td>
</tr>
<tr>
<th height="23" class="required">
주소
</th>
<td>
<form:input path="houseAdres" id="houseAdres" title="주소" style="width: 50%" cssClass="txaIpt" size="40" maxlength="100" readonly="true" />
<form:errors path="houseAdres" cssClass="error" />
<form:hidden path="zip" />
<a id ="addrSearch">
<img src="<c:url value='/resources/images/btn/icon_zip_search.gif'/>" alt="" />(우편번호 검색)
</a>
<form:errors path="zip" cssClass="error" />
<input name="zip_view" id="zip_view" type="hidden" title="우편번호" size="20" value="<c:out value='${userInfoVO.zip}'/>" maxlength="8" readonly="readonly" />
</td>
<th height="23" class="required">
<label>상세주소</label>
</th>
<td>
<input path="detailAdres" id="detailAdres" title="상세주소" cssClass="txaIpt" size="40" maxlength="50" />
<%-- <form:errors path="detailAdres" cssClass="error" />--%>
</td>
</tr>
<tr>
<th height="23" class="required">
<label>사용자상태코드</label>
</th>
<td>
<code:select id="userSttusCode" name="userSttusCode" codeId="XIT013" title="사용자상태" cls="selectBox" alt="사용자상태"/>
<%--
<form:select path="userSttusCode" id="userSttusCode" title="사용자상태코드">
<form:option value="" label="--선택하세요--" />
<form:options items="${userSttusCode_result}" itemValue="code" itemLabel="codeNm" />
</form:select>
--%>
<form:errors path="userSttusCode" cssClass="error" />
</td>
<th height="23" class="required">
<label>그룹아이디</label>
</th>
<td>
<code:select type="GROUP" id="groupId" name="grupId" title="그룹아이디" cls="selectBox" alt="그룹아이디"/>
<%--
<form:select path="groupId" id="groupId" title="그룹아이디">
<form:option value="" label="--선택하세요--" />
<form:options items="${groupId_result}" itemValue="code" itemLabel="codeNm" />
</form:select>
--%>
<form:errors path="groupId" cssClass="error" />
</td>
</tr>
</tbody>
</table>
<div class="popup_btn">
<span class="flr">
<c:choose>
<c:when test="${!empty userInfoVO.uniqId}">
<a href="#" class="btn blue" id="btnModify">변경</a>
<a href="#" class="btn red" id="btnRemove">삭제</a>
<a href="#" class="btn blue" id="btnPwdChg">비밀번호변경</a>
</c:when>
<c:otherwise>
<a href="#" class="btn blue" id="btnRegist">등록</a>
</c:otherwise>
</c:choose>
<a href="#" class="btn lightgray" id="btnClose">닫기</a>
</span>
</div>
<!-- //popup_btn -->
</div>
</div>
<!-- //popup -->
</form:form>
<script type="text/javascript" src="<c:url value='/resources/framework/js/egov/EgovZipPopup.js' />" ></script>
<script type="text/javaScript">
/**************************************************************************
* Global Variable
**************************************************************************/
/* *******************************
* function
******************************* */
const fnUserMgtPopup = {
search: () => {
}
,add: () => {
if(validateUserInfoVO(document.getElementById('userInfoVO'))) return;
if(confirm("등록 하시겠습니까?")){
cmmAjax({
url: '<c:url value="/framework/biz/mng/usr/addUser.do"'
,data: $("#userInfoVO").serialize()
,success: () => {
window.opener.callBackSearch();
window.close();
}
})
}
}
,modify: () => {
if(validateUserInfoVO(document.getElementById('userInfoVO'))) return;
if(confirm("변경 하시겠습니까?")){
cmmAjax({
url: '<c:url value="/framework/biz/mng/usr/modifyUser.do"'
,data: $("#userInfoVO").serialize()
,success: () => {
window.opener.callBackSearch();
window.close();
}
})
}
}
, removeData: () => {
if(confirm("삭제 하시겠습니까?")){
cmmAjax({
url: '<c:url value="/framework/biz/mng/usr/removeUser.do"'
,data: $("#userInfoVO").serialize()
,success: () => {
window.opener.callBackSearch();
window.close();
}
})
}
}
,validate: function (flag) {
switch (flag) {
case 'update' : //수정
break;
default :
break;
}
return true;
}
};
/**************************************************************************
* event
**************************************************************************/
$(() => {
$("#btnClose").on('click', () => window.close());
$('#addrSearch').on('click', () => fnZipPopup());
$('#btnSave').on('click', () => fnUserMgtPopup.modify());
$('#btnRemove').on('click', () => fnUserMgtPopup.removeData());
$('#btnPwdChg').on('click', () => {
var params = "";
var form = $('#userInfoVO');
var array = $(form).serializeArray();
var result = {};
if(array){
$(array).each(function(index, item){
if(this.value){
params += (this.name+"=" + this.value);
if(index < (array.length -1)) params += "&"
}
})
}
fnUserMgtPopup.pagePopup('pwd', '<c:url value="/framework/biz/mng/usr/UserRegMng_editPwd_popup.do"/>', params);
});
});
<%-->
fnSearchAdres: function(){
var popUrl = '<c:url value="/_anonymous_/api/AdresSearch.do"/>';
var params = '?callback=fnUserMgtPopup.fnSearchAdresCallback';
popUrl += params;
var popTitle = "주소 찾기";
var popOption = "width=570px, height=420px, resizable=yes, scrollbars=yes, location=no, top=100px, left=100px";
window.open(popUrl, popTitle ,popOption);
},
fnSearchAdresCallback: function(obj){
//검색결과 Set
var totalDetailAdres = ""; // 전체 상세 주소
totalDetailAdres += obj.addrDetail;
totalDetailAdres += obj.roadAddrPart2;
//화면에 출력
document.userInfoVO.houseAdres.value = obj.roadAddrPart1;
document.userInfoVO.zip.value = obj.zipNo;
document.userInfoVO.zip_view.value = obj.zipNo;
document.userInfoVO.detailAdres.value = totalDetailAdres;
}
}
--%>
/**************************************************************************
* initialize
**************************************************************************/
$(document).ready(function(){
});
</script>

@ -51,7 +51,7 @@
<script type="text/javascript" src="${ctx}/resources/framework/js/cmm/xit-tui-grid.js" ></script> <script type="text/javascript" src="${ctx}/resources/framework/js/cmm/xit-tui-grid.js" ></script>
<script type="text/javascript" src="${ctx}/resources/framework/js/cmm/XitCmmnUtil.js" ></script> <script type="text/javascript" src="${ctx}/resources/framework/js/cmm/XitCmmnUtil.js" ></script>
<script type="text/javascript" src="${ctx}/resources/framework/js/cmm/XitExportUtil.js" ></script> <script type="text/javascript" src="${ctx}/resources/framework/js/cmm/XitExportUtil.js" ></script>
<script type="text/javascript" src="${ctx}/resources/framework/js/cmm/cmmPopup.js" ></script> <script type="text/javascript" src="${ctx}/resources/framework/js/cmm/cmmPopup.js"></script>
<script type="text/javascript" src="${ctx}/resources/framework/js/cmm/cmmDateUtil.js"></script> <script type="text/javascript" src="${ctx}/resources/framework/js/cmm/cmmDateUtil.js"></script>
<script type="text/javascript" src="${ctx}/resources/framework/js/cmm/cmmUtil.js"></script> <script type="text/javascript" src="${ctx}/resources/framework/js/cmm/cmmUtil.js"></script>

@ -1,6 +1,6 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="t" uri="http://tiles.apache.org/tags-tiles" %> <%@ taglib prefix="t" uri="http://tiles.apache.org/tags-tiles" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>

@ -1,6 +1,6 @@
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="t" uri="http://tiles.apache.org/tags-tiles" %> <%@ taglib prefix="t" uri="http://tiles.apache.org/tags-tiles" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>

@ -2,10 +2,6 @@
<%@ taglib prefix="t" uri="http://tiles.apache.org/tags-tiles" %> <%@ taglib prefix="t" uri="http://tiles.apache.org/tags-tiles" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<!-- XitFramework 공통 페이지 --> <!-- XitFramework 공통 페이지 -->
<%@include file="/WEB-INF/jsp/framework/XitIncludeBase.jsp" %> <%@include file="/WEB-INF/jsp/framework/XitIncludeBase.jsp" %>
@ -14,7 +10,6 @@
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <head>
<title>FIMS</title>
<!-- XitFramework CSS --> <!-- XitFramework CSS -->
<link rel="stylesheet" type="text/css" href="${ctx}/resources/framework/css/cmmn/common-style.css"/> <link rel="stylesheet" type="text/css" href="${ctx}/resources/framework/css/cmmn/common-style.css"/>
<!-- eGovFramework 템플릿 CSS --> <!-- eGovFramework 템플릿 CSS -->

@ -27,7 +27,7 @@
<put-attribute name="footer" value="/WEB-INF/jsp/framework/layouts/tiles/base/footer.jsp" /> <put-attribute name="footer" value="/WEB-INF/jsp/framework/layouts/tiles/base/footer.jsp" />
</definition> </definition>
<definition name="popup" template="/WEB-INF/jsp/framework/layouts/tiles/popup/layout-tiles-popup.jsp"> <definition name="popup" template="/WEB-INF/jsp/framework/layouts/tiles/popup/layout-tiles-popup.jsp">
<put-attribute name="content" value="" /> <put-attribute name="content" value="" />
</definition> </definition>

@ -244,7 +244,7 @@ const CmmPopup = {
* @attribute {Boolean} (modal) useCenterLocation * @attribute {Boolean} (modal) useCenterLocation
*/ */
, useCenterLocation: true , useCenterLocation: true
}, }
/** /**
* modaless CmmPopup.open(). options에 추가적으로 사용할 option 값을 json 객체의 필드 형태로 넘기면 된다. * modaless CmmPopup.open(). options에 추가적으로 사용할 option 값을 json 객체의 필드 형태로 넘기면 된다.
@ -256,7 +256,7 @@ const CmmPopup = {
* @param {String} method default 'get' * @param {String} method default 'get'
* @returns {object} 새로 열린 팝업창의 윈도우 객체. * @returns {object} 새로 열린 팝업창의 윈도우 객체.
*/ */
open: function (url, params, options, target = 'nonamePopup', method = 'get') { ,open: function (url, params, options, target = 'nonamePopup', method = 'get') {
let extendOptions = $.extend({}, this.defaultOpenOptions, options); let extendOptions = $.extend({}, this.defaultOpenOptions, options);
// 가운데 정렬 계산. // 가운데 정렬 계산.
@ -288,7 +288,45 @@ const CmmPopup = {
} }
if (popup) popup.focus(); if (popup) popup.focus();
return popup; return popup;
}, }
/**
* <pre>
* 주소 검색 팝업 호출
* 결과 return callback 함수로 fnCallbackZipSearch 사용
* fnCallbackZipSearch 함수는 var 선언
*
* ex)
* var fnCallbackZipSearch = (obj) => fnSetZipSearch(obj, document.userInfoVO);
* </pre>
*/
,zipPopup: function(){
let popUrl = '/_anonymous_/api/AdresSearch.do';
const params = {callback: 'fnCallbackZipSearch'};
const popTitle = "주소 찾기";
const popOption = {width: 570, height:420};
this.open(popUrl, params ,popOption, '주소 검색');
}
/**
* <pre>
* 주소 검색 Popup 결과를 set하는 콜백 함수
* @param {Object} zipObj - 주소 검색 결과
* @param {Object} tgtObj - 주소 검색 결과값을 Set할 객체(houseAdres, zip, zip_view, detailAdres)
*
* ex)
* var fnCallbackZipSearch = (obj) => CmmPopup.fnSetZipSearch(obj, document.userInfoVO);
* </pre>
*/
,setZipSearch: function(zipObj, tgtObj){
//화면에 출력
tgtObj.houseAdres.value = zipObj.roadAddrPart1;
tgtObj.zip.value = zipObj.zipNo;
tgtObj.zip_view.value = zipObj.zipNo;
tgtObj.detailAdres.value = zipObj.addrDetail+zipObj.roadAddrPart2;
}
/** /**
* modal CmmPopup.showModalDialog(). options에 추가적으로 사용할 option 값을 json 객체의 필드 형태로 넘기면 된다. * modal CmmPopup.showModalDialog(). options에 추가적으로 사용할 option 값을 json 객체의 필드 형태로 넘기면 된다.
@ -298,7 +336,7 @@ const CmmPopup = {
* @param {Object} options 추가적으로 사용할 option 값을 담은 json 객체 * @param {Object} options 추가적으로 사용할 option 값을 담은 json 객체
* @returns {object} 자식창에서 리턴하는 . * @returns {object} 자식창에서 리턴하는 .
*/ */
showModalDialog: function (url, argument, options) { ,showModalDialog: function (url, argument, options) {
let extendOptions = $.extend({}, this.defaultModalDaialogOptions, options); let extendOptions = $.extend({}, this.defaultModalDaialogOptions, options);
// 가운데 정렬 계산. // 가운데 정렬 계산.
@ -317,7 +355,7 @@ const CmmPopup = {
} }
return window.showModalDialog(url, argument, optionsString); return window.showModalDialog(url, argument, optionsString);
}, }
/** /**
* 현재 브라우저에서 주어진 높이와 넓이를 가지는 창이 가운데에 위치되는 좌표 값을 구한다. * 현재 브라우저에서 주어진 높이와 넓이를 가지는 창이 가운데에 위치되는 좌표 값을 구한다.
@ -326,7 +364,7 @@ const CmmPopup = {
* @param {Integer} height 높이. * @param {Integer} height 높이.
* @returns {object} 해당 창이 가운데에 위치되는 좌표 . * @returns {object} 해당 창이 가운데에 위치되는 좌표 .
*/ */
getCenterPosition : function(width, height) { ,getCenterPosition : function(width, height) {
const offsetX = typeof window.screenX != 'undefined' ? window.screenX : window.screenLeft; const offsetX = typeof window.screenX != 'undefined' ? window.screenX : window.screenLeft;
const offsetY = typeof window.screenY != 'undefined' ? window.screenY : window.screenTop; const offsetY = typeof window.screenY != 'undefined' ? window.screenY : window.screenTop;
const browserWidth = typeof window.outerWidth!='undefined' ? window.outerWidth : document.documentElement.clientWidth; const browserWidth = typeof window.outerWidth!='undefined' ? window.outerWidth : document.documentElement.clientWidth;
@ -335,7 +373,7 @@ const CmmPopup = {
const left = parseInt(shownBrowserWidth + ((browserWidth - width) / 2), 10); const left = parseInt(shownBrowserWidth + ((browserWidth - width) / 2), 10);
const top = parseInt(offsetY + ((browserHeight - height) / 2), 10); const top = parseInt(offsetY + ((browserHeight - height) / 2), 10);
return {left:left, top:top}; return {left:left, top:top};
}, }
/** /**
* 폼생성 * 폼생성
@ -346,7 +384,7 @@ const CmmPopup = {
* @param {Object} data 서버로 전송할 parameter data * @param {Object} data 서버로 전송할 parameter data
* @returns {object} 새로 열린 팝업창의 윈도우 객체. * @returns {object} 새로 열린 팝업창의 윈도우 객체.
*/ */
_getForm: function(url, target, method, data) { ,_getForm: function(url, target, method, data) {
if($("#PopupForm").length) { if($("#PopupForm").length) {
$("#PopupForm").remove(); $("#PopupForm").remove();
} }

@ -395,3 +395,4 @@ const setDateFmt = (srcDate, delimiter = '-') => {
return srcDate; return srcDate;
} }
} }

Loading…
Cancel
Save