검색엔진 작업중.

master
강석 최 2023-06-09 18:06:35 +09:00
parent 4749d80839
commit 77f2758497
16 changed files with 575 additions and 1 deletions

View File

@ -147,7 +147,8 @@ public class SecurityConfig{
"/monitoring/**", "/monitoring/**",
"/intelligenceNetwork/**", "/intelligenceNetwork/**",
"/budget/**", "/budget/**",
"/deadline/**" "/deadline/**",
"/search/**"
).hasRole(Role.USER.name()) // USER 접근 허용 ).hasRole(Role.USER.name()) // USER 접근 허용
.antMatchers( .antMatchers(
"/authMgt/**", "/authMgt/**",

View File

@ -0,0 +1,29 @@
package com.dbnt.faisp.main.searchEngine;
import com.dbnt.faisp.main.codeMgt.service.CodeMgtService;
import com.dbnt.faisp.main.publicBoard.model.PublicBoard;
import com.dbnt.faisp.main.publicBoard.model.PublicComment;
import com.dbnt.faisp.main.publicBoard.service.PublicBoardService;
import com.dbnt.faisp.main.userInfo.model.UserInfo;
import lombok.RequiredArgsConstructor;
import org.springframework.security.core.annotation.AuthenticationPrincipal;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.servlet.ModelAndView;
import java.time.LocalDateTime;
import java.util.List;
@RestController
@RequiredArgsConstructor
@RequestMapping("/search")
public class SearchEngineController {
@GetMapping("/searchPage")
public ModelAndView organMgtPage(@AuthenticationPrincipal UserInfo loginUser, PublicBoard publicBoard) {
ModelAndView mav = new ModelAndView("searchEngine/search");
return mav;
}
}

View File

@ -0,0 +1,37 @@

html, body, div, span, applet, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,a, abbr, acronym, address, big, cite, code,del,
dfn, em, img, ins, kbd, q, s, samp,small, strike, strong, sub, sup, tt, var,b, u, i, center,dl, dt, dd, ol, ul, li,fieldset, form, label,
legend, table, caption, tbody, tfoot, thead, tr, th, td,article, aside, canvas, details, embed, figure, figcaption,
footer, header, hgroup, menu, nav, output, ruby, section, summary,time, mark, audio, video {
margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
display: block;
}
body {
line-height: 1;
}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,q:before, q:after {
content: ''; content: none;
}
fieldset, hr {
display: block; margin: 0; padding: 0; border: 0 none;
}
input, select {
max-width: 100%; vertical-align: middle;
}
input, select, button, textarea, optgroup {
margin: 0; font-family: inherit; font-size: inherit; color: inherit;
}
a { color: inherit; text-decoration: none; }
button { padding: 0; border: 0 none; background: none; cursor: pointer; }
input[type='submit'] { -webkit-appearance: none; -moz-appearance: none; appearance: none; }
img {max-width: 100%; border: 0 none; font-size: 0; vertical-align: middle; }
table {border-collapse: collapse; border-spacing: 0; width: 100%;}

View File

@ -0,0 +1,173 @@
html, body {font-family: 'Noto Sans KR','맑은고딕','돋움','Sans-serif',arial; -webkit-text-size-adjust: 100%; min-width:1200px; }
body{position:relative; background:#eeeef4;}
.hide{display:none !important;}
*{color:#222;}
.red{color:#e42029 !important; }
.blue{color:#2a6de8 !important; }
.bold{font-weight:bold !important; color:#000;}
.tie{display:inline-block;}
input{height:30px; line-height:30px; border:1px solid #ddd; padding-left:10px; vertical-align:middle; font-family:'Noto Sans KR','malgun gothic','맑은고딕','돋움','Sans-serif',arial;}
input:-ms-input-placeholder { color: #aaa; }
input::-webkit-input-placeholder { color: #aaa; }
input::-moz-placeholder { color: #aaa; }
/*인풋 기본 스타일*/
#skip_navigation {position:absolute; float:left; top:0px; left:0px; width:200px; font-size:14px; font-weight:bold; padding-left:10px; height:20px; z-index:9999;}
#skip_navigation a { position:absolute; display:block; height:0; overflow:hidden;}
#skip_navigation a:hover, #skip_navigation a:focus, #skip_navigation a:active { height:auto; background:#333; color:#f9f9f9; padding:10px 10px 10px 10px; }
/*스킵네비*/
/*헤더부분------------------------------------------------------------------------*/
.headerArea{border-bottom:1px dashed #bbb;}
header {height:80px; position:relative;}
header h1{padding:15px;}
header .searchPagetop{position:absolute; top:12px; left:50%; margin-left:-400px; width:800px;}
header .searchPagetop .searchBox{width:100%; position:relative; padding-right:175px; box-sizing:border-box; height:56px; background:#fff; border-radius:5px; box-shadow:rgba(60, 90, 130, 0.2) 1px 1px 5px;}
header .searchPagetop .searchBox > input{width:100%; padding:0 20px; box-sizing:border-box; height:56px; line-height:50px; background:url(../images/board/boardSchBul.png) #fff right 10px center no-repeat; border:none; border-radius:5px;}
header .searchPagetop .searchBox > input::-ms-clear {display: none;}
header .searchPagetop .searchBox > input:focus{background:url(../images/board/boardSchBul.png) right 10px center no-repeat;}
header .searchPagetop .searchBox > a{width:78px; position:absolute; top:5px; right:90px; background:#377fe7; color:#fff; text-align:center; display:block; height:44px; line-height:44px; border-radius:5px; border:1px solid #377fe7;}
header .searchPagetop .searchBox > a:last-of-type{right:5px; color:#377fe7; background:#fff; }
header .searchPagetop .searchBox .autoSearchList{position:absolute; top:56px; left:0; display:none; background:#fff; box-sizing:border-box; border:1px solid #bec8d8; border-top:none; z-index:9990; width:calc(100% - 175px);}
header .searchPagetop .searchBox > input:focus ~ .autoSearchList{display:block;}
.autoSearchList > p{padding:20px; font-size:15px; color:#284d7e;}
.autoSearchList > ul{padding:13px 0;}
.autoSearchList > ul li a{padding:7px 20px; font-size:15px; color:#555; display:block;}
.autoSearchList > ul li:hover a, .autoSearchList > ul li a:focus{background-color:#f6f8fb;}
header .searchPagetop .searchBox .sRightBox{position:absolute; right:-140px; top:15px;}
header .searchPagetop .searchBox .sRightBox span{display:block;}
header .searchPagetop .searchBox .sRightBox span label{font-size:16px; vertical-align:middle;}
/*결과 내 재검색*/
/*헤더부분------------------------------------------------------------------------*/
/*검색내용부분------------------------------------------------------------------------*/
.searchPageBox{width:1400px; max-width:95%; margin:0 auto 15px auto; display:none;}
.searchPageBox.searchDTView{display:block;}
.searchWideBox{background:#fff; box-sizing:border-box; border-radius:5px; box-shadow:rgba(60, 90, 130, 0.2) 1px 1px 5px;}
.searchWideBox:after{content:''; display:block; visibility:hidden; clear:both;}
.searchWideBox > li{position:relative; padding:13px 0 13px 60px; float:left; margin-left:70px; border-left:1px solid #ddd;}
.searchWideBox > li:first-of-type{margin-left:0px; border-left:none;}
.searchWideBox > li:after{content:''; display:block; visibility:hidden; clear:both;}
.searchWideBox > li p{position:absolute; top:13px; left:15px; font-size:16px; line-height:30px; font-weight:bold;}
.searchWideBox > li label{margin-right:14px; font-size:15px; line-height:32px; vertical-align:middle; color:#666;}
.searchWideBox > li ul:after{content:''; display:block; visibility:hidden; clear:both;}
.searchWideBox > li ul{width:331px; border:1px solid #ddd; border-left:none; box-sizing:border-box; float:left;}
.searchWideBox > li > span{float:left; margin-left:8px;}
.searchWideBox > li ul li{float:left; width:55px; border-left:1px solid #ddd; box-sizing:border-box;}
.searchWideBox > li ul li a{display:block; text-align:center; font-size:14px; line-height:30px; background-color:#fff;}
.searchWideBox > li ul li.active a, .searchWideBox > li ul li a:hover{background-color:#888; color:#fff;}
.shortText{width:110px;}
.dateAppBtn{background:#377fe7; color:#fff; text-align:center; display:inline-block; line-height:32px; width:80px; vertical-align:middle; margin-left:5px;}
/*검색부분*/
.searchDataBox:after{content:''; display:block; visibility:hidden; clear:both;}
.searchDataBox > .searchDataList {float:left; width:1150px; border-right:1px dashed #bbb; box-sizing:border-box; padding:50px 30px 50px 0; min-height:700px;}
.searchDataInfo{text-align:center; margin-bottom:50px; font-size:25px;}
.searchDataBox > .searchDataList .searchDataNav:after{content:''; display:block; visibility:hidden; clear:both;}
.searchDataBox > .searchDataList .searchDataNav{border-bottom:1px solid #222; box-sizing:border-box; margin-bottom:20px;}
.searchDataBox > .searchDataList .searchDataNav li{float:left; width:25%; box-sizing:border-box;}
.searchDataBox > .searchDataList .searchDataNav li a{display:block; text-align:center; padding:17px 0; font-size:17px;}
.searchDataBox > .searchDataList .searchDataNav li.active a, .searchDataBox > .searchDataList .searchDataNav li:hover a{background:#fff; border-radius:7px 7px 0 0; box-shadow:rgba(60, 90, 130, 0.2) 2px -2px 4px; color:#377fe7; }
/*탭*/
.searchDataListBox{padding:40px 0px 30px 0; position:relative;}
.searchDataListBox > .optionView{position:absolute; top:51px; right:13px;}
.searchDataListBox > .optionView .plusView{font-size:16px; line-height:32px; display:inline-block; vertical-align:middle;}
.searchDataListBox > .optionView select{min-width:50px; height:32px; vertical-align:middle; border-radius:5px; border:1px solid #ccc; padding:0 3px;}
.searchDataListBox > .optionView .searchViewBtn{font-size:16px; background:#2a6de8; color:#fff; line-height:32px; padding:0 12px; display:inline-block; border-radius:5px; vertical-align:middle;}
.searchDataListBox h3{font-weight:bold; font-size:20px; margin-bottom:25px; background:#f9f9fc; border-radius:5px; box-shadow:rgba(60, 90, 130, 0.2) 1px 1px 5px; padding:15px;}
.searchDataListBox h3 span{display:inline-block; margin-left:16px; font-size:12px; color:#869ec0; padding:4px 10px; border:1px solid #869ec0; border-radius:50px; font-weight:normal;}
.menuList > li ol:before{content:' · '; }
.menuList ol li{display:inline-block; margin-right:3px; font-size:17px; line-height:30px;}
.menuList ol li:before{content:' 〉'; color:#aaa;}
.menuList ol li:first-of-type:before{content:'';}
/*메뉴*/
.boardList li{margin-bottom:30px;}
.boardList li dt{margin-bottom:15px;}
.boardList li dt a{font-size:17px; font-weight:bold; line-height:24px;}
.boardList li dt .titleDate{color:#aaa; margin-left:8px; font-size:12px; line-height:24px; line-height:none;}
.boardList li dd:first-of-type{ margin-bottom:12px; font-size:15px; text-overflow:ellipsis; overflow:hidden; white-space:nowrap; word-wrap:normal; color:#444;}
.boardList li dd:nth-of-type(2){color:#999; margin-bottom:5px; font-size:15px; }
.boardList li dd:nth-of-type(2):before{color:#999; content:' ㄴ ';}
.boardList li dd:nth-of-type(3) > b{display:inline-block; color:#999; padding-right:24px; margin-bottom:5px; font-size:14px; line-height:26px; cursor:pointer;}
.boardList li dd .searchFileList{display:none; padding:10px 20px; border:1px dashed #bbb; font-size:14px; border-radius:5px;}
.boardList li dd .searchFileList a:before{content:'- ';}
.boardList li dd .searchFileList a{display:block; line-height:22px; font-size:14px; color:#777; margin-bottom:4px;}
.boardList li dd .searchFileList a:last-of-type{margin-bottom:0px;}
.boardFileList >li dl dt{padding-left:25px; background:url(../images/board/boardFile.png) left center no-repeat; background-size:20px;}
.boardFileList >li dl dt .downBtn{background:url(../images/board/down.png) 5px center no-repeat; border:1px solid #377fe7; color:#377fe7; font-size:14px; font-weight:normal; padding:2px 5px 2px 22px; margin-left:5px; background-size:21px;}
/*게시판*/
.openBul{position:relative; top:0; left:0;}
.openBul:after{content:''; width:10px; height:10px; background:url(../images/common/optionBg01.png)center center no-repeat; position:absolute; top:9px; right:8px;}
dd.focus .openBul:after{background:url(../images/common/optionBg03.png)center center no-repeat;}
/*일반*/
.searchDataBox > .popularSearchWord {float:left; width:220px; margin-left:30px;}
.searchDataBox > .popularSearchWord section {padding:30px 0 30px; }
.searchDataBox > .popularSearchWord section:first-of-type {padding:50px 0 30px; border-bottom:1px solid #ccc;}
.searchDataBox > .popularSearchWord section h3{font-size:20px; font-weight:bold; margin-bottom: 20px;}
.searchDataBox > .popularSearchWord section ul li{padding:4px;}
.searchDataBox > .popularSearchWord section ul li span{display:inline-block; width:20px; height:20px; box-sizing:border-box; line-height:18px; border:1px solid #999; color:#999; text-align:center; font-size:12px; vertical-align:middle; margin-right:8px;}
.searchDataBox > .popularSearchWord section ul li a{ line-height:17px; font-size:15px; vertical-align:middle;}
.searchDataBox > .popularSearchWord section ul.myWord li a:first-of-type:before{content:'· ';}
.searchDataBox > .popularSearchWord section ul li b{line-height:17px; font-size:12px; vertical-align:middle; font-weight:bold;}
.searchDataBox > .popularSearchWord section ul.popularWord li *:last-child{float:right;}
.searchDataBox > .popularSearchWord section ul li a:hover{text-decoration:underline;}
/*인기검색어*/
.footerArea{border-top:1px dashed #bbb; padding:40px 0;}
.footerArea p{padding:8px 0;}
.footerArea p:last-of-type{font-size:13px; color:#999;}
.emptyBox{margin:50px 0; border-radius:5px; box-shadow:rgba(60, 90, 130, 0.2) 1px 1px 5px; box-sizing:border-box; padding:310px 30px 30px 30px; text-align:center; background:url(../images/common/empty.png) #fff center 10px no-repeat;}
.emptyBox h3{color:#2a6de8; font-size:24px; line-height:30px; margin-bottom:20px; font-weight:bold;}
.emptyBox p{ box-sizing:border-box; padding:8px; font-size:16px; line-height:22px;}
/*검색내용부분------------------------------------------------------------------------*/
.paging{padding:40px 0; width:100%; text-align:center;}
.paging > a {display: inline-block; width:26px; line-height: 32px; text-align: center; font-size:16px; margin:0 5px;}
.paging > a:first-of-type , .paging > a:last-of-type {color:#aaa; letter-spacing:-3px;}
.paging ol {display: inline-block; box-sizing: border-box; text-align: center; padding:0 10px;}
.paging ol li {display: inline-block;}
.paging ol li a {display: block; font-size: 14px; line-height: 30px; height:32px; width: 32px; transition-duration: 0.4s; background:#fff; border-radius:5px; box-shadow:rgba(60, 90, 130, 0.2) 1px 1px 5px; }
.paging ol li a:hover {background-color:#cbdef8;}
.paging ol li a.focus { background-color:#2a6de8; color:#fff; font-weight:bold;}
/*페이징*/
@media screen and (max-width:1441px) {
.guideBox {width:95%; margin:0 auto;}
header .searchPagetop{margin-left:-300px; width:600px;}
.searchWideBox > li{padding:13px 0 13px 130px; float:none; margin-left:0px; border-left:none;}
.searchWideBox > li p{left:55px; }
/*검색부분*/
.searchDataBox > .searchDataList {width:calc(100% - 250px); }
}
@media screen and (min-width:1442px) {
.guideBox {width:1400px; margin:0 auto;}
}
/*pc*/

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1012 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1002 B

View File

@ -0,0 +1,25 @@
{
"name": "bxslider-4",
"version": "4.1.2",
"homepage": "https://bxslider.com",
"license": "MIT",
"main": [
"jquery.bxslider.js",
"jquery.bxslider.css",
"images/bx_loader.gif",
"images/controls.png"
],
"keywords": [
"bxslider",
"javascript",
"jquery",
"library"
],
"ignore": [
"**/.*",
"*.md"
],
"dependencies": {
"jquery": ">=1.6"
}
}

View File

@ -0,0 +1,20 @@

$(function () {
$('.searchFileBtn').click(function () {
if ($(this).parent('dd').hasClass('focus')) {
$(this).parent('dd').removeClass('focus');
$(this).parent('dd').children('.searchFileList').slideUp();
} else {
$(this).parent('dd').addClass('focus');
$(this).parent('dd').children('.searchFileList').slideDown();
}
});
$('.searchPageBoxBtn').click(function () {
if ($('.searchPageBox').hasClass('searchDTView')) {
$('.searchPageBox').removeClass('searchDTView');
} else {
$('.searchPageBox').addClass('searchDTView');
}
});
});

View File

@ -0,0 +1,18 @@
/**
* StyleFix 1.0.3 & PrefixFree 1.0.7
* @author Lea Verou
* MIT license
*/
(function(){function k(a,b){return[].slice.call((b||document).querySelectorAll(a))}if(window.addEventListener){var e=window.StyleFix={link:function(a){var c=a.href||a.getAttribute("data-href");try{if(!c||"stylesheet"!==a.rel||a.hasAttribute("data-noprefix"))return}catch(b){return}var d=c.replace(/[^\/]+$/,""),h=(/^[a-z]{3,10}:/.exec(d)||[""])[0],l=(/^[a-z]{3,10}:\/\/[^\/]+/.exec(d)||[""])[0],g=/^([^?]*)\??/.exec(c)[1],m=a.parentNode,f=new XMLHttpRequest,n;f.onreadystatechange=function(){4===f.readyState&&
n()};n=function(){var b=f.responseText;if(b&&a.parentNode&&(!f.status||400>f.status||600<f.status)){b=e.fix(b,!0,a);if(d)var b=b.replace(/url\(\s*?((?:"|')?)(.+?)\1\s*?\)/gi,function(b,a,c){return/^([a-z]{3,10}:|#)/i.test(c)?b:/^\/\//.test(c)?'url("'+h+c+'")':/^\//.test(c)?'url("'+l+c+'")':/^\?/.test(c)?'url("'+g+c+'")':'url("'+d+c+'")'}),c=d.replace(/([\\\^\$*+[\]?{}.=!:(|)])/g,"\\$1"),b=b.replace(RegExp("\\b(behavior:\\s*?url\\('?\"?)"+c,"gi"),"$1");c=document.createElement("style");c.textContent='/*# sourceURL='+a.getAttribute('href')+' */\n/*@ sourceURL='+a.getAttribute('href')+' */\n' +
b;c.media=a.media;c.disabled=a.disabled;c.setAttribute("data-href",a.getAttribute("href"));m.insertBefore(c,a);m.removeChild(a);c.media=a.media}};try{f.open("GET",c),f.send(null)}catch(p){"undefined"!=typeof XDomainRequest&&(f=new XDomainRequest,f.onerror=f.onprogress=function(){},f.onload=n,f.open("GET",c),f.send(null))}a.setAttribute("data-inprogress","")},styleElement:function(a){if(!a.hasAttribute("data-noprefix")){var b=a.disabled;a.textContent=e.fix(a.textContent,!0,a);a.disabled=b}},styleAttribute:function(a){var b=
a.getAttribute("style"),b=e.fix(b,!1,a);a.setAttribute("style",b)},process:function(){k('link[rel="stylesheet"]:not([data-inprogress])').forEach(StyleFix.link);k("style").forEach(StyleFix.styleElement);k("[style]").forEach(StyleFix.styleAttribute)},register:function(a,b){(e.fixers=e.fixers||[]).splice(void 0===b?e.fixers.length:b,0,a)},fix:function(a,b,c){for(var d=0;d<e.fixers.length;d++)a=e.fixers[d](a,b,c)||a;return a},camelCase:function(a){return a.replace(/-([a-z])/g,function(b,a){return a.toUpperCase()}).replace("-",
"")},deCamelCase:function(a){return a.replace(/[A-Z]/g,function(b){return"-"+b.toLowerCase()})}};(function(){setTimeout(function(){k('link[rel="stylesheet"]').forEach(StyleFix.link)},10);document.addEventListener("DOMContentLoaded",StyleFix.process,!1)})()}})();
(function(k){function e(b,c,d,h,l){b=a[b];b.length&&(b=RegExp(c+"("+b.join("|")+")"+d,"gi"),l=l.replace(b,h));return l}if(window.StyleFix&&window.getComputedStyle){var a=window.PrefixFree={prefixCSS:function(b,c,d){var h=a.prefix;-1<a.functions.indexOf("linear-gradient")&&(b=b.replace(/(\s|:|,)(repeating-)?linear-gradient\(\s*(-?\d*\.?\d*)deg/ig,function(b,a,c,d){return a+(c||"")+"linear-gradient("+(90-d)+"deg"}));b=e("functions","(\\s|:|,)","\\s*\\(","$1"+h+"$2(",b);b=e("keywords","(\\s|:)","(\\s|;|\\}|$)",
"$1"+h+"$2$3",b);b=e("properties","(^|\\{|\\s|;)","\\s*:","$1"+h+"$2:",b);if(a.properties.length){var l=RegExp("\\b("+a.properties.join("|")+")(?!:)","gi");b=e("valueProperties","\\b",":(.+?);",function(a){return a.replace(l,h+"$1")},b)}c&&(b=e("selectors","","\\b",a.prefixSelector,b),b=e("atrules","@","\\b","@"+h+"$1",b));b=b.replace(RegExp("-"+h,"g"),"-");return b=b.replace(/-\*-(?=[a-z]+)/gi,a.prefix)},property:function(b){return(0<=a.properties.indexOf(b)?a.prefix:"")+b},value:function(b,c){b=
e("functions","(^|\\s|,)","\\s*\\(","$1"+a.prefix+"$2(",b);b=e("keywords","(^|\\s)","(\\s|$)","$1"+a.prefix+"$2$3",b);0<=a.valueProperties.indexOf(c)&&(b=e("properties","(^|\\s|,)","($|\\s|,)","$1"+a.prefix+"$2$3",b));return b},prefixSelector:function(b){return b.replace(/^:{1,2}/,function(b){return b+a.prefix})},prefixProperty:function(b,c){var d=a.prefix+b;return c?StyleFix.camelCase(d):d}};(function(){var b={},c=[],d=getComputedStyle(document.documentElement,null),h=document.createElement("div").style,
l=function(a){if("-"===a.charAt(0)){c.push(a);a=a.split("-");var d=a[1];for(b[d]=++b[d]||1;3<a.length;)a.pop(),d=a.join("-"),StyleFix.camelCase(d)in h&&-1===c.indexOf(d)&&c.push(d)}};if(0<d.length)for(var g=0;g<d.length;g++)l(d[g]);else for(var e in d)l(StyleFix.deCamelCase(e));var g=0,f,k;for(k in b)d=b[k],g<d&&(f=k,g=d);a.prefix="-"+f+"-";a.Prefix=StyleFix.camelCase(a.prefix);a.properties=[];for(g=0;g<c.length;g++)e=c[g],0===e.indexOf(a.prefix)&&(f=e.slice(a.prefix.length),StyleFix.camelCase(f)in
h||a.properties.push(f));!("Ms"!=a.Prefix||"transform"in h||"MsTransform"in h)&&"msTransform"in h&&a.properties.push("transform","transform-origin");a.properties.sort()})();(function(){function b(a,b){h[b]="";h[b]=a;return!!h[b]}var c={"linear-gradient":{property:"backgroundImage",params:"red, teal"},calc:{property:"width",params:"1px + 5%"},element:{property:"backgroundImage",params:"#foo"},"cross-fade":{property:"backgroundImage",params:"url(a.png), url(b.png), 50%"}};c["repeating-linear-gradient"]=
c["repeating-radial-gradient"]=c["radial-gradient"]=c["linear-gradient"];var d={initial:"color","zoom-in":"cursor","zoom-out":"cursor",box:"display",flexbox:"display","inline-flexbox":"display",flex:"display","inline-flex":"display",grid:"display","inline-grid":"display","max-content":"width","min-content":"width","fit-content":"width","fill-available":"width"};a.functions=[];a.keywords=[];var h=document.createElement("div").style,e;for(e in c){var g=c[e],k=g.property,g=e+"("+g.params+")";!b(g,k)&&
b(a.prefix+g,k)&&a.functions.push(e)}for(var f in d)k=d[f],!b(f,k)&&b(a.prefix+f,k)&&a.keywords.push(f)})();(function(){function b(a){e.textContent=a+"{}";return!!e.sheet.cssRules.length}var c={":read-only":null,":read-write":null,":any-link":null,"::selection":null},d={keyframes:"name",viewport:null,document:'regexp(".")'};a.selectors=[];a.atrules=[];var e=k.appendChild(document.createElement("style")),l;for(l in c){var g=l+(c[l]?"("+c[l]+")":"");!b(g)&&b(a.prefixSelector(g))&&a.selectors.push(l)}for(var m in d)g=
m+" "+(d[m]||""),!b("@"+g)&&b("@"+a.prefix+g)&&a.atrules.push(m);k.removeChild(e)})();a.valueProperties=["transition","transition-property"];k.className+=" "+a.prefix;StyleFix.register(a.prefixCSS)}})(document.documentElement);

View File

@ -45,6 +45,8 @@
<script type="text/javascript" th:src="@{/js/common.js}"></script> <script type="text/javascript" th:src="@{/js/common.js}"></script>
<!-- 컨텐츠페이지의 스크립트 영역이 들어감 --> <!-- 컨텐츠페이지의 스크립트 영역이 들어감 -->
<th:block layout:fragment="script"></th:block> <th:block layout:fragment="script"></th:block>
</head> </head>
<body class="d-flex flex-column h-100 "> <body class="d-flex flex-column h-100 ">
<!--<header th:replace="fragments/header :: headerFragment"></header> <!--<header th:replace="fragments/header :: headerFragment"></header>

View File

@ -0,0 +1,269 @@
<!DOCTYPE html>
<html lang="ko" xmlns:th="http://www.thymeleaf.org"
xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
layout:decorate="~{layout/layout}">
<th:block layout:fragment="css">
<link rel="stylesheet" th:href="@{/css/searchEngine/base.css}"/>
<link rel="stylesheet" th:href="@{/css/searchEngine/search.css}"/>
</th:block>
<th:block layout:fragment="script">
<script type="text/javascript" th:src="@{/js/searchEngine/prefixfree.min.js}"></script>
<script type="text/javascript" th:src="@{/js/searchEngine/layout.js}"></script>
</th:block>
<div layout:fragment="content">
<main>
<div class="headerArea">
<header>
<div class="searchPagetop guideBox">
<form>
<div class="searchBox">
<label class="hide" for="T_search">통합검색</label>
<input type="text" title="입력" id="T_search" placeholder="검색어를 입력해주세요." />
<a href="#">검색</a>
<div class="autoSearchList">
<!--<p>자동완성 기능입니다.(데이터 없을 경우 문구)</p>-->
<ul>
<li><a href="#">연관검색어 1</a></li>
<li><a href="#">연관검색어 2</a></li>
<li><a href="#">연관검색어 3</a></li>
<li><a href="#">연관검색어 4</a></li>
<li><a href="#">연관검색어 5</a></li>
<li><a href="#">연관검색어 6</a></li>
<li><a href="#">연관검색어 7</a></li>
</ul>
</div>
<a href="#" class="searchPageBoxBtn">검색옵션</a>
<div class="sRightBox">
<span>
<input id="reSearch" type="checkbox" value="#" />
<label for="reSearch">결과 내 재검색</label>
</span>
</div>
</div>
</form>
</div>
</header>
</div>
<div class="searchPageBox">
<form>
<fieldset>
<legend class="hide">상세검색</legend>
<ul class="searchWideBox">
<li>
<p>정렬</p>
<input id="btn_chk1" type="radio" checked="checked" name="radio1" value="정확도순" />
<label for="btn_chk1">정확도순</label>
<input id="btn_chk2" type="radio" name="radio1" value="최신순" />
<label for="btn_chk2">최신순</label>
</li>
<li>
<p>기간</p>
<ul>
<li class="active"><a href="#">전체</a></li>
<li><a href="#">1일</a></li>
<li><a href="#">1주</a></li>
<li><a href="#">1개월</a></li>
<li><a href="#">3개월</a></li>
<li><a href="#">1년</a></li>
</ul>
<span>
<span class="tie">
<label class="hide" for="beginDay">시작일</label>
<input id="beginDay" name="beginDay" type="date" value="" maxlength="250" class="shortText" />
</span>
<b>~</b>
<span class="tie">
<label class="hide" for="endDay">종료일</label>
<input id="endDay" name="endDay" type="date" value="" maxlength="250" class="shortText" />
</span>
<a href="#" class="dateAppBtn">적용하기</a>
</span>
</li>
<li>
<p>영역</p>
<input id="btn_chk3" type="checkbox" checked="checked" value="제목" />
<label for="btn_chk3">제목</label>
<input id="btn_chk4" type="checkbox" value="내용" />
<label for="btn_chk4">내용</label>
<input id="btn_chk5" type="checkbox" value="첨부파일" />
<label for="btn_chk5">첨부파일</label>
</li>
</ul>
</fieldset>
</form>
</div>
<div class="searchContents">
<div class="guideBox searchDataBox" id="start_contents">
<div class="searchDataList">
<p class="searchDataInfo">검색어 <span class="red bold">"해양"</span>에 대한 총<span class="blue bold">7,623건</span>의 검색결과를 찾았습니다.</p>
<ul class="searchDataNav">
<li class="active"><a href="search.html">통합검색</a></li>
<li><a href="search_menu.html">메뉴검색</a></li>
<li><a href="search_board.html">게시판</a></li>
<li><a href="search_file.html">첨부파일</a></li>
</ul>
<section class="searchDataListBox">
<h3>메뉴검색<span>8건</span></h3>
<ul class="menuList">
<li>
<ol>
<li><a href="#"><span class="red bold">해양</span>경찰청</a></li>
<li><a href="#">정책자료</a></li>
<li><a href="#"><span class="red bold">해양</span>경찰 나라지표</a></li>
</ol>
</li>
<li>
<ol>
<li><a href="#"><span class="red bold">해양</span>경찰청</a></li>
<li><a href="#">기관소개</a></li>
<li><a href="#"><span class="red bold">해양</span>경찰 추모관</a></li>
</ol>
</li>
<li>
<ol>
<li><a href="#"><span class="red bold">해양</span>경찰청</a></li>
<li><a href="#">새소식/알림</a></li>
<li><a href="#">공지사항</a></li>
</ol>
</li>
<li>
<ol>
<li><a href="#"><span class="red bold">해양</span>경찰청</a></li>
<li><a href="#">새소식/알림</a></li>
<li><a href="#">채용정보</a></li>
</ol>
</li>
</ul>
<div class="optionView">
<a href="#" class="plusView">더보기 +</a>
</div>
</section>
<section class="searchDataListBox">
<h3>게시판<span>998건</span></h3>
<ul class="boardList">
<li>
<dl>
<dt><a href="#">2023년 2월 부안<span class="red bold">해양</span>경찰서 위도파출소장 업무추진비 집행내역 공개</a><span class="titleDate">2023.03.08</span></dt>
<dd>2023년 2월 부안<span class="red bold">해양</span>경찰서 위도파출소장 업무추진비 집행내역입니다.</dd>
<dd>해양경찰청 > 재정정보 > 업무추진비공개</dd>
<dd>
<b class="searchFileBtn openBul">· 첨부파일(2)</b>
<div class="searchFileList">
<a href="#">첨부파일 제목.hwp</a>
<a href="#">첨부파일 제목.hwp</a>
</div>
</dd>
</dl>
</li>
<li>
<dl>
<dt><a href="#">2023년 2월 부안<span class="red bold">해양</span>경찰서 위도파출소장 업무추진비 집행내역 공개</a><span class="titleDate">2023.03.08</span></dt>
<dd>2023년 2월 부안<span class="red bold">해양</span>경찰서 위도파출소장 업무추진비 집행내역입니다.2023년 2월 부안<span class="red bold">해양</span>경찰서 위도파출소장 업무추진비 집행내역입니다.2023년 2월 부안<span class="red bold">해양</span>경찰서 위도파출소장 업무추진비 집행내역입니다.</dd>
<dd>해양경찰청 > 재정정보 > 업무추진비공개</dd>
</dl>
</li>
<li>
<dl>
<dt><a href="#">2023년 2월 부안<span class="red bold">해양</span>경찰서 위도파출소장 업무추진비 집행내역 공개</a><span class="titleDate">2023.03.08</span></dt>
<dd>2023년 2월 부안<span class="red bold">해양</span>경찰서 위도파출소장 업무추진비 집행내역입니다.</dd>
<dd>해양경찰청 > 재정정보 > 업무추진비공개</dd>
<dd>
<b class="searchFileBtn openBul">· 첨부파일(1)</b>
<div class="searchFileList">
<a href="#">첨부파일 제목.hwp</a>
</div>
</dd>
</dl>
</li>
<li>
<dl>
<dt><a href="#">2023년 2월 부안<span class="red bold">해양</span>경찰서 위도파출소장 업무추진비 집행내역 공개</a><span class="titleDate">2023.03.08</span></dt>
<dd>2023년 2월 부안<span class="red bold">해양</span>경찰서 위도파출소장 업무추진비 집행내역입니다.</dd>
<dd>해양경찰청 > 재정정보 > 업무추진비공개</dd>
<dd>
<b class="searchFileBtn openBul">· 첨부파일(1)</b>
<div class="searchFileList">
<a href="#">첨부파일 제목.hwp</a>
</div>
</dd>
</dl>
</li>
</ul>
<div class="optionView">
<a href="#" class="plusView">더보기 +</a>
</div>
</section>
<section class="searchDataListBox">
<h3>첨부파일<span>201건</span></h3>
<ul class="boardList boardFileList">
<li>
<dl>
<dt><a href="#">180731 <span class="red bold">해양</span>경찰 “지자체 해안방제 대응 역량 높인다”.hwp</a><span class="titleDate">2018.07.31</span><a href="#" class="downBtn">내려받기</a></dt>
<dd>(화) 09:00 담당부서 기동방제과 담당과장 서기관 서정목 (044-205-2094/010-3942-1000) 담 당 자 사무관 김백제 (044-205-2296/010-9755-1327) <span class="red bold">해양</span>경찰 “지자체 해안방제 대응 역량 높인다” - 8월14일까지 지자체 대상 해안방제정책설명회 개최 - 해양경찰이 대규모 해양오염 사고 시.</dd>
<dd>해양경찰청 > 새소식/알림 > 보도자료</dd>
</dl>
</li>
<li>
<dl>
<dt><a href="#">(0730)주문진 영진해변 파도에 외해로 떠밀리던 물놀이객 구조.hwp</a><span class="titleDate">2018.07.31</span><a href="#" class="downBtn">내려받기</a></dt>
<dd>보 도 자 료 보도일시 배포 즉시 보도해 주시기 바랍니다. 총 1쪽(붙임 없음) 배포일시 2018.7.30.(월) 담당부서 속초<span class="red bold">해양</span>경찰서 기획운영과 담당과장 기획운영과장 경정 곽윤희(033-634-2212) 담 당 자 기획운영과 경사 홍상의(033-634-2212) 속초해경, 강릉 영진해변 물놀이객 구조해 -.</dd>
<dd>속초해양경찰서 > 알림사항 > 보도자료</dd>
</dl>
</li>
<li>
<dl>
<dt><a href="#">선박교통관제 시설관리규정(시행 18.4.2).hwp</a><span class="titleDate">2018.07.31</span><a href="#" class="downBtn">내려받기</a></dt>
<dd>선박교통관제 시설관리규정 선박교통관제 시설관리규정 법제처 - / - 국가법령정보센터 [시행 2018. 4. 2.] [<span class="red bold">해양</span>경찰청훈령 제61호, 2018. 4. 2., 일부개정.] 해양경찰청(해상교통관제과) 044-205-2485 {전문} 제1조(목적) 이 규정은「선박의 입항 및 출항 등에 관한....</dd>
<dd>해양경찰청 > VTS > 알림마당</dd>
</dl>
</li>
<li>
<dl>
<dt><a href="#">선박교통관제 시설관리규정(시행 18.4.2).hwp</a><span class="titleDate">2018.07.31</span><a href="#" class="downBtn">내려받기</a></dt>
<dd>선박교통관제 시설관리규정 선박교통관제 시설관리규정 법제처 - / - 국가법령정보센터 [시행 2018. 4. 2.] [<span class="red bold">해양</span>경찰청훈령 제61호, 2018. 4. 2., 일부개정.] 해양경찰청(해상교통관제과) 044-205-2485 {전문} 제1조(목적) 이 규정은「선박의 입항 및 출항 등에 관한....</dd>
<dd>해양경찰청 > VTS > 알림마당</dd>
</dl>
</li>
</ul>
<div class="optionView">
<a href="#" class="plusView">더보기 +</a>
</div>
</section>
</div>
<div class="popularSearchWord">
<section>
<h3>추천검색어</h3>
<ul class="myWord">
<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>
</ul>
</section>
<section>
<h3>인기검색어</h3>
<ul class="popularWord">
<li><span>1</span><a href="#">업무</a><b class="red"></b></li>
<li><span>2</span><a href="#">수상구조사</a><b class="red">NEW</b></li>
<li><span>3</span><a href="#">안전교육 일정</a><b class="blue"></b></li>
<li><span>4</span><a href="#">자격증발급</a><b class="red"></b></li>
<li><span>5</span><a href="#">의무경찰</a><b class="red"></b></li>
<li><span>6</span><a href="#">조종면허</a><b class="blue"></b></li>
<li><span>7</span><a href="#">안전사고</a><b class="blue"></b></li>
<li><span>8</span><a href="#">동력</a><b class="blue"></b></li>
<li><span>9</span><a href="#">응급구조</a><b class="red"></b></li>
<li><span>10</span><a href="#">오염방제</a><b class="blue"></b></li>
</ul>
</section>
</div>
</div>
</div>
</main>
</div>
</html>