메인화면 중간 백업 및 css 적용

This commit is contained in:
KNKIM 2021-11-12 11:36:21 +09:00
parent c036e744c7
commit 1b59d51946
9 changed files with 96 additions and 256 deletions

View File

@ -1,5 +1,6 @@
package nlib.cmm.web;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@ -19,8 +20,10 @@ import org.springframework.web.bind.annotation.RequestMapping;
import nlib.cmm.NlibCommonController;
import nlib.cmm.service.CodeService;
import nlib.cmm.service.MainService;
import nlib.cmm.service.NlibProperty;
import nlib.cmm.service.NotificationService;
import nlib.col.service.CartService;
import nlib.col.service.CollectionVO;
import nlib.util.StringUtil;
/**
@ -84,9 +87,26 @@ public class MainController extends NlibCommonController {
// 유형별 인기자료
List<Map<String, String>> listTypeDivCodes = codeService.listTypeDivCodes();
List<CollectionVO> listPops = new ArrayList<CollectionVO>();
if(listTypeDivCodes != null) {
Map<String, String> itemMap = null;
String typeDivCd = null;
for(int i = (listTypeDivCodes.size() - 1); i>=0; i--) {
itemMap = listTypeDivCodes.get(i);
typeDivCd = itemMap.get("typeDivCd");
List<CollectionVO> listPopsTemp = mainService.listPops(mngOrgCd, typeDivCd);
if(listPopsTemp == null || listPopsTemp.size() < 1) {
listTypeDivCodes.remove(i);
continue;
}
for(CollectionVO col : listPopsTemp) {
listPops.add(col);
}
}
}
model.addAttribute("listPops", listPops);
model.addAttribute("listTypeDivCodes", listTypeDivCodes);
String typeDivCd = (listTypeDivCodes == null || listTypeDivCodes.size() < 1 ? null : listTypeDivCodes.get(0).get("typeDivCd"));
model.addAttribute("listPops", mainService.listPops(mngOrgCd, typeDivCd));
// 온라인자료관
model.addAttribute("listOnline", mainService.listOnline(mngOrgCd));
@ -130,6 +150,7 @@ public class MainController extends NlibCommonController {
model.addAttribute("cartCnt", cartCnt);
model.addAttribute("unreadNotiCnt", unreadNotiCnt);
model.addAttribute("docViewUrl", NlibProperty.getString("pdf.url"));
return "nlib/cmm/headerSubPart";
}

View File

@ -273,7 +273,7 @@ public class LoginController extends NlibCommonController {
log.debug("googleLogin.getOAuthURL() = "+googleLogin.getOAuthURL(encCouncilJsessionId));
model.addAttribute("googleUrl", googleLogin.getOAuthURL(encCouncilJsessionId));
OAuthLogin kakaoLogin = new OAuthLogin(kakaoAuthVO, OAuthLogin.CALL_TYPE_LOGIN, councilJsessionId);
OAuthLogin kakaoLogin = new OAuthLogin(kakaoAuthVO, callType, councilJsessionId);
log.debug("kakaoLogin.getOAuthURL() = "+kakaoLogin.getOAuthURL(encCouncilJsessionId));
model.addAttribute("kakaoUrl", kakaoLogin.getOAuthURL(encCouncilJsessionId));

View File

@ -106,6 +106,8 @@
, (SELECT CLSF_NM FROM CT_CLSF WHERE CLSF_ID = CAST(M.SUBJECT_CODE AS CHAR(35)))
) AS SUBJECT_NM
, M.MOD_DD
, M.ORG_NM
, M.CREAT_YYYY
FROM RG_MASTER M
LEFT OUTER JOIN SM_CODE_S C1 ON M.TYPE_DIV_CD = C1.S_CODE_ID AND C1.L_CODE_ID = 'MASTER_TYPE_DIV_CD'
LEFT OUTER JOIN SM_CODE_S C2 ON M.DTLS_TYPE_DIV_CD = C2.S_CODE_ID AND C2.L_CODE_ID = 'DTLS_TYPE_DIV_CD'
@ -120,7 +122,7 @@
AND IFNULL(M.BOOKCASE_ID, '') != '' /* 서가아이디 존재 */
AND M.DIGITAL_READ_YN = 'Y' /* 디지탈열람여부 */
ORDER BY M.MOD_DD DESC
LIMIT 10
LIMIT 4
]]>
</select>
@ -146,6 +148,10 @@
, (SELECT CLSF_NM FROM CT_CLSF WHERE CLSF_ID = CAST(M.SUBJECT_CODE AS CHAR(35)))
) AS SUBJECT_NM
, M.MOD_DD
, M.ORG_NM
, M.CREAT_YYYY
, M.RPRS_THUMB_URL
, IFNULL(M.M_INTERFACE_ID, IFNULL(M.INTERFACE_ID, '')) AS INTERFACE_ID
FROM RG_MASTER M
LEFT OUTER JOIN SM_CODE_S C1 ON M.TYPE_DIV_CD = C1.S_CODE_ID AND C1.L_CODE_ID = 'MASTER_TYPE_DIV_CD'
LEFT OUTER JOIN SM_CODE_S C2 ON M.DTLS_TYPE_DIV_CD = C2.S_CODE_ID AND C2.L_CODE_ID = 'DTLS_TYPE_DIV_CD'
@ -155,7 +161,8 @@
AND M.USE_FLAG = 'Y'
AND IFNULL(M.PE_STATUS, '') = '' /* 보존상태 */
AND M.DIGITAL_READ_YN = 'Y' /* 디지탈열람여부 */
AND IFNULL(M.M_INTERFACE_ID, '') = '' /* 미디어인터페이스ID */
/* AND IFNULL(M.RPRS_THUMB_URL, '') != '' */ /* 썸네일존재하는 건 */
AND IFNULL(M.M_INTERFACE_ID, IFNULL(M.INTERFACE_ID, '')) != ''/* IF존재하는 건 */
ORDER BY M.MOD_DD DESC
LIMIT 10
]]>

