2024-02-15 16:37 청소년 찾교 신청서 수정 사항 적용

This commit is contained in:
myname 2024-02-15 16:37:32 +09:00
parent a319299940
commit 6b92570bb7
2 changed files with 266 additions and 25 deletions

View File

@ -358,6 +358,9 @@
<option value="10" <c:if test="${info.eduSlctCd == '10'}">selected="selected"</c:if>>온라인 실시간</option>
<option value="20" <c:if test="${info.eduSlctCd == '20'}">selected="selected"</c:if>>오프라인</option>
</select>
<label for="eduSlctAreaCd" class="label">지역 구분</label>
<kc:select codeId="VE0008" selectedValue="${info.eduSlctAreaCd}" id="eduSlctAreaCd" name="eduSlctAreaCd" styleClass="sel_type1" css="disabled"/>
</td>
</tr>
<tr>

View File

@ -33,6 +33,11 @@
}
</style>
<script type="text/javaScript">
var v_TR0E = '${selectBasicTR0E}'; //초등 기본 교육시간
var v_TR0M = '${selectBasicTR0M}'; //중등 기본 교육시간
var v_TR0H = '${selectBasicTR0H}'; //고등 기본 교육시간
$( document ).ready(function(){
/* $('.chasu_calendar').pickadate({
@ -122,6 +127,28 @@
$("select[name=divCd] option[value='10']").remove();
$("select[name=divCd] option[value='20']").remove();
$("select[name=divCd] option[value='30']").remove();
setTimeout(function(){
$("duet-date-picker .duet-date__input").each(function(idx,itm){
if ($(itm).attr('onblur')=="undefined" || $(itm).attr('onblur')==null){
$(itm).attr('onblur','_fncEduHopeDt('+idx+');');
}
//idx+=1;
});
$("duet-date-picker .duet-date__dialog").each(function(idx,itm){
if ($(itm).attr('onclick')=="undefined" || $(itm).attr('onclick')==null){
$(itm).attr('onclick','_fncEduHopeDt('+idx+');');
}
});
},1000)
});
function fncScholList(paramObj) {
@ -212,8 +239,35 @@
function fncSave(){
var data = new FormData(document.getElementById("createForm"));
// 입력 데이터 유효성 체크
/*
if(type == 'S' || type == 'E' ){
// 입력 데이터 유효성 체크(시간만체크)-초등/중등/고등 최소 시간에 맞는지 확인
if (!timeValidCheck()) return;
// 입력 데이터 유효성 체크(시간이외체크)-입력데이터 유효성 체크
if (!validCheck()) return;
// 작성한 차시가 신청 가능한 기간/시간인지 체크(관리자 지역별 강의관리 참고) 및 중복신청건 조회
//DB로 체크
if(!checkAplctPsbl()) return;
//지역체크 추가 - 지역제한은 제외 신청시 대기로 전환
//if(!checkAplctZonePsbl()) return;
}
*/
// 입력 데이터 유효성 체크(시간만체크)-초등/중등/고등 최소 시간에 맞는지 확인
if (!timeValidCheck()) return;
// 입력 데이터 유효성 체크(시간이외체크)-입력데이터 유효성 체크
if (!validCheck()) return;
// 작성한 차시가 신청 가능한 기간/시간인지 체크(관리자 지역별 강의관리 참고) 및 중복신청건 조회
//DB로 체크
if(!checkAplctPsbl()) return;
// 입력 데이터 유효성 체크
//if (!validCheck()) return;
// 작성한 차시가 신청 가능한 기간인지, 가능한 시간인지 체크하는 로직(관리자 지역별 강의관리 참고)
// 최초 등록 시만 접수기간 체크하도록 변경
/* if(!checkAplctPsbl()) return; */
@ -262,6 +316,85 @@
}
}
function timeValidCheck(){
var trObj = $('.addClassRow').find('tbody > tr').not('.calendar_wrap tr');
if(trObj.length == 0){
alert('교육차시 정보를 등록해주세요.');
return false;
}
var flag = true;
//var all_lrnTm = 0;
$.each(trObj , function(idx, row){
var today = new Date();
var tyyyy = today.getFullYear();
var tmm = today.getMonth()+1;
var tdd = today.getDate();
var todayDate = new Date(tyyyy, tmm-1, tdd)
if($(this).find('input[name=strtTm]').val() == ''){
alert('교육시작 시간을 입력해주세요.');
$('input[name=strtTm]:eq('+idx+')').focus();
return flag = false;
}
if($(this).find('input[name=strtTm]').val().indexOf('선택') != -1){
alert('교육시작 시간을 입력해주세요.');
$('input[name=strtTm]:eq('+idx+')').focus();
return flag = false;
}
if($(this).find('input[name=endTm]').val() == ''){
alert('교육종료 시간을 입력해주세요.');
$('input[name=endTm]:eq('+idx+')').focus();
return flag = false;
}
if($(this).find('input[name=endTm]').val().indexOf('선택') != -1){
alert('교육종료 시간을 입력해주세요.');
$('input[name=endTm]:eq('+idx+')').focus();
return flag = false;
}
var lrnTm = Number($('input[name=lrnTm]:eq('+idx+')').val());
//var scholDivCd = $('#scholDivCd').val();
var scholDivCd = $('input[name=scholDivCd]:checked').val();
// 초등, 특수 , 기타
if(scholDivCd == VeConstants.CLASS_CD_10 || scholDivCd == VeConstants.CLASS_CD_40 || scholDivCd == VeConstants.CLASS_CD_50){
if(lrnTm*1 < v_TR0E*1){
alert('학교구분이 초등/특수/기타와 같다면 최소교육시간 '+v_TR0E+'분 이상이여야합니다.');
$('input[name=strtTm]:eq('+idx+')').focus();
return flag = false;
}
// 중등
}else if(scholDivCd == VeConstants.CLASS_CD_20 ){
if(lrnTm*1 < v_TR0M*1){
alert('학교구분이 중등과 같다면 최소교육시간 '+v_TR0M+'분 이상이여야합니다.');
$('input[name=strtTm]:eq('+idx+')').focus();
return flag = false;
}
// 고등
}else if(scholDivCd == VeConstants.CLASS_CD_30){
if(lrnTm*1 < v_TR0H*1){
alert('학교구분이 고등과 같다면 최소교육시간 '+v_TR0H+'분 이상이여야합니다.');
$('input[name=strtTm]:eq('+idx+')').focus();
return flag = false;
}
}
});
//return true;
return flag;
}
function validCheck(){
if($("#eduSlctCd").val() == ''){
alert('교육선택 구분을 선택해주세요.');
@ -317,11 +450,22 @@
return false;
};
var v_eduPlaceCd = $("input[name='eduPlaceCd']:checked").val();
if (v_eduPlaceCd=='99'){
if($("#eduPlace").val() == ''){
alert('교육장소를 입력해주세요.');
$("#eduPlace").focus();
return false;
};
}
/*
if($("#eduPlace").val() == ''){
alert('교육장소를 입력해주세요.');
$("#eduPlace").focus();
return false;
};
*/
var trObj = $('.addClassRow').find('tbody > tr').not('.calendar_wrap tr');
if(trObj.length == 0){
@ -397,6 +541,7 @@
return flag = false;
}
/*
var lrnTm = Number($('input[name=lrnTm]:eq('+idx+')').val());
var scholDivCd = $('#scholDivCd').val();
@ -424,6 +569,7 @@
}
all_lrnTm = all_lrnTm + lrnTm;
*/
});
@ -434,11 +580,13 @@
//alert(VeConstants.CLASS_CD_10);
/*
if(all_lrnTm < VeConstants.CLASS_TM_70){
alert('전체 교육시간은 '+VeConstants.CLASS_TM_70+'분 이상이여야합니다.');
$('input[name=strtTm]:eq('+idx+')').focus();
return flag = false;
}
*/
if(!flag){
@ -480,6 +628,7 @@
var trObj = $('.addClassRow').find('tbody > tr').not('.calendar_wrap tr');
var flag = true;
var duplChk = false;
var eduSlctCd = $("select[name=eduSlctCd]").val();
//alert(eduSlctCd);
@ -492,6 +641,8 @@
var strtTm = $(this).find('input[name=strtTm]').val();
var endTm = $(this).find('input[name=endTm]').val();
var eduSlctAreaCd = $("select[name=eduSlctAreaCd]").val();
var trgt = $(this).find('input[name=trgt]').val();
var rndsOrd = $('input[name=rndsOrd]').val();
/*
if (eduSlctCd=='10'){
@ -527,15 +678,56 @@
"eduSlctAreaCd" : eduSlctAreaCd,
// "prdDivCd" : prdDivCd,
"eduSlctCd" : eduSlctCd,
"trgt" : trgt,
"rndsOrd":rndsOrd,
},
dataType:'json',
async: false,
success:function(returnData){
if(returnData.result == "fail4"){
alert("로그인 후 다시 교육신청해 주세요.");
flag = false;
return ;
}else if(returnData.result == "fail3"){
//alert("가능한 교육희망일자가 아닙니다.");
alert(returnData.msg+"일은 교육가능일자가 아닙니다.");
flag = false;
return ;
}else if(returnData.result == "fail"){
//alert("신청한 차시 중 신청기간, 강의가능시간이 아닌 교육이 있습니다.");
alert(returnData.msg+"는 강의가능시간이 아닙니다.");
flag = false;
return ;
}else if(returnData.result == "fail6"){
//alert("신청한 차시 중 신청기간, 강의가능시간이 아닌 교육이 있습니다.");
alert(returnData.msg+"는 일일 신청 차시 제한이 넘어서 더이상 신청이 불가능합니다.");
flag = false;
return ;
/*
}else if(returnData.result == "fail5"){
//alert("신청한 차시 중 신청기간, 강의가능시간이 아닌 교육이 있습니다.");
alert("해당 지역의 차시 신청이 초과 되어서 교육신청을 할 수 없습니다.");
flag = false;
//return false;
*/
}else if(!duplChk) {
if(returnData.result == "fail2"){
if(confirm("중복된 신청 건이 있습니다. 진행하시겠습니까?")){
//중복신청건이 있어도 등록(최초 질의 후 재질의 방지)
duplChk = true;
} else {
flag = false;
}
return;
}
}
/*
if(returnData.result == "fail"){
alert("신청한 차시 중 신청기간, 강의가능시간이 아닌 교육이 있습니다.");
flag = false;
return;
}
*/
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
@ -697,6 +889,7 @@
<input type="hidden" name="limitcount" id="limitcount" value="1" /><!-- 최대 업로드 파일갯수 -->
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="${info.eduAplctOrd}" />
<input type="hidden" name="mode" id="mode" value="${modelVO.mode}" />
<input type="hidden" name="rndsOrd" id="rndsOrd" value="${info.rndsOrd}" />
<div class="cont_tit">
@ -711,7 +904,7 @@
<div>
<p>찾아가는 저작권 교육</p>
<span>‘찾아가는 저작권 교육’은 저작권 교육이 필요한 <span>전국 초ㆍ중ㆍ고등학교, 청소년ㆍ아동복지ㆍ노인ㆍ장애인 기관 및 단체 등</span>에 직접 방문하여
무료로 강의를 지원하는 맞춤형 교육 서비스입니다.<p style="font-weight:400;color:red;font-size:17px;padding-top:8px; padding-bottom: 0;">담당자 연락처) 055-792-0233</p></span>
무료로 강의를 지원하는 맞춤형 교육 서비스입니다.<p style="font-weight:400;color:red;font-size:17px;padding-top:8px; padding-bottom: 0;">담당자 연락처) 055-792-0224</p></span>
</div>
</div>
@ -777,13 +970,39 @@
<p>도서벽지학교여부</p>
</th>
<td>
<input type="radio" name="isltnScholYn" id="isltn_schol_N" value="N" ${empty info.isltnScholYn or info.isltnScholYn eq 'N' ? 'checked' : info.isltnScholYn}>
<label for="isltn_schol_N">아니오</label>
<input type="radio" name="isltnScholYn" id="isltn_schol_Y" value="Y" ${info.isltnScholYn eq 'Y' ? 'checked' : info.isltnScholYn}>
<label for="isltn_schol_Y">예</label>
<%-- <input type="radio" name="isltnScholYn" id="isltn_schol_N" value="N" ${empty info.isltnScholYn or info.isltnScholYn eq 'N' ? 'checked' : info.isltnScholYn}> --%>
<!-- <label for="isltn_schol_N">아니오</label> -->
<%-- <input type="radio" name="isltnScholYn" id="isltn_schol_Y" value="Y" ${info.isltnScholYn eq 'Y' ? 'checked' : info.isltnScholYn}> --%>
<!-- <label for="isltn_schol_Y">예</label> -->
<input type="radio" name="isltn0Yn" id="isltn0_Y" value="Y"
${info.isltnYn eq 'Y' ? 'checked' : info.isltnYn}
<c:choose>
<c:when test="${info.isltnYn eq 'Y'}">
checked
</c:when>
<c:when test="${info.isltn2Yn eq 'Y'}">
checked
</c:when>
<c:when test="${info.isltn3Yn eq 'Y'}">
checked
</c:when>
<c:otherwise>
</c:otherwise>
</c:choose>
onclick="return false;">
<label for="isltn0_Y">예</label>
<input type="radio" name="isltn0Yn" id="isltn0_N" value="N"
${empty info.isltnYn or info.isltnYn eq 'N' ? 'checked' : info.isltnYn} onclick="return false;">
<label for="isltn0_N">아니오</label>
</td>
</tr>
<!--
<tr>
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
@ -831,7 +1050,8 @@
<input type="radio" name="ppltnReducAreaYn" id="ppltn_reduc_area_N" value="N" ${empty info.ppltnReducAreaYn or info.ppltnReducAreaYn eq 'N' ? 'checked' : info.ppltnReducAreaYn} disabled>
<label for="ppltn_reduc_area_N">아니오</label>
</td>
</tr>
</tr>
-->
<tr class="input_adress">
<th scope="row">
@ -911,6 +1131,20 @@
</span>
</td>
</tr>
<!-- <tr> -->
<!-- <th scope="row"> -->
<!-- <p class="req_text"><span>필수입력 항목</span>*</p> -->
<!-- <p>교육장소</p> -->
<!-- </th> -->
<!-- <td> -->
<!-- <label for="eduPlace" class="label">교육장소 입력</label> -->
<%-- <input type="text" value="${info.eduPlace}" name="eduPlace" id="eduPlace" size="25"> --%>
<%-- <input type="checkbox" name="corpsEdu" id="corpsEdu" value="Y" <c:if test="${info.corpsEdu eq 'Y'}">checked</c:if>> --%>
<!-- <label for="corpsEdu">집체교육</label> -->
<%-- <input type="checkbox" name="broadroomEdu" id="broadroomEdu" value="Y" <c:if test="${info.broadroomEdu eq 'Y'}">checked</c:if>> --%>
<!-- <label for="broadroomEdu">방송실교육</label> -->
<!-- </td> -->
<!-- </tr> -->
<tr>
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
@ -918,25 +1152,29 @@
</th>
<td>
<label for="eduPlace" class="label">교육장소 입력</label>
<input type="text" value="${info.eduPlace}" name="eduPlace" id="eduPlace" size="25">
<input type="checkbox" name="corpsEdu" id="corpsEdu" value="Y" <c:if test="${info.corpsEdu eq 'Y'}">checked</c:if>>
<label for="corpsEdu">집체교육</label>
<input type="checkbox" name="broadroomEdu" id="broadroomEdu" value="Y" <c:if test="${info.broadroomEdu eq 'Y'}">checked</c:if>>
<label for="broadroomEdu">방송실교육</label>
<%-- <input type="checkbox" name="corpsEdu" id="corpsEdu" value="Y" <c:if test="${info.corpsEdu eq 'Y'}">checked</c:if>> <label for="corpsEdu">집체교육</label> --%>
<%-- <input type="checkbox" name="broadroomEdu" id="broadroomEdu" value="Y" <c:if test="${info.broadroomEdu eq 'Y'}">checked</c:if>> <label for="broadroomEdu">방송실교육</label> --%>
<ve:radio codeId="VEA010" id="eduPlaceCd" name="eduPlaceCd"
selectedValue="${empty info.eduPlaceCd ? '01' : info.eduPlaceCd}"
onChange="eduPlaceChg();"
/>
<label for="eduPlace" class="label">교육장소 입력</label>
<input type="text" value="${info.eduPlace}" name="eduPlace" id="eduPlace" size="25" readonly>
</td>
</tr>
<tr>
<th scope="row">
<p>교육내용</p>
</th>
<td>
<c:forEach var="list" items="${list}" varStatus="status">
<input type="checkbox" id="eduCn${status.count}" name="eduCn" class="eduCnChk" value="${list.prcsOrd}" ${fn:contains(info.eduCn, list.prcsOrd) ? 'checked' : ''}>
<label for="eduCn${status.count}">${list.prcsNm}</label>
<br/>
</c:forEach>
</td>
</tr>
</tr>
<!-- <tr> -->
<!-- <th scope="row"> -->
<!-- <p>교육내용</p> -->
<!-- </th> -->
<!-- <td> -->
<%-- <c:forEach var="list" items="${list}" varStatus="status"> --%>
<%-- <input type="checkbox" id="eduCn${status.count}" name="eduCn" class="eduCnChk" value="${list.prcsOrd}" ${fn:contains(info.eduCn, list.prcsOrd) ? 'checked' : ''}> --%>
<%-- <label for="eduCn${status.count}">${list.prcsNm}</label> --%>
<!-- <br/> -->
<%-- </c:forEach> --%>
<!-- </td> -->
<!-- </tr> -->
<tr>
<th scope="row">
<p>기자재유무</p>