소장자료 , 상세검색 개발진행중 커밋

This commit is contained in:
JSYOO 2021-11-01 15:17:43 +09:00
parent 852c2bcb25
commit bcdd495b73
9 changed files with 171 additions and 60 deletions

View File

@ -33,7 +33,7 @@ public class NlibSearchVO extends PagingVO {
private String creatYyyyStart = ""; //생산년도 검색(시작일) private String creatYyyyStart = ""; //생산년도 검색(시작일)
private String creatYyyyEnd = ""; //생산년도 검색(종료일) private String creatYyyyEnd = ""; //생산년도 검색(종료일)
private String creatYyyyYn = ""; //미상포함 Y N private String creatYyyyYn = ""; //미상포함 Y N
private String createStartDate = ""; //연대 검색(시작일) private String createStartDate = ""; //연대 검색(시작일)
private String createEndDate = ""; //연대 검색(종료일) private String createEndDate = ""; //연대 검색(종료일)
private String mngtNo = ""; //관리번호 private String mngtNo = ""; //관리번호
@ -348,7 +348,7 @@ public class NlibSearchVO extends PagingVO {
add(map,"createStartDate",this.createStartDate); add(map,"createStartDate",this.createStartDate);
add(map,"createEndDate",this.createEndDate); add(map,"createEndDate",this.createEndDate);
add(map,"MNGT_NO",this.mngtNo); add(map,"MNGT_NO",this.mngtNo);
add(map,"AGE_CODE",this.ageCode); add(map,"AGE_CODE",this.ageCode.replaceAll("[,]", "|"));
add(map,"USE_STATUS",this.useStatus); add(map,"USE_STATUS",this.useStatus);
add(map,"TYPE_DIV_CD",this.typeDivCd); add(map,"TYPE_DIV_CD",this.typeDivCd);
add(map,"SUBJECT_CODE",this.subjectCode); add(map,"SUBJECT_CODE",this.subjectCode);

View File

@ -1,6 +1,8 @@
package nlib.sch.web; package nlib.sch.web;
import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -146,9 +148,8 @@ public class NlibSearchController extends NlibCommonController {
count = 0; count = 0;
for(int j=0; j<subject.size(); j++) for(int j=0; j<subject.size(); j++)
{ {
String.valueOf(clsf.get(i).get("clsfId"));
//if(String.valueOf(clsf.get(i).get("CLSF_ID")).equals(String.valueOf(subject.get(j).get("category_nm")))) //if(String.valueOf(clsf.get(i).get("CLSF_ID")).equals(String.valueOf(subject.get(j).get("category_nm"))))
if(StringUtil.getString(clsf.get(i).get("clsfId"),"").equals(subject.get(j).get("category_nm"))) if(String.valueOf(clsf.get(i).get("clsfId")).equals(String.valueOf(subject.get(j).get("category_nm"))))
{ {
count += Integer.parseInt(subject.get(j).get("category_cnt")); count += Integer.parseInt(subject.get(j).get("category_cnt"));
} }
@ -157,14 +158,14 @@ public class NlibSearchController extends NlibCommonController {
count += Integer.parseInt(subject.get(j).get("category_cnt")); count += Integer.parseInt(subject.get(j).get("category_cnt"));
} }
} }
clsf.get(i).put("CNT", Integer.toString(count)); clsf.get(i).put("cnt", Integer.toString(count));
} }
for(int i=0; i<firstClassList.size(); i++) { for(int i=0; i<firstClassList.size(); i++) {
count = 0; count = 0;
for(int j=0; j<type.size(); j++) for(int j=0; j<type.size(); j++)
{ {
if(String.valueOf(firstClassList.get(i).get("column1")).equals(String.valueOf(type.get(j).get("class_nm_up")))) if(String.valueOf(firstClassList.get(i).get("sCodeId")).equals(String.valueOf(type.get(j).get("class_nm_up"))))
{ {
count += Integer.parseInt(type.get(j).get("class_cnt")); count += Integer.parseInt(type.get(j).get("class_cnt"));
} }
@ -221,6 +222,17 @@ public class NlibSearchController extends NlibCommonController {
vo.setMbInfoId(mbInfoId); vo.setMbInfoId(mbInfoId);
System.out.println(NlibProperty.getString("thumbnail.image.url.big")); System.out.println(NlibProperty.getString("thumbnail.image.url.big"));
vo = collectionService.getItemInfo(vo,NlibProperty.getString("thumbnail.image.url.big")); vo = collectionService.getItemInfo(vo,NlibProperty.getString("thumbnail.image.url.big"));
//반납예정일 편집
if(!StringUtil.getString(vo.getRtnExpctDd(),"").equals(""))
{
String strDate = vo.getRtnExpctDd();
SimpleDateFormat dtFormat = new SimpleDateFormat("yyyyMMdd");
SimpleDateFormat newDtFormat = new SimpleDateFormat("yyyy-MM-dd");
Date formatDate = dtFormat.parse(strDate);
String strNewDtFormat = newDtFormat.format(formatDate);
vo.setRtnExpctDd(strNewDtFormat);
}
model.addAttribute("result", vo); model.addAttribute("result", vo);
return "nlib/collection/searchItemDetail"; return "nlib/collection/searchItemDetail";
} }
@ -294,10 +306,16 @@ public class NlibSearchController extends NlibCommonController {
public String getDetailedSearchFormPopup(HttpServletRequest request, ModelMap model) throws Exception { public String getDetailedSearchFormPopup(HttpServletRequest request, ModelMap model) throws Exception {
//주제분야 목록 조회 //주제분야 목록 조회
List<Map<String,String>> clsf = codeService.listCtClsfs(); List<Map<String,String>> clsf = null;
clsf = codeService.listCtClsfs();
model.addAttribute("firstCategoryList", clsf); model.addAttribute("firstCategoryList", clsf);
model.addAttribute("secondCategoryList", clsf); model.addAttribute("secondCategoryList", clsf);
List<Map<String,String>> firstClassList = null;
firstClassList = codeService.listCodes(Constant.CODE_ID_MASTER_TYPE_DIV_CD);
List<Map<String,String>> secondClassList = null;
secondClassList = codeService.listCodes(Constant.CODE_ID_DTLS_TYPE_DIV_CD);
//자료유형 //자료유형
model.addAttribute("firstClassList", codeService.listCodes(Constant.CODE_ID_MASTER_TYPE_DIV_CD)); model.addAttribute("firstClassList", codeService.listCodes(Constant.CODE_ID_MASTER_TYPE_DIV_CD));
model.addAttribute("secondClassList", codeService.listCodes(Constant.CODE_ID_DTLS_TYPE_DIV_CD)); model.addAttribute("secondClassList", codeService.listCodes(Constant.CODE_ID_DTLS_TYPE_DIV_CD));

View File

@ -21,6 +21,10 @@ $(document).ready(function() {
}); });
}); });
function goSearch(){
document.searchHeaderForm.submit();
}
</script> </script>
@ -32,17 +36,17 @@ $(document).ready(function() {
<div class="search-wrap"> <div class="search-wrap">
<h2 class="blind">검색</h2> <h2 class="blind">검색</h2>
<form id="searchHeaderForm" name="searchHeaderForm" method="post" action=""> <form id="searchHeaderForm" name="searchHeaderForm" method="post" action="/search/searchList.do">
<fieldset> <fieldset>
<legend>검색</legend> <legend>검색</legend>
<div class="search-input"> <div class="search-input">
<input type="text" placeholder="" title="검색어 입력" name="query" id="query" class="ark_query" value="" autocomplete="off"> <input type="text" placeholder="" title="검색어 입력" name="query" id="top_query" class="ark_query" value="" autocomplete="off">
<button type="button" class="btn-search" id="searchHeaderButton"><span>검색</span></button> <button type="button" class="btn-search" id="searchHeaderButton" onclick="goSearch();"><span>검색</span></button>
<!-- <button type="button" class="btn-search-detail" id="btn-search-detail-cl" onclick="javascript:fn_layerPop('${pageContext.request.contextPath}/search/getDetailedSearchFormPopup.do');">상세검색</button> --> <!-- <button type="button" class="btn-search-detail" id="btn-search-detail-cl" onclick="javascript:fn_layerPop('${pageContext.request.contextPath}/search/getDetailedSearchFormPopup.do');">상세검색</button> -->
<button type="button" class="btn-search-detail" id="btn-search-detail-cl">상세검색</button> <button type="button" class="btn-search-detail" id="btn-search-detail-cl">상세검색</button>
</div> </div>
<div class="condition_sear"> <div class="condition_sear">
<select name="searchField" id="searchField1" class="sear_depth"> <select name="sfield" id="sfield" class="sear_depth">
<option value="" selected="selected">전체</option> <option value="" selected="selected">전체</option>
<option value="TITLE">제목</option> <option value="TITLE">제목</option>
</select> </select>

View File

@ -14,6 +14,7 @@
* @ 수정일 수정자 수정내용 * @ 수정일 수정자 수정내용
* @ ------------ -------- --------------------------- * @ ------------ -------- ---------------------------
* @ 2021. 7. 30. JSYOO 최초 생성 * @ 2021. 7. 30. JSYOO 최초 생성
* @ 2021.10. 28. KNKIM 대출예약, 방문열람신청, 카트담기 연결 처리
* *
* *
* @author 이씨플라자 * DIGITALSHIP JSYOO * @author 이씨플라자 * DIGITALSHIP JSYOO
@ -146,9 +147,9 @@
</ul> </ul>
</div> </div>
<div class="b-btn"> <div class="b-btn">
<button type="button" class="btn btn-color">대출예약</button> <button type="button" class="btn btn-color" onclick="fn_gotoRent()">대출예약</button>
<button type="button" class="btn btn-green">방문열람신청</button> <button type="button" class="btn btn-green" onclick="fn_gotoRead()">방문열람신청</button>
<button type="button" class="btn btn-orange">카트담기</button> <button type="button" class="btn btn-orange" onclick="fn_addRentCart('${result.masterId}')">카트담기</button>
</div> </div>
<div class="keyword"> <div class="keyword">
<span class="first">키워드</span> <span class="first">키워드</span>

View File

@ -98,7 +98,7 @@ function fnSetInitialValue()
//탭 //탭
$("#"+"${searchVO.collection}").parent().addClass('current'); $("#"+"${searchVO.collection}").parent().addClass('current');
//페이징 //페이징
pageLoad('${pageVO.pageIndex}','${pageVO.totRecordCount}','${pageVO.startPage}','${pageVO.endPage}','${pageVO.lastPage}'); pageLoad("fn_search_article",'${pageVO.pageIndex}','${pageVO.totRecordCount}','${pageVO.startPage}','${pageVO.endPage}','${pageVO.lastPage}');
//생산년도 //생산년도
var filter_creatYyyy = '${searchVO.filter_creatYyyy}'; var filter_creatYyyy = '${searchVO.filter_creatYyyy}';
@ -115,6 +115,15 @@ function fnSetInitialValue()
}else{ }else{
$("#m-year-1").prop('checked',true); $("#m-year-1").prop('checked',true);
} }
//상단 검색바
$("#top_query").val('${searchVO.query}');
var sfield = '${searchVO.sfield}';
if(sfield = "TITLE")
{
$("#sfield").val(sfield);
}
} }
//탭 이동 //탭 이동
function fnTabMoveSch(collection){ function fnTabMoveSch(collection){
@ -200,18 +209,18 @@ function fn_search_article(pageIndex) {
<li> <li>
<c:forEach var="firstClassList" items="${firstClassList}" varStatus="fcStatus"> <c:forEach var="firstClassList" items="${firstClassList}" varStatus="fcStatus">
<li> <li>
<div class="depth-1 <c:if test="${fn:contains(searchVO.filter_class, firstClassList.COLUMN1) }"> on</c:if>"> <div class="depth-1 <c:if test="${fn:contains(searchVO.filter_class, firstClassList.column1) }"> on</c:if>">
<div class="check"> <div class="check">
<input type="checkbox" value="${firstClassList.COLUMN1}" name="first_class" id="data-type-chk${fcStatus.index+1}" <c:if test="${fn:contains(searchVO.first_class, firstClassList.COLUMN1) }">checked="checked"</c:if> /> <input type="checkbox" value="${firstClassList.column1}" name="first_class" id="data-type-chk${fcStatus.index+1}" <c:if test="${fn:contains(searchVO.first_class, firstClassList.column1) }">checked="checked"</c:if> />
<label for="data-type-chk${fcStatus.index+1}">${firstClassList.S_CODE_NM}(<span>${firstClassList.CNT }</span>) </label> <label for="data-type-chk${fcStatus.index+1}">${firstClassList.sCodeNm}(<span>${firstClassList.cnt }</span>) </label>
</div> </div>
</div> </div>
<ul class="depth-2"> <ul class="depth-2">
<c:forEach var="secondClassList" items="${secondClassList}" varStatus="seStatus"> <c:forEach var="secondClassList" items="${secondClassList}" varStatus="seStatus">
<c:if test="${firstClassList.COLUMN1 eq secondClassList.COLUMN2 }"> <c:if test="${firstClassList.column1 eq secondClassList.column2 }">
<li> <li>
<div class="check"><input type="checkbox" value="${secondClassList.S_CODE_ID}" name="second_class" id="data-type-chk${fcStatus.index+1}-${seStatus.index+1}" <c:if test="${fn:contains(searchVO.second_class, secondClassList.S_CODE_ID) }">checked="checked"</c:if> /> <div class="check"><input type="checkbox" value="${secondClassList.sCodeId}" name="second_class" id="data-type-chk${fcStatus.index+1}-${seStatus.index+1}" <c:if test="${fn:contains(searchVO.second_class, secondClassList.sCodeId) }">checked="checked"</c:if> />
<label for="data-type-chk${fcStatus.index+1}-${seStatus.index+1}">${secondClassList.S_CODE_NM}(<span>${secondClassList.CNT }</span>)</label> <label for="data-type-chk${fcStatus.index+1}-${seStatus.index+1}">${secondClassList.sCodeNm}(<span>${secondClassList.cnt }</span>)</label>
</div> </div>
</li> </li>
</c:if> </c:if>
@ -233,15 +242,15 @@ function fn_search_article(pageIndex) {
<ul id="ul_category2List"> <ul id="ul_category2List">
<c:set var="count" value="0" /> <c:set var="count" value="0" />
<c:forEach var="firstCategoryInfo" items="${firstCategoryList}" varStatus="status"> <c:forEach var="firstCategoryInfo" items="${firstCategoryList}" varStatus="status">
<c:if test="${firstCategoryInfo.UP_CLSF_ID eq '2' }"> <c:if test="${firstCategoryInfo.upClsfId eq '2' }">
<li> <li>
<div class="depth-1 <c:if test="${fn:contains(searchVO.filter_category, firstCategoryInfo.CLSF_ID) }"> on</c:if>"> <div class="depth-1 <c:if test="${fn:contains(searchVO.filter_category, firstCategoryInfo.clsfId) }"> on</c:if>">
<div class="check"><input type="checkbox" value="${firstCategoryInfo.CLSF_ID}" id="theme-chk${count+1}" name="first_category" <c:if test="${fn:contains(searchVO.first_category, firstCategoryInfo.CLSF_ID) }">checked="checked"</c:if>/><label for="theme-chk${count+1}">${firstCategoryInfo.CLSF_NM}(<span>${firstCategoryInfo.CNT}</span>)</label></div> <div class="check"><input type="checkbox" value="${firstCategoryInfo.clsfId}" id="theme-chk${count+1}" name="first_category" <c:if test="${fn:contains(searchVO.first_category, firstCategoryInfo.clsfId) }">checked="checked"</c:if>/><label for="theme-chk${count+1}">${firstCategoryInfo.clsfNm}(<span>${firstCategoryInfo.cnt}</span>)</label></div>
</div> </div>
<ul class="depth-2"> <ul class="depth-2">
<c:forEach var="secondCategoryInfo" items="${secondCategoryList}" varStatus="seStatus"> <c:forEach var="secondCategoryInfo" items="${secondCategoryList}" varStatus="seStatus">
<c:if test="${firstCategoryInfo.CLSF_ID eq secondCategoryInfo.UP_CLSF_ID }"> <c:if test="${firstCategoryInfo.clsfId eq secondCategoryInfo.upClsfId }">
<li><div class="check"><input type="checkbox" value="${secondCategoryInfo.CLSF_ID}" id="theme-chk${count+1}-${seStatus.index+1}" name="second_category" <c:if test="${fn:contains(searchVO.second_category, secondCategoryInfo.CLSF_ID) }">checked="checked"</c:if>/><label for="theme-chk${count+1}-${seStatus.index+1}">${secondCategoryInfo.CLSF_NM}(<span>${secondCategoryInfo.CNT}</span>)</label></div></li> <li><div class="check"><input type="checkbox" value="${secondCategoryInfo.clsfId}" id="theme-chk${count+1}-${seStatus.index+1}" name="second_category" <c:if test="${fn:contains(searchVO.second_category, secondCategoryInfo.clsfId) }">checked="checked"</c:if>/><label for="theme-chk${count+1}-${seStatus.index+1}">${secondCategoryInfo.clsfNm}(<span>${secondCategoryInfo.cnt}</span>)</label></div></li>
</c:if> </c:if>
</c:forEach> </c:forEach>
</ul> </ul>
@ -276,7 +285,7 @@ function fn_search_article(pageIndex) {
<button type="button" class="btn-apply">적용</button> <button type="button" class="btn-apply">적용</button>
</div> </div>
<div class="filter"> <div class="filter nodepth">
<div class="filter-tit"> <div class="filter-tit">
<h3>생산기관</h3> <h3>생산기관</h3>
</div> </div>
@ -285,7 +294,7 @@ function fn_search_article(pageIndex) {
<c:forEach var="result" items="${searchVO.orgCountList}" varStatus="status"> <c:forEach var="result" items="${searchVO.orgCountList}" varStatus="status">
<li> <li>
<div class="depth-1"> <div class="depth-1">
<div class="check"><input type="checkbox" id="agency-chk1"/><label for="agency-chk1">${result.org_nm}</label></div> <div class="check"><input type="checkbox" id="agency-chk1"/><label for="agency-chk1">${result.org_nm}(${result.org_cnt})</label></div>
</div> </div>
</li> </li>
</c:forEach> </c:forEach>
@ -309,7 +318,16 @@ function fn_search_article(pageIndex) {
</ul> </ul>
<div class="title"> <div class="title">
<span class="count">총 <em><c:out value="${searchVO.totalCount}"/></em>건</span> <span class="count">총 <em>
<c:choose>
<c:when test="${!empty searchVO.totalCount }">
<c:out value="${searchVO.totalCount}"/>
</c:when>
<c:otherwise>
0
</c:otherwise>
</c:choose>
</em>건</span>
<div class="list-search-wrap list-top"> <div class="list-search-wrap list-top">
<div class="re-search"> <div class="re-search">
<label for="reQueryChk"><input type="checkbox" id="reQueryChk" name="reQueryChk" value="query" <c:if test="${searchVO.reQueryChk eq 'reQuery' }">checked="checked"</c:if>>결과 내 재검색</label> <label for="reQueryChk"><input type="checkbox" id="reQueryChk" name="reQueryChk" value="query" <c:if test="${searchVO.reQueryChk eq 'reQuery' }">checked="checked"</c:if>>결과 내 재검색</label>
@ -338,7 +356,7 @@ function fn_search_article(pageIndex) {
<div class="list-data"> <div class="list-data">
<div class="list t-tit-line"> <div class="list t-tit-line">
<div class="t-data">자료정보</div> <div class="t-data">자료정보</div>
<div class="t-btn">이용</div> <div class="t-btn nomagin">이용</div>
</div> </div>
<c:forEach var="result" items="${searchVO.resultList}"> <!-- 리스트 출력 시작 --> <c:forEach var="result" items="${searchVO.resultList}"> <!-- 리스트 출력 시작 -->
<div class="list"> <div class="list">
@ -379,7 +397,7 @@ function fn_search_article(pageIndex) {
</c:if> </c:if>
</div> </div>
</div> </div>
<div class="t-btn"> <div class="t-btn nomagin">
<c:choose> <c:choose>
<c:when test="${(!empty result.operOutRangeNm) && (!empty result.operReadRangeNm)}"> <c:when test="${(!empty result.operOutRangeNm) && (!empty result.operReadRangeNm)}">
<p>${result.operOutRangeNm}<br>${result.operReadRangeNm}</p> <p>${result.operOutRangeNm}<br>${result.operReadRangeNm}</p>

View File

@ -31,12 +31,31 @@
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %> <%@ taglib prefix="validator" uri="http://www.springmodules.org/tags/commons-validator" %>
<c:set var="pageTitle">상세 검색</c:set> <c:set var="pageTitle">상세 검색</c:set>
<script src="/js/default.js"></script>
<script src="/js/nlib.js"></script>
<script> <script>
$(document).ready(function() { $(document).ready(function() {
// $('.pop-advanced-search').fadeIn(); // $('.pop-advanced-search').fadeIn();
// $('html,body').addClass('no-scroll'); // $('html,body').addClass('no-scroll');
// 상세검색 팝업 - 문화원정보 선택영역 초기작업 메서드 분리
$('#d_referencelistForm input[name=ageCode]').change(function () {
var id = $(this).attr('id');
if(id == "times-chk1")
{
$("input[id^='times-chk']").each(function() {
if($(this).attr('id') != id)
$(this).prop('checked', false);
});
}else{
$("#times-chk1").prop('checked',false);
}
});
}); });
function d_search(){
document.d_referencelistForm.submit();
}
</script> </script>
<div class="pop-wrap"> <div class="pop-wrap">
@ -45,7 +64,11 @@ $(document).ready(function() {
<span>검색어와, 검색조건들을 통해서 더 정확한 정보를 찾아보세요.</span> <span>검색어와, 검색조건들을 통해서 더 정확한 정보를 찾아보세요.</span>
<span><a href="javascript:;" class="btn-close-pop"><img src="/images/btn/btn-pop-close.png" alt="닫기 아이콘"></a></span> <span><a href="javascript:;" class="btn-close-pop"><img src="/images/btn/btn-pop-close.png" alt="닫기 아이콘"></a></span>
</div> </div>
<form action="/sch/totalSearchList.do" id="cmmlistForm" name="cmmlistForm" class="mCustomScrollbar" data-mcs-theme="dark-2"> <form action="/search/searchList.do" id="d_referencelistForm" name="d_referencelistForm" class="mCustomScrollbar" data-mcs-theme="dark-2">
<input type="hidden" id="d_filter_class" name="filter_class">
<input type="hidden" id="d_filter_category" name="filter_category">
<input type="hidden" id="d_filter_mylist" name="filter_mylist">
<input type="hidden" id="d_filter_creatYyyy" name="filter_creatYyyy" value="">
<div class="scroll-wrap"> <div class="scroll-wrap">
<fieldset> <fieldset>
<legend>상세검색 입력폼</legend> <legend>상세검색 입력폼</legend>
@ -65,36 +88,36 @@ $(document).ready(function() {
<li class="row-control-num"> <li class="row-control-num">
<p class="tit"><label for="mgnt_no">관리번호</label></p> <p class="tit"><label for="mgnt_no">관리번호</label></p>
<div class="input-area"> <div class="input-area">
<input type="text" placeholder="예) KCCF201808030000234" id="mgnt_no" name="mgnt_no" value="" /> <input type="text" placeholder="예) KCCF201808030000234" id="d_mngtNo" name="mngtNo" value="" />
</div> </div>
</li> </li>
<li class="row-issued-year"> <li class="row-issued-year">
<p class="tit"><label for="genyear_start">생산년도</label></p> <p class="tit"><label for="genyear_start">생산년도</label></p>
<div class="input-area"> <div class="input-area">
<input type="text" placeholder="예) 2018" id="genyear_start" name="genyear_start" value="" /> <input type="text" placeholder="예) 2018" id="d_creatYyyyStart" name="creatYyyyStart" value="" onKeyup="this.value=this.value.replace(/[^0-9]/g,'');" maxlength='4'/>
<span class="tilde">~</span> <span class="tilde">~</span>
<input type="text" placeholder="예) 2019" id="genyear_end" name="genyear_end" value="" /><label for="genyear_end" class="blind">생산년도 끝</label> <input type="text" placeholder="예) 2019" id="d_creatYyyyEnd" name="creatYyyyEnd" value="" onKeyup="this.value=this.value.replace(/[^0-9]/g,'');" maxlength='4'/><label for="d_creatYyyyEnd" class="blind">생산년도 끝</label>
</div> </div>
</li> </li>
<li class="row-age"> <li class="row-age">
<p class="tit"><label for="chronological_start">연 대</label></p> <p class="tit"><label for="chronological_start">연 대</label></p>
<div class="input-area"> <div class="input-area">
<input type="text" placeholder="예) 2017" id="chronological_start" name="chronological_start" value=""/> <input type="text" placeholder="예) 2017" id="d_createStartDate" name="createStartDate" value=""/>
<span class="tilde">~</span> <span class="tilde">~</span>
<input type="text" placeholder="예) 2018" id="chronological_end" name="chronological_end" value=""/><label for="chronological_end" class="blind">연대 끝</label> <input type="text" placeholder="예) 2018" id="d_createEndDate" name="createEndDate" value=""/><label for="d_createEndDate" class="blind">연대 끝</label>
</div> </div>
</li> </li>
<li class="row-times fw"> <li class="row-times fw">
<p class="tit"><label for="">시 대</label></p> <p class="tit"><label for="">시 대</label></p>
<div class="input-area"> <div class="input-area">
<div class="check"><input type="checkbox" value="" id="times-chk1" name=""><label for="times-chk1">전체</label></div> <div class="check"><input type="checkbox" value="01" id="times-chk1" name="ageCode"><label for="times-chk1">전체</label></div>
<div class="check"><input type="checkbox" value="" id="times-chk2" name=""><label for="times-chk2">선사</label></div> <div class="check"><input type="checkbox" value="03" id="times-chk2" name="ageCode"><label for="times-chk2">선사</label></div>
<div class="check"><input type="checkbox" value="" id="times-chk3" name=""><label for="times-chk3">고대</label></div> <div class="check"><input type="checkbox" value="04,05,06" id="times-chk3" name="ageCode"><label for="times-chk3">고대</label></div>
<div class="check"><input type="checkbox" value="" id="times-chk4" name=""><label for="times-chk4">고려</label></div> <div class="check"><input type="checkbox" value="07" id="times-chk4" name="ageCode"><label for="times-chk4">고려</label></div>
<div class="check"><input type="checkbox" value="" id="times-chk5" name=""><label for="times-chk5">조선</label></div> <div class="check"><input type="checkbox" value="08" id="times-chk5" name="ageCode"><label for="times-chk5">조선</label></div>
<div class="check"><input type="checkbox" value="" id="times-chk6" name=""><label for="times-chk6">근대</label></div> <div class="check"><input type="checkbox" value="11,12" id="times-chk6" name="ageCode"><label for="times-chk6">근대</label></div>
<div class="check"><input type="checkbox" value="" id="times-chk7" name=""><label for="times-chk7">현대</label></div> <div class="check"><input type="checkbox" value="13,14" id="times-chk7" name="ageCode"><label for="times-chk7">현대</label></div>
<div class="check"><input type="checkbox" value="" id="times-chk8" name=""><label for="times-chk8">시대미상</label></div> <div class="check"><input type="checkbox" value="02" id="times-chk8" name="ageCode"><label for="times-chk8">시대미상</label></div>
</div> </div>
</li> </li>
<li class="row-class fw"> <li class="row-class fw">
@ -118,8 +141,6 @@ $(document).ready(function() {
<button type="button" class="btn-reset-conditions" name="subject">초기화</button> <button type="button" class="btn-reset-conditions" name="subject">초기화</button>
</div> </div>
<ul class="conditions"> <ul class="conditions">
<li><button type="button" title="삭제">자연과 지리 <span class="sign">&gt;</span> 마을경관</button></li>
<li><button type="button" title="삭제">생활과 민속 <span class="sign">&gt;</span> 세시풍속</button></li>
</ul> </ul>
</div> </div>
<div class="conditions-box"> <div class="conditions-box">
@ -128,7 +149,9 @@ $(document).ready(function() {
<c:forEach var="firstCategoryInfo" items="${firstCategoryList}" varStatus="status"> <c:forEach var="firstCategoryInfo" items="${firstCategoryList}" varStatus="status">
<c:if test="${firstCategoryInfo.upClsfId eq '2' }"> <c:if test="${firstCategoryInfo.upClsfId eq '2' }">
<div class="depth1"> <div class="depth1">
<div class="depth1-check check tab"><input type="checkbox" value="${firstCategoryInfo.remark}" id="subject-chk${count+1}" /><label for="subject-chk${count+1}">${firstCategoryInfo.clsfNm}</label></div> <div class="depth1-check check tab"><input type="checkbox" value="${firstCategoryInfo.remark}" id="subject-chk${count+1}" name="first_category"/><label for="subject-chk${count+1}">${firstCategoryInfo.clsfNm}</label>
<button type="button" class="tab-name">${firstCategoryInfo.clsfNm}</button>
</div>
<ul class="depth2"> <ul class="depth2">
<c:forEach var="secondCategoryInfo" items="${secondCategoryList}" varStatus="seStatus"> <c:forEach var="secondCategoryInfo" items="${secondCategoryList}" varStatus="seStatus">
<c:if test="${firstCategoryInfo.clsfId eq secondCategoryInfo.upClsfId }"> <c:if test="${firstCategoryInfo.clsfId eq secondCategoryInfo.upClsfId }">
@ -152,8 +175,6 @@ $(document).ready(function() {
<button type="button" class="btn-reset-conditions" name="datype">초기화</button> <button type="button" class="btn-reset-conditions" name="datype">초기화</button>
</div> </div>
<ul class="conditions"> <ul class="conditions">
<li><button type="button" title="삭제">도서간행물 <span class="sign">&gt;</span> 단행본</button></li>
<li><button type="button" title="삭제">도서간행물 <span class="sign">&gt;</span> 보고서</button></li>
</ul> </ul>
</div> </div>
<div class="conditions-box"> <div class="conditions-box">
@ -163,6 +184,7 @@ $(document).ready(function() {
<div class="depth1-check check tab"> <div class="depth1-check check tab">
<input type="checkbox" value="${firstClassList.column1}" name="first_class" id="datype-chk${fcStatus.index+1}" /> <input type="checkbox" value="${firstClassList.column1}" name="first_class" id="datype-chk${fcStatus.index+1}" />
<label for="data-type-chk${fcStatus.index+1}">${firstClassList.sCodeNm}</label> <label for="data-type-chk${fcStatus.index+1}">${firstClassList.sCodeNm}</label>
<button type="button" class="tab-name">${firstClassList.sCodeNm}</button>
</div> </div>
<ul class="depth2"> <ul class="depth2">
<c:forEach var="secondClassList" items="${secondClassList}" varStatus="seStatus"> <c:forEach var="secondClassList" items="${secondClassList}" varStatus="seStatus">
@ -185,7 +207,7 @@ $(document).ready(function() {
</div><!-- //scroll-wrap --> </div><!-- //scroll-wrap -->
<div class="btn-wrap"> <div class="btn-wrap">
<button type="button" class="btn btn-white" id="cmm_popudp_del">초기화</button> <button type="button" class="btn btn-white" id="cmm_popudp_del">초기화</button>
<button type="button" class="btn btn-color" id="cmm_popudp_submit">검색</button> <button type="button" onclick="d_search();" class="btn btn-color" id="cmm_popudp_submit">검색</button>
<button type="button" class="btn btn-gray btn-close-pop">닫기</button> <button type="button" class="btn btn-gray btn-close-pop">닫기</button>
</div> </div>
</form> </form>

View File

@ -730,6 +730,8 @@ transform: rotate(45deg);}
.filter-wrap .filter .depth-1 {margin-top: 11px;padding-left: 10px;} .filter-wrap .filter .depth-1 {margin-top: 11px;padding-left: 10px;}
.filter-wrap .filter .depth-1 .check label {background:url(/images/icon/icon-data-downarr.png) no-repeat;background-position: 95% center;padding-right:20px;} .filter-wrap .filter .depth-1 .check label {background:url(/images/icon/icon-data-downarr.png) no-repeat;background-position: 95% center;padding-right:20px;}
.filter-wrap .filter .depth-1.on .check label {background:url(/images/icon/icon-data-uparr.png) no-repeat;background-position: 95% center;padding-right:20px;color:#376795;font-weight: 400;} .filter-wrap .filter .depth-1.on .check label {background:url(/images/icon/icon-data-uparr.png) no-repeat;background-position: 95% center;padding-right:20px;color:#376795;font-weight: 400;}
.filter-wrap .filter.nodepth .depth-1 .check label {background: none;}
.filter-wrap .filter.nodepth .depth-1.on .check label {background: none;}
.filter-wrap .filter .depth-1:after {content: "";display: block;clear: both;} .filter-wrap .filter .depth-1:after {content: "";display: block;clear: both;}
.filter-wrap .filter .depth-1 .check {float: left;} .filter-wrap .filter .depth-1 .check {float: left;}
.filter-wrap .filter .depth-1 .btn-toggle {float: left;background: url(/images/kccf/btn/btn-arrow-down.png) no-repeat right center;text-indent: -9999px;} .filter-wrap .filter .depth-1 .btn-toggle {float: left;background: url(/images/kccf/btn/btn-arrow-down.png) no-repeat right center;text-indent: -9999px;}
@ -799,6 +801,7 @@ transform: rotate(45deg);}
.data .inner .tabs_item .list-cart-wrap .list-data div.list > div.t-data > div.type span.visit {background:#2b8b99;} .data .inner .tabs_item .list-cart-wrap .list-data div.list > div.t-data > div.type span.visit {background:#2b8b99;}
.data .inner .tabs_item .list-cart-wrap .list-data div.list > div.poss {color:#3f8f4a;font-weight: 400;} .data .inner .tabs_item .list-cart-wrap .list-data div.list > div.poss {color:#3f8f4a;font-weight: 400;}
.data .inner .tabs_item .list-cart-wrap .list-data div.list > div.imposs {color:#c11c35;font-weight: 400;} .data .inner .tabs_item .list-cart-wrap .list-data div.list > div.imposs {color:#c11c35;font-weight: 400;}
.data .inner .tabs_item .list-cart-wrap .list-data div.list > div.t-data > div.type span.etc {background:#e9e6df;color:#222;}
.data .inner .tabs_item .list-cart-wrap .list-data div.list > div.t-data:hover > div.img {outline:3px solid #4a7ba6;} .data .inner .tabs_item .list-cart-wrap .list-data div.list > div.t-data:hover > div.img {outline:3px solid #4a7ba6;}
.data .inner .tabs_item .list-cart-wrap .list-data div.list > div.t-data > div.img .favorites {display:none;cursor:pointer;} .data .inner .tabs_item .list-cart-wrap .list-data div.list > div.t-data > div.img .favorites {display:none;cursor:pointer;}
.data .inner .tabs_item .list-cart-wrap .list-data div.list > div.t-data > div.img:hover .favorites {display:inline-block;position: absolute;right:10px;bottom:10px;} .data .inner .tabs_item .list-cart-wrap .list-data div.list > div.t-data > div.img:hover .favorites {display:inline-block;position: absolute;right:10px;bottom:10px;}
@ -810,6 +813,8 @@ transform: rotate(45deg);}
.data .inner .tabs_item .list-cart-wrap .list-data div.list.resu {height:auto;} .data .inner .tabs_item .list-cart-wrap .list-data div.list.resu {height:auto;}
.data .inner .tabs_item .list-cart-wrap .list-data div.list > .no-result {text-align: center;width:100%;padding:30px 0px;} .data .inner .tabs_item .list-cart-wrap .list-data div.list > .no-result {text-align: center;width:100%;padding:30px 0px;}
.data .inner .tabs_item .list-cart-wrap .list-data div.list > .no-result .icon {margin-bottom:10px;} .data .inner .tabs_item .list-cart-wrap .list-data div.list > .no-result .icon {margin-bottom:10px;}
.data .inner .tabs_item .list-cart-wrap .list-data div.list > div.t-btn.nomagin {padding:0;}
.data .inner .tabs_item .list-cart-wrap .list-data div.list > div.t-btn.nomagin p {padding-top:0px;}
.data .inner .tabs_item .list-cart-wrap .list-data div.list > .no-result .text1 {margin-bottom:5px;font-size:18px;color:#666;} .data .inner .tabs_item .list-cart-wrap .list-data div.list > .no-result .text1 {margin-bottom:5px;font-size:18px;color:#666;}
.data .inner .tabs_item .list-cart-wrap .list-data div.list > .no-result .text2 {margin-bottom:30px;font-size:24px;color:#333;font-weight: 500;} .data .inner .tabs_item .list-cart-wrap .list-data div.list > .no-result .text2 {margin-bottom:30px;font-size:24px;color:#333;font-weight: 500;}
.data .inner .tabs_item .list-cart-wrap .list-data div.list > .no-result .text2 span {color:#d47b1c;} .data .inner .tabs_item .list-cart-wrap .list-data div.list > .no-result .text2 span {color:#d47b1c;}

View File

@ -99,7 +99,6 @@ $(document).ready(function(){
jQuery(function($) { jQuery(function($) {
var depth2H = 0; var depth2H = 0;
$('.pop-advanced-search .depth1-check input').each(function () { $('.pop-advanced-search .depth1-check input').each(function () {
if ($(this).is(":checked")) { // 활성화 line에 높이 잡아주기 if ($(this).is(":checked")) { // 활성화 line에 높이 잡아주기
$('.depth1').removeClass('on'); $('.depth1').removeClass('on');
$(this).parents('.depth1').addClass('on'); $(this).parents('.depth1').addClass('on');
@ -108,9 +107,6 @@ $(document).ready(function(){
$(this).parents('.line').height(depth2H + 50); $(this).parents('.line').height(depth2H + 50);
} }
var tabLabel = $(this).next().text();
$(this).parent('.depth1-check').append('<button type="button" class="tab-name">'+tabLabel+'</button>');
$(this).siblings('.tab-name').on('click', function() { $(this).siblings('.tab-name').on('click', function() {
$('.depth1').removeClass('on'); $('.depth1').removeClass('on');
$(this).parents('.depth1').addClass('on'); $(this).parents('.depth1').addClass('on');
@ -125,7 +121,7 @@ $(document).ready(function(){
var html = ""; var html = "";
var depth1 = ""; var depth1 = "";
var depth2 = ""; var depth2 = "";
/*alert(name.substring(name.indexOf("_")+1, name.length));*/
if ($(this).is(':checked')) { if ($(this).is(':checked')) {
depth1 = $(this).parents('.depth2').siblings('.depth1-check').find('label').text(); depth1 = $(this).parents('.depth2').siblings('.depth1-check').find('label').text();
depth2 = $("label[for='"+$(this).attr('id')+"']").text(); depth2 = $("label[for='"+$(this).attr('id')+"']").text();
@ -134,20 +130,57 @@ $(document).ready(function(){
$(this).parents('.depth2').siblings('.depth1-check').find('input').prop('checked', true); $(this).parents('.depth2').siblings('.depth1-check').find('input').prop('checked', true);
$(this).parents('.conditions-box').siblings('.selected-conditions').find('.conditions').append(html); $(this).parents('.conditions-box').siblings('.selected-conditions').find('.conditions').append(html);
} else { } else {
$("button[name="+$(this).attr('id')+"]").remove();
if ($(this).parents('.depth2').find('input:checked').length <= 0) { if ($(this).parents('.depth2').find('input:checked').length <= 0) {
$(this).parents('.depth2').siblings('.depth1-check').find('input').prop('checked', false); $(this).parents('.depth2').siblings('.depth1-check').find('input').prop('checked', false);
$("button[name="+$(this).attr('id')+"]").remove();
} }
} }
//filter_mylist clk array
var filter_mylist = "";
var filter_mylist_clk = "";
filter_mylist = $('#d_filter_mylist').val();
if($(this).attr('name') == 'second_class'){
filter_mylist_clk = 'class_'+$(this).val() +',';
}else if($(this).attr('name') == 'second_category'){
filter_mylist_clk = 'category_'+$(this).val() +',';
}
if($(this).is(":checked")){
filter_mylist += filter_mylist_clk;
}else{
filter_mylist = filter_mylist.replace(filter_mylist_clk,'');
}
$('#d_filter_mylist').val(filter_mylist);
//depth-1
var on_classArr = document.querySelectorAll("div.depth1.on");
var filter_class = "" ;
var filter_category = "" ;
for(var i=0; i<on_classArr.length; i++){
if($(on_classArr[i]).find('input').attr('name') == 'first_class') {
filter_class = $(on_classArr[i]).find('input').val();
}else{
filter_category = $(on_classArr[i]).find('input').val();
}
}
var listForm = document.forms["d_referencelistForm"];
listForm.filter_class.value = filter_class;
listForm.filter_category.value = filter_category;
}); });
// 상세검색 초기화 // 상세검색 초기화
$('.pop-advanced-search .btn-reset-conditions').on('click', function() { $('.pop-advanced-search .btn-reset-conditions').on('click', function() {
alert("DAD");
$("input[id^='"+$(this).attr('name')+"-chk']").each(function() { $("input[id^='"+$(this).attr('name')+"-chk']").each(function() {
$(this).prop('checked', false); $(this).prop('checked', false);
}); });
$(this).parents('.title').siblings('.conditions').find('*').remove();
}); });
// depth-1 열고 닫기 // depth-1 열고 닫기
$('.filter-tit .btn-toggle').on('click', function() { $('.filter-tit .btn-toggle').on('click', function() {

View File

@ -147,6 +147,7 @@ function fn_isEmpty(value) {
if(value == null) return true; if(value == null) return true;
if(typeof value == "undefined") return true; if(typeof value == "undefined") return true;
if(typeof value == "string" && value == "") return true; if(typeof value == "string" && value == "") return true;
if(value == "null") return true;
if(Array.isArray(value) && value.length < 1) return true; if(Array.isArray(value) && value.length < 1) return true;
return false; return false;
@ -283,3 +284,12 @@ function pageLoad(fnName,pageIndex, totRecordCount, startPage, endPage, lastPage
$("#paging").append(html); $("#paging").append(html);
} }
// 자료 상세보기
function fn_viewItemDetailInfo(masterId){
$("#FRM_ITEM_DETAIL input[name=masterId]").val(masterId);
$("#FRM_ITEM_DETAIL").attr("action","/search/searchItemDetail.do");
$("#FRM_ITEM_DETAIL").submit();
}