2025-09-17 11:30 시정명령관리 수정

This commit is contained in:
myname 2025-09-17 11:32:45 +09:00
parent 6158732a36
commit b6cccb5f01
7 changed files with 1835 additions and 1 deletions

View File

@ -0,0 +1,456 @@
<!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" %>
<%
/**
* @Class Name : fndthEduPrcsAplctPrdMngMdfy.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">
//세부과정 추가 버튼 클릭 시 세부과정 추가
$(document).ready(function(){
$('#prcsOrd').change(function(){
fnSelectDivAndCn($(this).val());
});
var prcsDiv = "<c:out value='${info.prcsDiv }' />";
prcsDivChk(prcsDiv)
$(".btn_type01").on('click', function(){
$("#file_temp").click();
});
});
/*
* prcsDivChk
* 10:대면 20:비대면
* 10:대면 20:비대면
* */
function prcsDivChk(prcsDiv){
console.log('prcsDiv : ', prcsDiv);
if(prcsDiv==10){
$('#tr_eduPlace #thId').text('교육장소');
}else{
$('#tr_eduPlace #thId').text('관련URL');
}
}
// div codeNm 가져오는 function
function fnSelectDivAndCn(prcsOrdVal){
var url = "${pageContext.request.contextPath}/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctSelectDivAndCnAjax.do";
$.ajax({
type:"POST",
url: url,
data:{ "prcsOrd" : prcsOrdVal},
dataType:'json',
async: false,
success:function(returnData){
if(returnData.result == "success"){
// 대면인지 비대면인지
var prcsDiv = returnData.prcsDivCd;
prcsDivChk(prcsDiv);
$('#prcsDiv').val(returnData.prcsDiv);
$('#prcsCn').val(returnData.prcsCn);
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
function addPro() {
var addQuest = $(".addPro_wrap");
var questLen = addQuest.children("div").length;
questLen = Number(questLen+1);
var trHtml="";
trHtml += '<div class="tbody_one">';
trHtml += '<span><span class="span_num3">'+ questLen +'</span>.</span>';
trHtml += '<div>';
trHtml += '<input type="text" name="detailPrcsNm" id="detailPrcsNm"> ';
trHtml += '<button type="button" class="table_del3" onclick="delPro(this)"><img src="${pageContext.request.contextPath}/visitEdu/adm/publish/image/content/btn_del.png"></button>';
trHtml += '</div>';
trHtml += '</div>';
addQuest.append(trHtml);
}
//삭제 버튼 클릭 시 현재 div 삭제 후 지문 숫자 재선언
function delPro(item) {
var bodyThis = $(item).closest('.tbody_one');
var tb = $(item).closest('.addPro_wrap').find('.tbody_one');
var len = $(item).closest('.addPro_wrap').children('.tbody_one').length;
var idx = bodyThis.index();
if(len == 1){
alert("세부과정은 최소1개가 존재해야합니다.");
return false;
}else{
bodyThis.remove();
for(var i=0;i<len;i++){
if(idx>i){
tb.eq(i).find('.span_num3').text(i+1);
}else{
tb.eq(i).find('.span_num3').text(i);
}
}
}
}
function fncAddUser(){
var obj = $(".memList:first").clone(true);
obj.children('input').val('')
/*
var len = $(".memList").length;
$.each(obj.find("input"), function(idx, objInput){
objInput.name = objInput.name.replace(/\[.*\]/,'['+(len+1)+']');
console.log(objInput.name);
if(objInput.name.indexOf("memGrade") < 0){
objInput.value = '';
}
});
obj.find("button").attr("id", obj.find("button").attr("id").replace(/[0-9]/gi, len+2));
obj.find("tr:last > td").text("");
*/
$(".memList:last").after(obj);
}
function fncDelUser(obj){
if($(".memList").length <= 1){
alert("담당자은 최소1개가 존재해야합니다.");
}else{
$(obj).closest("td").remove();
}
}
function fncSave(){
if ($('#prcsCn').val().length>1000){
alert("상세교육과정은 1000자 까지만 저장가능합니다.");
return;
}
var data = new FormData(document.getElementById("createForm"));
//첨부파일 등록 처리-step2
_fileForm2.forEach(function(obj, idx) {
if (obj) data.append("file"+idx, obj.fileObj);
});
if(confirm("저장하시겠습니까?")){
var url = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngMdfyAjax.do'/>";
console.log(data);
$.ajax({
type:"POST",
url: url,
data: data,
dataType:'json',
async: false,
processData: false,
contentType: false,
cache: false,
success:function(returnData){
if(returnData.result == "success"){
alert("저장되었습니다.");
fncGoList();
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
}
}
function fncGoList(){
var listForm = document.listForm ;
listForm.action = "<c:url value='/kccadr/oprtn/cndtnSspnIdtmt/cndtnEduPrcsAplctPrdMngList.do'/>";
listForm.submit();
}
</script>
</head>
<body>
<form:form id="listForm" name="listForm" commandName="vEPrcsDetailVO" method="post">
</form:form>
<form:form id="createForm" name="createForm" commandName="vEPrcsDetailVO" method="post">
<input type="hidden" name="prcsAplctPrdOrd" value="<c:out value='${vEPrcsDetailVO.prcsAplctPrdOrd}' 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>
<input type="text" id="prcsDiv" readonly="readonly" value="${prcsDivNm }"/>
<%-- <ve:select codeId="VEA001" name="prcsDiv" id="prcsDiv" css="class='sel_type1'" selectedValue="${info.prcsDiv}"/> --%>
</td>
</tr>
<tr>
<th scope="row">과정</th>
<td>
<%-- <ve:select codeId="VE0015" name="prcsDiv" id="prcsDiv" css="class='sel_type1'" selectedValue="<c:out value='${info.prcsDiv}'/>" defaultValue='10'/> --%>
<select name="prcsOrd" id="prcsOrd" class="sel_type1">
<c:forEach var="listPrcs" items="${listPrcs}" varStatus="status">
<option value='<c:out value="${listPrcs.prcsOrd}"/>'<c:if test="${listPrcs.prcsOrd eq info.prcsOrd}"> selected</c:if>><c:out value="${listPrcs.prcsOrd}"/>_<c:out value="${listPrcs.prcsNm}"/></option>
</c:forEach>
</select>
</td>
</tr>
<tr>
<th scope="row">과정명</th>
<td class="addPro_wrap">
<input type="text" name="title" id="title" value="${info.title}" style="width:500px;" maxLength="30">
</td>
</tr>
<tr>
<th scope="row">교육기간</th>
<td>
<div class="calendar_wrap">
<input type="text" class="calendar" title="시작일 선택" id="eduStrtPnttm" name="eduStrtPnttm" value="${info.eduStrtPnttm}">
</div>
<%-- ~
<div class="calendar_wrap">
<input type="text" class="calendar" title="종료일 선택" id="eduDdlnPnttm" name="eduDdlnPnttm" value="${info.eduDdlnPnttm}">
</div> --%>
</td>
</tr>
<tr id="tr_eduPlace">
<th scope="row" id="thId">교육장소</th>
<td class="addPro_wrap">
<input type="text" name="eduPlace" id="eduPlace" value="${info.eduPlace}" style="width:800px;" maxlength="80">
</td>
</tr>
<tr>
<th scope="row">신청기간</th>
<td>
<div class="calendar_wrap">
<input type="text" class="calendar" title="시작일 선택" id="strtPnttm" name="strtPnttm" value="${info.strtPnttm}">
</div>
~
<div class="calendar_wrap">
<input type="text" class="calendar" title="종료일 선택" id="endPnttm" name="endPnttm" value="${info.endPnttm}">
</div>
</td>
</tr>
<tr>
<th scope="row">상세교육과정</th>
<td>
<textarea name="prcsCn" id="prcsCn" class="memo" class="inputLight" style="height: 200px;"><c:out value="${info.prcsCn }" /></textarea>
</td>
</tr>
<tr>
<th scope="row">정원</th>
<td class="addPro_wrap">
<input type="text" name="nos" id="nos" value="${info.nos}" style="width:100px;" maxLength="6">
</td>
</tr>
<tr>
<th scope="row">상태</th>
<td>
<ve:select codeId="VEA004" name="ddlnCd" id="ddlnCd" css="class='sel_type1'" selectedValue="${info.ddlnCd}" defaultValue="100" defaultText="기본"/>
</td>
</tr>
<tr>
<th scope="row">
<p>공개여부(사용여부)</p>
</th>
<td>
<input type="radio" name="useYn" id="useY" value="Y" ${empty info.useYn or info.useYn eq 'Y' ? 'checked' : info.useYn}>
<label for="useY">예</label>
<input type="radio" name="useYn" id="useN" value="N" ${info.useYn eq 'N' ? 'checked' : info.useYn}>
<label for="useN">아니오</label>
</td>
</tr>
<tr>
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>첨부파일</p>
</th>
<td class="upload_area" colspan="3">
<!-- <input type="text" id="fileNm" size="30" class="file_input" readonly> --><!-- <button type="button" class="btnType01 btn_add_file">파일 첨부하기</button> -->
<input type="file" id="file_temp" name="file_temp" class="uploadFile" style="display:none"/>
<button type="button" id="filebutton" class="btn_type01">파일 첨부하기</button>
<p style="padding-left:30px;">첨부파일 가능 용량은 20MB입니다. </p><!-- <p style="color:red;font-weight:500">업로드 순서는 1.신청서 2.안내문 입니다.</p> -->
<div class="file_wrap file_upload_box no_img_box">
<table class="tbType02">
<caption>첨부파일 리스트 : 파일명, 종류, 크기, 삭제</caption>
<colgroup>
<col style="width: 60%;">
<col style="width: auto;">
<col style="width: 20%;">
<col style="width: 10%;">
</colgroup>
<thead>
<!-- <th>
<input type="checkbox" id="all_check"><label for="all_check"></label>
</th> -->
<th scope="col">파일 명</th>
<th scope="col">종류</th>
<th scope="col">크기</th>
<th scope="col">삭제</th>
</thead>
<tbody class="tb_file_before">
<tr>
<td colspan="4">
<p>첨부하실 파일을 <span>마우스로 끌어서</span> 넣어주세요.</p>
</td>
</tr>
</tbody>
</table>
</div>
<div class="file_wrap fileAfter file_list_div">
<table class="tbType02">
<caption>첨부파일 리스트 : 파일명, 종류, 크기, 삭제</caption>
<colgroup>
<col style="width: 60%">
<col style="width: 10%">
<col style="width: 20%">
<col style="width: 10%">
</colgroup>
<thead>
<!-- <th>
<input type="checkbox" id="all_check"><label for="all_check"></label>
</th> -->
<th scope="col">파일 명</th>
<th scope="col">종류</th>
<th scope="col">크기</th>
<th scope="col">삭제</th>
</thead>
<tbody id="tbody_fiielist" class="tb_file_after">
<c:forEach var="fileList" items="${fileList}" varStatus="status">
<tr class="item_<c:out value='${fileList.atchFileId}' />_<c:out value='${fileList.fileSn}' /> uploaded_obj">
<input type="hidden" name="fileSize" class="item_file_size" value="${fileList.fileSize}">
<td class="td_filename">
<!-- <img src="/direct/img/upload_hwp_img.png" alt="" /> -->
<span class="file_name_text"><c:out value='${fileList.orignlFileNm}' /></span>
</td>
<td class="td_filesort">
<span class="file_filesort_text" value="<c:out value="${fileList.fileExtsn}"/>"><c:out value="${fileList.fileExtsn}"/></span>
</td>
<td class="td_filesize">
<span class="file_size_text" value="<c:out value="${fileList.fileMg}"/>"><c:out value="${fileList.fileMg}"/></span>
</td>
<td>
<button type="button" class="btn_del" onclick="delAtchFile('<c:out value='${fileList.atchFileId}' />', '<c:out value='${fileList.fileSn}' />'); return false;" title="파일삭제"><i></i></button>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- //list_상세 -->
<!-- btn_wrap -->
<div class="btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
</div>
<div class="btn_right">
<button type="button" class="btn_type02" onclick="fncSave(); return false;">수정</button>
<button type="button" class="btn_type03" onclick="fncGoList(); return false;">취소</button>
</div>
</div>
</div>
</div>
</div>
</form:form>
<!-- //cont -->
</body>
</html>

View File

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

View File

@ -0,0 +1,351 @@
<!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" %>
<%
/**
* @Class Name : cndtnEduPrcsMngReg.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">
//세부과정 추가 버튼 클릭 시 세부과정 추가
$(document).ready(function() {
$("#duplInsert").hide();
$("#newInsert").hide();
});
// 중복 대상자가 있는지 확인
function fn_duplChk(){
if(fn_valChk())
{
return false;
}
//생년월일 치환
$("#DBirth").val($("#birthYear").val()+$("#birthMonth").val()+$("#birthDay").val());
var data = new FormData(document.getElementById("createForm"));
// if(confirm("저장하시겠습니까?")){
var url = "${pageContext.request.contextPath}/kccadr/oprtn/cmdTrgt/duplChkAjax.do";
console.log(data);
$.ajax({
type:"POST",
enctype: 'multipart/form-data',
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"){
if(returnData.trgtDuplSize == 0){
alert("중복 대상자가 없습니다.");
fncCreate();
}else{
alert("중복 대상자가 있습니다.");
var sendData = $(document.createForm).serializeArray() ;
$("#loadDiv").load("<c:url value='/kccadr/oprtn/cmdTrgt/popup/duplChkTable.do' />", sendData ,function(response, status, xhr){
$("#duplInsert").show();
$("#newInsert").show();
});
}
//
}else if(returnData.result == "fail"){
alert(returnData.message);
fncGoList();
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
});
// }
}
function fncCreate() {
var createForm = document.createForm ;
createForm.action = "<c:url value='/kccadr/oprtn/cmdTrgt/trgtReg.do'/>";
createForm.submit();
}
function fncCreateWithDupl() {
var chkVal = $('input[name=chk]:checked').val();
if(chkVal == null || chkVal ==''){
alert("병합 대상을 선택해주세요.");
return false;
}
var createForm = document.createForm ;
createForm.prcsAplctPrdOrdCmplt.value = chkVal;
createForm.action = "<c:url value='/kccadr/oprtn/cmdTrgt/trgtReg.do'/>";
createForm.submit();
}
function fn_valChk(){
if($("#sex").val() == "선택" || $("#sex").val().trim() == ""){
alert("성별을 선택해주세요.");
$("#sex").focus();
return true;
}
// 성명 검사
if($("input[name='trgtNm']").val().trim() == ""){
alert("성명을 입력해주세요.");
$("input[name='trgtNm']").focus();
return true;
}
if($("#birthYear").val() == ''){
alert('생년월일 년도를 선택해주세요.');
$("#birthYear").focus();
return true;
};
if($("#birthMonth").val() == ''){
alert('생년월일 월을 선택해주세요.');
$("#birthMonth").focus();
return true;
};
if($("#birthDay").val() == ''){
alert('생년월일 일자를 선택해주세요.');
$("#birthDay").focus();
return true;
};
return false; // 모든 검사를 통과하면 false 반환
}
function fncGoList(){
var listForm = document.listForm ;
listForm.action = "<c:url value='/kccadr/oprtn/cmdTrgt/trgtList.do'/>";
listForm.submit();
}
function birthSelectBoxDraw(){
$('.birthYear').yearselect({
start : 1900,
end : new Date().getFullYear(),
emptyOption: true,
emptyText: '선택',
selected:'',
order:'desc'
})
// 년도를 바꾼다면 일자를 다시 선택하기
$('.birthYear').change(function(){
if($(this).next().next().next().next('select.birthDay')){
if(Number($(this).next().next().next().next('select.birthDay').val()) > 28){
dayDraw($(this).next().next().next().next('select.birthDay'));
}
}
});
$.each($(".birthMonth"), function(idx, elm){
var selectValue = $(this).attr('selectValue');
$(this).append($('<option>').text('선택').val(''));
for(var i=0; i < 12; i ++){
var option = $('<option/>');
var month = i+1;
month = month < 10 ? '0'+month : month;
option.val(month);
option.text(month+'월');
$(this).append(option);
}
if(isNotEmpty(selectValue)){
$(this).val(selectValue);
}
// 일자가 존재한다면..
if($(this).next().next('select.birthDay')){
$(this).change(function(){
dayDraw($(this).next().next('select.birthDay'));
});
}
});
$.each($(".birthDay"), function(idx, value){
dayDraw($(this));
});
}
function dayDraw(obj){
var selectValue = $(obj).attr('selectValue');
var selectMonth = $(obj).prev().prev('select.birthMonth').val();
var selectYear = $(obj).prev().prev().prev().prev('select.birthYear').val();
var lastDay = '';
if(isNotEmpty(selectMonth) && isNotEmpty(selectYear)){
lastDay = new Date(selectYear, selectMonth, 0).getDate();
}
$(obj).children('option').remove();
$(obj).append($('<option>').text('선택').val(''));
if(isNotEmpty(lastDay)){
for(var i=0; i < lastDay; i ++){
var option = $('<option/>');
var day = i+1;
day = day < 10 ? '0'+day : day;
option.val(day);
option.text(day+'일');
$(obj).append(option);
}
if(isNotEmpty(selectValue)){
$(obj).val(selectValue);
}
}
}
</script>
</head>
<body>
<form:form id="listForm" name="listForm" commandName="vEPrcsDetailVO" method="post">
</form:form>
<form:form id="createForm" name="createForm" commandName="adjustDeptManageVO" method="post">
<input type="hidden" name="cmdTrgtInfoOrd" id="cmdTrgtInfoOrd" value="" />
<input type="hidden" name="prcsAplctPrdOrdCmplt" id="prcsAplctPrdOrdCmplt" value="" />
<input type="hidden" name="cmptntAthrtNm" id="cmptntAthrtNm" value="" />
<input type="hidden" name="DBirth" id="DBirth" value="" />
<!-- 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/trgtList.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>
<li><span class="cur_nav">대상자 중복확인</span></li>
</ul>
</div>
<!-- //cont_tit -->
<div class="cont">
<!-- list_상세 -->
<div class="tb_type02">
<table>
<colgroup>
<col style="width: 210px;">
<col style="width: auto;">
<col style="width: 210px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>성별</p>
</th>
<td>
<ve:select codeId="COM014" name="sex" id="sex" css="class='sel_type1'"
selectedText="" defaultValue=""
defaultText='선택'
/>
</td>
</tr>
<tr>
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>성명</p>
</th>
<td>
<input type="text" name="trgtNm" />
</td>
</tr>
<tr>
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>생년월일</p>
</th>
<td>
<!-- <input type="text" name="DBirth" id="DBirth" placeholder="00000000" maxlength="8"/> -->
<!-- <div class="calendar_wrap">
<input type="text" class="calendar" placeholder="생년월일" title="생년월일 선택" id="DBirth" name="DBirth" value="">
</div> -->
<select name="birthYear" id="birthYear" class="selType1 birthYear birth_da sel_type1" selectValue="${birthYear}"></select>
<label for="birthMonth" class="label">월 선택</label>
<select name="birthMonth" id="birthMonth" class="selType1 birthMonth birth_da sel_type1" selectValue="${birthMonth}"></select>
<label for="birthDay" class="label">일 선택</label>
<select name="birthDay" id="birthDay" class="selType1 birthDay birth_da sel_type1" selectValue="${birthDay}"></select>
</td>
</tr>
</tbody>
</table>
</div>
<!-- //list_상세 -->
<!-- 대상자 중복 테이블 -->
<div id="loadDiv">
</div>
<!-- btn_wrap -->
<div class="btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
<button type="button" class="btn_type04" id="duplInsert" onclick="fncCreateWithDupl(); return false;">병합처리</button>
<button type="button" class="btn_type04" id="newInsert" onclick="fncCreate(); return false;">신규등록</button>
</div>
<div class="btn_right">
<button type="button" class="btn_type06" id="duplChk" onclick="fn_duplChk(); 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,724 @@
<!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" %>
<%
/**
* @Class Name : cndtnEduPrcsMngReg.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">
//세부과정 추가 버튼 클릭 시 세부과정 추가
$(document).ready(function() {
$(".btn_type01").on('click', function(){
$("#file_temp").click();
});
// var cmmnDetailCodeList = '<c:out value="${cmptntAthrtCode }" />';
// console.log('cmmnDetailCodeList : ', cmmnDetailCodeList);
var jsonData = '<c:out value="${jsonData }" />';
console.log('jsonData : ', jsonData);
$('#cmptntAthrtCode').change(function(){
selectCmptntAthrtCodeAjax($(this).val());
});
//의뢰일 오늘로 디폴트 지정
$('.picker__button--today').removeAttr('disabled').click();
//클릭 이벤트 후 disabled 자동으로 적용
/* $('.picker__button--today').attr('disabled', 'disabled'); */
var userWork = '${userWork}';
if(userWork != ''){
$(".picker").remove();
$(".calendar").removeClass('picker__input');
}
});
function fncSave(){
if(fn_valChk())
{
return false;
}
document.getElementById("cmptntAthrtNm").value = $("#cmptntAthrt option:selected").text();
var data = new FormData(document.getElementById("createForm"));
//첨부파일 등록 처리-step2
_fileForm2.forEach(function(obj, idx) {
if (obj) data.append("file"+idx, obj.fileObj);
});
$('#cmptntAthrt').prop('disabled', false);
if(confirm("저장하시겠습니까?")){
var url = "${pageContext.request.contextPath}/kccadr/oprtn/cmdTrgt/trgtRegAjax.do";
console.log(data);
$.ajax({
type:"POST",
enctype: 'multipart/form-data',
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"){
alert("저장되었습니다.");
fncGoList();
// 중복체크 ajax - 사전 중복체크로 변경되어 주석처리함.2024-02-16
//$('#cmdTrgtInfoOrd').val(returnData.cmdTrgtInfoOrd);
//fn_duplChk();
}else if(returnData.result == "fail"){
alert(returnData.message);
$('#cmptntAthrt').prop('disabled', true);
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
$('#cmptntAthrt').prop('disabled', true);
}
});
}
}
// 중복 대상자가 있는지 확인
function fn_duplChk(){
var data = new FormData(document.getElementById("createForm"));
// if(confirm("저장하시겠습니까?")){
var url = "${pageContext.request.contextPath}/kccadr/oprtn/cmdTrgt/duplChkAjax.do";
console.log(data);
$.ajax({
type:"POST",
enctype: 'multipart/form-data',
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" && returnData.trgtDuplSize > 1){
alert("중복 대상자가 있습니다.");
fn_duplChkPopup();
fncGoList();
//
}else if(returnData.result == "fail"){
alert(returnData.message);
$('#cmptntAthrt').prop('disabled', true);
}
},
error:function(request , status, error){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
$('#cmptntAthrt').prop('disabled', true);
}
});
// }
}
function selectCmptntAthrtCodeAjax(codeNm){
var dataToSend = {
"codeNm": codeNm
};
var url = "<c:url value='/kccadr/oprtn/cmdTrgt/selectCmptntAthrtCodeAjax.do'/>";
// AJAX 호출을 통해 서버에 데이터 전송
$.ajax({
type:"POST",
url: url,
data: $.param(dataToSend, true), // 직렬화 , 컨트롤러에서 @ModelAttribute로 받을 수 있음
// contentType : 'application/json',
dataType:'json',
success:function(returnData){
if(returnData.result == "success"){
console.log('returnData : ', returnData.cmmnCodeList);
var selectBox = $('#cmptntAthrt');
selectBox.empty();
$.each(returnData.cmmnCodeList, function(i, item) {
selectBox.append($('<option>', {
value: item.code,
text : item.codeDc
}));
});
}else{
alert("변경 중 오류가 발생하였습니다.");
}
},
error: function(jqXHR, textStatus, errorThrown) {
console.error("AJAX Error:", textStatus, errorThrown);
console.error("Response:", jqXHR.responseText);
}
});
}
// 강사 배치
function fn_duplChkPopup() {
var form = document.createForm;
form.action = "<c:url value='/kccadr/oprtn/cmdTrgt/popup/duplChkPopup.do'/>";
window.open("#", "_duplChkPopup", "scrollbars = no, top=100px, left=100px, height=750px, width=1500px");
form.target = "_duplChkPopup";
form.submit();
}
function fn_valChk(){
// 의뢰일 검사
if($("#reqPnttm").val().trim() == ""){
alert("의뢰일을 입력해주세요.");
$("#reqPnttm").focus();
return true;
}
// 사건번호 검사
if($("input[name='vntYear']").val().trim() == ""){
alert("사건번호를 입력해주세요.");
$("input[name='vntYear']").focus();
return true;
}
// 사건번호 검사
if($("input[name='vntNmbr']").val().trim() == ""){
alert("사건번호를 입력해주세요.");
$("input[name='vntNmbr']").focus();
return true;
}
// 관할청 검사
if($("select[name='cmptntAthrt']").val() == ""){
alert("관할청을 선택해주세요.");
$("select[name='cmptntAthrt']").focus();
return true;
}
if($("#sex").val() == "선택" || $("#sex").val().trim() == ""){
alert("성별을 선택해주세요.");
$("#sex").focus();
return true;
}
// 성명 검사
if($("input[name='trgtNm']").val().trim() == ""){
alert("성명을 입력해주세요.");
$("input[name='trgtNm']").focus();
return true;
}
// 생년월일 검사
if($("#DBirth").val().trim() == ""){
alert("생년월일을 입력해주세요.");
$("#DBirth").focus();
return true;
}
// 생년월일 검사
if($("#clphone").val().trim() == ""){
alert("연락처를 입력해주세요.");
$("#clphone").focus();
return true;
}
// 의뢰번호 검사
/* if($("input[name='reqNmbr']").val().trim() == ""){
alert("의뢰번호를 입력해주세요.");
$("input[name='reqNmbr']").focus();
return true;
} */
// 의뢰상태 검사
/* if($("#reqStateCd").val().trim() == ""){
alert("의뢰상태를 입력해주세요.");
$("input[name='reqStateCd']").focus();
return true;
} */
// 교육상태 검사
/* if($("input[name='eduStateCd']").val().trim() == ""){
alert("교육상태를 입력해주세요.");
$("input[name='eduStateCd']").focus();
return true;
}
*/
// 검사명 검사
if($("input[name='prsctrNm']").val().trim() == ""){
alert("검사명을 입력해주세요.");
$("input[name='prsctrNm']").focus();
return true;
}
// 주소 검사
if($("#post").val().trim() == "" || $("#addr").val().trim() == ""){
alert("주소를 입력해주세요.");
$("#post").focus();
return true;
}
if($('#tbody_fiielist tr').length*1<=0){
alert("의뢰통지서를 등록해 주세요");
return true;
}
return false; // 모든 검사를 통과하면 false 반환
}
function fncGoList(){
var listForm = document.listForm ;
listForm.action = "<c:url value='/kccadr/oprtn/cmdTrgt/trgtList.do'/>";
listForm.submit();
}
/* 파일등록 */
var _fileIdx = 0;
var _fileForm2 = new Array();
function handleFileUpload(files,obj) //업로드 function
{
console.log('files', files);
var limitsize = 20*1024*1024; //파일 제한 체크(1개, 20MB)
for (var i = 0; i < files.length; i++){
if(files[i].size > limitsize){
alert(files[i].name+"파일 사이즈가"+getStrFileSize(files[i].size)+"로 20MB이하만 업로드 가능합니다.");
return ;
}
}
for (var i = 0; i < files.length; i++)
{
var fd = new FormData();
fd.append('file', files[i]);
var tmpObj = new Object();
tmpObj.name = "file_" + _fileIdx;
tmpObj.fileObj = files[i];
_fileForm2.push(tmpObj);
sendFileToServer(fd, obj, files[i], _fileIdx);
_fileIdx++;
var totalfileSize = 0;
$('.totalfileCount').text($('.item_file_size').length) ;
$('.item_file_size').each(function(){
totalfileSize += $(this).val()*1 ;
});
$('.totalfileSize').text(getStrFileSize(totalfileSize)) ;
}
}
</script>
</head>
<body>
<form:form id="listForm" name="listForm" commandName="vEPrcsDetailVO" method="post">
</form:form>
<form:form id="createForm" name="createForm" commandName="adjustDeptManageVO" method="post">
<input type="hidden" name="cmdTrgtInfoOrd" id="cmdTrgtInfoOrd" value="" />
<input type="hidden" name="cmptntAthrtNm" id="cmptntAthrtNm" value="" />
<!-- 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/trgtList.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>
<li><span class="cur_nav">대상자 등록</span></li>
</ul>
</div>
<!-- //cont_tit -->
<div class="cont">
<!-- list_상세 -->
<div class="tb_tit01">
<p>대상자 등록</p>
</div>
<div class="tb_type02">
<table>
<colgroup>
<col style="width: 210px;">
<col style="width: auto;">
<col style="width: 210px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>의뢰일</p>
</th>
<td>
<div id="calendar">
<div class="calendar_wrap">
<input type="text" class="calendar" placeholder="의뢰일" title="의뢰일 선택" id="reqPnttm" name="reqPnttm" value="">
</div>
</div>
</td>
</tr>
<tr>
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>사건번호</p>
</th>
<td>
<input type="text" name="vntYear" style="width: 150px;margin-right: 10px;"/>형제
<input type="text" name="vntNmbr" style="width: 150px;margin-left: 10px;" />
<c:if test="${not empty mergeInfo}">
<br/>
<br/>
<button class="btnType01 btn_type08" onclick="fn_merge(true); return false;">교육의뢰병합</button>
<button class="btnType01 btn_type08" onclick="fn_merge(false); return false;">교육의뢰병합취소</button>
<br/>
<input type="text" name="dp_vnt" style="width: 250px;margin-left: 0px;"
value="${mergeInfo.vntYear}형제${mergeInfo.vntNmbr}"
readonly/>
<input type="text" name="dp_reqNmbr" style="width: 250px;margin-left: 10px;"
value="${mergeInfo.reqNmbr}"
readonly/>
<input type="hidden" name="prcsAplctPrdOrdCmplt" value="${mergeInfo.cmdTrgtInfoOrd}"/>
<input type="hidden" name="merge_prcsAplctPrdOrdCmplt" value="${mergeInfo.cmdTrgtInfoOrd}"/>
<input type="hidden" name="merge_vnt" value="${mergeInfo.vntYear}형제${mergeInfo.vntNmbr}"/>
<input type="hidden" name="merge_reqNmbr" value="${mergeInfo.reqNmbr}"/>
<script>
function fn_merge(p_bool){
if (p_bool){ //병합
$("input[name='prcsAplctPrdOrdCmplt']").val($("input[name='merge_prcsAplctPrdOrdCmplt']").val());
$("input[name='dp_vnt']").val($("input[name='merge_vnt']").val());
$("input[name='dp_reqNmbr']").val($("input[name='merge_reqNmbr']").val());
}else{ //병합취소
$("input[name='prcsAplctPrdOrdCmplt']").val('');
$("input[name='dp_vnt']").val('');
$("input[name='dp_reqNmbr']").val('');
}
}
</script>
</c:if>
</td>
</tr>
<tr>
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>관할청</p>
</th>
<td>
<c:choose>
<c:when test="${empty userWork }">
<%-- <ve:select codeId="VEA008" name="cmptntAthrt" id="cmptntAthrt" css="class='sel_type1'"
selectedText="" selectedValue="" defaultValue=""
defaultText='선택'
/>
--%>
<select id="cmptntAthrtCode" class="sel_type1">
<option value="">지역 선택</option>
<c:forEach items="${CmmnDetailCodeList}" var="text">
<option value="${text}">${text}</option>
</c:forEach>
</select>
<select name="cmptntAthrt" id="cmptntAthrt" class="sel_type1">
<option value="">지역을 먼저 선택해 주세요</option>
</select>
</c:when>
<c:otherwise>
<ve:code codeId="VEA008" code="${userWork }"/>
<input type="hidden" name="cmptntAthrt" value="${userWork }">
</c:otherwise>
</c:choose>
</td>
</tr>
<tr>
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>성별</p>
</th>
<td>
<c:if test="${!empty cndtnTrgtInfoMngVO.sex}">
<ve:code codeId="COM014" code="${cndtnTrgtInfoMngVO.sex}"/>
<input type="hidden" name="sex" id="sex" value="${cndtnTrgtInfoMngVO.sex}"/>
</c:if>
<c:if test="${empty cndtnTrgtInfoMngVO.sex}">
<ve:select codeId="COM014" name="sex" id="sex" css="class='sel_type1'"
selectedText="" defaultValue=""
defaultText='선택'
/>
</c:if>
</td>
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>연락처</p>
</th>
<td>
<input type="text" name="clphone" id="clphone" placeholder="00000000000" maxlength="11"/>
</td>
</tr>
<tr>
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>성명</p>
</th>
<td>
<c:if test="${!empty cndtnTrgtInfoMngVO.trgtNm}">
<c:out value="${cndtnTrgtInfoMngVO.trgtNm}"/>
<input type="hidden" name="trgtNm" value="${cndtnTrgtInfoMngVO.trgtNm}"/>
</c:if>
<c:if test="${empty cndtnTrgtInfoMngVO.trgtNm}">
<input type="text" name="trgtNm" />
</c:if>
</td>
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>생년월일</p>
</th>
<td>
<c:if test="${!empty cndtnTrgtInfoMngVO.trgtNm}">
<c:out value="${cndtnTrgtInfoMngVO.DBirth}"/>
<input type="hidden" name="DBirth" id="DBirth" value="${cndtnTrgtInfoMngVO.DBirth}"/>
</c:if>
<c:if test="${empty cndtnTrgtInfoMngVO.trgtNm}">
<input type="text" name="DBirth" id="DBirth" placeholder="00000000" maxlength="8"/>
</c:if>
</td>
</tr>
<!-- <tr>
<th scope="row">연락처(핸드폰)</th>
<td>
<input type="text" name="clphone" />
</td>
</tr> -->
<tr>
<!-- <th scope="row">의뢰번호</th>
<td>
<input type="text" name="reqNmbr" />
</td> -->
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>의뢰상태</p>
</th>
<td>
<ve:select codeId="VEA005" name="reqStateCd" id="reqStateCd" css="class='sel_type1'"
/>
</td>
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>검사명</p>
</th>
<td>
<input type="text" name="prsctrNm" />
</td>
</tr>
<tr>
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>교육상태</p>
</th>
<td>
교육대기
<input type="hidden" name="eduStateCd" id="eduStateCd" value="10"/>
<%-- <ve:select codeId="VEA002" name="eduStateCd" id="eduStateCd" css="class='sel_type1'"
selectedText="" defaultValue=""
defaultText='선택'
/> --%>
</td>
</tr>
<tr class="input_adress">
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>주소</p>
</th>
<td colspan="3">
<label for="post" class="label">우편번호 입력</label>
<input type="text" size="20" name="post" id="post" class="adr_input" style="background-color: #eee;" value="<c:out value='${info.post}'/>" readonly>
<button class="btnType01 btn_adr_search btn_type08" onclick="fn_postCode(this); return false;">우편번호 검색</button>
<div class="detail_address">
<label for="addr" class="label">주소 입력</label>
<input type="text" size="60" name="addr" id="addr" class="searchResultAddr" value="<c:out value='${info.addr}'/>" readonly>
<label for="addrDetail" class="label">나머지 주소 입력</label>
<input type="text" size="20" name="addrDetail" id="addrDetail" class="usrInsertAddr" value="<c:out value='${info.addrDetail}'/>" maxLength="100" placeholder="나머지 주소">
</div>
</td>
</tr>
<tr>
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>의뢰통지서</p>
</th>
<td class="upload_area" colspan="3">
<!-- <input type="text" id="fileNm" size="30" class="file_input" readonly> --><!-- <button type="button" class="btnType01 btn_add_file">파일 첨부하기</button> -->
<input type="file" id="file_temp" name="file_temp" class="uploadFile" style="display:none"/>
<button type="button" id="filebutton" class="btn_type01">파일 첨부하기</button>
<p style="padding-left:30px;">첨부파일 가능 용량은 20MB입니다. </p><!-- <p style="color:red;font-weight:500">업로드 순서는 1.신청서 2.안내문 입니다.</p> -->
<div class="file_wrap file_upload_box no_img_box">
<table class="tbType02">
<caption>첨부파일 리스트 : 파일명, 종류, 크기, 삭제</caption>
<colgroup>
<col style="width: 60%;">
<col style="width: auto;">
<col style="width: 20%;">
<col style="width: 10%;">
</colgroup>
<thead>
<!-- <th>
<input type="checkbox" id="all_check"><label for="all_check"></label>
</th> -->
<th scope="col">파일 명</th>
<th scope="col">종류</th>
<th scope="col">크기</th>
<th scope="col">삭제</th>
</thead>
<tbody class="tb_file_before">
<tr>
<td colspan="4">
<p>첨부하실 파일을 <span>마우스로 끌어서</span> 넣어주세요.</p>
</td>
</tr>
</tbody>
</table>
</div>
<div class="file_wrap fileAfter file_list_div">
<table class="tbType02">
<caption>첨부파일 리스트 : 파일명, 종류, 크기, 삭제</caption>
<colgroup>
<col style="width: 60%">
<col style="width: 10%">
<col style="width: 20%">
<col style="width: 10%">
</colgroup>
<thead>
<!-- <th>
<input type="checkbox" id="all_check"><label for="all_check"></label>
</th> -->
<th scope="col">파일 명</th>
<th scope="col">종류</th>
<th scope="col">크기</th>
<th scope="col">삭제</th>
</thead>
<tbody id="tbody_fiielist" class="tb_file_after">
<c:forEach var="fileList" items="${fileList}" varStatus="status">
<tr class="item_<c:out value='${fileList.atchFileId}' />_<c:out value='${fileList.fileSn}' /> uploaded_obj">
<input type="hidden" name="fileSize" class="item_file_size" value="${fileList.fileSize}">
<td class="td_filename">
<!-- <img src="/direct/img/upload_hwp_img.png" alt="" /> -->
<span class="file_name_text"><c:out value='${fileList.orignlFileNm}' /></span>
</td>
<td class="td_filesort">
<span class="file_filesort_text" value="<c:out value="${fileList.fileExtsn}"/>"><c:out value="${fileList.fileExtsn}"/></span>
</td>
<td class="td_filesize">
<span class="file_size_text" value="<c:out value="${fileList.fileMg}"/>"><c:out value="${fileList.fileMg}"/></span>
</td>
<td>
<button type="button" class="btn_del" onclick="delAtchFile('<c:out value='${fileList.atchFileId}' />', '<c:out value='${fileList.fileSn}' />'); return false;" title="파일삭제"><i></i></button>
</td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- //list_상세 -->
<!-- btn_wrap -->
<div class="btn_wrap btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
</div>
<div class="btn_right">
<button type="button" class="btn_type02" onclick="fncSave(); return false;">저장</button>
<button type="button" class="btn_type03" onclick="fncGoList(); return false;">목록</button>
</div>
</div>
</div>
</div>
</div>
</form:form>
<!-- //cont -->
</body>
</html>

View File

@ -219,6 +219,18 @@
<div class="box">
<!-- cont_tit -->
<!-- 메뉴에 등록된 URL을 넣으면 해당 메뉴명까지 자동 노출 해줌 -->
<!-- 메뉴에 등록되지 않은 메뉴를 마지막에 넣을떄 1 -->
<!-- 메뉴에 등록되지 않은 메뉴를 마지막에 넣을떄 2 -->
<!-- 메뉴에 등록되지 않은 메뉴를 마지막에 넣을떄 3 -->
<c:import url="/cmm/navi/adminContNav.do">
<c:param name="url" value="/kccadr/oprtn/cndtnSspnIdtmt/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">

View File

@ -149,6 +149,18 @@
<div class="box">
<!-- cont_tit -->
<!-- 메뉴에 등록된 URL을 넣으면 해당 메뉴명까지 자동 노출 해줌 -->
<!-- 메뉴에 등록되지 않은 메뉴를 마지막에 넣을떄 1 -->
<!-- 메뉴에 등록되지 않은 메뉴를 마지막에 넣을떄 2 -->
<!-- 메뉴에 등록되지 않은 메뉴를 마지막에 넣을떄 3 -->
<c:import url="/cmm/navi/adminContNav.do">
<c:param name="url" value="/kccadr/oprtn/cndtnSspnIdtmt/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">

View File

@ -365,8 +365,20 @@
<!-- 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/cndtnSspnIdtmt/trgtList.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">