Merge branch 'advc' of

http://yongjoon.cho@vcs.iten.co.kr:9999/hylee/offedu into advc

Conflicts:
	src/main/webapp/WEB-INF/jsp/web/ve/aplct/fndtnEnhanceTrn/eduAplctList.jsp
This commit is contained in:
myname 2023-11-30 12:17:03 +09:00
commit 42ac0ed362
28 changed files with 751 additions and 483 deletions

View File

@ -514,8 +514,8 @@ public class FndtnEnhanceTrnController {
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
vEPrcsDetailVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id
vEPrcsDetailVO.setLctrDivCd("50"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부
// vEPrcsDetailVO.setFrstRegisterId(loginVO.getUniqId()); //esntl_id
// vEPrcsDetailVO.setLctrDivCd("50"); //강의구분코드 VE0011 10-청소년강의, 20-성인강의, 30-체험, 50-기반강화, 60-조건부
VEEduAplctVO vEEduAplctVO = new VEEduAplctVO();
@ -539,6 +539,10 @@ public class FndtnEnhanceTrnController {
vEEduAplctVO.setInsttNm(vEPrcsDetailVO.getInsttNm());
vEEduAplctVO.setdBirth(vEPrcsDetailVO.getdBirth());
vEEduAplctVO.setFld(vEPrcsDetailVO.getFld());
vEEduAplctVO.setLctrYn(vEPrcsDetailVO.getLctrYn());
vEEduAplctVO.setPrvsQs(vEPrcsDetailVO.getPrvsQs());
fndtnEnhanceTrnService.insertVeEduAplct(vEEduAplctVO);
@ -690,7 +694,7 @@ public class FndtnEnhanceTrnController {
}
@RequestMapping("/web/ve/aplct/fndtnEnhanceTrn/eduRegPopup.do")
@RequestMapping("/web/ve/aplct/fndtnEnhanceTrn/eduAplctPop.do")
public String eduRegPopup(
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
, ModelMap model

View File

@ -408,7 +408,10 @@ public class VEEduAplctVO extends ComDefaultVO implements Serializable {
private String sbmtId; //제출자
private Boolean qestRsltExists; //설문여부
private String fld; // 분야
private String lctrYn; // 저작권 교육 수강 여부
private String prvsQs; // 교육관련 사전질의
public String getSpecialWorkAllow() {
@ -1786,6 +1789,24 @@ public class VEEduAplctVO extends ComDefaultVO implements Serializable {
public void setQestRsltExists(Boolean qestRsltExists) {
this.qestRsltExists = qestRsltExists;
}
public String getFld() {
return fld;
}
public void setFld(String fld) {
this.fld = fld;
}
public String getLctrYn() {
return lctrYn;
}
public void setLctrYn(String lctrYn) {
this.lctrYn = lctrYn;
}
public String getPrvsQs() {
return prvsQs;
}
public void setPrvsQs(String prvsQs) {
this.prvsQs = prvsQs;
}
}

View File

@ -141,7 +141,6 @@ public class VEEduAplctServiceImpl implements VEEduAplctService {
vEEduAplctVO.setMngNmbrOrd(vo.getMngNmbrOrd());
}
if(true) return 0;
return vEEduAplctDAO.statusUpdate(vEEduAplctVO);
}

View File

@ -167,7 +167,11 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable {
private String lctrPlanRsltAtchFileId; //강의계획서 첨부파일 아이디
private String qustnrTmplatId;
private String fld; // 분야
private String lctrYn; // 저작권 교육 수강 여부
private String prvsQs; // 교육관련 사전질의
public String getSearchDiv() {
@ -810,6 +814,30 @@ public class VEPrcsDetailVO extends ComDefaultVO implements Serializable {
public void setInstrNm(String instrNm) {
this.instrNm = instrNm;
}
public String getQustnrTmplatId() {
return qustnrTmplatId;
}
public void setQustnrTmplatId(String qustnrTmplatId) {
this.qustnrTmplatId = qustnrTmplatId;
}
public String getFld() {
return fld;
}
public void setFld(String fld) {
this.fld = fld;
}
public String getLctrYn() {
return lctrYn;
}
public void setLctrYn(String lctrYn) {
this.lctrYn = lctrYn;
}
public String getPrvsQs() {
return prvsQs;
}
public void setPrvsQs(String prvsQs) {
this.prvsQs = prvsQs;
}
}

View File

@ -317,7 +317,10 @@
USE_YN,
CHRG_NM,
INSTT_NM,
D_BIRTH
D_BIRTH,
FLD,
LCTR_YN,
PRVS_QS
)
VALUES(
#eduAplctOrd#,
@ -336,7 +339,10 @@
'Y',
#chrgNm#,
#insttNm#,
#dBirth#
#dBirth#,
#fld#,
#lctrYn#,
#prvsQs#
)
WHEN MATCHED THEN
UPDATE
@ -371,6 +377,15 @@
<isNotEmpty property="dBirth">
,D_BIRTH = #dBirth#
</isNotEmpty>
<isNotEmpty property="fld">
,FLD = #fld#
</isNotEmpty>
<isNotEmpty property="lctrYn">
,LCTR_YN = #lctrYn#
</isNotEmpty>
<isNotEmpty property="prvsQs">
,PRVS_QS = #prvsQs#
</isNotEmpty>
</insert>

View File

@ -189,7 +189,18 @@
vsit.trgt_nm AS trgtNm,
vsit.sspn_idtmt_trgt_ord AS sspnIdtmtTrgtOrd,
vsit.clphone AS vs_clphone,
vsit.d_birth AS dBirth
vsit.d_birth AS dBirth ,
CASE
WHEN EXISTS (/* 설문조사 */
SELECT
1
FROM
LETTNQESTNRRSLTDETAIL lersltD
WHERE
lersltD.respond_id = a.USER_ID
AND a.edu_aplct_ord = lersltD.edu_aplct_ord ) THEN 1
ELSE 0
END AS qestRsltExists
FROM
<include refid="VEEduMIXDAO.table_name"/> a
JOIN ve_prcs_aplct_prd vpap ON
@ -229,6 +240,7 @@
</isNotEmpty>
AND a.use_yn = 'Y'
AND a.aprvl_cd != '40' /* 취소된 내역 안 보여줌 */
</select>

View File

@ -215,11 +215,27 @@
});
}
//설문조사 결과
function fncInstrCostInfo(eduId, userId) { //메뉴생성 화면 호출
var form = document.popupForm;
form.eduAplctOrd.value = eduId;
form.respondId.value = userId;
// form.prcsAplctPrdOrd.value = prcsAplctPrdOrd;
form.action = "<c:url value='/kccadr/oprtn/fndthEnhanceTrn/popup/lctrEvalPopup.do'/>";
openPopupAndSubmitForm('popupForm', 'popupForm', 900, 1200);
}
</script>
</head>
<body>
<form id="popupForm" name="popupForm" method="post">
<input type="hidden" name="prcsAplctPrdOrd" id="prcsAplctPrdOrd" value="<c:out value='${vEPrcsDetailVO.prcsAplctPrdOrd}' />"/>
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd"/>
<input type="hidden" name="respondId" id="respondId"/>
</form>
<form id="instrForm" name="instrForm" method="post">
<input type="hidden" name="prcsAplctPrdOrd" id="prcsAplctPrdOrd" value="<c:out value='${vEPrcsDetailVO.prcsAplctPrdOrd}' />"/>
<input type="hidden" name="userId" id="userId"/>
@ -441,7 +457,9 @@
<col style="width: 12%">
<col style="width: 210px;">
<col style="width: 210px;">
<col style="width: 210px;">
<col style="width: 210px;">
<col style="width: 180px;">
<col style="width: 210px;">
</colgroup>
<thead>
<tr>
@ -450,7 +468,9 @@
<th>주민번호 앞자리</th>
<th>연락처</th>
<th>교육이수여부</th>
<th>교육이수상태변경</th>
<th>교육이수상태변경</th>
<th>설문조사</th>
<th>이수증</th>
</tr>
</thead>
<tbody>
@ -478,6 +498,27 @@
<button type="button" class="btn_type04" onclick="fn_statusChg('20', '<c:out value="${list.eduAplctOrd }" />', '<c:out value="${list.sspnIdtmtTrgtOrd }"/>')">이수</button>
<button type="button" class="btn_type05" onclick="fn_statusChg('10', '<c:out value="${list.eduAplctOrd }" />', '<c:out value="${list.sspnIdtmtTrgtOrd }"/>')">미이수</button>
</td>
<td>
<c:choose>
<c:when test="${list.qestRsltExists }">
<%-- <button type="button" class="btn_type04" onclick="fncInstrCostInfo('<c:out value="${list.qestnrId }"/>');">설문결과</button> --%>
<button type="button" class="btn_type04" onclick="fncInstrCostInfo('${list.eduAplctOrd }', '${list.userId }');">설문결과</button>
</c:when>
<c:otherwise>
미입력
</c:otherwise>
</c:choose>
</td>
<td>
<c:choose>
<c:when test="${list.qestRsltExists }">
<button type="button" title="이수증" class="btn_type04" onclick="fncCmpltCrtfc('<c:out value="${info.prcsAplctPrdOrd}"/>', '<c:out value="${list.eduAplctOrd}"/>');">이수증</button>
</c:when>
<c:otherwise>
-
</c:otherwise>
</c:choose>
</td>
</tr>
</c:forEach>
</c:when>

View File

@ -176,6 +176,12 @@
<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/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngList.do" />'">과정신청기간관리목록</button></li>
<li class="tab"><button type="button" onclick="location.href='<c:url value="/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngList.do" />'">과정관리목록</button></li>
<li class="tab active"><button type="button" onclick="location.href='<c:url value="/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctCfnMngList.do" />'">교육확정관리목록</button></li>
</ul>
<div class="box">
<!-- cont_tit -->
@ -193,7 +199,7 @@
<div class="cont">
<div class="tb_tit01">
<p>교육 확정 관리</p>
<!-- <p>교육 확정 관리</p> -->
</div>
<!-- list_top -->
<div class="list_top search-only">

View File

@ -187,6 +187,13 @@
<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/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngList.do" />'">과정신청기간관리목록</button></li> --%>
<li class="tab"><button type="button" onclick="location.href='<c:url value="/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngList.do" />'">과정관리목록</button></li>
<li class="tab"><button type="button" onclick="location.href='<c:url value="/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctCfnMngList.do" />'">교육확정관리목록</button></li>
</ul>
<div class="box">
<!-- cont_tit -->
@ -204,7 +211,7 @@
<div class="cont">
<div class="tb_tit01">
<p>교육 과정 관리</p>
<!-- <p>교육 과정 관리</p> -->
</div>
<!-- list_top -->
<div class="list_top search-only">

View File

@ -152,10 +152,11 @@
<div class="cont_wrap">
<!--tap 추가-->
<ul class="tab_wrap">
<li class="tab active"><button type="button" onclick="TabWrap(this,'1');">과정신청기간관리목록</button></li>
<li class="tab"><button type="button" onclick="TabWrap(this,'2');">과정관리목록</button></li>
<li class="tab"><button type="button" onclick="TabWrap(this,'3');">교육확정관리목록</button></li>
</ul>
<!-- <li class="tab active"><button type="button" >과정신청기간관리목록</button></li> -->
<li class="tab"><button type="button" onclick="location.href='<c:url value="/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngList.do" />'">과정신청기간관리목록</button></li>
<li class="tab active"><button type="button" onclick="location.href='<c:url value="/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsMngList.do" />'">과정관리목록</button></li>
<li class="tab"><button type="button" onclick="location.href='<c:url value="/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctCfnMngList.do" />'">교육확정관리목록</button></li>
</ul>
<div class="box">
<!-- cont_tit -->
@ -173,7 +174,7 @@
<div class="cont">
<div class="tb_tit01">
<p>교육 과정 관리</p>
<!-- <p>교육 과정 관리</p> -->
</div>
<!-- list_top -->
<div class="list_top search-only">

View File

@ -205,7 +205,7 @@
<ul class="cont_nav">
<li class="home"><a href="/"><i></i></a></li>
<li>
<p>기반강화연수관리</p>
<p>실무자역량강화(기반강화연수관리)</p>
</li>
<li><span class="cur_nav">강사별관리목록</span></li>
</ul>

View File

@ -1,361 +1,367 @@
<!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 : cndtnEduPrcsMngList.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(){
searchInit();
// 검색 select box
$('#searchStatus').change(function(){
$('#searchKeyword').val('');
$('#searchSmbtStartDt').val('');
$('#searchSmbtEndDt').val('');
if($(this).val() == 'frstRegistPnttm'){
$('#searchKeyword').hide();
$('#calendar').show();
}
if($(this).val() == 'trgt_nm'){
$('#searchKeyword').attr('placeholder', '이름을 입력해 주세요.');
$('#calendar').hide();
$('#searchKeyword').show();
}
if($(this).val() == 'd_birth'){
$('#searchKeyword').attr('placeholder', '생년월일을 입력해 주세요.');
$('#calendar').hide();
$('#searchKeyword').show();
}
});
});
function searchInit(){
var selecedTxt = $('#searchStatus option:checked').val();
console.log('selecedTxt : ', selecedTxt);
if(selecedTxt == 'trgt_nm' || selecedTxt == 'd_birth'){
$('#calendar').hide();
}else{
$('#searchKeyword').hide();
}
}
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/cndtnSspnIdtmt/trgtCmpltList.do'/>";
listForm.submit();
}
function fncGoDetail(sspnIdtmtTrgtOrd){
var detailForm = document.detailForm ;
detailForm.sspnIdtmtTrgtOrd.value = sspnIdtmtTrgtOrd;
detailForm.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/trgtCmpltDetail.do'/>";
detailForm.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/cndtnSspnIdtmt/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);
}
});
}
</script>
<title>교육과정관리</title>
</head>
<body>
<form id="detailForm" name="detailForm" method="post" >
<input type="hidden" id="sspnIdtmtTrgtOrd" name="sspnIdtmtTrgtOrd" value="" />
</form>
<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">
<div class="box">
<!-- cont_tit -->
<div class="cont_tit">
<h2>수료자 목록</h2>
<ul class="cont_nav">
<li class="home"><a href="/"><i></i></a></li>
<li>
<p>조건부기소유예관리</p>
</li>
<li><span class="cur_nav">수료자 목록</span></li>
</ul>
</div>
<!-- //cont_tit -->
<div class="cont">
<div class="tb_tit01">
<p>수료자 목록</p>
</div>
<!-- list_top -->
<div class="list_top search-only">
<div class="list_top_1">
<div class="util_right">
<select name="searchStatus" id="searchStatus" class="sel_type1">
<option value="trgt_nm" <c:if test="${cndtnTrgtInfoMngVO.searchStatus == 'trgt_nm' }">selected="selected"</c:if>>이름</option>
<option value="d_birth" <c:if test="${cndtnTrgtInfoMngVO.searchStatus == 'd_birth' }">selected="selected"</c:if>>생년월일</option>
<option value="frstRegistPnttm" <c:if test="${cndtnTrgtInfoMngVO.searchStatus == 'frstRegistPnttm' }">selected="selected"</c:if>>기간별</option>
</select>
<div id="calendar">
<div class="calendar_wrap">
<input type="text" class="calendar" placeholder="시작일" title="시작일 선택" id="searchSmbtStartDt" name="searchSmbtStartDt" value="${cndtnTrgtInfoMngVO.searchSmbtStartDt}">
</div>
~
<div class="calendar_wrap">
<input type="text" class="calendar" placeholder="종료일" title="종료일 선택" id="searchSmbtEndDt" name="searchSmbtEndDt" value="${cndtnTrgtInfoMngVO.searchSmbtEndDt}">
</div>
</div>
<input type="text" id="searchKeyword" name="searchKeyword" placeholder="이름을 입력해주세요." title="검색어 입력" class="search_input" value="<c:out value='${cndtnTrgtInfoMngVO.searchKeyword}'/>">
<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="${cndtnTrgtInfoMngVO.pageUnit == '10' or cndtnTrgtInfoMngVO.pageUnit == ''}">selected</c:if>>10줄</option>
<option value='20' <c:if test="${cndtnTrgtInfoMngVO.pageUnit == '20'}">selected</c:if>>20줄</option>
<option value='30' <c:if test="${cndtnTrgtInfoMngVO.pageUnit == '30'}">selected</c:if>>30줄</option>
<option value='100' <c:if test="${cndtnTrgtInfoMngVO.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: 10%">
<col style="width: 2px">
<col style="width: 2px">
<col style="width: 2px">
<col style="width: 2px">
<col style="width: 10%">
<col style="width: 10%">
<col style="width: 10%">
<col style="width: 2px">
<col style="width: 2px">
</colgroup>
<thead>
<tr>
<th>의뢰일</th>
<th>사건번호</th>
<th>관할청</th>
<th>생년월일</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" onclick="fncGoDetail('<c:out value="${list.sspnIdtmtTrgtOrd}"/>');" style="cursor:pointer;">
<%-- <td onclick="fncGoDetail('<c:out value="${list.sspnIdtmtTrgtOrd}"/>');" style="cursor:pointer;"> --%>
<%-- <c:out value='${list.prcsNm}'/> --%>
<!-- </td> -->
<td>
<c:set var="reqPnttm" value="${fn:substring(list.reqPnttm, 0, 10)}" />
<%-- <fmt:formatDate value="${list.reqPnttm }" pattern="yyyy-MM-dd" /> --%>
<c:out value="${reqPnttm }" />
</td>
<td>
<c:out value="${list.vntNmbr }" />
</td>
<td>
<c:out value="${list.cmptntAthrt }" />
</td>
<td>
<c:out value="${list.dBirth }" />
</td>
<td>
<c:out value="${list.trgtNm }" />
</td>
<td>
<ve:code codeId="COM014" code="${list.sex }"/>
</td>
<td>
<c:out value="${list.reqNmbr }" />
</td>
<td>
<ve:code codeId="VEA005" code="${list.reqStateCd }"/>
</td>
<td>
<ve:code codeId="VEA002" code="${list.eduStateCd }"/>
</td>
<c:set var="fullAddr" value="${list.addr} ${list.addrDetail}" />
<%-- <c:set var="fullAddr" value="${list.addr}" /> --%>
<td title="${fullAddr}">
${fn:length(fullAddr)> 5 ? fn:substring(fullAddr, 0, 5).concat('...') : ''}
</td>
<td>
<c:out value="${list.prsctrNm }" />
</td>
</tr>
</c:forEach>
<c:if test="${empty list}">
<tr><td colspan="3"><spring:message code="common.nodata.msg" /></td></tr>
</c:if>
</tbody>
</table>
</div>
<!-- //list -->
<!-- page -->
<div class="page">
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
</div>
<!-- //page -->
<!-- <div class="btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
</div>
<div class="btn_right">
<button type="button" class="btn_type01" onclick="fncCreate(); return false;">등록</button>
</div>
</div> -->
</div>
</div>
</div>
<!-- //cont -->
<!-- //cont -->
</form:form>
</body>
</html>
<!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 : cndtnEduPrcsMngList.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(){
searchInit();
// 검색 select box
$('#searchStatus').change(function(){
$('#searchKeyword').val('');
$('#searchSmbtStartDt').val('');
$('#searchSmbtEndDt').val('');
if($(this).val() == 'frstRegistPnttm'){
$('#searchKeyword').hide();
$('#calendar').show();
}
if($(this).val() == 'trgt_nm'){
$('#searchKeyword').attr('placeholder', '이름을 입력해 주세요.');
$('#calendar').hide();
$('#searchKeyword').show();
}
if($(this).val() == 'd_birth'){
$('#searchKeyword').attr('placeholder', '생년월일을 입력해 주세요.');
$('#calendar').hide();
$('#searchKeyword').show();
}
});
});
function searchInit(){
var selecedTxt = $('#searchStatus option:checked').val();
console.log('selecedTxt : ', selecedTxt);
if(selecedTxt == 'trgt_nm' || selecedTxt == 'd_birth'){
$('#calendar').hide();
}else{
$('#searchKeyword').hide();
}
}
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/cndtnSspnIdtmt/trgtCmpltList.do'/>";
listForm.submit();
}
function fncGoDetail(sspnIdtmtTrgtOrd){
var detailForm = document.detailForm ;
detailForm.sspnIdtmtTrgtOrd.value = sspnIdtmtTrgtOrd;
detailForm.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/trgtCmpltDetail.do'/>";
detailForm.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/cndtnSspnIdtmt/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);
}
});
}
</script>
<title>교육과정관리</title>
</head>
<body>
<form id="detailForm" name="detailForm" method="post" >
<input type="hidden" id="sspnIdtmtTrgtOrd" name="sspnIdtmtTrgtOrd" value="" />
</form>
<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"><button type="button" onclick="location.href='<c:url value="/kccadr/oprtn/cndtnSspnIdtmt/trgtMngList.do" />'">대상자관리</button></li>
<!-- <li class="tab"><button type="button" onclick="TabWrap(this,'2');">수료자관리</button></li> -->
<li class="tab active"><button type="button" >수료자관리</button></li>
</ul>
<div class="box">
<!-- cont_tit -->
<div class="cont_tit">
<h2>수료자 목록</h2>
<ul class="cont_nav">
<li class="home"><a href="/"><i></i></a></li>
<li>
<p>조건부기소유예관리</p>
</li>
<li><span class="cur_nav">수료자 목록</span></li>
</ul>
</div>
<!-- //cont_tit -->
<div class="cont">
<div class="tb_tit01">
<p>수료자 목록</p>
</div>
<!-- list_top -->
<div class="list_top search-only">
<div class="list_top_1">
<div class="util_right">
<select name="searchStatus" id="searchStatus" class="sel_type1">
<option value="trgt_nm" <c:if test="${cndtnTrgtInfoMngVO.searchStatus == 'trgt_nm' }">selected="selected"</c:if>>이름</option>
<option value="d_birth" <c:if test="${cndtnTrgtInfoMngVO.searchStatus == 'd_birth' }">selected="selected"</c:if>>생년월일</option>
<option value="frstRegistPnttm" <c:if test="${cndtnTrgtInfoMngVO.searchStatus == 'frstRegistPnttm' }">selected="selected"</c:if>>기간별</option>
</select>
<div id="calendar">
<div class="calendar_wrap">
<input type="text" class="calendar" placeholder="시작일" title="시작일 선택" id="searchSmbtStartDt" name="searchSmbtStartDt" value="${cndtnTrgtInfoMngVO.searchSmbtStartDt}">
</div>
~
<div class="calendar_wrap">
<input type="text" class="calendar" placeholder="종료일" title="종료일 선택" id="searchSmbtEndDt" name="searchSmbtEndDt" value="${cndtnTrgtInfoMngVO.searchSmbtEndDt}">
</div>
</div>
<input type="text" id="searchKeyword" name="searchKeyword" placeholder="이름을 입력해주세요." title="검색어 입력" class="search_input" value="<c:out value='${cndtnTrgtInfoMngVO.searchKeyword}'/>">
<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="${cndtnTrgtInfoMngVO.pageUnit == '10' or cndtnTrgtInfoMngVO.pageUnit == ''}">selected</c:if>>10줄</option>
<option value='20' <c:if test="${cndtnTrgtInfoMngVO.pageUnit == '20'}">selected</c:if>>20줄</option>
<option value='30' <c:if test="${cndtnTrgtInfoMngVO.pageUnit == '30'}">selected</c:if>>30줄</option>
<option value='100' <c:if test="${cndtnTrgtInfoMngVO.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: 10%">
<col style="width: 2px">
<col style="width: 2px">
<col style="width: 2px">
<col style="width: 2px">
<col style="width: 10%">
<col style="width: 10%">
<col style="width: 10%">
<col style="width: 2px">
<col style="width: 2px">
</colgroup>
<thead>
<tr>
<th>의뢰일</th>
<th>사건번호</th>
<th>관할청</th>
<th>생년월일</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" onclick="fncGoDetail('<c:out value="${list.sspnIdtmtTrgtOrd}"/>');" style="cursor:pointer;">
<%-- <td onclick="fncGoDetail('<c:out value="${list.sspnIdtmtTrgtOrd}"/>');" style="cursor:pointer;"> --%>
<%-- <c:out value='${list.prcsNm}'/> --%>
<!-- </td> -->
<td>
<c:set var="reqPnttm" value="${fn:substring(list.reqPnttm, 0, 10)}" />
<%-- <fmt:formatDate value="${list.reqPnttm }" pattern="yyyy-MM-dd" /> --%>
<c:out value="${reqPnttm }" />
</td>
<td>
<c:out value="${list.vntNmbr }" />
</td>
<td>
<c:out value="${list.cmptntAthrt }" />
</td>
<td>
<c:out value="${list.dBirth }" />
</td>
<td>
<c:out value="${list.trgtNm }" />
</td>
<td>
<ve:code codeId="COM014" code="${list.sex }"/>
</td>
<td>
<c:out value="${list.reqNmbr }" />
</td>
<td>
<ve:code codeId="VEA005" code="${list.reqStateCd }"/>
</td>
<td>
<ve:code codeId="VEA002" code="${list.eduStateCd }"/>
</td>
<c:set var="fullAddr" value="${list.addr} ${list.addrDetail}" />
<%-- <c:set var="fullAddr" value="${list.addr}" /> --%>
<td title="${fullAddr}">
${fn:length(fullAddr)> 5 ? fn:substring(fullAddr, 0, 5).concat('...') : ''}
</td>
<td>
<c:out value="${list.prsctrNm }" />
</td>
</tr>
</c:forEach>
<c:if test="${empty list}">
<tr><td colspan="3"><spring:message code="common.nodata.msg" /></td></tr>
</c:if>
</tbody>
</table>
</div>
<!-- //list -->
<!-- page -->
<div class="page">
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
</div>
<!-- //page -->
<!-- <div class="btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
</div>
<div class="btn_right">
<button type="button" class="btn_type01" onclick="fncCreate(); return false;">등록</button>
</div>
</div> -->
</div>
</div>
</div>
<!-- //cont -->
<!-- //cont -->
</form:form>
</body>
</html>

