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" />
@ -15,7 +12,7 @@
<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;
@ -76,6 +73,7 @@
</div> </div>
</div> </div>
<script type="text/javascript" src="<c:url value='/'/>resources/3rd-party/jquery/3.6.1/jquery.min.js"></script> <script type="text/javascript" src="<c:url value='/'/>resources/3rd-party/jquery/3.6.1/jquery.min.js"></script>
<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" > --%> <%-- <link href="<c:url value='/'/>resourcescss/style.css" rel="stylesheet" type="text/css" > --%>
<script type="text/javascript"> <script type="text/javascript">
@ -167,33 +165,21 @@
* 회원가입 팝업 * 회원가입 팝업
*/ */
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(){ function fn_FindId(){
var popUrl = "${ctx}/login/FindId_input_popup.do"; CmmPopup.open("<c:url value='/login/FindId_input_popup.do'/>", {}, {width: 500, height:300}, '아이디 찾기');
var popOption = "width=500px, height=300x, resizable=no, location=no, top=100px, left100px";
var target = '아이디 찾기';
window.open(popUrl,target,popOption);
} }
/** /**
* 비밀번호 찾기 팝업 * 비밀번호 찾기 팝업
*/ */
function fn_FindPw(){ function fn_FindPw(){
var popUrl = "${ctx}/login/FindPwd_input_popup.do"; CmmPopup.open("<c:url value='/login/FindPwd_input_popup.do'/>", {}, {width: 500, height:330}, '비밀번호 찾기');
var popOption = "width=500px, height=330px, resizable=no, location=no, top=100px, left100px";
var target = '비밀번호 찾기';
window.open(popUrl,target,popOption);
} }
/** /**

@ -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,62 +223,87 @@
<!-- //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(){ /**************************************************************************
XitUserRegMng_edit.init(); * Global Variable
}); **************************************************************************/
var fnCallbackZipSearch = (obj) => CmmPopup.setZipSearch(obj, document.userInfoVO);
/* ******************************* /* *******************************
* 사용자 등록관리 수정화면 Functions * function
******************************* */ ******************************* */
var XitUserRegMng_edit = { const fnUserMgtPopup = {
/* ======================== search: () => {
* 초기화 }
======================== */
init : function(){ ,add: () => {
//닫기 버튼 EVENT 설정 if(validateUserInfoVO(document.getElementById('userInfoVO'))) return;
$("#btnClose").on({
click : function(){ if(confirm("등록 하시겠습니까?")){
cmmAjax({
url: '<c:url value="/framework/biz/mng/usr/addUser.do"/>'
,data: $("#userInfoVO").serialize()
,success: () => {
window.opener.callBackSearch();
window.close(); window.close();
} }
}); })
//저장 버튼 Event 설정 }
$('#btnSave').on({
click: function(){
if (confirm('변경 하시겠습니까?')) {
if(validateUserInfoVO(document.userInfoVO)){
XitUserRegMng_edit.modifyData();
} }
,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();
}
})
} }
} }
});
$('#btnRemove').on({ , removeData: () => {
click : function(){
if(confirm("삭제 하시겠습니까?")){ if(confirm("삭제 하시겠습니까?")){
XitUserRegMng_edit.removeData(); cmmAjax({
} url: '<c:url value="/framework/biz/mng/usr/removeUser.do"/>'
,data: $("#userInfoVO").serialize()
,success: () => {
window.opener.callBackSearch();
window.close();
} }
}) })
//주소검색버튼 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(){ ,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 params = "";
var form = $('#userInfoVO'); var form = $('#userInfoVO');
var array = $(form).serializeArray(); var array = $(form).serializeArray();
@ -291,144 +316,14 @@
} }
}) })
} }
XitUserRegMng_edit.pagePopup('pwd', '<c:url value="/framework/biz/mng/usr/UserRegMng_editPwd_popup.do"/>', params); fnUserMgtPopup.pagePopup('pwd', '<c:url value="/framework/biz/mng/usr/UserRegMng_editPwd_popup.do"/>', params);
}
}); });
},
/* ========================
* 입력값 언어 선택
======================== */
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(){
}
}); });
},
/* ========================
* 데이터 삭제
======================== */
removeData : function(){
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(){
} /**************************************************************************
* initialize
**************************************************************************/
$(document).ready(function(){
}); });
},
/* ========================
* 유효성 검증
-flag에 따라 유효성 검증을 분기처리한다.
======================== */
validate : function(flag){
switch(flag){
case 'update' : //수정
break;
default : break;
}
return true;
},
/* ========================
* 페이지 이동
-외부사이트 링크가 필요 시 사용(내부코드는 각 페이지에 맞게 수정, ex>https://www.gov.kr/portal/main )
======================== */
pageLink: function(flag, url, params){
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);
},
/* ========================
* 주소 검색 팝업 OPEN
-도로명 주소를 검색할 수 있는 팝업을 오픈한다.
======================== */
fnSearchAdres: function(){
var popUrl = '<c:url value="/_anonymous_/api/AdresSearch.do"/>';
var params = '?callback=XitUserRegMng_edit.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;
}
}
</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>

@ -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 -->

@ -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