2025-09-24 16:25 예방교육 관리자 화면 수정

This commit is contained in:
myname 2025-09-24 16:25:26 +09:00
parent 08ff9c4dde
commit 0fcde47b25
12 changed files with 7582 additions and 2 deletions

File diff suppressed because it is too large Load Diff

View File

@ -48,6 +48,42 @@
<!-- 강사 등록 C -->
<insert id="VEAInstrHstryMngDAO.insert" parameterClass="VEAStngVO">
/* VEAInstrHstryMngDAO.insert */
INSERT INTO <include refid="VEAInstrHstryMngDAO.table_name"/>
(
<include refid="VEAInstrHstryMngDAO.column_name"/>
)VALUES(
#instrHstryOrd#,
#userId#,
#sbjct#,
#cn#,
#strtDt#,
#ddlnDt#,
NOW(),
#frstRegisterId#,
#atchFileId#
)
ON CONFLICT (instr_hstry_ord)
DO UPDATE SET
user_id = #userId#
, sbjct = #sbjct#
, cn = #cn#
, strt_dt = #strtDt#
, ddln_dt = #ddlnDt#
, frst_regist_pnttm = NOW()
, frst_register_id = #frstRegisterId#
, atch_file_id = #atchFileId#
</insert>
<!-- 강사 등록 C -->
<insert id="VEAInstrHstryMngDAO.insert_old" parameterClass="VEAStngVO">
/* VEAInstrHstryMngDAO.insert_old */
MERGE INTO <include refid="VEAInstrHstryMngDAO.table_name"/>
USING DUAL
ON(instr_hstry_ord=#instrHstryOrd#)
@ -82,7 +118,7 @@
, frst_register_id = #frstRegisterId#
, atch_file_id = #atchFileId#
</insert>
<!-- 강사 정보 R -->
<select id="VEAInstrHstryMngDAO.selectDetail" parameterClass="VEAStngVO" resultClass="VEAStngVO">
SELECT

View File

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

View File

@ -0,0 +1,581 @@
<%--
Class Name : ConciliatorManageDetail.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"%>
<un:useConstants var="KccadrStatus" className="kcc.kccadr.cmm.KccadrConstants" />
<!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="vEInstrDetailVO" staticJavascript="false" xhtml="true" cdata="false" />
<script type="text/javaScript" language="javascript">
$(document).ready(function(){
//핸드폰 번호 넣어주기
var phoneAll = "${info.phone}"
var phoneReplace = phoneAll.replace(/(^02.{0}|^01.{1}|[0-9]{3})([0-9]+)([0-9]{4})/,"$1-$2-$3");
var phone_arr = phoneReplace.split("-");
for(var i=0; i<phoneReplace.split("-").length; i++){
$("#phone"+(i+1)).val(phone_arr[i]);
};
//이메일 넣어주기
var emailAll = "${info.email}"
var email_arr = emailAll.split("@");
for(var i=0; i<emailAll.split("@").length; i++){
$("#email"+(i+1)).val(email_arr[i]);
};
//이메일과 selectbox의 이메일이 동일하다면 selected
$('#emailSelect option').each(function(){
if (this.value == email_arr[1] && this.value != "") {
$(this).attr("selected","selected");
$("#email2").attr("readonly", true);
}
});
//현재년도
var date = new Date();
var year = date.getFullYear();
//생년월일, 위촉년도 selectbox
getYears(year);
//생년월일 selected 처리
/* 941024 형태(엑셀등록) or 19941024 형태 둘다 처리 */
var dBirth = "${info.dBirth}"
if(dBirth.length == '6'){
var dBirth1 = dBirth.substring(0,2);
var dBirth2 = dBirth.substring(2,4);
var dBirth3 = dBirth.substring(4,6);
if(dBirth1.substring(0,1) == "0"){
dBirth1 = "20"+dBirth1
}else{
dBirth1 = "19"+dBirth1
}
if(dBirth2.substring(0,1) == "0"){
dBirth2 = dBirth2.substring(1,2);
}
if(dBirth3.substring(0,1) == "0"){
dBirth3 = dBirth3.substring(1,2);
}
$('#dBirth1 option').each(function(){
if (this.value == dBirth1) {
$(this).attr("selected","selected");
}
});
$('#dBirth2 option').each(function(){
if (this.value == dBirth2) {
$(this).attr("selected","selected");
}
});
$('#dBirth3 option').each(function(){
if (this.value == dBirth3) {
$(this).attr("selected","selected");
}
});
}else{
var dBirth1 = dBirth.substring(0,4);
var dBirth2 = dBirth.substring(4,6);
var dBirth3 = dBirth.substring(6,8);
if(dBirth2.substring(0,1) == "0"){
dBirth2 = dBirth2.substring(1,2);
}
if(dBirth3.substring(0,1) == "0"){
dBirth3 = dBirth3.substring(1,2);
}
$('#dBirth1 option').each(function(){
if (this.value == dBirth1) {
$(this).attr("selected","selected");
}
});
$('#dBirth2 option').each(function(){
if (this.value == dBirth2) {
$(this).attr("selected","selected");
}
});
$('#dBirth3 option').each(function(){
if (this.value == dBirth3) {
$(this).attr("selected","selected");
}
});
}
//위촉년도 selected 처리
var apptYr = "${info.apptYr}"
$('#apptYr option').each(function(){
if (this.value == apptYr) {
$(this).attr("selected","selected");
}
});
});
function fn_egov_downFile(atchFileId, fileSn){
window.open("<c:url value='/cmm/fms/FileDown.do?atchFileId="+atchFileId+"&fileSn="+fileSn+"'/>");
}
function fncSave(){
//var data = new FormData(document.getElementById("detailForm"));
if(confirm("위촉확인 처리 하시겠습니까?")){
$.ajax({
type: "POST",
//enctype: 'multipart/form-data',
url: "${pageContext.request.contextPath}/ve/oprtn/cmdTrgtEdu/instrInfo/instrAplctApptAjax.do",
data: {
"userId" : $("#userId").val() ,
"instrDiv" : $("#instrDiv").val() ,
"instrDetailOrd" : $("#instrDetailOrd").val() ,
},
//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 fncSave(aprvlCd){
$("#aprvlCd").val(aprvlCd);
$("#aprvlCn").val(aprvlCn);
var data = new FormData(document.getElementById("detailForm"));
if(confirm("승인처리 하시겠습니까?")){
$.ajax({
type: "POST",
enctype: 'multipart/form-data',
url: "/ve/oprtn/cmdTrgtEdu/instrInfo/instrAplctMdfyAjax.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 fncDelete(){
var data = new FormData(document.getElementById("detailForm"));
if(confirm("삭제 처리 하시겠습니까?\n다시 복구할수 없습니다.")){
$.ajax({
type: "POST",
enctype: 'multipart/form-data',
url: "${pageContext.request.contextPath}/ve/oprtn/cmdTrgtEdu/instrInfo/instrAplctMngDetailDeleteAjax.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 fncGoList(){
var detailForm = document.detailForm;
detailForm.userId.value="";
detailForm.action = "<c:url value='/ve/oprtn/cmdTrgtEdu/instrInfo/instrAplctMngList.do'/>";
detailForm.submit();
}
function fncPopup(rpplTy, rqstType) {
$("#aprvlCd").val(rpplTy);
$("#rqstType").val(rqstType);
var pop = document.detailForm;
commonPopWindowopenForm("${pageContext.request.contextPath}/ve/oprtn/cmdTrgtEdu/instrInfo/instrAplctCmpnnPopup.do", "750", "660", "instrMdfyRqstPop", $('#detailForm'));
}
function fncAreaList(paramObj) {
commonPopWindowopenForm("${pageContext.request.contextPath}/ve/oprtn/instr/tngrVisitEdu/popup/instrInfo/rsdncPopList.do", "750", "660", "securityPop", $('#detailForm'));
}
//위촉년도 최근년도 뿌려주기
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 fncUpdate(){
//핸드폰번호 하이푼 추가
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)
/*
<!-- for validator #3 -->
*/
if (!validateVEInstrDetailVO(document.detailForm)) 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($("#prfsnFld").val() == ''){
alert("전문분야는 필수입니다.");
return false;
}
var data = new FormData(document.getElementById("detailForm"));
if(confirm("수정 하시겠습니까?")){
$.ajax({
type: "POST",
enctype: 'multipart/form-data',
url: "${pageContext.request.contextPath}/ve/oprtn/cmdTrgtEdu/instrInfo/instrAplctMngDetailUpdateAjax.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 emailChange(email){
if(email.value != ""){
document.getElementById("email2").readOnly = true;
}else{
document.getElementById("email2").readOnly = false;
}
document.getElementById("email2").value = email.value;
}
</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="detailForm" name="detailForm" 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=""/> <!-- 생년월일 -->
<!-- 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="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;">
<label for="instrNm" class="label">강사명</label>
<input type="text" name="instrNm" id="instrNm" size="25" value="<c:out value='${info.instrNm}'/>" maxLength="20" placeholder="홍길동">
<div class="put_photo">
<div class="put_photo_in">
<div class="put_photo_box">
<c:if test="${empty info.phtAtchFileId}">
<img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/img_add.png" alt="이미지를 넣어주세요">
</c:if>
<c:if test="${not empty info.phtAtchFileId}">
<img id="instrPhoto" class="id_pic" alt="${info.instrNm} 사진" src='<c:url value='/uss/ion/pwm/getImage.do'/>?atchFileId=<c:out value="${info.phtAtchFileId}"/>' />
</c:if>
</div>
</div>
</div>
</td>
</tr>
<tr>
<th scope="row">
<p>연락처(핸드폰)</p>
</th>
<td class="input_phone" colspan="3">
<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 colspan="3">
<label for="email" class="label">e-mail</label>
<%-- <input type="text" size="50" name="email" id="email" value="<c:out value='${info.email}'/>" maxLength="50"> --%>
<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="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="btn_type08 btn_adr_search" 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="btn_type01" data-tooltip="sub26_pop01" onclick="fncAreaList();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">
<%-- <input type="text" name="dBirth" id="dBirth" size="20" maxlength="6" placeholder="예) 951028" value="<c:out value='${info.dBirth}'/>" oninput="this.value = this.value.replace(/[^0-9.]/g, '').replace(/(\..*)\./g, '$1');"> --%>
</select>
</td>
</tr>
<tr>
<th scope="row">
<p>소속</p>
</th>
<td>
<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>
<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>
<select name="apptYr" id="apptYr" class="sel_type1">
</select>
</td>
<th scope="row">
<p>구분</p>
</th>
<td>
<ve:select codeId="VE0018" name="divCd" id="divCd" selectedValue="${info.divCd}" styleClass="sel_type1"/>
</td>
</tr>
<%-- <tr>
<th scope="row">
<p>위촉구분${info.apptDiv}</p>
</th>
<td colspan="3">
<ve:code codeId="VE0032" code="${info.apptDiv}"/>
</td>
</tr> --%>
<tr>
<th scope="row">
<p>전문분야</p>
</th>
<td colspan="3">
<textarea name="prfsnFld" id="prfsnFld" placeholder="ex)예문
- SW코딩, 사물인터넷,인공지능,인성, 비젼, 캠프, 인터넷중독, 가족치료, 저작권 개론 등"><c:out value='${info.prfsnFld}'/></textarea>
</td>
</tr>
</tbody>
</table>
</div>
<!-- //list_상세 -->
<div class="btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
</div>
<div class="btn_right">
<c:if test="${info.sbmtYn eq 'Y'}">
<!--
사용자 강사 신청에 대한 위촉확인 처리
사용자 강사 신청 reset을 위해서는 ve_instr_detail 테이블 sbmt_yn ='N' 처리해 주면 된다.
-->
<button type="button" class="btn_type02" onclick="fncSave(); return false;">위촉확인</button>
</c:if>
<!-- <button type="button" class="btn_type02" onclick="fncPopup('30', 'RR'); return false;">반려</button> -->
<button type="button" class="btn_type03" onclick="fncUpdate(); return false;">수정</button>
<button type="button" class="btn_type03" onclick="fncDelete(); return false;">삭제</button>
<button type="button" class="btn_type03" onclick="fncGoList(); return false;">취소</button>
<!--
<button type="button" class="btn_type02" onclick="fncSave('20'); return false;">승인</button>
<button type="button" class="btn_type02" onclick="fncPopup('30', 'RR'); return false;">반려</button>
<button type="button" class="btn_type03" onclick="fncGoList(); return false;">취소</button>
-->
</div>
</div>
</div>
</div>
</div>
</form:form>
<!-- //cont -->
</body>
</html>

View File

@ -0,0 +1,527 @@
<%--
Class Name : instrAplctRegExcel.jsp
Description : 성인 강사 등록 화면(Excel)
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);
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/cmdTrgtEdu/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/cmdTrgtEdu/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/cmdTrgtEdu/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/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";
document.createForm.submit();
}
function fncPhotoPopup() {
var pop = document.createForm;
commonPopWindowopenForm("${pageContext.request.contextPath}/ve/oprtn/cmdTrgtEdu/popup/instrAplctPhotoPopup.do", "750", "660", "fncPhotoPopup", $('#createForm'));
}
//학교 등록
function fn_insert_schol(){
//if (!validateAddrAgencyVO(document.addrAgencyVO)) return;
goWebSave1_schol();
}
/* 등록 */
function fn_insert(){
//if (!validateAddrAgencyVO(document.addrAgencyVO)) return;
goWebSave1();
}
/* 글 저장 function */
function goWebSave1(method_parm){ //method_parm :관리자로그 메소드에서 사용.(파일업로드 부분 공통으로 사용하여, 페이지 구분을 위해)
var _fileForm2 = new Array();
if(undefined !=$("input[name=limitcount]").val() && ""!=$("input[name=limitcount]").val() ){
if($('#atchFileNece').length > 0 ){
if($('#tbody_fiielist').find('tr').length == 0){
alert("첨부파일을 추가해 주십시오");
return false;
}
}
}
var msg;
msg = "해당 첨부파일을 수정하시겠습니까?";
var data = new FormData(document.createForm == undefined ? document.board : document.createForm);
_fileForm2.forEach(function(obj, idx) {
if (obj) data.append("file"+idx, obj.fileObj);
});
var url = "";
//url = "/uss/ion/payva/insertVirtualAccountAjax.do";
url = "${pageContext.request.contextPath}/ve/oprtn/cmdTrgtEdu/instrInfo/instrAplctRegExcelAjax.do";
$.ajax({
type: "POST",
enctype: 'multipart/form-data',
url: url,
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
//timeout: 600000,
success: function (returnData, status) {
//alert(returnData.message);
//alert(status);
//alert(returnData.result);
if(status == 'success'){ // status 확인 필요한가. 석세스 안뜨면 에러 가지 않나
if("success"==returnData.result){
alert("저장 되었습니다.");
//$("#addrAgencyVO")[0].reset();
//listLoad();
location.href="${pageContext.request.contextPath}/ve/oprtn/cmdTrgtEdu/instrInfo/instrAplctMngList.do";
}else{
alert(returnData.message);
return;
}
} else if(status== 'fail'){
alert("저장에 실패하였습니다. !!");
}
},
error: function (request,status,error) {
//alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
alert("저장에 실패하였습니다.1");
console.log("ERROR : ", e);
}
});
}
/* 글 저장 function */
function goWebSave1_schol(method_parm){ //method_parm :관리자로그 메소드에서 사용.(파일업로드 부분 공통으로 사용하여, 페이지 구분을 위해)
var _fileForm2 = new Array();
if(undefined !=$("input[name=limitcount]").val() && ""!=$("input[name=limitcount]").val() ){
if($('#atchFileNece').length > 0 ){
if($('#tbody_fiielist').find('tr').length == 0){
alert("첨부파일을 추가해 주십시오");
return false;
}
}
}
var msg;
msg = "해당 첨부파일을 수정하시겠습니까?";
var data = new FormData(document.createForm == undefined ? document.board : document.createForm);
_fileForm2.forEach(function(obj, idx) {
if (obj) data.append("file"+idx, obj.fileObj);
});
var url = "";
//url = "/uss/ion/payva/insertVirtualAccountAjax.do";
url = "${pageContext.request.contextPath}/ve/oprtn/cmdTrgtEdu/instrInfo/instrAplctRegScholExcelAjax.do";
$.ajax({
type: "POST",
enctype: 'multipart/form-data',
url: url,
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
//timeout: 600000,
success: function (returnData, status) {
//alert(returnData.message);
//alert(status);
//alert(returnData.result);
if(status == 'success'){ // status 확인 필요한가. 석세스 안뜨면 에러 가지 않나
if("success"==returnData.result){
alert("저장 되었습니다.1");
//$("#addrAgencyVO")[0].reset();
//listLoad();
location.href="${pageContext.request.contextPath}/ve/oprtn/cmdTrgtEdu/instrInfo/instrAplctMngList.do";
}else{
alert(returnData.message);
return;
}
} else if(status== 'fail'){
alert("저장에 실패하였습니다.2 !!");
}
},
error: function (request,status,error) {
//alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
alert("저장에 실패하였습니다.1");
console.log("ERROR : ", e);
}
});
}
function changeValue(obj){
$('#atFileBasicWrite').val(obj.value);
}
</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>강사 정보 등록(Excel)</h2>
<ul class="cont_nav">
<li class="home"><a href="/"><i></i></a></li>
<li>
<p>강사신청관리</p>
</li>
<li><span class="cur_nav">강사 정보 등록(Excel)</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: 150px;">
<col style="width: ;">
<col style="width: ;">
<col style="width: ;">
</colgroup>
<tbody>
<tr>
<th scope="row">
<p>강사명</p>
</th>
<td class="input_phone attachedFile_wrap" colspan="3">
<label for="" class="label">계좌정보 파일첨부</label>
<input type="text" placeholder="* 첨부가능 파일 txt 각 10MB 이내" readonly
id="atFileBasicWrite" style="width:500px;"
name="atFileBasicWrite"/>
<input type="file" name="file" id="file" style="display:none"
accept=".txt, .xls, .xlsx"
onchange="changeValue(this); return false;"/>
<button type="button" class="btn_type06"
onclick="document.all.file.click(); return false;"
>파일첨부</button>
<%-- <span class="reqTxt6">※ 컴퓨터 파일(엑셀)만 등록 가능합니다.<a href="${pageContext.request.contextPath}/cmm/fms/FileDown.do?atchFileId=FILE_000000000001280&fileSn=0" target="_blank">sample</a></span> --%>
<span class="req_text1">※ 컴퓨터 파일(엑셀)만 등록 가능합니다.<a href="${pageContext.request.contextPath}/cmm/fms/FileDown.do?atchFileId=FILE_000000000001236&fileSn=0" target="_blank">샘플 다운로드</a></span>
</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="fn_insert(); return false;">등록</button>
<button type="button" class="btn_type03" onclick="fncCancle(); return false;">취소</button>
</div>
</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="fn_insert_schol(); return false;">학교등록</button>
</div>
</div>
-->
</div>
</div>
</div>
</form:form>
<!-- //cont -->
</body>
</html>

View File

@ -0,0 +1,369 @@
<!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="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ 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 : cndtnEduPrcsAplctPrdMngList.jsp
* @Description : 조건부기소유예관리 과정 신청기간관리 목록
* @Modification Information
* @
* @ 수정일 수정자 수정내용
* @ ------- -------- ---------------------------
* @ 2021.12.14 조용준 최초 생성
* @author 조용준
* @since 2021.12.14
* @version 1.0
* @see
*
*/
%>
<html lang="ko">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style>
input:read-only{
background-color: #ededed;
}
</style>
<script type="text/javascript">
$(document).ready(function(){
// 상태값 확인
$(".ddlnCdStts").each(function() {
var $currentCell = $(this);
// 텍스트가 비어있는지 확인
if ($currentCell.text().trim() === "") {
var $currentRow = $currentCell.closest('tr');
var strtPnttm = new Date($currentRow.find("td:eq(3)").text().split("~")[0].trim());
var endPnttm = new Date($currentRow.find("td:eq(3)").text().split("~")[1].trim());
var currentDate = new Date();
var ddlnCdText = '';
if (currentDate < strtPnttm) {
ddlnCdText = "접수전";
} else if (currentDate >= strtPnttm && currentDate <= endPnttm) {
ddlnCdText = "접수중";
} else if (currentDate > endPnttm) {
ddlnCdText = "접수종료";
}
$currentCell.text(ddlnCdText);
}
});
});
function press(event) {
if (event.keyCode==13) {
fncGoList();
}
}
function fncGoList(){
linkPage(1);
}
function linkPage(pageNo){
var listForm = document.listForm ;
listForm.pageIndex.value = pageNo ;
listForm.searchKeyword.value = $('#searchKeyword').val();
listForm.action = "<c:url value='/kccadr/oprtn/prevent/cndtnEduPrcsAplctCfnMngList.do'/>";
listForm.submit();
}
function fncGoDetail(prcsAplctPrdOrd){
var listForm = document.listForm ;
listForm.prcsAplctPrdOrd.value = prcsAplctPrdOrd ;
listForm.action = "<c:url value='/kccadr/oprtn/prevent/cndtnEduPrcsAplctCfnMngDetail.do'/>";
listForm.submit();
}
function fncDelete(prcsOrd){
document.listForm.prcsOrd.value = prcsOrd ;
var pageIndex = document.listForm.pageIndex.value;
if($(".listCount").length == '1'){
pageIndex = pageIndex -1;
}
var data = new FormData(document.getElementById("listForm"));
if(confirm("삭제하시겠습니까?")){
var url = "<c:url value='/kccadr/oprtn/prevent/cndtnEduPrcsMngDeleteAjax.do'/>";
console.log(data);
$.ajax({
type:"POST",
url: url,
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success:function(returnData){
if(returnData.result == "success"){
alert("삭제되었습니다.");
document.listForm.prcsOrd.value = ""; //리스트 이동시 prcsOrd 초기화
linkPage(pageIndex);
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
event.stopImmediatePropagation();
}
function fncSaveSort(prcsOrd, count){
var sortNo = $('#prcsSortNo'+count).val();
if(sortNo == ''){
alert("표시순서를 입력해 주세요.");
return false;
}
$('#prcsOrd').val(prcsOrd);
$('#prcsSortNo').val(sortNo);
var data = new FormData(document.getElementById("listForm"));
var url = "<c:url value='/kccadr/oprtn/otsdCprtnPrcs/eduPrcsSortUpdateAjax.do'/>";
$.ajax({
type:"POST",
url: url,
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success:function(returnData){
if(returnData.result == "success"){
alert("저장되었습니다.");
document.listForm.prcsOrd.value = ""; //리스트 이동시 prcsOrd 초기화
fncGoList();
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
//초기화
function fncReset(thisObj){
var targetObj = $(thisObj).closest('.list_top').find('select,input');
$.each(targetObj, function(){
if ($(this).prop("tagName") == 'SELECT') {
// 초기화 시 무조건 select option 첫번째 지정
$(this).find("option:first-child").prop("selected",true);
} else if ($(this).attr('type') == 'radio') {
var radioName = $(this).attr("name");
var radioFirst = $("[name="+radioName+"]")[0];
$(radioFirst).prop("checked",true)
} else {
$(this).val('');
}
});
}
</script>
<title>과정신청기간관리목록</title>
</head>
<body>
<form:form id="listForm" name="listForm" method="post" commandName="vEPrcsDetailVO" onsubmit="return false;">
<input type="hidden" name="pageIndex" value="<c:out value='${vEPrcsDetailVO.pageIndex}' default='1' />"/>
<input type="hidden" name="searchSortCnd" value="<c:out value="${vEPrcsDetailVO.searchSortCnd}" />" />
<input type="hidden" name="searchSortOrd" value="<c:out value="${vEPrcsDetailVO.searchSortOrd}" />" />
<input type="hidden" id="prcsOrd" name="prcsOrd" value="" />
<input type="hidden" id="prcsAplctPrdOrd" name="prcsAplctPrdOrd" value="" />
<input type="hidden" id="prcsSortNo" name="prcsSortNo" value="" />
<div class="cont_wrap">
<!--tap 추가-->
<ul class="tab_wrap">
<li class="tab"><button type="button" onclick="location.href='<c:url value="/kccadr/oprtn/prevent/cndtnEduPrcsAplctPrdMngList.do" />'">과정신청기간관리</button></li>
<li class="tab active"><button type="button" onclick="location.href='<c:url value="/kccadr/oprtn/prevent/cndtnEduPrcsAplctCfnMngList.do" />'">확정과정관리</button></li>
<li class="tab"><button type="button" onclick="location.href='<c:url value="/kccadr/oprtn/prevent/cndtnEduPrcsMngList.do" />'">과정관리</button></li>
</ul>
<div class="box">
<!-- cont_tit -->
<!-- 메뉴에 등록된 URL을 넣으면 해당 메뉴명까지 자동 노출 해줌 -->
<!-- 메뉴에 등록되지 않은 메뉴를 마지막에 넣을떄 1 -->
<!-- 메뉴에 등록되지 않은 메뉴를 마지막에 넣을떄 2 -->
<!-- 메뉴에 등록되지 않은 메뉴를 마지막에 넣을떄 3 -->
<c:import url="/cmm/navi/adminContNav.do">
<c:param name="url" value="/kccadr/oprtn/prevent/cndtnEduPrcsMngList.do"/>
<c:param name="name1" value="확정과정관리"/>
<c:param name="name2" value=""/>
<c:param name="name3" value=""/>
</c:import>
<!-- 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>
<!-- list_top -->
<div class="list_top search-only">
<div class="list_top_1">
<div class="util_right">
<ve:select codeId="VEA001" name="searchStatus" id="searchStatus" css="class='sel_type1'"
selectedValue="${vEPrcsDetailVO.searchStatus }" defaultValue=""
defaultText="전체"
/>
<div class="calendar_wrap">
<input type="text" class="calendar" title="시작일 선택" id="searchSmbtStartDt" name="searchSmbtStartDt" value="${vEPrcsDetailVO.searchSmbtStartDt}">
</div>
~
<div class="calendar_wrap">
<input type="text" class="calendar" title="종료일 선택" id="searchSmbtEndDt" name="searchSmbtEndDt" value="${vEPrcsDetailVO.searchSmbtEndDt}">
</div>
<input type="text" id="searchKeyword" name="searchKeyword" placeholder="과정명를 입력하세요." title="검색어 입력" class="search_input" value="<c:out value='${vEPrcsDetailVO.searchKeyword}'/>" onkeyDown="press(event);">
<button type="button" class="btn_type08" onclick="fncGoList(); return false;">검색</button>
<button class="btn_type03" onclick="fncReset(this); return false;">초기화</button>
</div>
</div>
</div>
<div class="list_util">
<p class="list_util_p"><span><c:out value="${paginationInfo.totalRecordCount}" /></span>건의 접수가 검색되었습니다.</p>
<div>
<select class="sel_type1" name="pageUnit" id="pageUnit" onchange="linkPage(1);" title="줄 선택" style="width: 140px" class="sel_type1">
<option value='10' <c:if test="${vEPrcsDetailVO.pageUnit == '10' or vEPrcsDetailVO.pageUnit == ''}">selected</c:if>>10줄</option>
<option value='20' <c:if test="${vEPrcsDetailVO.pageUnit == '20'}">selected</c:if>>20줄</option>
<option value='30' <c:if test="${vEPrcsDetailVO.pageUnit == '30'}">selected</c:if>>30줄</option>
<option value='100' <c:if test="${vEPrcsDetailVO.pageUnit == '100'}">selected</c:if>>100줄</option>
</select>
<%--<button type="button" class="btn_down_excel">엑셀 다운로드</button>--%>
</div>
</div>
<!-- //list_top -->
<!-- list -->
<div class="tb_type01">
<table>
<colgroup>
<col style="width: 5%">
<col style="width: 10%">
<col style="width: auto">
<col style="width: 180px;">
<col style="width: 180px;">
<col style="width: 10%">
<col style="width: 10%">
<%-- <col style="width: 10%"> --%>
</colgroup>
<thead>
<tr>
<th>NO</th>
<th>교육구분코드</th>
<th>과정명</th>
<th>교육일자</th>
<th>신청자/정원</th>
<th>상태</th>
<th>강사배정</th>
<!-- <th>공개여부</th> -->
</tr>
</thead>
<tbody>
<c:forEach var="list" items="${list}" varStatus="status">
<tr class="listCount">
<td onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');" style="cursor:pointer;">
<c:out value="${status.count}"/>
</td>
<td>
<kc:code codeId="VEA001" code="${list.prcsDiv}"/>
</td>
<td onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');" style="cursor:pointer;">
<c:choose>
<c:when test="${not empty list.title}">
<c:out value="${list.title}"/>
</c:when>
<c:otherwise>
<c:out value="${list.prcsNm}"/>
</c:otherwise>
</c:choose>
(<c:out value="${list.prcsAplctPrdOrd}"/>)
</td>
<td>
<%-- <c:out value="${list.eduStrtPnttm}"/>~<c:out value="${list.eduDdlnPnttm}"/> --%>
<c:out value="${list.eduStrtPnttm}"/>
</td>
<td>
<c:out value="${list.nosCnt1}"/>/<c:out value="${list.nos}"/>
</td>
<td class="ddlnCdStts">
<kc:code codeId="VEA004" code="${list.ddlnCd}"/>
</td>
<td>
<c:choose>
<c:when test="${list.instrCnt eq 0 or list.instrCnt eq null}">
<button type="button" class="btn_type04" onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');">강사배정</button>
</c:when>
<c:otherwise>
배정완료
</c:otherwise>
</c:choose>
</td>
<!-- <td> -->
<%-- <c:out value="${list.useYn}"/> --%>
<!-- </td> -->
</tr>
</c:forEach>
<c:if test="${empty list}">
<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>
</div>
</div>
<!-- //cont -->
<!-- //cont -->
</form:form>
</body>
</html>

View File

@ -0,0 +1,384 @@
<!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="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ 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 : cndtnEduPrcsAplctPrdMngList.jsp
* @Description : 조건부기소유예관리 과정 신청기간관리 목록
* @Modification Information
* @
* @ 수정일 수정자 수정내용
* @ ------- -------- ---------------------------
* @ 2021.12.14 조용준 최초 생성
* @author 조용준
* @since 2021.12.14
* @version 1.0
* @see
*
*/
%>
<html lang="ko">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style>
input:read-only{
background-color: #ededed;
}
</style>
<script type="text/javascript">
$(document).ready(function(){
// 상태값 확인
$(".ddlnCdStts").each(function() {
var $currentCell = $(this);
// 텍스트가 비어있는지 확인
if ($currentCell.text().trim() === "") {
var $currentRow = $currentCell.closest('tr');
var strtPnttm = new Date($currentRow.find("td:eq(3)").text().split("~")[0].trim());
var endPnttm = new Date($currentRow.find("td:eq(3)").text().split("~")[1].trim());
var currentDate = new Date();
// new Date에서 년, 월, 일만 생성
currentDate = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate());
console.log(currentDate);
console.log(endPnttm);
console.log('');
var ddlnCdText = '';
if (currentDate < strtPnttm) {
ddlnCdText = "접수전";
} else if (currentDate >= strtPnttm && currentDate <= endPnttm) {
ddlnCdText = "접수중";
} else if (currentDate > endPnttm) {
ddlnCdText = "접수종료";
}
$currentCell.text(ddlnCdText);
}
});
});
function press(event) {
if (event.keyCode==13) {
fncGoList();
}
}
function fncGoList(){
linkPage(1);
}
function linkPage(pageNo){
var listForm = document.listForm ;
listForm.pageIndex.value = pageNo ;
listForm.searchKeyword.value = $('#searchKeyword').val();
listForm.action = "<c:url value='/kccadr/oprtn/prevent/cndtnEduPrcsAplctPrdMngList.do'/>";
listForm.submit();
}
function fncGoDetail(prcsAplctPrdOrd){
var listForm = document.listForm ;
listForm.prcsAplctPrdOrd.value = prcsAplctPrdOrd ;
listForm.action = "<c:url value='/kccadr/oprtn/prevent/cndtnEduPrcsAplctPrdMngDetail.do'/>";
listForm.submit();
}
function fncCreate() {
var listForm = document.listForm ;
listForm.action = "<c:url value='/kccadr/oprtn/prevent/cndtnEduPrcsAplctPrdMngReg.do'/>";
listForm.submit();
}
function fncDelete(prcsOrd){
document.listForm.prcsOrd.value = prcsOrd ;
var pageIndex = document.listForm.pageIndex.value;
if($(".listCount").length == '1'){
pageIndex = pageIndex -1;
}
var data = new FormData(document.getElementById("listForm"));
if(confirm("삭제하시겠습니까?")){
var url = "<c:url value='/kccadr/oprtn/prevent/cndtnEduPrcsMngDeleteAjax.do'/>";
console.log(data);
$.ajax({
type:"POST",
url: url,
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success:function(returnData){
if(returnData.result == "success"){
alert("삭제되었습니다.");
document.listForm.prcsOrd.value = ""; //리스트 이동시 prcsOrd 초기화
linkPage(pageIndex);
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
event.stopImmediatePropagation();
}
function fncSaveSort(prcsOrd, count){
var sortNo = $('#prcsSortNo'+count).val();
if(sortNo == ''){
alert("표시순서를 입력해 주세요.");
return false;
}
$('#prcsOrd').val(prcsOrd);
$('#prcsSortNo').val(sortNo);
var data = new FormData(document.getElementById("listForm"));
var url = "<c:url value='/kccadr/oprtn/otsdCprtnPrcs/eduPrcsSortUpdateAjax.do'/>";
$.ajax({
type:"POST",
url: url,
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success:function(returnData){
if(returnData.result == "success"){
alert("저장되었습니다.");
document.listForm.prcsOrd.value = ""; //리스트 이동시 prcsOrd 초기화
fncGoList();
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
//초기화
function fncReset(thisObj){
var targetObj = $(thisObj).closest('.list_top').find('select,input');
$.each(targetObj, function(){
if ($(this).prop("tagName") == 'SELECT') {
// 초기화 시 무조건 select option 첫번째 지정
$(this).find("option:first-child").prop("selected",true);
} else if ($(this).attr('type') == 'radio') {
var radioName = $(this).attr("name");
var radioFirst = $("[name="+radioName+"]")[0];
$(radioFirst).prop("checked",true)
} else {
$(this).val('');
}
});
}
</script>
<title>과정신청기간관리목록</title>
</head>
<body>
<form:form id="listForm" name="listForm" method="post" commandName="vEPrcsDetailVO" onsubmit="return false;">
<input type="hidden" name="pageIndex" value="<c:out value='${vEPrcsDetailVO.pageIndex}' default='1' />"/>
<input type="hidden" name="searchSortCnd" value="<c:out value="${vEPrcsDetailVO.searchSortCnd}" />" />
<input type="hidden" name="searchSortOrd" value="<c:out value="${vEPrcsDetailVO.searchSortOrd}" />" />
<input type="hidden" id="prcsOrd" name="prcsOrd" value="" />
<input type="hidden" id="prcsAplctPrdOrd" name="prcsAplctPrdOrd" value="" />
<input type="hidden" id="prcsSortNo" name="prcsSortNo" value="" />
<div class="cont_wrap">
<!--tap 추가-->
<ul class="tab_wrap">
<li class="tab active"><button type="button" >과정신청기간관리</button></li>
<%-- <li class="tab"><button type="button" onclick="location.href='<c:url value="/kccadr/oprtn/prevent/cndtnEduPrcsAplctPrdMngList.do" />'">과정신청기간관리목록</button></li> --%>
<li class="tab"><button type="button" onclick="location.href='<c:url value="/kccadr/oprtn/prevent/cndtnEduPrcsAplctCfnMngList.do" />'">확정과정관리</button></li>
<li class="tab"><button type="button" onclick="location.href='<c:url value="/kccadr/oprtn/prevent/cndtnEduPrcsMngList.do" />'">과정관리</button></li>
</ul>
<div class="box">
<!-- cont_tit -->
<!-- 메뉴에 등록된 URL을 넣으면 해당 메뉴명까지 자동 노출 해줌 -->
<!-- 메뉴에 등록되지 않은 메뉴를 마지막에 넣을떄 1 -->
<!-- 메뉴에 등록되지 않은 메뉴를 마지막에 넣을떄 2 -->
<!-- 메뉴에 등록되지 않은 메뉴를 마지막에 넣을떄 3 -->
<c:import url="/cmm/navi/adminContNav.do">
<c:param name="url" value="/kccadr/oprtn/prevent/cndtnEduPrcsMngList.do"/>
<c:param name="name1" value="과정신청기간관리"/>
<c:param name="name2" value=""/>
<c:param name="name3" value=""/>
</c:import>
<!-- 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>
<!-- list_top -->
<div class="list_top search-only">
<div class="list_top_1">
<div class="util_right">
<ve:select codeId="VEA001" name="searchStatus" id="searchStatus" css="class='sel_type1'"
selectedValue="${vEPrcsDetailVO.searchStatus }" defaultValue=""
defaultText="전체"
/>
<div class="calendar_wrap">
<input type="text" class="calendar" title="시작일 선택" id="searchSmbtStartDt" name="searchSmbtStartDt" value="${vEPrcsDetailVO.searchSmbtStartDt}">
</div>
~
<div class="calendar_wrap">
<input type="text" class="calendar" title="종료일 선택" id="searchSmbtEndDt" name="searchSmbtEndDt" value="${vEPrcsDetailVO.searchSmbtEndDt}">
</div>
<input type="text" id="searchKeyword" name="searchKeyword" placeholder="과정명를 입력하세요." title="검색어 입력" class="search_input" value="<c:out value='${vEPrcsDetailVO.searchKeyword}'/>" onkeyDown="press(event);">
<button type="button" class="btn_type08" onclick="fncGoList(); return false;">검색</button>
<button class="btn_type03" onclick="fncReset(this); return false;">초기화</button>
</div>
</div>
</div>
<div class="list_util">
<p class="list_util_p"><span><c:out value="${paginationInfo.totalRecordCount}" /></span>건의 접수가 검색되었습니다.</p>
<div>
<select class="sel_type1" name="pageUnit" id="pageUnit" onchange="linkPage(1);" title="줄 선택" style="width: 140px" class="sel_type1">
<option value='10' <c:if test="${vEPrcsDetailVO.pageUnit == '10' or vEPrcsDetailVO.pageUnit == ''}">selected</c:if>>10줄</option>
<option value='20' <c:if test="${vEPrcsDetailVO.pageUnit == '20'}">selected</c:if>>20줄</option>
<option value='30' <c:if test="${vEPrcsDetailVO.pageUnit == '30'}">selected</c:if>>30줄</option>
<option value='100' <c:if test="${vEPrcsDetailVO.pageUnit == '100'}">selected</c:if>>100줄</option>
</select>
<%--<button type="button" class="btn_down_excel">엑셀 다운로드</button>--%>
</div>
</div>
<!-- //list_top -->
<!-- list -->
<div class="tb_type01">
<table>
<colgroup>
<col style="width: 5%">
<col style="width: 10%">
<col style="width: auto">
<col style="width: 180px;">
<col style="width: 180px;">
<col style="width: 10%">
<col style="width: 10%">
<%-- <col style="width: 10%"> --%>
</colgroup>
<thead>
<tr>
<th>NO</th>
<th>대면구분</th>
<th>과정명</th>
<th>신청기간</th>
<th>교육일자</th>
<th>신청자/정원</th>
<th>상태</th>
<!-- <th>공개여부</th> -->
</tr>
</thead>
<tbody>
<c:forEach var="list" items="${list}" varStatus="status">
<tr class="listCount">
<td onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');" style="cursor:pointer;">
<c:out value="${status.count}"/>
</td>
<td>
<kc:code codeId="VEA001" code="${list.prcsDiv}"/>
</td>
<td onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');" style="cursor:pointer;">
<c:choose>
<c:when test="${not empty list.title}">
<c:out value="${list.title}"/>
</c:when>
<c:otherwise>
<c:out value="${list.prcsNm}"/>
</c:otherwise>
</c:choose>
(<c:out value="${list.prcsAplctPrdOrd}"/>)
</td>
<td>
<c:out value="${list.strtPnttm}"/>~<c:out value="${list.endPnttm}"/>
</td>
<td>
<%-- <c:out value="${list.eduStrtPnttm}"/>~<c:out value="${list.eduDdlnPnttm}"/> --%>
<c:out value="${list.eduStrtPnttm}"/>
</td>
<td>
<c:out value="${list.nosCnt1}"/>/<c:out value="${list.nos}"/>
</td>
<td class="ddlnCdStts">
<kc:code codeId="VEA004" code="${list.ddlnCd}"/>
</td>
<!-- <td> -->
<%-- <c:out value="${list.useYn}"/> --%>
<!-- </td> -->
</tr>
</c:forEach>
<c:if test="${empty list}">
<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>
<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="fncCreate(); return false;">등록</button>
</div>
</div>
<!-- //page -->
</div>
</div>
</div>
<!-- //cont -->
<!-- //cont -->
</form:form>
</body>
</html>

View File

@ -0,0 +1,336 @@
<!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="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ 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" />
<%pageContext.setAttribute("crlf", "\r\n"); %>
<%
/**
* @Class Name : fndthEduPrcsMngList.jsp
* @Description : 기반강화연수 과정관리 목록
* @Modification Information
* @
* @ 수정일 수정자 수정내용
* @ ------- -------- ---------------------------
* @ 2021.12.14 조용준 최초 생성
* @author 조용준
* @since 2021.12.14
* @version 1.0
* @see
*
*/
%>
<html lang="ko">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style>
input:read-only{
background-color: #ededed;
}
</style>
<script type="text/javascript">
function press(event) {
if (event.keyCode==13) {
fncGoList();
}
}
function fncGoList(){
linkPage(1);
}
function linkPage(pageNo){
var listForm = document.listForm ;
listForm.pageIndex.value = pageNo ;
listForm.searchKeyword.value = $('#searchKeyword').val();
listForm.action = "<c:url value='/kccadr/oprtn/prevent/cndtnEduPrcsMngList.do'/>";
//listForm.action = "<c:url value='/kccadr/oprtn/prevent/cndtnEduPrcsAplctPrdMngList.do'/>";
listForm.submit();
}
function fncGoDetail(prcsOrd){
var listForm = document.listForm ;
listForm.prcsOrd.value = prcsOrd ;
listForm.action = "<c:url value='/kccadr/oprtn/prevent/cndtnEduPrcsMngDetail.do'/>";
listForm.submit();
}
function fncCreate() {
var listForm = document.listForm ;
listForm.action = "<c:url value='/kccadr/oprtn/prevent/cndtnEduPrcsMngReg.do'/>";
listForm.submit();
}
function fncDelete(prcsOrd){
document.listForm.prcsOrd.value = prcsOrd ;
var pageIndex = document.listForm.pageIndex.value;
if($(".listCount").length == '1'){
pageIndex = pageIndex -1;
}
var data = new FormData(document.getElementById("listForm"));
if(confirm("삭제하시겠습니까?")){
var url = "<c:url value='/kccadr/oprtn/prevent/cndtnEduPrcsMngDeleteAjax.do'/>";
console.log(data);
$.ajax({
type:"POST",
url: url,
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success:function(returnData){
if(returnData.result == "success"){
alert("삭제되었습니다.");
document.listForm.prcsOrd.value = ""; //리스트 이동시 prcsOrd 초기화
linkPage(pageIndex);
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
event.stopImmediatePropagation();
}
function fncSaveSort(prcsOrd, count){
var sortNo = $('#prcsSortNo'+count).val();
if(sortNo == ''){
alert("표시순서를 입력해 주세요.");
return false;
}
$('#prcsOrd').val(prcsOrd);
$('#prcsSortNo').val(sortNo);
var data = new FormData(document.getElementById("listForm"));
var url = "<c:url value='/kccadr/oprtn/otsdCprtnPrcs/eduPrcsSortUpdateAjax.do'/>";
$.ajax({
type:"POST",
url: url,
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success:function(returnData){
if(returnData.result == "success"){
alert("저장되었습니다.");
document.listForm.prcsOrd.value = ""; //리스트 이동시 prcsOrd 초기화
fncGoList();
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
//초기화
function fncReset(thisObj){
var targetObj = $(thisObj).closest('.list_top').find('select,input');
$.each(targetObj, function(){
if ($(this).prop("tagName") == 'SELECT') {
// 초기화 시 무조건 select option 첫번째 지정
$(this).find("option:first-child").prop("selected",true);
} else if ($(this).attr('type') == 'radio') {
var radioName = $(this).attr("name");
var radioFirst = $("[name="+radioName+"]")[0];
$(radioFirst).prop("checked",true)
} else {
$(this).val('');
}
});
}
</script>
<title>교육과정관리</title>
</head>
<body>
<form:form id="listForm" name="listForm" method="post" commandName="vEPrcsDetailVO" onsubmit="return false;">
<input type="hidden" name="pageIndex" value="<c:out value='${vEPrcsDetailVO.pageIndex}' default='1' />"/>
<input type="hidden" name="searchSortCnd" value="<c:out value="${vEPrcsDetailVO.searchSortCnd}" />" />
<input type="hidden" name="searchSortOrd" value="<c:out value="${vEPrcsDetailVO.searchSortOrd}" />" />
<input type="hidden" id="prcsOrd" name="prcsOrd" value="" />
<input type="hidden" id="prcsSortNo" name="prcsSortNo" value="" />
<div class="cont_wrap">
<!--tap 추가-->
<ul class="tab_wrap">
<!-- <li class="tab active"><button type="button" >과정신청기간관리목록</button></li> -->
<li class="tab"><button type="button" onclick="location.href='<c:url value="/kccadr/oprtn/prevent/cndtnEduPrcsAplctPrdMngList.do" />'">과정신청기간관리</button></li>
<li class="tab"><button type="button" onclick="location.href='<c:url value="/kccadr/oprtn/prevent/cndtnEduPrcsAplctCfnMngList.do" />'">확정과정관리</button></li>
<li class="tab active"><button type="button" onclick="location.href='<c:url value="/kccadr/oprtn/prevent/cndtnEduPrcsMngList.do" />'">과정관리</button></li>
</ul>
<div class="box">
<!-- cont_tit -->
<!-- 메뉴에 등록된 URL을 넣으면 해당 메뉴명까지 자동 노출 해줌 -->
<!-- 메뉴에 등록되지 않은 메뉴를 마지막에 넣을떄 1 -->
<!-- 메뉴에 등록되지 않은 메뉴를 마지막에 넣을떄 2 -->
<!-- 메뉴에 등록되지 않은 메뉴를 마지막에 넣을떄 3 -->
<c:import url="/cmm/navi/adminContNav.do">
<c:param name="url" value="/kccadr/oprtn/prevent/cndtnEduPrcsMngList.do"/>
<c:param name="name1" value="과정관리"/>
<c:param name="name2" value=""/>
<c:param name="name3" value=""/>
</c:import>
<!-- 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>
<!-- list_top -->
<div class="list_top search-only">
<div class="list_top_1">
<div class="util_right">
<ve:select codeId="VEA001" name="searchStatus" id="searchStatus" css="class='sel_type1'"
selectedValue="${vEPrcsDetailVO.searchStatus }" defaultValue=""
defaultText="전체"
/>
<div class="calendar_wrap">
<input type="text" class="calendar" title="시작일 선택" id="searchSmbtStartDt" name="searchSmbtStartDt" value="${vEPrcsDetailVO.searchSmbtStartDt}">
</div>
~
<div class="calendar_wrap">
<input type="text" class="calendar" title="종료일 선택" id="searchSmbtEndDt" name="searchSmbtEndDt" value="${vEPrcsDetailVO.searchSmbtEndDt}">
</div>
<input type="text" id="searchKeyword" name="searchKeyword" placeholder="과정명를 입력하세요." title="검색어 입력" class="search_input" value="<c:out value='${vEEduAplctVO.searchFullName}'/>" onkeyDown="press(event);">
<button type="button" class="btn_type08" onclick="fncGoList(); return false;">검색</button>
<button class="btn_type03" onclick="fncReset(this); return false;">초기화</button>
</div>
</div>
</div>
<div class="list_util">
<p class="list_util_p"><span><c:out value="${paginationInfo.totalRecordCount}" /></span>건의 접수가 검색되었습니다.</p>
<div>
<select class="sel_type1" name="pageUnit" id="pageUnit" onchange="linkPage(1);" title="줄 선택" style="width: 140px" class="sel_type1">
<option value='10' <c:if test="${vEPrcsDetailVO.pageUnit == '10' or vEPrcsDetailVO.pageUnit == ''}">selected</c:if>>10줄</option>
<option value='20' <c:if test="${vEPrcsDetailVO.pageUnit == '20'}">selected</c:if>>20줄</option>
<option value='30' <c:if test="${vEPrcsDetailVO.pageUnit == '30'}">selected</c:if>>30줄</option>
<option value='100' <c:if test="${vEPrcsDetailVO.pageUnit == '100'}">selected</c:if>>100줄</option>
</select>
<%--<button type="button" class="btn_down_excel">엑셀 다운로드</button>--%>
</div>
</div>
<!-- //list_top -->
<!-- list -->
<div class="tb_type01">
<table>
<colgroup>
<col style="width: 10%">
<col style="width: 20%">
<col style="width: auto">
<col style="width: 10%">
<col style="width: 10%">
</colgroup>
<thead>
<tr>
<th>대면구분</th>
<th>과정명</th>
<th>설명</th>
<th>등록일시</th>
<th>사용여부 </th>
</tr>
</thead>
<tbody>
<c:forEach var="list" items="${list}" varStatus="status">
<tr class="listCount">
<td>
<kc:code codeId="VEA001" code="${list.prcsDiv}"/>
</td>
<td onclick="fncGoDetail('<c:out value="${list.prcsOrd}"/>');" style="cursor:pointer;">
<c:out value='${list.prcsNm}'/>
</td>
<td onclick="fncGoDetail('<c:out value="${list.prcsOrd}"/>');" style="cursor:pointer;">
<%-- <c:out value='${list.prcsCn}'/> --%>
<c:out value="${fn:replace(list.prcsCn , crlf , '<br/>')}" escapeXml="false" />
</td>
<td>
<c:out value='${list.frstRegistPnttm}'/>
</td>
<td>
<c:if test="${list.useYn eq 'Y'}">
사용
</c:if>
<c:if test="${list.useYn ne 'Y'}">
미사용
</c:if>
</td>
</tr>
</c:forEach>
<c:if test="${empty list}">
<tr><td colspan="5"><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>
<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="fncCreate(); return false;">등록</button>
</div>
</div>
<!-- //page -->
</div>
</div>
</div>
<!-- //cont -->
<!-- //cont -->
</form:form>
</body>
</html>

View File

@ -0,0 +1,250 @@
<!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="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
<%
/**
* @Class Name : fndthEduPrcsMngReg.jsp
* @Description : 기반강화연수 과정 등록
* @Modification Information
* @
* @ 수정일 수정자 수정내용
* @ ------- -------- ---------------------------
* @ 2021.12.16 조용준 최초 생성
* @author 조용주
* @since 2021.12.16
* @version 1.0
* @see
*
*/
%>
<html lang="ko">
<head>
<title>교육과정관리</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript">
//세부과정 추가 버튼 클릭 시 세부과정 추가
function addPro() {
var addQuest = $(".addPro_wrap");
var questLen = addQuest.children("div").length;
questLen = Number(questLen+1);
var trHtml="";
trHtml += '<div class="tbody_one">';
trHtml += '<span><span class="span_num3">'+ questLen +'</span>.</span>';
trHtml += '<div>';
trHtml += '<input type="text" name="detailPrcsNm" id="detailPrcsNm"> ';
trHtml += '<button type="button" class="table_del3" onclick="delPro(this)"><img src="${pageContext.request.contextPath}/visitEdu/adm/publish/image/content/btn_del.png"></button>';
trHtml += '</div>';
trHtml += '</div>';
addQuest.append(trHtml);
}
//삭제 버튼 클릭 시 현재 div 삭제 후 지문 숫자 재선언
function delPro(item) {
var bodyThis = $(item).closest('.tbody_one');
var tb = $(item).closest('.addPro_wrap').find('.tbody_one');
var len = $(item).closest('.addPro_wrap').children('.tbody_one').length;
var idx = bodyThis.index();
if(len == 1){
alert("세부과정은 최소1개가 존재해야합니다.");
return false;
}else{
bodyThis.remove();
for(var i=0;i<len;i++){
if(idx>i){
tb.eq(i).find('.span_num3').text(i+1);
}else{
tb.eq(i).find('.span_num3').text(i);
}
}
}
}
function fncAddUser(){
var obj = $(".memList:first").clone(true);
obj.children('input').val('')
/*
var len = $(".memList").length;
$.each(obj.find("input"), function(idx, objInput){
objInput.name = objInput.name.replace(/\[.*\]/,'['+(len+1)+']');
console.log(objInput.name);
if(objInput.name.indexOf("memGrade") < 0){
objInput.value = '';
}
});
obj.find("button").attr("id", obj.find("button").attr("id").replace(/[0-9]/gi, len+2));
obj.find("tr:last > td").text("");
*/
$(".memList:last").after(obj);
}
function fncDelUser(obj){
if($(".memList").length <= 1){
alert("담당자은 최소1개가 존재해야합니다.");
}else{
$(obj).closest("td").remove();
}
}
function fncSave(){
if ($('#prcsCn').val().length>1000){
alert("상세교육과정은 1000자 까지만 저장가능합니다.");
return;
}
var data = new FormData(document.getElementById("createForm"));
if(confirm("저장하시겠습니까?")){
var url = "${pageContext.request.contextPath}/kccadr/oprtn/prevent/cndtnEduPrcsAplctMngRegAjax.do";
console.log(data);
$.ajax({
type:"POST",
url: url,
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success:function(returnData){
if(returnData.result == "success"){
alert("저장되었습니다.");
fncGoList();
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
}
function fncGoList(){
var listForm = document.listForm ;
listForm.action = "<c:url value='/kccadr/oprtn/prevent/cndtnEduPrcsMngList.do'/>";
listForm.submit();
}
function fncPhotoPopup() {
var pop = document.createForm;
commonPopWindowopenForm("${pageContext.request.contextPath}/kccadr/oprtn/fndthEnhanceTrn/popup/fndthEduPhotoRegPopup.do", "750", "660", "fncPhotoPopup", $('#createForm'));
}
</script>
</head>
<body>
<form:form id="listForm" name="listForm" commandName="vEPrcsDetailVO" method="post">
</form:form>
<form:form id="createForm" name="createForm" commandName="adjustDeptManageVO" method="post">
<!-- 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="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">대면구분</th>
<td colspan="3" style="position: relative;">
<ve:select codeId="VEA001" name="prcsDiv" id="prcsDiv" css="class='sel_type1'"
selectedValue="" defaultValue=''
defaultText="선택"
/>
<!-- <input type="text" name="instrNm"/> -->
<div class="put_photo">
<div class="put_photo_in">
<div class="put_photo_box">
<img id="emptyImg" src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/img_add.png" alt="이미지를 넣어주세요">
<input type="hidden" name="imageAtchFileId" id="imageAtchFileId" value=""/>
</div>
<div>
<button type="button" class="btn_type01" onclick="fncPhotoPopup(); return false;">사진등록</button>
</div>
</div>
<!-- <button type="button" class="btnType01" onclick="fncPhotoPopup(); return false;">사진등록</button> -->
</div>
<%-- <ve:select codeId="VE0015" name="prcsDiv" id="prcsDiv" css="class='sel_type1'" selectedValue="<c:out value='${info.prcsDiv}'/>" defaultValue='10'/> --%>
</td>
</tr>
<tr>
<th scope="row">과정명</th>
<td>
<input type="text" style="width:100%;" name="prcsNm" maxLength="30"/>
</td>
</tr>
<tr>
<th scope="row">상세교육과정</th>
<td>
<textarea placeholder="과정설명을 입력해주세요." name="prcsCn" id="prcsCn" class="memo" onfocus="this.placeholder=''" onblur="this.placeholder='과정설명을 입력해주세요.'" class="inputLight" style="height: 200px;"></textarea>
</td>
</tr>
<tr>
<th scope="row">상태</th>
<td>
<select name="useYn" class="sel_type1">
<option value="Y">사용</option>
<option value="N">미사용</option>
</select>
</td>
</tr>
</tbody>
</table>
</div>
<!-- //list_상세 -->
<!-- btn_wrap -->
<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="fncSave(); return false;">저장</button>
<button type="button" class="btn_type03" onclick="fncGoList(); return false;">목록</button>
</div>
</div>
</div>
</div>
</div>
</form:form>
<!-- //cont -->
</body>
</html>

View File

@ -0,0 +1,581 @@
<%--
Class Name : ConciliatorManageDetail.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"%>
<un:useConstants var="KccadrStatus" className="kcc.kccadr.cmm.KccadrConstants" />
<!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="vEInstrDetailVO" staticJavascript="false" xhtml="true" cdata="false" />
<script type="text/javaScript" language="javascript">
$(document).ready(function(){
//핸드폰 번호 넣어주기
var phoneAll = "${info.phone}"
var phoneReplace = phoneAll.replace(/(^02.{0}|^01.{1}|[0-9]{3})([0-9]+)([0-9]{4})/,"$1-$2-$3");
var phone_arr = phoneReplace.split("-");
for(var i=0; i<phoneReplace.split("-").length; i++){
$("#phone"+(i+1)).val(phone_arr[i]);
};
//이메일 넣어주기
var emailAll = "${info.email}"
var email_arr = emailAll.split("@");
for(var i=0; i<emailAll.split("@").length; i++){
$("#email"+(i+1)).val(email_arr[i]);
};
//이메일과 selectbox의 이메일이 동일하다면 selected
$('#emailSelect option').each(function(){
if (this.value == email_arr[1] && this.value != "") {
$(this).attr("selected","selected");
$("#email2").attr("readonly", true);
}
});
//현재년도
var date = new Date();
var year = date.getFullYear();
//생년월일, 위촉년도 selectbox
getYears(year);
//생년월일 selected 처리
/* 941024 형태(엑셀등록) or 19941024 형태 둘다 처리 */
var dBirth = "${info.dBirth}"
if(dBirth.length == '6'){
var dBirth1 = dBirth.substring(0,2);
var dBirth2 = dBirth.substring(2,4);
var dBirth3 = dBirth.substring(4,6);
if(dBirth1.substring(0,1) == "0"){
dBirth1 = "20"+dBirth1
}else{
dBirth1 = "19"+dBirth1
}
if(dBirth2.substring(0,1) == "0"){
dBirth2 = dBirth2.substring(1,2);
}
if(dBirth3.substring(0,1) == "0"){
dBirth3 = dBirth3.substring(1,2);
}
$('#dBirth1 option').each(function(){
if (this.value == dBirth1) {
$(this).attr("selected","selected");
}
});
$('#dBirth2 option').each(function(){
if (this.value == dBirth2) {
$(this).attr("selected","selected");
}
});
$('#dBirth3 option').each(function(){
if (this.value == dBirth3) {
$(this).attr("selected","selected");
}
});
}else{
var dBirth1 = dBirth.substring(0,4);
var dBirth2 = dBirth.substring(4,6);
var dBirth3 = dBirth.substring(6,8);
if(dBirth2.substring(0,1) == "0"){
dBirth2 = dBirth2.substring(1,2);
}
if(dBirth3.substring(0,1) == "0"){
dBirth3 = dBirth3.substring(1,2);
}
$('#dBirth1 option').each(function(){
if (this.value == dBirth1) {
$(this).attr("selected","selected");
}
});
$('#dBirth2 option').each(function(){
if (this.value == dBirth2) {
$(this).attr("selected","selected");
}
});
$('#dBirth3 option').each(function(){
if (this.value == dBirth3) {
$(this).attr("selected","selected");
}
});
}
//위촉년도 selected 처리
var apptYr = "${info.apptYr}"
$('#apptYr option').each(function(){
if (this.value == apptYr) {
$(this).attr("selected","selected");
}
});
});
function fn_egov_downFile(atchFileId, fileSn){
window.open("<c:url value='/cmm/fms/FileDown.do?atchFileId="+atchFileId+"&fileSn="+fileSn+"'/>");
}
function fncSave(){
//var data = new FormData(document.getElementById("detailForm"));
if(confirm("위촉확인 처리 하시겠습니까?")){
$.ajax({
type: "POST",
//enctype: 'multipart/form-data',
url: "${pageContext.request.contextPath}/ve/oprtn/preventEdu/instrInfo/instrAplctApptAjax.do",
data: {
"userId" : $("#userId").val() ,
"instrDiv" : $("#instrDiv").val() ,
"instrDetailOrd" : $("#instrDetailOrd").val() ,
},
//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 fncSave(aprvlCd){
$("#aprvlCd").val(aprvlCd);
$("#aprvlCn").val(aprvlCn);
var data = new FormData(document.getElementById("detailForm"));
if(confirm("승인처리 하시겠습니까?")){
$.ajax({
type: "POST",
enctype: 'multipart/form-data',
url: "/ve/oprtn/preventEdu/instrInfo/instrAplctMdfyAjax.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 fncDelete(){
var data = new FormData(document.getElementById("detailForm"));
if(confirm("삭제 처리 하시겠습니까?\n다시 복구할수 없습니다.")){
$.ajax({
type: "POST",
enctype: 'multipart/form-data',
url: "${pageContext.request.contextPath}/ve/oprtn/preventEdu/instrInfo/instrAplctMngDetailDeleteAjax.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 fncGoList(){
var detailForm = document.detailForm;
detailForm.userId.value="";
detailForm.action = "<c:url value='/ve/oprtn/preventEdu/instrInfo/instrAplctMngList.do'/>";
detailForm.submit();
}
function fncPopup(rpplTy, rqstType) {
$("#aprvlCd").val(rpplTy);
$("#rqstType").val(rqstType);
var pop = document.detailForm;
commonPopWindowopenForm("${pageContext.request.contextPath}/ve/oprtn/preventEdu/instrInfo/instrAplctCmpnnPopup.do", "750", "660", "instrMdfyRqstPop", $('#detailForm'));
}
function fncAreaList(paramObj) {
commonPopWindowopenForm("${pageContext.request.contextPath}/ve/oprtn/instr/tngrVisitEdu/popup/instrInfo/rsdncPopList.do", "750", "660", "securityPop", $('#detailForm'));
}
//위촉년도 최근년도 뿌려주기
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 fncUpdate(){
//핸드폰번호 하이푼 추가
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)
/*
<!-- for validator #3 -->
*/
if (!validateVEInstrDetailVO(document.detailForm)) 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($("#prfsnFld").val() == ''){
alert("전문분야는 필수입니다.");
return false;
}
var data = new FormData(document.getElementById("detailForm"));
if(confirm("수정 하시겠습니까?")){
$.ajax({
type: "POST",
enctype: 'multipart/form-data',
url: "${pageContext.request.contextPath}/ve/oprtn/preventEdu/instrInfo/instrAplctMngDetailUpdateAjax.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 emailChange(email){
if(email.value != ""){
document.getElementById("email2").readOnly = true;
}else{
document.getElementById("email2").readOnly = false;
}
document.getElementById("email2").value = email.value;
}
</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="detailForm" name="detailForm" 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=""/> <!-- 생년월일 -->
<!-- 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="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;">
<label for="instrNm" class="label">강사명</label>
<input type="text" name="instrNm" id="instrNm" size="25" value="<c:out value='${info.instrNm}'/>" maxLength="20" placeholder="홍길동">
<div class="put_photo">
<div class="put_photo_in">
<div class="put_photo_box">
<c:if test="${empty info.phtAtchFileId}">
<img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/img_add.png" alt="이미지를 넣어주세요">
</c:if>
<c:if test="${not empty info.phtAtchFileId}">
<img id="instrPhoto" class="id_pic" alt="${info.instrNm} 사진" src='<c:url value='/uss/ion/pwm/getImage.do'/>?atchFileId=<c:out value="${info.phtAtchFileId}"/>' />
</c:if>
</div>
</div>
</div>
</td>
</tr>
<tr>
<th scope="row">
<p>연락처(핸드폰)</p>
</th>
<td class="input_phone" colspan="3">
<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 colspan="3">
<label for="email" class="label">e-mail</label>
<%-- <input type="text" size="50" name="email" id="email" value="<c:out value='${info.email}'/>" maxLength="50"> --%>
<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="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="btn_type08 btn_adr_search" 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="btn_type01" data-tooltip="sub26_pop01" onclick="fncAreaList();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">
<%-- <input type="text" name="dBirth" id="dBirth" size="20" maxlength="6" placeholder="예) 951028" value="<c:out value='${info.dBirth}'/>" oninput="this.value = this.value.replace(/[^0-9.]/g, '').replace(/(\..*)\./g, '$1');"> --%>
</select>
</td>
</tr>
<tr>
<th scope="row">
<p>소속</p>
</th>
<td>
<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>
<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>
<select name="apptYr" id="apptYr" class="sel_type1">
</select>
</td>
<th scope="row">
<p>구분</p>
</th>
<td>
<ve:select codeId="VE0018" name="divCd" id="divCd" selectedValue="${info.divCd}" styleClass="sel_type1"/>
</td>
</tr>
<%-- <tr>
<th scope="row">
<p>위촉구분${info.apptDiv}</p>
</th>
<td colspan="3">
<ve:code codeId="VE0032" code="${info.apptDiv}"/>
</td>
</tr> --%>
<tr>
<th scope="row">
<p>전문분야</p>
</th>
<td colspan="3">
<textarea name="prfsnFld" id="prfsnFld" placeholder="ex)예문
- SW코딩, 사물인터넷,인공지능,인성, 비젼, 캠프, 인터넷중독, 가족치료, 저작권 개론 등"><c:out value='${info.prfsnFld}'/></textarea>
</td>
</tr>
</tbody>
</table>
</div>
<!-- //list_상세 -->
<div class="btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
</div>
<div class="btn_right">
<c:if test="${info.sbmtYn eq 'Y'}">
<!--
사용자 강사 신청에 대한 위촉확인 처리
사용자 강사 신청 reset을 위해서는 ve_instr_detail 테이블 sbmt_yn ='N' 처리해 주면 된다.
-->
<button type="button" class="btn_type02" onclick="fncSave(); return false;">위촉확인</button>
</c:if>
<!-- <button type="button" class="btn_type02" onclick="fncPopup('30', 'RR'); return false;">반려</button> -->
<button type="button" class="btn_type03" onclick="fncUpdate(); return false;">수정</button>
<button type="button" class="btn_type03" onclick="fncDelete(); return false;">삭제</button>
<button type="button" class="btn_type03" onclick="fncGoList(); return false;">취소</button>
<!--
<button type="button" class="btn_type02" onclick="fncSave('20'); return false;">승인</button>
<button type="button" class="btn_type02" onclick="fncPopup('30', 'RR'); return false;">반려</button>
<button type="button" class="btn_type03" onclick="fncGoList(); return false;">취소</button>
-->
</div>
</div>
</div>
</div>
</div>
</form:form>
<!-- //cont -->
</body>
</html>

View File

@ -0,0 +1,527 @@
<%--
Class Name : instrAplctRegExcel.jsp
Description : 성인 강사 등록 화면(Excel)
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);
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/preventEdu/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/preventEdu/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/preventEdu/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/preventEdu/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();
}
function fncPhotoPopup() {
var pop = document.createForm;
commonPopWindowopenForm("${pageContext.request.contextPath}/ve/oprtn/preventEdu/popup/instrAplctPhotoPopup.do", "750", "660", "fncPhotoPopup", $('#createForm'));
}
//학교 등록
function fn_insert_schol(){
//if (!validateAddrAgencyVO(document.addrAgencyVO)) return;
goWebSave1_schol();
}
/* 등록 */
function fn_insert(){
//if (!validateAddrAgencyVO(document.addrAgencyVO)) return;
goWebSave1();
}
/* 글 저장 function */
function goWebSave1(method_parm){ //method_parm :관리자로그 메소드에서 사용.(파일업로드 부분 공통으로 사용하여, 페이지 구분을 위해)
var _fileForm2 = new Array();
if(undefined !=$("input[name=limitcount]").val() && ""!=$("input[name=limitcount]").val() ){
if($('#atchFileNece').length > 0 ){
if($('#tbody_fiielist').find('tr').length == 0){
alert("첨부파일을 추가해 주십시오");
return false;
}
}
}
var msg;
msg = "해당 첨부파일을 수정하시겠습니까?";
var data = new FormData(document.createForm == undefined ? document.board : document.createForm);
_fileForm2.forEach(function(obj, idx) {
if (obj) data.append("file"+idx, obj.fileObj);
});
var url = "";
//url = "/uss/ion/payva/insertVirtualAccountAjax.do";
url = "${pageContext.request.contextPath}/ve/oprtn/preventEdu/instrInfo/instrAplctRegExcelAjax.do";
$.ajax({
type: "POST",
enctype: 'multipart/form-data',
url: url,
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
//timeout: 600000,
success: function (returnData, status) {
//alert(returnData.message);
//alert(status);
//alert(returnData.result);
if(status == 'success'){ // status 확인 필요한가. 석세스 안뜨면 에러 가지 않나
if("success"==returnData.result){
alert("저장 되었습니다.");
//$("#addrAgencyVO")[0].reset();
//listLoad();
location.href="${pageContext.request.contextPath}/ve/oprtn/preventEdu/instrInfo/instrAplctMngList.do";
}else{
alert(returnData.message);
return;
}
} else if(status== 'fail'){
alert("저장에 실패하였습니다. !!");
}
},
error: function (request,status,error) {
//alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
alert("저장에 실패하였습니다.1");
console.log("ERROR : ", e);
}
});
}
/* 글 저장 function */
function goWebSave1_schol(method_parm){ //method_parm :관리자로그 메소드에서 사용.(파일업로드 부분 공통으로 사용하여, 페이지 구분을 위해)
var _fileForm2 = new Array();
if(undefined !=$("input[name=limitcount]").val() && ""!=$("input[name=limitcount]").val() ){
if($('#atchFileNece').length > 0 ){
if($('#tbody_fiielist').find('tr').length == 0){
alert("첨부파일을 추가해 주십시오");
return false;
}
}
}
var msg;
msg = "해당 첨부파일을 수정하시겠습니까?";
var data = new FormData(document.createForm == undefined ? document.board : document.createForm);
_fileForm2.forEach(function(obj, idx) {
if (obj) data.append("file"+idx, obj.fileObj);
});
var url = "";
//url = "/uss/ion/payva/insertVirtualAccountAjax.do";
url = "${pageContext.request.contextPath}/ve/oprtn/preventEdu/instrInfo/instrAplctRegScholExcelAjax.do";
$.ajax({
type: "POST",
enctype: 'multipart/form-data',
url: url,
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
//timeout: 600000,
success: function (returnData, status) {
//alert(returnData.message);
//alert(status);
//alert(returnData.result);
if(status == 'success'){ // status 확인 필요한가. 석세스 안뜨면 에러 가지 않나
if("success"==returnData.result){
alert("저장 되었습니다.1");
//$("#addrAgencyVO")[0].reset();
//listLoad();
location.href="${pageContext.request.contextPath}/ve/oprtn/preventEdu/instrInfo/instrAplctMngList.do";
}else{
alert(returnData.message);
return;
}
} else if(status== 'fail'){
alert("저장에 실패하였습니다.2 !!");
}
},
error: function (request,status,error) {
//alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
alert("저장에 실패하였습니다.1");
console.log("ERROR : ", e);
}
});
}
function changeValue(obj){
$('#atFileBasicWrite').val(obj.value);
}
</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>강사 정보 등록(Excel)</h2>
<ul class="cont_nav">
<li class="home"><a href="/"><i></i></a></li>
<li>
<p>강사신청관리</p>
</li>
<li><span class="cur_nav">강사 정보 등록(Excel)</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: 150px;">
<col style="width: ;">
<col style="width: ;">
<col style="width: ;">
</colgroup>
<tbody>
<tr>
<th scope="row">
<p>강사명</p>
</th>
<td class="input_phone attachedFile_wrap" colspan="3">
<label for="" class="label">계좌정보 파일첨부</label>
<input type="text" placeholder="* 첨부가능 파일 txt 각 10MB 이내" readonly
id="atFileBasicWrite" style="width:500px;"
name="atFileBasicWrite"/>
<input type="file" name="file" id="file" style="display:none"
accept=".txt, .xls, .xlsx"
onchange="changeValue(this); return false;"/>
<button type="button" class="btn_type06"
onclick="document.all.file.click(); return false;"
>파일첨부</button>
<%-- <span class="reqTxt6">※ 컴퓨터 파일(엑셀)만 등록 가능합니다.<a href="${pageContext.request.contextPath}/cmm/fms/FileDown.do?atchFileId=FILE_000000000001280&fileSn=0" target="_blank">sample</a></span> --%>
<span class="req_text1">※ 컴퓨터 파일(엑셀)만 등록 가능합니다.<a href="${pageContext.request.contextPath}/cmm/fms/FileDown.do?atchFileId=FILE_000000000001236&fileSn=0" target="_blank">샘플 다운로드</a></span>
</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="fn_insert(); return false;">등록</button>
<button type="button" class="btn_type03" onclick="fncCancle(); return false;">취소</button>
</div>
</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="fn_insert_schol(); return false;">학교등록</button>
</div>
</div>
-->
</div>
</div>
</div>
</form:form>
<!-- //cont -->
</body>
</html>

File diff suppressed because it is too large Load Diff