diff --git a/egovframe-template-simple-react-contribution/public/assets/images/down.png b/egovframe-template-simple-react-contribution/public/assets/images/down.png new file mode 100644 index 0000000..ad4a86f Binary files /dev/null and b/egovframe-template-simple-react-contribution/public/assets/images/down.png differ diff --git a/egovframe-template-simple-react-contribution/public/assets/images/ge.png b/egovframe-template-simple-react-contribution/public/assets/images/ge.png new file mode 100644 index 0000000..be394ce Binary files /dev/null and b/egovframe-template-simple-react-contribution/public/assets/images/ge.png differ diff --git a/egovframe-template-simple-react-contribution/public/assets/images/je.png b/egovframe-template-simple-react-contribution/public/assets/images/je.png new file mode 100644 index 0000000..e423f49 Binary files /dev/null and b/egovframe-template-simple-react-contribution/public/assets/images/je.png differ diff --git a/egovframe-template-simple-react-contribution/src/App.js b/egovframe-template-simple-react-contribution/src/App.js index c009d87..2417ec3 100644 --- a/egovframe-template-simple-react-contribution/src/App.js +++ b/egovframe-template-simple-react-contribution/src/App.js @@ -1,7 +1,8 @@ import RootRoutes from './routes'; import ThemeCustomization from 'themes'; import ScrollTop from 'components/ScrollTop'; -import React from 'react'; +import React, { useEffect } from 'react'; +import { useLocation } from 'react-router-dom'; import 'bootstrap/dist/css/bootstrap.min.css'; import './css/base.css'; @@ -11,17 +12,34 @@ import './css/page.css'; import './css/response.css'; import './css/Custom/customMain.css' +import URL from "constants/url"; + function App() { return ( + ) } +const ScrollControl = () => { + const location = useLocation(); + + useEffect(() => { + const hideFooterPaths = [URL.STANDARD_CODE_VIEWER, URL.STANDARD_CODE_LIST]; + if (hideFooterPaths.some(path => location.pathname.includes(path))) { + document.body.style.overflow = 'hidden'; + } else { + document.body.style.overflow = ''; + } + }, [location]); + + return null; +}; console.log("process.env.NODE_ENV", process.env.NODE_ENV); console.log("process.env.REACT_APP_EGOV_CONTEXT_URL", "[" + process.env.REACT_APP_EGOV_CONTEXT_URL + "]"); diff --git a/egovframe-template-simple-react-contribution/src/components/EgovFooter.jsx b/egovframe-template-simple-react-contribution/src/components/EgovFooter.jsx index 16ef788..e7d05cb 100644 --- a/egovframe-template-simple-react-contribution/src/components/EgovFooter.jsx +++ b/egovframe-template-simple-react-contribution/src/components/EgovFooter.jsx @@ -1,14 +1,16 @@ import React, { useState, useCallback } from 'react'; import {Link, NavLink} from 'react-router-dom'; -import URL from "../constants/url"; +import URL from "constants/url"; import Collapse from 'react-bootstrap/Collapse' function EgovFooter() { const [toggle, setToggle] = useState(false); const toggleFunc = useCallback(() => setToggle(!toggle), [toggle]); + const hideFooterPaths = [URL.STANDARD_CODE_VIEWER, URL.STANDARD_CODE_LIST]; + const currentPath = window.location.pathname; - if(window.location.pathname.includes("/standardCode/viewer")){ + if(hideFooterPaths.some(path => currentPath.includes(path))){ return null; }else{ return ( diff --git a/egovframe-template-simple-react-contribution/src/components/EgovHeader.jsx b/egovframe-template-simple-react-contribution/src/components/EgovHeader.jsx index f0c0c17..6295572 100644 --- a/egovframe-template-simple-react-contribution/src/components/EgovHeader.jsx +++ b/egovframe-template-simple-react-contribution/src/components/EgovHeader.jsx @@ -92,68 +92,91 @@ function EgovHeader({ loginUser, onChangeLogin }) { //
-
-
+ + 국가건설기준센터 국가건설기준센터 -
-
국가건설기준센터
-
-
-
- - + + + {/*국가건설기준센터*/} +
+
+
+
+ +
+
+
+
+ +
+
+
+
-
-
-
-
-
-
- -
-
-
-
- -
-
-
-
-
-
-
- - 공통코드 - 지반코드 - 구조코드 - 내진코드 - 가설코드 - 교량코드 - 터널코드 - 공동구코드 - 설비코드 - {showMore ? () : ( · · · )} + + + + + + + + - {showMore && ( - - 조경코드 - 건축코드 - 도로코드 - 철도코드 - 하천코드 - 댐코드 - 상수도코드 - 하수도코드 - 농업기반코드 - - )} -
-
+ + + {/*
*/} + {/*
*/} + {/*
*/} + {/*
*/} + {/* */} + {/*
*/} + {/*
*/} + {/*
*/} + {/*
*/} + {/* */} + {/*
*/} + {/*
*/} + {/*
*/} + {/*
*/} + {/*
*/} + {/*
*/} + {/*
*/} + {/* */} + {/* 공통코드*/} + {/* 지반코드*/} + {/* 구조코드*/} + {/* 내진코드*/} + {/* 가설코드*/} + {/* 교량코드*/} + {/* 터널코드*/} + {/* 공동구코드*/} + {/* 설비코드*/} + {/* {showMore ? () : ( · · · )}*/} + {/* */} + {/* {showMore && (*/} + {/* */} + {/* 조경코드*/} + {/* 건축코드*/} + {/* 도로코드*/} + {/* 철도코드*/} + {/* 하천코드*/} + {/* 댐코드*/} + {/* 상수도코드*/} + {/* 하수도코드*/} + {/* 농업기반코드*/} + {/* */} + {/* )}*/} + {/*
*/} + {/*
*/} {/*

*/} {/* */} diff --git a/egovframe-template-simple-react-contribution/src/css/Custom/customMain.css b/egovframe-template-simple-react-contribution/src/css/Custom/customMain.css index 971fd2d..58b4f2d 100644 --- a/egovframe-template-simple-react-contribution/src/css/Custom/customMain.css +++ b/egovframe-template-simple-react-contribution/src/css/Custom/customMain.css @@ -12,49 +12,55 @@ background-color: #212121; } -.code_list .head >span:nth-child(1),.code_list .result .List_Codes >div:nth-child(1){ - text-align: left; - width: 12%; -} -.code_list .head >span:nth-child(2),.code_list .result .List_Codes >div:nth-child(2){ - text-align: left; - width: 15%; -} -.code_list .head >span:nth-child(3),.code_list .result .List_Codes >div:nth-child(3){ - text-align: left; - width: 10%; -} -.code_list .head >span:nth-child(4),.code_list .result .List_Codes >div:nth-child(4) { - width: 34%; - text-align: left; -} -.code_list .head >span:nth-child(5),.code_list .result .List_Codes >div:nth-child(5){ - width: 15%; -} -.code_list .head >span:nth-child(6),.code_list .result .List_Codes >div:nth-child(6){ - width: 15%; -} -.code_list .head > span:nth-child(7),.code_list .result .List_Codes >div:nth-child(7){ - width: 7%; -} -.code_list .result .List_Codes >div:nth-child(1), -.code_list .result .List_Codes >div:nth-child(2), -.code_list .result .List_Codes >div:nth-child(3), -.code_list .result .List_Codes >div:nth-child(4), -.code_list .result .List_Codes >div:nth-child(5), -.code_list .result .List_Codes >div:nth-child(6), -.code_list .result .List_Codes >div:nth-child(7){ - font-size: 14px; -} +/*.code_list .head >span:nth-child(1),.code_list .result .List_Codes >div:nth-child(1){*/ +/* text-align: left;*/ +/* width: 12%;*/ +/*}*/ +/*.code_list .head >span:nth-child(2),.code_list .result .List_Codes >div:nth-child(2){*/ +/* text-align: left;*/ +/* width: 15%;*/ +/*}*/ +/*.code_list .head >span:nth-child(3),.code_list .result .List_Codes >div:nth-child(3){*/ +/* text-align: left;*/ +/* width: 10%;*/ +/*}*/ +/*.code_list .head >span:nth-child(4),.code_list .result .List_Codes >div:nth-child(4) {*/ +/* width: 34%;*/ +/* text-align: left;*/ +/*}*/ +/*.code_list .head >span:nth-child(5),.code_list .result .List_Codes >div:nth-child(5){*/ +/* width: 15%;*/ +/*}*/ +/*.code_list .head >span:nth-child(6),.code_list .result .List_Codes >div:nth-child(6){*/ +/* width: 15%;*/ +/*}*/ +/*.code_list .head > span:nth-child(7),.code_list .result .List_Codes >div:nth-child(7){*/ +/* width: 7%;*/ +/*}*/ +/*.code_list .result .List_Codes >div:nth-child(1),*/ +/*.code_list .result .List_Codes >div:nth-child(2),*/ +/*.code_list .result .List_Codes >div:nth-child(3),*/ +/*.code_list .result .List_Codes >div:nth-child(4),*/ +/*.code_list .result .List_Codes >div:nth-child(5),*/ +/*.code_list .result .List_Codes >div:nth-child(6),*/ +/*.code_list .result .List_Codes >div:nth-child(7){*/ +/* font-size: 14px;*/ +/*}*/ -.standard_code_modal .head >span:nth-child(1),.standard_code_modal .result .list_item >div:nth-child(1){width: 12%;} -.standard_code_modal .head >span:nth-child(2),.standard_code_modal .result .list_item >div:nth-child(2){width: 15%;} -.standard_code_modal .head >span:nth-child(3),.standard_code_modal .result .list_item >div:nth-child(3){width: 10%;} +/*.standard_code_modal .head >span:nth-child(1),.standard_code_modal .result .list_item >div:nth-child(1){width: 12%;}*/ +/*.standard_code_modal .head >span:nth-child(2),.standard_code_modal .result .list_item >div:nth-child(2){width: 15%;}*/ +/*.standard_code_modal .head >span:nth-child(3),.standard_code_modal .result .list_item >div:nth-child(3){width: 10%;}*/ .standard_code_result{ - max-height: 520px; - overflow-y: auto; + max-height: calc(100vh - 238px); + overflow-y: scroll; } + +.standard_code_result_detail{ + max-height: calc(100vh - 577px); + overflow-y: scroll; +} + .download_list{ max-height: 550px; overflow-y: auto; @@ -67,7 +73,7 @@ max-width: 100%; } .listTableDiv{ - padding: 0 !important; + padding: 0 10px !important; } .vieweratag{ color: black; diff --git a/egovframe-template-simple-react-contribution/src/css/base.css b/egovframe-template-simple-react-contribution/src/css/base.css index cdb18d3..ee8060b 100644 --- a/egovframe-template-simple-react-contribution/src/css/base.css +++ b/egovframe-template-simple-react-contribution/src/css/base.css @@ -64,6 +64,7 @@ button {cursor: pointer;} .w_full {width: 100%;} .w_half {width: 50%;} .w_quarter {width: 25%;} +.w_20 {width: 20px;} .w_50 {width: 50px;} .w_70 {width: 70px;} .w_80 {width: 80px;} @@ -82,6 +83,7 @@ button {cursor: pointer;} .mw_400 {max-width: 400px;} .mw_450 {max-width: 450px;} +.h_20 {height: 20px;} .h_25 {height: 25px;} .h_30 {height: 30px;} .h_40 {height: 40px;} @@ -97,6 +99,7 @@ button {cursor: pointer;} .f_15 {font-size: 15px;} .f_16 {font-size: 16px;} .f_17 {font-size: 17px;} +.f_30 {font-size: 30px;} /* 여백 */ @@ -108,6 +111,7 @@ button {cursor: pointer;} .bg-fa {background: #FAFAFA !important;} .bg-224 {background: #22498E !important;} +.bg-f8f {background: #F8FAFC !important;} .text-4c6 {color: #4C6C84 !important;} .text-224 {color: #22498E !important;} diff --git a/egovframe-template-simple-react-contribution/src/css/component.css b/egovframe-template-simple-react-contribution/src/css/component.css index dbd1ed0..d6b5a57 100644 --- a/egovframe-template-simple-react-contribution/src/css/component.css +++ b/egovframe-template-simple-react-contribution/src/css/component.css @@ -66,6 +66,10 @@ .board_list .result .list_item1 {display: table; width: 100%; table-layout: fixed; margin-left: 0px;} .board_list .result .list_item1 > div {display: table-cell; padding: 5px 0; border-bottom: 1px solid #dde2e5; color: #666; font-size: 14px; text-align: center; vertical-align: middle; } +/* 건설기준 리스트 */ +.board_list .result .list_item2 {display: table; width: 100%; table-layout: fixed; margin-left: 0px;} +.board_list .result .list_item2 > div {display: table-cell; padding-top: 5px; border-bottom: 1px solid #dde2e5; color: #666; font-size: 14px; text-align: center; vertical-align: middle; } + .board_bot {margin-top: 40px;} .paging {text-align: center;} @@ -255,9 +259,10 @@ select::-ms-expand {display:none;} /* 건설기준코드list 설계기준 표준시방서 전문시방서 통합 다운로드 탭 */ .right_col {display: flex; justify-content: space-between; align-items: center;} .mini_board ul {display: flex; list-style: none; padding: 0; margin: 0;} -.tab {padding: 5px 10px; margin-right: 10px; cursor: pointer; border: 1px solid #ccc; border-radius: 5px; transition: background-color 0.3s;} +.tab {width: 100px; padding: 5px 0; cursor: pointer; border: 1px solid #ccc; border-radius: 10px; transition: background-color 0.3s;} .tab:hover {background-color: #f0f0f0;} -.active {background-color: #007bff; color: #fff;} +.active {background-color: #22498E; color: #fff;} +.nav-item a {color: #6C6C6C;} .f_input {height: 46px; padding: 0 20px; border: 0; border-radius: 5px; color: #222; font-size: 16px; background: #f7f7f7;} .f_input1 {width:200px; height: 32px; padding: 0 30px 0 0; border: 0; border-radius: 5px; color: #222; font-size: 16px; background: #f7f7f7 url(css/images/bg_btn_calendar.png) no-repeat;background-position: right center; background-size: 32px 32px; cursor: pointer;} /* made by lim f_input1*/ diff --git a/egovframe-template-simple-react-contribution/src/css/layout.css b/egovframe-template-simple-react-contribution/src/css/layout.css index 502621b..c7c860c 100644 --- a/egovframe-template-simple-react-contribution/src/css/layout.css +++ b/egovframe-template-simple-react-contribution/src/css/layout.css @@ -4,7 +4,7 @@ body {min-width: 1400px;} /*.header {position: relative;}*/ .header::after {content: ""; display: block; left: 0; bottom: 0; width: 100%; height: 1px; background: #dedede;} -.header > .inner {max-width: 1400px; height: 210px; margin: 0 auto; } /* position: relative; padding: 0 50px; */ +.header > .inner {max-width: 1400px; height: 110px; margin: 0 auto; } /* position: relative; padding: 0 50px; */ .header h1 {display: inline-block; margin-top: 32px;} .header h1 a, .header h1 img {display: block;} @@ -28,8 +28,8 @@ body {min-width: 1400px;} .header .right_a .btn.active {background: url(css/images/ico_allmenu_close.png) no-repeat center; background-size: 22px 18px;} .header .right_a .btn.mobile {display: none;} -.header .search {height:96px; padding:24px 0px 10px; margin: 0 auto; } -.header .search .search_input {max-width: 734px; width: calc(100% - 40px); height:62px; margin: 0 auto; border: 2px solid #004994; border-radius: 20px; padding: 10px} +.header .search {height:66px; padding:0; margin: 0 auto; } +.header .search .search_input {max-width: 734px; width: calc(100% - 40px); height:52px; margin: 0 auto; border: 2px solid #004994; border-radius: 20px; padding: 5px} .header .search .search_input select {border: none;} .header .search .search_input input {ime-mode:active; border: none;} .header .search .topsearch {width: 40px; height: 40px; background: url(css/images/ico_search_b.png) no-repeat center center; background-size: 22px 22px; filter: brightness(1) sepia(1) saturate(3) hue-rotate(175deg);} diff --git a/egovframe-template-simple-react-contribution/src/css/page.css b/egovframe-template-simple-react-contribution/src/css/page.css index 64f1b2c..0417058 100644 --- a/egovframe-template-simple-react-contribution/src/css/page.css +++ b/egovframe-template-simple-react-contribution/src/css/page.css @@ -410,6 +410,9 @@ .BOARD_USE_LIST .board_view2 dl dt {width: 185px;} .BOARD_USE_LIST .board_view2 dl:nth-child(2) dd .f_input2 {width: 490px; margin-left: 17px;} + /* 검색화면 */ + /*.board_view2*/ + /* 사용자 게시판 */ .BRD013 .head > span:nth-child(1) {position: relative; width: 60px;} @@ -505,6 +508,31 @@ .BRD020 .result .list_item > div:nth-child(6) {width: 120px;} .BRD020 .result .list_item > div:nth-child(7) {width: 100px;} + /* 기준코드 리스트 */ + .BRD021 .head > span:nth-child(1) {position: relative; width: 120px;} + .BRD021 .head > span:nth-child(2) {position: relative; } + .BRD021 .head > span:nth-child(3) {position: relative; width: 120px;} + .BRD021 .head > span:nth-child(4) {position: relative; width: 200px;} + .BRD021 .head > span:nth-child(5) {position: relative; width: 250px;} + .BRD021 .head > span:nth-child(6) {position: relative; width: 100px;} + .BRD021 .head > span:nth-child(7) {width: 100px;} /* 스크롤바 크기만큼 width 더 잡아야 함.*/ + .BRD021 .head > span:nth-child(-n+6)::after {position: absolute; content: ''; right: 0; bottom: 0; height: 50%; border-right: 1px solid #B5B5B5;} + .BRD021 .result .list_item2 > div:nth-child(1) {width: 120px;} + .BRD021 .result .list_item2 > div:nth-child(2) {text-overflow: ellipsis; white-space: nowrap; overflow: hidden; text-align: left; padding-left: 10px;} + .BRD021 .result .list_item2 > div:nth-child(3) {width: 120px;} + .BRD021 .result .list_item2 > div:nth-child(4) {width: 200px;} + .BRD021 .result .list_item2 > div:nth-child(5) {width: 250px; padding-left: 10px;} + .BRD021 .result .list_item2 > div:nth-child(6) {width: 100px;} + .BRD021 .result .list_item2 > div:nth-child(7) {width: 80px;} + + /* 통합다운로드 */ + .BRD022 .head > span:nth-child(1) {position: relative; width: 40%; } + .BRD022 .head > span:nth-child(2) {position: relative; width: 30%; } + .BRD022 .head > span:nth-child(3) {position: relative; width: 30%; } + .BRD022 .head > span:nth-child(-n+2)::after {position: absolute; content: ''; right: 0; bottom: 0; height: 50%; border-right: 1px solid #B5B5B5;} + .BRD022 .result .list_item > div:nth-child(1) {width: 40%; text-align: center;} + .BRD022 .result .list_item > div:nth-child(2) {width: 30%; text-align: center;} + .BRD022 .result .list_item > div:nth-child(3) {width: 30%; text-align: center;} /* 찾아오시는길 */ .SITE_CONTACT_US .map {margin-top: 43px;} diff --git a/egovframe-template-simple-react-contribution/src/css/response.css b/egovframe-template-simple-react-contribution/src/css/response.css index 84a3536..af58ead 100644 --- a/egovframe-template-simple-react-contribution/src/css/response.css +++ b/egovframe-template-simple-react-contribution/src/css/response.css @@ -5,8 +5,8 @@ /* Layout */ body {min-width: auto;} - .header .inner {width: 100%; height: 70px; padding: 0 20px;} - .header h1 {margin-top: 22.5px;} + .header .inner {width: 100%; padding: 0 10px;} + /*.header h1 {margin-top: 22.5px;}*/ .header .logo .w {display: none;} .header .logo .m {display: block;} .header .logo .m img {height: 25px;} diff --git a/egovframe-template-simple-react-contribution/src/pages/standardCode/list/DownloadModal.jsx b/egovframe-template-simple-react-contribution/src/pages/standardCode/list/DownloadModal.jsx index 76877e3..2475303 100644 --- a/egovframe-template-simple-react-contribution/src/pages/standardCode/list/DownloadModal.jsx +++ b/egovframe-template-simple-react-contribution/src/pages/standardCode/list/DownloadModal.jsx @@ -3,6 +3,8 @@ import {Button, Modal, Nav} from "react-bootstrap"; import Col from "react-bootstrap/Col"; import Row from "react-bootstrap/Row"; import * as EgovNet from "api/egovFetch"; +import URL from "constants/url"; +import {Link} from "react-router-dom"; function DownloadModal({closeFn}){ @@ -33,22 +35,40 @@ function DownloadModal({closeFn}){ 통합다운로드 - - -
{setTab(10); setSubTabsVisible(false)}}>설계기준
- - -
{setTab(20); setSubTabsVisible(false)}}>표준시방서
- - -
{setTab(40); setSubTabsVisible(true)}}>전문시방서
- -
+ +
+
    +
  • +
    {setTab(10); setSubTabsVisible(false)}}>설계기준
    +
  • +
  • +
    {setTab(20); setSubTabsVisible(false)}}>표준시방서
    +
  • +
  • +
    {setTab(40); setSubTabsVisible(true)}}>전문시방서
    +
  • +
