2025-09-18 18:12 시정명령 작업 중

This commit is contained in:
myname 2025-09-18 18:13:07 +09:00
parent ef62d54c98
commit 89b8130c2a
8 changed files with 2991 additions and 15 deletions

View File

@ -197,6 +197,8 @@ public class OprtnInstrAdultPrflContoller {
@Resource(name = "iTNotiUtil")
private ITNotiUtil iTNotiUtil;
private String p_s_instr_div = "60"; //20-성인, 60-기소유예, 70-시정명령, 80-예방교육
/**
* 1.강사등록신청 목록 조회 -
*/
@ -232,9 +234,8 @@ public class OprtnInstrAdultPrflContoller {
// selectCondition += "AND a.sbmt_yn='Y' AND a.aprvl_Cd = '10'";
//3.2 강사 테이블 성인강사여부 Y가 아닌것만 조회(등록요청과 수정요청 둘다 코드값 10이라 강사 상세 테이블만으로는 비교 불가)
//selectCondition += " AND b.adult_instr_yn !='Y' AND (a.qlfct_end_yn != 'Y' or a.qlfct_end_yn IS NULL) ";
selectCondition += " AND a.instr_div='20' "; //성인강사로 등록된 대상만 이용
selectCondition += " AND a.instr_div='"+p_s_instr_div+"' "; //성인강사로 등록된 대상만 이용
selectCondition += " AND a.use_yn='Y' "; //사용처리된 강사만 보여줌
// selectCondition += " AND a.aprvl_cd=10 ";
//3.3 이름 검색
if(StringUtil.isNotEmpty(vEInstrDetailVO.getSearchKeyword())){
//이름 암호화 - comDefaultVO 검색단어 공통 암호화
@ -375,7 +376,7 @@ public class OprtnInstrAdultPrflContoller {
vEInstrDetailVO.setUserId(instrTempGnrService.getNextStringId());
vEInstrDetailVO.setFrstRegisterId(loginVO.getUniqId());
vEInstrDetailVO.setUseYn("Y");
vEInstrDetailVO.setInstrDiv("20");
vEInstrDetailVO.setInstrDiv(p_s_instr_div);
VEInstrDetailVO vEInstrVO = new VEInstrDetailVO();
vEInstrVO = vEInstrService.selectDetail(vEInstrDetailVO);
@ -513,8 +514,8 @@ public class OprtnInstrAdultPrflContoller {
//기본 데이터 가져오기
vEInstrDetailVO.setUserId(instrTempGnrService.getNextStringId());
vEInstrDetailVO.setFrstRegisterId(loginVO.getUniqId());
vEInstrDetailVO.setUseYn("N");
vEInstrDetailVO.setInstrDiv("20");
vEInstrDetailVO.setUseYn("Y");
vEInstrDetailVO.setInstrDiv(p_s_instr_div);
vEInstrDetailVO.setInstrNm(s_tmp[3]);
vEInstrDetailVO.setPhone(s_tmp[9]);
@ -1080,7 +1081,7 @@ public class OprtnInstrAdultPrflContoller {
if(StringUtil.isNotEmpty(vEInstrDetailVO.getSearchEndDt())){
selectCondition += "AND TO_CHAR(a.sbmt_pnttm, 'YYYYMMDD') <= REPLACE('"+vEInstrDetailVO.getSearchEndDt()+"', '.', '')";
}
vEInstrDetailVO.setInstrDiv("20");
vEInstrDetailVO.setInstrDiv(p_s_instr_div);
vEInstrDetailVO.setSelectPagingListQuery(selectCondition);
List<VEInstrDetailVO> vEInstrDetailVOList = vEInstrMixService.selectPagingDetailList(vEInstrDetailVO);
@ -1161,7 +1162,7 @@ public class OprtnInstrAdultPrflContoller {
vEInstrDetailVO.setInstrDiv("20");
vEInstrDetailVO.setInstrDiv(p_s_instr_div);
List<VEInstrDetailVO> vEInstrDetailVOList = vEInstrMixService.selectInstrExcelList(vEInstrDetailVO);
// List<VEInstrDetailVO> vEInstrDetailsVOList = vEInstrMixService.selectPagingDetailList(vEInstrDetailVO);

View File

@ -210,6 +210,123 @@
<insert id="VEInstrDetailDAO.insertDup" parameterClass="VEInstrDetailVO">
/* VEInstrDetailDAO.insertDup */
INSERT INTO <include refid="VEInstrDetailDAO.table_name"/>
(
<include refid="VEInstrDetailDAO.column_name"/>
)
VALUES(
#instrDiv#,
#userId#,
#instrDetailOrd#,
#instrNm#,
#phone#,
#email#,
#post#,
#addr#,
#addrDetail#,
#rsdne#,
#dBirth#,
#finalSchol#,
#mjr#,
#apptYr#,
#apptDiv#,
#actvtCarer#,
#mnLctrCn#,
#phtAtchFileId#,
#blng#,
#pstn#,
#prfsnFld#,
#sbmtYn#,
#sbmtPnttm#,
#aprvlCd#,
#aprvlPnttm#,
#aprvlId#,
#aprvlCn#,
NOW(),
#frstRegisterId#,
NOW(),
#lastUpdusrId#,
<!-- useYn 값 없을 시 N 기본 -->
<isNotEmpty property="useYn">
#useYn#,
</isNotEmpty>
<isEmpty property="useYn">
'N',
</isEmpty>
#qlfctEndYn#,
#qlfctEndPnttm#,
#qlfctEndCn#,
#divCd#,
#apptDt#,
#hchkDt#,
#rmrks#,
#memo#,
#sigMemo#,
#hopeEduFld#
)
ON
CONFLICT (instr_div,
instr_nm,
phone
)
DO
UPDATE
SET last_updusr_id = #frstRegisterId#
, last_updt_pnttm = NOW()
<isNotEmpty property="email">
, email =EXCLUDED.email
</isNotEmpty><isNotEmpty property="post">
, post =EXCLUDED.post
</isNotEmpty><isNotEmpty property="addr">
, addr =EXCLUDED.addr
</isNotEmpty><isNotEmpty property="addrDetail">
, addr_detail =EXCLUDED.addr_detail
</isNotEmpty><isNotEmpty property="rsdne">
, rsdne =EXCLUDED.rsdne
</isNotEmpty><isNotEmpty property="dBirth">
, d_birth =EXCLUDED.d_birth
</isNotEmpty><isNotEmpty property="finalSchol">
, final_schol =EXCLUDED.finalSchol
</isNotEmpty><isNotEmpty property="mjr">
, mjr =EXCLUDED.mjr
</isNotEmpty><isNotEmpty property="apptYr">
, appt_yr =EXCLUDED.appt_yr
</isNotEmpty><isNotEmpty property="apptDiv">
, appt_div =EXCLUDED.appt_div
</isNotEmpty><isNotEmpty property="actvtCarer">
, actvt_carer =EXCLUDED.actvt_carer
</isNotEmpty><isNotEmpty property="mnLctrCn">
, mn_lctr_cn =EXCLUDED.mn_lctr_cn
</isNotEmpty><isNotEmpty property="blng">
, blng =EXCLUDED.blng
</isNotEmpty><isNotEmpty property="pstn">
, pstn =EXCLUDED.pstn
</isNotEmpty><isNotEmpty property="prfsnFld">
, prfsn_fld =EXCLUDED.prfsn_fld
</isNotEmpty><isNotEmpty property="divCd">
, div_cd =EXCLUDED.div_cd
</isNotEmpty><isNotEmpty property="rmrks">
, rmrks =EXCLUDED.rmrks
</isNotEmpty><isNotEmpty property="memo">
, memo =EXCLUDED.memo
</isNotEmpty><isNotEmpty property="sigMemo">
, sig_memo =EXCLUDED.sig_memo
</isNotEmpty><isNotEmpty property="hopeEduFld">
, hope_edu_fld =EXCLUDED.hope_edu_fld
</isNotEmpty>
</insert>
<!-- 강사 등록 C -->
<insert id="VEInstrDetailDAO.insertDup_old" parameterClass="VEInstrDetailVO">
/* VEInstrDetailDAO.insertDup_old */
MERGE INTO <include refid="VEInstrDetailDAO.table_name"/>
USING DUAL
ON(instr_nm=#instrNm# AND phone=#phone#)

View File

@ -71,6 +71,7 @@
<pattern>*/oprtn/fndthEnhanceTrn/*</pattern> <!-- 기반강화연수 화면 -->
<pattern>*/oprtn/cndtnSspnIdtmt/*</pattern> <!-- 조건부기소유예 화면 -->
<pattern>*/oprtn/cmdTrgt/*</pattern> <!-- 시정명령 화면 -->
<pattern>*/oprtn/cmdTrgtEdu/*</pattern> <!-- 시정명령 강사화면 -->
<pattern>*/oprtn/stts/sttsEduCnt.do</pattern> <!-- 체험교실, 콘텐츠 통계 화면 -->
<pattern>*/oprtn/stts/sttsEduContentCnt.jsp </pattern> <!-- 교육콘텐츠, 월별 교육과정 통계 화면 -->

View File

@ -161,7 +161,7 @@ $( document ).ready(function(){
$.ajax({
type: "POST",
enctype: 'multipart/form-data',
url: "${pageContext.request.contextPath}/ve/oprtn/instr/adultVisitEdu/instrInfo/instrAplctRegAjax.do",
url: "${pageContext.request.contextPath}/ve/oprtn/cmdTrgtEdu/instrInfo/instrAplctRegAjax.do",
data: data,
dataType:'json',
async: false,
@ -190,7 +190,7 @@ $( document ).ready(function(){
function fncGoList(){
var createForm = document.createForm;
createForm.action = "<c:url value='/ve/oprtn/instr/adultVisitEdu/instrInfo/instrAplctMngList.do'/>";
createForm.action = "<c:url value='/ve/oprtn/cmdTrgtEdu/instrInfo/instrAplctMngList.do'/>";
createForm.submit();
}
@ -220,7 +220,7 @@ $( document ).ready(function(){
commonPopLayeropen(
//"/web/ve/aplct/cpyrgExprnClsrm/scholInfo/popup/scholPopList.do"
"${pageContext.request.contextPath}/web/ve/instr/adultVisitEdu/instrInfo/popup/rsdncPopList.do"
"${pageContext.request.contextPath}/web/ve/cmdTrgtEdu/instrInfo/popup/rsdncPopList.do"
, 690
, 538
, paramObj
@ -257,7 +257,7 @@ $( document ).ready(function(){
function fncRsdnePopup() { //거주지 팝업
/* document.createForm.action = "<c:url value='/ve/oprtn/instr/adultVisitEdu/popup/instrRsdnePopup.do'/>";
/* document.createForm.action = "<c:url value='/ve/oprtn/cmdTrgtEdu/popup/instrRsdnePopup.do'/>";
window.open("#", "_rsdnePopup", "scrollbars = no, top=100px, left=100px, height=450px, width=450px");
document.createForm.target = "_rsdnePopup";
document.createForm.formId.value = "createForm";
@ -268,7 +268,7 @@ $( document ).ready(function(){
function fncPhotoPopup() {
var pop = document.createForm;
commonPopWindowopenForm("${pageContext.request.contextPath}/ve/oprtn/instr/adultVisitEdu/popup/instrAplctPhotoPopup.do", "750", "660", "fncPhotoPopup", $('#createForm'));
commonPopWindowopenForm("${pageContext.request.contextPath}/ve/oprtn/cmdTrgtEdu/popup/instrAplctPhotoPopup.do", "750", "660", "fncPhotoPopup", $('#createForm'));
}

View File

@ -390,7 +390,7 @@ $( document ).ready(function(){
//alert(returnData.result);
if(status == 'success'){ // status 확인 필요한가. 석세스 안뜨면 에러 가지 않나
if("success"==returnData.result){
alert("저장 되었습니다.");
alert("저장 되었습니다.1");
//$("#addrAgencyVO")[0].reset();
//listLoad();
location.href="${pageContext.request.contextPath}/ve/oprtn/instr/adultVisitEdu/instrInfo/instrAplctMngList.do";
@ -402,7 +402,7 @@ $( document ).ready(function(){
}
} else if(status== 'fail'){
alert("저장에 실패하였습니다. !!");
alert("저장에 실패하였습니다.2 !!");
}
},
error: function (request,status,error) {

View File

@ -0,0 +1,263 @@
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<un:useConstants var="KccadrStatus" className="kcc.kccadr.cmm.KccadrConstants" />
<%
/**
* @Class Name : instrAplctMngList.jsp
* @Description : 강사신청관리
* @Modification Information
* @
* @ 수정일 수정자 수정내용
* @ ------- -------- ---------------------------
* @ 2021.08.09 김봉호 최초 생성
* @author 김봉호
* @since 2021.08.21
* @version 1.0
* @see
*
*/
%>
<html lang="ko">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript">
function fncGoList(){
linkPage(1);
}
function linkPage(pageNo){
var listForm = document.listForm ;
listForm.pageIndex.value = pageNo ;
/*
if(listForm.searchStartDt.value > listForm.searchEndDt.value){
alert("시작일은 종료일보다 작아야합니다.");
return;
}
*/
listForm.action = "<c:url value='/ve/oprtn/cmdTrgtEdu/instrInfo/instrAplctMngList.do'/>";
listForm.submit();
}
function fncGoDetail(userId, instrDiv, instrDetailOrd){
var listForm = document.listForm ;
listForm.userId.value = userId ;
listForm.instrDiv.value = instrDiv ;
listForm.instrDetailOrd.value = instrDetailOrd ;
listForm.action = "<c:url value='/ve/oprtn/cmdTrgtEdu/instrInfo/instrAplctMngDetail.do'/>";
listForm.submit();
}
function fncGoReg(){
var listForm = document.listForm ;
listForm.instrDiv.value = "10" ;
listForm.action = "<c:url value='/ve/oprtn/cmdTrgtEdu/instrInfo/instrAplctReg.do'/>";
listForm.submit();
}
function fncGoRegExcel(){
var listForm = document.listForm ;
listForm.instrDiv.value = "10" ;
listForm.action = "<c:url value='/ve/oprtn/cmdTrgtEdu/instrInfo/instrAplctRegExcel.do'/>";
listForm.submit();
}
function fncReset(thisObj){
var targetObj = $(thisObj).closest('.list_top').find('select,input');
$.each(targetObj, function(){
console.log($(this))
if ($(this).prop("tagName") == 'SELECT') {
// 초기화 시 무조건 select option 첫번째 지정
$(this).find("option:first-child").prop("selected",true)
} else {
$(this).val('');
}
});
}
</script>
<title>강사신청 관리</title>
</head>
<body>
<form:form id="listForm" name="listForm" method="post" commandName="vEInstrDetailVO" onsubmit="return false;">
<input type="hidden" name="pageIndex" value="<c:out value='${vEInstrDetailVO.pageIndex}' default='1' />"/>
<input type="hidden" name="searchSortCnd" value="<c:out value="${vEInstrDetailVO.searchSortCnd}" />" />
<input type="hidden" name="searchSortOrd" value="<c:out value="${vEInstrDetailVO.searchSortOrd}" />" />
<input type="hidden" name="userId" value="" />
<input type="hidden" name="instrDiv" value="" />
<input type="hidden" name="instrDetailOrd" value="" />
<div class="cont_wrap">
<div class="box">
<!-- cont_tit -->
<div class="cont_tit">
<h2>강사등록 및 정보변경 요청 목록</h2>
<ul class="cont_nav">
<li class="home"><i></i></li>
<li>
<p>강사신청 관리</p>
</li>
<li><span class="cur_nav">강사등록 및 정보변경 요청 목록</span></li>
</ul>
</div>
<!-- //cont_tit -->
<div class="cont">
<!-- list_top -->
<div class="list_top">
<div class="list_top_1">
<div class="util_left">
<p>이름</p>
</div>
<div class="util_right">
<input type="text" id=searchKeyword name="searchKeyword" placeholder="검색어를 입력하세요."
title="검색어 입력" class="search_input" value="<c:out value='${vEInstrDetailVO.searchKeyword}'/>"
maxlength="20" onkeydown="if(event.keyCode==13) {linkPage('1');}"
>
<button type="button" class="btn_type08" onclick="fncGoList(); return false;">검색</button>
<button class="btn_type03" onclick="fncReset(this); return false;">초기화</button>
</div>
</div>
<div class="list_top_2">
<div class="util_left">
<p>요청일자</p>
</div>
<div class="util_right">
<div class="calendar_wrap">
<input type="text" class="calendar" title="시작일 선택" id="searchStartDt" name="searchStartDt" value="${vEInstrDetailVO.searchStartDt}">
</div>
~
<div class="calendar_wrap">
<input type="text" class="calendar" title="종료일 선택" id="searchEndDt" name="searchEndDt" value="${vEInstrDetailVO.searchEndDt}">
</div>
</div>
</div>
<%-- <div class="list_util">
<div class="detail_search">
<ul>
<li>
<p class="tit_text">이름</p>
<input type="text" id=searchKeyword name="searchKeyword" class="search_input" placeholder="검색어를 입력하세요" value="<c:out value='${vEInstrDetailVO.searchKeyword}'/>">
</li>
<li>
<p class="tit_text">요청일</p>
<div class="radio_wrap">
<div id="sel_date" class="sel_date">
<input type="text" class="startDate inp" title="검색시작일" id="startDate01" name="searchStartDt" value="${vEInstrDetailVO.searchStartDt}" data-datecontrol="true" style="margin-left:15px;" readonly>
<div class="calendar_in" id="calendarName_startDate" style="z-index: 9;">
<button type="button" value="달력 팝업 열기" onclick="return calendarOpen('startDate01-lry','',this)" class="btn_cal"></button>
<div id="startDate01-lry" class="calendarPop" style="display: none;">
<iframe id="startDate01-ifrm" name="startDate01-ifrm" class="calendar-frame" src="/kccadrPb/adm/calendar.html" title=" 달력 팝업" frameborder="0" scrolling="no"></iframe>
</div>
</div> ~
<input type="text" class="endDate inp" title="검색시작일" id="endDate" name="searchEndDt" value="${vEInstrDetailVO.searchEndDt}" data-datecontrol="true" readonly>
<div class="calendar_in" id="calendarName_endDate" style="z-index: 9;">
<button type="button" value="달력 팝업 열기" onclick="return calendarOpen('endDate-lry','',this)" class="btn_cal" ></button>
<div id="endDate-lry" class="calendarPop" style="display: none;">
<iframe id="endDate-ifrm" name="endDate-ifrm" class="calendar-frame" src="/kccadrPb/adm/calendar.html"title=" 달력 팝업" frameborder="0" scrolling="no"></iframe>
</div>
</div>
</div>
</div>
<button class="btn_search" onclick="fncGoList(); return false;">검색</button>
</li>
</ul>
</div>
</div> --%>
</div>
<!-- //list_top -->
<!-- list -->
<div class="tb_type01">
<table>
<colgroup>
<col style="width: 10%">
<col style="width: 20%">
<col style="width: 15%">
<col style="width: 14%">
<col style="width: 14%">
<col style="width: auto">
<col style="width: 15%">
</colgroup>
<thead>
<tr>
<th>이름</th>
<th>거주지</th>
<th>소속</th>
<th>직위</th>
<th>위촉년도</th>
<th>구분</th>
<th>요청일</th>
</tr>
</thead>
<tbody>
<c:forEach var="list" items="${resultList}" varStatus="status">
<tr onclick="fncGoDetail('<c:out value="${list.userId}"/>', '<c:out value="${list.instrDiv}"/>' , '<c:out value="${list.instrDetailOrd}"/>');" style="cursor:pointer;">
<td>
<c:out value="${list.instrNm}"/>
</td>
<td>
<c:out value="${list.rsdne}"/>
</td>
<td>
<c:out value="${list.blng}"/>
</td>
<td>
<c:out value="${list.pstn}"/>
</td>
<td>
<c:out value="${list.apptYr}"/>
</td>
<td>
<ve:code codeId="VE0018" code="${list.divCd}"/>
</td>
<td>
<fmt:parseDate value="${list.sbmtPnttm}" var="sbmtPnttm" pattern="yyyy-MM-dd"/>
<fmt:formatDate value="${sbmtPnttm}" pattern="yyyy.MM.dd"/>
</td>
</tr>
</c:forEach>
<c:if test="${empty resultList}">
<tr><td colspan="7"><spring:message code="common.nodata.msg" /></td></tr>
</c:if>
</tbody>
</table>
</div>
<!-- //list -->
<!-- page -->
<div class="page">
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
</div>
<!-- //page -->
<div class="btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
</div>
<div class="btn_right">
<button type="button" class="btn_type01" onclick="fncGoRegExcel(); return false;">Excel등록</button>
<button type="button" class="btn_type01" onclick="fncGoReg(); return false;">등록</button>
</div>
</div>
</div>
</div>
</div>
<!-- //cont -->
</form:form>
</body>
</html>

View File

@ -0,0 +1,542 @@
<%--
Class Name : instrAplctReg.jsp
Description : 담당자 상세 및 업데이트 화면
Modification Information
수정일 수정자 수정내용
------- -------- ---------------------------
2021.08.09 김봉호 최초 생성
author : 김봉호
since : 2021.08.09
--%>
<%@ page contentType="text/html; charset=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="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="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
<%@ taglib prefix="double-submit" uri="http://www.egovframe.go.kr/tags/double-submit/jsp" %>
<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Language" content="ko" >
<title>강사 정보 등록</title>
<style>
input:disabled {
background-color: #f9f9f9 !important;
}
input:read-only {
background-color: #f9f9f9 !important;
}
</style>
<!-- for validator #2 -->
<script type="text/javascript" src="<c:url value="/validator.do"/>"></script>
<validator:javascript formName="vEInstrDetailVO" staticJavascript="false" xhtml="true" cdata="false" />
<!-- for validator #2 -->
<script type="text/javaScript" language="javascript">
$( document ).ready(function(){
$(".put_photo_box").on("DOMSubtreeModified", function(){
$("#instrPhoto").attr("alt", "${info.instrNm}"+" 사진");
});
//현재년도
var date = new Date();
var year = date.getFullYear();
//생년월일, 위촉년도 selectbox
getYears(year);
//파일첨부버튼
$(".btn_add_file").on('click', function(){
$("#photo_file_temp").click();
});
});
//생년월일, 위촉년도 뿌려주기
function getYears(getYear){
var startY = Number(getYear)- 99;
var endY = Number(getYear);
for(var y=endY; y>=startY; y--){
$("#apptYr").append("<option value='" + y + "'>" + y + "</option>");
$("#dBirth1").append("<option value='" + y + "'>" + y + "</option>");
}
for(var m=1; m<=12; m++){
$("#dBirth2").append("<option value='" + m + "'>" + m + "</option>");
}
for(var d=1; d<=31; d++){
$("#dBirth3").append("<option value='" + d + "'>" + d + "</option>");
}
}
function fncSave(){
//핸드폰번호 하이푼 추가
var phoneAll = document.getElementById("phone1").value + "-"+ document.getElementById("phone2").value + "-"+ document.getElementById("phone3").value;
//핸드폰번호 하이푼 추가 X
// var phoneAll = document.getElementById("phone1").value + document.getElementById("phone2").value + document.getElementById("phone3").value;
$("#phone").val(phoneAll)
//이메일 합치기
var emailAll = document.getElementById("email1").value + "@"+ document.getElementById("email2").value ;
$("#email").val(emailAll)
//생년월일합치기, 8자리 맞추기
var dBirth1 = $("#dBirth1 option:selected").val()
var dBirth2 = $("#dBirth2 option:selected").val()
var dBirth3 = $("#dBirth3 option:selected").val()
if(dBirth2.length == 1){
dBirth2 = "0"+dBirth2;
}
if(dBirth3.length == 1){
dBirth3 = "0"+dBirth3;
}
var dBirthAll = dBirth1 + dBirth2 + dBirth3
$("#dBirth").val(dBirthAll)
/* var dBirthAll = document.getElementById("dBirth1").value + document.getElementById("dBirth2").value + document.getElementById("dBirth3").value
$("#dBirth").val(dBirthAll) */
/*
<!-- for validator #3 -->
*/
if (!validateVEInstrDetailVO(document.createForm)) return;
/*
<!-- for validator #3 -->
*/
/* value에 기본적으로 - 또는 @ 들어가서 필수 값 체크 따로 */
if($("#phone1").val() == '' || $("#phone2").val() == '' || $("#phone3").val() == ''){
alert("연락처는 필수입니다.");
return false;
}
if($("#email1").val() == '' || $("#email2").val() == ''){
alert("이메일은 필수입니다.");
return false;
}
/* 청소년 강사와 다른 성인 강사 항목. 공통 validator에 없음 */
if($("#finalSchol").val() == ''){
alert("최종학교는 필수입니다.");
return false;
}
if($("#mjr").val() == ''){
alert("전공는 필수입니다.");
return false;
}
/* var ment = "";
if(type == 'I'){
$("#sbmtYn").val("N");
ment = "저장";
}
//등록요청
if(type == 'S'){
$("#sbmtYn").val("N");
$("#aprvlCd").val("10");
ment = "등록 요청";
} */
// $("#mode").val(type);
if($("#prfsnFld").val().length > 1000){
alert("전문분야는 1000자 까지만 가능합니다.("+$("#prfsnFld").val().length+")");
return false;
}
var data = new FormData(document.getElementById("createForm"));
_fileForm2.forEach(function(obj, idx) {
if (obj) data.append("file"+idx, obj.fileObj);
});
if(confirm("강사정보 등록을 하시겠습니까?")){
$.ajax({
type: "POST",
enctype: 'multipart/form-data',
url: "${pageContext.request.contextPath}/ve/oprtn/instr/adultVisitEdu/instrInfo/instrAplctRegAjax.do",
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success: function (returnData, status) {
if(status == 'success'){
alert("등록 되었습니다.");
fncGoList(); //현재 메인화면 이동
} else if(status== 'fail'){
alert("등록에 실패하였습니다.");
}
},
error: function (e) { alert("등록에 실패하였습니다."); console.log("ERROR : ", e); }
});
}
}
function fncCancle(){
if(confirm("강사등록 신청을 취소하시겠습니까?")){
fncGoList();
}
}
function fncGoList(){
var createForm = document.createForm;
createForm.action = "<c:url value='/ve/oprtn/instr/adultVisitEdu/instrInfo/instrAplctMngList.do'/>";
createForm.submit();
}
function emailChange(email){
if(email.value != ""){
document.getElementById("email2").readOnly = true;
}else{
document.getElementById("email2").readOnly = false;
}
document.getElementById("email2").value = email.value;
}
function fncAreaList(paramObj) {
if(paramObj == undefined || paramObj == ''){
paramObj = {
pageIndex : 1,
searchKeyword : "",
searchCondition : "",
pageUnit : 5,
formId : "createForm"
};
}
// 학교 리스트 팝업 호출
commonPopLayeropen(
//"/web/ve/aplct/cpyrgExprnClsrm/scholInfo/popup/scholPopList.do"
"${pageContext.request.contextPath}/web/ve/instr/adultVisitEdu/instrInfo/popup/rsdncPopList.do"
, 690
, 538
, paramObj
, "N"
, "rsdncPop"
);
/*
// 이전신청데이터 팝업 호출..
commonPopLayeropen(
"/web/kccadr/adjst/popup/adjstReqRegistPopList.do"
, 500
, 600
, paramObj
, "N"
, "adjstHostoryPop"
);
*/
}
function callBackAreaPop(areaData){
if(emptyObject(areaData)){
alert("오류가 발생하였습니다. 관리자에게 문의해주세요 [ERR-AREA-POP]")
return false;
}
$("#rsdneId").val(areaData.postId);
$("#rsdne").val(areaData.oneDepthNm+"("+areaData.twoDepthNm+" "+areaData.threeDepthNm+")");
console.log(areaData);
}
function fncRsdnePopup() { //거주지 팝업
/* document.createForm.action = "<c:url value='/ve/oprtn/instr/adultVisitEdu/popup/instrRsdnePopup.do'/>";
window.open("#", "_rsdnePopup", "scrollbars = no, top=100px, left=100px, height=450px, width=450px");
document.createForm.target = "_rsdnePopup";
document.createForm.formId.value = "createForm";
document.createForm.submit(); */
commonPopWindowopenForm("${pageContext.request.contextPath}/ve/oprtn/instr/tngrVisitEdu/popup/instrRsdnePopup.do", "750", "660", "rsdnePopup", $('#createForm'));
}
function fncPhotoPopup() {
var pop = document.createForm;
commonPopWindowopenForm("${pageContext.request.contextPath}/ve/oprtn/instr/adultVisitEdu/popup/instrAplctPhotoPopup.do", "750", "660", "fncPhotoPopup", $('#createForm'));
}
</script>
</head>
<body>
<%-- <form id="pop" name="pop" method="post">
<input type="hidden" name="userId" id="userId" value="<c:out value='${info.userId}'/>"/> <!-- 사용자 아이디 -->
<input type="hidden" name="instrDiv" id="instrDiv" value="<c:out value='${info.instrDiv}'/>"/> <!-- 강사구분 -->
<input type="hidden" name="instrDetailOrd" id="instrDetailOrd" value="<c:out value='${info.instrDetailOrd}'/>"/> <!-- 강사구분 -->`
<input type="hidden" name="aprvlCd" id="aprvlCd" value=""/> <!-- 승인코드 -->
</form> --%>
<form:form id="createForm" name="createForm" commandName="vEInstrDetailVO" method="post" >
<input type="hidden" name="pageIndex" value="<c:out value='${vEInstrDetailVO.pageIndex}'/>"/>
<input type="hidden" name="searchStartDt" value="<c:out value="${vEInstrDetailVO.searchStartDt}" />" />
<input type="hidden" name="searchEndDt" value="<c:out value="${vEInstrDetailVO.searchEndDt}" />" />
<input type="hidden" name="searchKeyword" value="<c:out value="${vEInstrDetailVO.searchKeyword}" />" />
<input type="hidden" name="userId" id="userId" value="<c:out value='${info.userId}'/>"/> <!-- 사용자 아이디 -->
<input type="hidden" name="instrDiv" id="instrDiv" value="<c:out value='${info.instrDiv}'/>"/> <!-- 강사구분 -->
<input type="hidden" name="instrDetailOrd" id="instrDetailOrd" value="<c:out value='${info.instrDetailOrd}'/>"/> <!-- 강사구분 -->
<input type="hidden" name="aprvlCd" id="aprvlCd" value=""/> <!-- 승인코드 -->
<input type="hidden" name="aprvlCn" id="aprvlCn" value="<c:out value='${info.instrDiv}'/>"/> <!-- 승인내용(반려사유) -->
<input type="hidden" name="rqstType" id="rqstType" value=""/> <!-- 요청유형 -->
<input type="hidden" name="phone" id="phone" value=""/> <!-- 연락처 -->
<input type="hidden" name="email" id="email" value=""/> <!-- 이메일 -->
<input type="hidden" name="dBirth" id="dBirth" value=""/> <!-- 생년월일 -->
<input type="hidden" name="formId" id="formId" value=""/>
<!-- 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">
<div class="tb_tit01">
<p>강사 정보</p>
</div>
<div class="tb_type02">
<table>
<colgroup>
<col style="width: 210px;">
<col style="width: auto;">
<col style="width: 210px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th scope="row">
<p>강사명</p>
</th>
<td colspan="3" style="position: relative;">
<input type="text" name="instrNm"/>
<div class="put_photo">
<div class="put_photo_in">
<div class="put_photo_box">
<img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/img_add.png" alt="이미지를 넣어주세요">
</div>
<!-- <button type="button" class="btnType01" onclick="fncPhotoPopup(); return false;">사진등록</button> -->
</div>
</div>
</td>
</tr>
<tr>
<th scope="row">
<p>연락처(핸드폰)</p>
</th>
<td class="input_phone" colspan="3">
<label for="phone" class="label">연락처(핸드폰)</label>
<input type="text" title="휴대폰 앞자리" id="phone1" placeholder="" oninput="this.value = this.value.replace(/[^0-9.]/g, '').replace(/(\..*)\./g, '$1');" maxLength="4">
-
<input type="text" title="휴대폰 중간자리" id="phone2" placeholder="" oninput="this.value = this.value.replace(/[^0-9.]/g, '').replace(/(\..*)\./g, '$1');" maxLength="4">
-
<input type="text" title="휴대폰 마지막자리" id="phone3" placeholder="" oninput="this.value = this.value.replace(/[^0-9.]/g, '').replace(/(\..*)\./g, '$1');" maxLength="4">
</td>
</tr>
<tr>
<th scope="row">
<p>e-mail</p>
</th>
<td class="input_mail" colspan="3">
<label for="email" class="label">e-mail</label>
<input type="text" id="email1" size="20" title="이메일 주소 입력" placeholder="">
@
<input type="text" id="email2" size="20" title="이메일 직접 입력" placeholder="">
<label for="emailSelect" class="label">이메일 선택</label>
<select name="emailSelect" id="emailSelect" class="selType1 sel_type1" onchange="emailChange(this)">
<option value="">직접입력</option>
<option value="naver.com">naver.com</option>
<option value="daum.net">daum.net</option>
<option value="gmail.com">gmail.com</option>
</select>
</td>
</tr>
<tr class="input_adress">
<th scope="row">
<p>주소</p>
</th>
<td colspan="3">
<label for="post" class="label">우편번호 입력</label>
<input type="text" size="20" name="post" id="post" class="adr_input" style="background-color: #eee;" value="<c:out value='${info.post}'/>" readonly>
<button class="btnType01 btn_adr_search btn_type08" onclick="fn_postCode(this); return false;">우편번호 검색</button>
<div class="detail_address">
<label for="addr" class="label">주소 입력</label>
<input type="text" size="60" name="addr" id="addr" class="searchResultAddr" value="<c:out value='${info.addr}'/>" readonly>
<label for="addrDetail" class="label">나머지 주소 입력</label>
<input type="text" size="20" name="addrDetail" id="addrDetail" class="usrInsertAddr" value="<c:out value='${info.addrDetail}'/>" maxLength="100" placeholder="나머지 주소">
</div>
</td>
</tr>
<tr>
<th scope="row">
<p>거주지</p>
</th>
<td colspan="3">
<input type="text" title="거주지" size="25" placeholder="ex) 경기(군포시 용포동)" readonly="readonly"
value="<c:out value='${info.rsdne}'/>" maxLength="20" name="rsdne" id="rsdne">
<button
type="button" class="btnType01 btn_type01" data-tooltip="sub26_pop01" onclick="fncRsdnePopup();return false;">선택</button>
<input type="hidden" name="rsdneId" id="rsdneId" value=""/><!-- 거주지ID -->
</td>
</tr>
<tr>
<th scope="row">
<p>생년월일</p>
</th>
<td colspan="3">
<label for="dBirth1" class="label">생년월일 년입력</label>
<select name="dBirth1" id="dBirth1" class="sel_type1">
</select>
<label for="dBirth2" class="label">생년월일 월입력</label>
<select name="dBirth2" id="dBirth2" class="sel_type1">
</select>
<label for="dBirth3" class="label">생년월일 일입력</label>
<select name="dBirth3" id="dBirth3" class="sel_type1">
</td>
</tr>
<!--
<tr>
<th scope="row">
<p>최종학교</p>
</th>
<td>
<label for="finalSchol" class="label">최종학교</label>
<input type="text" name="finalSchol" id="finalSchol" size="20" maxLength="20">
</td>
<th scope="row">
<p>전공</p>
</th>
<td>
<label for="mjr" class="label">전공</label>
<input type="text" name="mjr" id="mjr" size="20" maxlength="20" placeholder="" value="<c:out value='${info.mjr}'/>">
</td>
</tr>
-->
<tr>
<th scope="row">
<p>소속</p>
</th>
<td>
<label for="finalSchol" class="label">소속</label>
<input type="text" name="blng" id="blng" size="20" value="<c:out value='${info.blng}'/>" maxLength="20">
</td>
<th scope="row">
<p>직위</p>
</th>
<td>
<label for="mjr" class="label">직위</label>
<input type="text" name="pstn" id="pstn" size="20" maxlength="20" placeholder="" value="<c:out value='${info.pstn}'/>">
</td>
</tr>
<tr>
<th scope="row">
<p>위촉년도</p>
</th>
<td>
<label for="apptYr" class="label">위촉년도 선택</label>
<select name="apptYr" id="apptYr" class="sel_type1">
</select>
</td>
<th scope="row">
<p>구분</p>
</th>
<td>
<label for="apptDiv" class="label">구분 선택</label>
<ve:select codeId="VE0018" name="divCd" id="divCd" css="class='sel_type1'" />
</td>
</tr>
<tr>
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>전문분야</p>
</th>
<td colspan="3">
<label for="mnLctrCn" class="label">주요강의내용</label>
<textarea name="prfsnFld" id="prfsnFld" placeholder="ex)예문
- SW코딩, 사물인터넷,인공지능,인성, 비젼, 캠프, 인터넷중독, 가족치료, 저작권 개론 등"><c:out value='${info.prfsnFld}'/></textarea>
</td>
</tr>
<!-- <tr>
<th scope="row">
<p>위촉구분</p>
</th>
<td colspan="3">
<label for="apptYr" class="label">위촉구분 선택</label>
<ve:select codeId="VE0002" name="apptDiv" id="apptDiv" css="class='sel_type1'" />
</td>
</tr>
<tr>
<th scope="row">
<p>활동경력</p>
</th>
<td colspan="3">
<label for="actvtCarer" class="label">활동경력</label>
<textarea name="actvtCarer" id="actvtCarer" rows="6" placeholder="예문
- 한국지식재산보호원 저작권청년강사 위촉
- 국내 초·중·고등학교 및 기관 약 600회 이상 저작권 강의
- 국내 초·중·고등학교 및 기관 약 600회 이상 저작권 강의
- 국내 초·중·고등학교 및 기관 약 600회 이상 저작권 강의"></textarea>
</td>
</tr>
<tr>
<th scope="row">
<p>주요강의내용</p>
</th>
<td colspan="3">
<label for="mnLctrCn" class="label">주요강의내용</label>
<textarea name="mnLctrCn" id="mnLctrCn" rows="6" placeholder="예문
<강의 주제>
○ 저작권에 대하여 알 수 있다.
<강의 목차>
1) 저작물에 대한 이해
2) 저작권에 대한 이해
3) 저작권 침해 유형"></textarea>
</td>
</tr>
-->
</tbody>
</table>
</div>
<div class="btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
</div>
<div class="btn_right">
<button type="button" class="btn_type02" onclick="fncSave(); return false;">등록</button>
<button type="button" class="btn_type03" onclick="fncCancle(); return false;">취소</button>
</div>
</div>
</div>
</div>
</div>
</form:form>
<!-- //cont -->
</body>
</html>