2025-09-11 18:30 시정명령 화면 수정

This commit is contained in:
myname 2025-09-11 18:30:32 +09:00
parent 8489fc4d34
commit 6cdc506de2
3 changed files with 270 additions and 39 deletions

View File

@ -41,6 +41,7 @@
<pattern>*/oprtn/adultVisitEdu/popup/**</pattern>
<pattern>*/oprtn/fndthEnhanceTrn/popup/**</pattern>
<pattern>*/oprtn/cndtnSspnIdtmt/popup/**</pattern>
<pattern>*/oprtn/cmdTrgt/popup/*</pattern> <!-- 시정명령 화면 -->
<pattern>*/oprtn/instr/tngrVisitEdu/popup/**</pattern>
<pattern>*/oprtn/cmm/scholPopListBower.jsp</pattern> <!-- 청소년찾아가는저작권 교육 > 교육신청관리 > 교육신청 등록 > 학교검색 팝업 -->
<pattern>*/oprtn/cmm/SchduleManagerPopDetail.jsp</pattern> <!-- 청소년찾아가는저작권 교육 > 교육일정관리 > 교육내용 팝업 -->

View File

@ -0,0 +1,230 @@
<!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"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%
/**
* @Class Name : eduAcmdtAplctPopup.jsp
* @Description : 숙박신청내용보기 팝업
* @Modification Information
* @
* @ 수정일 수정자 수정내용
* @ ------- -------- ---------------------------
* @ 2022.01.07 박진순 최초 생성
* @author 박진순
* @since 2020.01.07
* @version 1.0
* @see
*
*/
%>
<html lang="ko">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="text/javascript">
</script>
<title>숙박신청내용보기팝업</title>
<script type="text/javaScript" language="javascript">
$(document).ready(function() {
$(".btn_type06").on('click', function(){
$("#file_temp").click();
});
});
function setDataSave(){
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 = "${pageContext.request.contextPath}/kccadr/oprtn/cndtnSspnIdtmt/trgtRegAjax.do";
//var url = "${pageContext.request.contextPath}/kccadr/oprtn/cndtnSspnIdtmt/trgtExcelRegAjax.do";
var url = "${pageContext.request.contextPath}/kccadr/oprtn/cmdTrgt/trgtExcelRegAjax.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(returnData.resultCnt+"건 등록되었습니다.");
// fncGoList();
//$('#sspnIdtmtTrgtOrd').val(returnData.sspnIdtmtTrgtOrd);
// 중복체크 ajax
// 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 fncPopClose(){
self.close();
}
</script>
</head>
<body>
<form:form id="createForm" name="createForm" method="post" commandName="vEEduAplctVO" onsubmit="return false;">
<div class="area_popup">
<div class="cont_popup">
<!-- cont_tit -->
<div class="pop_tb_tit01">
<p>대상자 엑셀 업로드</p>
</div>
<!-- //cont_tit -->
<table class="pop_tb_type02">
<colgroup>
<col style="width: 140px;">
<col style="width: auto;">
<col style="width: 140px;">
<col style="width: auto;">
</colgroup>
<tbody>
<tr>
<th scope="row">
<p class="req_text"><span>필수입력 항목</span>*</p>
<p>첨부파일</p>
</th>
<td class="upload_area" style="padding:10px;" colspan="3">
<!-- <input type="text" id="fileNm" size="30" class="file_input" readonly> --><!-- <button type="button" class="btnType01 btn_add_file">파일 첨부하기</button> -->
<div class="file_top">
<div class="left_area">
<input type="file" id="file_temp" name="file_temp" class="uploadFile" style="display:none"/>
<button type="button" id="filebutton" class="btn_type06">파일 첨부하기</button>
</div>
<p class="cf_text2" style="padding-left:30px;">첨부파일 가능 용량은 20MB입니다. </p><!-- <p style="color:red;font-weight:500">업로드 순서는 1.신청서 2.안내문 입니다.</p> -->
</div>
<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>
<!-- 교육결과상세 화면에서 호출 시 버튼 비노출 -->
<c:if test="${status ne 'end'}">
<div class="btn_wrap_pop btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
<button type="button" onclick="setDataSave(); return false;" class="btn_type04">엑셀 등록</button>
<button type="button" onclick="fncPopClose(); return false;" class="btn_type02">닫기</button>
</div>
<div class="btn_right">
<!-- <button type="button" onclick="fncEduAcmdtAplctRejectInfo(); return false;" class="btn_type03" id="btnReject">반려</button> -->
</div>
</div>
</c:if>
<c:if test="${status eq 'end'}">
<div class="btn_wrap_pop btn_layout01">
<div class="btn_left">
</div>
<div class="btn_center">
<button type="button" onclick="fncPopClose(); return false;" class="btn_type02">닫기</button>
</div>
<div class="btn_right">
</div>
</div>
</c:if>
</div>
</div>
</form:form>
</body>
</html>

