초기소스
This commit is contained in:
425
src/main/webapp/WEB-INF/views/admin/use/mngr/maJobUserC.jsp
Normal file
425
src/main/webapp/WEB-INF/views/admin/use/mngr/maJobUserC.jsp
Normal file
@@ -0,0 +1,425 @@
|
||||
<%@ page import="java.util.Date" %>
|
||||
<%@ 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="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ taglib prefix="ui" uri="http://www.winbit.kr/ctl/ui"%>
|
||||
<%@ taglib prefix="f" uri="/WEB-INF/tlds/f.tld"%>
|
||||
<%--
|
||||
Class Name : maJobUserC.jsp
|
||||
Description : 업무 사용자 등록
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
since : 2023.12.19 김세엽 최초 생성
|
||||
2024-01-16 최범식 수정
|
||||
--%>
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
|
||||
<head>
|
||||
<%-- 공통 include --%>
|
||||
<%@include file ="/WEB-INF/views/comm/admin/Include.jsp" %>
|
||||
</head>
|
||||
|
||||
<script>
|
||||
|
||||
$( document ).ready(function() {
|
||||
$('#noData').hide();
|
||||
|
||||
fn_add_codeList('#userDv', 'radio', 'mngrDv', '01', JSON.parse('${resultMap.managerCodeList}') );
|
||||
fn_add_codeList('#emailAderssDv', 'select', 'emailAderss', '99', JSON.parse('${resultMap.emailCode}') );
|
||||
|
||||
$('[name=emailAderss]').change(function() {
|
||||
$('#email2').val('');
|
||||
$('#email2').val($('#emailAderssDv').find('.current').text());
|
||||
});
|
||||
|
||||
$('input').keydown(function(event) {
|
||||
if (event.keyCode === 13) {
|
||||
event.preventDefault();
|
||||
};
|
||||
});
|
||||
//휴대폰 포매팅
|
||||
$("#mbtlnb").val(fn_format_mbtlnb($("#mbtlnb").val()));
|
||||
});
|
||||
isDupChk = false;
|
||||
|
||||
/* ********************************************************
|
||||
* IP 입력창 숨기기 및 Y/N 값 변경
|
||||
******************************************************** */
|
||||
const fn_permit_ip = function(_tageg, arg) {
|
||||
// 체크일때
|
||||
if($(_tageg).is(':checked')){
|
||||
$(_tageg).val('Y');
|
||||
if (arg === 'ip') {
|
||||
$('#lmttIpsInputRow').show();
|
||||
}
|
||||
} else {
|
||||
$(_tageg).val('N');
|
||||
if (arg === 'ip') {
|
||||
$('#lmttIpsInputRow').hide();
|
||||
}
|
||||
}
|
||||
}
|
||||
/* ********************************************************
|
||||
* IP 합치기
|
||||
******************************************************** */
|
||||
const fn_make_ipsStr = function() {
|
||||
let ipStr = '';
|
||||
if($("input[name='lmttIpCheck']").is(":checked")){
|
||||
$('[name=lmttIps]').each(function(){
|
||||
if($(this).val() !== '') {
|
||||
ipStr += '|' + $(this).val();
|
||||
}
|
||||
});
|
||||
ipStr = ipStr.substring(1);
|
||||
}
|
||||
$('[name=lmttIp]').val(ipStr);
|
||||
}
|
||||
/* ********************************************************
|
||||
* 전화번호 하이픈 제거
|
||||
******************************************************** */
|
||||
const fn_make_mbtlnb = function() {
|
||||
|
||||
var mbtlnb = $('#mbtlnb').val();
|
||||
$('[name=mbtlnb]').val(mbtlnb.trim().replace(/-/g, ''));
|
||||
}
|
||||
/* ********************************************************
|
||||
* email 합치기
|
||||
******************************************************** */
|
||||
const fn_make_email = function() {
|
||||
|
||||
let domain = $('[name=email2]').val();
|
||||
let id = $('[name=email1]').val();
|
||||
$('[name=email]').val(id + '@' + domain);
|
||||
}
|
||||
|
||||
/* ********************************************************
|
||||
* 업무사용자 리스트 이동
|
||||
******************************************************** */
|
||||
const fn_select_jobuser_list = function() {
|
||||
$('#backupForm').attr('action', '<c:url value="/admin/use/mngr/selectJobUserListInqireForm"/>');
|
||||
$('#backupForm').attr('method', 'post');
|
||||
$('#backupForm').submit();
|
||||
};
|
||||
/* ********************************************************
|
||||
* 비밀번호 체크
|
||||
******************************************************** */
|
||||
const fn_check_password = function(){
|
||||
|
||||
const password = $('#password').val();
|
||||
const passwordA = $('#passwordA').val();
|
||||
|
||||
if(password != passwordA){
|
||||
alert('비밀번호가 일치하지 않습니다.');
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
/* ********************************************************
|
||||
* ip 추가 버튼 기능
|
||||
******************************************************** */
|
||||
const fn_add_lmttIps_input = function() {
|
||||
|
||||
const newInputContent = `<tr>
|
||||
<td class="left">
|
||||
<div class="input-container w-full">
|
||||
<input type="text" class="input-text xl ml-10" name="lmttIps" title="접속허용IP" >
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<button type="button" class="circle-btn delete" onclick="fn_remove_Input(this);">
|
||||
<span class="visually-hidden"><spring:message code="button.delete"/></span>
|
||||
</button>
|
||||
</td>
|
||||
</tr>`;
|
||||
$('#lmttIpsInputRow').append(newInputContent);
|
||||
$('#noData').hide();
|
||||
}
|
||||
|
||||
/* ********************************************************
|
||||
* ip 삭제 버튼 기능
|
||||
******************************************************** */
|
||||
const fn_remove_Input = function(_target) {
|
||||
|
||||
$(_target).closest('tr').remove();
|
||||
let cnt = $('#lmttIpsInputRow').children().length;
|
||||
if (cnt === 1) $('#noData').show();
|
||||
}
|
||||
|
||||
</script>
|
||||
<body>
|
||||
<%@include file ="/WEB-INF/views/comm/admin/Header.jsp" %>
|
||||
<main class="main">
|
||||
<%@include file ="/WEB-INF/views/comm/admin/Left.jsp" %>
|
||||
<div class="content">
|
||||
<div class="content__inner">
|
||||
<button class="side-nav__fold"><span class="visually-hidden">좌측메뉴 펼치기/닫기</span></button>
|
||||
<div class="page-title">
|
||||
<h2 class="page-title__title">업무사용자 등록</h2>
|
||||
<div class="page-title__btn-container">
|
||||
<a href="#fn_select_jobuser_list" onclick="fn_select_jobuser_list();" class="btn outline"><spring:message code="button.catalog"/></a>
|
||||
<button class="btn primary" onclick="fn_regist(); return false;" ><spring:message code="button.save"/></button>
|
||||
</div>
|
||||
</div>
|
||||
<section class="content-section">
|
||||
<h3 class="content-section__title">업무사용자 등록</h3>
|
||||
<form id="regForm" class="common-form" >
|
||||
<input type="hidden" name="srchType" value="${resultMap.vo.srchType }" />
|
||||
<input type="hidden" name="srchStr" value="${resultMap.vo.srchStr }" />
|
||||
<input type="hidden" name="srchMngrDv" value="${resultMap.vo.srchMngrDv }" />
|
||||
<input type="hidden" name="srchStartDate" value="${resultMap.vo.srchStartDate }" />
|
||||
<input type="hidden" name="srchEndDate" value="${resultMap.vo.srchEndDate }" />
|
||||
<input type="hidden" name="srchDatePick" value="${resultMap.vo.srchDatePick }" />
|
||||
<input type="hidden" name="pageUint" value="${resultMap.vo.pageUnit }" />
|
||||
<input type="hidden" name="pageIndex" value="${resultMap.vo.pageIndex }" />
|
||||
<input type="hidden" name="email" value="" />
|
||||
<input type="hidden" name="lmttIp" value="" />
|
||||
<div class="table-wrapper">
|
||||
<table class="table">
|
||||
<caption>해당 테이블에 대한 설명</caption>
|
||||
<colgroup>
|
||||
<col style="width: 12%;">
|
||||
<col style="width: 38%;">
|
||||
<col style="width: 12%;">
|
||||
<col style="width: 38%;">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>사용자 명<span class="red-7">*</span></th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input class="input-text md" type="text" id="mngrNm" name="mngrNm" title="사용자명" maxlength="20">
|
||||
</div>
|
||||
</td>
|
||||
<th>아이디<span class="red-7">*</span></th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input class="input-text" type="text" id="mngrId" name="mngrId" title="사용자아이디" maxlength="20">
|
||||
<button type="button" class="btn sm gray" onclick="fn_id_doubleCheck();"><spring:message code="button.doubleCheck"/></button>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>비밀번호<span class="red-7">*</span></th>
|
||||
<td>
|
||||
<div class="td-inner vertical">
|
||||
<input class="input-text" type="password" id="password" name="password" title="비밀번호" maxlength="25">
|
||||
<p class="fyi gray-7">10-20자, 영문 대소문자 또는 숫자, 특수문자 중 2가지 이상 조합</p>
|
||||
</div>
|
||||
</td>
|
||||
<th>비밀번호 확인<span class="red-7">*</span></th>
|
||||
<td>
|
||||
<div class="td-inner vertical">
|
||||
<input class="input-text" type="password" id="passwordA" title="비밀번호" maxlength="25">
|
||||
<p class="fyi gray-7">사용가능 특수문자 : ! # $ % & ( ) * + - / : < = > ? @ [ \ ] ^ _ { | } ~</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>부서명</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input class="input-text md" type="text" id="partnm" name="partnm" title="부서명" maxlength="20">
|
||||
</div>
|
||||
</td>
|
||||
<th>이메일<span class="red-7">*</span></th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input class="input-text sm" type="text" name="email1" maxlength="25">
|
||||
<span>@</span>
|
||||
<input class="input-text sm" type="text" name="email2" id="email2" maxlength="20">
|
||||
<div class="select-box" id="emailAderssDv"></div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>전화번호</th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input class="input-text lg" type="text" id="telnb" name="telnb" title="전화번호" oninput="fn_set_event(this, 'keyup', fn_fmt_telno)" maxlength="12">
|
||||
</div>
|
||||
</td>
|
||||
<th>휴대전화번호<span class="red-7">*</span></th>
|
||||
<td>
|
||||
<div class="td-inner">
|
||||
<input class="input-text lg" type="text" id="mbtlnb" title="휴대전화번호" oninput="fn_set_event(this, 'keyup', fn_fmt_telno)" maxlength="13">
|
||||
<input type="hidden" name="mbtlnb">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>사용자 구분<span class="red-7">*</span></th>
|
||||
<td colspan="3">
|
||||
<div class="td-inner">
|
||||
<div class="custom-radio-container" id="userDv"></div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>로그인 보안</th>
|
||||
<td colspan="3">
|
||||
<div class="td-inner">
|
||||
<div class="b-checkbox-container">
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" name="lmttIpCheck" value="N" onchange="fn_permit_ip(this, 'ip');" />
|
||||
<span class="check"></span>
|
||||
<span class="control-label">IP보안</span>
|
||||
</label>
|
||||
<label class="b-checkbox checkbox">
|
||||
<input type="checkbox" name="mblphonCrtfcAt" value="N" onchange="fn_permit_ip(this, '2fas');" >
|
||||
<span class="check"></span>
|
||||
<span class="control-label">2단계 인증</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>접속허용IP</th>
|
||||
<td colspan="3">
|
||||
<div class="td-inner">
|
||||
<div class="table-wrapper" style="width: 400px;">
|
||||
<table class="table vertical tight">
|
||||
<caption>접속허용IP</caption>
|
||||
<colgroup>
|
||||
<col>
|
||||
<col style="width:14%;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>목록</th>
|
||||
<th>
|
||||
<button type="button" id="textbox-row-add" class="circle-btn add" onclick="fn_add_lmttIps_input();">
|
||||
<span class="visually-hidden"><spring:message code="button.add"/></span>
|
||||
</button>
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="lmttIpsInputRow">
|
||||
<tr>
|
||||
<td class="left">
|
||||
<div class="input-container w-full">
|
||||
<input type="text" class="input-text xl ml-10" name="lmttIps" title="접속허용IP" />
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<button type="button" class="circle-btn delete" onclick="fn_remove_Input(this);">
|
||||
<span class="visually-hidden"><spring:message code="button.delete"/></span>
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="left">
|
||||
<div class="input-container w-full">
|
||||
<input type="text" class="input-text xl ml-10" name="lmttIps" title="접속허용IP" >
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<button type="button" class="circle-btn delete" onclick="fn_remove_Input(this);">
|
||||
<span class="visually-hidden"><spring:message code="button.delete"/></span>
|
||||
</button>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="noData" >
|
||||
<td colspan="2">
|
||||
접속허용IP를 입력해 주세요.
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</form>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
<form id="backupForm" method="post" >
|
||||
<input type="hidden" name="srchType" value="${resultMap.vo.srchType }" />
|
||||
<input type="hidden" name="srchStr" value="${resultMap.vo.srchStr }" />
|
||||
<input type="hidden" name="srchMngrDv" value="${resultMap.vo.srchMngrDv }" />
|
||||
<input type="hidden" name="srchStartDate" value="${resultMap.vo.srchStartDate }" />
|
||||
<input type="hidden" name="srchEndDate" value="${resultMap.vo.srchEndDate }" />
|
||||
<input type="hidden" name="srchDatePick" value="${resultMap.vo.srchDatePick }" />
|
||||
<input type="hidden" name="pageUnit" value="${resultMap.vo.pageUnit }" />
|
||||
<input type="hidden" name="pageIndex" value="${resultMap.vo.pageIndex }" />
|
||||
<input type="hidden" name="mngrInnb" value="" />
|
||||
<input type="hidden" name="pageDv" value="" />
|
||||
</form>
|
||||
<script>
|
||||
/* ********************************************************
|
||||
* 업무사용자 등록
|
||||
******************************************************** */
|
||||
const fn_regist = function() {
|
||||
|
||||
if(!isDupChk) {
|
||||
alert('아이디 중복 체크해 주세요.')
|
||||
return;
|
||||
}
|
||||
if(!fn_check_password()) return;
|
||||
if(!confirm('업무사용자를 <spring:message code="confirm.common.save"/>')) return;
|
||||
fn_make_email();
|
||||
fn_make_mbtlnb();
|
||||
fn_make_ipsStr();
|
||||
|
||||
let params = $('#regForm').serialize();
|
||||
|
||||
|
||||
$.ajax({
|
||||
type: 'post',
|
||||
url : '<c:url value="/admin/use/mngr/insertJobUserRegist"/>',
|
||||
data : params,
|
||||
success:function(result) {
|
||||
let mngrInnb = JSON.parse(result.resBody.result);
|
||||
$('#backupForm').find('[name=mngrInnb]').val(mngrInnb);
|
||||
$('#backupForm').find('[name=pageDv]').val('I');
|
||||
|
||||
if(mngrInnb > 0){
|
||||
alert("<spring:message code="success.common.insert"/> \n시스템 관리 > '사용자별 권한 관리'에서 \n필요한 권한을 설정해 주세요.");
|
||||
$('#backupForm').attr('action', '<c:url value="/admin/use/mngr/selectJobUserUpdtForm"/>');
|
||||
$('#backupForm').submit();
|
||||
} else {
|
||||
alert('<spring:message code="fail.common.insert"/>');
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/* ********************************************************
|
||||
* 중복 확인 기능
|
||||
******************************************************** */
|
||||
const fn_id_doubleCheck = function() {
|
||||
let mngrId = $('#mngrId').val();
|
||||
if(mngrId === '') return;
|
||||
let param = { 'mngrId': mngrId };
|
||||
$.ajax({
|
||||
type: 'post',
|
||||
url : '<c:url value="/admin/use/mngr/selectJobUserIdbDplctInqire"/>',
|
||||
data : param,
|
||||
success:function(result) {
|
||||
result = JSON.parse(result.resBody.result);
|
||||
if(result == 0){
|
||||
alert('\"' + mngrId + '\" 은 사용 가능합니다.');
|
||||
|
||||
isDupChk = true;
|
||||
} else {
|
||||
alert('\"' + mngrId + '\" 은 중복된 아이디 입니다.');
|
||||
}
|
||||
}
|
||||
});
|
||||
};
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
Reference in New Issue
Block a user