+
+ + {/**/} + {/* */} + {/*
{setTab(10); setSubTabsVisible(false)}}>설계기준
*/} + {/* */} + {/* */} + {/*
{setTab(20); setSubTabsVisible(false)}}>표준시방서
*/} + {/* */} + {/* */} + {/*
{setTab(40); setSubTabsVisible(true)}}>전문시방서
*/} + {/* */} + {/*
*/} {subTabsVisible && ( -

); } diff --git a/egovframe-template-simple-react-contribution/src/pages/standardCode/list/HistoryModal.jsx b/egovframe-template-simple-react-contribution/src/pages/standardCode/list/HistoryModal.jsx index f2a5114..d20b32f 100644 --- a/egovframe-template-simple-react-contribution/src/pages/standardCode/list/HistoryModal.jsx +++ b/egovframe-template-simple-react-contribution/src/pages/standardCode/list/HistoryModal.jsx @@ -1,4 +1,6 @@ import React from "react"; +import {Link} from "react-router-dom"; + import * as File from "utils/file" import {Button, Modal, Nav} from "react-bootstrap"; @@ -11,7 +13,7 @@ function HistoryModal({closeFn, standardCode}){
코드 : {standardCode.kcscCd}
-
+
고시일 기준코드 @@ -25,12 +27,12 @@ function HistoryModal({closeFn, standardCode}){
{history.rvsnYmd.split('T')[0]}
- {history.docFileGrpId} - {history.docFileGrpId?:''} + {/*{history.docFileGrpId}*/} + {history.docFileGrpId?File.standardCode(history.docFileGrpId)}> :''}
- {history.rvsnFileGrpId} - {history.rvsnFileGrpId?:''} + {/*{history.rvsnFileGrpId}*/} + {history.rvsnFileGrpId?File.download(history.rvsnFileGrpId)}> :''}
) @@ -38,7 +40,7 @@ function HistoryModal({closeFn, standardCode}){
- + {/**/} ) } diff --git a/egovframe-template-simple-react-contribution/src/pages/standardCode/list/StandardCodeList.jsx b/egovframe-template-simple-react-contribution/src/pages/standardCode/list/StandardCodeList.jsx index 87b4998..9adc801 100644 --- a/egovframe-template-simple-react-contribution/src/pages/standardCode/list/StandardCodeList.jsx +++ b/egovframe-template-simple-react-contribution/src/pages/standardCode/list/StandardCodeList.jsx @@ -1,17 +1,19 @@ import React from 'react'; +import {Link} from 'react-router-dom'; + import Col from "react-bootstrap/Col"; import Row from "react-bootstrap/Row"; import FavoriteIcon from "./FavoriteIcon"; import Button from "react-bootstrap/Button"; -function StandardCodeList({listData, filterData, getHistoryModal}) { +function StandardCodeList({listData, filterData, getHistoryModal, isDetailSearchOpen}) { function historyBtn(item){ getHistoryModal(item); } return ( -
+
{listData.filter(item => { if (item.groupNm.includes(filterData)) { return item @@ -19,15 +21,12 @@ function StandardCodeList({listData, filterData, getHistoryModal}) { return null }).map(item => { return ( -
+
+
{item.kcscCd}
+
{item.groupNm}
{item.rvsnRemark}
{item.mainCategory}
{item.middleCategory}
-
{item.kcscCd}
-
{item.groupNm}
{item.rvsnRemark}
-
- -
-
+
{item.historyList.filter(history => { return history; @@ -39,25 +38,43 @@ function StandardCodeList({listData, filterData, getHistoryModal}) { }else{ buttonClass += "btn-primary " } + + const handleClick = () => { + const rvsnYmd = new Date(history.rvsnYmd); + rvsnYmd.setHours(rvsnYmd.getHours() + 9); + window.open("/standardCode/viewer/" + history.kcscCd + ":" + rvsnYmd.toISOString().split('T')[0]); + }; + return ( - { - const rvsnYmd = new Date(history.rvsnYmd) - rvsnYmd.setHours(rvsnYmd.getHours()+9) - window.open("/standardCode/viewer/"+history.kcscCd+":"+rvsnYmd.toISOString().split('T')[0]); - }} + {/*{*/} + {/* const rvsnYmd = new Date(history.rvsnYmd)*/} + {/* rvsnYmd.setHours(rvsnYmd.getHours()+9)*/} + {/* window.open("/standardCode/viewer/"+history.kcscCd+":"+rvsnYmd.toISOString().split('T')[0]);*/} + {/* }}*/} + {/*/>*/} + + {history.docEr

{history.docYr}

+ ) })}
- +
+ {/**/} + {historyBtn(item)}}> +
+
) })} diff --git a/egovframe-template-simple-react-contribution/src/pages/standardCode/list/StandardCodePage.jsx b/egovframe-template-simple-react-contribution/src/pages/standardCode/list/StandardCodePage.jsx index 3c483c2..561e010 100644 --- a/egovframe-template-simple-react-contribution/src/pages/standardCode/list/StandardCodePage.jsx +++ b/egovframe-template-simple-react-contribution/src/pages/standardCode/list/StandardCodePage.jsx @@ -18,6 +18,7 @@ function StandardCodePage({}) { const [resultCnt, setResultCnt] = useState(0); const [remarkCnt, setRemarkCnt] = useState(0); const [modalContent, setModalContent] = useState([]); + const [isDetailSearchOpen, setIsDetailSearchOpen] = useState(false); const [show, setShow] = useState(false); function close() { @@ -56,39 +57,34 @@ function StandardCodePage({}) { setModalContent() } + const toggleDetailSearch = () => { + setIsDetailSearchOpen(prevState => !prevState); + }; + return (
- {/*
-
    -
  • Home
  • -
  • 건설기준코드
  • -
  • 건설기준코드 검색
  • -
-
*/}
-
- {/*
-

건설기준코드 검색

-
*/} -
-
-
+ {/*
*/} + {/*
*/} + {/*
*/} + {/*
*/}
- -
+ +
{/*code_list*/}
- 대분류 - 중분류 코드번호 코드명 + 대분류 + 중분류 개정이력 - 보기 + 다운로드 즐겨찾기
{ listLoading?():( - + ) }
@@ -96,10 +92,10 @@ function StandardCodePage({}) { {modalContent}
-
-
-
-
+ {/*
*/} + {/*
*/} + {/*
*/} + {/*
*/}
diff --git a/egovframe-template-simple-react-contribution/src/pages/standardCode/list/StandardCodeSearchForm.jsx b/egovframe-template-simple-react-contribution/src/pages/standardCode/list/StandardCodeSearchForm.jsx index 624bb9a..5361f25 100644 --- a/egovframe-template-simple-react-contribution/src/pages/standardCode/list/StandardCodeSearchForm.jsx +++ b/egovframe-template-simple-react-contribution/src/pages/standardCode/list/StandardCodeSearchForm.jsx @@ -1,12 +1,15 @@ -import React, {useEffect, useState} from "react"; +import React, {useEffect, useState, memo} from "react"; +import {Link} from "react-router-dom"; +import URL from "constants/url"; + import {Nav} from "react-bootstrap"; import Row from "react-bootstrap/Row"; import Col from "react-bootstrap/Col"; -import {Link} from "react-router-dom"; import Button from "react-bootstrap/Button"; -import * as EgovNet from "../../../api/egovFetch"; -function StandardCodeSearchForm({param, reloadFunction, resultCnt, remarkCnt, downloadModal}){ +import * as EgovNet from "api/egovFetch"; + +function StandardCodeSearchForm({param, reloadFunction, resultCnt, remarkCnt, downloadModal, toggleDetailSearch, isDetailSearchOpen}){ const [searchCondition, setSearchCondition] = useState({ tab: Number(param?.substring(0, 2)), @@ -53,7 +56,7 @@ function StandardCodeSearchForm({param, reloadFunction, resultCnt, remarkCnt, do getSelectBoxOption(groupCd, (resp)=>{ const options = []; resp.result.groupList.forEach(function (item, index){ - options.push() + options.push() }) setCat1SelectOption(options) }) @@ -65,7 +68,7 @@ function StandardCodeSearchForm({param, reloadFunction, resultCnt, remarkCnt, do getSelectBoxOption(groupCd, (resp)=>{ const options = []; resp.result.groupList.forEach(function (item, index){ - options.push() + options.push() }) setCat2SelectOption(options) }) @@ -77,88 +80,199 @@ function StandardCodeSearchForm({param, reloadFunction, resultCnt, remarkCnt, do getSelectBoxOption(groupCd, (resp)=>{ const options = []; resp.result.groupList.forEach(function (item, index){ - options.push() + options.push() }) setCat3SelectOption(options) }) }, [searchCondition.category2]); + //상세검색 토글관련 + const handleSearch = () => { + reloadFunction({ param }); + if (isDetailSearchOpen) { + toggleDetailSearch(); + } + }; return ( <> -
-
    -
  • -
    {setSearchCondition({...searchCondition, tab: 10})}}>설계기준
    + {/* */} +
    +
      +
    • +
    • -
    • -
      {setSearchCondition({...searchCondition, tab: 20})}}>표준시방서
      +
    • +
    • -
    • -
      {setSearchCondition({...searchCondition, tab: 40})}}>전문시방서
      +
    • -
    • - -
    • -
    • - -
    • -
    • - -
    • -
    • + {/*
    • */} + {/* */} + {/*
    • */} + {/*
    • */} + {/* */} + {/*
    • */} +
    • {remarkCnt?( 전체 {resultCnt} / {remarkCnt} ):( 전체 {resultCnt} 건 )} -
    • -
    • -
      통합 다운로드
      +
    • +
    - - - {subTabsVisible && ( - - )} - - - - - + {/* */} + + {isDetailSearchOpen && ( +
    + {/* 상세 검색 조건을 여기에 추가 */} +
    +
    +
    + + 설계기준(KDS) + 설계기준(KDS) + 설계기준(KDS) + 설계기준(KDS) + +
    +
    +
    +
    건설기준
    +
    + + +
    +
    +
    +
    전문시방서
    +
    + + + + + + +
    +
    +
    +
    카테고리
    +
    + + + +
    +
    +
    +
    검색어
    +
    + +
    +
    +
    + +
    + + +
    +
    + )} + + {/*
    */} + {/*
      */} + {/*
    • */} + {/*
      {setSearchCondition({...searchCondition, tab: 10})}}>설계기준
      */} + {/*
    • */} + {/*
    • */} + {/*
      {setSearchCondition({...searchCondition, tab: 20})}}>표준시방서
      */} + {/*
    • */} + {/*
    • */} + {/*
      {setSearchCondition({...searchCondition, tab: 40})}}>전문시방서
      */} + {/*
    • */} + {/*
    • */} + {/* */} + {/*
    • */} + {/*
    • */} + {/* */} + {/*
    • */} + {/*
    • */} + {/* */} + {/*
    • */} + {/*
    • */} + {/* {remarkCnt?(*/} + {/* 전체 {resultCnt} / {remarkCnt}*/} + {/* ):(*/} + {/* 전체 {resultCnt} 건*/} + {/* )}*/} + + {/*
    • */} + {/*
    • */} + {/*
      통합 다운로드
      */} + {/*
    • */} + {/*
    */} + {/*
    */} + {/**/} + {/* */} + {/* {subTabsVisible && (*/} + {/* */} + {/* )}*/} + {/* */} + {/* */} + {/* */} + {/* */} + {/**/} ); } -export default StandardCodeSearchForm; \ No newline at end of file +export default memo(StandardCodeSearchForm);; \ No newline at end of file