2025-09-17 09:41 관리자 navi 수정

This commit is contained in:
myname 2025-09-17 09:41:37 +09:00
parent 4248676b4c
commit f3943f3b5a
3 changed files with 1207 additions and 0 deletions

View File

@ -0,0 +1,801 @@
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
<%pageContext.setAttribute("crlf", "\r\n"); %>
<%pageContext.setAttribute("crlt", "&lt;"); %>
<%pageContext.setAttribute("crgt", "&gt;"); %>
<%
/**
* @Class Name : cndtnEduPrcsAplctPrdMngDetail.jsp
* @Description : 기반강화연수 기간 상세화면
* @Modification Information
* @
* @ 수정일 수정자 수정내용
* @ ------- -------- ---------------------------
* @ 2021.12.16 조용준 최초 생성
* @author 조용주
* @since 2021.12.16
* @version 1.0
* @see
*
*/
%>
<html lang="ko">
<head>
<title>교육과정관리</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript" src="<c:url value='/js/web/popup.js'/>" ></script>
<script type="text/javascript">
$(document).ready(function(){
// 상태값 확인
ddlnCdSttsChk();
});
function ddlnCdSttsChk(){
var $ddlnCdStts = $("#ddlnCdStts");
// 텍스트가 비어있는지 확인
if ($ddlnCdStts.text().trim() === "") {
var dateText = $ddlnCdStts.closest('table').find("td:eq(2)").text().trim();
var strtPnttm = new Date(dateText.split("~")[0].trim().replace(/\./g, '-'));
var endPnttm = new Date(dateText.split("~")[1].trim().replace(/\./g, '-'));
var currentDate = new Date();
// 시간, 분, 초 초기화
strtPnttm.setHours(0, 0, 0, 0);
endPnttm.setHours(0, 0, 0, 0);
currentDate.setHours(0, 0, 0, 0);
if (currentDate < strtPnttm) {
$ddlnCdStts.text("접수전");
} else if (currentDate >= strtPnttm && currentDate <= endPnttm) {
$ddlnCdStts.text("접수중");
} else if (currentDate > endPnttm) {
$ddlnCdStts.text("접수종료");
}
}
}
function fncGoList(){
var listForm = document.listForm ;
listForm.prcsAplctPrdOrd.value="";
listForm.action = "<c:url value='/kccadr/oprtn/cmdTrgt/cndtnEduPrcsAplctPrdMngList.do'/>";
listForm.submit();
}
function fncGoDetail(){
var form = document.detailForm ;
form.action = "<c:url value='/kccadr/oprtn/cmdTrgt/cndtnEduPrcsAplctPrdMngDetail.do'/>";
form.submit();
}
function fncMdfy(){
var detailForm = document.detailForm ;
detailForm.action = "<c:url value='/kccadr/oprtn/cmdTrgt/cndtnEduPrcsAplctPrdMngMdfy.do'/>";
detailForm.submit();
}
//삭제 - useYn-D 처리
function fncDel(){
var data = new FormData(document.getElementById("modyfiForm"));
if(confirm("삭제하시겠습니까?\n데이터 복구가 안됩니다.")){
var url = "<c:url value='/kccadr/oprtn/cmdTrgt/cndtnEduPrcsAplctPrdMngDelAjax.do'/>";
console.log(data);
$.ajax({
type:"POST",
url: url,
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success:function(returnData){
if(returnData.result == "success"){
alert("삭제되었습니다.");
fncGoList();
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
}
function fn_delInstr(data){
document.instrForm.userId.value = data ;
var data = new FormData(document.getElementById("instrForm"));
if(confirm("삭제하시겠습니까?")){
// var url = "<c:url value='/kccadr/oprtn/cmdTrgt/instrDelAjax.do'/>";
var url = "<c:url value='/kccadr/oprtn/fndthEnhanceTrn/instrDelAjax.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("삭제되었습니다.");
// 새로고침
window.location.reload();
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
event.stopImmediatePropagation();
}
function chkAll(obj) {
// 모든 체크박스의 상태를 헤더 체크박스의 상태와 동일하게 설정
$("input[name='chk']").prop('checked', $(obj).prop('checked'));
}
// 사용자 승인 반려 처리 : 체크박스X
function updateEduAplctOrd(p_aprvlCd, p_eduAplctOrd, p_prcsAplctPrdOrd){
// 기존에 있던 updateEduAplctOrdList function 사용하기 위한 function
var selectedEduAplctOrd = [];
selectedEduAplctOrd.push(p_eduAplctOrd);
var dataToSend = {
"eduAplctOrdList": selectedEduAplctOrd,
"aprvlCd": p_aprvlCd,
"prcsAplctPrdOrd": p_prcsAplctPrdOrd,
"lctrDivCd" : $("#lctrDivCd").val()
};
commAjax(dataToSend);
}
// 사용자 승인 반려 처리 : 체크박스O
function updateEduAplctOrdList(p_aprvlCd, p_prcsAplctPrdOrd) {
if (p_aprvlCd=='30'){
if(!confirm("접수취소(반려)처리 합니까?\n\n교육희망시 사용자가 재신청을 진행해야 합니다.")){
return;
}
}
var selectedEduAplctOrd = [];
// "chk" 이름을 가진 체크박스가 체크된 항목들을 순회
$("input[name='chk']:checked").each(function() {
var eduAplctOrdValue = $(this).val();
selectedEduAplctOrd.push(eduAplctOrdValue);
});
// 선택된 항목이 없으면 경고 메시지를 표시하고 함수를 종료
if (selectedEduAplctOrd.length === 0) {
alert("선택된 항목이 없습니다. 선택 후 다시 시도하세요.");
return false;
}
var dataToSend = {
"eduAplctOrdList": selectedEduAplctOrd,
"aprvlCd": p_aprvlCd,
"prcsAplctPrdOrd": p_prcsAplctPrdOrd,
"lctrDivCd" : $("#lctrDivCd").val()
};
commAjax(dataToSend);
}
function commAjax(dataToSend){
var url = "<c:url value='/kccadr/oprtn/cmdTrgt/updateEduAplctAprvlCdAjax.do'/>";
// AJAX 호출을 통해 서버에 데이터 전송
$.ajax({
type:"POST",
url: url,
data: $.param(dataToSend, true), // 직렬화 , 컨트롤러에서 @ModelAttribute로 받을 수 있음
// contentType : 'application/json',
dataType:'json',
success:function(returnData){
if(returnData.result == "success"){
alert("변경 처리 되었습니다.");
window.location.reload();
}else{
alert("변경 중 오류가 발생하였습니다.");
}
},
error: function(jqXHR, textStatus, errorThrown) {
console.error("AJAX Error:", textStatus, errorThrown);
console.error("Response:", jqXHR.responseText);
}
});
}
function fncDdlnCdSave(data){
$('#modyDdlnCd').val(data);
var data = new FormData(document.getElementById("modyfiForm"));
if(confirm("상태를 변경하시겠습니까?")){
var url = "<c:url value='/kccadr/oprtn/cmdTrgt/updateDdlnCdAjax.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("변경되었습니다.");
location.reload();
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
}
// 강사 배치
function fncInstrAsgnmInfo(prcsAplctPrdOrd) {
var form = document.popForm;
form.prcsAplctPrdOrd.value = prcsAplctPrdOrd;
// form.action = "<c:url value='/kccadr/oprtn/cmdTrgt/popup/fndthInstrAsgnmPopup.do'/>";
form.action = "<c:url value='/kccadr/oprtn/cmdTrgt/popup/cndtnInstrAsgnmPopup.do'/>";
window.open("#", "_securityPop", "scrollbars = no, top=100px, left=100px, height=750px, width=950px");
form.target = "_securityPop";
form.submit();
}
function fn_goDetailPop(p_eduAplctOrd, p_mberId, p_cmdTrgtInfoOrd) {
var form = document.detailPopForm;
form.eduAplctOrd.value = p_eduAplctOrd;
form.userId.value = p_mberId;
form.cmdTrgtInfoOrd.value = p_cmdTrgtInfoOrd;
form.action = "<c:url value='/kccadr/oprtn/cmdTrgt/popup/detailPopup.do'/>";
openPopupAndSubmitForm('detailPopForm', 'detailPopForm', 1000, 720);
}
function fnCnclPopup(eduAplctOrd, prcsAplctPrdOrd) {
var form = document.cnclPopupForm;
form.eduAplctOrd.value = eduAplctOrd;
form.prcsAplctPrdOrd.value = prcsAplctPrdOrd;
form.action = "<c:url value='/kccadr/oprtn/cmdTrgt/popup/cnclPopup.do'/>";
openPopupAndSubmitForm('cnclPopupForm', 'cnclPopupForm', 700, 380);
}
// 엑셀다운로드
function excelDownLoad() {
var listForm = document.listForm ;
listForm.action = "<c:url value='/kccadr/oprtn/cmdTrgt/eduAplctExcelDownLoad.do'/>";
listForm.submit();
}
// 사용자 승인 반려 처리 : 체크박스X
function fncCancelUserList(
p_prcsAplctPrdOrd
, p_reqNo
){
// 기존에 있던 updateEduAplctOrdList function 사용하기 위한 function
var selectedEduAplctOrd = [];
// "chk" 이름을 가진 체크박스가 체크된 항목들을 순회
$("input[name='chk']:checked").each(function() {
var eduAplctOrdValue = $(this).val();
selectedEduAplctOrd.push(eduAplctOrdValue);
});
// 선택된 항목이 없으면 경고 메시지를 표시하고 함수를 종료
if (selectedEduAplctOrd.length === 0) {
alert("선택된 항목이 없습니다. 선택 후 다시 시도하세요.");
return false;
}
var dataToSend = {
"eduAplctOrdList": selectedEduAplctOrd,
"prcsAplctPrdOrd": p_prcsAplctPrdOrd,
"reqNo" : p_reqNo
};
var url = "<c:url value='/kccadr/oprtn/cmdTrgt/eduAplctStatusChange4UserListAjax.do'/>";
commAjax_url(dataToSend, url);
}
function fncCancelUser(
p_eduAplctOrd
, p_prcsAplctPrdOrd
, p_reqNo
){
var dataToSend = {
"eduAplctOrd" : p_eduAplctOrd
, "prcsAplctPrdOrd" : p_prcsAplctPrdOrd
, "reqNo" : p_reqNo
};
var url = "<c:url value='/kccadr/oprtn/cmdTrgt/eduAplctStatusChange4UserAjax.do'/>";
commAjax_url(dataToSend, url);
}
function commAjax_url(dataToSend, p_url){
//var url = "<c:url value='/kccadr/oprtn/cmdTrgt/updateEduAplctAprvlCdAjax.do'/>";
var url = p_url;
// AJAX 호출을 통해 서버에 데이터 전송
$.ajax({
type:"POST",
url: url,
data: $.param(dataToSend, true), // 직렬화 , 컨트롤러에서 @ModelAttribute로 받을 수 있음
// contentType : 'application/json',
dataType:'json',
success:function(returnData){
if(returnData.result == "success"){
alert("변경 처리 되었습니다.");
window.location.reload();
}else{
alert("변경 중 오류가 발생하였습니다.");
}
},
error: function(jqXHR, textStatus, errorThrown) {
console.error("AJAX Error:", textStatus, errorThrown);
console.error("Response:", jqXHR.responseText);
}
});
}
</script>
</head>
<body>
<form id="detailPopForm" name="detailPopForm" method="post">
<input type="hidden" id="eduAplctOrd" name="eduAplctOrd" />
<input type="hidden" id="userId" name="userId" />
<input type="hidden" id="cmdTrgtInfoOrd" name="cmdTrgtInfoOrd" />
</form>
<form id="cnclPopupForm" name="cnclPopupForm" method="post">
<input type="hidden" id="eduAplctOrd" name="eduAplctOrd" />
<input type="hidden" name="prcsAplctPrdOrd" id="prcsAplctPrdOrd" />
</form>
<form id="modyfiForm" name="modyfiForm">
<input type="hidden" id="modyDdlnCd" name="ddlnCd" />
<input type="hidden" name="prcsAplctPrdOrd" id="prcsAplctPrdOrd" value="<c:out value='${vEPrcsDetailVO.prcsAplctPrdOrd}' />"/>
</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"/>
</form>
<form:form id="listForm" name="listForm" commandName="vEPrcsDetailVO" method="post">
<input type="hidden" name="prcsAplctPrdOrd" id="prcsAplctPrdOrd" value="<c:out value='${vEPrcsDetailVO.prcsAplctPrdOrd}' />"/>
</form:form>
<form id="popForm" name="popForm" method="post">
<input type="hidden" name="pageIndex" value="1"/>
<input type="hidden" name="prcsAplctPrdOrd" value="" />
<input type="hidden" name="pageUnit" value="5" />
</form>
<form:form id="detailForm" name="detailForm" commandName="vEPrcsDetailVO" method="post">
<input type="hidden" name="prcsAplctPrdOrd" id="prcsAplctPrdOrd" value="<c:out value='${vEPrcsDetailVO.prcsAplctPrdOrd}' />"/>
<input type="hidden" name="lctrDivCd" id="lctrDivCd" value="60"/>
<!-- cont -->
<div class="cont_wrap">
<div class="box">
<!-- cont_tit -->
<!-- 메뉴에 등록된 URL을 넣으면 해당 메뉴명까지 자동 노출 해줌 -->
<!-- 메뉴에 등록되지 않은 메뉴를 마지막에 넣을떄 1 -->
<!-- 메뉴에 등록되지 않은 메뉴를 마지막에 넣을떄 2 -->
<!-- 메뉴에 등록되지 않은 메뉴를 마지막에 넣을떄 3 -->
<c:import url="/cmm/navi/adminContNav.do">
<c:param name="url" value="/kccadr/oprtn/cmdTrgt/cndtnEduPrcsMngList.do"/>
<c:param name="name1" value="과정신청기간관리"/>
<c:param name="name2" value="과정 신청기간 상세"/>
<c:param name="name3" value=""/>
</c:import>
<!-- cont_tit
<div class="cont_tit">
<h2>과정 신청기간 상세</h2>
<ul class="cont_nav">
<li class="home"><a href="/"><i></i></a></li>
<li>
<p>조건부기소유예관리</p>
</li>
<li><span class="cur_nav">과정신청기간관리 신청기간 상세</span></li>
</ul>
</div>
<!-- //cont_tit -->
<div class="cont">
<!-- list_상세 -->
<div class="tb_tit01">
<p>교육과정관리</p>
</div>
<div class="tb_type02">
<table>
<colgroup>
<col style="width: 210px;">
<col style="width: auto;">
<col style="width: 210px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th scope="row">교육부분</th>
<td>
<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 id="ddlnCdStts">
<ve:code codeId="VEA004" code="${info.ddlnCd}"/>
</td>
</tr>
<tr>
<th scope="row">
<p>공개여부(사용여부)</p>
</th>
<td>
${empty info.useYn or info.useYn eq 'Y' ? '공개' : ''}
${info.useYn eq 'N' ? '비공개' : ''}
</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>
<%-- <tr>
<th scope="row">
<p>공개여부(사용여부)</p>
</th>
<td>
<c:if test="${empty info.useYn or info.useYn eq 'Y'}">예</c:if>
<c:if test="${info.useYn eq 'N'}">아니오</c:if>
</td>
</tr> --%>
</tbody>
</table>
</div>
<!-- //list_상세 -->
<!-- btn_wrap -->
<div class="btn_wrap btn_layout01">
<div class="btn_left">
<button type="button" class="btn_type02" onclick="fncDel(); return false;">삭제</button>
</div>
<div class="btn_center">
</div>
<div class="btn_right">
<button type="button" class="btn_type02" onclick="fncMdfy(); return false;">수정</button>
<button type="button" class="btn_type03" onclick="fncGoList(); return false;">목록</button>
</div>
</div>
<!--
강사 배치 정보
강사 배치 정보
-->
<div class="tb_tit01">
<p>강사 배치 정보</p>
</div>
<div class="tb_type01">
<table>
<colgroup>
<col style="width: 210px;"><!-- name -->
<col style="width: auto;"><!-- 제출일 -->
<col style="width: 210px;"><!-- 신청상태 -->
<col style="width: 410px;"><!-- 강의계획서 -->
<col style="width: 210px;"><!-- 신청상태 -->
</colgroup>
<thead>
<tr>
<th>강사명</th>
<th>연락처</th>
<th>확정여부</th>
<th>강의계획서</th>
<th>삭제</th>
</tr>
</thead>
<tbody>
<c:choose>
<c:when test="${!empty instrAsgnmList }">
<c:forEach var="list" items="${instrAsgnmList}" varStatus="status">
<tr>
<td>
<c:out value="${list.instrNm }"/>
</td>
<td>
<c:out value="${list.phone }"/>
</td>
<td>
<ve:code codeId="VE0019" code="${list.asgnmAprvlCd}"/>
</td>
<td>
<c:import url="/cmm/fms/selectBBSFileInfs.do" charEncoding="utf-8">
<c:param name="param_atchFileId" value="${list.lctrPlanAtchFileId}" />
</c:import>
</td>
<td>
<button type="button" class="btn_type01" onclick="fn_delInstr('<c:out value="${list.userId }" />')">삭제</button>
</td>
</tr>
</c:forEach>
</c:when>
<c:otherwise>
<tr>
<td colspan="5">강사 배치 정보가 없습니다.</td>
</tr>
</c:otherwise>
</c:choose>
</tbody>
</table>
</div>
<!-- btn_wrap -->
<div class="btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
</div>
<div class="btn_right">
<button type="button" class="btn_type02" onclick="fncInstrAsgnmInfo('<c:out value="${info.prcsAplctPrdOrd }" />'); return false;">강사배치</button>
</div>
</div>
<!--
교육 신청자 list_상세
교육 신청자 list_상세
-->
<div class="tb_tit01">
<p>교육신청자</p> <!-- ${listPrcsAplct } -->
</div>
<!-- list_top -->
<div class="list_top search-only">
<div class="list_top_1">
<div class="util_right">
<ve:select codeId="VE0003" name="searchSelStatus" id="searchSelStatus" css="class='sel_type1'"
selectedValue="${vEPrcsDetailVO.searchSelStatus}" defaultValue='' includes="10,20,30,60"
defaultText='전체'
/>
<div class="calendar_wrap">
<input type="text" class="calendar" title="시작일 선택" id="searchSmbtStartDt" name="searchSmbtStartDt" value="${vEPrcsDetailVO.searchSmbtStartDt}">
</div>
~
<div class="calendar_wrap">
<input type="text" class="calendar" title="종료일 선택" id="searchSmbtEndDt" name="searchSmbtEndDt" value="${vEPrcsDetailVO.searchSmbtEndDt}">
</div>
<%-- <input type="text" id="searchKeyword" name="searchKeyword" placeholder="검색어를 입력하세요." title="검색어 입력" class="search_input" value="<c:out value='${vEPrcsDetailVO.searchKeyword}'/>"> --%>
<button type="button" class="btn_type08" onclick="fncGoDetail(); return false;">검색</button>
<!-- <button class="btn_type03" onclick="fncReset(this); return false;">초기화</button> -->
</div>
</div>
</div>
<div class="tb_type01">
<table>
<colgroup>
<col style="width: 4%">
<col style="width: 4%">
<col style="width: 5%">
<col style="width: 14%">
<col style="width: 20%">
<col style="width: 17%">
<col style="width: 10%">
<col style="width: 90px;">
<col style="width: auto;">
<col style="width: 180px;">
</colgroup>
<thead>
<tr>
<th><input type="checkbox" name="checkAll" id="checkAll" onclick="chkAll(this);" /><label for="checkAll"></label></th>
<th>순번</th>
<th>신청자</th>
<th>아이디</th>
<th>이메일</th>
<th>핸드폰</th>
<th>신청일</th>
<th>확정여부</th>
<th>교육상태</th>
<th>승인처리</th>
</tr>
</thead>
<tbody>
<c:choose>
<c:when test="${!empty listPrcsAplct}">
<c:forEach var="list" items="${listPrcsAplct}" varStatus="status">
<tr>
<td>
<!-- 반려인 경우는 처리안되도록 check box을 노출하지 않는다. -->
<c:choose>
<c:when test="${list.aprvlCd ne 30}">
<input name="chk" class="${list.asgnmAprvlCd}"
value="${list.eduAplctOrd}" title="Check" type="checkbox"/>
</c:when>
<c:otherwise>
</c:otherwise>
</c:choose>
</td>
<td>
<c:out value="${list.rowNo}"/>
</td>
<td>
<c:out value="${list.trgtNm}"/>
</td>
<td>
<a href="#none" onclick="fn_goDetailPop('${list.eduAplctOrd}','${list.mberId}','${list.cmdTrgtInfoOrd}')"><c:out value="${list.mberId}"/></a>
</td>
<td>
<c:out value="${list.email}"/>
</td>
<td>
<c:out value="${list.phone}"/>
</td>
<td>
<c:out value="${list.sbmtPnttm}"/>
</td>
<td>
<ve:code codeId="VE0003" code="${list.aprvlCd}"/>
</td>
<td>
<ve:code codeId="VEA003" code="${list.aplctStateCd}"/>
<!-- 취소요청 내용이 있고 미이수, 이수인 상태 -->
<c:if test="${not empty list.cnclCn and (list.aplctStateCd eq 10 or list.aplctStateCd eq 20)}">
(취소-반려)
</c:if>
</td>
<td>
<!-- 반려인 경우는 처리안되도록 check box을 노출하지 않는다. -->
<c:choose>
<c:when test="${list.aprvlCd ne 30}">
<button type="button" class="btn_type04" onclick="updateEduAplctOrd('20', '<c:out value="${list.eduAplctOrd }" />', '<c:out value="${info.prcsAplctPrdOrd }"/>')">승인</button>
<button type="button" class="btn_type05" onclick="fncCancelUser('${list.eduAplctOrd}', '${info.prcsAplctPrdOrd}', '4')">반려</button>
</c:when>
<c:otherwise>
</c:otherwise>
</c:choose>
</td>
</c:forEach>
</c:when>
<c:otherwise>
<tr>
<td colspan="6">신청자가 없습니다.</td>
</tr>
</c:otherwise>
</c:choose>
</tbody>
</table>
</div>
<!-- //list_상세 -->
<!-- btn_wrap -->
<div class="btn_wrap btn_layout01">
<div class="btn_left">
<button type="button" class="btn_type02" onclick="excelDownLoad(); return false;">엑셀다운로드</button>
<button type="button" class="btn_type04" onclick="fncDdlnCdSave(10); return false;">신청마감</button>
<button type="button" class="btn_type04" onclick="fncDdlnCdSave(20); return false;">교육확정</button>
</div>
<div class="btn_center">
</div>
<div class="btn_right">
<button type="button" class="btn_type04" onclick="location.href='<c:url value="/kccadr/oprtn/cmdTrgt/cndtnEduPrcsAplctPrdMngList.do" />'; return false;">강의목록</button>
<%-- <button type="button" class="btn_type04" onclick="updateEduAplctOrdList(30, '<c:out value="${info.prcsAplctPrdOrd }" />'); return false;">접수취소(반려)</button> --%>
<button type="button" class="btn_type04" onclick="fncCancelUserList('<c:out value="${info.prcsAplctPrdOrd }" />','4'); return false;">접수취소(반려)</button>
<button type="button" class="btn_type04" onclick="updateEduAplctOrdList(20, '<c:out value="${info.prcsAplctPrdOrd }" />'); return false;">교육승인</button>
</div>
</div>
</div>
</div>
</div>
</form:form>
<!-- //cont -->
</body>
</html>

View File

@ -0,0 +1,193 @@
<!DOCTYPE html>
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
<%pageContext.setAttribute("crlf", "\r\n"); %>
<%
/**
* @Class Name : fndthEduPrcsMngDetail.jsp
* @Description : 기반강화연수 상세화면
* @Modification Information
* @
* @ 수정일 수정자 수정내용
* @ ------- -------- ---------------------------
* @ 2021.12.16 조용준 최초 생성
* @author 조용주
* @since 2021.12.16
* @version 1.0
* @see
*
*/
%>
<html lang="ko">
<head>
<title>교육과정관리</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript">
function fncGoList(){
var listForm = document.listForm ;
listForm.action = "<c:url value='/kccadr/oprtn/cmdTrgt/cndtnEduPrcsMngList.do'/>";
listForm.submit();
}
function fncMdfy(){
var detailForm = document.detailForm ;
detailForm.action = "<c:url value='/kccadr/oprtn/cmdTrgt/cndtnEduPrcsMngMdfy.do'/>";
detailForm.submit();
}
//삭제 - useYn-D 처리
function fncDel(){
var data = new FormData(document.getElementById("detailForm"));
if(confirm("삭제하시겠습니까?\n데이터 복구가 안됩니다.")){
var url = "<c:url value='/kccadr/oprtn/cmdTrgt/cndtnEduPrcsMngDelAjax.do'/>";
console.log(data);
$.ajax({
type:"POST",
url: url,
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success:function(returnData){
if(returnData.result == "success"){
alert("삭제되었습니다.");
fncGoList();
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
}
</script>
</head>
<body>
<form:form id="listForm" name="listForm" commandName="vEPrcsDetailVO" method="post">
</form:form>
<form:form id="detailForm" name="detailForm" commandName="vEPrcsDetailVO" method="post">
<input type="hidden" name="prcsOrd" value="<c:out value='${vEPrcsDetailVO.prcsOrd}' default='1' />"/>
<!-- cont -->
<div class="cont_wrap">
<div class="box">
<!-- cont_tit -->
<!-- 메뉴에 등록된 URL을 넣으면 해당 메뉴명까지 자동 노출 해줌 -->
<!-- 메뉴에 등록되지 않은 메뉴를 마지막에 넣을떄 1 -->
<!-- 메뉴에 등록되지 않은 메뉴를 마지막에 넣을떄 2 -->
<!-- 메뉴에 등록되지 않은 메뉴를 마지막에 넣을떄 3 -->
<c:import url="/cmm/navi/adminContNav.do">
<c:param name="url" value="/kccadr/oprtn/cmdTrgt/cndtnEduPrcsMngList.do"/>
<c:param name="name1" value="과정관리"/>
<c:param name="name2" value="과정관리상세"/>
<c:param name="name3" value=""/>
</c:import>
<!-- cont_tit
<div class="cont_tit">
<h2>교육 과정 등록</h2>
<ul class="cont_nav">
<li class="home"><a href="/"><i></i></a></li>
<li>
<p>조건부기소유예관리</p>
</li>
<li><span class="cur_nav">과정관리상세</span></li>
</ul>
</div>
<!-- //cont_tit -->
<div class="cont">
<!-- list_상세 -->
<div class="tb_tit01">
<p>교육과정관리</p>
</div>
<div class="tb_type02">
<table>
<colgroup>
<col style="width: 210px;">
<col style="width: auto;">
<col style="width: 210px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th scope="row">교육부문</th>
<td colspan="3" style="position: relative;">
<ve:code codeId="VEA001" code="${info.prcsDiv}"/>
<div class="put_photo">
<div class="put_photo_in">
<div class="put_photo_box">
<c:if test="${empty info.imageAtchFileId}">
<img src="${pageContext.request.contextPath}/visitEdu/usr/publish/images/content/img_add.png" alt="이미지를 넣어주세요">
</c:if>
<c:if test="${not empty info.imageAtchFileId}">
<img id="instrPhoto" class="id_pic" alt="사진" src='<c:url value='/uss/ion/pwm/getImage.do'/>?atchFileId=<c:out value="${info.imageAtchFileId}"/>' />
</c:if>
<input type="hidden" name="imageAtchFileId" id="imageAtchFileId" value="<c:out value='${info.imageAtchFileId}'/>"/>
</div>
<!-- <button type="button" class="btnType01" onclick="fncPhotoPopup(); return false;">사진등록</button> -->
</div>
</div>
</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.prcsCn}' /> --%>
<c:out value="${fn:replace(info.prcsCn , crlf , '<br/>')}" escapeXml="false" />
</td>
</tr>
<tr>
<th scope="row">사용여부</th>
<td>
<c:if test="${info.useYn eq 'Y'}">
사용
</c:if>
<c:if test="${info.useYn ne 'Y'}">
미사용
</c:if>
</td>
</tr>
</tbody>
</table>
</div>
<!-- //list_상세 -->
<!-- btn_wrap -->
<div class="btn_wrap btn_layout01">
<div class="btn_left">
<button type="button" class="btn_type07" onclick="fncDel(); return false;">삭제</button>
</div>
<div class="btn_center">
</div>
<div class="btn_right">
<button type="button" class="btn_type01" onclick="fncMdfy(); return false;">수정</button>
<button type="button" class="btn_type03" onclick="fncGoList(); return false;">목록</button>
</div>
</div>
</div>
</div>
</div>
</form:form>
<!-- //cont -->
</body>
</html>

View File

@ -0,0 +1,213 @@
<!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="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<%
/**
* @Class Name : instrAsgnmPopup.jsp
* @Description : 강사배치 팝업
* @Modification Information
* @
* @ 수정일 수정자 수정내용
* @ ------- -------- ---------------------------
* @ 2021.08.09 김봉호 최초 생성
* @author 안주영
* @since 2022.1.8
* @version 1.0
* @see
*
*/
%>
<html lang="ko">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<%-- <script type="text/javascript" src="<c:url value='/js/ve/tmapJS.js'/>"></script> --%>
<script type="text/javascript">
</script>
<title>강사배치 팝업</title>
<script type="text/javaScript" language="javascript">
$(document).ready(function(){
// ID를 alpreah_input로 가지는 곳에서 키를 누를 경우
$("#instrNm").keydown(function(key) {
if (key.keyCode == 13) {
linkPage(1);
return false;
}
});
});
function fncPopClose(){
self.close();
}
function linkPage(pageNo){
var listForm = document.listForm ;
listForm.pageIndex.value = pageNo ;
if($('#searchEduSlctAreaCd option:selected').text() != '전체'){
listForm.rsdne.value = $('#searchEduSlctAreaCd option:selected').text();
}
listForm.action = "<c:url value='/kccadr/oprtn/cmdTrgt/popup/cndtnInstrAsgnmPopup.do'/>";
listForm.submit();
}
function fncInstrAsgnm(p_id) {
$("#userId").val(p_id);
var data1 = new FormData(document.getElementById("createForm"));
if(confirm("강사를 선택 하시겠습니까?")){
$.ajax({
type:"POST",
url:"${pageContext.request.contextPath}/kccadr/oprtn/cmdTrgt/cndtnInstrAsgnmAjax.do",
data: data1,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success:function(returnData){
if(returnData.result == 'success'){
alert("저장 되었습니다.");
opener.location.reload();
fncPopClose();
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
}
</script>
</head>
<body>
<div class="area_popup supm_popup">
<div class="cont_popup">
<form:form id="createForm" name="createForm" method="post" onsubmit="return false;">
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd"/>
<input type="hidden" name="eduChasiOrd" id="eduChasiOrd"/>
<input type="hidden" name="userId" id="userId" />
<input type="hidden" name="asgnmAprvlCd" id="asgnmAprvlCd" value="30"/> <!-- VE0019 배정 승인 코드 30 확정 -->
<input type="hidden" name="prcsAplctPrdOrd" id="prcsAplctPrdOrd" value="<c:out value="${vEPrcsDetailVO.prcsAplctPrdOrd}" />" />
</form:form>
<form:form id="listForm" name="listForm" method="post" onsubmit="return false;">
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd"/>
<input type="hidden" name="eduChasiOrd" id="eduChasiOrd"/>
<input type="hidden" name="userId" id="userId" />
<input type="hidden" name="asgnmAprvlCd" id="asgnmAprvlCd" value="30"/> <!-- VE0019 배정 승인 코드 30 확정 -->
<input type="hidden" name="prcsAplctPrdOrd" id="prcsAplctPrdOrd" value="<c:out value="${vEPrcsDetailVO.prcsAplctPrdOrd}" />" />
<input type="hidden" name="pageIndex" value="<c:out value='${vEEduAplctVO.pageIndex}' default='1' />"/>
<input type="hidden" name="pageUnit" value="5" />
<input type="hidden" name="rsdne" value="" />
<div class="area_popup">
<div class="cont_popup">
<!-- list_top -->
<div class="list_top">
<div class="list_top_1">
<div class="util_left">
<p>강사검색</p>
</div>
<%-- <ve:select codeId="VE0008" name="searchEduSlctAreaCd" id="searchEduSlctAreaCd" css="class='sel_type1'" --%>
<%-- selectedText="${vEEduAplctVO.rsdne}" defaultValue='' --%>
<%-- defaultText='전체' --%>
<%-- /> --%>
<div class="util_right">
<input type="text" id="searchKeyword" name="searchKeyword" class="search_input" placeholder="검색어를 입력하세요" value="${vEPrcsDetailVO.searchKeyword }">
<button type="button" class="btn_type08" onclick="linkPage(1); return false;">검색</button>
</div>
</div>
</div>
<div class="pop_tb_tit01">
<p>강사 목록</p>(*선호분야 일치여부, 적은 할당시수 순입니다.)
</div>
<div class="pop_tb_type01">
<table>
<colgroup>
<col style="width: 11%;">
<col style="width: 15%;">
<%-- <col style="width: 10%"> --%>
<col style="width: auto;">
<col style="width: 15%;">
<col style="width: 15%;">
<%-- <col style="width: 9%;"> --%>
<col style="width: 9%;">
</colgroup>
<thead>
<tr>
<th scope="col">이름</th>
<th scope="col">거주<br>지역</th>
<!-- <th scope="col">이동<br>거리</th> -->
<th scope="col">선호분야</th>
<th scope="col">온라인</th>
<th scope="col">구분</th>
<!-- <th scope="col">Penalty 횟수</th> -->
<th scope="col">선택</th>
</tr>
</thead>
<tbody>
<c:forEach var="list" items="${list}" varStatus="status">
<tr>
<td><c:out value='${list.instrNm}'/></td>
<td><c:out value='${list.rsdne}'/></td>
<%-- <td><c:out value='${list.onewayDstnc}'/>Km</td> --%>
<td><ve:code codeId="VE0004" code="${list.prfrnFldCd}"/></td>
<td><c:out value='${list.onlnPsblYn}'/></td>
<td><ve:code codeId="VE0018" code="${list.divCd}"/></td>
<td>
<c:if test='${empty list.chrgNm}'>
<button class="btn_type06"
onclick="fncInstrAsgnm('<c:out value="${list.userId}" />'); return false;">선택</button>
</c:if>
</td>
</tr>
</c:forEach>
<c:if test="${empty list}">
<tr><td colspan="6"><spring:message code="common.nodata.msg" /></td></tr>
</c:if>
</tbody>
</table>
</div>
<!-- page -->
<div class="page">
<ui:pagination paginationInfo = "${paginationInfo}" type="image" jsFunction="linkPage" />
</div>
<!-- //page -->
<div class="btn_wrap_pop btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
<button type="button" class="btn_type04" onclick="self.close();">닫기</button>
</div>
<div class="btn_right">
</div>
</div>
</div>
</div>
</form:form>
</div>
</div>
</body>
</html>