View File

@ -241,7 +241,8 @@
<!--tap 추가-->
<ul class="tab_wrap">
<li class="tab active"><button type="button" onclick="TabWrap(this,'1');">대상자관리</button></li>
<li class="tab"><button type="button" onclick="TabWrap(this,'2');">수료자관리</button></li>
<!-- <li class="tab"><button type="button" onclick="TabWrap(this,'2');">수료자관리</button></li> -->
<li class="tab"><button type="button" onclick="location.href='<c:url value="/kccadr/oprtn/cndtnSspnIdtmt/trgtCmpltList.do" />'">수료자관리</button></li>
</ul>
<div class="box">

View File

@ -255,7 +255,7 @@
<ul class="cont_nav">
<li class="home"><a href="/"><i></i></a></li>
<li>
<p>기반강화연수관리</p>
<p>실무자역량강화(기반강화연수관리)</p>
</li>
<li><span class="cur_nav">교육확정관리상세</span></li>
</ul>

View File

@ -183,7 +183,7 @@
<ul class="cont_nav">
<li class="home"><a href="/"><i></i></a></li>
<li>
<p>기반강화연수관리</p>
<p>실무자역량강화(기반강화연수관리)</p>
</li>
<li><span class="cur_nav">과정신청기간관리목록</span></li>
</ul>

