이지우 - 사용자 기소유예 교육문의 메뉴 추가 및 FAQ 기능 추가, 신청목록 메뉴 삭제
This commit is contained in:
parent
0a64e322e7
commit
6e3fabfd5e
@ -25,6 +25,8 @@ import kcc.com.cmm.service.impl.CmmUseDAO;
|
||||
import kcc.com.cmm.util.StringUtil;
|
||||
import kcc.com.utl.user.service.CheckFileUtil;
|
||||
import kcc.com.utl.user.service.CheckLoginUtil;
|
||||
import kcc.let.cop.bbs.service.BoardVO;
|
||||
import kcc.let.cop.bbs.service.EgovBBSManageService;
|
||||
import kcc.let.uat.uia.service.SsoLoginVO;
|
||||
import kcc.let.uss.notify.service.NotifyManageService;
|
||||
import kcc.let.uss.olp.qri.service.QustnrRespondInfoVO;
|
||||
@ -164,6 +166,9 @@ public class SspnIdtmtController {
|
||||
|
||||
@Resource(name = "NotifyManageService")
|
||||
private NotifyManageService notifyManageService;
|
||||
|
||||
@Resource(name = "EgovBBSManageService")
|
||||
private EgovBBSManageService bbsMngService;
|
||||
|
||||
/**
|
||||
* 대시보드 임시
|
||||
@ -887,6 +892,42 @@ public class SspnIdtmtController {
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 교육문의
|
||||
*/
|
||||
@RequestMapping("/web/ve/aplct/sspnIdtmt/eduFAQList.do")
|
||||
public String eduFAQList(
|
||||
@ModelAttribute("vEPrcsDetailVO") VEPrcsDetailVO vEPrcsDetailVO
|
||||
, ModelMap model
|
||||
, HttpServletRequest request ) throws Exception {
|
||||
//로그인 처리====================================
|
||||
LoginVO loginVO = checkLoginUtil.getAuthLoginVO(); //권한에 따른 로그인 정보 가져오기
|
||||
SsoLoginVO ssoLoginVO = checkLoginUtil.getSSOLoginVO(request); //SSO 로그인 정보 가져오기
|
||||
|
||||
if (loginVO == null || ssoLoginVO == null) {
|
||||
//이전 url 처리(beforeSiteUrl)_이준호_220228추가
|
||||
return checkLoginUtil.getUserLoginPage(model, request); //로그인 정보가 없으면 로그인 페이지로 이동한다.
|
||||
}
|
||||
//로그인 처리====================================
|
||||
|
||||
//FAQ 조회
|
||||
BoardVO boardVO = new BoardVO();
|
||||
boardVO.setBbsId("BBSMSTR_000000000030"); //기소유예 FAQ bbsID
|
||||
boardVO.setFirstIndex(0); //페이징 미처리
|
||||
boardVO.setRecordCountPerPage(1000); //페이징 미처리
|
||||
Map<String, Object> map = bbsMngService.selectBoardArticlesWeb(boardVO, null);
|
||||
List<BoardVO> resultList = (List<BoardVO>)map.get("resultList");
|
||||
model.addAttribute("FAQList", resultList);
|
||||
//Q&A 조회
|
||||
vEPrcsDetailVO.setQnaRegist(loginVO.getUniqId());
|
||||
vEPrcsDetailVO.setLctrDivCd("60"); //기소유예 구분값
|
||||
List<VEPrcsDetailVO> vEPrcsDetailQnaVOList = fndtnEnhanceTrnService.selectVeEduQna(vEPrcsDetailVO);
|
||||
model.addAttribute("qnaList", vEPrcsDetailQnaVOList);
|
||||
|
||||
return "/web/ve/aplct/sspnIdtmt/eduFAQList";
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
//
|
||||
|
||||
@ -0,0 +1,306 @@
|
||||
<%@ page contentType="text/html; charset=utf-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
|
||||
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ taglib prefix="ve" uri="/WEB-INF/tlds/kcc_tld.tld"%>
|
||||
<%@ taglib prefix="un" uri="http://jakarta.apache.org/taglibs/unstandard-1.0" %>
|
||||
<%@ taglib prefix="kc" uri="/WEB-INF/tlds/kcc_tld.tld"%>
|
||||
<un:useConstants var="VeConstants" className="kcc.ve.cmm.VeConstants" />
|
||||
<title>교육신청 목록 > 성인 찾아가는 저작권 교육 > 한국저작권위원회 저작권 교육 시스템</title>
|
||||
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||
<script type="text/javaScript" language="javascript">
|
||||
function linkPage(pageNo){
|
||||
var listForm = document.listForm ;
|
||||
listForm.pageIndex.value = pageNo ;
|
||||
listForm.action = "<c:url value='/web/ve/aplct/adultVisitEdu/eduAplct/eduAplctList.do'/>";
|
||||
listForm.submit();
|
||||
}
|
||||
|
||||
function goWrite(){
|
||||
$("#listForm").attr("action","${pageContext.request.contextPath}/web/ve/aplct/adultVisitEdu/eduAplct/eduAplctReg.do").submit();
|
||||
}
|
||||
|
||||
|
||||
function fncGoDetail(prcsAplctPrdOrd){
|
||||
var viewForm = document.viewForm ;
|
||||
viewForm.prcsAplctPrdOrd.value = prcsAplctPrdOrd ;
|
||||
viewForm.action = "<c:url value='/web/ve/aplct/sspnIdtmt/eduAplctDetail.do'/>";
|
||||
viewForm.submit();
|
||||
}
|
||||
|
||||
|
||||
function fncGoList(){
|
||||
linkPage(1);
|
||||
}
|
||||
|
||||
function fncReset(thisObj){
|
||||
var targetObj = $(thisObj).closest('.list_top').find('select,input');
|
||||
$.each(targetObj, function(){
|
||||
$(this).val('');
|
||||
});
|
||||
}
|
||||
//FAQ 답변 open&close
|
||||
function faqOpen(item) {
|
||||
if($(item).is(".slide_open") == true) {
|
||||
$(item).removeClass("slide_open");
|
||||
$(item).next(".answer").slideUp(300);
|
||||
$(item).attr("title","답변 열기");
|
||||
} else {
|
||||
$(item).addClass("slide_open");
|
||||
$(item).next(".answer").slideDown(300);
|
||||
$(item).attr("title","답변 닫기");
|
||||
$(item).closest("li").siblings("li").children(".question").removeClass("slide_open");
|
||||
$(item).closest("li").siblings("li").children(".answer").slideUp(300);
|
||||
$(item).closest("li").siblings("li").children(".question").attr("title","답변 열기");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function fn_qnaReg(){
|
||||
if(!confirm("문의 등록을 하시겠습니까?")){
|
||||
$('#qnaCn').val('');
|
||||
$('.btn_popup_close').click();
|
||||
return false;
|
||||
}
|
||||
|
||||
var data = new FormData(document.getElementById("qnaForm"));
|
||||
|
||||
var url = "${pageContext.request.contextPath}/web/ve/aplct/sspnIdtmt/qnaRegAjax.do";
|
||||
$.ajax({
|
||||
type:"POST",
|
||||
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"){
|
||||
// 대상자 테이블 pk 값
|
||||
var sspnIdtmtTrgtOrd = returnData.id;
|
||||
alert(returnData.msg);
|
||||
}else{
|
||||
alert(returnData.msg);
|
||||
}
|
||||
// fn_target_confirm_clean();
|
||||
location.reload();
|
||||
},
|
||||
error:function(request , status, error){
|
||||
alert("code:"+request.status+"\n"+"message:"+request.responseText+"\n"+"error:"+error);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
$('#target_confirm_popup-close').click();
|
||||
}
|
||||
|
||||
function fn_goListForm(data){
|
||||
var form = document.goListForm ;
|
||||
form.searchStatus.value = data ;
|
||||
form.submit();
|
||||
|
||||
}
|
||||
|
||||
//설문 팝업
|
||||
function fncQustnrList(
|
||||
id //aplctOrd
|
||||
, chId //chasiOrd
|
||||
, p_site_id_cd //10,20,30
|
||||
, p_action //select, insert
|
||||
, p_qustnrTmplatId //select, insert
|
||||
, p_qestnrId //select, insert
|
||||
, p_qustnrRespondId //select, insert
|
||||
) {
|
||||
|
||||
paramObj = {
|
||||
"eduAplctOrd" : id
|
||||
,"eduChasiOrd" : chId
|
||||
,"siteIdCd" : p_site_id_cd
|
||||
,"siteId" : "60" //설문정보를 위해서 설문지의 대상값을 넣는다. VE0011 10-청소년, 20-성인,30-체험, 40-외부, 50-기반, 60-기소
|
||||
|
||||
,"action" : p_action
|
||||
|
||||
,"qustnrTmplatId" : p_qustnrTmplatId
|
||||
,"qestnrId" : p_qestnrId
|
||||
,"qustnrRespondId" : p_qustnrRespondId
|
||||
};
|
||||
|
||||
commonPopLayeropen(
|
||||
//"${pageContext.request.contextPath}/web/ve/aplct/cpyrgExprnClsrm/scholInfo/popup/qustnrPopList.do"
|
||||
"${pageContext.request.contextPath}/web/ve/aplct/cpyrgExprnClsrm/scholInfo/popup/qustnrFndtnPopList.do"
|
||||
, 800
|
||||
, 700
|
||||
, paramObj
|
||||
, "Y"
|
||||
, "QustnrList"
|
||||
);
|
||||
}
|
||||
</script>
|
||||
|
||||
<!-- content -->
|
||||
<div class="cont_wrap" id="sub">
|
||||
<form id="goListForm" name="goListForm" action="<c:url value="/web/ve/aplct/sspnIdtmt/sspnIdtmtEduAplctList.do" />" method="post">
|
||||
<input type="hidden" id="searchStatus" name="searchStatus" />
|
||||
</form>
|
||||
<form name="viewForm" id="viewForm">
|
||||
<input type="hidden" name="prcsAplctPrdOrd">
|
||||
</form>
|
||||
<form:form id="listForm" name="listForm" commandName="vEEduAplctVO">
|
||||
<input type="hidden" name="pageIndex" value="<c:out value='${vEEduAplctVO.pageIndex}' default='1' />"/>
|
||||
<input type="hidden" name="searchSortCnd" value="<c:out value="${vEEduAplctVO.searchSortCnd}" />" />
|
||||
<input type="hidden" name="searchSortOrd" value="<c:out value="${vEEduAplctVO.searchSortOrd}" />" />
|
||||
|
||||
|
||||
<!--FAQ 내용 있을때-->
|
||||
<div class="q_wrap">
|
||||
<div class="btn_wrap btn_layout01">
|
||||
<div class="tb_tit02">
|
||||
<div class="tb_tit02_left">
|
||||
<div class="t_best q_title">FAQ</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<c:if test="${not empty FAQList}">
|
||||
<div class="tb_list02">
|
||||
<div class="faq_wrap">
|
||||
<ul class="faq">
|
||||
<c:forEach var="FAQList" items="${FAQList}" varStatus="status">
|
||||
<li <c:if test="${status.index == 0}"> class='first' </c:if>>
|
||||
<button type="button" title="답변 열기" class="question" onclick="faqOpen(this);">
|
||||
<p class="qst_text"><span>질문</span>Q</p>
|
||||
<div>
|
||||
<p class="qst_cont">${FAQList.nttSj}</p>
|
||||
<p class="date">${FAQList.frstRegisterPnttm}</p>
|
||||
</div>
|
||||
</button>
|
||||
|
||||
<div class="answer">
|
||||
<div class="answer_in">
|
||||
<p class="qst_text"><span>답변</span>A</p>
|
||||
<div>
|
||||
<p class="awr_cont">${FAQList.nttCn }</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</c:forEach>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</c:if>
|
||||
<c:if test="${empty FAQList}">
|
||||
<div class="q_text">
|
||||
- 내용이 없습니다.
|
||||
</div>
|
||||
</c:if>
|
||||
</div>
|
||||
|
||||
<!--Q&A 내용 있을때-->
|
||||
<div class="q_wrap">
|
||||
<div class="btn_wrap btn_layout01">
|
||||
<div class="tb_tit02">
|
||||
<div class="tb_tit02_left">
|
||||
<div class="t_best q_title">Q&A</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="btn_right">
|
||||
<button type="button" class="btnType04" data-tooltip="target_confirm_popup">교육문의</button>
|
||||
</div>
|
||||
</div>
|
||||
<c:if test="${not empty qnaList}">
|
||||
<div class="tb_list02">
|
||||
<div class="faq_wrap">
|
||||
<ul class="faq">
|
||||
<c:forEach var="list" items="${qnaList}" varStatus="status">
|
||||
<li <c:if test="${status.index == 0}"> class='first' </c:if>>
|
||||
<button type="button" title="답변 열기" class="question" onclick="faqOpen(this);">
|
||||
<p class="qst_text"><span>질문</span>Q</p>
|
||||
<div>
|
||||
<p class="qst_cont">${list.qnaCn }</p>
|
||||
<p class="date">${list.frstRegistPnttm }</p>
|
||||
</div>
|
||||
</button>
|
||||
|
||||
<div class="answer">
|
||||
<div class="answer_in">
|
||||
<p class="qst_text"><span>답변</span>A</p>
|
||||
<c:choose>
|
||||
<c:when test="${not empty list.qnaAnswerCn }">
|
||||
<div>
|
||||
<p class="awr_cont">${list.qnaAnswerCn }</p>
|
||||
<p class="date">${list.lastUpdtPnttm }</p>
|
||||
</div>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<p class="awr_cont">내용이 없습니다.</p>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
</c:forEach>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</c:if>
|
||||
<c:if test="${empty qnaList}">
|
||||
<div class="q_text">
|
||||
- 내용이 없습니다.
|
||||
</div>
|
||||
</c:if>
|
||||
</div>
|
||||
|
||||
</form:form>
|
||||
</div>
|
||||
|
||||
|
||||
<form id="qnaForm" name="qnaForm" method="post">
|
||||
<!-- 교육대상자 확인 -->
|
||||
<div class="tooltip-wrap q_pop">
|
||||
<div class="popup_wrap popType01" tabindex="0" data-tooltip-con="target_confirm_popup" data-focus="target_confirm_popup" data-focus-prev="target_confirm_popup_close">
|
||||
<div class="popup_tit">
|
||||
<p>교육문의하기</p>
|
||||
<button class="btn_popup_close tooltip-close" data-focus="target_confirm_popup_close" title="팝업 닫기"><i></i></button>
|
||||
</div>
|
||||
<div class="popup_cont">
|
||||
<div class="cont_body">
|
||||
<div class="pop_tb_type01" style="overflow:visible;">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>문의내용</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<textarea type="text" id="qnaCn" name="qnaCn" style="height: 220px;width: 100%;"></textarea>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="pop_btn_wrap btn_layout01">
|
||||
<div class="btn_left">
|
||||
</div>
|
||||
<div class="btn_center">
|
||||
<button type="button" class="btnType05" onclick="fn_qnaReg()">문의</button>
|
||||
<button type="button" class="btnType02 tooltip-close" id="target_confirm_popup-close" data-focus="target_confirm_popup-close" data-focus-next="target_confirm_popup">취소</button>
|
||||
</div>
|
||||
<div class="btn_right">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!--// 신청 클릭 > 기소유예 대상자 확인 팝업 -->
|
||||
</form>
|
||||
@ -169,16 +169,16 @@
|
||||
|
||||
<div class="tb_tit02">
|
||||
<div class="tb_tit02_left">
|
||||
<div class="t_best">최근 교육 목록</div>
|
||||
<div class="t_best">교육 신청 목록</div>
|
||||
</div>
|
||||
<div class="btn_wrap1">
|
||||
<button type="button" title="최근 교육 목록 더보기" class="con_more" onclick="location.href='<c:url value="/web/ve/aplct/sspnIdtmt/sspnIdtmtEduAplctList.do"/>'">더보기</button>
|
||||
<button type="button" title="교육 신청 목록 더보기" class="con_more" onclick="location.href='<c:url value="/web/ve/aplct/sspnIdtmt/sspnIdtmtEduAplctList.do"/>'">더보기</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tb_list02">
|
||||
<table>
|
||||
<caption>최근 교육 목록표</caption>
|
||||
<caption>교육 신청 목록표</caption>
|
||||
<colgroup>
|
||||
<col style="width:35%;">
|
||||
<col style="width:;">
|
||||
@ -301,9 +301,6 @@
|
||||
<div class="tb_tit02_left">
|
||||
<div class="t_best q_title">Q&A</div>
|
||||
</div>
|
||||
<div class="btn_wrap1">
|
||||
<button type="button" title="최근 교육 목록 더보기" class="con_more" onclick="location.href='/offedu/web/ve/aplct/fndtnEnhanceTrn/fndtnEduAplctList.do'">더보기</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="btn_right">
|
||||
<button type="button" class="btnType04" data-tooltip="target_confirm_popup">교육문의</button>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user