View File

@ -114,9 +114,9 @@
}
function fncGoDetail(sspnIdtmtTrgtOrd){
function fncGoDetail(cmdTrgtInfoOrd){
var detailForm = document.detailForm ;
detailForm.sspnIdtmtTrgtOrd.value = sspnIdtmtTrgtOrd;
detailForm.cmdTrgtInfoOrd.value = cmdTrgtInfoOrd;
detailForm.action = "<c:url value='/kccadr/oprtn/cmdTrgt/trgtDetail.do'/>";
detailForm.submit();
}
@ -273,15 +273,15 @@
// 대상자 의뢰취소
function fn_updateReqStatus(p_eduStateCd, p_reqStateCd) {
var sspnIdtmtTrgtOrdList = [];
var cmdTrgtInfoOrdList = [];
console.log('Start');
var chk = false;
// "chk" 이름을 가진 체크박스가 체크된 항목들을 순회
$("input[name='chk']:checked").each(function() {
var sspnIdtmtTrgtOrdValue = $(this).val();
sspnIdtmtTrgtOrdList.push(sspnIdtmtTrgtOrdValue);
var cmdTrgtInfoOrdValue = $(this).val();
cmdTrgtInfoOrdList.push(cmdTrgtInfoOrdValue);
// 교육상태가 대기/ 연기 인지 확인
// 그 외에 값이면 loop 나온 뒤 경고 alert 실행 후 function 종료
@ -297,28 +297,28 @@
if(chk){
alert("교육상태가 '교육대기','연기' 외에 다른 상태값이 있습니다.");
// 초기화
sspnIdtmtTrgtOrdList = [];
cmdTrgtInfoOrdList = [];
return;
}
// 선택된 항목이 없으면 경고 메시지를 표시하고 함수를 종료
if (sspnIdtmtTrgtOrdList.length === 0) {
if (cmdTrgtInfoOrdList.length === 0) {
alert("선택된 항목이 없습니다. 선택 후 다시 시도하세요.");
return false;
}
var dataToSend = {
"sspnIdtmtTrgtOrdList" : sspnIdtmtTrgtOrdList,
"cmdTrgtInfoOrdList" : cmdTrgtInfoOrdList,
"eduStateCd" : p_eduStateCd,
"reqStateCd" : p_reqStateCd
};
//alert(sspnIdtmtTrgtOrdList);
//alert(cmdTrgtInfoOrdList);
var form = document.popForm;
form.sspnIdtmtTrgtOrdList.value = sspnIdtmtTrgtOrdList;
form.cmdTrgtInfoOrdList.value = cmdTrgtInfoOrdList;
form.eduStateCd.value = p_eduStateCd;
form.reqStateCd.value = p_reqStateCd;
@ -363,15 +363,15 @@
// 대상자 의뢰취소 - 취소에 취소 (복구)
function fn_updateCancelReqStatus(p_eduStateCd, p_reqStateCd) {
var sspnIdtmtTrgtOrdList = [];
var cmdTrgtInfoOrdList = [];
console.log('Start');
var chk = false;
// "chk" 이름을 가진 체크박스가 체크된 항목들을 순회
$("input[name='chk']:checked").each(function() {
var sspnIdtmtTrgtOrdValue = $(this).val();
sspnIdtmtTrgtOrdList.push(sspnIdtmtTrgtOrdValue);
var cmdTrgtInfoOrdValue = $(this).val();
cmdTrgtInfoOrdList.push(cmdTrgtInfoOrdValue);
// 교육상태가 대기/ 연기 인지 확인
// 그 외에 값이면 loop 나온 뒤 경고 alert 실행 후 function 종료
@ -385,19 +385,19 @@
if(chk){
alert("교육상태가 '교육취소'외에 다른 상태값이 있습니다.");
// 초기화
sspnIdtmtTrgtOrdList = [];
cmdTrgtInfoOrdList = [];
return;
}
// 선택된 항목이 없으면 경고 메시지를 표시하고 함수를 종료
if (sspnIdtmtTrgtOrdList.length === 0) {
if (cmdTrgtInfoOrdList.length === 0) {
alert("선택된 항목이 없습니다. 선택 후 다시 시도하세요.");
return false;
}
var dataToSend = {
"sspnIdtmtTrgtOrdList" : sspnIdtmtTrgtOrdList,
"cmdTrgtInfoOrdList" : cmdTrgtInfoOrdList,
"eduStateCd" : p_eduStateCd,
"reqStateCd" : p_reqStateCd
};
@ -411,20 +411,20 @@
function fn_popup_submit_cmmAjax(p_params){
var sspnIdtmtTrgtOrdList = [];
var cmdTrgtInfoOrdList = [];
console.log('Start');
var chk = false;
// "chk" 이름을 가진 체크박스가 체크된 항목들을 순회
$("input[name='chk']:checked").each(function() {
var sspnIdtmtTrgtOrdValue = $(this).val();
sspnIdtmtTrgtOrdList.push(sspnIdtmtTrgtOrdValue);
var cmdTrgtInfoOrdValue = $(this).val();
cmdTrgtInfoOrdList.push(cmdTrgtInfoOrdValue);
});
var dataToSend = {
"sspnIdtmtTrgtOrdList" : sspnIdtmtTrgtOrdList,
"cmdTrgtInfoOrdList" : cmdTrgtInfoOrdList,
"eduStateCd" : "60",
"reqStateCd" : "40",
"rmrks" : p_params
@ -475,14 +475,14 @@
var sspnIdtmtTrgtOrdList = [];
var cmdTrgtInfoOrdList = [];
var chk = false;
// "chk" 이름을 가진 체크박스가 체크된 항목들을 순회
$("input[name='chk']:checked").each(function() {
var sspnIdtmtTrgtOrdValue = $(this).val();
sspnIdtmtTrgtOrdList.push(sspnIdtmtTrgtOrdValue);
var cmdTrgtInfoOrdValue = $(this).val();
cmdTrgtInfoOrdList.push(cmdTrgtInfoOrdValue);
// 교육상태가 대기/ 연기 인지 확인
// 그 외에 값이면 loop 나온 뒤 경고 alert 실행 후 function 종료
@ -496,25 +496,25 @@
if(chk){
alert("교육상태가 '교육대기'외에 다른 상태값이 있습니다.");
// 초기화
sspnIdtmtTrgtOrdList = [];
cmdTrgtInfoOrdList = [];
return;
}
// 선택된 항목이 없으면 경고 메시지를 표시하고 함수를 종료
if (sspnIdtmtTrgtOrdList.length === 0) {
if (cmdTrgtInfoOrdList.length === 0) {
alert("선택된 항목이 없습니다. 선택 후 다시 시도하세요.");
return false;
}
var dataToSend = {
"sspnIdtmtTrgtOrdList" : sspnIdtmtTrgtOrdList
"cmdTrgtInfoOrdList" : cmdTrgtInfoOrdList
};
var form = document.popForm;
form.sspnIdtmtTrgtOrdList.value = sspnIdtmtTrgtOrdList;
form.cmdTrgtInfoOrdList.value = cmdTrgtInfoOrdList;
// form.action = "<c:url value='/kccadr/oprtn/cmdTrgt/popup/fndthInstrAsgnmPopup.do'/>";
form.action = "<c:url value='/kccadr/oprtn/cmdTrgt/popup/cndtnEduAsgnmPopup.do'/>";
@ -537,7 +537,7 @@
</head>
<body>
<form id="popForm" name="popForm" method="post" >
<input type="hidden" id="sspnIdtmtTrgtOrdList" name="sspnIdtmtTrgtOrdList" value="" />
<input type="hidden" id="cmdTrgtInfoOrdList" name="cmdTrgtInfoOrdList" value="" />
<input type="hidden" id="eduStateCd" name="eduStateCd" value="" />
<input type="hidden" id="reqStateCd" name="reqStateCd" value="" />
@ -545,7 +545,7 @@
<form id="excelForm" name="excelForm" method="post" >
</form>
<form id="detailForm" name="detailForm" method="post" >
<input type="hidden" id="sspnIdtmtTrgtOrd" name="sspnIdtmtTrgtOrd" value="" />
<input type="hidden" id="cmdTrgtInfoOrd" name="cmdTrgtInfoOrd" 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' />"/>
@ -742,40 +742,40 @@
<td>
<input name="chk"
value="${list.sspnIdtmtTrgtOrd}" data-eduInfo="${list.eduStateCd }"
value="${list.cmdTrgtInfoOrd}" data-eduInfo="${list.eduStateCd }"
data-reqInfo="${list.reqStateCd }" title="Check" type="checkbox"/>
</td>
<td onclick="fncGoDetail('<c:out value="${list.sspnIdtmtTrgtOrd}"/>');" style="cursor:pointer;">
<td onclick="fncGoDetail('<c:out value="${list.cmdTrgtInfoOrd}"/>');" style="cursor:pointer;">
<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 onclick="fncGoDetail('<c:out value="${list.sspnIdtmtTrgtOrd}"/>');" style="cursor:pointer;">
<td onclick="fncGoDetail('<c:out value="${list.cmdTrgtInfoOrd}"/>');" style="cursor:pointer;">
<c:out value="${list.vntYear }" />형제<c:out value="${list.vntNmbr }" />
</td>
<td onclick="fncGoDetail('<c:out value="${list.sspnIdtmtTrgtOrd}"/>');" style="cursor:pointer;">
<td onclick="fncGoDetail('<c:out value="${list.cmdTrgtInfoOrd}"/>');" style="cursor:pointer;">
<ve:code codeId="VEA008" code="${list.cmptntAthrt }"/>
</td>
<td onclick="fncGoDetail('<c:out value="${list.sspnIdtmtTrgtOrd}"/>');" style="cursor:pointer;">
<td onclick="fncGoDetail('<c:out value="${list.cmdTrgtInfoOrd}"/>');" style="cursor:pointer;">
<c:out value="${list.dBirth }" />
</td>
<td onclick="fncGoDetail('<c:out value="${list.sspnIdtmtTrgtOrd}"/>');" style="cursor:pointer;">
<td onclick="fncGoDetail('<c:out value="${list.cmdTrgtInfoOrd}"/>');" style="cursor:pointer;">
<c:out value="${list.trgtNm }" />
</td>
<td onclick="fncGoDetail('<c:out value="${list.sspnIdtmtTrgtOrd}"/>');" style="cursor:pointer;">
<td onclick="fncGoDetail('<c:out value="${list.cmdTrgtInfoOrd}"/>');" style="cursor:pointer;">
<ve:code codeId="COM014" code="${list.sex }"/>
</td>
<td onclick="fncGoDetail('<c:out value="${list.sspnIdtmtTrgtOrd}"/>');" style="cursor:pointer;">
<td onclick="fncGoDetail('<c:out value="${list.cmdTrgtInfoOrd}"/>');" style="cursor:pointer;">
<c:out value="${list.reqNmbr }" />
</td>
<!--
<td onclick="fncGoDetail('<c:out value="${list.sspnIdtmtTrgtOrd}"/>');" style="cursor:pointer;">
<td onclick="fncGoDetail('<c:out value="${list.cmdTrgtInfoOrd}"/>');" style="cursor:pointer;">
<ve:code codeId="VEA005" code="${list.reqStateCd }"/>
</td>
-->
<!-- 의뢰상태 -->
<td onclick="fncGoDetail('<c:out value="${list.sspnIdtmtTrgtOrd}"/>');" style="cursor:pointer;">
<td onclick="fncGoDetail('<c:out value="${list.cmdTrgtInfoOrd}"/>');" style="cursor:pointer;">
<c:if test="${empty list.prcsAplctPrdOrdCmplt}">
<c:if test="${list.eduStateCd eq '20'}">
완료