2025-09-26 사용자 교육 상세 회면 수정

This commit is contained in:
myname 2025-09-26 11:52:04 +09:00
parent de768dd5c2
commit 60732b35be
3 changed files with 1263 additions and 4 deletions

View File

@ -0,0 +1,629 @@
<%@ 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="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %>
<%pageContext.setAttribute("crlf", "\r\n"); %>
<%pageContext.setAttribute("crlt", "&lt;"); %>
<%pageContext.setAttribute("crgt", "&gt;"); %>
<un:useConstants var="VeConstants" className="kcc.ve.cmm.VeConstants" />
<% pageContext.setAttribute("replaceChar", "\n"); %>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<style>
input:disabled {
background-color: #f9f9f9 !important;
}
input:read-only {
background-color: #f9f9f9 !important;
}
</style>
<script type="text/javaScript" language="javascript">
$(document).ready(function(){
// 상태값 확인
ddlnCdSttsChk();
$("#regBtn").click(function(){
var regForm = document.regForm;
regForm.prcsAplctPrdOrd.value = $(this).data('info');
});
});
function ddlnCdSttsChk(){
var $ddlnCdStts = $(".ddlnCdStts");
// 상태에따라 싱천버튼 활성화 비활성화
var regStatus = true;
// 텍스트가 비어있는지 확인
if ($ddlnCdStts.text().trim() === ""
|| $ddlnCdStts.text().trim() === "반려") {
var dateText = $ddlnCdStts.closest('table').find("td:eq(3)").text().trim();
var strtPnttm = new Date(dateText.split("~")[0].trim().replace(/\./g, '-'));
var endPnttm = new Date(dateText.split("~")[1].trim().replace(/\./g, '-'));
// 시간 맞추기
strtPnttm.setHours(0, 0, 0, 0);
endPnttm.setHours(0, 0, 0, 0);
var currentDate = new Date();
// new Date에서 년, 월, 일만 생성
currentDate = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate());
if (currentDate < strtPnttm) {
$ddlnCdStts.text("접수전");
} else if (currentDate >= strtPnttm && currentDate <= endPnttm) {
$ddlnCdStts.text("접수중");
regStatus = false;
} else if (currentDate > endPnttm) {
$ddlnCdStts.text("접수종료");
}
}
console.log('regStatus : ', regStatus);
$('#regBtn').prop('disabled', regStatus); // 버튼 비활성화
/* 240122 웹접근성으로 인하여 disabled 사용 불가능 - disabled대신 onclick과 데이터툴팁 제거하기 */
if ($('#regBtn').prop('disabled')) {
$('#regBtn').removeAttr('onclick').removeAttr('data-tooltip');
$('#regBtn').prop('disabled', false);
$('#regBtn').css({'background':'#f4f4f4','color':'#888', 'border':'1px solid #ddd'});
/*24.01.23 웹접근성 검사를 위하여 title 추가*/
$('#regBtn').attr('title','비활성화됨');
}
}
function fncGoList(){
/*
var listForm = document.listForm ;
listForm.action = "<c:url value='/web/ve/aplct/cmdTrgt/eduAplctList.do'/>";
listForm.submit();
*/
history.back(-1);
}
function fncSendSubmit(){
if(confirm("제출 하시겠습니까?")){
$.ajax({
type:"POST",
url:"${pageContext.request.contextPath}/web/ve/aplct/adultVisitEdu/eduAplct/eduAplctStatusAjax.do",
data: {
"eduAplctOrd" : $("#eduAplctOrd").val() ,
"sbmtYn" : 'Y',
"aprvlCd" : VeConstants.APRVL_CD_80,
},
dataType:'json',
success:function(returnData){
if(returnData.rsCnt > 0){
alert("제출 되었습니다.");
fncGoList();
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
}
/*
function fncCancelUser(p_eduAplctOrd){
if(confirm("교육 수강을 취소 하시겠습니까? ")){
$.ajax({
type:"POST",
url:"${pageContext.request.contextPath}/web/ve/aplct/cmdTrgt/eduAplctDelete4UserAjax.do",
data: {
"eduAplctOrd" : p_eduAplctOrd
},
dataType:'json',
success:function(returnData){
if(returnData.rsCnt > 0){
alert("취소 되었습니다.");
fncGoList();
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
}
*/
function fncCancelUserToAdmin(p_eduAplctOrd){
if(confirm("교육 수강 취소 요청을 하시겠습니까?")){
$.ajax({
type:"POST",
url:"${pageContext.request.contextPath}/web/ve/aplct/cmdTrgt/eduAplctCancelRequest4UserAjax.do",
data: {
"eduAplctOrd" : p_eduAplctOrd
},
dataType:'json',
success:function(returnData){
if(returnData.rsCnt > 0){
alert("취소요청 되었습니다.");
fncGoList();
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
}
function fncCancelUser(
p_eduAplctOrd
, p_prcsAplctPrdOrd
, p_reqNo
){
if(confirm("교육 수강을 취소 하시겠습니까?")){
$.ajax({
type:"POST",
url:"${pageContext.request.contextPath}/web/ve/aplct/cmdTrgt/eduAplctStatusChange4UserAjax.do",
data: {
"eduAplctOrd" : p_eduAplctOrd
, "prcsAplctPrdOrd" : p_prcsAplctPrdOrd
, "reqNo" : p_reqNo
},
dataType:'json',
success:function(returnData){
if(returnData.rsCnt > 0){
alert("취소 되었습니다.");
fncGoList();
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
}
/*
function fncCancelStatusChange(
p_eduAplctOrd
, p_prcsAplctPrdOrd
, p_reqNo
){
if(confirm("교육 수강 취소 요청을 하시겠습니까?\n관리자 승인 후 취소가 가능합니다.")){
$.ajax({
type:"POST",
url:"${pageContext.request.contextPath}/web/ve/aplct/cmdTrgt/eduAplctStatusChange4UserAjax.do",
data: {
"eduAplctOrd" : p_eduAplctOrd
, "prcsAplctPrdOrd" : p_prcsAplctPrdOrd
, "reqNo" : p_reqNo
},
dataType:'json',
success:function(returnData){
if(returnData.rsCnt > 0){
alert("취소요청 되었습니다.");
fncGoList();
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
}
*/
function fncCancelStatusChange(
p_eduAplctOrd
, p_prcsAplctPrdOrd
, p_reqNo
){
commonPopLayeropen(
//"${pageContext.request.contextPath}/web/ve/instr/tngrVisitEdu/endInfo/popup/eduRsltRprtRegPop.do"
"${pageContext.request.contextPath}/web/ve/aplct/cmdTrgt/popup/eduCancelPop.do"
, 650
, 664
, {
'eduAplctOrd' : p_eduAplctOrd
, 'prcsAplctPrdOrd' : p_prcsAplctPrdOrd
, 'reqNo' : p_reqNo
}
, "Y"
, "cancelStatusChangePop"
);
/*
if(confirm("교육 수강 취소 요청을 하시겠습니까?\n관리자 승인 후 취소가 가능합니다.")){
commonPopLayeropen(
//"${pageContext.request.contextPath}/web/ve/instr/tngrVisitEdu/endInfo/popup/eduRsltRprtRegPop.do"
"${pageContext.request.contextPath}/web/ve/aplct/cmdTrgt/popup/eduCancelPop.do"
, 650
, 664
, {
'eduAplctOrd' : p_eduAplctOrd
, 'prcsAplctPrdOrd' : p_prcsAplctPrdOrd
, 'reqNo' : p_reqNo
}
, "Y"
, "cancelStatusChangePop"
);
}
*/
}
// function fncCancleSubmit(){
// if(confirm("교육신청 취소하시겠습니까?")){
// $.ajax({
// type:"POST",
// url:"${pageContext.request.contextPath}/web/ve/aplct/adultVisitEdu/eduAplct/eduAplctStatusAjax.do",
// data: {
// "eduAplctOrd" : $("#eduAplctOrd").val() ,
// "useYn" : 'N'
// },
// dataType:'json',
// success:function(returnData){
// if(returnData.rsCnt > 0){
// alert("교육신청 취소되었습니다.");
// fncGoList();
// }
// },
// error:function(request , status, error){
// alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
// }
// });
// }
// }
// 대상자 이름, 생년월일, 대상자TB ID
/*
function fncEduReg(trgtNm, dBirth, sspnIdtmtTrgtOrd){
var form = document.regForm;
form.trgtNm.value = trgtNm;
form.dBirth.value = dBirth;
form.sspnIdtmtTrgtOrd.value = sspnIdtmtTrgtOrd;
var data = new FormData(document.getElementById("regForm"));
if(confirm("신청하시겠습니까?")){
var url = "${pageContext.request.contextPath}/web/ve/aplct/cmdTrgt/eduRegAjax.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();
}else{
alert("교육 신청에 실패하였습니다.\n담당자에게 문의해 주세요.");
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
}
*/
function fncGoDetail(){
var linkForm = document.linkForm ;
linkForm.action = "<c:url value='/web/ve/aplct/adultVisitEdu/eduAplct/eduAplctDetail.do'/>";
linkForm.submit();
}
function chrgInfoUpdatePop(){
commonPopLayeropen(
"${pageContext.request.contextPath}/web/ve/comm/popup/chrgInfoUpdatePop.do"
, 650
, 464
, {'eduAplctOrd' : $("#eduAplctOrd").val()}
, "Y"
, "chrgInfoUpdatePop"
);
}
/*
function fn_confirm(){
var form = document.confirmForm;
var dBirth = $('#dBirth').val().replace(/\./g, '');
var trgtNm = $('#trgtNm').val();
form.trgtNm.value = trgtNm;
form.dBirth.value = dBirth;
var data = new FormData(document.getElementById("confirmForm"));
var url = "${pageContext.request.contextPath}/web/ve/aplct/cmdTrgt/userConfirmAjax.do";
$.ajax({
type:"POST",
url: url,
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success:function(returnData){
console.log('returnData : ', returnData);
if(returnData.result == "success"){
// 대상자 테이블 pk 값
var sspnIdtmtTrgtOrd = returnData.id;
alert(returnData.msg);
// 교육 신청 ajax
// 대상자 이름, 생년월일, 대상자TB ID
if(returnData.next == "Y")
{
//sspnIdtmtTrgtOrd = returnData.id;
fncEduReg(trgtNm, dBirth, returnData.id);
}
}else{
alert(returnData.msg);
}
// fn_target_confirm_clean();
location.reload();
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
$('#target_confirm_popup-close').click();
}
*/
function fn_target_confirm_clean(){
$('#trgtNm').val('');
$('#dBirth').val('');
}
//기소유예 신청
function fncAplctPopup(
p_prcsAplctPrdOrd
, id //aplctOrd
, chId //chasiOrd
, p_site_id_cd //10,20,30
, p_action //select, insert
, p_qustnrTmplatId //select, insert
, p_qestnrId //select, insert
, p_qustnrRespondId //select, insert
) {
paramObj = {
"prcsAplctPrdOrd": p_prcsAplctPrdOrd
,"eduAplctOrd" : id
,"eduChasiOrd" : chId
,"siteIdCd" : p_site_id_cd
,"siteId" : "60" //설문정보를 위해서 설문지의 대상값을 넣는다. VE0011 10-청소년, 20-성인,30-체험, 40-외부, 50-기반, 60-기소
,"action" : p_action
,"qustnrTmplatId" : p_qustnrTmplatId
,"qestnrId" : p_qestnrId
,"qustnrRespondId" : p_qustnrRespondId
};
commonPopLayeropen(
//"${pageContext.request.contextPath}/web/ve/aplct/cpyrgExprnClsrm/scholInfo/popup/qustnrPopList.do"
"${pageContext.request.contextPath}/web/ve/aplct/cmdTrgt/popup/eduAplctPopList.do"
, 800
, 700
, paramObj
, "Y"
, "AplctPopup"
);
}
function fn_eduRegPopup(p_trgtNm, p_dBirth, p_clphone, p_sspnIdtmtTrgtOrd){
var data ={
"prcsAplctPrdOrd": $('#regForm input[name="prcsAplctPrdOrd"]').val()
, "trgtNm" : p_trgtNm
, "dBirth" : p_dBirth
, "clphone" : p_clphone
, "sspnIdtmtTrgtOrd" :p_sspnIdtmtTrgtOrd
}
commonPopLayeropen(
"${pageContext.request.contextPath}/web/ve/aplct/cmdTrgt/eduAplctPop.do"
// "${pageContext.request.contextPath}/web/ve/aplct/fndtnEnhanceTrn/eduAplctPop.do"
, 800
, 800
, data
, "N"
, "eduRegPopup"
);
}
</script>
<form name="regForm" id="regForm">
<input type="hidden" name="prcsAplctPrdOrd">
<input type="hidden" name="sspnIdtmtTrgtOrd"> <!-- 대상자 테이블 PK -->
<input type="hidden" name="trgtNm">
<input type="hidden" name="dBirth">
</form>
<form name="confirmForm" id="confirmForm">
<input type="hidden" name="trgtNm">
<input type="hidden" name="dBirth">
<input type="hidden" name="sex">
<input type="hidden" name="clphone">
<input type="hidden" name="chkYn">
</form>
<div class="cont_wrap" id="sub">
<div class="cont_tit">
<h2>신청상세</h2>
<div class="sns_go">
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/facebook_icon.png" alt="페이스북 바로가기"></button>
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/twitter_icon.png" alt="트위터 바로가기"></button>
</div>
</div>
<div class="info_box">
<i class="inquiry"></i>
<div class="info">
<p>기소유예</p>
<span>
저작권 침해사범 중 검찰청으로부터 교육조건부 기소유예 처분을 받아 교육 의뢰된 자
<a href="${pageContext.request.contextPath}/web/ve/aplct/cmdTrgt/eduFAQList.do"><p style="font-weight:400;color:red;font-size:17px;padding-top:10px;">문의사항 : 상단 교육문의 활용</p></a>
</span>
</div>
</div>
<div class="tb_tit01">
<div class="tb_tit01_left">
<p>교육신청 내용</p>
</div>
<%--
<c:if test="${info.aprvlCd eq VeConstants.STATUS_CD_SBMT}">
<div class="btn_wrap">
<button type="button" class="btnType06" onclick="chrgInfoUpdatePop();">담당자 정보 수정</button>
</div>
</c:if>
--%>
</div>
<div class="tb_type01 tb_write">
<table>
<caption>교육신청 내용 - 교육부분, 과정, 신청기간, 관련URL, 교육기간, 상세교육과정, 정원, 상태등의 정보제공 </caption>
<colgroup>
<col style="width: 210px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th scope="row">교육부분</th>
<td>
<ve:code codeId="VEA001" code="${info.prcsDiv}"/>
</td>
</tr>
<tr>
<th scope="row">과정</th>
<td>
<c:out value="${info.prcsNm}"/>
</td>
</tr>
<tr>
<th scope="row">과정명</th>
<td>
<c:out value="${info.title}"/>
</td>
</tr>
<tr>
<th scope="row">신청기간</th>
<td>
<c:out value="${info.strtPnttm}"/>~<c:out value="${info.endPnttm}"/>
</td>
</tr>
<tr>
<c:if test="${info.prcsDiv eq 10}">
<th scope="row">교육장소</th>
</c:if>
<c:if test="${info.prcsDiv eq 20}">
<th scope="row">관련URL</th>
</c:if>
<td class="addPro_wrap">
<c:out value="${info.eduPlace}"/>
</td>
</tr>
<tr>
<th scope="row">교육기간</th>
<td>
<c:out value="${info.eduStrtPnttm}"/>
</td>
</tr>
<tr>
<th scope="row">상세교육과정</th>
<td>
<c:out value="${fn:replace(info.prcsCn, crlf , '<br/>')}" escapeXml="false" />
</td>
</tr>
<tr>
<th scope="row">정원</th>
<td class="addPro_wrap">
<c:out value="${info.nos}"/>
</td>
</tr>
<tr>
<th scope="row">상태</th>
<td class="ddlnCdStts">
<c:choose>
<c:when test="${not empty info.aprvlCd}">
<kc:code codeId="VE0003" code="${info.aprvlCd}"/>
</c:when>
<c:otherwise>
<kc:code codeId="VEA004" code="${info.ddlnCd}"/>
</c:otherwise>
</c:choose>
</td>
</tr>
<tr>
<th scope="row">
<p>첨부파일</p>
</th>
<td>
<c:import url="/cmm/fms/selectBBSFileInfs.do" charEncoding="utf-8">
<c:param name="param_atchFileId" value="${info.atchFileId}" />
<c:param name="pdf_view" value="Y" />
</c:import>
</td>
</tr>
</tbody>
</table>
</div>
<div class="btn_wrap btn_layout01">
<div class="btn_left">
<button type="button" id="listBtn" class="btnType02 btn fill gray large" onclick="fncGoList();">
목록
</button>
</div>
<div class="btn_center">
<!-- 신청이고 교육확정이 아니면 신청, 승인 상태에서 사용자 취소 가능 하도록 버튼 노출 할것. -->
<%-- <c:if test="${(info.aprvlCd eq '10' or info.aprvlCd eq '20') and info.ddlnCd ne '20'}"> --%>
<%-- <button type="button" class="btnType05" onclick="fncCancelUser('${infoAplctOrd.eduAplctOrd}')">교육취소</button> --%>
<%-- </c:if> --%>
<!-- 신청이고 교육확정이 아니면 취소 가능 하도록 버튼 노출 할것. -->
<%-- <c:if test="${(info.aprvlCd eq '10' or info.aprvlCd eq '20') and info.ddlnCd eq '20'}"> --%>
<%-- <button type="button" class="btnType05" onclick="fncCancelUserToAdmin('${infoAplctOrd.eduAplctOrd}')">취소신청</button> --%>
<%-- </c:if> --%>
<c:if test="${(prcsAplctVO.aprvlCd eq '10' or prcsAplctVO.aprvlCd eq '20') and prcsAplctVO.ddlnCd ne '20'}">
<button type="button" class="btnType05 btn line red large" onclick="fncCancelUser('${infoAplctOrd.eduAplctOrd}', '${infoAplctOrd.prcsOrd}', '2-1')">교육취소</button>
</c:if>
<c:if test="${prcsAplctVO.aprvlCd eq '60' and prcsAplctVO.ddlnCd eq '20'}">
<%-- <button type="button" class="btnType05" onclick="fncCancelStatusChange('${infoAplctOrd.eduAplctOrd}', '${infoAplctOrd.prcsOrd}', '6-1')">취소요청</button> --%>
</c:if>
</div>
<div class="btn_right" class="aplctBtn">
<%-- <button type="button" class="btnType04" id="regBtn" data-info="<c:out value="${info.prcsAplctPrdOrd}"/>" data-tooltip="target_confirm_popup" >신청</button> --%>
<button type="button" class="btnType04 btn fill blue large" id="regBtn" data-info="<c:out value='${info.prcsAplctPrdOrd}'/>" data-tooltip="sub36_pop02"
onclick="fncAplctPopup('<c:out value="${info.prcsAplctPrdOrd}"/>','','','10','select'
,'','',''
)" title="팝업 열림">신청</button>
</div>
</div>
</div>

View File

@ -0,0 +1,629 @@
<%@ 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="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %>
<%pageContext.setAttribute("crlf", "\r\n"); %>
<%pageContext.setAttribute("crlt", "&lt;"); %>
<%pageContext.setAttribute("crgt", "&gt;"); %>
<un:useConstants var="VeConstants" className="kcc.ve.cmm.VeConstants" />
<% pageContext.setAttribute("replaceChar", "\n"); %>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<style>
input:disabled {
background-color: #f9f9f9 !important;
}
input:read-only {
background-color: #f9f9f9 !important;
}
</style>
<script type="text/javaScript" language="javascript">
$(document).ready(function(){
// 상태값 확인
ddlnCdSttsChk();
$("#regBtn").click(function(){
var regForm = document.regForm;
regForm.prcsAplctPrdOrd.value = $(this).data('info');
});
});
function ddlnCdSttsChk(){
var $ddlnCdStts = $(".ddlnCdStts");
// 상태에따라 싱천버튼 활성화 비활성화
var regStatus = true;
// 텍스트가 비어있는지 확인
if ($ddlnCdStts.text().trim() === ""
|| $ddlnCdStts.text().trim() === "반려") {
var dateText = $ddlnCdStts.closest('table').find("td:eq(3)").text().trim();
var strtPnttm = new Date(dateText.split("~")[0].trim().replace(/\./g, '-'));
var endPnttm = new Date(dateText.split("~")[1].trim().replace(/\./g, '-'));
// 시간 맞추기
strtPnttm.setHours(0, 0, 0, 0);
endPnttm.setHours(0, 0, 0, 0);
var currentDate = new Date();
// new Date에서 년, 월, 일만 생성
currentDate = new Date(currentDate.getFullYear(), currentDate.getMonth(), currentDate.getDate());
if (currentDate < strtPnttm) {
$ddlnCdStts.text("접수전");
} else if (currentDate >= strtPnttm && currentDate <= endPnttm) {
$ddlnCdStts.text("접수중");
regStatus = false;
} else if (currentDate > endPnttm) {
$ddlnCdStts.text("접수종료");
}
}
console.log('regStatus : ', regStatus);
$('#regBtn').prop('disabled', regStatus); // 버튼 비활성화
/* 240122 웹접근성으로 인하여 disabled 사용 불가능 - disabled대신 onclick과 데이터툴팁 제거하기 */
if ($('#regBtn').prop('disabled')) {
$('#regBtn').removeAttr('onclick').removeAttr('data-tooltip');
$('#regBtn').prop('disabled', false);
$('#regBtn').css({'background':'#f4f4f4','color':'#888', 'border':'1px solid #ddd'});
/*24.01.23 웹접근성 검사를 위하여 title 추가*/
$('#regBtn').attr('title','비활성화됨');
}
}
function fncGoList(){
/*
var listForm = document.listForm ;
listForm.action = "<c:url value='/web/ve/aplct/prevent/eduAplctList.do'/>";
listForm.submit();
*/
history.back(-1);
}
function fncSendSubmit(){
if(confirm("제출 하시겠습니까?")){
$.ajax({
type:"POST",
url:"${pageContext.request.contextPath}/web/ve/aplct/adultVisitEdu/eduAplct/eduAplctStatusAjax.do",
data: {
"eduAplctOrd" : $("#eduAplctOrd").val() ,
"sbmtYn" : 'Y',
"aprvlCd" : VeConstants.APRVL_CD_80,
},
dataType:'json',
success:function(returnData){
if(returnData.rsCnt > 0){
alert("제출 되었습니다.");
fncGoList();
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
}
/*
function fncCancelUser(p_eduAplctOrd){
if(confirm("교육 수강을 취소 하시겠습니까? ")){
$.ajax({
type:"POST",
url:"${pageContext.request.contextPath}/web/ve/aplct/prevent/eduAplctDelete4UserAjax.do",
data: {
"eduAplctOrd" : p_eduAplctOrd
},
dataType:'json',
success:function(returnData){
if(returnData.rsCnt > 0){
alert("취소 되었습니다.");
fncGoList();
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
}
*/
function fncCancelUserToAdmin(p_eduAplctOrd){
if(confirm("교육 수강 취소 요청을 하시겠습니까?")){
$.ajax({
type:"POST",
url:"${pageContext.request.contextPath}/web/ve/aplct/prevent/eduAplctCancelRequest4UserAjax.do",
data: {
"eduAplctOrd" : p_eduAplctOrd
},
dataType:'json',
success:function(returnData){
if(returnData.rsCnt > 0){
alert("취소요청 되었습니다.");
fncGoList();
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
}
function fncCancelUser(
p_eduAplctOrd
, p_prcsAplctPrdOrd
, p_reqNo
){
if(confirm("교육 수강을 취소 하시겠습니까?")){
$.ajax({
type:"POST",
url:"${pageContext.request.contextPath}/web/ve/aplct/prevent/eduAplctStatusChange4UserAjax.do",
data: {
"eduAplctOrd" : p_eduAplctOrd
, "prcsAplctPrdOrd" : p_prcsAplctPrdOrd
, "reqNo" : p_reqNo
},
dataType:'json',
success:function(returnData){
if(returnData.rsCnt > 0){
alert("취소 되었습니다.");
fncGoList();
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
}
/*
function fncCancelStatusChange(
p_eduAplctOrd
, p_prcsAplctPrdOrd
, p_reqNo
){
if(confirm("교육 수강 취소 요청을 하시겠습니까?\n관리자 승인 후 취소가 가능합니다.")){
$.ajax({
type:"POST",
url:"${pageContext.request.contextPath}/web/ve/aplct/prevent/eduAplctStatusChange4UserAjax.do",
data: {
"eduAplctOrd" : p_eduAplctOrd
, "prcsAplctPrdOrd" : p_prcsAplctPrdOrd
, "reqNo" : p_reqNo
},
dataType:'json',
success:function(returnData){
if(returnData.rsCnt > 0){
alert("취소요청 되었습니다.");
fncGoList();
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
}
*/
function fncCancelStatusChange(
p_eduAplctOrd
, p_prcsAplctPrdOrd
, p_reqNo
){
commonPopLayeropen(
//"${pageContext.request.contextPath}/web/ve/instr/tngrVisitEdu/endInfo/popup/eduRsltRprtRegPop.do"
"${pageContext.request.contextPath}/web/ve/aplct/prevent/popup/eduCancelPop.do"
, 650
, 664
, {
'eduAplctOrd' : p_eduAplctOrd
, 'prcsAplctPrdOrd' : p_prcsAplctPrdOrd
, 'reqNo' : p_reqNo
}
, "Y"
, "cancelStatusChangePop"
);
/*
if(confirm("교육 수강 취소 요청을 하시겠습니까?\n관리자 승인 후 취소가 가능합니다.")){
commonPopLayeropen(
//"${pageContext.request.contextPath}/web/ve/instr/tngrVisitEdu/endInfo/popup/eduRsltRprtRegPop.do"
"${pageContext.request.contextPath}/web/ve/aplct/prevent/popup/eduCancelPop.do"
, 650
, 664
, {
'eduAplctOrd' : p_eduAplctOrd
, 'prcsAplctPrdOrd' : p_prcsAplctPrdOrd
, 'reqNo' : p_reqNo
}
, "Y"
, "cancelStatusChangePop"
);
}
*/
}
// function fncCancleSubmit(){
// if(confirm("교육신청 취소하시겠습니까?")){
// $.ajax({
// type:"POST",
// url:"${pageContext.request.contextPath}/web/ve/aplct/adultVisitEdu/eduAplct/eduAplctStatusAjax.do",
// data: {
// "eduAplctOrd" : $("#eduAplctOrd").val() ,
// "useYn" : 'N'
// },
// dataType:'json',
// success:function(returnData){
// if(returnData.rsCnt > 0){
// alert("교육신청 취소되었습니다.");
// fncGoList();
// }
// },
// error:function(request , status, error){
// alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
// }
// });
// }
// }
// 대상자 이름, 생년월일, 대상자TB ID
/*
function fncEduReg(trgtNm, dBirth, sspnIdtmtTrgtOrd){
var form = document.regForm;
form.trgtNm.value = trgtNm;
form.dBirth.value = dBirth;
form.sspnIdtmtTrgtOrd.value = sspnIdtmtTrgtOrd;
var data = new FormData(document.getElementById("regForm"));
if(confirm("신청하시겠습니까?")){
var url = "${pageContext.request.contextPath}/web/ve/aplct/prevent/eduRegAjax.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();
}else{
alert("교육 신청에 실패하였습니다.\n담당자에게 문의해 주세요.");
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
}
*/
function fncGoDetail(){
var linkForm = document.linkForm ;
linkForm.action = "<c:url value='/web/ve/aplct/adultVisitEdu/eduAplct/eduAplctDetail.do'/>";
linkForm.submit();
}
function chrgInfoUpdatePop(){
commonPopLayeropen(
"${pageContext.request.contextPath}/web/ve/comm/popup/chrgInfoUpdatePop.do"
, 650
, 464
, {'eduAplctOrd' : $("#eduAplctOrd").val()}
, "Y"
, "chrgInfoUpdatePop"
);
}
/*
function fn_confirm(){
var form = document.confirmForm;
var dBirth = $('#dBirth').val().replace(/\./g, '');
var trgtNm = $('#trgtNm').val();
form.trgtNm.value = trgtNm;
form.dBirth.value = dBirth;
var data = new FormData(document.getElementById("confirmForm"));
var url = "${pageContext.request.contextPath}/web/ve/aplct/prevent/userConfirmAjax.do";
$.ajax({
type:"POST",
url: url,
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success:function(returnData){
console.log('returnData : ', returnData);
if(returnData.result == "success"){
// 대상자 테이블 pk 값
var sspnIdtmtTrgtOrd = returnData.id;
alert(returnData.msg);
// 교육 신청 ajax
// 대상자 이름, 생년월일, 대상자TB ID
if(returnData.next == "Y")
{
//sspnIdtmtTrgtOrd = returnData.id;
fncEduReg(trgtNm, dBirth, returnData.id);
}
}else{
alert(returnData.msg);
}
// fn_target_confirm_clean();
location.reload();
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
$('#target_confirm_popup-close').click();
}
*/
function fn_target_confirm_clean(){
$('#trgtNm').val('');
$('#dBirth').val('');
}
//기소유예 신청
function fncAplctPopup(
p_prcsAplctPrdOrd
, id //aplctOrd
, chId //chasiOrd
, p_site_id_cd //10,20,30
, p_action //select, insert
, p_qustnrTmplatId //select, insert
, p_qestnrId //select, insert
, p_qustnrRespondId //select, insert
) {
paramObj = {
"prcsAplctPrdOrd": p_prcsAplctPrdOrd
,"eduAplctOrd" : id
,"eduChasiOrd" : chId
,"siteIdCd" : p_site_id_cd
,"siteId" : "60" //설문정보를 위해서 설문지의 대상값을 넣는다. VE0011 10-청소년, 20-성인,30-체험, 40-외부, 50-기반, 60-기소
,"action" : p_action
,"qustnrTmplatId" : p_qustnrTmplatId
,"qestnrId" : p_qestnrId
,"qustnrRespondId" : p_qustnrRespondId
};
commonPopLayeropen(
//"${pageContext.request.contextPath}/web/ve/aplct/cpyrgExprnClsrm/scholInfo/popup/qustnrPopList.do"
"${pageContext.request.contextPath}/web/ve/aplct/prevent/popup/eduAplctPopList.do"
, 800
, 700
, paramObj
, "Y"
, "AplctPopup"
);
}
function fn_eduRegPopup(p_trgtNm, p_dBirth, p_clphone, p_sspnIdtmtTrgtOrd){
var data ={
"prcsAplctPrdOrd": $('#regForm input[name="prcsAplctPrdOrd"]').val()
, "trgtNm" : p_trgtNm
, "dBirth" : p_dBirth
, "clphone" : p_clphone
, "sspnIdtmtTrgtOrd" :p_sspnIdtmtTrgtOrd
}
commonPopLayeropen(
"${pageContext.request.contextPath}/web/ve/aplct/prevent/eduAplctPop.do"
// "${pageContext.request.contextPath}/web/ve/aplct/fndtnEnhanceTrn/eduAplctPop.do"
, 800
, 800
, data
, "N"
, "eduRegPopup"
);
}
</script>
<form name="regForm" id="regForm">
<input type="hidden" name="prcsAplctPrdOrd">
<input type="hidden" name="sspnIdtmtTrgtOrd"> <!-- 대상자 테이블 PK -->
<input type="hidden" name="trgtNm">
<input type="hidden" name="dBirth">
</form>
<form name="confirmForm" id="confirmForm">
<input type="hidden" name="trgtNm">
<input type="hidden" name="dBirth">
<input type="hidden" name="sex">
<input type="hidden" name="clphone">
<input type="hidden" name="chkYn">
</form>
<div class="cont_wrap" id="sub">
<div class="cont_tit">
<h2>신청상세</h2>
<div class="sns_go">
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/facebook_icon.png" alt="페이스북 바로가기"></button>
<button type="button" title="새창열림"><img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/twitter_icon.png" alt="트위터 바로가기"></button>
</div>
</div>
<div class="info_box">
<i class="inquiry"></i>
<div class="info">
<p>기소유예</p>
<span>
저작권 침해사범 중 검찰청으로부터 교육조건부 기소유예 처분을 받아 교육 의뢰된 자
<a href="${pageContext.request.contextPath}/web/ve/aplct/prevent/eduFAQList.do"><p style="font-weight:400;color:red;font-size:17px;padding-top:10px;">문의사항 : 상단 교육문의 활용</p></a>
</span>
</div>
</div>
<div class="tb_tit01">
<div class="tb_tit01_left">
<p>교육신청 내용</p>
</div>
<%--
<c:if test="${info.aprvlCd eq VeConstants.STATUS_CD_SBMT}">
<div class="btn_wrap">
<button type="button" class="btnType06" onclick="chrgInfoUpdatePop();">담당자 정보 수정</button>
</div>
</c:if>
--%>
</div>
<div class="tb_type01 tb_write">
<table>
<caption>교육신청 내용 - 교육부분, 과정, 신청기간, 관련URL, 교육기간, 상세교육과정, 정원, 상태등의 정보제공 </caption>
<colgroup>
<col style="width: 210px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th scope="row">교육부분</th>
<td>
<ve:code codeId="VEA001" code="${info.prcsDiv}"/>
</td>
</tr>
<tr>
<th scope="row">과정</th>
<td>
<c:out value="${info.prcsNm}"/>
</td>
</tr>
<tr>
<th scope="row">과정명</th>
<td>
<c:out value="${info.title}"/>
</td>
</tr>
<tr>
<th scope="row">신청기간</th>
<td>
<c:out value="${info.strtPnttm}"/>~<c:out value="${info.endPnttm}"/>
</td>
</tr>
<tr>
<c:if test="${info.prcsDiv eq 10}">
<th scope="row">교육장소</th>
</c:if>
<c:if test="${info.prcsDiv eq 20}">
<th scope="row">관련URL</th>
</c:if>
<td class="addPro_wrap">
<c:out value="${info.eduPlace}"/>
</td>
</tr>
<tr>
<th scope="row">교육기간</th>
<td>
<c:out value="${info.eduStrtPnttm}"/>
</td>
</tr>
<tr>
<th scope="row">상세교육과정</th>
<td>
<c:out value="${fn:replace(info.prcsCn, crlf , '<br/>')}" escapeXml="false" />
</td>
</tr>
<tr>
<th scope="row">정원</th>
<td class="addPro_wrap">
<c:out value="${info.nos}"/>
</td>
</tr>
<tr>
<th scope="row">상태</th>
<td class="ddlnCdStts">
<c:choose>
<c:when test="${not empty info.aprvlCd}">
<kc:code codeId="VE0003" code="${info.aprvlCd}"/>
</c:when>
<c:otherwise>
<kc:code codeId="VEA004" code="${info.ddlnCd}"/>
</c:otherwise>
</c:choose>
</td>
</tr>
<tr>
<th scope="row">
<p>첨부파일</p>
</th>
<td>
<c:import url="/cmm/fms/selectBBSFileInfs.do" charEncoding="utf-8">
<c:param name="param_atchFileId" value="${info.atchFileId}" />
<c:param name="pdf_view" value="Y" />
</c:import>
</td>
</tr>
</tbody>
</table>
</div>
<div class="btn_wrap btn_layout01">
<div class="btn_left">
<button type="button" id="listBtn" class="btnType02 btn fill gray large" onclick="fncGoList();">
목록
</button>
</div>
<div class="btn_center">
<!-- 신청이고 교육확정이 아니면 신청, 승인 상태에서 사용자 취소 가능 하도록 버튼 노출 할것. -->
<%-- <c:if test="${(info.aprvlCd eq '10' or info.aprvlCd eq '20') and info.ddlnCd ne '20'}"> --%>
<%-- <button type="button" class="btnType05" onclick="fncCancelUser('${infoAplctOrd.eduAplctOrd}')">교육취소</button> --%>
<%-- </c:if> --%>
<!-- 신청이고 교육확정이 아니면 취소 가능 하도록 버튼 노출 할것. -->
<%-- <c:if test="${(info.aprvlCd eq '10' or info.aprvlCd eq '20') and info.ddlnCd eq '20'}"> --%>
<%-- <button type="button" class="btnType05" onclick="fncCancelUserToAdmin('${infoAplctOrd.eduAplctOrd}')">취소신청</button> --%>
<%-- </c:if> --%>
<c:if test="${(prcsAplctVO.aprvlCd eq '10' or prcsAplctVO.aprvlCd eq '20') and prcsAplctVO.ddlnCd ne '20'}">
<button type="button" class="btnType05 btn line red large" onclick="fncCancelUser('${infoAplctOrd.eduAplctOrd}', '${infoAplctOrd.prcsOrd}', '2-1')">교육취소</button>
</c:if>
<c:if test="${prcsAplctVO.aprvlCd eq '60' and prcsAplctVO.ddlnCd eq '20'}">
<%-- <button type="button" class="btnType05" onclick="fncCancelStatusChange('${infoAplctOrd.eduAplctOrd}', '${infoAplctOrd.prcsOrd}', '6-1')">취소요청</button> --%>
</c:if>
</div>
<div class="btn_right" class="aplctBtn">
<%-- <button type="button" class="btnType04" id="regBtn" data-info="<c:out value="${info.prcsAplctPrdOrd}"/>" data-tooltip="target_confirm_popup" >신청</button> --%>
<button type="button" class="btnType04 btn fill blue large" id="regBtn" data-info="<c:out value='${info.prcsAplctPrdOrd}'/>" data-tooltip="sub36_pop02"
onclick="fncAplctPopup('<c:out value="${info.prcsAplctPrdOrd}"/>','','','10','select'
,'','',''
)" title="팝업 열림">신청</button>
</div>
</div>
</div>

View File

@ -27,7 +27,8 @@
function fncGoDetail(prcsAplctPrdOrd){ function fncGoDetail(prcsAplctPrdOrd){
var viewForm = document.viewForm ; var viewForm = document.viewForm ;
viewForm.prcsAplctPrdOrd.value = prcsAplctPrdOrd ; viewForm.prcsAplctPrdOrd.value = prcsAplctPrdOrd ;
viewForm.action = "<c:url value='/web/ve/aplct/cmdTrgt/eduAplctDetail.do'/>"; //viewForm.action = "<c:url value='/web/ve/aplct/sspnIdtmt/eduAplctDetail.do'/>";
viewForm.action = "<c:url value='/web/ve/aplct/sspnIdtmt/eduAplctDetail.do'/>";
viewForm.submit(); viewForm.submit();
} }
@ -68,7 +69,7 @@
var data = new FormData(document.getElementById("qnaForm")); var data = new FormData(document.getElementById("qnaForm"));
var url = "${pageContext.request.contextPath}/web/ve/aplct/cmdTrgt/qnaRegAjax.do"; var url = "${pageContext.request.contextPath}/web/ve/aplct/sspnIdtmt/qnaRegAjax.do";
$.ajax({ $.ajax({
type:"POST", type:"POST",
url: url, url: url,
@ -146,7 +147,7 @@
<!-- content --> <!-- content -->
<div class="cont_wrap" id="sub"> <div class="cont_wrap" id="sub">
<form id="goListForm" name="goListForm" action="<c:url value="/web/ve/aplct/cmdTrgt/sspnIdtmtEduAplctList.do" />" method="post"> <form id="goListForm" name="goListForm" action="<c:url value="/web/ve/aplct/sspnIdtmt/sspnIdtmtEduAplctList.do" />" method="post">
<input type="hidden" id="searchStatus" name="searchStatus" /> <input type="hidden" id="searchStatus" name="searchStatus" />
</form> </form>
<form name="viewForm" id="viewForm"> <form name="viewForm" id="viewForm">
@ -172,7 +173,7 @@
<div class="t_best">교육 신청 목록</div> <div class="t_best">교육 신청 목록</div>
</div> </div>
<div class="btn_wrap1"> <div class="btn_wrap1">
<button type="button" title="교육 신청 목록 더보기" class="con_more" onclick="location.href='<c:url value="/web/ve/aplct/cmdTrgt/sspnIdtmtEduAplctList.do"/>'">더보기</button> <button type="button" title="교육 신청 목록 더보기" class="con_more" onclick="location.href='<c:url value="/web/ve/aplct/sspnIdtmt/sspnIdtmtEduAplctList.do"/>'">더보기</button>
</div> </div>
</div> </div>