495 lines
17 KiB
Plaintext
495 lines
17 KiB
Plaintext
<%--
|
|
Class Name : EgovNoticeInqire.jsp
|
|
Description : 게시물 조회 화면
|
|
Modification Information
|
|
|
|
수정일 수정자 수정내용
|
|
---------- -------- ---------------------------
|
|
2009.03.23 이삼섭 최초 생성
|
|
2009.06.26 한성곤 2단계 기능 추가 (댓글관리, 만족도조사)
|
|
2011.08.31 JJY 경량환경 버전 생성
|
|
2013.05.23 이기하 상세보기 오류수정
|
|
|
|
author : 공통서비스 개발팀 이삼섭
|
|
since : 2009.03.23
|
|
--%>
|
|
<%@ 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"%>
|
|
<%pageContext.setAttribute("crlf", "\r\n"); %>
|
|
<%pageContext.setAttribute("ltChar", "<"); %>
|
|
<%pageContext.setAttribute("gtChar", ">"); %>
|
|
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Language" content="ko">
|
|
<script type="text/javascript" src="<c:url value='/js/EgovBBSMng.js' />"></script>
|
|
<script type="text/javascript">
|
|
|
|
var isTotalPage = "${isTotalPage}";
|
|
|
|
function fn_egov_select_noticeList(pageNo) {
|
|
var url = "<c:url value='/cop/bbs/selectBoardList.do'/>";
|
|
if (isTotalPage == "Y") {
|
|
url = "<c:url value='/cop/bbs/SelectBbsContentsList.do'/>";
|
|
}
|
|
document.searchForm.action = url;
|
|
document.searchForm.submit();
|
|
}
|
|
|
|
function fn_egov_useY_notice() {
|
|
if (confirm('사용 처리 하시겠습니까?')) {
|
|
document.frm.action = "<c:url value='/cop/bbs/updateBoardArticleUseY.do'/>";
|
|
document.frm.submit();
|
|
}
|
|
}
|
|
|
|
function fn_egov_delete_notice() {
|
|
if (confirm('미사용 처리 하시겠습니까?')) {
|
|
document.frm.action = "<c:url value='/cop/bbs/deleteBoardArticle.do'/>";
|
|
document.frm.submit();
|
|
}
|
|
}
|
|
|
|
function fn_egov_moveUpdt_notice() {
|
|
document.searchForm.action = "<c:url value='/cop/bbs/forUpdateBoardArticle.do'/>";
|
|
document.searchForm.method = "get";
|
|
document.searchForm.submit();
|
|
}
|
|
|
|
function fn_egov_addReply() {
|
|
document.frm.action = "<c:url value='/cop/bbs/addReplyBoardArticle.do'/>";
|
|
document.frm.submit();
|
|
}
|
|
|
|
/*
|
|
window.onpageshow = function(event) {
|
|
if ( event.persisted || (window.performance && window.performance.navigation.type == 2)) {
|
|
alert('j BFCahe로부터 복원됨');
|
|
console.log('j BFCahe로부터 복원됨');
|
|
} else {
|
|
alert('j 새로 열린 페이지');
|
|
console.log('j 새로 열린 페이지');
|
|
}
|
|
}
|
|
*/
|
|
</script>
|
|
|
|
<!-- 댓글 작성 스크립트 -->
|
|
<c:if test="${brdMstrVO.addYn == 'Y'}">
|
|
<script type="text/javascript" src="<c:url value="/validator.do"/>"></script>
|
|
<validator:javascript formName="articleComment" staticJavascript="false" xhtml="true" cdata="false" />
|
|
<script type="text/javascript">
|
|
// 댓글 등록
|
|
function fn_egov_insert_commentList() {
|
|
var form = document.getElementById("articleCommentVO");
|
|
if (!validateArticleComment(form)) {
|
|
return;
|
|
}
|
|
|
|
//금지어 확인
|
|
var prohibitCheck = false;
|
|
var prohibitForm = document.getElementById("prohibitForm");
|
|
prohibitForm.checkProhibitCn.value = form.commentCn.value;
|
|
var data = new FormData(prohibitForm);
|
|
$.ajax({
|
|
type: "POST",
|
|
url: "/uss/ion/cnf/prohiCheckAjax.do",
|
|
async:false,
|
|
data: data,
|
|
dataType:'json',
|
|
processData: false,
|
|
contentType: false,
|
|
cache: false,
|
|
timeout: 600000,
|
|
success: function (returnData, status) {
|
|
if(status == 'success'){
|
|
if(returnData.result == 'fail'){
|
|
}else if(returnData.result == 'auth_fail'){
|
|
}else if(returnData.result =='success'){
|
|
if(null != returnData.prohibitVO.prohibitCn){
|
|
alert( returnData.prohibitVO.prohibitCn + " 단어는 금지어로 등록되어 있는 단어입니다." );
|
|
prohibitCheck = true;
|
|
}
|
|
}
|
|
}else{
|
|
//alert("등록에 실패하였습니다.");
|
|
}
|
|
},
|
|
error: function (e) {
|
|
//alert("등록에 실패하였습니다.");
|
|
}
|
|
});
|
|
|
|
if(prohibitCheck){
|
|
return;
|
|
}
|
|
|
|
|
|
if (confirm('<spring:message code="common.regist.msg" />')) {
|
|
form.submit();
|
|
}
|
|
}
|
|
|
|
// 댓글 수정
|
|
function fn_egov_updt_commentList(){
|
|
var form = document.getElementById("articleCommentVO");
|
|
if (!validateArticleComment(form)) {
|
|
return;
|
|
}
|
|
|
|
//금지어 확인
|
|
var prohibitCheck = false;
|
|
var prohibitForm = document.getElementById("prohibitForm");
|
|
prohibitForm.checkProhibitCn.value = form.commentCn.value;
|
|
var data = new FormData(prohibitForm);
|
|
$.ajax({
|
|
type: "POST",
|
|
url: "/uss/ion/cnf/prohiCheckAjax.do",
|
|
async:false,
|
|
data: data,
|
|
dataType:'json',
|
|
processData: false,
|
|
contentType: false,
|
|
cache: false,
|
|
timeout: 600000,
|
|
success: function (returnData, status) {
|
|
if(status == 'success'){
|
|
if(returnData.result == 'fail'){
|
|
}else if(returnData.result == 'auth_fail'){
|
|
}else if(returnData.result =='success'){
|
|
if(null != returnData.prohibitVO.prohibitCn){
|
|
alert( returnData.prohibitVO.prohibitCn + " 단어는 금지어로 등록되어 있는 단어입니다." );
|
|
prohibitCheck = true;
|
|
}
|
|
}
|
|
}else{
|
|
//alert("등록에 실패하였습니다.");
|
|
}
|
|
},
|
|
error: function (e) {
|
|
//alert("등록에 실패하였습니다.");
|
|
}
|
|
});
|
|
|
|
if(prohibitCheck){
|
|
return;
|
|
}
|
|
|
|
if (confirm('<spring:message code="common.update.msg" />')) {
|
|
form.modified.value = "true";
|
|
form.action = "<c:url value='/cop/cmt/updateArticleComment.do'/>";
|
|
form.submit();
|
|
}
|
|
}
|
|
|
|
// 댓글 수정 화면
|
|
function fn_egov_selectCommentForupdt(commentNo) {
|
|
|
|
var form = document.getElementById("articleCommentVO");
|
|
|
|
//form.subPageIndex.value = pageNo;
|
|
|
|
form.commentNo.value = commentNo;
|
|
form.action = "<c:url value='/cop/bbs/selectBoardArticle.do'/>";
|
|
form.submit();
|
|
}
|
|
|
|
// 댓글 삭제
|
|
function fn_egov_deleteCommentList(commentNo) {
|
|
|
|
var form = document.getElementById("articleCommentVO");
|
|
|
|
if (confirm('<spring:message code="common.delete.msg" />')) {
|
|
form.modified.value = "true";
|
|
form.commentNo.value = commentNo;
|
|
form.action = "<c:url value='/cop/cmt/deleteArticleComment.do'/>";
|
|
form.submit();
|
|
}
|
|
}
|
|
|
|
/* 댓글페이징 */
|
|
function fn_egov_select_commentList(pageNo) {
|
|
|
|
var form = document.getElementById("articleCommentVO");
|
|
|
|
form.subPageIndex.value = pageNo;
|
|
form.commentNo.value = '';
|
|
form.action = "<c:url value='/cop/bbs/selectBoardArticle.do'/>";
|
|
form.submit();
|
|
}
|
|
|
|
function fnSelectMber(mberId) {
|
|
document.modiForm.mberId.value = mberId;
|
|
window.open("about:blank", 'popupSelectMber', 'width=900, height=1800, top=100, left=100, fullscreen=no, menubar=no, status=no, toolbar=no, titlebar=yes, location=no, scrollbar=no');
|
|
document.modiForm.action = "<c:url value='/uss/umt/user/EgovGnrlselectedUserView.do'/>";
|
|
document.modiForm.target = "popupSelectMber";
|
|
document.modiForm.submit();
|
|
}
|
|
</script>
|
|
</c:if>
|
|
<!-- //댓글 작성 스크립트 -->
|
|
<title><c:out value='${result.bbsNm}' /> - 글 조회</title>
|
|
</head>
|
|
<body>
|
|
<div class="contWrap">
|
|
<div class="pageTitle">
|
|
<div class="pageIcon"><img src="/pb/img/pageTitIcon4.png" alt=""></div>
|
|
<h2 class="titType1 c_222222 fwBold"><c:out value='${result.bbsNm}' /> - 글 상세 (${brdMstrVO.menuNm})</h2>
|
|
<p class="tType6 c_999999">사이트별로 게시판을 생성할 수 있습니다.</p>
|
|
</div>
|
|
|
|
<div class="pageCont">
|
|
<form:form commandName="searchForm" name="searchForm" method="get" action="<c:url value='/cop/bbs/selectBoardList.do'/>">
|
|
<input name="pageIndex" type="hidden" value="<c:out value='${searchVO.pageIndex}'/>" />
|
|
<input name="searchCnd" type="hidden" value="<c:out value='${searchVO.searchCnd}'/>" />
|
|
<input name="searchWrd" type="hidden" value="<c:out value='${searchVO.searchWrd}'/>" />
|
|
<input name="bbsId" type="hidden" value="<c:out value='${result.bbsId}'/>" />
|
|
<input name="nttId" type="hidden" value="<c:out value='${result.nttId}'/>" />
|
|
</form:form>
|
|
|
|
<form name="frm" method="post" action="<c:url value='/cop/bbs/selectBoardList.do'/>">
|
|
<input type="hidden" name="pageIndex" value="<c:out value='${searchVO.pageIndex}'/>">
|
|
<input type="hidden" name="searchCnd" value="<c:out value='${searchVO.searchCnd}'/>" />
|
|
<input type="hidden" name="searchWrd" value="<c:out value='${searchVO.searchWrd}'/>" />
|
|
<input type="hidden" name="bbsId" value="<c:out value='${result.bbsId}'/>">
|
|
<input type="hidden" name="nttId" value="<c:out value='${result.nttId}'/>">
|
|
<input type="hidden" name="parnts" value="<c:out value='${result.parnts}'/>">
|
|
<input type="hidden" name="sortOrdr" value="<c:out value='${result.sortOrdr}'/>">
|
|
<input type="hidden" name="replyLc" value="<c:out value='${result.replyLc}'/>">
|
|
<input type="hidden" name="nttSj" value="<c:out value='${result.nttSj}'/>">
|
|
|
|
<div>
|
|
<table class="tbType2">
|
|
<colgroup>
|
|
<col style="width: 20%">
|
|
<col style="width: 80%">
|
|
</colgroup>
|
|
<tbody>
|
|
<tr>
|
|
<th>
|
|
${brdMstrVO.bbsTyCode eq 'BBST07' ? "항목" : brdMstrVO.menuNo eq '9510000' ? "질문" : "제목"}
|
|
</th>
|
|
<td>
|
|
<c:out value="${result.nttSj}" />
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<th>
|
|
${brdMstrVO.menuNo eq '9510000' ? "답변" : "내용"}
|
|
</th>
|
|
<td>
|
|
<div id="bbs_cn">
|
|
<c:set var="nttCn1" value="${fn:replace(result.nttCn , crlf , '<br/>')}" />
|
|
<c:set var="nttCn2" value="${fn:replace(nttCn1 , ltChar , '<')}" />
|
|
<c:set var="nttCn3" value="${fn:replace(nttCn2 , gtChar , '>')}" />
|
|
<c:out value="${nttCn3}" escapeXml="false" />
|
|
<%-- <c:out value="${fn:replace(result.nttCn , crlf , '<br/>')}" escapeXml="false" /> --%>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
<c:if test="${'BBST07' eq brdMstrVO.bbsTyCode }"><!-- 사전정보공표 -->
|
|
<tr>
|
|
<th>주기</th>
|
|
<td><c:out value="${result.pubPeriod}" /></td>
|
|
</tr>
|
|
<tr>
|
|
<th>시기</th>
|
|
<td><c:out value="${result.pubTime}" /></td>
|
|
</tr>
|
|
<tr>
|
|
<th>방법(링크)</th>
|
|
<td>
|
|
<c:if test="${!empty result.pubLinkTxt }">
|
|
(${result.pubLinkTxt} 게시판)
|
|
</c:if>
|
|
<c:out value="${result.pubLink}" />
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<th>담당부서</th>
|
|
<td><c:out value="${result.pubLoc}" /></td>
|
|
</tr>
|
|
</c:if>
|
|
|
|
<c:if test="${'BBSMSTR_000000000731' eq brdMstrVO.bbsId}"><!-- 인재채용 -->
|
|
<tr>
|
|
<th>이벤트 기간</th>
|
|
<td><c:out value="${fn:substring(result.ntceBgnde,0,4)}-${fn:substring(result.ntceBgnde,4,6)}-${fn:substring(result.ntceBgnde,6,8)}" />
|
|
~ <c:out value="${fn:substring(result.ntceEndde,0,4)}-${fn:substring(result.ntceEndde,4,6)}-${fn:substring(result.ntceEndde,6,8)}" /></td>
|
|
</tr>
|
|
</c:if>
|
|
<tr>
|
|
<th>등록ID</th>
|
|
<td>
|
|
<a href="#" onclick="javascript:fnSelectMber('<c:out value="${result.ntcrId}"/>'); return false;"><c:out value="${result.ntcrId}" /></a>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<th>등록자</th>
|
|
<td>
|
|
<span class="privateInfo"><c:out value="${result.frstRegisterNm}" /></span>
|
|
</td>
|
|
<c:if test="${brdMstrVO.bbsTyCode == 'BBST03'}">
|
|
<th>신고유형</th>
|
|
<td>
|
|
<c:out value="${result.reportTyNm}" />
|
|
</td>
|
|
</c:if>
|
|
</tr>
|
|
<tr>
|
|
<th>등록시간</th>
|
|
<td>
|
|
<c:out value="${result.frstRegisterPnttm}" />
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<th>조회수</th>
|
|
<td>
|
|
<c:out value="${result.inqireCo}" />
|
|
</td>
|
|
</tr>
|
|
<c:if test="${brdMstrVO.ipYn == 'Y'}">
|
|
<tr>
|
|
<th>등록자 IP</th>
|
|
<td>
|
|
<c:out value="${result.ntcrIp}" />
|
|
</td>
|
|
</tr>
|
|
</c:if>
|
|
<c:if test="${brdMstrVO.bbsTyCode == 'BBST05' || brdMstrVO.bbsTyCode == 'BBST06'}">
|
|
<tr>
|
|
<th>첨부이미지</th>
|
|
<td>
|
|
<c:import url="/cmm/fms/selectImageFileInfs.do" charEncoding="utf-8">
|
|
<c:param name="atchFileId" value="${result.atchFileId}" />
|
|
</c:import>
|
|
</td>
|
|
</tr>
|
|
</c:if>
|
|
<c:if test="${not empty result.atchFileId}">
|
|
<tr>
|
|
<th>첨부파일 목록</th>
|
|
<td>
|
|
<c:import url="/cmm/fms/selectBBSFileInfs.do" charEncoding="utf-8">
|
|
<c:param name="param_atchFileId" value="${result.atchFileId}" />
|
|
<c:param name="pdf_view" value="Y" />
|
|
</c:import>
|
|
</td>
|
|
</tr>
|
|
</c:if>
|
|
<!-- 링크 -->
|
|
<c:if test="${brdMstrVO.linkUrlYn == 'Y'}">
|
|
<tr>
|
|
<th>링크URL</th>
|
|
<td colspan="10"><c:out value="${result.linkUrl}" /></td>
|
|
</tr>
|
|
</c:if>
|
|
</tbody>
|
|
</table>
|
|
<!-- 버튼 시작(상세지정 style로 div에 지정) -->
|
|
<div class="btnWrap">
|
|
<input type="button" class="btnType2 bg_888888" value="목 록" onclick="javascript:fn_egov_select_noticeList(); return false;">
|
|
<!-- 답변기능 댓글로 대체 -->
|
|
<%-- <c:if test="${brdMstrVO.bbsTyCode !='BBST05' and brdMstrVO.bbsTyCode != 'BBST06' and brdMstrVO.bbsTyCode != 'BBST08' }">
|
|
<input type="button" class="btnType1" value="답글" onclick="javascript:fn_egov_addReply(); return false;">
|
|
</c:if> --%>
|
|
<input type="button" class="btnType1" value="수정" onclick="javascript:fn_egov_moveUpdt_notice(); return false;">
|
|
<c:choose>
|
|
<c:when test="${result.useAt == 'N' }">
|
|
<input type="button" class="btnType1" value="사용 처리" onclick="javascript:fn_egov_useY_notice(); return false;">
|
|
</c:when>
|
|
<c:otherwise>
|
|
<input type="button" class="btnType1" value="미사용 처리" onclick="javascript:fn_egov_delete_notice(); return false;">
|
|
</c:otherwise>
|
|
</c:choose>
|
|
|
|
</div>
|
|
<!-- 버튼 끝 -->
|
|
</div>
|
|
</form>
|
|
<!-- 윗글 아랫글 -->
|
|
|
|
<div class="listView">
|
|
<table class="tbType1"><!-- div class="up_bbs" -->
|
|
<colgroup>
|
|
<col style="width: 15%">
|
|
<col style="width: 85%">
|
|
</colgroup>
|
|
<tr>
|
|
<c:choose>
|
|
<c:when test="${empty nextNttIdNSj}">
|
|
<th>이전글</th>
|
|
<td class="setListnbTitle"><span class="setListTitle">이전글이 없습니다.</span></td>
|
|
<td><span class="dateCmmt"></span></td>
|
|
</c:when>
|
|
<c:otherwise>
|
|
<c:set var="nextNttId" value="${fn:split(nextNttIdNSj, '|')[0]}" />
|
|
<c:set var="nextNttSj" value="${fn:split(nextNttIdNSj, '|')[1]}" />
|
|
<c:set var="nextNttDt" value="${fn:split(nextNttIdNSj, '|')[2]}" />
|
|
<th>이전글</th>
|
|
<td class="setListnbTitle">
|
|
<span class="setListTitle">
|
|
<a href="<c:url value='/cop/bbs/selectBoardArticle.do'/>?bbsId=<c:out value='${result.bbsId}'/>&nttId=<c:out value='${nextNttId}'/>&isTotalPage=<c:out value='${isTotalPage}'/>">
|
|
<c:out value="${nextNttSj}" />
|
|
</a>
|
|
</span>
|
|
</td>
|
|
<td>
|
|
<span class="dateCmmt" style="width:120%;">${nextNttDt}</span>
|
|
</td>
|
|
</c:otherwise>
|
|
</c:choose>
|
|
</tr>
|
|
<tr>
|
|
<c:choose>
|
|
<c:when test="${empty prevNttIdNSj}">
|
|
<th>다음글</th> <!-- span class="down_arrow" -->
|
|
<td class="setListnbTitle"><span class="setListTitle">다음글이 없습니다.</span></td>
|
|
<td><span class="dateCmmt"></span></td>
|
|
</c:when>
|
|
<c:otherwise>
|
|
<c:set var="prevNttId" value="${fn:split(prevNttIdNSj, '|')[0]}" />
|
|
<c:set var="prevNttSj" value="${fn:split(prevNttIdNSj, '|')[1]}" />
|
|
<c:set var="prevNttDt" value="${fn:split(prevNttIdNSj, '|')[2]}" />
|
|
<th>다음글</th>
|
|
<td class="setListnbTitle">
|
|
<span class="setListTitle">
|
|
<a href="<c:url value='/cop/bbs/selectBoardArticle.do'/>?bbsId=<c:out value='${result.bbsId}'/>&nttId=<c:out value='${prevNttId}'/>&isTotalPage=<c:out value='${isTotalPage}'/>">
|
|
<c:out value="${prevNttSj}" />
|
|
</a>
|
|
</span>
|
|
</td>
|
|
<td>
|
|
<span class="dateCmmt" style="width:120%;">${prevNttDt}</span>
|
|
</td>
|
|
</c:otherwise>
|
|
</c:choose>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
|
|
|
|
<!-- 댓글 -->
|
|
<c:if test="${brdMstrVO.addYn == 'Y'}">
|
|
<c:import url="/cop/cmt/selectArticleCommentList.do?isTotalPage=${isTotalPage}" charEncoding="utf-8">
|
|
<c:param name="siteId" value="${brdMstrVO.siteId}" />
|
|
</c:import>
|
|
</c:if>
|
|
</div>
|
|
</div>
|
|
<!-- //content 끝 -->
|
|
<c:import url="/uss/umt/IncInfoProtect.do" />
|
|
|
|
<form name="modiForm" id="modiForm" method="post">
|
|
<input name="mberId" type="hidden" />
|
|
</form>
|
|
|
|
</body>
|
|
</html>
|
|
|