View File

@ -194,8 +194,8 @@ shorturl.api = https://local-dev.nculture.org/yourls-api.php?signature=d48a5ab90
#shorturl.api = https://local.nculture.org/yourls-api.php?signature=6882eb3237
#\uc6d0\ubb38\ubcf4\uae30 (PDF)
# \uac1c\ubc1c
pdf.uri = https://port-dev.nculture.org/npdfView.do?npdf=I
# \uc6b4\uc601
#pdf.uri = https://port-dev.nculture.org/npdfView.do?npdf=
# \uc6d0\ubb38\ubcf4\uae30 (PDF)
# \uac1c\ubc1c (\ud604\uc7ac)
pdf.url = https://port-dev.nculture.org/npdfView.do?npdf=I
# \uac1c\ubc1c (\ucd94\ud6c4)
#pdf.url = https://port-dev.nculture.org/npdfView.do?npdf=N

View File

@ -10,6 +10,9 @@ String councilCd = (String)session.getAttribute("councilCd");
String councilNm = (String)session.getAttribute("councilNm");
%>
<script>
$(document).ready(function() {
DOC_VIEW_URL = "${docViewUrl}";
});
function goSearch(){
document.searchHeaderForm.submit();

View File

@ -29,7 +29,11 @@ function fn_search(keyword) {
return;
}
function fn_listPops(typeDivCd) {
$("div.tab_content div.tabs_item").hide();
$("#listPops_" + typeDivCd).show();
}
</script>
<!-- 섹션1 -->
@ -105,9 +109,9 @@ function fn_search(keyword) {
<div class="swiper-slide">
<div class="list-box">
<div class="images"><a href="javascript:void(0)" onclick="gfn_getDetail('${itemPick.masterId }')" title="상세조회"><img src="${itemPick.rprsThumbUrlWithDefault }" alt=""></a></div>
<div class="images"><a href="javascript:void(0)" onclick="gfn_getDetail('${itemPick.masterId }')" title="상세조회"><img src="${itemPick.rprsThumbUrlWithDefault }" alt="상세조회"></a></div>
<div class="subject">
<a href="/" title="">
<a href="javascript:void(0)" onclick="gfn_getDetail('${itemPick.masterId }')" title="상세조회">
<span class="block"><span class="cla">${itemPick.typeDivNm }</span></span>
<span class="tit underline pink">${itemPick.title }</span>
</a>
@ -139,6 +143,7 @@ function fn_search(keyword) {
</section>
<!-- 섹션5 -->
<c:if test="${fn:length(listTypeDivCodes) > 0 }">
<section class="sec5">
<h2 class="blind">인기자료 섹션영역</h2>
<div class="inner">
@ -146,93 +151,41 @@ function fn_search(keyword) {
<p class="desc">자료유형별로 이런 인기자료들이 있어요!</p>
<div class="tab">
<ul class="tabs">
<li><a href="#">문서</a></li>
<li><a href="#">도면/지도</a></li>
<li><a href="#">사진필름류</a></li>
<li><a href="#">녹음동영상</a></li>
<li><a href="#">도서간행물</a></li>
<li><a href="#">박물</a></li>
<li><a href="#">웹정보자료</a></li>
<c:forEach var="itemTypeDivCode" items="${listTypeDivCodes }">
<li><a href="javascript:void(0)" onclick="javascript:fn_listPops('${itemTypeDivCode.typeDivCd}')">${itemTypeDivCode.typeDivNm}</a></li>
</c:forEach>
</ul>
<div class="tab_content">
<div class="tabs_item">
<c:forEach var="itemTypeDivCode" items="${listTypeDivCodes }">
<div class="tabs_item" id="listPops_${itemTypeDivCode.typeDivCd}">
<ul>
<c:forEach var="itemPop" items="${listPops }">
<c:if test='${itemPop.typeDivCd eq itemTypeDivCode.typeDivCd }'>
<li>
<div class="con-1">
<div class="block"><span class="cla">문서</span></div>
<div class="tit underline pink">국역 경주읍지</div>
<div class="block"><span class="cla">${itemPop.typeDivNm }</span></div>
<div class="tit underline pink" onclick="gfn_getDetail('${itemPop.masterId}')">${itemPop.title }</div>
</div>
<div class="con-2">
<p class="sub"><span>주제분야</span><span>자연과지리 &gt; 자연환경</span></p>
<p class="age"><span>생산기관</span><span>경북경주문화원</span></p>
<p class="yea"><span>생산년도</span><span>2003</span></p>
</div>
</li>
<li>
<div class="con-1">
<div class="block"><span class="cla">문서</span></div>
<div class="tit underline pink">慶州文化論叢(경주문화논총)/제20집</div>
</div>
<div class="con-2">
<p class="sub"><span>주제분야</span><span>문화유산 &gt; 선사 유적 및 유물</span></p>
<p class="age"><span>생산기관</span><span>경북경주문화원</span></p>
<p class="yea"><span>생산년도</span><span>2017</span></p>
</div>
</li>
<li>
<div class="con-1">
<div class="block"><span class="cla">문서</span></div>
<div class="tit underline pink">慶州지방 古書 調査 目錄 (경주지방 고서</div>
</div>
<div class="con-2">
<p class="sub"><span>주제분야</span><span>자연과지리 &gt; 자연환경</span></p>
<p class="age"><span>생산기관</span><span>경북경주문화원</span></p>
<p class="yea"><span>생산년도</span><span>2017</span></p>
</div>
</li>
<li>
<div class="con-1">
<div class="block"><span class="cla">문서</span></div>
<div class="tit underline pink">경주문화원 50년사</div>
</div>
<div class="con-2">
<p class="sub"><span>주제분야</span><span>자연과지리 &gt; 자연환경</span></p>
<p class="age"><span>생산기관</span><span>경북경주문화원</span></p>
<p class="yea"><span>생산년도</span><span>2014</span></p>
<p class="sub"><span>주제분야</span><span><c:if test="${empty itemPop.subjectNm }">-</c:if>${itemPop.subjectNm }</span></p>
<p class="age"><span>생산기관</span><span><c:if test="${empty itemPop.orgNm }">-</c:if>${itemPop.orgNm }</span></p>
<p class="yea"><span>생산년도</span><span><c:if test="${empty itemPop.creatYyyy }">-</c:if>${itemPop.creatYyyy }</span></p>
</div>
</li>
</c:if>
</c:forEach>
</ul>
</div>
<div class="tabs_item">
02
</div>
<div class="tabs_item">
03
</div>
<div class="tabs_item">
04
</div>
<div class="tabs_item">
05
</div>
<div class="tabs_item">
06
</div>
<div class="tabs_item">
07
</div>
</c:forEach>
</div>
</div>
</div>
</section>
</c:if>
<!-- 섹션6 -->
<c:if test="${fn:length(listOnline) > 0 }">
<section class="sec6">
<h2 class="blind">온라인자료관 섹션영역</h2>
<div class="inner">
@ -241,175 +194,23 @@ function fn_search(keyword) {
<!-- Swiper -->
<div class="swiper onlineSwiper">
<div class="swiper-wrapper items cover">
<c:forEach var="itemOnline" items="${listOnline }">
<div class="swiper-slide">
<div class="List">
<div class="inner">
<div class="thumbnail">
<span class="image-frame"><img src="/images/img/img-sec6-01.jpg" alt=""/></span>
<span class="image-frame"><img src="${itemOnline.rprsThumbUrlWithDefault }" alt="상세조회" /></span>
<div class="detail-cover">
<strong>2011 신라문화스토리텔러 교육교재 이론</strong>
<strong>${itemOnline.title }</strong>
<ul>
<li><em>주제유형</em>도서간행물</li>
<li><em>주제유형</em><c:if test="${empty itemOnline.subjectNm }">-</c:if>${itemOnline.subjectNm }</li>
<li><em>주제분야</em>문화유산</li>
<li><em>생산기관</em>마포문화원</li>
<li><em>생산년도</em>미상</li>
<li><em>생산기관</em><c:if test="${empty itemOnline.orgNm }">-</c:if>${itemOnline.orgNm }</span></li>
<li><em>생산년도</em><c:if test="${empty itemOnline.creatYyyy }">-</c:if>${itemOnline.creatYyyy }</li>
</ul>
<div class="btn-box">
<div class="view"><a href="#">원문보기</a></div>
<div class="RIS"><a href="#">RIS</a></div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="swiper-slide">
<div class="List">
<div class="inner">
<div class="thumbnail">
<span class="image-frame"><img src="/images/img/img-sec6-01.jpg" alt=""/></span>
<div class="detail-cover">
<strong>2011 신라문화스토리텔러 교육교재 이론</strong>
<ul>
<li><em>주제유형</em>도서간행물</li>
<li><em>주제분야</em>문화유산</li>
<li><em>생산기관</em>마포문화원</li>
<li><em>생산년도</em>미상</li>
</ul>
<div class="btn-box">
<div class="view"><a href="#">원문보기</a></div>
<div class="RIS"><a href="#">RIS</a></div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="swiper-slide">
<div class="List">
<div class="inner">
<div class="thumbnail">
<span class="image-frame"><img src="/images/img/img-sec6-01.jpg" alt=""/></span>
<div class="detail-cover">
<strong>2011 신라문화스토리텔러 교육교재 이론</strong>
<ul>
<li><em>주제유형</em>도서간행물</li>
<li><em>주제분야</em>문화유산</li>
<li><em>생산기관</em>마포문화원</li>
<li><em>생산년도</em>미상</li>
</ul>
<div class="btn-box">
<div class="view"><a href="#">원문보기</a></div>
<div class="RIS"><a href="#">RIS</a></div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="swiper-slide">
<div class="List">
<div class="inner">
<div class="thumbnail">
<span class="image-frame"><img src="/images/img/img-sec6-01.jpg" alt=""/></span>
<div class="detail-cover">
<strong>2011 신라문화스토리텔러 교육교재 이론</strong>
<ul>
<li><em>주제유형</em>도서간행물</li>
<li><em>주제분야</em>문화유산</li>
<li><em>생산기관</em>마포문화원</li>
<li><em>생산년도</em>미상</li>
</ul>
<div class="btn-box">
<div class="view"><a href="#">원문보기</a></div>
<div class="RIS"><a href="#">RIS</a></div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="swiper-slide">
<div class="List">
<div class="inner">
<div class="thumbnail">
<span class="image-frame"><img src="/images/img/img-sec6-01.jpg" alt=""/></span>
<div class="detail-cover">
<strong>2011 신라문화스토리텔러 교육교재 이론</strong>
<ul>
<li><em>주제유형</em>도서간행물</li>
<li><em>주제분야</em>문화유산</li>
<li><em>생산기관</em>마포문화원</li>
<li><em>생산년도</em>미상</li>
</ul>
<div class="btn-box">
<div class="view"><a href="#">원문보기</a></div>
<div class="RIS"><a href="#">RIS</a></div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="swiper-slide">
<div class="List">
<div class="inner">
<div class="thumbnail">
<span class="image-frame"><img src="/images/img/img-sec6-01.jpg" alt=""/></span>
<div class="detail-cover">
<strong>2011 신라문화스토리텔러 교육교재 이론</strong>
<ul>
<li><em>주제유형</em>도서간행물</li>
<li><em>주제분야</em>문화유산</li>
<li><em>생산기관</em>마포문화원</li>
<li><em>생산년도</em>미상</li>
</ul>
<div class="btn-box">
<div class="view"><a href="#">원문보기</a></div>
<div class="RIS"><a href="#">RIS</a></div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="swiper-slide">
<div class="List">
<div class="inner">
<div class="thumbnail">
<span class="image-frame"><img src="/images/img/img-sec6-01.jpg" alt=""/></span>
<div class="detail-cover">
<strong>2011 신라문화스토리텔러 교육교재 이론</strong>
<ul>
<li><em>주제유형</em>도서간행물</li>
<li><em>주제분야</em>문화유산</li>
<li><em>생산기관</em>마포문화원</li>
<li><em>생산년도</em>미상</li>
</ul>
<div class="btn-box">
<div class="view"><a href="#">원문보기</a></div>
<div class="RIS"><a href="#">RIS</a></div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="swiper-slide">
<div class="List">
<div class="inner">
<div class="thumbnail">
<span class="image-frame"><img src="/images/img/img-sec6-01.jpg" alt=""/></span>
<div class="detail-cover">
<strong>2011 신라문화스토리텔러 교육교재 이론</strong>
<ul>
<li><em>주제유형</em>도서간행물</li>
<li><em>주제분야</em>문화유산</li>
<li><em>생산기관</em>마포문화원</li>
<li><em>생산년도</em>미상</li>
</ul>
<div class="btn-box">
<div class="view"><a href="#">원문보기</a></div>
<div class="view"><a href="javascript:void(0)" onclick="gfn_showDocPdf('${itemOnline.interfaceId }')">원문보기</a></div>
<div class="RIS"><a href="#">RIS</a></div>
</div>
</div>
@ -417,6 +218,8 @@ function fn_search(keyword) {
</div>
</div>
</div>
</c:forEach>
</div>
<div class="swiper-button-next"></div>
<div class="swiper-button-prev"></div>
@ -424,6 +227,7 @@ function fn_search(keyword) {
</div>
</div>
</section>
</c:if>
<!-- 섹션7 -->
<section class="sec7">

View File

@ -80,31 +80,31 @@ transition:all .3s ease;
.wrap .nav-wrap .mobile .sub-menu .downarrow {position: absolute;right: 0;padding-right: 5%;}
.wrap .nav-wrap #primary-nav.mobile .sub-menu .downarrow:before {content: '\25be';}
.wrap .nav-wrap #primary-nav-button.mobile {display: inline-block;}
.wrap .Btn {display: inline-block;width:25px;height:25px;cursor: pointer;text-decoration: none;position: relative;display: none;}
.wrap .Btn i {position: relative;display: inline-block;width: 25px;height: 3px;color:#fff;font:bold 14px/.4 Helvetica;text-transform: uppercase;text-indent:-999999999px;
.wrap #primary-nav-button {display: inline-block;width:25px;height:25px;cursor: pointer;text-decoration: none;position: relative;display: none;}
.wrap #primary-nav-button i {position: relative;display: inline-block;width: 25px;height: 3px;color:#fff;font:bold 14px/.4 Helvetica;text-transform: uppercase;text-indent:-999999999px;
background: #fff;
-webkit-transition:all .2s ease-out;
-moz-transition:all .2s ease-out;
-o-transition:all .2s ease-out;
transition:all .2s ease-out;
}
.wrap .Btn i::before, .Btn i::after {content:'';width: 25px;height: 3px;position: absolute;left:0;background:#fff;
.wrap #primary-nav-button i::before, .Btn i::after {content:'';width: 25px;height: 3px;position: absolute;left:0;background:#fff;
-webkit-transition:all .2s ease-out;
-moz-transition:all .2s ease-out;
-o-transition:all .2s ease-out;
transition:all .2s ease-out;
}
.wrap .Btn i::before {top: -9px;}
.wrap .Btn i::after {bottom: -9px;}
.wrap #primary-nav-button i::before {top: -9px;}
.wrap #primary-nav-button i::after {bottom: -9px;}
.wrap .Btn.selected i {background:none;}
.wrap .Btn.selected i::before {top:0;background: #fff;
.wrap #primary-nav-button.selected i {background:none;}
.wrap #primary-nav-button.selected i::before {top:0;background: #fff;
-webkit-transform: rotateZ(45deg);
-moz-transform: rotateZ(45deg);
-o-transform: rotateZ(45deg);
transform: rotateZ(45deg);
}
.wrap .Btn.selected i::after {bottom:0;background: #fff;
.wrap #primary-nav-button.selected i::after {bottom:0;background: #fff;
-webkit-transform: rotateZ(-45deg);
-moz-transform: rotateZ(-45deg);
-o-transform: rotateZ(-45deg);
@ -206,6 +206,7 @@ transform: rotate(45deg);
.sec3 .pickSwiper .swiper-slide .list-box .images {padding:30px 0px;height:195px;border-bottom:1px solid #ddd;}
.sec3 .pickSwiper .swiper-slide .list-box .images a img {width:140px;height:100%;}
.sec3 .pickSwiper .swiper-slide .list-box .subject {padding:20px 30px 30px;text-align: left;}
.sec3 .pickSwiper .swiper-slide .list-box .subject a {display:inline-block;width:100%;height:85px;overflow:hidden;}
.sec3 .pickSwiper .swiper-slide .list-box .subject .block {display:inline-block;width:100%;margin-bottom:10px;}
.sec3 .pickSwiper .swiper-slide .list-box .subject .cla {display:inline;background:#e9e6df;padding:2px 10px;font-size:12px;color:#666;border-radius:30px;}
.sec3 .pickSwiper .swiper-slide .list-box .subject .tit {display:inline;width:100%;font-size:18px;line-height:26px;color:#222;font-weight: 400}

View File

@ -1010,8 +1010,8 @@
<div class="Bg"></div>
</div>
<!-- 회원증 팝업 style="display:none; -->
<div class="pop-member"">
<!-- 회원증 팝업 -->
<div class="pop-member" style="display:none;" >
<div class="inner">
<div class="row Title">
<h3>회원증</h3>

View File

@ -420,10 +420,14 @@ function fn_formatDateStr(yyyymmdd, defVal) {
return defVal;
}
function docView(uri,interfaceId){
var openNewWindow = window.open("about:blank");
openNewWindow.location.href = uri + interfaceId;
// 원문보기
var DOC_VIEW_URL = "https://port.nculture.org/npdfView.do?npdf=N";
function gfn_showDocPdf(interfaceId) {
alert(DOC_VIEW_URL + interfaceId);
var openNewWindow = window.open(DOC_VIEW_URL + interfaceId, "_blank");
}
function snsShare(snsType, url) {
var url,name,specs,changedUrl,title;
if(document.title.indexOf("|") > -1){