2025-10-10 17:14 개인정보 수정 화면 작업 & 비밀번호

This commit is contained in:
myname 2025-10-10 17:14:59 +09:00
parent 16d7c35c7b
commit 65cfabeab8
4 changed files with 837 additions and 18 deletions

View File

@ -228,12 +228,17 @@ public class EgovBBSManageController {
BoardMasterVO vo = new BoardMasterVO(); BoardMasterVO vo = new BoardMasterVO();
vo.setBbsId(boardVO.getBbsId()); vo.setBbsId(boardVO.getBbsId());
BoardMasterVO master = bbsAttrbService.selectBBSMasterInf(vo); BoardMasterVO master = bbsAttrbService.selectBBSMasterInf(vo);
String listNum = ""; String listNum = "10";
try {
if (("BBST05").equals(master.getBbsTyCode())) { if (("BBST05").equals(master.getBbsTyCode())) {
listNum = "12"; // 포토형 listNum = "12"; // 포토형
} else { } else {
listNum = master.getListNum(); listNum = master.getListNum();
} }
}catch(Exception ex) {
ex.printStackTrace();
}
boardVO.setPageUnit(Integer.parseInt(listNum)); boardVO.setPageUnit(Integer.parseInt(listNum));
boardVO.setPageSize(Integer.parseInt(master.getPageNum())); boardVO.setPageSize(Integer.parseInt(master.getPageNum()));

View File

@ -1979,9 +1979,12 @@ public class EgovLoginController {
} else if ("ROLE_VISIT".equals(user.getAuthority())) { } else if ("ROLE_VISIT".equals(user.getAuthority())) {
return "redirect:/cmm/main/mainPage.do"; return "redirect:/cmm/main/mainPage.do";
} else if ("ROLE_ADR_JRSDC".equals(user.getAuthority())) { } else if ("ROLE_ADR_JRSDC".equals(user.getAuthority())) {
//return "redirect:/kccadr/oprtn/cndtnSspnIdtmt/trgtList.do"; return "redirect:/kccadr/oprtn/cndtnSspnIdtmt/trgtList.do";
//return "redirect:/cmm/main/mainPage.do"; //return "redirect:/cmm/main/mainPage.do";
return "redirect:/cop/bbs/selectBoardList.do?bbsId=BBSMSTR_000000000040"; //return "redirect:/cop/bbs/selectBoardList.do?bbsId=BBSMSTR_000000000040";
} else if ("ROLE_ADR_KIPO".equals(user.getAuthority())) { //시정명령
return "redirect:/kccadr/oprtn/cmdTrgt/trgtList.do";
} else if ("ROLE_USER_MEMBER".equals(user.getAuthority())) { } else if ("ROLE_USER_MEMBER".equals(user.getAuthority())) {
System.out.println("비정상적인 사용자 redirect 임"); System.out.println("비정상적인 사용자 redirect 임");
return "redirect:/web/main/mainPage.do"; return "redirect:/web/main/mainPage.do";

View File

@ -597,6 +597,9 @@ public class EgovUserManageController {
return redirectUrlMaker.getRedirectUrl(); return redirectUrlMaker.getRedirectUrl();
} }
_getAdminInfo(model, uniqId, userSearchVO, loginVO);
/*
try { try {
ComDefaultCodeVO vo = new ComDefaultCodeVO(); ComDefaultCodeVO vo = new ComDefaultCodeVO();
//패스워드힌트목록을 코드정보로부터 조회 //패스워드힌트목록을 코드정보로부터 조회
@ -628,9 +631,9 @@ public class EgovUserManageController {
System.out.println(userManageVO); System.out.println(userManageVO);
if(userManageVO == null){ if(userManageVO == null){
/*redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("fail.common.select")); //redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("fail.common.select"));
RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uss/umt/user/EgovUserManage.do"); //RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uss/umt/user/EgovUserManage.do");
return redirectUrlMaker.getRedirectUrl();*/ //return redirectUrlMaker.getRedirectUrl();
} }
//권한조회 //권한조회
@ -680,10 +683,139 @@ public class EgovUserManageController {
}catch(Exception ex) { }catch(Exception ex) {
ex.printStackTrace(); ex.printStackTrace();
} }
*/
return "cmm/uss/umt/EgovUserSelectUpdt"; return "cmm/uss/umt/EgovUserSelectUpdt";
} }
/**
* 사용자정보 수정을 위해 사용자정보를 상세조회한다.
* 최고관리자의 경우에는 비밀번호를 체크하지 않는다.
* @param uniqId 상세조회대상 사용자아이디
* @param userSearchVO 검색조건
* @return cmm/uss/umt/EgovUserSelectUpdt
* @param model 화면모델
* @throws Exception
*/
@RequestMapping("/uss/umt/user/EgovUserSelectUpdtView4Self.do")
public String updateUserView4Self(
//@RequestParam("selectedId") String uniqId,
@ModelAttribute("searchVO") UserDefaultVO userSearchVO,
HttpServletRequest request,
@RequestParam Map<String, Object> commandMap,
Model model) throws Exception {
LoginVO loginVO = (LoginVO) EgovUserDetailsHelper.getAuthenticatedUser();
System.out.println("loginVO.getAuthority()");
System.out.println(loginVO.getAuthority());
System.out.println(loginVO.getAuthority());
/*
if(!"ROLE_ADMIN".equals(loginVO.getAuthority()) && !uniqId.equals(loginVO.getUniqId())) {
RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/cmm/main/mainPage.do");
return redirectUrlMaker.getRedirectUrl();
}
*/
String uniqId = loginVO.getUniqId();
System.out.println("loginVO.getUniqId()");
System.out.println(loginVO.getUniqId());
System.out.println(loginVO.getUniqId());
_getAdminInfo(model, uniqId, userSearchVO, loginVO);
/*
try {
ComDefaultCodeVO vo = new ComDefaultCodeVO();
//패스워드힌트목록을 코드정보로부터 조회
vo.setCodeId("COM022");
model.addAttribute("passwordHint_result", cmmUseService.selectCmmCodeDetail(vo));
//성별구분코드를 코드정보로부터 조회
vo.setCodeId("COM014");
model.addAttribute("sexdstnCode_result", cmmUseService.selectCmmCodeDetail(vo));
//사용자상태코드를 코드정보로부터 조회
vo.setCodeId("COM013");
model.addAttribute("emplyrSttusCode_result", cmmUseService.selectCmmCodeDetail(vo));
//소속기관코드를 코드정보로부터 조회 - COM025
vo.setCodeId("COM025");
model.addAttribute("insttCode_result", cmmUseService.selectCmmCodeDetail(vo));
//조직정보를 조회 - ORGNZT_ID정보
vo.setTableNm("LETTNORGNZTINFO");
model.addAttribute("orgnztId_result", cmmUseService.selectOgrnztIdDetail(vo));
//그룹정보를 조회 - GROUP_ID정보
vo.setTableNm("LETTNORGNZTINFO");
model.addAttribute("groupId_result", cmmUseService.selectGroupIdDetail(vo));
UserManageVO userManageVO = new UserManageVO();
userManageVO = userManageService.selectUser(uniqId);
userManageVO = egovCryptoUtil.decryptUserManageVO(userManageVO);
model.addAttribute("userSearchVO", userSearchVO);
model.addAttribute("userManageVO", userManageVO);
System.out.println("userManageVO");
System.out.println(userManageVO);
if(userManageVO == null){
redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("fail.common.select"));
RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uss/umt/user/EgovUserManage.do");
return redirectUrlMaker.getRedirectUrl();
}
//권한조회
AuthorManageVO authorManageVO = new AuthorManageVO();
authorManageVO.setFirstIndex(0);
authorManageVO.setLastIndex(10);
authorManageVO.setRecordCountPerPage(10);
authorManageVO.setAuthorSet("01");
authorManageVO.setSearchSortCnd("sort_num");
authorManageVO.setSearchSortOrd("desc");
authorManageVO.setAuthorManageList(egovAuthorManageService.selectAuthorList(authorManageVO));
model.addAttribute("authorList", authorManageVO.getAuthorManageList());
//initRsa(request);
if("ROLE_ADMIN".equals(loginVO.getAuthority())) {
model.addAttribute("isAdmin", "Y");
}
if("ROLE_USER_MEMBER".equals(loginVO.getAuthority())) {
model.addAttribute("isMember", "Y");
}
//selectbox 미리 만들기
LocVO locVO = new LocVO();
locVO.setTopLocNo(topLocNo); //최상위 매뉴번호
List<LocVO> orgHiddenList = orgChartManageService.selectOrgChartListAjax(locVO);
String userOneDepth = "";
String userTwoDepth = "";
if(null != userManageVO.getPartIdx()
&& !"".equals(userManageVO.getPartIdx())
) {
for(LocVO tempLocVO : orgHiddenList) {
if(userManageVO.getPartIdx().equals(tempLocVO.getId())){
if(1==tempLocVO.getDepths()) { //1뎁스면 조회 안함
userOneDepth = tempLocVO.getId();
}else { //2뎁스면
userTwoDepth = tempLocVO.getId() ;
userOneDepth = tempLocVO.getParent() ;
}
}
}
}
model.addAttribute("userOneDepth", userOneDepth);
model.addAttribute("userTwoDepth", userTwoDepth);
model.addAttribute("orgHiddenList", orgHiddenList);
}catch(Exception ex) {
ex.printStackTrace();
}
*/
return "cmm/uss/umt/EgovUserSelectUpdt4Self";
}
//사용자 수정화면 //사용자 수정화면
@RequestMapping("/uss/umt/user/EgovGnrlUserSelectUpdtView.do") @RequestMapping("/uss/umt/user/EgovGnrlUserSelectUpdtView.do")
public String updateGnrlUserView(@RequestParam("selectedId") String uniqId, public String updateGnrlUserView(@RequestParam("selectedId") String uniqId,
@ -921,6 +1053,10 @@ public class EgovUserManageController {
//권한업데이트 //권한업데이트
egovAuthorGroupService.updateAuthorGroup(authorGroup); egovAuthorGroupService.updateAuthorGroup(authorGroup);
System.out.println("tempLoginVO.getAuthority()");
System.out.println(tempLoginVO.getAuthority());
System.out.println(tempLoginVO.getAuthority());
redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.update")); redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("success.common.update"));
if(userManageVO.getGnrlUser().equals("N")){ if(userManageVO.getGnrlUser().equals("N")){
if("ROLE_USER_MEMBER".equals(tempLoginVO.getAuthority())) { if("ROLE_USER_MEMBER".equals(tempLoginVO.getAuthority())) {
@ -1726,13 +1862,7 @@ public class EgovUserManageController {
return "forward:/uss/umt/mber/EgovMberList.do"; return "forward:/uss/umt/mber/EgovMberList.do";
} }
private boolean validationPasswd(String pw){
String pattern = "(?=.*[0-9])(?=.*[a-z])(?=.*[!@#$%^&*()-+=])(?=\\S+$).{8,}";
if(pw.matches(pattern)){
return true;
}
return false;
}
@RequestMapping(value = "/uss/umt/user/PassMissResetAjax.do") @RequestMapping(value = "/uss/umt/user/PassMissResetAjax.do")
public ModelAndView passMissResetAjax(@RequestParam Map<String, Object> commandMap, public ModelAndView passMissResetAjax(@RequestParam Map<String, Object> commandMap,
@ -2230,7 +2360,11 @@ public class EgovUserManageController {
return modelAndView; return modelAndView;
} }
/////////////////////////////////////////////////
//
// private function
//
/////////////////////////////////////////////////
private UserManageVO _findUserWork( private UserManageVO _findUserWork(
UserManageVO p_userManageVO, UserManageVO p_userManageVO,
HttpServletRequest p_request HttpServletRequest p_request
@ -2255,4 +2389,103 @@ public class EgovUserManageController {
return p_userManageVO; return p_userManageVO;
} }
private void _getAdminInfo(
Model p_model //model
, String p_uniqId //대상자 ID 정보
, UserDefaultVO p_userSearchVO //검색정보
, LoginVO p_loginVO //login session 정보
) {
try {
ComDefaultCodeVO vo = new ComDefaultCodeVO();
//패스워드힌트목록을 코드정보로부터 조회
vo.setCodeId("COM022");
p_model.addAttribute("passwordHint_result", cmmUseService.selectCmmCodeDetail(vo));
//성별구분코드를 코드정보로부터 조회
vo.setCodeId("COM014");
p_model.addAttribute("sexdstnCode_result", cmmUseService.selectCmmCodeDetail(vo));
//사용자상태코드를 코드정보로부터 조회
vo.setCodeId("COM013");
p_model.addAttribute("emplyrSttusCode_result", cmmUseService.selectCmmCodeDetail(vo));
//소속기관코드를 코드정보로부터 조회 - COM025
vo.setCodeId("COM025");
p_model.addAttribute("insttCode_result", cmmUseService.selectCmmCodeDetail(vo));
//조직정보를 조회 - ORGNZT_ID정보
vo.setTableNm("LETTNORGNZTINFO");
p_model.addAttribute("orgnztId_result", cmmUseService.selectOgrnztIdDetail(vo));
//그룹정보를 조회 - GROUP_ID정보
vo.setTableNm("LETTNORGNZTINFO");
p_model.addAttribute("groupId_result", cmmUseService.selectGroupIdDetail(vo));
UserManageVO userManageVO = new UserManageVO();
userManageVO = userManageService.selectUser(p_uniqId);
userManageVO = egovCryptoUtil.decryptUserManageVO(userManageVO);
p_model.addAttribute("userSearchVO", p_userSearchVO);
p_model.addAttribute("userManageVO", userManageVO);
System.out.println("userManageVO");
System.out.println(userManageVO);
if(userManageVO == null){
/*redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("fail.common.select"));
RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uss/umt/user/EgovUserManage.do");
return redirectUrlMaker.getRedirectUrl();*/
}
//권한조회
AuthorManageVO authorManageVO = new AuthorManageVO();
authorManageVO.setFirstIndex(0);
authorManageVO.setLastIndex(10);
authorManageVO.setRecordCountPerPage(10);
authorManageVO.setAuthorSet("01");
authorManageVO.setSearchSortCnd("sort_num");
authorManageVO.setSearchSortOrd("desc");
authorManageVO.setAuthorManageList(egovAuthorManageService.selectAuthorList(authorManageVO));
p_model.addAttribute("authorList", authorManageVO.getAuthorManageList());
//initRsa(request);
if("ROLE_ADMIN".equals(p_loginVO.getAuthority())) {
p_model.addAttribute("isAdmin", "Y");
}
if("ROLE_USER_MEMBER".equals(p_loginVO.getAuthority())) {
p_model.addAttribute("isMember", "Y");
}
//selectbox 미리 만들기
LocVO locVO = new LocVO();
locVO.setTopLocNo(topLocNo); //최상위 매뉴번호
List<LocVO> orgHiddenList = orgChartManageService.selectOrgChartListAjax(locVO);
String userOneDepth = "";
String userTwoDepth = "";
if(null != userManageVO.getPartIdx()
&& !"".equals(userManageVO.getPartIdx())
) {
for(LocVO tempLocVO : orgHiddenList) {
if(userManageVO.getPartIdx().equals(tempLocVO.getId())){
if(1==tempLocVO.getDepths()) { //1뎁스면 조회 안함
userOneDepth = tempLocVO.getId();
}else { //2뎁스면
userTwoDepth = tempLocVO.getId() ;
userOneDepth = tempLocVO.getParent() ;
}
}
}
}
p_model.addAttribute("userOneDepth", userOneDepth);
p_model.addAttribute("userTwoDepth", userTwoDepth);
p_model.addAttribute("orgHiddenList", orgHiddenList);
}catch(Exception ex) {
ex.printStackTrace();
}
}
private boolean validationPasswd(String pw){
String pattern = "(?=.*[0-9])(?=.*[a-z])(?=.*[!@#$%^&*()-+=])(?=\\S+$).{8,}";
if(pw.matches(pattern)){
return true;
}
return false;
}
} }

View File

@ -0,0 +1,578 @@
<%--
Class Name : EgovUserSelectUpdt.jsp
Description : 사용자상세조회, 수정 JSP
Modification Information
수정일 수정자 수정내용
------- -------- ---------------------------
2009.03.03 JJY 최초 생성
2011.08.31 JJY 경량환경 버전 생성
author : 공통서비스 개발팀 JJY
since : 2009.03.03
--%>
<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="double-submit" uri="http://www.egovframe.go.kr/tags/double-submit/jsp" %>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Language" content="ko" >
<title>관리자 수정</title>
<script type="text/javascript" src="<c:url value="/validator.do"/>"></script>
<validator:javascript formName="userManageVO" staticJavascript="false" xhtml="true" cdata="false"/>
<script type="text/javascript" src="<c:url value='/js/EgovCmmUtl.js'/>" ></script>
<!-- 암화화 순서에 유의 -->
<!-- <script type="text/javascript" src="/js/RSA/rsa.js"></script> -->
<!-- <script type="text/javascript" src="/js/RSA/jsbn.js"></script> -->
<!-- <script type="text/javascript" src="/js/RSA/prng4.js"></script> -->
<!-- <script type="text/javascript" src="/js/RSA/rng.js"></script> -->
<!-- select niceselect -->
<!-- <script src="/direct/js/jquery.nice-select.min.js"></script> -->
<!-- <link rel="stylesheet" href="/direct/css/nice-select.css"> -->
<script type="text/javaScript" language="javascript" defer="defer">
$( document ).ready(function(){
// $('select').not(".displayN").niceSelect();
$("#orgDepth_01").on("change", function(){
setOrgDepth_01();
});
/* if(""!='${userOneDepth}'){//부서 초기세팅값 세팅
$('#orgDepth_01').val('${userOneDepth}');
$('#orgDepth_01').niceSelect('update');
$('#orgDepth_02').html($('#span_one_'+$("#orgDepth_01").val()).html().trim()) ;
$('#orgDepth_02').niceSelect('update');
if(""!='${userTwoDepth}'){
$("#orgDepth_02").val('${userTwoDepth}');
$('#orgDepth_02').niceSelect('update');
}
$("#orgDepth_02").niceSelect(); //display show 기능
} */
//직급 셀렉트박스 설정
if("${userManageVO.authorCode}" == "ROLE_ADR_ADMIN"){
$("#rank1").css('display', 'block');
$("#rank2").css('display', 'none');
$("#rank1").attr('disabled', false);
$("#rank2").attr('disabled', true);
// $("#rank1").val("${userManageVO.ofcpsNm}").prop("selected", true);
}else{
$("#rank1").css('display', 'none');
$("#rank2").css('display', 'block');
$("#rank1").attr('disabled', true);
$("#rank2").attr('disabled', false);
}
_chgAuthorSelect("${userManageVO.authorCode}");
/*
if("${userManageVO.authorCode}" == "ROLE_ADR_JRSDC"){
$('#userWork_case1').hide();
$('#userWork_case2').show();
}else{
$('#userWork_case1').show();
$('#userWork_case2').hide();
}
*/
});
function setOrgDepth_01(){
if(""==$("#orgDepth_01").val()){ //빈값 선택
$("#orgDepth_02").niceSelect('destroy').hide();
$('#partIdx').val($("#orgDepth_01").val());
}else{
$('#orgDepth_02').html($('#span_one_'+$("#orgDepth_01").val()).html().trim());
$('#orgDepth_02').niceSelect('update');
$('#partIdx').val($("#orgDepth_01").val());
$("#orgDepth_02").niceSelect(); //display show 기능
}
}
function onChagneOrgDepth_02(){ //변경시 partIdx 세팅
if(""==$("#orgDepth_02").val()){
$('#partIdx').val($("#orgDepth_01").val());
}else{
$('#partIdx').val($("#orgDepth_02").val());
}
}
{
var killBackSpace = function(e) { e = e ? e : window.event; var t = e.target ? e.target : e.srcElement ? e.srcElement : null; if(t && t.tagName && (t.type && /(password)|(text)|(file)/.test(t.type.toLowerCase())) || t.tagName.toLowerCase() == 'textarea') { return true; } var k = e.keyCode ? e.keyCode : e.which ? e.which : null; if(k == 8) { if(e.preventDefault) { e.preventDefault(); } return false; } return true; }; if(typeof document.addEventListener != 'undefined') { document.addEventListener('keydown', killBackSpace, false); }else if(typeof document.attachEvent != 'undefined') { document.attachEvent('onkeydown', killBackSpace); }else { if(document.onkeydown != null) { var oldOnkeydown = document.onkeydown; document.onkeydown = function(e) { oldOnkeydown(e); killBackSpace(e); }; }else { document.onkeydown = killBackSpace; } }
}
{
history.pushState(null , null, location.href);
}
function fnListPage(){
document.searchForm.action = "<c:url value='/uss/umt/user/EgovUserManage.do'/>";
document.searchForm.submit();
}
function fnDeleteUser(checkedIds) {
if(confirm("<spring:message code="common.delete.msg" />")){
document.userManageVO.checkedIdForDel.value=checkedIds;
document.userManageVO.action = "<c:url value='/uss/umt/user/EgovUserDelete.do'/>";
document.userManageVO.submit();
}
}
function fnPasswordMove(){
document.modiForm.action = "<c:url value='/uss/umt/user/EgovUserPasswordUpdtView.do'/>";
document.modiForm.submit();
}
function fnUpdate(){
if(!nCheck()){
return;
}
var email = document.getElementById("emailAdres").value;
if(email != ''){
var exptext = /^[A-Za-z0-9_\.\-]+@[A-Za-z0-9\-]+\.[A-Za-z0-9\-]+/;
if(exptext.test(email)==false){
alert("이메일주소 형식이 올바르지 않습니다.");
return;
}
}
if(!validateUserManageVO(document.userManageVO)){
return;
}else{
if($("#passwdCmp").val() == ""){
alert("수정하시려면 비밀번호 확인란에 비밀번호를 넣어주세요.");
return ;
}
if(!confirm("수정하시겠습니까?")){
return ;
}
// <c:if test="${empty isAdmin and empty isMember}">
// var rsa = new RSAKey();
// rsa.setPublic($('#RSAModulus').val(),$('#RSAExponent').val());
// $("#rsaPasswd").val(rsa.encrypt($("#passwdCmp").val()));
// </c:if>
document.userManageVO.submit();
}
}
function updateMemberAjax(){
var url = "<c:url value='/uss/umt/user/EgovUserSelectUpdtAjax.do'/>";
var data = new FormData(document.userManageVO);
$.ajax({
type: "POST",
url: url,
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
//timeout: 600000,
success: function (returnData, status) {
if(status == 'success'){ // status 확인 필요한가. 석세스 안뜨면 에러 가지 않나
if("fail"==returnData.result){
alert(returnData.message);
return;
}
alert("저장 되었습니다.");
goList();
} else if(status== 'fail'){
alert("저장에 실패하였습니다. !!");
}
},
error: function (e) { alert("저장에 실패하였습니다."); console.log("ERROR : ", e); }
});
}
function fn_egov_inqire_cert() {
var url = "<c:url value='/uat/uia/EgovGpkiRegist.do'/>";
var popupwidth = '500';
var popupheight = '400';
var title = '인증서';
Top = (window.screen.height - popupheight) / 3;
Left = (window.screen.width - popupwidth) / 2;
if (Top < 0) Top = 0;
if (Left < 0) Left = 0;
Future = "fullscreen=no,toolbar=no,location=no,directories=no,status=no,menubar=no, scrollbars=no,resizable=no,left=" + Left + ",top=" + Top + ",width=" + popupwidth + ",height=" + popupheight;
PopUpWindow = window.open(url, title, Future)
PopUpWindow.focus();
}
function fn_egov_dn_info_setting(dn) {
var frm = document.userManageVO;
frm.subDn.value = dn;
}
//직원 상세 - 부서 선택박스 변경 시
function fn_select_emp_part(obj) {
var selectId = $(obj).children("option:selected").val();
var selectDepth = $(obj).children("option:selected").attr("depth")*1+1;
if(selectId == "" && selectDepth =="2"){
$('#partIdx').val(selectId) ;
$("#depth_2").remove();
$("#depth_3").remove();
return;
}
if(selectId == "" && selectDepth =="3"){
$('#partIdx').val($('#depth_1').val());
$("#depth_3").remove();
return;
}
if(selectDepth =="4"){
if(selectId == ""){
$('#partIdx').val($('#depth_2').val());
}else{
$('#partIdx').val(selectId) ;
}
return;
}
if(selectDepth =="2"){
$("#depth_2").remove();
$("#depth_3").remove();
}
if(selectDepth =="3"){
$("#depth_3").remove();
}
$('#partIdx').val(selectId) ;
ajaxGetChartDepth( selectId, selectDepth );
}
function ajaxGetChartDepth(upperIdx , depth){
$.ajax({
type:"POST",
url:"<c:url value='/uss/umt/user/ajaxGetChartDepth.do' />",
data:{ "depth": depth , "upperIdx": upperIdx},
dataType:'json',
success:function(returnData, status){
if(status == "success") {
var str = "<select id='depth_"+depth+"' depth='"+depth+"' onchange='fn_select_emp_part(this);'>";
str += "<option value='' depth='"+depth+"'>선택</option>";
$.each(returnData.orgChartDepth , function(idx, val){
str += "<option value='"+val.id+"' depth='"+depth+"'>"+val.text+"</option>";
});
str += "</select>";
$("#orgChartDepth").append(str);
}else{ alert("ERROR!");return;}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
function changSelect(obj){
var str = "<option value='ROLE_USER_MEMBER'>일반관리자</option>";
if(obj.value == "super"){
str += "<option value='ROLE_ADMIN'>최고관리자</option>"
}
$("#authorCode option").remove();
$("#authorCode").append(str);
}
function passMissReset(){
$.ajax({
type:"POST",
url:"<c:url value='/uss/umt/user/PassMissResetAjax.do' />",
data:{
"id": "${userManageVO.emplyrId}"
},
dataType:'json',
timeout:(1000*30),
success:function(returnData, status){
if(status == "success") {
alert("카운터가 초기화 되었습니다.");
}else{ alert("ERROR!");return;}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
function nCheck(){
var numCheck = document.getElementById("offmTelno").value;
if(numCheck!=""){
if(/[^0123456789-]/g.test(numCheck)){
alert("사무실 전화번호는 숫자와 특수문자'-'만 입력이 가능합니다.");
return false;
}
}
return true;
}
function nCheck2(){
var numCheck = document.getElementById("numCheck");
if(/[^0123456789]/g.test(numCheck.value)){
alert("숫자가 아닙니다.\n\n0~9의 숫자만 허용합니다.");
}
}
function authorChange(obj) {
if(obj.selectedIndex == '0'){
$("#rank1").css('display', 'block');
$("#rank2").css('display', 'none');
$("#rank1").attr('disabled', false);
$("#rank2").attr('disabled', true);
}else{
$("#rank1").css('display', 'none');
$("#rank2").css('display', 'block');
$("#rank1").attr('disabled', true);
$("#rank2").attr('disabled', false);
}
//alert(obj.options[obj.selectedIndex].value);
_chgAuthorSelect(obj.options[obj.selectedIndex].value);
/*
if (obj.options[obj.selectedIndex].value=='ROLE_ADR_JRSDC'){
$('#userWork_case1').hide();
$('#userWork_case2').show();
}else{
$('#userWork_case1').show();
$('#userWork_case2').hide();
}
*/
}
//권한에 따라서 담당업무를 변경한다.
function _chgAuthorSelect(p_obj_selectedIndex){
if (p_obj_selectedIndex=='ROLE_ADR_JRSDC'){ //기소유예검찰담당자
$('#userWork_case1').hide();
$('#userWork_case2').show();
$('#userWork_case3').hide();
}else if (p_obj_selectedIndex=='ROLE_VISIT'){ //찾교담당자
$('#userWork_case1').hide();
$('#userWork_case2').hide();
$('#userWork_case3').show();
}else{
$('#userWork_case1').show();
$('#userWork_case2').hide();
$('#userWork_case3').hide();
}
}
</script>
</head>
<body>
<form:form commandName="userManageVO" action="${pageContext.request.contextPath}/uss/umt/user/EgovUserSelectUpdt.do" name="userManageVO" method="post" >
<double-submit:preventer tokenKey="someKey" />
<input name="checkedIdForDel" type="hidden" />
<!-- 검색조건 유지 -->
<input type="hidden" name="searchCondition" value="<c:out value='${userSearchVO.searchCondition}'/>"/>
<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="pageIndex" value="<c:out value='${userSearchVO.pageIndex}'/>"/>
<!-- <input type="hidden" name="rsaPasswd" id="rsaPasswd" /> -->
<%-- <input type="hidden" id="RSAModulus" value="${RSAModulus}"/> --%>
<%-- <input type="hidden" id="RSAExponent" value="${RSAExponent}"/> --%>
<input type="hidden" name="partIdx" id="partIdx" value="<c:out value='${userManageVO.partIdx}'/>"/>
<!-- 사용자유형정보 : password 수정화면으로 이동시 타겟 유형정보 확인용, 만약검색조건으로 유형이 포함될경우 혼란을 피하기위해 userTy명칭을 쓰지 않음-->
<input type="hidden" name="userTyForPassword" value="<c:out value='${userManageVO.userTy}'/>" />
<!-- cont -->
<div class="cont_wrap">
<div class="box">
<!-- cont_tit -->
<div class="cont_tit">
<h2>관리자수정</h2>
<!-- <ul class="cont_nav">
<li class="home"><a href="/"><i></i></a></li>
<li>
<p>관리자 관리</p>
</li>
<li><span class="cur_nav">관리자 수정</span></li>
</ul> -->
</div>
<!-- //cont_tit -->
<div class="cont">
<!-- list_상세 -->
<div class="tbType02">
<table>
<colgroup>
<col style="width: 20%">
<col style="width: 80%">
</colgroup>
<tbody>
<tr>
<th><span class="reqArea">사용자아이디</span></th>
<td colspan="3">
<form:input path="emplyrId" id="emplyrId" size="50" maxlength="20" readonly="true" />
<form:errors path="emplyrId" cssClass="error"/>
<form:hidden path="uniqId" />
</td>
</tr>
<tr>
<th><span class="reqArea">이름</span></th>
<td colspan="3">
<form:input path="emplyrNm" id="emplyrNm" cssClass="txaIpt" size="50" maxlength="60" />
<form:errors path="emplyrNm" cssClass="error" />
</td>
</tr>
<%-- <tr <c:if test="${empty isAdmin}"><c:out value="style=display:none;" /></c:if>> --%>
<!-- <th>권한</th> -->
<!-- <td colspan="3"> -->
<!-- <select name="authorCode" id="authorCode" title="권한" onchange="authorChange(this)" class="sel_type1"> -->
<%-- <c:forEach var="authorResult" items="${authorList}" varStatus="status"> --%>
<%-- <c:if test="${!('ROLE_GNRL_USER' eq authorResult.authorCode or 'ROLE_ANONYMOUS' eq authorResult.authorCode)}"> <!-- 사용자/방문자제외 --> --%>
<%-- <option value="<c:out value="${authorResult.authorCode}"/>" <c:if test="${authorResult.authorCode eq userManageVO.authorCode}">selected</c:if>> --%>
<%-- <c:out value="${authorResult.authorNm}"/> --%>
<!-- </option> -->
<%-- </c:if> --%>
<%-- </c:forEach> --%>
<!-- </select> -->
<!-- </td> -->
<!-- </tr> -->
<tr style="display:none;">
<th>직책</th>
<td colspan="3">
<select name="ofcpsNm" title="직급" id="rank1" class="sel_type1">
<option value="10" selected>조정조사관</option>
<option value="20" <c:if test="${userManageVO.ofcpsNm eq '20'}">selected</c:if>>조정팀장</option>
<option value="30" <c:if test="${userManageVO.ofcpsNm eq '30'}">selected</c:if>>부서장</option>
<option value="40" <c:if test="${userManageVO.ofcpsNm eq '40'}">selected</c:if>>위원장</option>
</select>
<select name="ofcpsNm" title="직급" id="rank2" class="sel_type1">
<option value="admin">시스템관리자</option>
</select>
<%-- <form:input path="ofcpsNm" id="ofcpsNm" cssClass="txaIpt" size="50" maxlength="15" placeholder="" />
<form:errors path="ofcpsNm" cssClass="error" /> --%>
</td>
</tr>
<tr>
<th>전화번호</th>
<td colspan="3">
<form:input path="offmTelno" id="offmTelno" cssClass="txaIpt" size="50" maxlength="15" placeholder="예시 : 02-123-4567" />
<form:errors path="offmTelno" cssClass="error" />
</td>
</tr>
<tr>
<th>팩스번호</th>
<td colspan="3">
<form:input path="fxnum" id="fxnum" cssClass="txaIpt" size="50" maxlength="15" placeholder="예시 : 02-123-4567" />
<form:errors path="fxnum" cssClass="error" />
</td>
</tr>
<tr>
<th>담당업무</th>
<td colspan="3">
<div style="display:;" id="userWork_case1">
<form:input path="userWork" id="userWork" cssClass="txaIpt" size="50" maxlength="15" placeholder="" />
<form:errors path="userWork" cssClass="error" />
</div>
<div style="display:;" id="userWork_case2">
<ve:select codeId="VEA008" name="userWork" id="userWork" styleClass="sel_type1" selectedValue="${userManageVO.userWork}" defaultValue=""/>
</div>
<div style="display:;" id="userWork_case3">
<ve:select codeId="VE0011" name="userWork" id="userWork" styleClass="sel_type1" selectedValue="${userManageVO.userWork}" defaultValue=""/>
</div>
</td>
</tr>
<tr>
<th>이메일주소</th>
<td colspan="3">
<form:input path="emailAdres" id="emailAdres" cssClass="txaIpt" size="50" maxlength="50" />
<form:errors path="emailAdres" cssClass="error" />
</td>
</tr>
<%-- <c:if test="${empty isAdmin and empty isMember}">
<tr>
<th>비밀번호확인</th>
<td colspan="3">
<input type="password" name="passwdCmp" id="passwdCmp" type="text" value="" size="50" maxlength="50" style="width: 95%;">
</td>
</tr>
</c:if> --%>
<c:if test="${!empty isAdmin}">
<tr>
<th>로그인실패 초기화</th>
<td colspan="3">
<button class="btnType05" onclick="passMissReset(); return false;">초기화</button>
<!-- <input type="button" class="btnType1" value="초기화" onclick="passMissReset(); return false;"> -->
</td>
</tr>
</c:if>
</tbody>
</table>
</div>
<!-- //list_상세 -->
<!-- btn_wrap -->
<div class="btn_wrap btn_layout01">
<div class="area_left">
<c:if test="${!empty isAdmin}">
<%-- <button class="btn_type07" onclick="fnDeleteUser('<c:out value='${userManageVO.userTy}'/>:<c:out value='${userManageVO.uniqId}'/>'); return false;">삭 제</button> --%>
</c:if>
<button class="btnType01" onclick="fnPasswordMove(); return false;">비밀번호 변경</button>
</div>
<div class="area_right">
<button class="btnType02" onclick="fnUpdate(); return false;">수 정</button>
<c:if test="${!empty isAdmin}">
<!-- <button class="btnType03" onclick="fnListPage(); return false;">목 록</button> -->
</c:if>
</div>
</div>
<!-- //btn_wrap -->
</div>
</div>
</div>
<!-- //cont -->
<form:hidden path="password" />
<input type="hidden" name="gnrlUser" value="N"> <!-- gnrlUser가 N이면 관리자등록 -->
</form:form>
<form name="searchForm" method="get"></form>
<form name="modiForm" method="get" action="<c:url value='/sec/ram/EgovAuthorRoleList.do'/>" >
<input type="hidden" name="uniqId" value="<c:out value='${userManageVO.uniqId}'/>"/>
<input type="hidden" name="userTyForPassword" value="<c:out value='${userManageVO.userTy}'/>" />
<input type="hidden" name="emplyrId" value="<c:out value='${userManageVO.emplyrId}'/>" />
<input type="hidden" name="gnrlUser" value="N"/>
</form>
<!-- selectbox 미리만들기 -->
<!-- 2뎁스 만들기 -->
<%-- <c:forEach var="hiddenResult_one" items="${orgHiddenList}" varStatus="status">
<c:if test="${hiddenResult_one.depths eq '1'}">
<span id="span_one_${hiddenResult_one.id}" style="display:none;">
<option value="">선택</option>
<c:forEach var="hiddenResult_two" items="${orgHiddenList}" varStatus="status"><c:if test="${hiddenResult_one.id eq hiddenResult_two.parent}"><option value="<c:out value='${hiddenResult_two.id}'/>"><c:out value='${hiddenResult_two.text}'/></option></c:if></c:forEach>
</span>
</c:if>
</c:forEach> --%>
</body>
</html>