View File

@ -191,7 +191,7 @@
<ul class="cont_nav">
<li class="home"><a href="/"><i></i></a></li>
<li>
<p>기반강화연수관리</p>
<p>실무자역량강화(기반강화연수관리)</p>
</li>
<li><span class="cur_nav">기반강화연수 과정 신청기간 등록</span></li>
</ul>

View File

@ -63,7 +63,7 @@
<li>
<p>실무자역량강화(기반강화연수관리)</p>
</li>
<li><span class="cur_nav">기반강화연수관리</span></li>
<li><span class="cur_nav">과정관리상세</span></li>
</ul>
</div>
<!-- //cont_tit -->

View File

@ -155,7 +155,7 @@
<li>
<p>실무자역량강화(기반강화연수관리)</p>
</li>
<li><span class="cur_nav">기반강화연수관리</span></li>
<li><span class="cur_nav">과정관리수정</span></li>
</ul>
</div>
<!-- //cont_tit -->

View File

@ -36,7 +36,7 @@
type:"POST"
,url:"${pageContext.request.contextPath}/web/ve/aplct/fndtnEnhanceTrn/selectQustnrCommonAjax.do"
,data: {
"lctrDivCd" : "50" // 기반강화 -> 기소유예(60)도 같이써야함
"lctrDivCd" : "60" // 기반강화 -> 기소유예(60)도 같이써야함
// ,"eduChasiOrd" : chId
}
,dataType:'json'
@ -168,7 +168,7 @@
if(returnData.result == 'success'){
alert("설문결과가 수정 되었습니다.");
self.close();
location.reload();
}else if(returnData.result == 'fail'){
alert(returnData.msg);
location.href="${pageContext.request.contextPath}/web/user/login/ssoLogin.do?test=test";
@ -200,7 +200,7 @@
alert("설문결과가 삭제 되었습니다.");
window.opener.location.reload();
self.close();
fncPopClose();
}else if(returnData.result == 'fail'){
alert(returnData.msg);
// location.href="${pageContext.request.contextPath}/web/user/login/ssoLogin.do?test=test";
@ -212,13 +212,16 @@
});
}
}
function fncPopClose(){
self.close();
}
</script>
</head>
<body>
<form:form id="createForm" name="createForm" method="post" commandName="vEInstrFeeAcmdtVO" onsubmit="return false;">
<input type="hidden" name="qustnrTmplatId" id="qustnrTmplatId" value="QTMPLA_0000000000001">
<input type="hidden" name="qustnrTmplatId" id="qustnrTmplatId" value="<c:out value="${vEPrcsDetailVO.qustnrTmplatId}" />">
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="<c:out value="${vEPrcsDetailVO.eduAplctOrd}" />">
<input type="hidden" name="respondId" id="respondId" value="<c:out value="${vEPrcsDetailVO.respondId}" />">
<div class="area_popup">

