퍼블 업뎃

thkim
Lim\jun 2024-06-05 17:37:19 +09:00
parent 6acab8a641
commit 21d90bb7c1
54 changed files with 1598 additions and 362 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 352 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 195 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 515 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 297 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 354 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 380 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 618 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 459 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 362 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 411 B

View File

@ -22,20 +22,21 @@ function EgovFooter() {
<NavLink to={URL.STANDARD_CODE_INFO}>건설기준코드 안내</NavLink>
<NavLink to={URL.STANDARD_CODE_LIST}>건설기준코드 검색</NavLink>
<NavLink to={URL.STANDARD_CODE_OLD}>()건설기준 검색</NavLink>
<NavLink to={URL.STANDARD_CODE_TERM}>건설기준용어</NavLink>
<NavLink to={URL.STANDARD_CODE_ENG}>영문건설기준</NavLink><br />
<NavLink to={URL.SUPPORT_LIST_NOCODE+'/KCKC-INV'}>건설기준고시</NavLink>
<NavLink to={URL.STANDARD_CODE_ENG}>영문건설기준</NavLink>
<NavLink to={URL.STANDARD_CODE_TERM}>건설기준용어</NavLink><br />
<NavLink to={URL.COMMITTEE_PROGRESS}>진행현황</NavLink>
<NavLink to={URL.COMMITTEE_SCHEDULE}>위원회 일정</NavLink><br />
<NavLink to={URL.SUPPORT_LIST}>공지사항</NavLink>
<NavLink to={URL.SUPPORT_LIST}>Q&A</NavLink>
<NavLink to={URL.SUPPORT_LIST}>수요조사</NavLink>
<NavLink to={URL.SUPPORT_LIST}>주요행사</NavLink>
<NavLink to={URL.SUPPORT_LIST}>건설교육안내</NavLink>
<NavLink to={URL.SUPPORT_LIST}>기술자료</NavLink>
<NavLink to={URL.SUPPORT_LIST}>보도자료</NavLink>
<NavLink to={URL.SUPPORT_LIST_NOCODE+'/KCSC-NTC'}>공지사항</NavLink>
<NavLink to={URL.SUPPORT_QNA}>Q&A</NavLink>
<NavLink to={URL.SUPPORT_LIST_NOCODE+'/KCKC-INV'}>수요조사</NavLink>
<NavLink to={URL.SUPPORT_LIST_NOCODE+'/KCSC-EVT'}>주요행사</NavLink>
{/*<NavLink to={URL.SUPPORT_LIST_NOCODE+'/KCSC-EDU'}>건설교육안내</NavLink>*/}
<NavLink to={URL.SUPPORT_LIST_NOCODE+'/KCSC-TEC'}>기술자료</NavLink>
<NavLink to={URL.SUPPORT_LIST_NOCODE+'/KCSC-NWS'}>보도자료</NavLink>
<NavLink to={URL.SUPPORT_RESEARCH}>건설기준 연구</NavLink>
<NavLink to={URL.SUPPORT_SITE}>관련사이트</NavLink>
<NavLink to={URL.SUPPORT_API}>API서비스</NavLink>
<NavLink to={URL.SUPPORT_RESEARCH}>건설기준 연구</NavLink>
<NavLink to={URL.SUPPORT_POLL}>설문조사</NavLink><br />
</span>
</Collapse>

View File

@ -67,7 +67,7 @@ function EgovHeader({ loginUser, onChangeLogin }) {
const myHandler = () => { //
if (sessionUserId)
navigate(URL.MYPAGE);
navigate(URL.MY);
else
navigate(URL.JOIN);
}
@ -217,8 +217,9 @@ function EgovHeader({ loginUser, onChangeLogin }) {
<li><NavLink to={URL.STANDARD_CODE_INFO} onClick={allMenuControl} className={({ isActive }) => (isActive ? "cur" : "")}>건설기준코드 안내</NavLink></li>
<li><NavLink to={URL.STANDARD_CODE_LIST} onClick={allMenuControl} className={({ isActive }) => (isActive ? "cur" : "")}>건설기준코드 검색</NavLink></li>
<li><NavLink to={URL.STANDARD_CODE_OLD} onClick={allMenuControl} className={({ isActive }) => (isActive ? "cur" : "")}>()건설기준검색</NavLink></li>
<li><NavLink to={URL.STANDARD_CODE_TERM} onClick={allMenuControl} className={({ isActive }) => (isActive ? "cur" : "")}>건설기준용어</NavLink></li>
<li><NavLink to={URL.SUPPORT_LIST_NOCODE+'/KCSC-NOT'} onClick={allMenuControl} className={({ isActive }) => (isActive ? "cur" : "")}>건설기준고시</NavLink></li>
<li><NavLink to={URL.STANDARD_CODE_ENG} onClick={allMenuControl} className={({ isActive }) => (isActive ? "cur" : "")}>영문건설기준</NavLink></li>
<li><NavLink to={URL.STANDARD_CODE_TERM} onClick={allMenuControl} className={({ isActive }) => (isActive ? "cur" : "")}>건설기준용어</NavLink></li>
</ul>
</div>
<div className="">
@ -231,16 +232,16 @@ function EgovHeader({ loginUser, onChangeLogin }) {
<div className="">
<h3>정보제공</h3>
<ul>
<li><NavLink to={URL.SUPPORT_LIST} onClick={allMenuControl} className={({ isActive }) => (isActive ? "cur" : "")}>공지사항</NavLink></li>
<li><NavLink to={URL.SUPPORT_LIST} onClick={allMenuControl} className={({ isActive }) => (isActive ? "cur" : "")}>Q&A</NavLink></li>
<li><NavLink to={URL.SUPPORT_LIST} onClick={allMenuControl} className={({ isActive }) => (isActive ? "cur" : "")}>수요조사</NavLink></li>
<li><NavLink to={URL.SUPPORT_LIST} onClick={allMenuControl} className={({ isActive }) => (isActive ? "cur" : "")}>주요행사</NavLink></li>
<li><NavLink to={URL.SUPPORT_LIST} onClick={allMenuControl} className={({ isActive }) => (isActive ? "cur" : "")}>건설교육안내</NavLink></li>
<li><NavLink to={URL.SUPPORT_LIST} onClick={allMenuControl} className={({ isActive }) => (isActive ? "cur" : "")}>기술자료</NavLink></li>
<li><NavLink to={URL.SUPPORT_LIST} onClick={allMenuControl} className={({ isActive }) => (isActive ? "cur" : "")}>보도자료</NavLink></li>
<li><NavLink to={URL.SUPPORT_LIST_NOCODE+'/KCSC-NTC'} onClick={allMenuControl} className={({ isActive }) => (isActive ? "cur" : "")}>공지사항</NavLink></li>
<li><NavLink to={URL.SUPPORT_QNA} onClick={allMenuControl} className={({ isActive }) => (isActive ? "cur" : "")}>Q&A</NavLink></li>
<li><NavLink to={URL.SUPPORT_LIST_NOCODE+'/KCKC-INV'} onClick={allMenuControl} className={({ isActive }) => (isActive ? "cur" : "")}>수요조사</NavLink></li>
<li><NavLink to={URL.SUPPORT_LIST_NOCODE+'/KCSC-EVT'} onClick={allMenuControl} className={({ isActive }) => (isActive ? "cur" : "")}>주요행사</NavLink></li>
{/*<li><NavLink to={URL.SUPPORT_LIST_NOCODE+'/KCSC-EDU'} onClick={allMenuControl} className={({ isActive }) => (isActive ? "cur" : "")}>건설교육안내</NavLink></li>*/}
<li><NavLink to={URL.SUPPORT_LIST_NOCODE+'/KCSC-TEC'} onClick={allMenuControl} className={({ isActive }) => (isActive ? "cur" : "")}>기술자료</NavLink></li>
<li><NavLink to={URL.SUPPORT_LIST_NOCODE+'/KCSC-NWS'} onClick={allMenuControl} className={({ isActive }) => (isActive ? "cur" : "")}>보도자료</NavLink></li>
<li><NavLink to={URL.SUPPORT_RESEARCH} onClick={allMenuControl} className={({ isActive }) => (isActive ? "cur" : "")}>건설기준연구</NavLink></li>
<li><NavLink to={URL.SUPPORT_SITE} onClick={allMenuControl} className={({ isActive }) => (isActive ? "cur" : "")}>관련사이트</NavLink></li>
<li><NavLink to={URL.SUPPORT_API} onClick={allMenuControl} className={({ isActive }) => (isActive ? "cur" : "")}>API서비스</NavLink></li>
<li><NavLink to={URL.SUPPORT_RESEARCH} onClick={allMenuControl} className={({ isActive }) => (isActive ? "cur" : "")}>건설기준연구</NavLink></li>
<li><NavLink to={URL.SUPPORT_POLL} onClick={allMenuControl} className={({ isActive }) => (isActive ? "cur" : "")}>설문조사</NavLink></li>
</ul>
</div>

View File

@ -5,13 +5,14 @@ import URL from 'constants/url';
function EgovLeftNavAbout() {
return (
<div className="nav">
<div className="inner">
<h2>사이트 소개</h2>
<ul className="menu4">
<li><NavLink to={URL.ABOUT_SITE} className={({ isActive }) => (isActive ? "cur" : "")}>소개</NavLink></li>
<div className="nav1">
<div className="">
<h2 className={"nav_title"}>센터 소개</h2>
<ul className="menu10">
<li><NavLink to={URL.ABOUT_SITE} className={({ isActive }) => (isActive ? "cur" : "")}>인사말</NavLink></li>
<li><NavLink to={URL.ABOUT_HISTORY} className={({ isActive }) => (isActive ? "cur" : "")}>연혁</NavLink></li>
<li><NavLink to={URL.ABOUT_ORGANIZATION} className={({ isActive }) => (isActive ? "cur" : "")}>조직소개</NavLink></li>
<li><NavLink to={URL.ABOUT_PROMOTE} className={({ isActive }) => (isActive ? "cur" : "")}>홍보자료</NavLink></li>
<li><NavLink to={URL.ABOUT_ORGANIZATION} className={({ isActive }) => (isActive ? "cur" : "")}>주요업무</NavLink></li>
<li><NavLink to={URL.ABOUT_LOCATION} className={({ isActive }) => (isActive ? "cur" : "")}>찾아오시는 </NavLink></li>
</ul>
</div>

View File

@ -1,13 +1,11 @@
import React, {useCallback, useEffect, useState} from 'react';
import React from 'react';
import { useLocation } from 'react-router-dom';
import { NavLink } from 'react-router-dom';
import URL from 'constants/url';
import {Accordion} from "react-bootstrap";
import * as EgovNet from "../../api/egovFetch";
function EgovLeftNavAdmin(props) {
const location = useLocation();
const [accordion, setAccordion] = useState([]);
const getMiddleFolder = (url) => { //
const parts = url.split('/').filter(Boolean); // '/'
@ -38,66 +36,106 @@ function EgovLeftNavAdmin(props) {
// activeKey = "7";
// }
const getMenuAuth = useCallback(()=>{
EgovNet.requestFetch(
'/leftNav/menu?menuType=MNU_0000',
{
method: "GET"
},
(resp) => {
const temp = [];
resp.result.menuList.forEach(function (group, i) {
temp.push(
<Accordion.Item eventKey={i}>
<Accordion.Header>{group.menuTitle}</Accordion.Header>
<Accordion.Body>
<ul className="menu4">
{group.childList.map((menu) => {
return (
<li><NavLink to={menu.menuUrl} className={({ isActive }) => (isActive ? "cur" : "")}>{menu.menuTitle}</NavLink></li>
)
})}
</ul>
</Accordion.Body>
</Accordion.Item>
)
})
setAccordion(temp)
},
function (resp){
}
);
}, []);
useEffect(()=>{
getMenuAuth();
}, [])
return (
<div className="nav">
<div className="inner">
<h2 className={"nav_title"}>사이트관리
<NavLink to={URL.ADMIN_SCHEDULE} className={({ isActive }) => (isActive ? "cur" : "")}><h6 className={"nav_subtitle"}>Dashboard</h6></NavLink></h2>
<Accordion defaultActiveKey={activeKey}>
{accordion}
{/*{menuList.map((group, i) => {
return (
<Accordion.Item eventKey={i}>
<Accordion.Header>{group.menuTitle}</Accordion.Header>
<Accordion.Body>
<ul className="menu4">
{group.childList.map((menu) => {
return (
<li><NavLink to={menu.menuUrl} className={({ isActive }) => (isActive ? "cur" : "")}>{menu.menuTitle}</NavLink></li>
)
})}
</ul>
</Accordion.Body>
</Accordion.Item>
)
})}*/}
{/*<Accordion.Item eventKey={"7"}>*/}
{/* <Accordion.Header>사이트 관리</Accordion.Header>*/}
{/* <Accordion.Body>*/}
{/* <ul className="menu4">*/}
{/* <li><NavLink to={URL.ADMIN_SCHEDULE} className={({ isActive }) => (isActive ? "cur" : "")}>Dashboard</NavLink></li>*/}
{/* /!*<li><NavLink to={URL.ADMIN_BOARD} className={({ isActive }) => (isActive ? "cur" : "")}>게시판생성관리</NavLink></li>*/}
{/* <li><NavLink to={URL.ADMIN_USAGE} className={({ isActive }) => (isActive ? "cur" : "")}>게시판사용관리</NavLink></li>*/}
{/* <li><NavLink to={URL.ADMIN_NOTICE} className={({ isActive }) => (isActive ? "cur" : "")}>공지사항관리</NavLink></li>*/}
{/* <li><NavLink to={URL.ADMIN_GALLERY} className={({ isActive }) => (isActive ? "cur" : "")}>사이트갤러리관리</NavLink></li>*/}
{/* <li><NavLink to={URL.ADMIN_MANAGER} className={({ isActive }) => (isActive ? "cur" : "")}>사이트관리자 암호변경</NavLink></li>*!/*/}
{/* </ul>*/}
{/* </Accordion.Body>*/}
{/*</Accordion.Item>*/}
<Accordion.Item eventKey={"0"}>
<Accordion.Header>환경설정</Accordion.Header>
<Accordion.Body>
<ul className="menu4">
<li><NavLink to={URL.ADMIN_BASE_CODE} className={({ isActive }) => (isActive ? "cur" : "")}>기본코드 관리</NavLink></li>
<li><NavLink to={URL.ADMIN_STANDARD_CODE} className={({ isActive }) => (isActive ? "cur" : "")}>건설기준코드 관리</NavLink></li>
<li><NavLink to={URL.ADMIN_COMMITTEE_CODE} className={({ isActive }) => (isActive ? "cur" : "")}>위원회코드 관리</NavLink></li>
<li><NavLink to={URL.ADMIN_MENU} className={({ isActive }) => (isActive ? "cur" : "")}>메뉴 관리</NavLink></li>
<li><NavLink to={URL.ADMIN_MENU_AUTH} className={({ isActive }) => (isActive ? "cur" : "")}>메뉴권한 관리</NavLink></li>
<li><NavLink to={URL.ADMIN_ABOUT_SITE} className={({ isActive }) => (isActive ? "cur" : "")}>관련사이트 관리</NavLink></li>
</ul>
</Accordion.Body>
</Accordion.Item>
<Accordion.Item eventKey={"1"}>
<Accordion.Header>사용자 관리</Accordion.Header>
<Accordion.Body>
<ul className="menu4">
<li><NavLink to={URL.ADMIN__USERS__LIST} className={({ isActive }) => (isActive ? "cur" : "")}>사용자 목록</NavLink></li>
</ul>
</Accordion.Body>
</Accordion.Item>
<Accordion.Item eventKey={"2"}>
<Accordion.Header>게시판현황</Accordion.Header>
<Accordion.Body>
<ul className="menu4">
<li><NavLink to={URL.ADMIN__BOARDS__LIST} className={({ isActive }) => (isActive ? "cur" : "")}>게시판 관리</NavLink></li>
<li><NavLink to={URL.ADMIN__BOARDS__POSTS} className={({ isActive }) => (isActive ? "cur" : "")}>게시물 관리</NavLink></li>
{/*<li><NavLink to={URL.ADMIN__BOARDS__KEYWORDS} className={({ isActive }) => (isActive ? "cur" : "")}>키워드 관리</NavLink></li>*/}
</ul>
</Accordion.Body>
</Accordion.Item>
<Accordion.Item eventKey={"3"}>
<Accordion.Header>건설기준관리</Accordion.Header>
<Accordion.Body>
<ul className="menu4">
{/*<li><NavLink to={URL.ADMIN__STANDARDS__REFERENCE_CODES} className={({ isActive }) => (isActive ? "cur" : "")}>참조코드 관리</NavLink></li>*/}
<li><NavLink to={URL.ADMIN__STANDARDS__API_KEYS} className={({ isActive }) => (isActive ? "cur" : "")}>API KEY 관리</NavLink></li>
<li><NavLink to={URL.ADMIN__STANDARDS__SIMILARITY_CHECK} className={({ isActive }) => (isActive ? "cur" : "")}>유사성 검사</NavLink></li>
<li><NavLink to={URL.ADMIN__STANDARDS__INFO_DISCLOSURE} className={({ isActive }) => (isActive ? "cur" : "")}>건설기준 내용 관리</NavLink></li>
</ul>
</Accordion.Body>
</Accordion.Item>
<Accordion.Item eventKey={"4"}>
<Accordion.Header>컨텐츠관리</Accordion.Header>
<Accordion.Body>
<ul className="menu4">
<li><NavLink to={URL.ADMIN__CONTENTS__SURVEY} className={({ isActive }) => (isActive ? "cur" : "")}>설문 관리</NavLink></li>
<li><NavLink to={URL.ADMIN__CONTENTS__POP_UP} className={({ isActive }) => (isActive ? "cur" : "")}>팝업 관리</NavLink></li>
<li><NavLink to={URL.ADMIN__CONTENTS__STANDARDS_RESEARCH} className={({ isActive }) => (isActive ? "cur" : "")}>건설기준연구 관리</NavLink></li>
{/*<li><NavLink to={URL.ADMIN__CONTENTS__TEXT_MESSAGES} className={({ isActive }) => (isActive ? "cur" : "")}>문자 발송</NavLink></li>*/}
</ul>
</Accordion.Body>
</Accordion.Item>
<Accordion.Item eventKey={"5"}>
<Accordion.Header>위원회관리</Accordion.Header>
<Accordion.Body>
<ul className="menu4">
<li><NavLink to={URL.ADMIN__COMMITTEE__PROGRESS_STATUS} className={({ isActive }) => (isActive ? "cur" : "")}>진행현황 관리</NavLink></li>
<li><NavLink to={URL.ADMIN__COMMITTEE__SCHEDULES} className={({ isActive }) => (isActive ? "cur" : "")}>위원회 일정 관리</NavLink></li>
</ul>
</Accordion.Body>
</Accordion.Item>
<Accordion.Item eventKey={"6"}>
<Accordion.Header>로그현황</Accordion.Header>
<Accordion.Body>
<ul className="menu4">
<li><NavLink to={URL.ADMIN__LOGS__MENU_ACCESS_INFO} className={({ isActive }) => (isActive ? "cur" : "")}>메뉴별 접속 현황</NavLink></li>
<li><NavLink to={URL.ADMIN__LOGS__USER_CONNECTIONS} className={({ isActive }) => (isActive ? "cur" : "")}>사용자 접속 현황</NavLink></li>
<li><NavLink to={URL.ADMIN__LOGS__PRIVACY_LOGS} className={({ isActive }) => (isActive ? "cur" : "")}>개인정보 로그 현황</NavLink></li>
<li><NavLink to={URL.ADMIN__LOGS__FILE_DOWNLOAD_STATUS} className={({ isActive }) => (isActive ? "cur" : "")}>파일 다운 현황</NavLink></li>
</ul>
</Accordion.Body>
</Accordion.Item>
</Accordion>
</div>
</div>
);

View File

@ -5,11 +5,12 @@ const URL = {
LOGIN : "/login", //로그인
JOIN : "/join", //회원가입
MYPAGE : "/mypage", //나의페이지
MY : "/myPage", //나의페이지
ERROR : "/error", //에러
PRIVATE : "/private", //개인정보처리방침
EMAIL : "/email", //이메일 무단 수집 거부
CHANGE_PW : "/PwChange", // 비밀번호 변경
//ABOUT
ABOUT : "/about", //사이트소개
ABOUT_SITE : "/about/site", // 사이트소개/소개
@ -31,19 +32,34 @@ const URL = {
//SUPPORT
SUPPORT : "/support", // 고객지원
SUPPORT_LIST : "/support/list", // 게시판/리스트
SUPPORT_VIEW : "/support/detail", // 게시판/상세보기
SUPPORT_CREATE : "/support/create", // 게시판/글쓰기
SUPPORT_SITE : "/support/site", // 관련사이트
SUPPORT_QNA : "/support/qna", // 게시판/QNA 소개
SUPPORT_LIST : "/support/list/:BbsCode", // 게시판/리스트
SUPPORT_DETAIL : "/support/detail/:BbsCode", // 게시판/상세보기
SUPPORT_CREATE : "/support/create/:BbsCode", // 게시판/글쓰기
SUPPORT_LIST_NOCODE : "/support/list",
SUPPORT_DETAIL_NOCODE : "/support/detail", // 게시판/상세보기
SUPPORT_CREATE_NOCODE : "/support/create", // 게시판/글쓰기
SUPPORT_SITE : "/support/site", // 관련사이트
SUPPORT_API : "/support/api", // API 서비스
SUPPORT_RESEARCH : "/support/research", // 건설기준 연구
SUPPORT_POLL : "/support/poll", // 설문조사
// SUPPORT_DOWNLOAD : "/support/download", // 고객지원/자료실
SUPPORT_DOWNLOAD : "/support/download", // 고객지원/자료실
// SUPPORT_DOWNLOAD_DETAIL : "/support/download/detail", // 고객지원/자료실/상세
// SUPPORT_DOWNLOAD_CREATE : "/support/download/create", // 고객지원/자료실/등록
// SUPPORT_QNA : "/support/qna", // 고객지원/묻고답하기
// SUPPORT_QNA_DETAIL : "/support/qna/detail", // 고객지원/묻고답하기/상세
// SUPPORT_APPLY : "/support/apply", // 고객지원/서비스신청
//기준코드
STANDARD_CODE_INFO : "/standardCode/info", //건설기준코드/건설기준코드 안내
STANDARD_CODE_TERM : "/standardCode/term", //건설기준코드/건설기준코드 용어
STANDARD_CODE_ENG : "/standardCode/eng", //건설기준코드/영문 건설기준코드
STANDARD_CODE_OLD : "/standardCode/old", //건설기준코드/(구)건설기준코드
STANDARD_CODE_LIST : "/standardCode/list", //건설기준코드/리스트
STANDARD_CODE_LIST_LINK : "/standardCode/list/:listCode", //건설기준코드/리스트
STANDARD_CODE_DETAIL : "/standardCode/detail", //건설기준코드/리스트
STANDARD_CODE_VIEWER : "/standardCode/viewer", //건설기준코드/뷰어
STANDARD_CODE_VIEWER_LINK : "/standardCode/viewer/:linkedDocCode", //건설기준코드/뷰어/새 창 링크
//INFORM
// INFORM : "/inform", // 알림마당
@ -62,16 +78,7 @@ const URL = {
// INFORM_GALLERY_MODIFY : "/inform/gallery/modify", // 알림마당/사이트갤러리수정
// INFORM_GALLERY_REPLY : "/inform/gallery/reply", // 알림마당/사이트갤러리답글
//기준코드
STANDARD_CODE_INFO : "/standardCode/info", //건설기준코드/건설기준코드 안내
STANDARD_CODE_TERM : "/standardCode/term", //건설기준코드/건설기준코드 용어
STANDARD_CODE_ENG : "/standardCode/eng", //건설기준코드/영문 건설기준코드
STANDARD_CODE_OLD : "/standardCode/old", //건설기준코드/(구)건설기준코드
STANDARD_CODE_LIST : "/standardCode/list", //건설기준코드/리스트
STANDARD_CODE_LIST_LINK : "/standardCode/list/:listCode", //건설기준코드/리스트
STANDARD_CODE_DETAIL : "/standardCode/detail", //건설기준코드/리스트
STANDARD_CODE_VIEWER : "/standardCode/viewer", //건설기준코드/뷰어
STANDARD_CODE_VIEWER_LINK : "/standardCode/viewer/:linkedDocCode", //건설기준코드/뷰어/새 창 링크
//ADMIN
@ -121,7 +128,7 @@ const URL = {
// 관리자 - 건설기준 관리
ADMIN__STANDARDS__REFERENCE_CODES : "/admin/standards/reference-codes", // 건설기준 관리/참조코드 조회
ADMIN__STANDARDS__API_KYES : "/admin/standards/api-keys", // 건설기준 관리/API KEY 관리
ADMIN__STANDARDS__API_KEYS : "/admin/standards/api-keys", // 건설기준 관리/API KEY 관리
ADMIN__STANDARDS__SIMILARITY_CHECK : "/admin/standards/standards/similarity-check", // 건설기준 관리/유사성 검사
ADMIN__STANDARDS__INFO_DISCLOSURE : "/admin/standards/info-disclosure", // 건설기준 관리/정보공개 관리

View File

@ -79,8 +79,22 @@ button {cursor: pointer;}
.w_400 {width: 400px;}
.w_500 {width: 500px;}
.mw_400 {max-width: 400px;}
.mw_450 {max-width: 450px;}
.h_25 {height: 25px;}
.h_30 {height: 30px;}
.h_50 {height: 50px;}
.h_100 {height: 100px;}
.h-100 {height: 100%;}
.f_11 {font-size: 11px;}
.f_12 {font-size: 12px;}
.f_13 {font-size: 13px;}
.f_14 {font-size: 14px;}
.f_15 {font-size: 15px;}
.f_16 {font-size: 16px;}
.f_17 {font-size: 17px;}
/* 여백 */
@ -90,5 +104,6 @@ button {cursor: pointer;}
.ml10 {margin-left: 10px !important;}
.pb10 {padding-bottom: 10px !important;}
.bg-fa {background: #FAFAFA;}
.clickable{cursor: pointer;}

View File

@ -57,7 +57,7 @@
/* changed by lim padding: 18px 0 20px 0; */
.board_list .result .list_item > div {display: table-cell; padding: 7px 0 7px 0; border-bottom: 1px solid #dde2e5; color: #666; font-size: 14px; text-align: center; vertical-align: middle;}
.board_list .result .list_item > .left_align {text-align: left;}
.board_list .result .list_item > div.al {padding: 18px 30px 20px 30px; text-align: left;}
.board_list .result .list_item > div.al {padding: 10px 20px 12px 20px; text-align: left;}
.board_list .result .list_item > div.reply {position: relative; padding: 18px 30px 20px 52px;}
.board_list .result .list_item > div.reply::before {content: ""; display: block; position: absolute; left: 27px; top: 24px; width: 22px; height: 14px; background: url(css/images/ico_reply.png) no-repeat;}
.board_list .no_data {height: 60px; border-bottom: 1px solid #dde2e5; color: #666; font-size: 16px; line-height: 60px; text-align: center;}
@ -67,15 +67,15 @@
.paging {text-align: center;}
.paging .btn {margin-top: 0; padding: 5px;} /* added by lim padding: 5px; */
.paging .btn + .btn {margin-left: 5px;}
.paging .btn button {display: inline-block; width: 32px; height: 32px; border: 1px solid #dde2e5; border-radius: 5px; font-size: 0;} /* changed by lim width: 42px; height: 42px; */
.paging .first {background: url(css/images/ico_prev.png) no-repeat center; vertical-align: top; }
.paging .prev {margin-right: 6px; background: url(css/images/ico_arrow_r_gray_9x15.png) no-repeat center; vertical-align: top; transform: rotate(180deg);} /* changed by lim margin-right: 26px; */
.paging .next {margin-left: 6px; background: url(css/images/ico_arrow_r_gray_9x15.png) no-repeat center; vertical-align: top;} /* changed by lim margin-left: 26px; */
.paging .last {background: url(css/images/ico_prev.png) no-repeat center; vertical-align: top; transform: rotate(180deg);}
.paging .btn button {display: inline-block; width: 32px; height: 32px; border: 1px solid #dde2e5; border-radius: 25px; font-size: 0;} /* changed by lim width: 42px; height: 42px; */
.paging .first {background: url(css/images/ico_prev.png) no-repeat center; background-size: 30%; vertical-align: top; }
.paging .prev {margin-right: 6px; background: url(css/images/ico_arrow_r_gray_9x15.png) no-repeat center; background-size: 20%; vertical-align: top; transform: rotate(180deg);} /* changed by lim margin-right: 26px; */
.paging .next {margin-left: 6px; background: url(css/images/ico_arrow_r_gray_9x15.png) no-repeat center; background-size: 20%; vertical-align: top;} /* changed by lim margin-left: 26px; */
.paging .last {background: url(css/images/ico_prev.png) no-repeat center; background-size: 30%; vertical-align: top; transform: rotate(180deg);}
.paging ul {display: inline-block; vertical-align: top;}
.paging ul li {display: inline-block; margin-top: 4px; vertical-align: top;}
.paging ul li button {display: block; width: 34px; height: 34px; color: #888; font-size: 16px; line-height: 34px; text-align: center; background: white;}
.paging ul li button.cur {border-radius: 50%; color: #fff; background: #222;}
.paging ul li button.cur {border-radius: 50%; color: #fff; background: #004994;}
.board_view {border-top: 2px solid #222;}
.board_view_top {border-bottom: 1px solid #dde2e5;}
@ -108,13 +108,13 @@
.board_btn_area {position: relative; min-height: 46px;}
.board_btn_area .left_col {font-size: 0;}
.board_btn_area .left_col .btn + .btn {margin-left: 10px;}
.board_btn_area .right_col {position: absolute; right: 0; top: 0; font-size: 0;}
/*.board_btn_area .right_col {position: absolute; right: 0; top: 0; font-size: 0;}*/
.board_btn_area .right_col .btn + .btn {margin-left: 10px;}
.board_view2 {border-top: 2px solid #222;}
.board_view2 dl {display: table; width: 100%; table-layout: fixed; border-bottom: 1px solid #dde2e5;}
.board_view2 dl > * {display: table-cell; table-layout: fixed; vertical-align: middle;}
.board_view2 dl dt {width: 176px; padding: 12px 25px; color: #000; font-size: 15px; letter-spacing: -2px; background: #f5f6f7; word-break: break-all;} /* changed by lim font-size: 18px;*/
.board_view2 dl dt {width: 176px; padding: 12px 25px; color: #000; font-size: 15px; letter-spacing: -2px; background: #FAFAFA; word-break: break-all; border-right: 1px solid #B4B3B3;} /* changed by lim font-size: 18px;*/
.board_view2 dl dt .req {display: inline-block; width: 7px; height: 7px; margin-left: 2px; font-size: 0; background: url(css/images/ico_req.png) no-repeat; vertical-align: 17px;}
.board_view2 dl dd {padding: 12px 15px; color: #222; font-size: 16px; font-weight: 300;}
.board_view2 .file_add {margin-top: 5px;}
@ -155,20 +155,20 @@
.qna_a {position: relative; padding: 8px 30px 3px 75px; border-bottom: 1px solid #dde2e5; color: #666; font-size: 16px; font-weight: 300; line-height: 30px;}
.qna_a > span {display: block; position: absolute; left: 30px; top: 30px; width: 32px; height: 32px; border-radius: 50%; color: #fff; font-size: 20px; line-height: 32px; text-align: center; background: #fc8175;}
.qna_a ul li {position: relative; padding: 21px 0 30px 0; border-bottom: 1px dashed #dde2e5;}
.qna_a ul li {position: relative; padding: 10px 0 15px 0; border-bottom: 1px dashed #dde2e5;}
.qna_a ul li:last-child {border-bottom: 0;}
.qna_a ul li span {display: block;}
.qna_a ul li .delete {position: absolute; right: 20px; bottom: 11px; color: #222; font-size: 16px; font-weight: 300;}
.qna_a ul li .delete::before {content: ""; display: inline-block; width: 18px; height: 18px; margin-right: 5px; background: url(css/images/ico_delete.png) no-repeat; background-size: contain; vertical-align: -2px;}
.replay {display: table; table-layout: fixed; width: 100%; padding: 18px 0; border: 2px solid #dde2e5; border-radius: 10px;}
.replay {padding: 18px 0; border: 2px solid #dde2e5; border-radius: 10px;}
.replay > * {display: table-cell; vertical-align: top;}
.replay .left_col {width: 850px; font-size: 0;}
.replay .left_col label {display: inline-block; width: 108px; height: 80px; padding-left: 28px; color: #000; font-size: 16px; line-height: 80px; vertical-align: top;}
.replay .left_col div {display: inline-block; width: 740px; vertical-align: top;}
.replay .left_col div textarea {height: 80px;}
.replay .right_col {padding: 0 18px;}
.replay .right_col .btn {width: 100%; height: 80px; border-radius: 5px; color: #005b82; font-size: 16px; text-align: center; line-height: 80px; background: #daedf5;}
/*.replay .left_col {width: 850px; font-size: 0;}*/
/*.replay .left_col label {display: inline-block; width: 108px; height: 80px; padding-left: 28px; color: #000; font-size: 16px; line-height: 80px; vertical-align: top;}*/
/*.replay .left_col div {display: inline-block; width: 740px; vertical-align: top;}*/
/*.replay .left_col div textarea {height: 80px;}*/
/*.replay .right_col {padding: 0 18px;}*/
/*.replay .right_col .btn {width: 100%; height: 80px; border-radius: 5px; color: #005b82; font-size: 16px; text-align: center; line-height: 80px; background: #daedf5;}*/
.bottom_navi {border-top: 1px solid #dde2e5;}
@ -199,7 +199,9 @@
.condition > ul li .prev + span {display: inline-block; height: 32px; margin: 0 10px; padding: 0 30px; border-radius: 5px; font-size: 16px; line-height: 32px; background: #f7f7f7; vertical-align: top;}
.condition .lb {display: inline-block; height: 32px; margin-right: 20px; color: #222; font-size: 16px; font-weight: 300; line-height: 32px; vertical-align: top;} /* changed by lim height: 46px;*/
.condition1 {padding: 10px; border: 1px solid #dde2e5; border-radius: 10px; text-align: right; background: #FAFAFA; margin-bottom: 20px;}
.condition1 > ul,
.condition1 > ul li {display: inline-block; vertical-align: top; padding-left: 20px;}
/* Icon */
.ico {display: inline-block; font-size: 0; vertical-align: top;}
@ -276,7 +278,7 @@ select::-ms-expand {display:none;}
.tit_2 {font-size: 30px; font-weight: 700;}
.tit_3 {color: #222; font-size: 48px; font-weight: 500; line-height: 44px; letter-spacing: -2px;}
.tit_3 {color: #004994; font-size: 30px; font-weight: 700; line-height: 80px; letter-spacing: -2px;}
.tit_4 {position: relative; padding-top: 12px; font-size: 30px; font-weight: 700;}
.tit_4::before {content: ""; display: block; position: absolute; left: 0; top: 0; width: 30px; height: 2px; background: #0465be;}

Binary file not shown.

After

Width:  |  Height:  |  Size: 618 B

View File

@ -85,18 +85,28 @@ body {min-width: 1400px;}
/* sub navigation */
.c_wrap .layout .nav:not(.tabs) {display: table-cell; width: 220px; vertical-align: top;} /* changed by lim width: 260px; */
.c_wrap .layout .nav .inner {border: 1px solid #dde2e5; border-radius: 10px;}
.nav_title{padding: 35px 30px 26px 30px;} /* changed by lim border-bottom: 4px solid #dde2e5; */
.c_wrap .layout .nav h2 {color: #222; font-size: 24px;}
.c_wrap .layout .nav ul {padding: 0 10px} /* changed by lim padding: 26px 30px 27px 30px;*/
.c_wrap .layout .nav ul li + li {margin-top: 18px;} /* changed by lim margin-top: 27px; */
.nav_title{padding: 35px 30px 26px 20px;} /* changed by lim border-bottom: 4px solid #dde2e5; */
.c_wrap .layout .nav h2 {color: #222; font-size: 24px; font-weight: 700;}
.c_wrap .layout .nav ul {padding: 0 10px; } /* changed by lim padding: 26px 30px 27px 30px;*/
.c_wrap .layout .nav ul li + li {margin-top: 18px; } /* changed by lim margin-top: 27px; */
.c_wrap .layout .nav ul li a {display: block; position: relative; color: #666; font-size: 14px;} /* changed by lim font-size: 18px; */
.c_wrap .layout .nav ul li a:hover::after {content: ""; display: block; position: absolute; right: 0px; top: 50%; transform: translateY(-50%); width: 9px; height: 15px; background: url(css/images/ico_arrow_r_gray_9x15.png) no-repeat;}
.c_wrap .layout .nav ul li a.cur {color: #222; font-weight: 700;}
.c_wrap .layout .contents {display: table-cell; width: auto; vertical-align: top; padding-left: 30px;} /* changed by lim padding: 0 0 120px 70px; */
/* location */
/* 센터소개 */
.c_wrap .layout .nav1:not(.tabs) {display: table-cell; width: 220px; vertical-align: top;}
.c_wrap .layout .nav1 h2 {color: #222; font-size: 24px; font-weight: 700;}
.c_wrap .layout .nav1 .menu10 {mnargin: 0; border: 1px solid #dde2e5;}
/*.c_wrap .layout .nav1 li {margin: 10px;}*/
.c_wrap .layout .nav1 .menu10 li + li {border-top: 1px solid #dde2e5; }
.c_wrap .layout .nav1 ul li a {display: block; position: relative; color: #666; font-size: 14px; padding: 10px;} /* changed by lim font-size: 18px; */
/*.c_wrap .layout .nav1 ul li a:hover {}*/
.c_wrap .layout .nav1 ul li a:hover::after {content: ""; display: block; position: absolute; right: 10px; top: 50%; transform: translateY(-50%); width: 9px; height: 15px; background: url(css/images/ico_arrow_r_gray_9x15.png) no-repeat; }
.c_wrap .layout .nav1 ul li a.cur {color: #fff; font-weight: 700; background-color: #004994; }
/* location */
.location {height: 30px; padding-top: 23px; text-align: right;} /* chagned by lim height: 70px; padding-top: 43px; */
.location ul, .location ul li {display: inline-block; vertical-align: top;}
.location ul li {position: relative; color: #666; font-size: 14px;}

View File

@ -44,7 +44,7 @@
.Pjoin .join_box .list li {padding-left: 15px; color: #666; font-size: 13px; line-height: 23px;}
.Pjoin .join_box .list li + li {margin-top: 5px;}
.radius_r {border-top-right-radius: 8px !important; border-bottom-right-radius: 8px !important;}
/* Board */
/* 메인 */
/*.P_MAIN {position: relative; background: #f5f5f5;}*/
@ -58,12 +58,17 @@
.P_MAIN .c_wrap .menubox .menu_img {width: 100px; height: 100px; border-radius: 50%; background: #E2E9F6; display: flex; justify-content: center; align-items: center;}
.P_MAIN .c_wrap .menubox .menu_text {font-size: 16px; font-weight: 700; padding-top: 10px; justify-content: center; color: #222;}
.P_MAIN .c_wrap .qnabox {width: 100%; height:390px; background: #F8FAFC;}
.P_MAIN .c_wrap .qnabox .qnabox_1 {width: 1400px; height: 100px; margin:0 auto; padding: 0 10px; font-size: 35px; font-weight: 700; color: #004994;}
.P_MAIN .c_wrap .qnabox .qnabox_11 {width: 50%; font-size: 35px; font-weight: 700; color: #004994;}
.P_MAIN .c_wrap .qnabox .qnabox_12 {width: 50%; font-size: 20px; font-weight: 500; color: #6C6C6C;}
.P_MAIN .c_wrap .qnabox .qnabox_2 {width: 1400px; margin:0 auto; }
.P_MAIN .c_wrap .qnabox .qnabox_n {width: 330px; height: 200px; border: 1px solid #dde2e5; border-radius: 10px; box-shadow: 0 4px 5px #ccc; background: #fff; margin: 20px 10px;}
.P_MAIN .c_wrap .numbox {width: 100%; height:200px; background: #4C6C84;}
.P_MAIN .c_wrap .numbox .numbox_n {width: 300px; color: #fff; text-align: center;}
.P_MAIN .c_wrap .numbox .num_text {font-size: 22px; font-weight: 700;}
.P_MAIN .c_wrap .numbox .num_count {font-size: 40px; font-weight: 700; padding-top: 10px;}
.P_MAIN .c_wrap .numbox .num_count span.unit {font-size: 22px;}
.P_MAIN .c_wrap .bbsbox {width: 100%; height:430px; border-bottom: 1px solid #E6E6E6; margin: 0 auto;}
.P_MAIN .c_wrap .bbsbox {width: 100%; height:430px; border-bottom: 1px solid #E6E6E6; margin: 0 auto; padding-top: 85px;}
.P_MAIN .c_wrap .bbsbox .bbsbox_1 {width: 980px; }
.P_MAIN .c_wrap .bbsbox .bbsbox_2 {width: 370px; margin-left: 50px;}
@ -261,16 +266,20 @@
.SITE_INTRO .ds_1 .bot + .tit_5 {margin-top: 46px;}
.SITE_INTRO .ds_1 .msg_1 + .tit_5 {margin-top: 42px;}
.PDS_LIST .pdslist {margin-top: 24px; border-top: 2px solid #dde2e5; background: #f7f7f7;}
.PDS_LIST .pdslist ul {padding-top: 40px;}
/* 홍보자료 */
.PDS_LIST .pdslist {margin-top: 10px; } /* changed by lim margin-top: 24px; border-top: 2px solid #dde2e5; background: #f7f7f7; */
/*.PDS_LIST .pdslist ul {padding-top: 40px; }*/
.PDS_LIST .pdslist ul {display: flex; flex-wrap: wrap; gap: 22px;}
.PDS_LIST .pdslist ul::after {content: ""; display: block; clear: both;}
.PDS_LIST .pdslist ul li {float: left; width: 50%; padding: 0 0 40px 40px;}
.PDS_LIST .pdslist ul li > a {display: block;}
.PDS_LIST .pdslist ul li:last-child {margin-right: 0;}
.PDS_LIST .pdslist ul li {border: 1px solid #B7B7B7; padding: 10px; width: auto;} /* changed by lim float: left; width: 50%; padding: 0 0 40px 40px; */
.PDS_LIST .pdslist ul li > a {display: block; color: #383838;}
.PDS_LIST .pdslist ul li > a::after {content: ""; display: block; clear: both;}
.PDS_LIST .pdslist ul li > a img {display: block; float: left; width: 160px; margin-right: 20px;}
.PDS_LIST .pdslist ul li > a > span {display: block; float: left; width: calc(100% - 180px); padding-right: 10px;}
.PDS_LIST .pdslist ul li > a > span strong {display: block; padding-bottom: 8px; color: #222; font-size: 18px; font-weight: 400;}
.PDS_LIST .pdslist ul li > a > span span {color: #666; font-size: 16px; font-weight: 300; line-height: 26px;}
.PDS_LIST .pdslist ul li > img.promotion {width: 249px; margin-bottom:10px; border: 1px solid #CACACA; border-radius: 10px; cursor: pointer;} /* changed by lim display: block; float: left; margin-right: 20px; */
/*.PDS_LIST .pdslist ul li > a > span {display: block; float: left; width: calc(100% - 180px); padding-right: 10px;}*/
/*.PDS_LIST .pdslist ul li > a > span strong {display: block; padding-bottom: 8px; color: #222; font-size: 18px; font-weight: 400;}*/
/*.PDS_LIST .pdslist ul li > a > span span {font-size: 16px; font-weight: 300; line-height: 26px;}*/
.PDS_LIST .recent {height: 290px; margin-top: 24px; border: 2px solid #dde2e5;}
.PDS_LIST .recent::after {content: ""; display: block; clear: both;}
@ -285,6 +294,9 @@
.PDS_LIST .recent > ul li .ymd {display: block; position: absolute; right: 0; top: 0; height: 30px; color: #666; font-size: 16px; line-height: 30px;}
.PDS_LIST .tit_5 {margin-top: 42px;}
.PDS_LIST .board_list {margin-top: 50px;}
/* 사이트관리 > 게시판현황 > 게시물관리 */
.BRD007 .head > span:nth-child(1) {width: 70px;}
.BRD007 .head > span:nth-child(3) {width: 70px;}
@ -377,6 +389,22 @@
.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;}
/* 사용자 게시판 */
.BRD013 .head > span:nth-child(1) {position: relative; width: 60px;}
.BRD013 .head > span:nth-child(2) {position: relative;}
.BRD013 .head > span:nth-child(3) {position: relative; width: 100px;}
.BRD013 .head > span:nth-child(4) {position: relative; width: 100px;}
.BRD013 .head > span:nth-child(5) {position: relative; width: 120px;}
.BRD013 .head > span:nth-child(6) {width: 80px;}
.BRD013 .head > span:nth-child(-n+5)::after {position: absolute; content: ''; right: 0; bottom: 0; height: 50%; border-right: 1px solid #B5B5B5;}
.BRD013 .result .list_item > div:nth-child(1) {width: 60px;}
.BRD013 .result .list_item > div:nth-child(2) {text-overflow: ellipsis; white-space: nowrap; overflow: hidden;}
.BRD013 .result .list_item > div:nth-child(3) {width: 100px;}
.BRD013 .result .list_item > div:nth-child(4) {width: 100px;}
.BRD013 .result .list_item > div:nth-child(5) {width: 120px;}
.BRD013 .result .list_item > div:nth-child(6) {width: 80px;}
/* 찾아오시는길 */
.SITE_CONTACT_US .map {margin-top: 43px;}
.SITE_CONTACT_US .map img {max-width: 100%;}

View File

@ -12,7 +12,7 @@ function EgovAboutHistory() {
<div className="location">
<ul>
<li><Link to={URL.MAIN} className="home" >Home</Link></li>
<li><Link to={URL.ABOUT}>사이트 소개</Link></li>
<li><Link to={URL.ABOUT}>센터 소개</Link></li>
<li>연혁</li>
</ul>
</div>
@ -26,17 +26,17 @@ function EgovAboutHistory() {
<div className="contents SITE_INTRO" id="contents">
{/* <!-- 본문 --> */}
<h1 className="tit_3">사이트 소개</h1>
<h1 className="tit_3">연혁</h1>
<p className="txt_1">표준프레임워크 경량환경 포털사이트를 소개합니다.</p>
{/*<p className="txt_1">표준프레임워크 경량환경 포털사이트를 소개합니다.</p>*/}
<h2 className="tit_4">전자정부표준프레임워크 연혁</h2>
<h3 className="tit_5">연혁</h3>
<p className="msg_1">표준프레임워크 활성화 전담조직으로 한국정보화진흥원(NIA) 2010 11 4 표준프레임워크센터 <br/>
설립되었으며 정책지원, 글로벌 확산 등을 담당할 NIA 인력과 R&D, 기술지원 등을 담당할 외부 민간 전문가로 <br/>
구성되었습니다.</p>
{/*<h2 className="tit_4">전자정부표준프레임워크 연혁</h2>*/}
{/*<h3 className="tit_5">연혁</h3>*/}
{/*<p className="msg_1">표준프레임워크 활성화 전담조직으로 한국정보화진흥원(NIA)에 2010년 11월 4일 「표준프레임워크센터」가 <br/>*/}
{/* 설립되었으며 정책지원, 글로벌 확산 등을 담당할 NIA 인력과 R&D, 기술지원 등을 담당할 외부 민간 전문가로 <br/>*/}
{/* 구성되었습니다.</p>*/}
{/* <!--// 본문 --> */}
</div>

View File

@ -12,8 +12,8 @@ function EgovAboutLocation() {
<div className="location">
<ul>
<li><Link to={URL.MAIN} className="home" >Home</Link></li>
<li><Link to={URL.ABOUT}>사이트 소개</Link></li>
<li>찾아오시는</li>
<li><Link to={URL.ABOUT}>센터 소개</Link></li>
<li>찾아오시는 </li>
</ul>
</div>
{/* <!--// Location --> */}
@ -26,64 +26,64 @@ function EgovAboutLocation() {
<div className="contents SITE_CONTACT_US" id="contents">
{/* <!-- 본문 --> */}
<h1 className="tit_3">사이트 소개</h1>
<h1 className="tit_3">찾아오시는 </h1>
<p className="txt_1">표준프레임워크 경량환경 포털사이트를 소개합니다.</p>
{/*<p className="txt_1">표준프레임워크 경량환경 포털사이트를 소개합니다.</p>*/}
<h2 className="tit_4">찾아오시는길</h2>
{/*<h2 className="tit_4">찾아오시는길</h2>*/}
<div className="map">
<a href="https://naver.me/FHYuP0ok" target="_blank" rel="noreferrer">
<img src="/assets/images/map.png" alt="" />
</a>
</div>
{/*<div className="map">*/}
{/* <a href="https://naver.me/FHYuP0ok" target="_blank" rel="noreferrer">*/}
{/* <img src="/assets/images/map.png" alt="" />*/}
{/* </a>*/}
{/*</div>*/}
<div className="addr">
<div className="left_col">
<h3>표준프레임워크센터 주소</h3>
<dl>
<dt>도로명주소</dt>
<dd>04513 서울특별시 중구 세종대로 39 대한서울상공회의소 7</dd>
</dl>
<dl>
<dt>지번주소</dt>
<dd>04513 서울특별시 중구 남대문로4가 45 대한서울상공회의소 7</dd>
</dl>
</div>
<div className="right_col">
<h3>QR코드로 위치알아보기</h3>
<p>스마트폰에서 QR코드<br />
리더를 이용해 사진·<br />
지도 다양한 정보를<br />
확인하세요.</p>
<img className="qr" src="/assets/images/qrcode.png" alt="qr code" />
</div>
</div>
{/*<div className="addr">*/}
{/* <div className="left_col">*/}
{/* <h3>표준프레임워크센터 주소</h3>*/}
{/* <dl>*/}
{/* <dt>도로명주소</dt>*/}
{/* <dd>04513 서울특별시 중구 세종대로 39 대한서울상공회의소 7층</dd>*/}
{/* </dl>*/}
{/* <dl>*/}
{/* <dt>지번주소</dt>*/}
{/* <dd>04513 서울특별시 중구 남대문로4가 45 대한서울상공회의소 7층</dd>*/}
{/* </dl>*/}
{/* </div>*/}
{/* <div className="right_col">*/}
{/* <h3>QR코드로 위치알아보기</h3>*/}
{/* <p>스마트폰에서 QR코드<br />*/}
{/* 리더를 이용해 사진·<br />*/}
{/* 지도 등 다양한 정보를<br />*/}
{/* 확인하세요.</p>*/}
{/* <img className="qr" src="/assets/images/qrcode.png" alt="qr code" />*/}
{/* </div>*/}
{/*</div>*/}
<div className="way">
<div className="left_col">
<h3>찾아오시는 </h3>
<dl>
<dt>지하철 2호선</dt>
<dd>시청역 9 출구 5분거리</dd>
</dl>
<dl>
<dt>지하철 1호선</dt>
<dd>서울역 3 출구 5분거리</dd>
</dl>
</div>
<div className="right_col">
<h3>연락처</h3>
<dl>
<dt className="call">전화</dt>
<dd>0000-0000</dd>
</dl>
<dl>
<dt className="email">이메일</dt>
<dd>egovframeexample@gmail.com</dd>
</dl>
</div>
</div>
{/*<div className="way">*/}
{/* <div className="left_col">*/}
{/* <h3>찾아오시는 길</h3>*/}
{/* <dl>*/}
{/* <dt>지하철 2호선</dt>*/}
{/* <dd>시청역 9번 출구 5분거리</dd>*/}
{/* </dl>*/}
{/* <dl>*/}
{/* <dt>지하철 1호선</dt>*/}
{/* <dd>서울역 3번 출구 5분거리</dd>*/}
{/* </dl>*/}
{/* </div>*/}
{/* <div className="right_col">*/}
{/* <h3>연락처</h3>*/}
{/* <dl>*/}
{/* <dt className="call">전화</dt>*/}
{/* <dd>0000-0000</dd>*/}
{/* </dl>*/}
{/* <dl>*/}
{/* <dt className="email">이메일</dt>*/}
{/* <dd>egovframeexample@gmail.com</dd>*/}
{/* </dl>*/}
{/* </div>*/}
{/*</div>*/}
{/* <!--// 본문 --> */}
</div>

View File

@ -12,8 +12,8 @@ function EgovAboutOrganization() {
<div className="location">
<ul>
<li><Link to={URL.MAIN} className="home" >Home</Link></li>
<li><Link to={URL.ABOUT}>사이트 소개</Link></li>
<li>조직소개</li>
<li><Link to={URL.ABOUT}>센터 소개</Link></li>
<li>주요업무</li>
</ul>
</div>
{/* <!--// Location --> */}
@ -26,17 +26,17 @@ function EgovAboutOrganization() {
<div className="contents SITE_INTRO" id="contents">
{/* <!-- 본문 --> */}
<h1 className="tit_3">사이트 소개</h1>
<h1 className="tit_3">홍보자료</h1>
<p className="txt_1">표준프레임워크 경량환경 포털사이트를 소개합니다.</p>
{/*<p className="txt_1">표준프레임워크 경량환경 포털사이트를 소개합니다.</p>*/}
<h2 className="tit_4">조직소개</h2>
{/*<h2 className="tit_4">조직소개</h2>*/}
<h3 className="tit_5">조직</h3>
{/*<h3 className="tit_5">조직</h3>*/}
<p className="msg_1">오픈커뮤니티의 초기 정착을 위해 표준프레임워크 개발 참여자와 국내 주요 오픈커뮤니티의 운영자·전문가를 리딩<br />
그룹(PMC, 커미터)으로 구성 오픈커뮤니티의 지속적인 확대·발전을 위해 프로젝트 활동에 적극적으로 참여하는 <br />
커뮤니티 회원이 리딩그룹의 역할을 획득할 있도록 투명하고 공정한 의사결정 체계를 수립</p>
{/*<p className="msg_1">오픈커뮤니티의 초기 정착을 위해 표준프레임워크 개발 참여자와 국내 주요 오픈커뮤니티의 운영자·전문가를 리딩<br />*/}
{/* 그룹(PMC, 커미터)으로 구성 오픈커뮤니티의 지속적인 확대·발전을 위해 프로젝트 활동에 적극적으로 참여하는 <br />*/}
{/* 커뮤니티 회원이 리딩그룹의 역할을 획득할 수 있도록 투명하고 공정한 의사결정 체계를 수립</p>*/}
{/* <!--// 본문 --> */}
</div>

View File

@ -0,0 +1,177 @@
import React, { useEffect, useState, useRef } from 'react';
import {Link, useLocation, useNavigate} from 'react-router-dom';
import * as EgovNet from 'api/egovFetch';
import Row from 'react-bootstrap/Row';
import Col from 'react-bootstrap/Col';
import Modal from 'react-bootstrap/Modal';
import { default as EgovLeftNav } from 'components/leftmenu/EgovLeftNavAbout';
import URL from "constants/url";
function Promote(){
const [show, setShow] = useState(false);
const [modalContent, setModalContent] = useState({});
const handleClose = () => setShow(false);
const handleShow = (content) => {
setModalContent(content);
setShow(true);
};
const items = [
{
id: 1,
imgSrc: '/assets/images/nanae-1.png',
link: '/support-download-detail',
linkText: '2023년 12월 14호',
modalTitle: '2023년 12월 14호',
modalBody: `
- 교량 건설기준 국제 통용성 분석 연구<br />
- [기고문]건설산업 변화와 디지털 건설기준 도입<br />
- [기고문]인공지능 기술을 활용한 건설기준 중복 상충부 검토<br />
- 건설산업 디지털 전환 동향 파악을 위한 국외출장 결과<br />
- 건설기준 주요 민원사례 소개<br />
- 2023 건설기준위원회 중앙건설기술심의위원회 개최 현황<br />
- 2023 건설기준 ·개정 고시 현황
`
},
{
id: 2,
imgSrc: '/assets/images/nanae-1.png',
link: '/support-download-detail',
linkText: '2022년 12월 13호',
modalTitle: '2022년 12월 13호',
modalBody: `
- 다른 내용1<br />
- 다른 내용2<br />
- 다른 내용3<br />
- 다른 내용4<br />
`
},
//
];
return (
<div className="container">
<div className="c_wrap">
{/* <!-- Location --> */}
<div className="location">
<ul>
<li><Link to={URL.MAIN} className="home f" >Home</Link></li>
<li><Link to={URL.ABOUT}>센터소개</Link></li>
<li>홍보자료</li>
</ul>
</div>
{/* <!--// Location --> */}
<div className="layout">
{/* <!-- Navigation --> */}
<EgovLeftNav></EgovLeftNav>
{/* <!--// Navigation --> */}
<div className="contents PDS_LIST" id="contents">
{/* <!-- 본문 --> */}
<h1 className="tit_3 fs">홍보자료</h1>
<Row className="justify-content-between">
<Col><img src={"/assets/images/t_count.png"} /> 전체: <span className={"text-danger"}>14</span></Col>
<Col className={"text-end"}>PDF 파일을 보시려면 PC에 <img src="/assets/images/pdf1.png" alt="Adobe Reader" className={"pt-1"}/> <a href="https://get.adobe.com/kr/reader/" target="_blank" rel="noopener noreferrer">Adobe Reader</a> 설치하셔야 합니다.</Col>
</Row>
<div className="pdslist">
<ul>
{items.map(item => (
<li>
<img src="/assets/images/nanae-1.png" alt="" className={"promotion"} onClick={() => handleShow({ title: item.modalTitle, body: item.modalBody })} />
<Link to="">
<img src="/assets/images/pdf.png" alt=""/> <strong>{item.linkText}</strong>
</Link>
</li>
))}
<li>
<img src="/assets/images/nanae-1.png" alt="" className={"promotion"} />
<Link to="">
<img src="/assets/images/pdf.png" alt=""/> <strong>2022 12 13</strong>
</Link>
</li>
<li>
<img src="/assets/images/nanae-1.png" alt="" className={"promotion"} />
<Link to="">
<img src="/assets/images/pdf.png" alt=""/> <strong>2021 12 12</strong>
</Link>
</li>
<li>
<img src="/assets/images/nanae-1.png" alt="" className={"promotion"} />
<Link to="">
<img src="/assets/images/pdf.png" alt=""/> <strong>2020 12 11</strong>
</Link>
</li>
<li>
<img src="/assets/images/nanae-1.png" alt="" className={"promotion"} />
<Link to="">
<img src="/assets/images/pdf.png" alt=""/> <strong>2023 12 14</strong>
</Link>
</li>
<li>
<img src="/assets/images/nanae-1.png" alt="" className={"promotion"} />
<Link to="">
<img src="/assets/images/pdf.png" alt=""/> <strong>2022 12 13</strong>
</Link>
</li>
<li>
<img src="/assets/images/nanae-1.png" alt="" className={"promotion"} />
<Link to="">
<img src="/assets/images/pdf.png" alt=""/> <strong>2021 12 12</strong>
</Link>
</li>
</ul>
</div>
<Row className="board_bot justify-content-between">
<Col xs={3} className=""></Col>
{/* <!-- Paging --> */}
<Col xs={6} className="paging">
<ul>
<li className="btn"><button to="" className="first">처음</button></li>
<li className="btn"><button to="" className="prev">이전</button></li>
<li><button to="" className="cur">1</button></li>
<li><button to="">2</button></li>
<li><button to="">3</button></li>
<li><button to="">4</button></li>
<li><button to="">5</button></li>
<li><button to="">6</button></li>
<li><button to="">7</button></li>
<li><button to="">8</button></li>
<li><button to="">9</button></li>
<li><button to="">10</button></li>
<li className="btn"><button to="" className="next">다음</button></li>
<li className="btn"><button to="" className="last">마지막</button></li>
</ul>
</Col>
{/* <!--/ Paging --> */}
<Col xs={3} className="text-end"></Col>
</Row>
{/* <!--// 본문 --> */}
</div>
</div>
</div>
<Modal show={show} onHide={handleClose}>
<Modal.Header closeButton>
<Modal.Title>{modalContent.title}</Modal.Title>
</Modal.Header>
<Modal.Body dangerouslySetInnerHTML={{ __html: modalContent.body }}></Modal.Body>
{/*<Modal.Footer>*/}
{/* <Button variant="secondary" onClick={handleClose}>*/}
{/* 닫기*/}
{/* </Button>*/}
{/*</Modal.Footer>*/}
</Modal>
</div>
);
}
export default Promote;

View File

@ -11,8 +11,8 @@ function EgovAboutSite() {
<div className="location">
<ul>
<li><Link to="" className="home">Home</Link></li>
<li><Link to="">사이트 소개</Link></li>
<li>소개</li>
<li><Link to="">센터 소개</Link></li>
<li>인사말</li>
</ul>
</div>
{/* <!--// Location --> */}
@ -25,73 +25,73 @@ function EgovAboutSite() {
<div className="contents SITE_INTRO" id="contents">
{/* <!-- 본문 --> */}
<h1 className="tit_3">사이트 소개</h1>
<h1 className="tit_3">인사말</h1>
<p className="txt_1">표준프레임워크 경량환경의 개요와 연혁, 조직소개,<br/>
표준프레임워크센터의 약도 등의 정보를 제공하고 있습니다.</p>
{/*<p className="txt_1">표준프레임워크 경량환경의 개요와 연혁, 조직소개,<br/>*/}
{/* 표준프레임워크센터의 약도 등의 정보를 제공하고 있습니다.</p>*/}
<h2 className="tit_4">전자정부표준프레임워크 소개</h2>
{/*<h2 className="tit_4">전자정부표준프레임워크 소개</h2>*/}
<h3 className="tit_5">개요</h3>
{/*<h3 className="tit_5">개요</h3>*/}
<p className="msg_1">전자정부 표준 프레임워크는 응용SW의 구성기반이 되며 응용SW실행 필요한 기본 기능을 제공하는 환경이다.<br/>
전자정부 표준 프레임워크는 전자정부 서비스의 품질향상 정보화 투자 효율성 향상 위해 개발 프레임워크<br/>
표준을 정립하고, 개발 프레임워크 표준 적용을 통한 응용 SW의 표준화 품질과 재사용성 향상을 목표로 한다.</p>
<div className="ds_1">
{/*<p className="msg_1">전자정부 표준 프레임워크는 응용SW의 구성기반이 되며 응용SW실행 시 필요한 기본 기능을 제공하는 환경이다.<br/>*/}
{/* 전자정부 표준 프레임워크는 ‘전자정부 서비스의 품질향상 및 정보화 투자 효율성 향상’을 위해 개발 프레임워크<br/>*/}
{/* 표준을 정립하고, 개발 프레임워크 표준 적용을 통한 응용 SW의 표준화 및 품질과 재사용성 향상을 목표로 한다.</p>*/}
<h4 className="t_1">전자정부 서비스 품질향상 정보화투자 효율성 향상</h4>
<ul className="li_1">
<li>국가 정보화<br/>투자효율성 제고</li>
<li>중소SI업체<br/>경쟁력 확보</li>
<li>선진 국가정보화<br/>기반환경 제공</li>
</ul>
<p className="t_2">전자정부표준프레임워크<br/>활용</p>
{/*<div className="ds_1">*/}
<div className="bot">
<h4 className="t_3">전자정부표준프레임워크 구축 적용 요구</h4>
<ul>
<li><span>특정업체 종속성 발생으로<br/>
인한 공정경쟁 저하 사업자<br/>
변경 예산낭비</span></li>
<li><span>기관별/사업별 개별적인<br/>
정보화 사업추진으로 중복개발</span></li>
<li><span>표준화된 공통 개발기반 부재로<br/>
시스템간 상호 운용성 <br/>
재사용성 저하</span></li>
</ul>
<p className="t_4">전자정부표준프레임워크는 응용SW의 구성기반이 되며 응용SW실행 필요한 기본 기능을 제공하는 환경으로
정보시스템 구축 특정 대기업의 프레임워크로 구축·운영되어, 사업자 종속-비용증가 중소기업의 입찰제한
등의 폐단이 발생하는 것을 방지하기 위한 목적과 전자정부 서비스의 품질향상 정보화 투자 효율성 향상
위해 개발 프레임워크 표준을 정립하고, 개발 프레임워크 표준 적용을 통한 응용 SW의 표준화 품질과
재사용성 향상을 목표로 한다.</p>
</div>
{/* <h4 className="t_1">전자정부 서비스 품질향상 및 정보화투자 효율성 향상</h4>*/}
{/* */}
{/* <ul className="li_1">*/}
{/* <li>국가 정보화<br/>투자효율성 제고</li>*/}
{/* <li>중소SI업체<br/>경쟁력 확보</li>*/}
{/* <li>선진 국가정보화<br/>기반환경 제공</li>*/}
{/* </ul>*/}
{/* */}
{/* <p className="t_2">전자정부표준프레임워크<br/>활용</p>*/}
<h3 className="tit_5">배경</h3>
<p className="msg_1">현재 전자정부는 유사한 기능을 가지는 다양한 종류 버전의 프레임워크를 개별 시스템 단위로 적용/관리하고
있으며, 이에 따라 다양한 문제점들이 발생하고 있다. 전자정부에 적용된 개발프레임워크는 Black Box 형태로
제공되어 사업자의 기술지원 없이는 응용 SW를 유지보수하기 어렵기 때문에 사업자에 대한 의존성이 발생한다.
복수개의 개발프레임워크가 적용된 사업의 경우, 프레임워크에 따라 개발표준 정의, 개발자수급, 교육시행
별도의 유지보수 체계를 갖추는 중복 투자가 발생하며, 개발프레임워크의 체계적인 관리절차의 미비로 동일
개발프레임워크라 하더라도 버전 관리에 어려움이 있다.전자정부의 프레임워크의 표준화는 사업자 고유 개발
프레임워크에 대한 기술 종속성을 배제하고 표준화를 통해 응용 SW의 표준화와 품질, 재사용성을 향상시키며,
개발 프레임워크의 유지 보수 단일화를 통한 투자 효율성을 높인다.</p>
<h3 className="tit_5">특징</h3>
<p className="msg_1">현재 전자정부는 유사한 기능을 가지는 다양한 종류 버전의 프레임워크를 개별 시스템 단위로 적용/관리하고
있으며, 이에 따라 다양한 문제점들이 발생하고 있다. 전자정부에 적용된 개발프레임워크는 Black Box 형태로
제공되어 사업자의 기술지원 없이는 응용 SW를 유지보수하기 어렵기 때문에 사업자에 대한 의존성이 발생한다.
복수개의 개발프레임워크가 적용된 사업의 경우, 프레임워크에 따라 개발표준 정의, 개발자수급, 교육시행
별도의 유지보수 체계를 갖추는 중복 투자가 발생하며, 개발프레임워크의 체계적인 관리절차의 미비로 동일
개발프레임워크라 하더라도 버전 관리에 어려움이 있다.전자정부의 프레임워크의 표준화는 사업자 고유 개발
프레임워크에 대한 기술 종속성을 배제하고 표준화를 통해 응용 SW의 표준화와 품질, 재사용성을 향상시키며,
개발 프레임워크의 유지 보수 단일화를 통한 투자 효율성을 높인다.</p>
{/* <div className="bot">*/}
{/* <h4 className="t_3">전자정부표준프레임워크 구축 및 적용 요구</h4>*/}
{/* <ul>*/}
{/* <li><span>특정업체 종속성 발생으로<br/>*/}
{/* 인한 공정경쟁 저하 및 사업자<br/>*/}
{/* 변경 시 예산낭비</span></li>*/}
{/* <li><span>기관별/사업별 개별적인<br/>*/}
{/* 정보화 사업추진으로 중복개발</span></li>*/}
{/* <li><span>표준화된 공통 개발기반 부재로<br/>*/}
{/* 시스템간 상호 운용성 및<br/>*/}
{/* 재사용성 저하</span></li>*/}
{/* </ul>*/}
{/* <p className="t_4">전자정부표준프레임워크는 응용SW의 구성기반이 되며 응용SW실행 시 필요한 기본 기능을 제공하는 환경으로*/}
{/* 정보시스템 구축 시 특정 대기업의 프레임워크로 구축·운영되어, 사업자 종속-비용증가 및 중소기업의 입찰제한*/}
{/* 등의 폐단이 발생하는 것을 방지하기 위한 목적과 ‘전자정부 서비스의 품질향상 및 정보화 투자 효율성 향상’을 */}
{/* 위해 개발 프레임워크 표준을 정립하고, 개발 프레임워크 표준 적용을 통한 응용 SW의 표준화 및 품질과 */}
{/* 재사용성 향상을 목표로 한다.</p>*/}
{/* </div>*/}
</div>
{/* <h3 className="tit_5">배경</h3>*/}
{/* <p className="msg_1">현재 전자정부는 유사한 기능을 가지는 다양한 종류 및 버전의 프레임워크를 개별 시스템 단위로 적용/관리하고*/}
{/* 있으며, 이에 따라 다양한 문제점들이 발생하고 있다. 전자정부에 적용된 개발프레임워크는 Black Box 형태로*/}
{/* 제공되어 사업자의 기술지원 없이는 응용 SW를 유지보수하기 어렵기 때문에 사업자에 대한 의존성이 발생한다.*/}
{/* */}
{/* 복수개의 개발프레임워크가 적용된 사업의 경우, 프레임워크에 따라 개발표준 정의, 개발자수급, 교육시행 등*/}
{/* 별도의 유지보수 체계를 갖추는 중복 투자가 발생하며, 개발프레임워크의 체계적인 관리절차의 미비로 동일*/}
{/* 개발프레임워크라 하더라도 버전 관리에 어려움이 있다.전자정부의 프레임워크의 표준화는 사업자 고유 개발*/}
{/* 프레임워크에 대한 기술 종속성을 배제하고 표준화를 통해 응용 SW의 표준화와 품질, 재사용성을 향상시키며,*/}
{/* 개발 프레임워크의 유지 보수 단일화를 통한 투자 효율성을 높인다.</p>*/}
{/* */}
{/* <h3 className="tit_5">특징</h3>*/}
{/* <p className="msg_1">현재 전자정부는 유사한 기능을 가지는 다양한 종류 및 버전의 프레임워크를 개별 시스템 단위로 적용/관리하고*/}
{/* 있으며, 이에 따라 다양한 문제점들이 발생하고 있다. 전자정부에 적용된 개발프레임워크는 Black Box 형태로*/}
{/* 제공되어 사업자의 기술지원 없이는 응용 SW를 유지보수하기 어렵기 때문에 사업자에 대한 의존성이 발생한다.*/}
{/* */}
{/* 복수개의 개발프레임워크가 적용된 사업의 경우, 프레임워크에 따라 개발표준 정의, 개발자수급, 교육시행 등*/}
{/* 별도의 유지보수 체계를 갖추는 중복 투자가 발생하며, 개발프레임워크의 체계적인 관리절차의 미비로 동일*/}
{/* 개발프레임워크라 하더라도 버전 관리에 어려움이 있다.전자정부의 프레임워크의 표준화는 사업자 고유 개발*/}
{/* 프레임워크에 대한 기술 종속성을 배제하고 표준화를 통해 응용 SW의 표준화와 품질, 재사용성을 향상시키며,*/}
{/* 개발 프레임워크의 유지 보수 단일화를 통한 투자 효율성을 높인다.</p>*/}
{/*</div>*/}
{/* <!--// 본문 --> */}
</div>

View File

@ -0,0 +1,14 @@
import React, { useState } from 'react';
import {Link, useLocation, useNavigate} from 'react-router-dom';
import * as EgovNet from 'api/egovFetch';
function Sitemap(){
return (
<div>사이트맵</div>
);
}
export default Sitemap;

View File

@ -0,0 +1,14 @@
import React, { useState } from 'react';
import {Link, useLocation, useNavigate} from 'react-router-dom';
import * as EgovNet from 'api/egovFetch';
function Progress(){
return (
<div>위원회 - 진행현황</div>
);
}
export default Progress;

View File

@ -0,0 +1,14 @@
import React, { useState } from 'react';
import {Link, useLocation, useNavigate} from 'react-router-dom';
import * as EgovNet from 'api/egovFetch';
function Schedule(){
return (
<div>위원회 - 위원회일정</div>
);
}
export default Schedule;

View File

@ -0,0 +1,14 @@
import React, { useState } from 'react';
import {Link, useLocation, useNavigate} from 'react-router-dom';
import * as EgovNet from 'api/egovFetch';
function Email(){
return (
<div>이메일 무단수집 거부</div>
);
}
export default Email;

View File

@ -0,0 +1,14 @@
import React, { useState } from 'react';
import {Link, useLocation, useNavigate} from 'react-router-dom';
import * as EgovNet from 'api/egovFetch';
function Private(){
return (
<div>개인정보처리방침</div>
);
}
export default Private;

View File

@ -0,0 +1,14 @@
import React, { useState } from 'react';
import {Link, useLocation, useNavigate} from 'react-router-dom';
import * as EgovNet from 'api/egovFetch';
function Sitemap(){
return (
<div>사이트맵</div>
);
}
export default Sitemap;

View File

@ -111,13 +111,13 @@ function EgovLoginContent(props) {
const idFindModal = useCallback(
()=> {
setModalTitle("ID 찾기")
setModalTitle("아이디 찾기")
setModalBody(IdFindForm)
handleShow();
}
)
const pwFindModal = () => {
setModalTitle("PW 찾기")
setModalTitle("비밀번호 찾기")
setModalBody(PwFindForm)
handleShow();
}
@ -162,7 +162,6 @@ function EgovLoginContent(props) {
<em className="clickable" onClick={idFindModal}>아이디 찾기</em>
<em> | </em>
<em className="clickable" onClick={pwFindModal}>비밀번호 찾기</em>
{/*<Link to={URL.JOIN}><em>회원가입</em></Link>*/}
</Col>
</Row>
<button type="button" onClick={submitFormHandler} className="btn btn-22498E btn-lg">로그인</button>

View File

@ -33,19 +33,22 @@ function IdFindForm(){
return (
<Form onSubmit={findId} noValidate>
<Form.Group as={Row} className="mb-3" controlId="formHorizontalEmail">
<Form.Label column sm={2}>
이메일
<Form.Group as={Row} controlId="formHorizontalEmail">
<Form.Label column sm={12} className="text-center">
찾으려는 아이디의 이메일입력해 주세요.
</Form.Label>
<Col sm={10}>
<Form.Control type="email" placeholder="Email" name="email" required />
<Col sm={12} className="input-group h_50">
<span className="input-group-text">
<img src="/assets/images/mail.png" alt="email icon" />
</span>
<Form.Control type="email" placeholder="이메일" name="email" required className={"radius_r shadow-none"} />
<Form.Control.Feedback type={"invalid"} >메일을 입력해주세요.</Form.Control.Feedback>
</Col>
</Form.Group>
<Row className="mb-3">
<Form.Label column xs={{span:8, offset:2}} id="findResultLabel"></Form.Label>
<Col xs={2}>
<Button type="submit">찾기</Button>
<Form.Label column xs={{span:8, offset:2}} id="findResultLabel" className={"text-center f_17"}></Form.Label>
<Col xs={12}>
<Button type="submit" className={"btn btn-22498E btn-lg w-100 f_15"}>아이디 찾기</Button>
</Col>
</Row>
</Form>

View File

@ -0,0 +1,14 @@
import React, { useState } from 'react';
import {Link, useLocation, useNavigate} from 'react-router-dom';
import * as EgovNet from 'api/egovFetch';
function My(){
return (
<div>마이 페이지</div>
);
}
export default My;

View File

@ -0,0 +1,116 @@
import React, { useState } from 'react';
import {Link, useLocation, useNavigate} from 'react-router-dom';
import * as EgovNet from 'api/egovFetch';
import CODE from "constants/code";
import Row from 'react-bootstrap/Row';
import Col from 'react-bootstrap/Col';
import {getLocalItem, setLocalItem} from 'utils/storage';
import {parseJwt} from "../../utils/parseJwt";
function PwChange(props) {
console.group("JoinContent");
console.log("[Start] JoinContent ------------------------------");
console.log("JoinContent [props] : ", props);
const navigate = useNavigate();
const location = useLocation();
console.log("JoinContent [location] : ", location);
const accessToken = getLocalItem('accessToken');
const userInfo = parseJwt(accessToken);
// const [userInfo, setUserInfo] = useState({ id: '', password: '', passwordChk: '', userNm: '', email: '', phoneNum: ''});
const submitFormHandler = (e) => {
// console.log("JoinContent submitFormHandler()");
// let valueChk = true;
// for(let value in userInfo){
// if(!userInfo[value]){
// valueChk = false;
// }
// }
// if(valueChk){
// const loginUrl = "/auth/join"
// const requestOptions = {
// method: "POST",
// headers: {
// 'Content-type': 'application/json'
// },
// body: JSON.stringify(userInfo)
// }
//
// EgovNet.requestFetch(loginUrl,
// requestOptions,
// (resp) => {
// let resultVO = resp.resultVO;
// let accessToken = resp?.accessToken || null;
//
// setLocalItem('accessToken', accessToken);
// if (Number(resp.resultCode) === Number(CODE.RCV_SUCCESS)) {
// alert(resp.resultMessage);
// navigate('/login');
// }else{
// alert(resp.resultMessage);
// }
//
// })
// }else{
// window.alert(" .")
// }
}
console.log("------------------------------JoinContent [End]");
console.groupEnd("JoinContent");
return (
<div className="container">
<div className="c_wrap">
<div className="layout">
<div className="contents" id="contents">
{/* <!-- 본문 --> */}
<div className="Pjoin">
<h1>비밀번호 변경</h1>
<div className="join_box">
{userInfo?.id?(
<form name="" method="" action="" >
<span className="group">
<label for="idInput">현재 비밀번호</label>
<input type="password" name="" title="현재 비밀번호" placeholder="현재 비밀번호를 입력하세요." />
<label for="passwordInput">신규 비밀번호</label>
<input type="password" name="" id="passwordInput" title="비밀번호" placeholder="변경할 비밀번호를 입력하세요." />
<input type="password" name="" id="passwordChkInput" title="비밀번호 확인" placeholder="변경할 비밀번호를 다시 입력하세요." />
<ul className="list">
<li>비밀번호는 6~12자의 영문 /소문자, 숫자, 특수문자를 혼합해서 사용하실 있습니다.
{/*<br />쉬운 비밀번호나 자주 쓰는 사이트의 비밀번호가 같을 경우, 도용되기 쉬우므로 주기적으로*/}
{/* 변경하셔서 사용하는 것이 좋습니다.*/}
</li>
</ul>
</span>
<div className="pt-3 d-flex justify-content-center"><button type="button" onClick={submitFormHandler} className="btn btn-22498E">변경하기</button></div>
</form>
):(
<Row className="justify-content-center">
<Col xs={12}>
</Col>
<Col xs={12} className="pt-3 d-flex justify-content-center">
비로그인 로그인창으로
</Col>
</Row>
)}
</div>
</div>
{/* <!--// 본문 --> */}
</div>
</div>
</div>
</div>
);
}
export default PwChange;

View File

@ -33,25 +33,28 @@ function PwFindForm(){
return (
<Form onSubmit={findPw} noValidate>
<Form.Group as={Row} className="mb-3" controlId="formHorizontalEmail">
<Form.Label column sm={2}>
아이디
<Form.Label column sm={12} className="text-center">
비밀번호를 찾고자하는 아이디이메일을 입력해 주세요.
</Form.Label>
<Col sm={10}>
<Form.Control type="text" name="id" placeholder="ID" required />
<Col sm={12} className="input-group h_50">
<span className="input-group-text">
<img src="/assets/images/icon_id.png" alt="email icon" />
</span>
<Form.Control type="text" name="id" placeholder="아이디" required className={"radius_r shadow-none"} />
</Col>
</Form.Group>
<Form.Group as={Row} className="mb-3" controlId="formHorizontalEmail">
<Form.Label column sm={2}>
이메일
</Form.Label>
<Col sm={10}>
<Form.Control type="email" name="email" placeholder="Email" required/>
<Form.Group as={Row} controlId="formHorizontalEmail">
<Col sm={12} className="input-group h_50">
<span className="input-group-text">
<img src="/assets/images/mail.png" alt="email icon" />
</span>
<Form.Control type="email" name="email" placeholder="이메일" required className={"radius_r shadow-none"} />
</Col>
</Form.Group>
<Row className="mb-3">
<Form.Label column xs={{span:8, offset:2}} id="findResultLabel"></Form.Label>
<Col xs={2}>
<Button type="submit">찾기</Button>
<Form.Label column xs={{span:8, offset:2}} id="findResultLabel" className={"text-center f_17"}></Form.Label>
<Col xs={12}>
<Button type="submit" className={"btn btn-22498E btn-lg w-100 f_15"}>비밀번호 찾기</Button>
</Col>
</Row>
</Form>

View File

@ -5,6 +5,8 @@ import Col from 'react-bootstrap/Col';
import Button from 'react-bootstrap/Button';
import CountUp from 'react-countup';
import { Box, Tabs, Tab, Typography } from '@mui/material';
import Slider from "react-slick";
import "slick-carousel/slick/slick.css";
import "slick-carousel/slick/slick-theme.css";
@ -12,6 +14,7 @@ import "slick-carousel/slick/slick-theme.css";
import * as EgovNet from 'api/egovFetch';
import URL from 'constants/url';
function EgovMain(props) {
console.group("EgovMain");
console.log("[Start] EgovMain ------------------------------");
@ -52,6 +55,13 @@ function EgovMain(props) {
// .
];
// TAB .
const [value, setValue] = useState(0);
const handleChange = (event, newValue) => {
setValue(newValue);
};
// eslint-disable-next-line no-unused-vars
const [noticeBoard, setNoticeBoard] = useState();
// eslint-disable-next-line no-unused-vars
@ -150,13 +160,22 @@ function EgovMain(props) {
<div className="menubox_n text-center"><Link to={URL.STANDARD_CODE_OLD}><div className="menu_img"><img src="/assets/images/ico-landing5.png" /></div><div className="menu_text">훈령/예규/지침</div></Link></div>
<div className="menubox_n text-center"><Link to={URL.STANDARD_CODE_ENG}><div className="menu_img"><img src="/assets/images/ico-landing6.png" /></div><div className="menu_text">영문건설기준</div></Link></div>
<div className="menubox_n text-center"><Link to={URL.STANDARD_CODE_TERM}><div className="menu_img"><img src="/assets/images/ico-landing8.png" /></div><div className="menu_text">건설기준용어</div></Link></div>
<div className="menubox_n text-center"><Link to={URL.SUPPORT_LIST}><div className="menu_img"><img src="/assets/images/ico-landing7.png" /></div><div className="menu_text">주요행사</div></Link></div>
<div className="menubox_n text-center"><Link to={URL.SUPPORT_LIST}><div className="menu_img"><img src="/assets/images/ico-landing9.png" /></div><div className="menu_text">수요조사</div></Link></div>
<div className="menubox_n text-center"><Link to={URL.SUPPORT_LIST_NOCODE+'/KCSC-EVT'}><div className="menu_img"><img src="/assets/images/ico-landing7.png" /></div><div className="menu_text">주요행사</div></Link></div>
<div className="menubox_n text-center"><Link to={URL.SUPPORT_LIST_NOCODE+'/KCSC-INV'}><div className="menu_img"><img src="/assets/images/ico-landing9.png" /></div><div className="menu_text">수요조사</div></Link></div>
<div className="menubox_n text-center"><Link to={URL.SUPPORT_API}><div className="menu_img"><img src="/assets/images/ico-landing10.png" /></div><div className="menu_text">API 서비스</div></Link></div>
<div className="menubox_n text-center"><Link to={URL.SUPPORT_SITE}><div className="menu_img"><img src="/assets/images/ico-landing11.png" /></div><div className="menu_text">관련사이트</div></Link></div>
</div>
<div className="qnabox">
<div className="qnabox_1 d-flex justify-content-center">
<div className="qnabox_11 d-flex justify-content-start align-items-end">Q&A</div>
<div className="qnabox_12 d-flex justify-content-end align-items-end">1/2</div>
</div>
<div className="qnabox_2 d-flex justify-content-center align-items-center">
<div className="qnabox_n">1</div>
<div className="qnabox_n">2</div>
<div className="qnabox_n">3</div>
<div className="qnabox_n">4</div>
</div>
</div>
<div className="numbox d-flex justify-content-center align-items-center">
<div className="numbox_n"><div className="num_text">다운로드 </div><div className="num_count"><CountUp start={0} end={334345} duration={2.5} separator="," /><span className="unit"></span></div></div>
@ -164,8 +183,29 @@ function EgovMain(props) {
<div className="numbox_n"><div className="num_text"> 편균 방문자</div><div className="num_count"><CountUp start={0} end={56427} duration={2.5} separator="," /><span className="unit"></span></div></div>
<div className="numbox_n"><div className="num_text">개정고시</div><div className="num_count"><CountUp start={0} end={99875} duration={2.5} separator="," /><span className="unit"></span></div></div>
</div>
<div className="bbsbox d-flex justify-content-center align-items-center">
<div className="bbsbox_1">1</div>
<div className="bbsbox d-flex justify-content-center align-items-start">
<div className="bbsbox_1">
<Box sx={{ borderBottom: 2, borderColor: 'divider' }}>
<Tabs
value={value}
onChange={handleChange}
aria-label="wrapped label tabs example"
>
<Tab value={0} label="공지사항" wrapped />
<Tab value={1} label="위원회 진행현황" />
<Tab value={2} label="건설기준고시" />
<Tab value={3} label="건설기준연구" />
<Tab value={4} label="기술자료" />
<Tab value={5} label="보도자료" />
</Tabs>
</Box>
<TabPanel value={value} index={0}>Item 0</TabPanel>
<TabPanel value={value} index={1}>Item 1</TabPanel>
<TabPanel value={value} index={2}>Item 2</TabPanel>
<TabPanel value={value} index={3}>Item 3</TabPanel>
<TabPanel value={value} index={4}>Item 4</TabPanel>
<TabPanel value={value} index={5}>Item 5</TabPanel>
</div>
<div className="bbsbox_2">2</div>
</div>
<div className="bannerbox">
@ -185,4 +225,25 @@ function EgovMain(props) {
);
}
function TabPanel(props) {
const { children, value, index, ...other } = props;
return (
<div
role="tabpanel"
hidden={value !== index}
id={`wrapped-tabpanel-${index}`}
aria-labelledby={`wrapped-tab-${index}`}
{...other}
>
{value === index && (
<Box sx={{ p: 3 }}>
<Typography>{children}</Typography>
</Box>
)}
</div>
);
}
export default EgovMain;

View File

@ -0,0 +1,14 @@
import React, { useState } from 'react';
import {Link, useLocation, useNavigate} from 'react-router-dom';
import * as EgovNet from 'api/egovFetch';
function CodeEng(){
return (
<div>영문 건설기준</div>
);
}
export default CodeEng;

View File

@ -0,0 +1,14 @@
import React, { useState } from 'react';
import {Link, useLocation, useNavigate} from 'react-router-dom';
import * as EgovNet from 'api/egovFetch';
function CodeOld(){
return (
<div>12() 건설기준코드</div>
);
}
export default CodeOld;

View File

@ -0,0 +1,14 @@
import React, { useState } from 'react';
import {Link, useLocation, useNavigate} from 'react-router-dom';
import * as EgovNet from 'api/egovFetch';
function CodeTerm(){
return (
<div>건설기준코드 용어</div>
);
}
export default CodeTerm;

View File

@ -0,0 +1,14 @@
import React, { useState } from 'react';
import {Link, useLocation, useNavigate} from 'react-router-dom';
import * as EgovNet from 'api/egovFetch';
function API(){
return (
<div>API 서비스</div>
);
}
export default API;

View File

@ -0,0 +1,153 @@
import React, { useState } from 'react';
import {Link, useNavigate} from 'react-router-dom';
import * as EgovNet from 'api/egovFetch';
import URL from 'constants/url';
import Row from 'react-bootstrap/Row';
import Col from 'react-bootstrap/Col';
import Button from 'react-bootstrap/Button';
function Create(){
const navigate = useNavigate();
const goToList = () => {
navigate('/support/list/KCSC-QA');
};
return (
<div className="container">
<div className="c_wrap">
{/* <!-- Location --> */}
<div className="location">
<ul>
<li><Link to={URL.MAIN} className="home" >Home</Link></li>
<li><Link to={URL.SUPPORT}>정보제공</Link></li>
<li>게시판명</li>
</ul>
</div>
{/* <!--// Location --> */}
<div className="layout">
<div className="contents QNA_LIST" id="contents">
{/* <!-- 본문 --> */}
<h1 className="tit_3">게시판명</h1>
<div className="board_view2">
{/*카테고리랑 공개여부는 Q&A만 보이게 처리*/}
<dl>
<dt>카테고리</dt>
<dd className="d-flex justify-content-start">
<div className="me-3">
<select defaultValue={"0"} className={"form-select"}>
<option value="0">설계기준</option>
<option value="">설계기준</option>
<option value="">설계기준</option>
<option value="">설계기준</option>
</select>
</div>
<div className="me-3">
<select defaultValue={"0"} className={"form-select"}>
<option value="0">구분</option>
<option value="">설계기준</option>
<option value="">설계기준</option>
<option value="">설계기준</option>
</select>
</div>
<div className="me-3">
<select defaultValue={"0"} className={"form-select"}>
<option value="0">대분류</option>
<option value="">설계기준</option>
<option value="">설계기준</option>
<option value="">설계기준</option>
</select>
</div>
<div className="me-3">
<select defaultValue={"0"} className={"form-select"}>
<option value="0">중분류</option>
<option value="">설계기준</option>
<option value="">설계기준</option>
<option value="">설계기준</option>
</select>
</div>
<div className="">
<select defaultValue={"0"} className={"form-select"}>
<option value="0">소분류</option>
<option value="">설계기준</option>
<option value="">설계기준</option>
<option value="">설계기준</option>
</select>
</div>
</dd>
</dl>
<dl>
<dt>공개여부</dt>
<dd>
<input type={"radio"} name={"isOpen"} value={""} checked /> 공개
<input type={"radio"} name={"isOpen"} value={""} className={"ms-3"} /> 비공개
</dd>
</dl>
{/*카테고리랑 공개여부는 Q&A만 보이게 처리*/}
<dl>
<dt>첨부파일</dt>
<dd>
<span className={"card p-2 mb-2 h_100 text-center"}> 파일을 이곳에 드래그 해주세요. </span>
{/*글 수정시 첨부파일 삭제버튼 사용*/}
<span className="file_attach">
<Link to="">file_name.hwp</Link> <span>[3,626] byte</span>
<Button to="#" variant={"danger"} className="btn-sm ms-2">삭제</Button>
</span>
</dd>
</dl>
<dl>
<dt>제목</dt>
<dd>
<input type={"text"} name={"title"} value={""} className={"form-control rounded-2"} />
</dd>
</dl>
</div>
<div className="p-3">
에디터 넣어주세요.<br />
에디터 넣어주세요.<br />
에디터 넣어주세요.<br />
에디터 넣어주세요.<br />
에디터 넣어주세요.
</div>
{/*Q&A만 보이게 처리하세요*/}
<div className={"card m-3 p-5"}>
<span className={"pb-4 fs-4 fw-bold"}>개인정보 수집 이용 동의</span>
<span className={"pb-4"}>국가건설기준센터는 게시물 작성자의 개인정보를 다음의 목적을 위해 처리합니다.<br />
처리한 개인정보는 다음의 목적 이외의 용도로는 사용되지 않으며, 이용 목적이 변경될 시에는 사전동의를 구할 예정입니다.</span>
<span className={"pb-4"}> 개인정보의 수집·이용 목적 : 질의신청<br />
수집하려는 개인정보의 항목 : 작성자 아이디<br />
개인정보의 보유 이용 기간 : 작성자가 게시물을 삭제할 까지</span>
<span className={"pb-4"}>귀하께서는 개인정보 수집에 대한 동의를 거부할 권리가 있으며, 동의를 거부하는 경우 "질의신청" 이용 없습니다.<br />
위의 개인정보 수집 이용동의에 동의 하며 "질의신청" 진행하겠습니까?</span>
<span>
<label><input type={"radio"} name={"isAgree"} value={""} /> 동의</label>
<label><input type={"radio"} name={"isAgree"} value={""} className={"ms-3"} checked /> 비동의</label>
</span>
</div>
<Row className={"px-3 justify-content-between"} >
<Col><Button type={"button"} className={"btn btn-22498E px-4"} onClick={goToList} >목록</Button></Col>
<Col className={"text-end"}><Button type={"button"} className={"btn btn-22498E px-4"} onClick={goToList} >저장</Button></Col>
</Row>
{/* <!--// 본문 --> */}
</div>
</div>
</div>
</div>
);
}
export default Create;

View File

@ -0,0 +1,148 @@
import React, { useState } from 'react';
import {Link, useNavigate} from 'react-router-dom';
import * as EgovNet from 'api/egovFetch';
import URL from 'constants/url';
import Row from 'react-bootstrap/Row';
import Col from 'react-bootstrap/Col';
import Button from 'react-bootstrap/Button';
function Detail(){
const navigate = useNavigate();
const goToList = () => {
navigate('/support/list/KCSC-QA');
};
const goToCreate = () => {
navigate('/support/create/KCSC-QA');
};
return (
<div className="container">
<div className="c_wrap">
{/* <!-- Location --> */}
<div className="location">
<ul>
<li><Link to={URL.MAIN} className="home" >Home</Link></li>
<li><Link to={URL.SUPPORT}>정보제공</Link></li>
<li>게시판명</li>
</ul>
</div>
{/* <!--// Location --> */}
<div className="layout">
<div className="contents QNA_LIST" id="contents">
{/* <!-- 본문 --> */}
<h1 className="tit_3">게시판명</h1>
<div className="board_view2">
<dl>
<dt>카테고리</dt>
<dd>
설계기준 > 시설물편 > 건축 구조기준 > 건축물 설계하중
</dd>
<dt>등록일자</dt>
<dd>
2011-08-08 11:11:11
</dd>
</dl>
<dl>
<dt>작성자</dt>
<dd>
박성환
</dd>
<dt>조회</dt>
<dd>
100
</dd>
</dl>
<dl>
<dt>첨부파일</dt>
<dd>
<span className="file_attach">
<Link to="">file_name.hwp</Link> <span>[3626] byte</span>
</span>
</dd>
</dl>
<dl>
<dd>[공지] jsp파일을 못찼습니다. 제목 뿌려주세요.</dd>
</dl>
</div>
<div className="qna_q">
<span>Q</span>
안녕하세요 웹호스팅에 올렸더니 jsp파일에서 이런에러로그가 남았는데요 jsp파일을 못찾는것같습니다? xml을 수정해야하나요?<br/>
심각: Servlet.service() for servlet action threw exception<br/>
javax.servlet.ServletException: Could not get RequestDispatcher for [/WEB-INF/jsp/egovframework//main/main.jsp]: check that
this file exists within your WAR<br/>
at org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:217)
</div>
<div className="qna_a">
<span>A</span>
<ul>
<li>
{/*답변 처리중인경우*/}
{/*질문 확인 후 답변을 처리중입니다.*/}
{/*답변 달린경우*/}
<span>admin님의 답변 2011-08-08 12:33:33</span>
심각: Servlet.service() for servlet action threw exception은 jsp파일을 열어서 보셔야합니다.
javax.servlet.ServletException: Could not get RequestDispatcher for [/WEB-INF/jsp/egovframework//main/main.jsp]: check that
this file exists within your WAR
</li>
</ul>
</div>
<Row className={"py-3 justify-content-between"} >
<Col><Button type={"button"} className={"btn btn-22498E px-4"} onClick={goToList} >목록</Button></Col>
<Col className={"text-end"}><Button type={"button"} className={"btn btn-22498E px-4"} onClick={goToCreate} >수정</Button></Col>
</Row>
{/* <!-- 답변달기 관리자에서 설정된 경우만--> */}
<Row className="replay justify-content-between">
<Col xs={1} className="text-center">
<label htmlFor="replay_write">Comment</label>
</Col>
<Col xs={10} className="">
{/*<div>*/}
<textarea className="f_txtar w-100 h-100" name="" id="replay_write" rows="4"></textarea>
{/*</div>*/}
</Col>
<Col xs={1} className="">
<Button type={"button"} className="btn btn-22498E w-100 h-100" >등록</Button>
</Col>
</Row>
{/* <!--// 답변달기 --> */}
<div className="qna_a">
<ul>
<li>
<span>chanjin, 2011-08-08 12:33:33</span>
심각: Servlet.service() for servlet action threw exception은 jsp파일을 열어서 보셔야합니다.<br />
javax.servlet.ServletException: Could not get RequestDispatcher for [/WEB-INF/jsp/egovframework//main/main.jsp]: check that<br />
<Link to="#" className="btn delete">삭제</Link>
</li>
<li>
<span>sunrise, 2011-08-07 11:11:11</span>
tomcat서버를 재시동해보세요. 그렇게 하니깐 되던데요.
<Link to="#" className="btn delete">삭제</Link>
</li>
<li>
<span>auto, 2011-08-07 11:11:11</span>
제가 살펴볼께요 메일로 주세요. test@naver.com
<Link to="#" className="btn delete">삭제</Link>
</li>
</ul>
</div>
{/* <!--// 본문 --> */}
</div>
</div>
</div>
</div>
);
}
export default Detail;

View File

@ -0,0 +1,143 @@
import React, { useState } from 'react';
import {Link, useNavigate} from 'react-router-dom';
import * as EgovNet from 'api/egovFetch';
import URL from 'constants/url';
import Row from 'react-bootstrap/Row';
import Col from 'react-bootstrap/Col';
import Button from 'react-bootstrap/Button';
function List(){
const navigate = useNavigate();
const goToCreate = () => {
navigate('/support/create/KCSC-QA');
};
return (
<div className="container">
<div className="c_wrap">
{/* <!-- Location --> */}
<div className="location">
<ul>
<li><Link to={URL.MAIN} className="home" >Home</Link></li>
<li><Link to={URL.SUPPORT_LIST_NOCODE+'/KCSC-NTC'}>정보제공</Link></li>
<li>게시판명</li>
</ul>
</div>
{/* <!--// Location --> */}
<div className="layout">
<div className="contents QNA_LIST" id="contents">
{/* <!-- 본문 --> */}
<h1 className="tit_3">게시판명</h1>
{/* <!-- 검색조건 --> */}
<div className="condition1">
<ul>
<li className="">
<label className="" htmlFor="search_select">
<select defaultValue={"0"} name="search_select" id="search_select" className="form-select shadow-none" >
<option value="0">전체</option>
<option value="1">제목</option>
<option value="2">제목/내용</option>
<option value="3">작성자</option>
</select>
</label>
</li>
<li className="">
<input type="text" name="" placeholder="" className="form-control shadow-none rounded-2" />
</li>
<li className="">
<button type="button" className="btn btn-outline-secondary px-4">검색</button>
</li>
</ul>
</div>
{/* <!--// 검색조건 --> */}
{/* <!-- 게시판목록 --> */}
<div className="board_list BRD013">
<div className="head">
<span>번호</span>
<span>제목</span>
<span>작성자</span>
<span>조회수</span>
<span>등록일</span>
<span>파일</span>
</div>
<div className="result">
{/* <!-- case : 데이터 없을때 --> */}
{/* <p className="no_data" key="0">검색된 결과가 없습니다.</p> */}
{/* <!-- case : 데이터 있을때 --> */}
<Link to={URL.SUPPORT_DETAIL_NOCODE+'/KCSC-NTC'} className="list_item">
<div>3</div>
<div className="al">[공지] 공통컴포넌트 모니터링 관련 서비스 실행시 오류가 발생합니다 [15] <img src="/assets/images/lock.png" className="pt-1" /> <img src="/assets/images/new.png" className="pt-1" /></div>
<div>관리자</div>
<div>3</div>
<div>2021-7-24</div>
<div><img src="/assets/images/file.png" /></div>
</Link>
<Link to={URL.SUPPORT_DETAIL_NOCODE+'/KCSC-NTC'} className="list_item">
<div>2</div>
<div className="al"><img src="/assets/images/re.png" className="pt-1" /> validation 처리 .패스워드에 대한 메소드를 찾지 못합니다.</div>
<div>홍길동</div>
<div>3</div>
<div>2021-7-24</div>
<div></div>
</Link>
<Link to={URL.SUPPORT_DETAIL_NOCODE+'/KCSC-NTC'} className="list_item">
<div>1</div>
<div className="al d-flex align-items-center">
{/*미답변시 아이콘*/}
<img src="/assets/images/icon_answer0.png" className="pt-1 h_30 pb-1" /> &nbsp;
{/*답변완료시 아이콘*/}
{/*<img src="/assets/images/icon_answer.png" className="pt-1 h_30 pb-1" /> &nbsp;*/}
공통컴포넌트 모니터링 관련 서비스 실행시 오류가 발생합니다.</div>
<div>홍길동</div>
<div>3</div>
<div>2021-7-24</div>
<div></div>
</Link>
</div>
</div>
{/* <!--// 게시판목록 --> */}
<Row className="board_bot justify-content-between">
<Col xs={3} className=""></Col>
{/* <!-- Paging --> */}
<Col xs={6} className="paging">
<ul>
<li className="btn"><button to="" className="first">처음</button></li>
<li className="btn"><button to="" className="prev">이전</button></li>
<li><button to="" className="cur">1</button></li>
<li><button to="">2</button></li>
<li><button to="">3</button></li>
<li><button to="">4</button></li>
<li><button to="">5</button></li>
<li><button to="">6</button></li>
<li><button to="">7</button></li>
<li><button to="">8</button></li>
<li><button to="">9</button></li>
<li><button to="">10</button></li>
<li className="btn"><button to="" className="next">다음</button></li>
<li className="btn"><button to="" className="last">마지막</button></li>
</ul>
</Col>
{/* <!--/ Paging --> */}
{/* 수요조사는 버튼명 "의견 접수" 수요조사와 QNA만 작성가능하게 관리자 세팅되어야 함/관리자 쓰기권한만 작성가능 */}
<Col xs={3} className="text-end"><button type={"button"} className={"btn btn-outline-secondary px-4"} onClick={goToCreate}>질의 작성</button></Col>
</Row>
{/* <!--// 본문 --> */}
</div>
</div>
</div>
</div>
);
}
export default List;

View File

@ -0,0 +1,14 @@
import React, { useState } from 'react';
import {Link, useLocation, useNavigate} from 'react-router-dom';
import * as EgovNet from 'api/egovFetch';
function Poll(){
return (
<div>설문조사</div>
);
}
export default Poll;

View File

@ -0,0 +1,87 @@
import React, { useState } from 'react';
import {Link, useNavigate} from 'react-router-dom';
// import * as EgovNet from 'api/egovFetch';
import Row from 'react-bootstrap/Row';
import Col from 'react-bootstrap/Col';
import Button from 'react-bootstrap/Button';
import URL from 'constants/url';
import StandardCodeInfo from "../standardCode/info/StandardCodeInfo";
function QNA(){
const navigate = useNavigate();
const goToQna = () => {
navigate('/support/list/KCSC-QA');
};
return (
<div className="container">
<div className="c_wrap">
{/* <!-- Location --> */}
<div className="location">
<ul>
<li><Link to={URL.MAIN} className="home" >Home</Link></li>
<li><Link to={URL.SUPPORT_LIST_NOCODE+'/KCSC-NTC'}>정보제공</Link></li>
<li>Q&A</li>
</ul>
</div>
{/* <!--// Location --> */}
<div className="layout">
<div className="contents SITE_INTRO" id="contents">
{/* <!-- 본문 --> */}
<h1 className="tit_3">Q & A</h1>
<div className="card bg-fa">
<Row className="p-3">
<Col xs={"auto"} className="px-4"><img src="/assets/images/icon_qna.png" /></Col>
<Col xs={"auto"} className="">
건설기준 포털시스템(국가건설기준센터)에서는 건설공사의 기술성, 환경성 향상 품질확보와 효율적인 공사 관리를 위한 건설기준(설계기준, 표준시방서, 전문시방서) 제공하고 있습니다.<br />
건설기준을 활용과정에서 각종 질의, 제안사항 등이 있으신 경우에는 질의지원 시스템을 적극 활용하여 주시기 바랍니다.
</Col>
</Row>
</div>
<div className="card bg-fa mt-4 ps-3">
<Row className="ps-3 py-3">
<Col xs={"auto"} className=""><img src="/assets/images/icon_chk.png" /></Col>
<Col xs={"auto"} className="">
(질의처리 관련) 건설기준 관련단체와 협의가 필요한 경우 질의처리 기간이 2 이상 소요될 있음을 양지하시기 바라며, 최대한 빠른 질의처리가 이루어질 있도록 노력하겠습니다.
</Col>
</Row>
<Row className="ps-3">
<Col xs={"auto"} className=""><img src="/assets/images/icon_chk.png" /></Col>
<Col xs={"auto"} className="">
(건설기준 유권해석) 건설기준의 유권해석은 건설기술진흥업무 운영규정(국토교통부 훈령)제40조제2항제3호의 규정에 따라 해당 건설기준 소관부서(부처)에서 담당하도록 되어 있습니다.<br />
따라서 우리 센터에서는 건설기준 관련 질의에 대한 검토 의견을 드릴 수는 있으나, 의견이 건설기준 유권해석은 아님을 양지하여 주시기 바랍니다.<br />
건설기준에 대한 유권해석을 원하시는 경우에는 조금 불편하시더라도 국민신문고 등을 통해 해당 건설기준의 소관부서(부처) 문의하여 주시기 바랍니다
</Col>
</Row>
<Row className="ps-3 py-3">
<Col xs={"auto"} className=""><img src="/assets/images/icon_chk.png" /></Col>
<Col xs={"auto"} className="">
(민원공개 관련) 공공기관의 정보공개에 관한 법률 제9조(비공개대상정보) 따라 아래의 사항은 질의응답이나 민원공개가 제한됨을 알려드립니다..<br />
* 성명·주민등록번호 개인에 관한 사항으로서 공개될 경우 사생활의 비밀 또는 자유를 침해할 우려가 있다고 인정되는 정보<br />
* 불법적인 사유나 불편·부당한 수단을 동원하여 민원처리기관에 특정한 행위를 요구하는 경우<br />
* 기타 질의자가 비공개를 요청하는 경우
</Col>
</Row>
</div>
<div className="text-center p-3 text-danger">
건설기준 포털시스템에서는 개인정보(개인 연락처, 이메일 ) 수집하지 않습니다.<br />
질의 답변은 접수현황에서 확인하시기 바랍니다.
</div>
<div className="text-center p-3">
<Button className="btn-22498E py-4 px-5" onClick={goToQna}>질의 신청</Button>
</div>
{/* <!--// 본문 --> */}
</div>
</div>
</div>
</div>
);
}
export default QNA;

View File

@ -0,0 +1,14 @@
import React, { useState } from 'react';
import {Link, useLocation, useNavigate} from 'react-router-dom';
import * as EgovNet from 'api/egovFetch';
function Research(){
return (
<div>건설기준연구</div>
);
}
export default Research;

View File

@ -0,0 +1,14 @@
import React, { useState } from 'react';
import {Link, useLocation, useNavigate} from 'react-router-dom';
import * as EgovNet from 'api/egovFetch';
function Site(){
return (
<div>관련사이트</div>
);
}
export default Site;

View File

@ -13,37 +13,66 @@ import EgovError from 'components/EgovError';
import EgovMain from 'pages/main/EgovMain';
import EgovLogin from 'pages/login/EgovLogin';
import Join from 'pages/login/join/Join';
import My from 'pages/login/My';
import Private from 'pages/inform/Private';
import Email from 'pages/inform/Email';
import ChangePw from 'pages/login/PwChange'
//ABOUT
import EgovAboutSite from 'pages/about/EgovAboutSite';
import EgovAboutHistory from 'pages/about/EgovAboutHistory';
import EgovAboutPromote from 'pages/about/EgovAboutPromote';
import EgovAboutOrganization from 'pages/about/EgovAboutOrganization';
import EgovAboutLocation from 'pages/about/EgovAboutLocation';
import EgovAboutSitemap from 'pages/about/EgovAboutSitemap';
//INTRO
import EgovIntroWork from 'pages/intro/EgovIntroWork';
import EgovIntroService from 'pages/intro/EgovIntroService';
// import EgovIntroWork from 'pages/intro/EgovIntroWork';
// import EgovIntroService from 'pages/intro/EgovIntroService';
//COMMITTEE
import CommitteeProgress from 'pages/committee/Progress';
import CommitteeSchedule from 'pages/committee/Schedule';
//SUPPORT
import SupportList from 'pages/support/List';
import SupportDetail from 'pages/support/Detail';
import SupportCreate from 'pages/support/Create';
import SupportQna from 'pages/support/Qna';
import SupportSite from 'pages/support/Site';
import SupportApi from 'pages/support/Api';
import SupportResearch from 'pages/support/Research';
import SupportPoll from 'pages/support/Poll';
import EgovSupportDownloadList from 'pages/support/download/EgovDownloadList';
import EgovSupportDownloadDetail from 'pages/support/download/EgovDownloadDetail';
import EgovSupportDownloadCreate from 'pages/support/download/EgovDownloadCreate';
import EgovSupportQnaList from 'pages/support/qna/EgovQnaList';
import EgovSupportQnaDetail from 'pages/support/qna/EgovQnaDetail';
import EgovSupportApply from 'pages/support/apply/EgovSupportApply';
// import EgovSupportDownloadDetail from 'pages/support/download/EgovDownloadDetail';
// import EgovSupportDownloadCreate from 'pages/support/download/EgovDownloadCreate';
// import EgovSupportQnaList from 'pages/support/qna/EgovQnaList';
// import EgovSupportQnaDetail from 'pages/support/qna/EgovQnaDetail';
// import EgovSupportApply from 'pages/support/apply/EgovSupportApply';
//
import CodeViewer from 'pages/standardCode/viewer/CodeViewer';
import StandardCodePage from "../pages/standardCode/list/StandardCodePage";
import StandardCodeInfo from "../pages/standardCode/info/StandardCodeInfo";
import StandardCodeTerm from "pages/standardCode/StandardCodeTerm";
import StandardCodeEng from "pages/standardCode/StandardCodeEng";
import StandardCodeOld from "pages/standardCode/StandardCodeOld";
//INFORM
import EgovDailyList from 'pages/inform/daily/EgovDailyList';
import EgovDailyDetail from 'pages/inform/daily/EgovDailyDetail';
import EgovWeeklyList from 'pages/inform/weekly/EgovWeeklyList';
import EgovNoticeList from 'pages/inform/notice/EgovNoticeList';
import EgovNoticeDetail from 'pages/inform/notice/EgovNoticeDetail';
import EgovNoticeEdit from 'pages/inform/notice/EgovNoticeEdit';
import EgovGalleryList from 'pages/inform/gallery/EgovGalleryList';
import EgovGalleryDetail from 'pages/inform/gallery/EgovGalleryDetail';
import EgovGalleryEdit from 'pages/inform/gallery/EgovGalleryEdit';
// import EgovDailyList from 'pages/inform/daily/EgovDailyList';
// import EgovDailyDetail from 'pages/inform/daily/EgovDailyDetail';
// import EgovWeeklyList from 'pages/inform/weekly/EgovWeeklyList';
//
// import EgovNoticeList from 'pages/inform/notice/EgovNoticeList';
// import EgovNoticeDetail from 'pages/inform/notice/EgovNoticeDetail';
// import EgovNoticeEdit from 'pages/inform/notice/EgovNoticeEdit';
//
// import EgovGalleryList from 'pages/inform/gallery/EgovGalleryList';
// import EgovGalleryDetail from 'pages/inform/gallery/EgovGalleryDetail';
// import EgovGalleryEdit from 'pages/inform/gallery/EgovGalleryEdit';
//ADMIN
import EgovAdminScheduleList from 'pages/admin/schedule/EgovAdminScheduleList';
@ -63,6 +92,9 @@ import EgovAdminNoticeEdit from 'pages/admin/notice/EgovAdminNoticeEdit';
import EgovAdminGalleryList from 'pages/admin/gallery/EgovAdminGalleryList';
import EgovAdminGalleryDetail from 'pages/admin/gallery/EgovAdminGalleryDetail';
import EgovAdminGalleryEdit from 'pages/admin/gallery/EgovAdminGalleryEdit';
// 2023.04.15()
import EgovAdminPasswordUpdate from 'pages/admin/manager/EgovAdminPasswordUpdate';
@ -100,7 +132,6 @@ import AdminCommitteeProgressStatus from 'pages/admin/committee/ProgressStatus';
import AdminCommitteeProgressStatusDetail from 'pages/admin/committee/ProgressStatus/Detail'; // - / /
import AdminCommitteeProgressStatusEdit from 'pages/admin/committee/ProgressStatus/Edit'; // - / /
import AdminCommitteeSchedules from 'pages/admin/committee/Schedules'; // - /
import AdminCommitteeSchedulesDetail from 'pages/admin/committee/Schedules/Detail'; // - / /
import AdminCommitteeSchedulesEdit from 'pages/admin/committee/Schedules/Edit'; // - / /
@ -112,12 +143,6 @@ import AdminLogsPrivacyLogs from 'pages/admin/logs/PrivacyLogs';
import AdminLogsFileDownloadStatus from 'pages/admin/logs/FileDownloadStatus'; // - /
//
import CodeViewer from 'pages/standardCode/viewer/CodeViewer';
import StandardCodePage from "../pages/standardCode/list/StandardCodePage";
import StandardCodeInfo from "../pages/standardCode/info/StandardCodeInfo";
import * as EgovNet from 'api/egovFetch'; // jwt
import initPage from 'js/ui';
@ -204,6 +229,10 @@ const SecondRoutes = () => {
<Route path={URL.LOGIN} element={<EgovLogin onChangeLogin={(user) => setLoginVO(user)}/>}/>
{/*{JOIN}*/}
<Route path={URL.JOIN} element={<Join />} />
<Route path={URL.MY} element={<My />} />
<Route path={URL.PRIVATE} element={<Private />} />
<Route path={URL.EMAIL} element={<Email />} />
<Route path={URL.CHANGE_PW} element={<ChangePw />} />
{/* ERROR */}
<Route path={URL.ERROR} element={<EgovError />} />
@ -212,45 +241,75 @@ const SecondRoutes = () => {
<Route path={URL.ABOUT} element={<Navigate to={URL.ABOUT_SITE} />} />
<Route path={URL.ABOUT_SITE} element={<EgovAboutSite />} />
<Route path={URL.ABOUT_HISTORY} element={<EgovAboutHistory />} />
<Route path={URL.ABOUT_PROMOTE} element={<EgovAboutPromote />} />
<Route path={URL.ABOUT_ORGANIZATION} element={<EgovAboutOrganization />} />
<Route path={URL.ABOUT_LOCATION} element={<EgovAboutLocation />} />
<Route path={URL.ABOUT_SITEMAP} element={<EgovAboutSitemap />} />
{/* INTRO */}
<Route path={URL.INTRO} element={<Navigate to={URL.INTRO_WORKS} />} />
<Route path={URL.INTRO_WORKS} element={<EgovIntroWork />} />
<Route path={URL.INTRO_SERVICE} element={<EgovIntroService />} />
{/*<Route path={URL.INTRO} element={<Navigate to={URL.INTRO_WORKS} />} />*/}
{/*<Route path={URL.INTRO_WORKS} element={<EgovIntroWork />} />*/}
{/*<Route path={URL.INTRO_SERVICE} element={<EgovIntroService />} />*/}
{/* COMMITTEE */}
<Route path={URL.COMMITTEE} element={<Navigate to={URL.COMMITTEE_PROGRESS} />} />
<Route path={URL.COMMITTEE_PROGRESS} element={<CommitteeProgress />} />
<Route path={URL.COMMITTEE_SCHEDULE} element={<CommitteeSchedule />} />
{/* SUPPORT */}
<Route path={URL.SUPPORT} element={<Navigate to={URL.SUPPORT_DOWNLOAD} />} />
<Route path={URL.SUPPORT} element={<Navigate to={URL.SUPPORT_LIST} />} />
<Route path={URL.SUPPORT_QNA} element={<SupportQna />} />
<Route path={URL.SUPPORT_LIST} element={<SupportList />} />
<Route path={URL.SUPPORT_DETAIL} element={<SupportDetail />} />
<Route path={URL.SUPPORT_CREATE} element={<SupportCreate />} />
<Route path={URL.SUPPORT_SITE} element={<SupportSite />} />
<Route path={URL.SUPPORT_API} element={<SupportApi />} />
<Route path={URL.SUPPORT_RESEARCH} element={<SupportResearch />} />
<Route path={URL.SUPPORT_POLL} element={<SupportPoll />} />
<Route path={URL.SUPPORT_DOWNLOAD} element={<EgovSupportDownloadList />} />
<Route path={URL.SUPPORT_DOWNLOAD_DETAIL} element={<EgovSupportDownloadDetail />} />
<Route path={URL.SUPPORT_DOWNLOAD_CREATE} element={<EgovSupportDownloadCreate />} />
{/*<Route path={URL.SUPPORT_DOWNLOAD_DETAIL} element={<EgovSupportDownloadDetail />} />*/}
{/*<Route path={URL.SUPPORT_DOWNLOAD_CREATE} element={<EgovSupportDownloadCreate />} />*/}
<Route path={URL.SUPPORT_QNA} element={<EgovSupportQnaList />} />
<Route path={URL.SUPPORT_QNA_DETAIL} element={<EgovSupportQnaDetail />} />
{/*<Route path={URL.SUPPORT_QNA} element={<EgovSupportQnaList />} />*/}
{/*<Route path={URL.SUPPORT_QNA_DETAIL} element={<EgovSupportQnaDetail />} />*/}
<Route path={URL.SUPPORT_APPLY} element={<EgovSupportApply />} />
{/*<Route path={URL.SUPPORT_APPLY} element={<EgovSupportApply />} />*/}
{/* INFORM */}
<Route path={URL.INFORM} element={<Navigate to={URL.INFORM_DAILY} />} />
{/*<Route path={URL.INFORM} element={<Navigate to={URL.INFORM_DAILY} />} />*/}
<Route path={URL.INFORM_DAILY} element={<EgovDailyList />} />
<Route path={URL.INFORM_DAILY_DETAIL} element={<EgovDailyDetail />} />
<Route path={URL.INFORM_WEEKLY} element={<EgovWeeklyList />} />
<Route path={URL.INFORM_WEEKLY_DETAIL} element={<EgovDailyDetail />} />
{/*<Route path={URL.INFORM_DAILY} element={<EgovDailyList />} />*/}
{/*<Route path={URL.INFORM_DAILY_DETAIL} element={<EgovDailyDetail />} />*/}
{/*<Route path={URL.INFORM_WEEKLY} element={<EgovWeeklyList />} />*/}
{/*<Route path={URL.INFORM_WEEKLY_DETAIL} element={<EgovDailyDetail />} />*/}
{/*<Route path={URL.INFORM_NOTICE} element={<EgovNoticeList />} />*/}
{/*<Route path={URL.INFORM_NOTICE_DETAIL} element={<EgovNoticeDetail />} />*/}
{/*<Route path={URL.INFORM_NOTICE_CREATE} element={<EgovNoticeEdit mode={CODE.MODE_CREATE} />} />*/}
{/*<Route path={URL.INFORM_NOTICE_MODIFY} element={<EgovNoticeEdit mode={CODE.MODE_MODIFY} />} />*/}
{/*<Route path={URL.INFORM_NOTICE_REPLY} element={<EgovNoticeEdit mode={CODE.MODE_REPLY} />} />*/}
{/*<Route path={URL.INFORM_GALLERY} element={<EgovGalleryList />} />*/}
{/*<Route path={URL.INFORM_GALLERY_DETAIL} element={<EgovGalleryDetail />} />*/}
{/*<Route path={URL.INFORM_GALLERY_CREATE} element={<EgovGalleryEdit mode={CODE.MODE_CREATE} />} />*/}
{/*<Route path={URL.INFORM_GALLERY_MODIFY} element={<EgovGalleryEdit mode={CODE.MODE_MODIFY} />} />*/}
{/*<Route path={URL.INFORM_GALLERY_REPLY} element={<EgovGalleryEdit mode={CODE.MODE_REPLY} />} />*/}
{/*기준코드 뷰어*/}
<Route path={URL.STANDARD_CODE_VIEWER} element={<CodeViewer mode={CODE.MODE_READ} />} />
<Route path={URL.STANDARD_CODE_VIEWER_LINK} element={<CodeViewer mode={CODE.MODE_READ} />} />
<Route path={URL.STANDARD_CODE_INFO} element={<StandardCodeInfo />} />
<Route path={URL.STANDARD_CODE_TERM} element={<StandardCodeTerm />} />
<Route path={URL.STANDARD_CODE_ENG} element={<StandardCodeEng />} />
<Route path={URL.STANDARD_CODE_OLD} element={<StandardCodeOld />} />
{/*기준코드리스트*/}
<Route path={URL.STANDARD_CODE_LIST} element={<StandardCodePage />} />
<Route path={URL.STANDARD_CODE_LIST_LINK} element={<StandardCodePage />} />
<Route path={URL.INFORM_NOTICE} element={<EgovNoticeList />} />
<Route path={URL.INFORM_NOTICE_DETAIL} element={<EgovNoticeDetail />} />
<Route path={URL.INFORM_NOTICE_CREATE} element={<EgovNoticeEdit mode={CODE.MODE_CREATE} />} />
<Route path={URL.INFORM_NOTICE_MODIFY} element={<EgovNoticeEdit mode={CODE.MODE_MODIFY} />} />
<Route path={URL.INFORM_NOTICE_REPLY} element={<EgovNoticeEdit mode={CODE.MODE_REPLY} />} />
<Route path={URL.INFORM_GALLERY} element={<EgovGalleryList />} />
<Route path={URL.INFORM_GALLERY_DETAIL} element={<EgovGalleryDetail />} />
<Route path={URL.INFORM_GALLERY_CREATE} element={<EgovGalleryEdit mode={CODE.MODE_CREATE} />} />
<Route path={URL.INFORM_GALLERY_MODIFY} element={<EgovGalleryEdit mode={CODE.MODE_MODIFY} />} />
<Route path={URL.INFORM_GALLERY_REPLY} element={<EgovGalleryEdit mode={CODE.MODE_REPLY} />} />
{/* ADMIN */}
<Route path={URL.ADMIN} element={<Navigate to={URL.ADMIN_SCHEDULE} />} />
@ -298,7 +357,7 @@ const SecondRoutes = () => {
{/* 관리자 - 건설기준 관리 */}
<Route path={URL.ADMIN__STANDARDS__REFERENCE_CODES} element={<AdminStandardsReferenceCodes />} />
<Route path={URL.ADMIN__STANDARDS__API_KYES} element={<AdminStandardsApiKeys />} />
<Route path={URL.ADMIN__STANDARDS__API_KEYS} element={<AdminStandardsApiKeys />} />
<Route path={URL.ADMIN__STANDARDS__SIMILARITY_CHECK} element={<AdminStandardsSimilarityCheck />} />
<Route path={URL.ADMIN__STANDARDS__INFO_DISCLOSURE} element={<AdminStandardsInfoDisclosure />} />
@ -323,8 +382,6 @@ const SecondRoutes = () => {
<Route path={URL.ADMIN__COMMITTEE__SCHEDULES__CREATE} element={<AdminCommitteeSchedulesEdit mode={CODE.MODE_CREATE} />} />
<Route path={URL.ADMIN__COMMITTEE__SCHEDULES__MODIFY} element={<AdminCommitteeSchedulesEdit mode={CODE.MODE_MODIFY} />} />
{/* 관리자 - 로그 관리 */}
<Route path={URL.ADMIN__LOGS__MENU_ACCESS_INFO} element={<AdminLogsMenuAccessInfo />} />
<Route path={URL.ADMIN__LOGS__USER_CONNECTIONS} element={<AdminLogsUserConnections />} />
@ -332,16 +389,6 @@ const SecondRoutes = () => {
<Route path={URL.ADMIN__LOGS__FILE_DOWNLOAD_STATUS} element={<AdminLogsFileDownloadStatus />} />
{/*기준코드 뷰어*/}
<Route path={URL.STANDARD_CODE_VIEWER} element={<CodeViewer mode={CODE.MODE_READ} />} />
<Route path={URL.STANDARD_CODE_VIEWER_LINK} element={<CodeViewer mode={CODE.MODE_READ} />} />
<Route path={URL.STANDARD_CODE_INFO} element={<StandardCodeInfo />} />
{/*기준코드리스트*/}
<Route path={URL.STANDARD_CODE_LIST} element={<StandardCodePage />} />
<Route path={URL.STANDARD_CODE_LIST_LINK} element={<StandardCodePage />} />
</Routes>
<EgovFooter />
<EgovInfoPopup />

View File

@ -153,7 +153,7 @@ public class EgovLoginApiController extends BaseController {
String password = loginService.updateTempPassword(loginVO);
if(password!=null){
resultMap.put("resultCode", ResponseCode.SUCCESS.getCode());
resultMap.put("resultMessage", "비밀번호가 발급되었습니다.\n 새 비밀번호: "+password);
resultMap.put("resultMessage", "비밀번호가 발급되었습니다.\n "+password);
}else{
resultMap.put("resultCode", ResponseCode.SAVE_ERROR.getCode());
resultMap.put("resultMessage", "조회에 실패하였습니다.");