This commit is contained in:
myname 2023-11-22 16:55:06 +09:00
commit 71b9b66758
21 changed files with 464 additions and 215 deletions

View File

@ -11,11 +11,14 @@ import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo;
import kcc.com.utl.user.service.CheckLoginUtil;
import kcc.kccadr.adjst.service.AdjstReqService;
import kcc.let.utl.fcc.service.EgovCryptoUtil;
import kcc.ve.adv.tngr.stngInfo.service.VEAStngMixService;
import kcc.ve.adv.tngr.stngInfo.service.VEAStngVO;
import kcc.ve.aplct.cpyrgExprnClsrm.exprnClsrmAplct.service.ScholInfoService;
import kcc.ve.aplct.cpyrgExprnClsrm.exprnClsrmAplct.service.ScholInfoVO;
@ -61,6 +64,9 @@ public class ScholInfoController {
@Resource(name = "AdjstReqService")
private AdjstReqService adjstReqService;
//강의설정 관리(MIX)
@Resource(name = "vEAStngMixService")
private VEAStngMixService vEAStngMixService;
/**
* 학교정보 검색 팝업 리스트
*/
@ -104,35 +110,35 @@ public class ScholInfoController {
*/
@RequestMapping("popup/calendarPopList.do")
public String popupCalendarPopList( @ModelAttribute("scholInfoVO") ScholInfoVO scholInfoVO , ModelMap model , HttpServletRequest request ) throws Exception {
//1.paging step1
PaginationInfo paginationInfo = this.setPagingStep1(scholInfoVO);
//2. paging step2
scholInfoVO = this.setPagingStep2(scholInfoVO, paginationInfo);
if (!"".equals(scholInfoVO.getSearchKeyword())) {
scholInfoVO.setSelectPagingListQuery(" AND A.SCHOL_NM LIKE '%"+scholInfoVO.getSearchKeyword()+"%' ");
}
if (!"".equals(scholInfoVO.getSearchCondition())) {
if(scholInfoVO.getSearchCondition().equals("10")) {
scholInfoVO.setScholGrade(" AND A.SCHOL_GRADE_NM LIKE '%초등%' ");
}else if(scholInfoVO.getSearchCondition().equals("20")) {
scholInfoVO.setScholGrade(" AND A.SCHOL_GRADE_NM LIKE '%중학%' ");
}else if(scholInfoVO.getSearchCondition().equals("30")) {
scholInfoVO.setScholGrade(" AND A.SCHOL_GRADE_NM LIKE '%고등%' ");
}else if(scholInfoVO.getSearchCondition().equals("40")) {
scholInfoVO.setScholGrade(" AND A.SCHOL_GRADE_NM LIKE '%특수%' ");
}else if(scholInfoVO.getSearchCondition().equals("50")) {
scholInfoVO.setScholGrade(" AND A.SCHOL_GRADE_NM LIKE '%각종%' ");
}
}
List<ScholInfoVO> scholInfoVOList = scholInfoService.selectPagingList(scholInfoVO);
//3.paging step3
paginationInfo = this.setPagingStep3(scholInfoVOList, paginationInfo);
model.addAttribute("paginationInfo", paginationInfo);
//학교정보 리스트, 페이징 정보 전달
model.addAttribute("scholList", scholInfoVOList);
// //1.paging step1
// PaginationInfo paginationInfo = this.setPagingStep1(scholInfoVO);
// //2. paging step2
// scholInfoVO = this.setPagingStep2(scholInfoVO, paginationInfo);
//
// if (!"".equals(scholInfoVO.getSearchKeyword())) {
// scholInfoVO.setSelectPagingListQuery(" AND A.SCHOL_NM LIKE '%"+scholInfoVO.getSearchKeyword()+"%' ");
// }
//
// if (!"".equals(scholInfoVO.getSearchCondition())) {
// if(scholInfoVO.getSearchCondition().equals("10")) {
// scholInfoVO.setScholGrade(" AND A.SCHOL_GRADE_NM LIKE '%초등%' ");
// }else if(scholInfoVO.getSearchCondition().equals("20")) {
// scholInfoVO.setScholGrade(" AND A.SCHOL_GRADE_NM LIKE '%중학%' ");
// }else if(scholInfoVO.getSearchCondition().equals("30")) {
// scholInfoVO.setScholGrade(" AND A.SCHOL_GRADE_NM LIKE '%고등%' ");
// }else if(scholInfoVO.getSearchCondition().equals("40")) {
// scholInfoVO.setScholGrade(" AND A.SCHOL_GRADE_NM LIKE '%특수%' ");
// }else if(scholInfoVO.getSearchCondition().equals("50")) {
// scholInfoVO.setScholGrade(" AND A.SCHOL_GRADE_NM LIKE '%각종%' ");
// }
// }
//
// List<ScholInfoVO> scholInfoVOList = scholInfoService.selectPagingList(scholInfoVO);
// //3.paging step3
// paginationInfo = this.setPagingStep3(scholInfoVOList, paginationInfo);
// model.addAttribute("paginationInfo", paginationInfo);
// //학교정보 리스트, 페이징 정보 전달
// model.addAttribute("scholList", scholInfoVOList);
return "/web/ve/aplct/cpyrgExprnClsrm/exprnClsrmInfo/popup/calendarPopList";
}
@ -184,4 +190,67 @@ public class ScholInfoController {
return p_paginationInfo;
}
//교육가능시수 달력 팝업 데이타 - 해당 회차의 선택한 기간 정보에 대한 달력의 정보들
@RequestMapping(value = "/popup/calendarPopListAjax.do")
@ResponseBody
public List<VEAStngVO> advPsblTmQnttyCalendarPopupAjax(
@ModelAttribute("vEAStngVO") VEAStngVO vEAStngVO
, ModelMap model
) throws Exception {
/*
System.out.println(schduleManageVO.getTodate());
System.out.println(schduleManageVO.getTodate());
System.out.println(schduleManageVO.getTodate());
System.out.println(schduleManageVO.getSearchStartDt().split("T")[0]);
System.out.println(schduleManageVO.getSearchStartDt());
System.out.println(schduleManageVO.getSearchStartDt());
*/
System.out.println("vEAStngVO.getDpStrtDt()");
System.out.println(vEAStngVO.getDpStrtDt());
System.out.println(vEAStngVO.getDpDdlnDt());
String s_std_date = vEAStngVO.getDpStrtDt().substring(0, 10);
vEAStngVO.setDpStrtDt(s_std_date);
vEAStngVO.setYr(s_std_date.substring(0,4));
//schduleManageVO.setSearchStartDt(schduleManageVO.getSearchStartDt().split("T")[0].replaceAll("-", ""));
//step1.현재달력의 첫번째 날짜를 기준으로 그해와 다음해의 전체 일자를 만들고,
List<VEAStngVO> vList = vEAStngMixService.selectList_VEALPPS_2(vEAStngVO);
//return vEAStngMixService.selectList_VEALPPS_1(vEAStngVO);
for (int i=0;i<vList.size();i++) {
try {
System.out.println("vList.get(i).getDtPsblTmQnttyOrd()");
System.out.println(vList.get(i).getDtPsblTmQnttyOrd());
System.out.println(vList.get(i).getRndsNm());
if (vList.get(i).getTitle().equals("불가능"))
{
vList.get(i).setColor("#FF0000");
}else if (Integer.parseInt(vList.get(i).getTitleF())>=Integer.parseInt(vList.get(i).getTitleB()))
{
vList.get(i).setColor("#FF0000");
}else if (Integer.parseInt(vList.get(i).getTitleF())*5>=Integer.parseInt(vList.get(i).getTitleB())*4)
{
vList.get(i).setColor("#FFAA00");
}
}catch(Exception ex) {
ex.printStackTrace();
}
}
return vList;
//return schduleManageService.selectSchManageStatusList(schduleManageVO);
}
}

View File

@ -149,6 +149,8 @@ public class VEEduAplctVO extends ComDefaultVO implements Serializable {
private String acmdtAplctOrd; //숙박신청 순번
private String acmdtSbmtYn; //숙박신청 제출여부
private String targetId;
public int getChasi() {
return chasi;
@ -1748,6 +1750,13 @@ public class VEEduAplctVO extends ComDefaultVO implements Serializable {
public void setAcmdtSbmtYn(String acmdtSbmtYn) {
this.acmdtSbmtYn = acmdtSbmtYn;
}
public String getTargetId() {
return targetId;
}
public void setTargetId(String targetId) {
this.targetId = targetId;
}
}

View File

@ -976,6 +976,7 @@ public class EduAplctMngTngrController {
*/
@RequestMapping("popup/eduDocReqAlertPopup.do")
public String eduDocReqAlertPopup( @ModelAttribute("vEEduAplctVO") VEEduAplctVO vEEduAplctVO , ModelMap model , HttpServletRequest request ) throws Exception {
return "oprtn/tngrVisitEdu/popup/eduDocReqAlertPopup";
}
//////////////////////////////////////////////////////////////////////////////////////////////////////////////

View File

@ -1297,7 +1297,9 @@
A.SBMT_ATCH_FILE_ID AS sbmtAtchFileId,
TO_CHAR(A.SBMT_PNTTM,'YYYY-MM-DD') AS sbmtPnttm,
A.SBMT_ID AS sbmtId,
B.INSTR_NM AS instrNm
B.INSTR_NM AS instrNm,
B.PHONE AS phone,
B.EMAIL AS email
FROM
VE_EDU_DOC_REQ A
LEFT JOIN VE_INSTR_DETAIL B

View File

@ -13,6 +13,7 @@
<title>학교명 검색</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script type="text/javascript" src="/kccadrPb/usr/script/popup.js"></script>
<script src="${pageContext.request.contextPath}/js/ve/sendSmsEmailUtil.js"></script>
<script type="text/javaScript" language="javascript">
$(document).ready(function(){
});
@ -41,6 +42,19 @@
success:function(returnData){
if(returnData.rsCnt > 0){
alert(msg + " 되었습니다.");
if(${veEduAplctVO.lctrDivCd =! '40'}){
try{
sendSms(
"<c:out value='${veEduAplctVO.phone}'/>",
"교육운영 관리 시스템입니다. 등록하신 체험교실 운영신청 수정요청드립니다.",
"<c:out value="${veEduAplctVO.eduAplctOrd}" />",
"<c:out value='${veEduAplctVO.targetId}'/>",
"N"
);
}
catch (e) {
}
}
opener.fncGoDetail();
self.close();
}else{

View File

@ -150,6 +150,12 @@
<input type="hidden" id="prcsSortNo" name="prcsSortNo" value="" />
<div class="cont_wrap">
<!--tap 추가-->
<ul class="tab_wrap">
<li class="tab active"><button type="button" onclick="TabWrap(this,'1');">과정신청기간관리목록</button></li>
<li class="tab"><button type="button" onclick="TabWrap(this,'2');">과정관리목록</button></li>
<li class="tab"><button type="button" onclick="TabWrap(this,'3');">교육확정관리목록</button></li>
</ul>
<div class="box">
<!-- cont_tit -->

View File

@ -231,6 +231,11 @@
<input type="hidden" id="searchSelStatus" name="searchSelStatus" value="" />
<div class="cont_wrap">
<!--tap 추가-->
<ul class="tab_wrap">
<li class="tab active"><button type="button" onclick="TabWrap(this,'1');">대상자관리</button></li>
<li class="tab"><button type="button" onclick="TabWrap(this,'2');">수료자관리</button></li>
</ul>
<div class="box">
<!-- cont_tit -->

View File

@ -112,6 +112,9 @@
<form:form id="linkForm" name="linkForm" commandName="vEEduAplctVO" method="post">
<input type="hidden" name="eduAplctOrd" id="eduAplctOrd" value="${info.eduAplctOrd}" />
<input type="hidden" name="lctrDivCd" id="lctrDivCd" value="${info.lctrDivCd}" />
<input type="hidden" name="phone" id="phone" value="${info.clphone}" />
<input type="hidden" name="targetId" id="targetId" value="${info.userId}" />
</form:form>
<!-- cont -->

View File

@ -280,7 +280,6 @@
}
function updateHiddenMemo(){
$("#prvtMemoCn").val($("#hiddenMemo").val());
@ -308,11 +307,16 @@
}
// 서류요청 SMS, EMAIL 알림 팝업
function alertPopup(userId,type) { //메뉴생성 화면 호출
function alertPopup(userId,type, p_receiver, instrNm) { //메뉴생성 화면 호출
document.popForm.action = "<c:url value='/kccadr/oprtn/tngrVisitEdu/popup/eduDocReqAlertPopup.do'/>";
document.popForm.targetId.value = userId;
document.popForm.type.value = type;
document.popForm.phone.value = p_receiver;
document.popForm.email.value = p_receiver;
document.popForm.instrNm.value = instrNm;
window.open("#", "_eduDocReqAlertPopup", "scrollbars = no, top=100px, left=100px, height=550px, width=750px");
document.popForm.target = "_eduDocReqAlertPopup";
document.popForm.submit();
document.popForm.submit();
}
</script>
@ -335,7 +339,13 @@
<form id="popForm" name="popForm" method="post">
<input type="hidden" name="callFunc" value="callFunc"/>
<input type="hidden" name="eduAplctOrd" value="<c:out value="${info.eduAplctOrd}" />"/>
<input type="hidden" name="targetId" value=""/>
<input type="hidden" name="type" value=""/>
<input type="hidden" name="phone" value=""/>
<input type="hidden" name="email" value=""/>
<input type="hidden" name="instrNm" value=""/>
</form>
<form:form id="linkForm" name="linkForm" commandName="vEEduAplctVO" method="post">
<input type="hidden" id="eduAplctOrd" name="eduAplctOrd" value="<c:out value="${info.eduAplctOrd}" />" />
@ -669,10 +679,8 @@
</c:import>
</c:if>
<c:if test="${empty docReqList.sbmtAtchFileId}">
<button class="btn_type06" onclick="alertPopup('<c:out value="${docReqList.sbmtId}" />','SMS'); return false;">SMS</button>
<button class="btn_type06" onclick="alertPopup('<c:out value="${docReqList.sbmtId}" />','EMAIL'); return false;">EMAIL</button>
<%-- <button type="button" class="btnType01" data-tooltip="sub35_pop01" id="DOC" onclick="filePopupLayer('<c:out value="${docReqList.eduDocReqOrd}"/>','DOC')" title="팝업 열림">제출하기</button>
<button type="button" class="btnType01" data-tooltip="sub35_pop01" id="DOC" onclick="filePopupLayer('<c:out value="${docReqList.eduDocReqOrd}"/>','DOC')" title="팝업 열림">제출하기</button> --%>
<button class="btn_type06" onclick="alertPopup('<c:out value="${docReqList.sbmtId}" />','SMS', '<c:out value="${docReqList.phone}" />', '<c:out value="${docReqList.instrNm}" />'); return false;">SMS</button>
<button class="btn_type06" onclick="alertPopup('<c:out value="${docReqList.sbmtId}" />','EMAIL', '<c:out value="${docReqList.email}" />', '<c:out value="${docReqList.instrNm}" />'); return false;">EMAIL</button>
</c:if>
</td>
</tr>

View File

@ -272,8 +272,13 @@ function replyCalculation(){
// 서류요청 SMS, EMAIL 알림 팝업
function alertPopup(userId,type) { //메뉴생성 화면 호출
function alertPopup(userId,type, p_receiver, instrNm) { //메뉴생성 화면 호출
document.popForm.action = "<c:url value='/kccadr/oprtn/tngrVisitEdu/popup/eduDocReqAlertPopup.do'/>";
document.popForm.targetId.value = userId;
document.popForm.type.value = type;
document.popForm.phone.value = p_receiver;
document.popForm.email.value = p_receiver;
document.popForm.instrNm.value = instrNm;
window.open("#", "_eduDocReqAlertPopup", "scrollbars = no, top=100px, left=100px, height=550px, width=750px");
document.popForm.target = "_eduDocReqAlertPopup";
document.popForm.submit();
@ -309,7 +314,12 @@ function replyCalculation(){
<form id="popForm" name="popForm" method="post">
<input type="hidden" name="callFunc" value="callFunc"/>
<input type="hidden" name="eduAplctOrd" value="<c:out value="${info.eduAplctOrd}" />"/>
<input type="hidden" name="targetId" value=""/>
<input type="hidden" name="type" value=""/>
<input type="hidden" name="phone" value=""/>
<input type="hidden" name="email" value=""/>
<input type="hidden" name="instrNm" value=""/>
</form>
<form id="filePopForm" name="filePopForm" method="post">
@ -602,10 +612,8 @@ function replyCalculation(){
</c:import>
</c:if>
<c:if test="${empty docReqList.sbmtAtchFileId}">
<button class="btn_type06" onclick="alertPopup('<c:out value="${docReqList.sbmtId}" />','SMS'); return false;">SMS</button>
<button class="btn_type06" onclick="alertPopup('<c:out value="${docReqList.sbmtId}" />','EMAIL'); return false;">EMAIL</button>
<%-- <button type="button" class="btnType01" data-tooltip="sub35_pop01" id="DOC" onclick="filePopupLayer('<c:out value="${docReqList.eduDocReqOrd}"/>','DOC')" title="팝업 열림">제출하기</button>
<button type="button" class="btnType01" data-tooltip="sub35_pop01" id="DOC" onclick="filePopupLayer('<c:out value="${docReqList.eduDocReqOrd}"/>','DOC')" title="팝업 열림">제출하기</button> --%>
<button class="btn_type06" onclick="alertPopup('<c:out value="${docReqList.sbmtId}" />','SMS', '<c:out value="${docReqList.phone}" />', '<c:out value="${docReqList.instrNm}" />'); return false;">SMS</button>
<button class="btn_type06" onclick="alertPopup('<c:out value="${docReqList.sbmtId}" />','EMAIL', '<c:out value="${docReqList.email}" />', '<c:out value="${docReqList.instrNm}" />'); return false;">EMAIL</button>
</c:if>
</td>
</tr>

View File

@ -29,45 +29,79 @@
%>
<html lang="ko">
<head>
<title>교육신청 상세</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style>
/* Page Url Hide */
@page {
size: auto; /* auto is the initial value */
margin: 0; /* this affects the margin in the printer settings */
}
@media print {
html, body {height:auto;margin: 0 !important;padding: 0 !important;overflow: hidden;page-break-after: avoid;}
.cont_tit {page-break-before: always;}
.page_break {page-break-inside:avoid; page-break-after:auto}
.print_mark {page-break-before: auto;}
form{display: none;}
}
</style>
<script type="text/javascript">
</script>
<title>교육신청 상세</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style>
/* Page Url Hide */
@page {
size: auto; /* auto is the initial value */
margin: 0; /* this affects the margin in the printer settings */
}
@media print {
html, body {height:auto;margin: 0 !important;padding: 0 !important;overflow: hidden;page-break-after: avoid;}
.cont_tit {page-break-before: always;}
.page_break {page-break-inside:avoid; page-break-after:auto}
.print_mark {page-break-before: auto;}
form{display: none;}
}
</style>
<script src="${pageContext.request.contextPath}/js/ve/sendSmsEmailUtil.js"></script>
<script type="text/javascript">
$(document).ready(function (){
$('#smsSend').click(function(){
sendSms(
"<c:out value='${vEEduAplctVO.phone}'/>",
$('#cn').val(),
"<c:out value='${vEEduAplctVO.eduAplctOrd}'/>",
"<c:out value='${vEEduAplctVO.targetId}'/>",
"Y"
);
});
$('#emailSend').click(function(){
sendEmail(
"<c:out value='${vEEduAplctVO.phone}'/>",
$('#cn').val(),
"<c:out value='${vEEduAplctVO.eduAplctOrd}'/>",
"<c:out value='${vEEduAplctVO.targetId}'/>",
"C",
"Y"
);
});
});
</script>
</head>
<body>
<form:form id="linkForm" name="linkForm" commandName="vEEduAplctVO" method="post">
<input type="hidden" id="eduAplctOrd" name="eduAplctOrd" value="<c:out value="${info.eduAplctOrd}" />" />
</form:form>
<form id="hiddenMemoForm" name="hiddenMemoForm" method="post">
<input type="hidden" name="eduAplctOrd" value="<c:out value="${info.eduAplctOrd}" />" />
<input type="hidden" name="prvtMemoCn" id="prvtMemoCn" value="" />
</form>
<input type="hidden" name="type" value="${vEEduAplctVO.type}"/>
<input type="hidden" name="phone" value="${vEEduAplctVO.phone}"/>
<input type="hidden" name="email" value="${vEEduAplctVO.email}"/>
<input type="hidden" name="eduAplctOrd" value="${vEEduAplctVO.eduAplctOrd}"/>
<input type="hidden" name="targetId" value="${vEEduAplctVO.targetId}"/>
<!-- cont -->
<div class="area_popup">
<div class="cont_popup">
<div class="cont_tit" style="padding: 0 0 20px 0; margin-bottom: 30px;"><h2>SMS|EMIAL 발송 - 개발전</h2></div>
<div class="cont_tit" style="padding: 0 0 20px 0; margin-bottom: 30px;">
<h2>
<c:choose>
<c:when test="${vEEduAplctVO.type eq 'SMS'}">
SMS 발송
</c:when>
<c:otherwise>
EMAIL 발송
</c:otherwise>
</c:choose>
</h2>
</div>
<table class="pop_tb_type02">
<colgroup>
<col style="width: 140px;">
@ -78,13 +112,23 @@
<th scope="row">
<p>수신자</p>
</th>
<td>청소년강사1(010-1111-2222)</td>
<td>
<c:out value="${vEEduAplctVO.instrNm}"/>
<c:choose>
<c:when test="${vEEduAplctVO.type eq 'SMS'}">
(<c:out value="${vEEduAplctVO.phone}"/>)
</c:when>
<c:otherwise>
(<c:out value="${vEEduAplctVO.email}"/>)
</c:otherwise>
</c:choose>
</td>
</tr>
<tr>
<th scope="row">
<p>내용</p>
</th>
<td colspan="3"><textarea rows="" cols=""></textarea></td>
<td colspan="3"><textarea rows="" cols="" id="cn"></textarea></td>
</tr>
</tbody>
</table>
@ -95,8 +139,15 @@
<div class="btn_left">
</div>
<div class="btn_center">
<button type="button" class="btn_type01" onclick="" title="새창 열림">확인</button>
<c:choose>
<c:when test="${vEEduAplctVO.type eq 'SMS'}">
<button type="button" class="btn_type01" id="smsSend" title="전송">전송</button>
</c:when>
<c:otherwise>
<button type="button" class="btn_type01" id="emailSend" title="전송">전송</button>
</c:otherwise>
</c:choose>
<button type="button" class="btn_type01" onclick="window.close()" title="창닫기">닫기</button>
</div>
<div class="btn_right">

View File

@ -7,15 +7,7 @@
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
<script type="text/javascript" src="${pageContext.request.contextPath}/kccadrPb/usr/script/popup.js"></script>
<style type="text/css">
.fc-day-sat { color:#0000FF; } /* 토요일 */
.fc-day-sun { color:#FF0000; } /* 일요일 */
</style>
<link type="text/css" rel="stylesheet" href="<c:url value='/js/fullcalendar/5.9.0/main.css' />" />
<script type="text/javascript" src="<c:url value='/js/fullcalendar/5.9.0/main.js'/>"></script>
<script type="text/javascript" src="<c:url value='/js/fullcalendar/5.9.0/locales-all.js'/>"></script>
<!-- css -->
@ -30,6 +22,9 @@
<script src="/offedu/visitEdu/adm/publish/script/content.js"></script>
<script src="/offedu/kccadrPb/adm/script/postcode.js"></script>
<script src="/offedu/js/fullcalendar/5.9.0/main.js"></script>
<script src="/offedu/js/fullcalendar/5.9.0/locales-all.js"></script>
<link rel="stylesheet" href="/offedu/js/fullcalendar/5.9.0/main.css">
<script src="/offedu/js/ncms_common.js"></script>
<script src="/offedu/js/util.js"></script>
@ -37,86 +32,21 @@
<script src="/offedu/js/kccadr/kccadrConstants.js"></script>
<script src="/offedu/js/antdatepicker/moment.min.js"></script>
<script type="text/javascript" src="/offedu/js/ve/veConstants.js"></script>
<script type="text/javascript" src="${pageContext.request.contextPath}/kccadrPb/usr/script/popup.js"></script>
<style type="text/css">
.fc-day-sat { color:#0000FF; } /* 토요일 */
.fc-day-sun { color:#FF0000; } /* 일요일 */
</style>
<script type="text/javaScript" language="javascript">
function fncGoScholList(){
linkPage(1);
}
var ex_s_todate;// = info.startStr;
var calendar;
function linkPage(pageNo){
var data = {
pageIndex : pageNo,
searchKeyword : $("#searchKeyword").val(),
searchCondition : $("#searchCondition").val(),
pageUnit : 5,
formId : $("#formId").val(),
}
fncScholList(data);
}
function fncScholList(paramObj) {
if(paramObj == undefined || paramObj == ''){
paramObj = {
pageIndex : 1,
searchKeyword : "",
searchCondition : "",
pageUnit : 5,
formId : $("#formId").val(),
};
}
// 학교 리스트 팝업 호출
commonPopLayeropen(
"${pageContext.request.contextPath}/web/ve/aplct/cpyrgExprnClsrm/scholInfo/popup/scholPopList.do"
, 500
, 600
, paramObj
, "N"
, "scholPop"
);
}
function fncScholDataSlct_back(p_code, p_nm){
var fNm = "#"+$("#formId").val();
$(fNm + " #stndrdScholCd").val(p_code);
$(fNm + " #scholInsttNm").val(p_nm);
$(".btn_popup_close").click();
}
function fncScholDataSlct(thisObj){
var inObj = $(thisObj).closest("td").find("input[type=hidden]");
var rsObj = new Object();
$.each(inObj, function(idx, value){
console.log(value.value);
rsObj[value.name] = value.value;
});
callBackSchPop(rsObj);
$(".btn_popup_close").click();
}
$(document).ready(function(){
//boardCaptionDetailToggle4();
// 레이어팝업 포커싱 이동 수정
$(".tooltip-close").click(function(){
var activeTarget = $('[data-tooltip-con="sub36_pop02"]');
activeTarget.hide();
$('[data-tooltip="sub01_pop02"]').focus();
});
//레이어팝업 초정 이동 시 필요한 data 값 추가
var btnLast = $('.popup_cont').find('.page').find('button:last-child');
btnLast.attr('data-focus-next','sub36_pop02');
btnLast.attr('data-focus','sub36_pop02_close');
})
var ex_s_todate;// = info.startStr;
var calendar;
document.addEventListener('DOMContentLoaded', function() {
$(document).ready(function(){
var calendarEl = document.getElementById('schduleManager');
calendar = new FullCalendar.Calendar(calendarEl, {
locale: 'ko',
@ -169,7 +99,8 @@ var calendar;
var searchDt = $("#searchCalendarCode").val();
$.ajax({
url: '<c:url value="/kccadr/oprtn/tngrVisitEdu/popup/advLctrPrdCalendarPopupAjax.do"/>',
// url: '<c:url value="/kccadr/oprtn/tngrVisitEdu/popup/advPsblTmQnttyCalendarPopupAjax.do"/>',
url: '<c:url value="/web/ve/aplct/cpyrgExprnClsrm/scholInfo/popup/calendarPopListAjax.do"/>',
type: 'POST',
dataType: 'json',
data: {
@ -178,7 +109,6 @@ var calendar;
todate : info.start,
dpStrtDt : s_todate,
dpDdlnDt : info.start,
rndsOrd : '${rndsOrd}',
//todate : info.startStr,
//todate : s_todate,
//todate : "",
@ -203,45 +133,53 @@ var calendar;
},
eventClick: function(info) {
info.jsEvent.preventDefault();
//alert(info.event._def.extendedProps.dtPsblTmQnttyOrd);
//alert(info.event._def.extendedProps.title);
//alert(info.title);
//alert(info.event._def.title);
//alert(JSON.stringify(info));
/*
alert(info.event._def.extendedProps.lctrPsblPrdOrd);
alert(info.event._def.extendedProps.dtPsblTmQnttyOrd);
alert(info.event._def.extendedProps.start);
alert(info.event._def.extendedProps.end);
alert(info.event._def.extendedProps.rndsNm);
alert(JSON.stringify(info.event._def.extendedProps));
*/
schDetailPop(
info.event._def.extendedProps.lctrPsblPrdOrd
, info.event._def.extendedProps.rndsOrd
, info.event._def.extendedProps.rndsNm
);
if (info.event._def.title=="불가능"){
alert("해당 일자는 관리자가 교육 불가 일자로 설정하여 시수 설정이 불가능 합니다.");
}else{
dtPsblTmQnttyPop(
info.event._def.extendedProps.dtPsblTmQnttyOrd
, info.event._def.extendedProps.rndsNm
);
}
return false;
},
});
calendar.render();
});
function schDetailPop(
p_lctrPsblPrdOrd
, p_rndsOrd
, p_lctrPsblStrtDt
function dtPsblTmQnttyPop(
p_dtPsblTmQnttyOrd
, p_dpStrtDt
) {
//alert(p_lctrPsblPrdOrd);
fncChangePsblDay(p_lctrPsblPrdOrd, p_rndsOrd, p_lctrPsblStrtDt);
//calendar.fullCalendar('refetchEvents');
//alert(p_dtPsblTmQnttyOrd);
//alert(p_dpStrtDt);
//fncChangePsblDay(p_lctrPsblPrdOrd, p_rndsOrd, p_lctrPsblStrtDt);
//calendar.fullCalendar('refetchEvents');
/*
window.open('', 'schDetailPop', "width=800, height=520, left=100, top=130","location = no","status= no","toolbars= no");
document.listForm.eduAplctOrd.value = schSeq ;
document.listForm.eduChasiOrd.value = schChasiSeq ;
document.listForm.method = "post";
document.listForm.action = "${pageContext.request.contextPath}/kccadr/oprtn/tngrVisitEdu/popup/SchduleManagerPopDetail.do";
document.listForm.target = "schDetailPop" ;
document.listForm.submit();
*/
document.listForm.dtPsblTmQnttyOrd.value = p_dtPsblTmQnttyOrd;
document.listForm.dpStrtDt.value = p_dpStrtDt;
document.listForm.action = "<c:url value='/kccadr/oprtn/tngrVisitEdu/popup/advPsblTmQnttyPopup.do'/>";
window.open("#", "_dtPsblTmQnttyPop", "scrollbars = no, top=100px, left=100px, height=450px, width=450px");
document.listForm.target = "_dtPsblTmQnttyPop";
document.listForm.submit();
}
@ -268,10 +206,6 @@ var calendar;
//fncGoList();
//$('#schduleManager').fullCalendar('gotoDate', new Date('2023-10-01'));
window.location.reload(false);
//calendar.render();
}else{
alert("변경 중 오류가 발생하였습니다.");
fncGoList();
@ -395,7 +329,6 @@ var calendar;
return str.split(searchStr).join(replaceStr);
}
</script>
<!-- 일정 상세 -->
<form:form commandName="scholInfoVO" id="popList" name="popList" method="post" onsubmit="return false;">
@ -406,12 +339,32 @@ var calendar;
<div class="popup_wrap popType01" tabindex="0" data-tooltip-con="sub36_pop02" data-focus="sub36_pop02" data-focus-prev="sub36_pop02_close">
<div class="popup_tit">
<p>학교명 검색</p> <button class="btn_popup_close tooltip-close" data-focus="sub36_pop02_close" title="팝업 닫기"><i></i></button>
<p>교육일정달력</p> <button class="btn_popup_close tooltip-close" data-focus="sub36_pop02_close" title="팝업 닫기"><i></i></button>
</div>
<div class="popup_cont">
<div id="schduleManager">askfjaskdjfaskdjfasdk
asdfasfsad
asdfsadf
<div class="box">
<!-- cont_tit -->
<div class="cont_tit">
<input type="hidden" id="searchCalendarCode" value="">
<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 -->
<br />
<div style="float: right; padding-right: 40px; color: #777777;" id="weekCnt"></div>
<div class="cont">
<div id="schduleManager"></div>
</div>
</div>
</div>
</div>

View File

@ -224,8 +224,10 @@
<p class="qst_text"><span>답변</span>A</p>
<c:choose>
<c:when test="${not empty list.qnaAnswerCn }">
<p class="awr_cont">${list.qnaAnswerCn }</p>
<p class="date">${list.lastUpdtPnttm }</p>
<div>
<p class="awr_cont">${list.qnaAnswerCn }</p>
<p class="date">${list.lastUpdtPnttm }</p>
</div>
</c:when>
<c:otherwise>
<p class="awr_cont">내용이 없습니다.</p>

View File

@ -791,24 +791,21 @@ var psblFlag = "Y";//학생 신청가능기간여부 체크
}
}
function fncCalView(paramObj) {
if(paramObj == undefined || paramObj == ''){
paramObj = {
pageIndex : 1,
searchKeyword : "",
searchCondition : "",
pageUnit : 5,
formId : "createForm"
};
}
function fncCalView() {
// if(paramObj == undefined || paramObj == ''){
// paramObj = {
// pageIndex : 1,
// searchKeyword : "",
// searchCondition : "",
// pageUnit : 5,
// formId : "createForm"
// };
// }
commonPopLayeropen(
"${pageContext.request.contextPath}/web/ve/aplct/cpyrgExprnClsrm/scholInfo/popup/calendarPopList.do"
//"${pageContext.request.contextPath}/kccadr/oprtn/tngrVisitEdu/popup/advLctrPrdCalendarPopup.do"
//"${pageContext.request.contextPath}/web/ve/tngrVisitEdu/popup/advLctrPrdCalendarPopup.do"
, 900
, 900
, paramObj
, ""
, "Y"
, "calendarPop"
);
@ -1136,7 +1133,7 @@ var psblFlag = "Y";//학생 신청가능기간여부 체크
<span class="cf_text2" style="display:block; padding-left:0; padding-top: 6px;">※ 교육추가 버튼을누러 대상별 1줄씩 작성(1줄 = 강사 1인) 바랍니다. (예시 : 3개 학급 신청 시 1학급 당 1줄씩 총 3줄을 작성)</span>
</div>
<div class="btn_wrap">
<!-- <button type="button" class="btnType01" data-tooltip="sub01_pop02" onclick="fncCalView();" title="팝업 열림">교육일정달력보기</button> -->
<button type="button" class="btnType01" data-tooltip="sub01_pop03" onclick="fncCalView();" title="팝업 열림">교육일정달력보기</button>
<button type="button" class="btnType05" title="교육차시 입력테이블 추가생성" onclick="addEduClassCopyTngr('addClassRow')">교육추가</button>
</div>
</div>

View File

@ -0,0 +1,101 @@
//문자발송
function sendSms(
p_receiver, // 수신자
p_cn, //내용
p_logSeq, //로그에 남길 pk
p_trgtId, //받는사용자pk
p_alertYn // 발송 후 alert 여부
){
if (p_cn==""){
alert("SMS 발송 내용은 필수값입니다.");
return false;
}
sendContent(
p_receiver,
p_cn,
"",
"10", //코드 10:sms 20:mail
p_logSeq,
p_trgtId,
p_alertYn
);
}
//이메일 발송
function sendEmail(
p_receiver, // 수신자
p_cn, //내용
p_logSeq, //로그에 남길 pk
p_trgtId, //받는사용자pk
p_flag, // p_flag -> 'C' 청소년 , 'S' 성인
p_alertYn // 발송 후 alert 여부
){
if (p_cn==""){
alert("이메일 발송 내용은 필수값입니다.");
return false;
}
sendContent(
p_receiver,
p_cn,
p_flag,
"20", //코드 10:sms 20:mail
p_logSeq,
p_trgtId,
p_alertYn
);
}
//발송
function sendContent(p_receiver, p_cn, p_flag, p_cd, p_logSeq, p_trgtId, p_alertYn){
var url = "";
if(p_cd == '10') url = getContextPath()+"/kccadr/oprtn/pblc/offeduSMSSndAjax.do";
else if(p_cd == '20') url = getContextPath()+"/kccadr/oprtn/pblc/emailSndAjax.do";
if(url ==""){
if(p_alertYn != 'N'){
alert("발송이 실패했습니다.");
}
return false;
}
$.ajax({
type: "POST",
url:url,
data:{
"clphone": p_receiver,
"email": p_receiver,
"sndCn": p_cn,
"sndFlag": p_flag,
"sndCd": p_cd,
"eduAplctOrd": p_logSeq,
"trgtId" : p_trgtId
},
dataType:'json',
success:function(returnData){
if(returnData.result == "success"){
if(p_alertYn != 'N'){
alert(returnData.message);
}
}else{
if(p_alertYn != 'N'){
alert(returnData.message);
}
}
},
error:function(request , status, error){
if(p_alertYn != 'N'){
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
}
}
});
}
function getContextPath(){
var hostIndex = location.href.indexOf( location.host ) + location.host.length;
var contextPath = location.href.substring( hostIndex, location.href.indexOf('/', hostIndex + 1) );
return contextPath;
}

View File

@ -443,4 +443,15 @@ input[type="text"].input_time {width: 50px;}
.sch_wrap .sch_day{width: 4%; min-width: 70px; padding-right: 20px; box-sizing: border-box;}
.sch_wrap p.day_sun{color: #e40000;}
.sch_wrap p.day_sat{color: #0b5bff;}
.sch_wrap p.day_sat{color: #0b5bff;}
/*tab 추가*/
.tab_wrap{background-color: #fff;width: 100%;border-radius: 5px; display: flex;text-align: center;margin-bottom: 20px;border:1px solid #dbdcdd;}
.tab_wrap li{flex-basis: calc(100%/2); position: relative;}
.tab_wrap li:after{position:absolute;content: "";width: 1px;height: 27px;background-color: #dbdcdd;right: 0;margin: 13px 0 0 0;}
.tab_wrap li:last-child:after{width: 0;}
.tab_wrap li button{width: 100%;padding: 13px 0;font-size: 18px;position:relative;z-index:1;}
.tab_wrap li.active{background-color: #46484a;}
.tab_wrap li.active:after{content:'';position:absolute;left:-1px;top:-1px;border:1px solid #697e9b;}
.tab_wrap li.active button{color: #fff;border:1px solid #46484a;background-color: #697e9b;}
.tab_wrap li.active button:after{content:'';position:absolute;left:-4px;top:-4px;width:100%;height:100%;border:4px solid #697e9b;border-radius: 5px;}

View File

@ -629,3 +629,12 @@ $(function(){
}
}
}
//tab 버튼
function TabWrap(obj){
var $tab = $(obj).closest("li");
$tab.addClass("active");
$tab.find("button").attr("title", "선택됨");
$tab.siblings("li.tab").removeClass("active");
$tab.siblings("li.tab").find("button").removeAttr("title");
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 69 KiB

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 67 KiB

After

Width:  |  Height:  |  Size: 158 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 190 KiB

After

Width:  |  Height:  |  Size: 195 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 145 KiB

After

Width:  |  Height:  |  Size: 162 KiB