View File

@ -38,6 +38,7 @@
var regStatus = true;
// 텍스트가 비어있는지 확인
console.log('$ddlnCdStts.text(): ',$ddlnCdStts.text());
if ($ddlnCdStts.text().trim() === "") {
var dateText = $ddlnCdStts.closest('table').find("td:eq(2)").text().trim();
@ -61,8 +62,19 @@
// 상태
$ddlnCdStts.text(textVal);
// 버튼
$('#regBtn').text(textVal);
// 접수중일땐 버튼에 신청으로 노출
if(textVal != '접수중'){
$('#regBtn').text(textVal);
}
else{
$('#regBtn').text('신청');
}
}else if($ddlnCdStts.text().trim() === "찜하기"){
$('#regBtn').text('신청');
regStatus = false;
}
$('#regBtn').prop('disabled', regStatus); // 버튼 비활성화
}
@ -149,9 +161,9 @@
}
commonPopLayeropen(
"${pageContext.request.contextPath}/web/ve/aplct/fndtnEnhanceTrn/eduRegPopup.do"
, 800
, 800
"${pageContext.request.contextPath}/web/ve/aplct/fndtnEnhanceTrn/eduAplctPop.do"
, 850
, 900
, data
, "N"
, "eduRegPopup"

View File

@ -295,7 +295,7 @@ $(document).ready(function(){
}
commonPopLayeropen(
"${pageContext.request.contextPath}/web/ve/aplct/fndtnEnhanceTrn/eduRegPopup.do"
"${pageContext.request.contextPath}/web/ve/aplct/fndtnEnhanceTrn/eduAplctPop.do"
, 800
, 800
, data
@ -366,30 +366,6 @@ $(document).ready(function(){
</div>
</div>
<div class="tb_tit02">
<div class="tb_tit02_left">
<div class="t_best">이달의 과정</div>
</div>
<div class="btn_wrap1">
<!-- <button type="button" title="베스트 더보기" class="con_more" onclick="location.href=''">더보기</button> -->
</div>
</div>
<div class="best_list">
<c:forEach var="list" items="${courseOfTheMonthList}" begin="0" end="3">
<div class="best_con">
<input type="hidden" id="strtPnttm" value="${list.strtPnttm }">
<input type="hidden" id="endPnttm" value="${list.endPnttm }">
<ul>
<li class="con_title"><c:out value="${list.prcsNm}"/></li>
<li class="con_date"><c:out value="${list.eduStrtPnttm}"/>~<c:out value="${list.eduDdlnPnttm}"/></li>
<li class="con_btn"><button type="button" title="수강신청" onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');">상세정보</button></li>
</ul>
</div>
</c:forEach>
</div>
<!-- tab -->
<ul class="tab tab_02">
<li class="tab_li on"><button type="button" class="tab_button" data-info="list">리스트형</button></li>
@ -610,4 +586,29 @@ $(document).ready(function(){
</div>
</form:form>
<div class="tb_tit02">
<div class="tb_tit02_left">
<div class="t_best">이달의 과정</div>
</div>
<div class="btn_wrap1">
<!-- <button type="button" title="베스트 더보기" class="con_more" onclick="location.href=''">더보기</button> -->
</div>
</div>
<div class="best_list">
<c:forEach var="list" items="${courseOfTheMonthList}" begin="0" end="3">
<div class="best_con">
<input type="hidden" id="strtPnttm" value="${list.strtPnttm }">
<input type="hidden" id="endPnttm" value="${list.endPnttm }">
<ul>
<li class="con_title"><c:out value="${list.prcsNm}"/></li>
<li class="con_date"><c:out value="${list.eduStrtPnttm}"/>~<c:out value="${list.eduDdlnPnttm}"/></li>
<li class="con_btn"><button type="button" title="수강신청" onclick="fncGoDetail('<c:out value="${list.prcsAplctPrdOrd}"/>');">상세정보</button></li>
</ul>
</div>
</c:forEach>
</div>
</div>

View File

@ -17,6 +17,12 @@
<style>
.duet-date__dialog-content,.duet-date__dialog{max-width:400px;width:364px;}
.popup_wrap.popType01{left: 25%;width: 50%;}
.twoRow{width: 100%;}
input::placeholder {
/* color: red; */
font-size: 0.7em;
/* font-style: italic; */
}
</style>
<script type="text/javaScript" language="javascript">
@ -42,28 +48,40 @@ $(document).ready(function(){
});
// value 체크
// 20231130 이호영
function fnValidation(){
var chrgNm = document.popForm.chrgNm.value;
var insttNm = document.popForm.insttNm.value;
var dBirth = document.popForm.dBirth.value;
var valChk = true
// 텍스트 입력 필드에 값이 있는지 확인
$('input[type="text"]').each(function() {
if ($(this).val() == '') {
var fieldName = $(this).closest('td').prev('th').find('p').text();
alert(fieldName + '를 입력해주세요.');
$(this).focus();
valChk = false
return false; // 함수 실행 중지
}
});
if(chrgNm == ''){
alert('성명을 입력해 주세요.');
return false;
}else if(insttNm ==''){
alert('소속기업을 입력해 주세요.');
return false;
}else if(dBirth ==''){
// duet-date라서 name밖에 없음
var $dBirth = $('input[name="dBirth"]');
if($dBirth.val() ==''){
alert('생년월일을 입력해 주세요.');
$dBirth.focus();
return false;
}
if(!$('#chkY').prop("checked")){
alert('개인정보 처리 동의해 주세요.')
return false;
// alert 두번 방지 if
if(valChk){
if(!$('#chkY').prop("checked")){
alert('개인정보 처리 동의해 주세요.')
return false;
}
}
return true;
return valChk;
}
function fncEduReg(prcsAplctPrdOrd){
@ -72,12 +90,6 @@ $(document).ready(function(){
return false;
}
var regForm2 = document.regForm2;
regForm2.prcsAplctPrdOrd.value = prcsAplctPrdOrd;
regForm2.chrgNm.value = document.popForm.chrgNm.value;
regForm2.insttNm.value = document.popForm.insttNm.value;
regForm2.dBirth.value = document.popForm.dBirth.value;
var data = new FormData(document.getElementById("regForm2"));
if(confirm("신청하시겠습니까?")){
var url = "${pageContext.request.contextPath}/web/ve/aplct/fndtnEnhanceTrn/eduRegAjax.do";
@ -108,15 +120,10 @@ $(document).ready(function(){
</script>
<form name="regForm2" id="regForm2">
<input type="hidden" name="prcsAplctPrdOrd" value="${vEPrcsDetailVO.prcsAplctPrdOrd}">
<input type="hidden" name="chrgNm">
<input type="hidden" name="insttNm">
<input type="hidden" name="dBirth">
<input type="hidden" name="eduAplctOrd" value="${vEPrcsDetailVO.eduAplctOrd}">
</form>
<form id="popForm" name="popForm" method="post">
<form id="regForm2" name="regForm2" method="post">
<input type="hidden" name="prcsAplctPrdOrd" value="${vEPrcsDetailVO.prcsAplctPrdOrd}">
<input type="hidden" name="eduAplctOrd" value="${vEPrcsDetailVO.eduAplctOrd}">
<!-- 신청인정보 -->
<div class="tooltip-wrap q_pop">
<div class="popup_wrap popType01" tabindex="0" data-tooltip-con="target_confirm_popup" data-focus="target_confirm_popup" data-focus-prev="target_confirm_popup_close">
@ -130,7 +137,9 @@ $(document).ready(function(){
<table>
<caption>신청인정보를 입력하는 표</caption>
<colgroup>
<col style="width: 145px;">
<col style="width: 170px;">
<col style="width: auto;">
<col style="width: 170px;">
<col style="width: auto;">
</colgroup>
<tbody>
@ -139,18 +148,8 @@ $(document).ready(function(){
<p>성명</p>
</th>
<td>
<input type="text" name="chrgNm" id="chrgNm"/>
<input type="text" class="twoRow" name="chrgNm" id="chrgNm"/>
</td>
</tr>
<tr>
<th scope="row">
<p>소속기업</p>
</th>
<td>
<input type="text" name="insttNm" id="insttNm"/>
</td>
</tr>
<tr>
<th scope="row">
<p>생년월일</p>
</th>
@ -159,10 +158,40 @@ $(document).ready(function(){
<duet-date-picker identifier="date" class="dBirth" name="dBirth" min="1940-01-01" max="2025-12-31"></duet-date-picker>
</div>
</td>
</tr>
<tr>
<th scope="row">
<p>소속기업</p>
</th>
<td>
<input type="text" class="twoRow" name="insttNm" id="insttNm"/>
</td>
<th scope="row">
<p>분야</p>
</th>
<td>
<input placeholder="어문, 음악, 영상, SW, 연극 등" type="text" class="twoRow" name="fld" id="fld"/>
</td>
</tr>
<tr>
<th scope="row">
<p>저작권 교육 수강 여부</p>
</th>
<td>
<input type="text" class="lctrYn" name="lctrYn" id="lctrYn"/>
</td>
</tr>
<tr>
<th scope="row">
<p>교육관련 사전질의</p>
</th>
<td colspan="2">
<input type="text" name="prvsQs" id="prvsQs" style="width: 100%;"/>
</td>
</tr>
<tr>
<td colspan="2">
<td colspan="3">
<pre>개인정보 처리 동의서
한국저작권위원회에서는 귀하의 개인정보를 중요시하며, 개인정보보호법 제15조, 제17조, 제22조, 제23조 및 제24조에 따라 아래와 같이 개인정보 처리에 관하여 동의를 얻고자 합니다.

View File

@ -84,4 +84,13 @@
</tbody>
</table>
</div>
<div class="btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
<button type="button" class="btnType08">교육신청</button>
</div>
<div class="btn_right">
</div>
</div>
</div>

View File

@ -23,11 +23,14 @@
$("#listForm").attr("action","${pageContext.request.contextPath}/web/ve/aplct/adultVisitEdu/eduAplct/eduAplctReg.do").submit();
}
function fncGoDetail(eduAplctOrd){
var listForm = document.listForm ;
listForm.eduAplctOrd.value = eduAplctOrd ;
$("#listForm").attr("action","${pageContext.request.contextPath}/web/ve/aplct/adultVisitEdu/eduAplct/eduAplctDetail.do").submit();
function fncGoDetail(prcsAplctPrdOrd){
var viewForm = document.viewForm ;
viewForm.prcsAplctPrdOrd.value = prcsAplctPrdOrd ;
viewForm.action = "<c:url value='/web/ve/aplct/sspnIdtmt/eduAplctDetail.do'/>";
viewForm.submit();
}
function fncGoList(){
linkPage(1);
@ -102,6 +105,9 @@
<!-- content -->
<div class="cont_wrap" id="sub">
<form name="viewForm" id="viewForm">
<input type="hidden" name="prcsAplctPrdOrd">
</form>
<form:form id="listForm" name="listForm" commandName="vEEduAplctVO">
<input type="hidden" name="pageIndex" value="<c:out value='${vEEduAplctVO.pageIndex}' default='1' />"/>
<input type="hidden" name="searchSortCnd" value="<c:out value="${vEEduAplctVO.searchSortCnd}" />" />

View File

@ -118,14 +118,10 @@
}
});
alert("1");
$("select[name=divCd] option[value='10']").remove();
alert("12");
$("select[name=divCd] option[value='20']").remove();
alert("13");
$("select[name=divCd] option[value='30']").remove();
alert("14");
});
function fncScholList(paramObj) {
@ -368,12 +364,21 @@
$('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;
}
if($(this).find('select[name=divCd]').val() == ''){
alert('구분을 선택해주세요.');
$('select[name=divCd]:eq('+idx+')').focus();
@ -441,10 +446,29 @@
}
/*작동안되어서 하기로 대체
if($("#agree").length > 0 && $('#agree').val() != 'Y'){
alert('개인정보 수집 및 이용 목적에 동의하셔야합니다.');
return false;
}
*/
var fnAgree = true;
$('input:checkbox[name="agree"]:checked').each(function(idx) {
/*
if($(this).attr("class") != "60") {
alert("선택한 목록 중 교욱확정알림이 불가능한 건이 있습니다.");
fnAgree = true;
}
*/
fnAgree = false;
});
if(fnAgree){
alert('개인정보 수집 및 이용 목적에 동의하셔야합니다.');
return false;
}
return true;
}

View File

@ -416,12 +416,26 @@ var psblFlag = "Y";//학생 신청가능기간여부 체크
$('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;
}
if($(this).find('select[name=divCd]').val() == ''){
alert('구분을 선택해주세요.');
$('select[name=divCd]:eq('+idx+')').focus();
@ -637,7 +651,19 @@ var psblFlag = "Y";//학생 신청가능기간여부 체크
alert("신청가능한 기간이 아닙니다.\n\n"+returnData.message+"\n\n(교사, 학부모 대상 교육은 ‘찾아가는 저작권 교육(성인)'에서 상시 신청 가능합니다)");
//location.href="<c:url value='/web/main/mainPage.do'/>"
psblFlag = 'N';
//저작권배움터 수정요청사항(r1.2023.11.23.).pptx p.109 요구사항
$('#createForm select').prop('disabled', true);
$('#createForm input').prop('disabled', true);
$('#createForm button').prop('disabled', true);
// Disable all radio buttons
// $('input[type="radio"]').prop('disabled', true);
}else{
$("input[name=rndsOrd]").val(returnData.rndsOrd);
}

View File

@ -665,9 +665,19 @@
<th scope="row">
<p>숙박신청여부</p>
</th>
<!-- 교육일자가 지났을 시 숙박신청 막기 -->
<c:set var="now" value="<%=new java.util.Date()%>" />
<c:set var="today"><fmt:formatDate value="${now}" pattern="yyyyMMdd" /></c:set>
<c:set var="eduDt" value="${fn:replace(info.eduHopeDt, '.', '')}" />
<c:if test="${acmdtAplctCheck eq 'N'}">
<td colspan="4">
<button type="button" class="btnType01" data-tooltip="sub51_pop01" title="팝업 열림">숙박 신청</button>
<c:if test="${eduDt <= today}">
마감
</c:if>
<c:if test="${eduDt > today}">
<button type="button" class="btnType01" data-tooltip="sub51_pop01" title="팝업 열림">숙박 신청</button>
</c:if>
</td>
</c:if>
<c:if test="${acmdtAplctCheck eq 'Y'}">
@ -697,7 +707,12 @@
</th>
<c:if test="${acmdtAplctCheck eq 'N'}">
<td>
<button type="button" class="btnType01" data-tooltip="sub51_pop01" title="팝업 열림">숙박 신청</button>
<c:if test="${eduDt < today}">
마감
</c:if>
<c:if test="${eduDt >= today}">
<button type="button" class="btnType01" data-tooltip="sub51_pop01" title="팝업 열림">숙박 신청</button>
</c:if>
</td>
</c:if>
<c:if test="${acmdtAplctCheck eq 'Y'}">

View File

@ -177,8 +177,8 @@ input[type="text"] {height: 40px; padding: 0 15px; font-size: 16px; color: #222;
input[type="text"]:read-only {background-color: #f5f5f5; border: 1px solid #d5d5d5;}
input[type="text"]::placeholder {color: #999;}
input[type="text"]:valid {color: #555;}
input[type="checkbox"]+label {color: #555; font-size: 16px; font-weight: 300; line-height: 1; vertical-align: middle;}
input[type="radio"]+label {color: #555; font-size: 16px; font-weight: 300; line-height: 1; vertical-align: middle;}
input[type="checkbox"]+label {color: #555; font-size: 16px; font-weight: 400; line-height: 1; vertical-align: middle;}
input[type="radio"]+label {color: #555; font-size: 16px; font-weight: 400; line-height: 1; vertical-align: middle;}
textarea {border: 1px solid #d5d5d5; border-radius: 5px;}
textarea::placeholder {color: #000;}
select.selType1 {height: 40px; border: 1px solid #d5d5d5; border-radius: 5px; padding: 0 50px 0 15px; font-size: 16px; color: #222; background-image: url(../images/content/select.png); background-repeat: no-repeat; background-position: calc(100% - 15px) center; color: #666;}
@ -209,6 +209,8 @@ select.selType1 {height: 40px; border: 1px solid #d5d5d5; border-radius: 5px; pa
.btnType06:hover{background-color: #f1f5fb; transition: background-color .1s linear;}
.btnType07{border: 1px solid #d04400; background-color: #fefaf7; color: #d04400;}
.btnType07:hover{background-color: #fdf3ed; transition: background-color .1s linear;}
.btnType08{background-color: #3a72db; color: #fff; width:200px;}
.btnType08:hover{background-color: #1854c3; transition: background-color .1s linear;}
/* calendar */
.calendar_wrap {display: inline-block; position: relative;}
@ -228,7 +230,7 @@ select.selType1 {height: 40px; border: 1px solid #d5d5d5; border-radius: 5px; pa
.tab .tab_li.on .tab_button{position:relative;z-index:20;margin:-5px 0 0 0;font-weight:500;color:#fff;}
.tab_content{display:none;}
.tab_content.on{display:block;}
.tab_content.on{display:block; margin:0 0 50px 0; border-bottom:1px solid #f37632;}
/* table title */
.tb_tit01 {display: flex; width: 100%; justify-content: space-between; align-items: flex-end; margin-bottom: 15px;}
@ -253,7 +255,7 @@ select.selType1 {height: 40px; border: 1px solid #d5d5d5; border-radius: 5px; pa
.tb_type01>table>tbody>tr>th,.tb_type01>table>tbody>tr>td{ font-size: 16px; text-align: left;box-sizing: border-box;}
.tb_type01>table>tbody>tr>th{background-color: #f5f5f5; font-weight: 400; vertical-align: top; padding-top: 19px; padding-left: 20px; padding-bottom: 16px;}
.tb_type01>table>tbody>tr>th p {line-height: 1.3;}
.tb_type01>table>tbody>tr>td{padding: 12px 20px; height: 60px; font-weight: 300; color: #555; vertical-align: middle;}
.tb_type01>table>tbody>tr>td{padding: 12px 20px; height: 60px; font-weight: 400; color: #555; vertical-align: middle;}
.tb_type01>table>tbody>tr>td input[type="text"] {height: 40px;padding: 0 15px; border-radius: 5px; font-size: 16px; box-sizing: border-box;}
.tb_type01>table>tbody>tr>td input[type="radio"]+label {margin-right: 10px;}
.tb_type01>table>tbody>tr>td input[type="checkbox"]+label {margin-right: 10px;}
@ -273,7 +275,7 @@ select.selType1 {height: 40px; border: 1px solid #d5d5d5; border-radius: 5px; pa
/* 교육기반강화연수 */
.tb_tit02 {display: flex; width: 100%; justify-content: space-between; align-items: flex-end; margin:-5px 0 15px 0;}
.tb_tit02 {display: flex; width: 100%; justify-content: space-between; align-items: flex-end; margin:0 0 15px 0;}
.tb_tit02>p {font-size: 18px;}
.tb_tit02 .tb_tit02_left {display: flex; align-items: center;}
.tb_tit02 .tb_tit02_left p{font-size: 22px; font-weight: 600; color: #222; }
@ -312,7 +314,7 @@ select.selType1 {height: 40px; border: 1px solid #d5d5d5; border-radius: 5px; pa
.edup_result ul li.pre {position: relative; padding: 0 0 0 25px;}
.edup_result ul li.pre::after{position: absolute; content: " ";width: 20px; height: 20px; border-radius: 5px; background-color: #e40000; left: 0; top: 55%; transform: translateY(-50%);}
.edu_program { }
.edu_program {margin:0 0 50px 0; }
.edu_program table {border-top:2px solid #000; width:100%; }
.edu_program table.ppre {color:#0c3a97; }
.edu_program table th {vertical-align: middle; line-height:20px; background-color: #f5f5f5; border-left:1px solid #d5d5d5; text-align: center; border-bottom: 1px solid #d5d5d5; padding:10px 0;}
@ -353,7 +355,7 @@ select.selType1 {height: 40px; border: 1px solid #d5d5d5; border-radius: 5px; pa
.tb_list02 {width:100%; }
.tb_list02 table {border-top:2px solid #000; width:100%; }
.tb_list02 table th {vertical-align: middle; line-height:20px; background-color: #f5f5f5; text-align: center; border-bottom: 1px solid #d5d5d5; padding:15px 0;}
.tb_list02 table td {vertical-align: middle; line-height:20px; text-align: center; border-bottom: 1px solid #d5d5d5; padding:8px 0;}
.tb_list02 table td {vertical-align: middle; line-height:20px; text-align: center; border-bottom: 1px solid #d5d5d5; padding:16px 2px; color:#555;}
.tb_list02 table .btnType02 {border-radius:5px; padding:5px 10px; font-size:15px; margin:0 0 0 3px;}
.tb_list02 table .btnType03 {border-radius:5px; padding:5px 10px; font-size:15px;}
.tb_list02 table .btnType04 {border-radius:5px; padding:5px 10px; font-size:15px;}
@ -433,7 +435,7 @@ select.selType1 {height: 40px; border: 1px solid #d5d5d5; border-radius: 5px; pa
.tb_type02>table>thead>tr>th:last-child,.tb_type02>table>tbody>tr>td:last-child{border-right: 0;}
.tb_type02>table>thead>tr>th{font-weight: 400; background-color: #f5f5f5;}
.tb_type02>table>tbody>tr>th {line-height: 1.4;}
.tb_type02>table>tbody>tr>th, .tb_type02>table>tbody>tr>td {color: #555; font-weight: 300; position: relative;}
.tb_type02>table>tbody>tr>th, .tb_type02>table>tbody>tr>td {color: #555; font-weight: 400; position: relative;}
.tb_type02 tbody td input[type="text"].input_time {padding: 0 5px; margin: 0 5px; text-align: center;}
.tb_type02 tbody td button {width: 90px; height: 36px; text-align: center; font-size: 16px; border-radius: 5px;}
.tb_type02 tbody td button.table_del {width: auto; height: auto;}
@ -469,7 +471,7 @@ select.selType1 {height: 40px; border: 1px solid #d5d5d5; border-radius: 5px; pa
.tb_list01 thead th{height: 55px; padding: 0 5px; box-sizing: border-box; vertical-align: middle;border-bottom: 1px solid #d5d5d5; font-size: 17px; font-weight: 400; color: #222; background-color: #f5f5f5; word-break: keep-all;}
.tb_list01 thead th button {font-size: 8px; padding: 0 8px;}
.tb_list01 tbody tr:last-child{border-bottom: 0;}
.tb_list01 tbody th, .tb_list01 tbody td {border-bottom: 1px solid #ececec; font-weight: 300; color: #555555; vertical-align: middle; padding: 16px 2px;font-size: 16px; line-height: 1.3;}
.tb_list01 tbody th, .tb_list01 tbody td {border-bottom: 1px solid #ececec; font-weight: 400; color: #555555; vertical-align: middle; padding: 16px 2px;font-size: 16px; line-height: 1.3;}
.tb_list01 tbody th:not(.has_notice), .tb_list01 tbody tr.new_cont td {color: #5c6dc3; text-decoration: underline;}
.tb_list01 tbody td.t_left {padding: 0 15px;}
.tb_list01 tbody td p {width: 100%; margin: 0 auto; padding: 0 5px; box-sizing: border-box; text-overflow: ellipsis; white-space: nowrap; overflow: hidden;} /* 테이블 안에 내용 ..처리 할때 */
@ -529,7 +531,7 @@ select.selType1 {height: 40px; border: 1px solid #d5d5d5; border-radius: 5px; pa
.list_view .view_info span{position: relative; padding-left: 20px;}
.list_view .view_info span::before{position: absolute; content: " "; width: 1px; height: 15px; background-color: #d5d5d5; left: 7px; top: 6.5px;}
.list_view .view_cont{border-bottom: 1px solid #d5d5d5;padding: 40px 30px;}
.list_view .view_cont p{font-size: 18px; font-weight: 300; box-sizing: border-box; line-height: 1.4; word-break: break-word;}
.list_view .view_cont p{font-size: 18px; font-weight: 400; color:#555; box-sizing: border-box; line-height: 1.4; word-break: break-word;}
.list_view .file_list{width: 100%; border-bottom: 1px solid #d5d5d5; padding: 20px 30px; box-sizing: border-box;}
.list_view .file_list td{display: flex; font-size: 18px; font-weight: 300; margin-bottom: 10px}