Merge branch 'master' of http://118.219.150.34:50501/DBNT/kcscDev
# Conflicts: # egovframe-template-simple-react-contribution/.env.productionthkim
commit
023c641e1c
|
|
@ -4,6 +4,10 @@
|
|||
NODE_PATH=src/
|
||||
|
||||
## 절대경로 지정
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
## REACT_APP_EGOV_CONTEXT_URL=https://back.kcsc.dbnt.co.kr
|
||||
>>>>>>> 6849850039413527a8e94951eb8b08586f5bdfe7
|
||||
REACT_APP_EGOV_CONTEXT_URL=58.234.249.138:50688
|
||||
|
||||
## [보안] 소스맵 삭제
|
||||
|
|
|
|||
|
|
@ -1,18 +1,96 @@
|
|||
import React from 'react';
|
||||
|
||||
import { NavLink } from 'react-router-dom';
|
||||
import {NavLink, useLocation} from 'react-router-dom';
|
||||
import {Accordion} from "react-bootstrap";
|
||||
|
||||
import Row from 'react-bootstrap/Row';
|
||||
import Col from 'react-bootstrap/Col';
|
||||
import Button from 'react-bootstrap/Button';
|
||||
|
||||
import URL from 'constants/url';
|
||||
|
||||
function EgovLeftNavIntro() {
|
||||
|
||||
return (
|
||||
<div className="nav">
|
||||
const location = useLocation();
|
||||
const getLastFolder = (url) => { // 중간 폴더를 가져오는 로직 추가
|
||||
const parts = url.split('/').filter(Boolean); // '/'로 분할하고 빈 문자열을 필터링
|
||||
if (parts.length >= 2) {
|
||||
return parts[2]; // 3번째 폴더 반환
|
||||
}
|
||||
return null;
|
||||
};
|
||||
const activeFolder = getLastFolder(location.pathname);
|
||||
|
||||
let activeKey;
|
||||
if (activeFolder === "3") {
|
||||
activeKey = 1;
|
||||
} else if (activeFolder === "4") {
|
||||
activeKey = 2;
|
||||
} else if (activeFolder === "5") {
|
||||
activeKey = 3;
|
||||
} else {
|
||||
activeKey = 0;
|
||||
}
|
||||
|
||||
return (
|
||||
<div className="nav2">
|
||||
<div className="inner">
|
||||
<h2>정보마당</h2>
|
||||
<ul className="menu4">
|
||||
<li><NavLink to={URL.INTRO_WORKS} className={({ isActive }) => (isActive ? "cur" : "")}>주요사업 소개</NavLink></li>
|
||||
<li><NavLink to={URL.INTRO_SERVICE} className={({ isActive }) => (isActive ? "cur" : "")}>대표서비스 소개</NavLink></li>
|
||||
</ul>
|
||||
<Row className={"pt-4 pb-2 mb-1"}>
|
||||
<Col xs={10}><input type={"text"} className={"form-control shadow-none w-100 h_40"} placeholder={"구)건설기준 검색"} /></Col>
|
||||
<Col xs={2} className={"ps-0"}><Button className={"btn-22498E h_40"} type={"button"} >검색</Button></Col>
|
||||
</Row>
|
||||
<Accordion defaultActiveKey={activeKey}>
|
||||
<Accordion.Item eventKey={0}>
|
||||
<Accordion.Header>(구)설계기준(22)</Accordion.Header>
|
||||
<Accordion.Body>
|
||||
<ul className="menu5">
|
||||
<li><NavLink to={URL.STANDARD_CODE_OLD} className={({ isActive }) => (isActive ? "cur" : "")}>강구조 설계기준(2)</NavLink></li>
|
||||
<li><NavLink to={URL.STANDARD_CODE_OLD} className={({ isActive }) => (isActive ? "cur" : "")}>강구조 설계기준(하중저항계수 설계법)(3)</NavLink></li>
|
||||
<li><NavLink to={URL.STANDARD_CODE_OLD} className={({ isActive }) => (isActive ? "cur" : "")}>건설공사 비탈면 설계기준(4)</NavLink></li>
|
||||
<li><NavLink to={URL.STANDARD_CODE_OLD} className={({ isActive }) => (isActive ? "cur" : "")}>건축 구조기준(8)</NavLink></li>
|
||||
<li><NavLink to={URL.STANDARD_CODE_OLD} className={({ isActive }) => (isActive ? "cur" : "")}>건축기계설비 설계기준(4)</NavLink></li>
|
||||
<li><NavLink to={URL.STANDARD_CODE_OLD} className={({ isActive }) => (isActive ? "cur" : "")}>건축전기설비 설계기준(4)</NavLink></li>
|
||||
{/*리스트 쭉 보여주세요*/}
|
||||
</ul>
|
||||
</Accordion.Body>
|
||||
</Accordion.Item>
|
||||
|
||||
<Accordion.Item eventKey={1}>
|
||||
<Accordion.Header>(구)표준시방서(21)</Accordion.Header>
|
||||
<Accordion.Body>
|
||||
<ul className="menu5">
|
||||
<li><NavLink to={URL.STANDARD_CODE_OLD} className={({ isActive }) => (isActive ? "cur" : "")}>가설공사 표준시방서(5)</NavLink></li>
|
||||
<li><NavLink to={URL.STANDARD_CODE_OLD} className={({ isActive }) => (isActive ? "cur" : "")}>강구조공사 표준시방서(2)</NavLink></li>
|
||||
<li><NavLink to={URL.STANDARD_CODE_OLD} className={({ isActive }) => (isActive ? "cur" : "")}>건설공사 비탈면 표준시방서(3)</NavLink></li>
|
||||
<li><NavLink to={URL.STANDARD_CODE_OLD} className={({ isActive }) => (isActive ? "cur" : "")}>건설환경관리 표준시방서(1)</NavLink></li>
|
||||
{/*리스트 쭉 보여주세요*/}
|
||||
</ul>
|
||||
</Accordion.Body>
|
||||
</Accordion.Item>
|
||||
|
||||
<Accordion.Item eventKey={2}>
|
||||
<Accordion.Header>(구)전문시방서(9)</Accordion.Header>
|
||||
<Accordion.Body>
|
||||
<ul className="menu5">
|
||||
<li><NavLink to={URL.STANDARD_CODE_OLD} className={({ isActive }) => (isActive ? "cur" : "")}>고속도로공사 전문시방서(10)</NavLink></li>
|
||||
<li><NavLink to={URL.STANDARD_CODE_OLD} className={({ isActive }) => (isActive ? "cur" : "")}>농어촌정비공사 전문시방서(1)</NavLink></li>
|
||||
{/*리스트 쭉 보여주세요*/}
|
||||
</ul>
|
||||
</Accordion.Body>
|
||||
</Accordion.Item>
|
||||
|
||||
<Accordion.Item eventKey={3}>
|
||||
<Accordion.Header>(구)훈령/예규/지침(11)</Accordion.Header>
|
||||
<Accordion.Body>
|
||||
<ul className="menu5">
|
||||
<li><NavLink to={URL.STANDARD_CODE_OLD} className={({ isActive }) => (isActive ? "cur" : "")}>건설정책(198)</NavLink></li>
|
||||
<li><NavLink to={URL.STANDARD_CODE_OLD} className={({ isActive }) => (isActive ? "cur" : "")}>교통물류(77)</NavLink></li>
|
||||
<li><NavLink to={URL.STANDARD_CODE_OLD} className={({ isActive }) => (isActive ? "cur" : "")}>국토도시(156)</NavLink></li>
|
||||
{/*리스트 쭉 보여주세요*/}
|
||||
</ul>
|
||||
</Accordion.Body>
|
||||
</Accordion.Item>
|
||||
|
||||
</Accordion>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
|
|
|
|||
|
|
@ -43,6 +43,8 @@ const URL = {
|
|||
SUPPORT_API : "/support/api", // API 서비스
|
||||
SUPPORT_RESEARCH : "/support/research", // 건설기준 연구
|
||||
SUPPORT_POLL : "/support/poll", // 설문조사
|
||||
SUPPORT_SURVEY : "/support/survey/:Id", // 설문조사 참여
|
||||
SUPPORT_SURVEY_NOID : "/support/survey/", // 설문조사 참여
|
||||
SUPPORT_DOWNLOAD : "/support/download", // 고객지원/자료실
|
||||
// SUPPORT_DOWNLOAD_DETAIL : "/support/download/detail", // 고객지원/자료실/상세
|
||||
// SUPPORT_DOWNLOAD_CREATE : "/support/download/create", // 고객지원/자료실/등록
|
||||
|
|
@ -54,7 +56,8 @@ const URL = {
|
|||
STANDARD_CODE_INFO : "/standardCode/info", //건설기준코드/건설기준코드 안내
|
||||
STANDARD_CODE_TERM : "/standardCode/term", //건설기준코드/건설기준코드 용어
|
||||
STANDARD_CODE_ENG : "/standardCode/eng", //건설기준코드/영문 건설기준코드
|
||||
STANDARD_CODE_OLD : "/standardCode/old", //건설기준코드/(구)건설기준코드
|
||||
STANDARD_CODE_OLD : "/standardCode/old/:Code", //건설기준코드/(구)건설기준코드
|
||||
STANDARD_CODE_OLD_NOCODE : "/standardCode/old", //건설기준코드/(구)건설기준코드
|
||||
STANDARD_CODE_LIST : "/standardCode/list", //건설기준코드/리스트
|
||||
STANDARD_CODE_LIST_LINK : "/standardCode/list/:listCode", //건설기준코드/리스트
|
||||
STANDARD_CODE_DETAIL : "/standardCode/detail", //건설기준코드/리스트
|
||||
|
|
|
|||
|
|
@ -84,6 +84,7 @@ button {cursor: pointer;}
|
|||
|
||||
.h_25 {height: 25px;}
|
||||
.h_30 {height: 30px;}
|
||||
.h_40 {height: 40px;}
|
||||
.h_50 {height: 50px;}
|
||||
.h_100 {height: 100px;}
|
||||
.h_300 {height: 300px;}
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@ body {min-width: 1400px;}
|
|||
.c_wrap { margin: auto 0; } /* removed by lim width: 1400px; padding: 0 50px; */
|
||||
.c_wrap .layout {display: table; width: 100%; table-layout: fixed; padding-bottom: 20px;} /* added by lim padding-bottom: 20px; */
|
||||
|
||||
/* 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 20px;} /* changed by lim border-bottom: 4px solid #dde2e5; */
|
||||
|
|
@ -94,18 +94,28 @@ body {min-width: 1400px;}
|
|||
.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; */
|
||||
/* (구)건설기준 (왼쪽메뉴) */
|
||||
.c_wrap .layout .nav2:not(.tabs) {display: table-cell; width: 350px; vertical-align: top;}
|
||||
/*.c_wrap .layout .nav2 h2 {color: #222; font-size: 22px; font-weight: 700;}*/
|
||||
.c_wrap .layout .nav2 button {font-size: 15px;}
|
||||
.c_wrap .layout .nav2 .accordion-button {background: #FAFAFA;}
|
||||
.c_wrap .layout .nav2 ul li a {display: block; position: relative; color: #666; font-size: 14px; }
|
||||
.c_wrap .layout .nav2 ul li a.cur {color: #222; font-weight: 700; }
|
||||
|
||||
/* 센터소개 */
|
||||
.c_wrap .layout .contents .border-secondary {border : 1px solid #6c757d;}
|
||||
.c_wrap .layout .contents .border-secondary-no_top {border-left: 1px solid #6c757d; border-right: 1px solid #6c757d; border-bottom: 1px solid #6c757d; height: 500px; overflow-y: scroll;}
|
||||
|
||||
.c_wrap .layout .contents {display: table-cell; width: auto; vertical-align: top; padding-left: 30px;}
|
||||
|
||||
/* 센터소개 (왼쪽메뉴) */
|
||||
.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 {display: block; position: relative; color: #666; font-size: 14px; padding: 10px;}
|
||||
.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;}
|
||||
|
|
|
|||
|
|
@ -445,6 +445,49 @@
|
|||
.BRD015 .result .list_item > div:nth-child(3) {width: 30%; text-align: left; padding-left: 5px;}
|
||||
.BRD015 .result .list_item > div:nth-child(4) {width: 30%; text-align: left; padding-left: 5px;}
|
||||
|
||||
/* API */
|
||||
.BRD016 .head > span:nth-child(1) {position: relative; width: 20%; }
|
||||
.BRD016 .head > span:nth-child(2) {position: relative; width: 50%; }
|
||||
.BRD016 .head > span:nth-child(3) {position: relative; width: 30%; }
|
||||
.BRD016 .head > span:nth-child(-n+2)::after {position: absolute; content: ''; right: 0; bottom: 0; height: 50%; border-right: 1px solid #B5B5B5;}
|
||||
.BRD016 .result .list_item > div:nth-child(1) {width: 20%; padding: 10px 0;}
|
||||
.BRD016 .result .list_item > div:nth-child(2) {width: 50%; padding: 10px 0;}
|
||||
.BRD016 .result .list_item > div:nth-child(3) {width: 30%; padding: 10px 0;}
|
||||
|
||||
.BRD017 .head > span:nth-child(1) {position: relative; width: 20%; }
|
||||
.BRD017 .head > span:nth-child(2) {position: relative; width: 20%; }
|
||||
.BRD017 .head > span:nth-child(3) {position: relative; width: 25%; }
|
||||
.BRD017 .head > span:nth-child(4) {position: relative; width: 20%; }
|
||||
.BRD017 .head > span:nth-child(5) {position: relative; width: 15%; }
|
||||
.BRD017 .head > span:nth-child(-n+4)::after {position: absolute; content: ''; right: 0; bottom: 0; height: 50%; border-right: 1px solid #B5B5B5;}
|
||||
.BRD017 .result .list_item > div:nth-child(1) {width: 20%; padding: 10px 0;}
|
||||
.BRD017 .result .list_item > div:nth-child(2) {width: 20%; padding: 10px 0;}
|
||||
.BRD017 .result .list_item > div:nth-child(3) {width: 25%; padding: 10px 0;}
|
||||
.BRD017 .result .list_item > div:nth-child(4) {width: 20%; padding: 10px 0;}
|
||||
.BRD017 .result .list_item > div:nth-child(5) {width: 15%; padding: 10px 0;}
|
||||
|
||||
.BRD018 .head > span:nth-child(1) {position: relative; width: 15%; }
|
||||
.BRD018 .head > span:nth-child(2) {position: relative; width: 85%; padding: 10px; text-align: left;}
|
||||
.BRD018 .head > span:nth-child(1)::after {position: absolute; content: ''; right: 0; bottom: 0; height: 50%; border-right: 1px solid #B5B5B5;}
|
||||
.BRD018 .result .list_item > div:nth-child(1) {width: 15%; padding: 10px 0;}
|
||||
.BRD018 .result .list_item > div:nth-child(2) {width: 85%; padding: 10px; text-align: left;}
|
||||
|
||||
.BRD019 .head > span:nth-child(1) {position: relative; width: 60%;}
|
||||
.BRD019 .head > span:nth-child(2) {position: relative; width: 8%; text-align: center;}
|
||||
.BRD019 .head > span:nth-child(3) {position: relative; width: 8%; text-align: center;}
|
||||
.BRD019 .head > span:nth-child(4) {position: relative; width: 8%; text-align: center;}
|
||||
.BRD019 .head > span:nth-child(5) {position: relative; width: 8%; text-align: center;}
|
||||
.BRD019 .head > span:nth-child(6) {position: relative; width: 8%; text-align: center;}
|
||||
.BRD019 .head > span:nth-child(-n+5)::after {position: absolute; content: ''; right: 0; bottom: 0; height: 50%; border-right: 1px solid #B5B5B5;}
|
||||
.BRD019 .result .list_item > div:nth-child(1) {width: 60%; text-align: left; padding-left: 10px;}
|
||||
.BRD019 .result .list_item > div:nth-child(2) {width: 8%; text-align: center;}
|
||||
.BRD019 .result .list_item > div:nth-child(3) {width: 8%; text-align: center;}
|
||||
.BRD019 .result .list_item > div:nth-child(4) {width: 8%; text-align: center;}
|
||||
.BRD019 .result .list_item > div:nth-child(5) {width: 8%; text-align: center;}
|
||||
.BRD019 .result .list_item > div:nth-child(6) {width: 8%; text-align: center;}
|
||||
.poll_title {font-size: 15px; padding-left: 10px;}
|
||||
.poll_answer {padding-left: 20px;}
|
||||
|
||||
|
||||
/* 찾아오시는길 */
|
||||
.SITE_CONTACT_US .map {margin-top: 43px;}
|
||||
|
|
|
|||
|
|
@ -48,6 +48,7 @@
|
|||
.c_wrap .layout .nav h2 {position: absolute; top: -9999px;}
|
||||
.c_wrap .layout .nav ul {padding: 0 20px;}
|
||||
.c_wrap .layout .nav ul.menu4 {max-width: 570px;}
|
||||
.c_wrap .layout .nav div.menu5 {max-width: 570px;}
|
||||
.c_wrap .layout .nav ul.menu6 {width: 1000px;}
|
||||
.c_wrap .layout .nav ul::after {content: ""; display: block; clear: both;}
|
||||
.c_wrap .layout .nav ul li {float: left; width: 50%; text-overflow: ellipsis; white-space: nowrap; overflow: hidden; } /* added by lim width: 50%; ~~~~ overflow: hidden;*/
|
||||
|
|
|
|||
|
|
@ -274,7 +274,7 @@ function EgovMain(props) {
|
|||
</Row>
|
||||
<Row>
|
||||
<Col>
|
||||
<Link to={URL.STANDARD_CODE_OLD} className="link-wrapper">
|
||||
<Link to={URL.STANDARD_CODE_OLD_NOCODE+'/5'} className="link-wrapper">
|
||||
<div className={"topbox_13"}><img src="/assets/images/ico-landing5.png" /></div>
|
||||
<div className={"topbox_14"}>훈령/예규/지침</div>
|
||||
</Link>
|
||||
|
|
|
|||
|
|
@ -1,13 +1,15 @@
|
|||
import React, { useState } from 'react';
|
||||
import {Link, useLocation, useNavigate} from 'react-router-dom';
|
||||
import * as EgovNet from 'api/egovFetch';
|
||||
import {default as EgovLeftNav} from 'components/leftmenu/EgovLeftNavIntro';
|
||||
|
||||
import URL from "constants/url";
|
||||
import Row from 'react-bootstrap/Row';
|
||||
import Col from 'react-bootstrap/Col';
|
||||
import Button from 'react-bootstrap/Button';
|
||||
|
||||
function CodeOld(){
|
||||
|
||||
|
||||
|
||||
return (
|
||||
<div className="container">
|
||||
<div className="c_wrap">
|
||||
|
|
@ -22,10 +24,45 @@ function CodeOld(){
|
|||
{/* <!--// Location --> */}
|
||||
|
||||
<div className="layout">
|
||||
{/* <!-- Navigation --> */}
|
||||
<EgovLeftNav></EgovLeftNav>
|
||||
{/* <!--// Navigation --> */}
|
||||
|
||||
<div className="contents" id="contents">
|
||||
{/* <!-- 본문 --> */}
|
||||
<h1 className="tit_3">(구)건설기준</h1>
|
||||
|
||||
<Row className={"w-100 bg-fa p-3 m-0 border-secondary"}>
|
||||
<Col className={"f_16"}>설계기준 > 강구조 설계기준(2)</Col>
|
||||
</Row>
|
||||
<Row className={"border-secondary-no_top m-0"}>
|
||||
<Col className={"p-4"}>
|
||||
<Row className={"py-2"}>
|
||||
<Col>1 . 강구조설계기준, 2007(부분개정내용-관보)</Col>
|
||||
</Row>
|
||||
<Row className={"border-bottom pb-2"}>
|
||||
<Col><Button variant={"outline-secondary"} type={"button"}>설계기준</Button></Col>
|
||||
</Row>
|
||||
<Row className={"py-2"}>
|
||||
<Col>2 . 강구조설계기준, 2007(부분개정내용-관보)</Col>
|
||||
</Row>
|
||||
<Row className={"border-bottom pb-2"}>
|
||||
<Col><Button variant={"outline-secondary"} type={"button"}>설계기준</Button></Col>
|
||||
</Row>
|
||||
<Row className={"py-2"}>
|
||||
<Col>3 . 강구조설계기준, 2007(부분개정내용-관보)</Col>
|
||||
</Row>
|
||||
<Row className={"border-bottom pb-2"}>
|
||||
<Col><Button variant={"outline-secondary"} type={"button"}>설계기준</Button></Col>
|
||||
</Row>
|
||||
<Row className={"py-2"}>
|
||||
<Col>4 . 강구조설계기준, 2007(부분개정내용-관보)</Col>
|
||||
</Row>
|
||||
<Row className={"border-bottom pb-2"}>
|
||||
<Col><Button variant={"outline-secondary"} type={"button"}>설계기준</Button></Col>
|
||||
</Row>
|
||||
</Col>
|
||||
</Row>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,11 +1,23 @@
|
|||
import React, { useState } from 'react';
|
||||
import {Link, useLocation, useNavigate} from 'react-router-dom';
|
||||
import * as EgovNet from 'api/egovFetch';
|
||||
import URL from "../../constants/url";
|
||||
|
||||
import URL from "constants/url";
|
||||
import Row from 'react-bootstrap/Row';
|
||||
import Col from 'react-bootstrap/Col';
|
||||
import Button from 'react-bootstrap/Button';
|
||||
import Modal from 'react-bootstrap/Modal';
|
||||
|
||||
function API(){
|
||||
const [show, setShow] = useState(false);
|
||||
const [modalContent, setModalContent] = useState({});
|
||||
const handleClose = () => setShow(false);
|
||||
|
||||
|
||||
const goToCreate = () => {
|
||||
// 모달창 띄우기
|
||||
setModalContent();
|
||||
setShow(true);
|
||||
};
|
||||
|
||||
return (
|
||||
<div className="container">
|
||||
|
|
@ -25,9 +37,210 @@ function API(){
|
|||
<div className="contents" id="contents">
|
||||
{/* <!-- 본문 --> */}
|
||||
<h1 className="tit_3">API 서비스</h1>
|
||||
|
||||
<Row className={"pb-2 justify-content-between"} >
|
||||
<Col className={"f_17 text-4c6 pt-3"}>1. API 기본정보</Col>
|
||||
<Col className={"text-end"}><Button type={"button"} className={"btn btn-22498E px-4"} onClick={goToCreate} >인증키 발급신청</Button></Col>
|
||||
</Row>
|
||||
|
||||
<div className="board_list BRD016">
|
||||
<div className="head">
|
||||
<span>Method</span>
|
||||
<span>Request URL</span>
|
||||
<span>형식</span>
|
||||
</div>
|
||||
<div className="result">
|
||||
<div className="list_item">
|
||||
<div>GET</div>
|
||||
<div>https://kcsc.re.kr/OpenApi/CodeViewer</div>
|
||||
<div>JSON</div>
|
||||
</div>
|
||||
<div className="list_item">
|
||||
<div>GET</div>
|
||||
<div>https://kcsc.re.kr/OpenApi/CodeList</div>
|
||||
<div>JSON</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<Row className={"py-2"} >
|
||||
<Col className={"f_17 text-4c6 pt-3"}>2. 요청 변수</Col>
|
||||
</Row>
|
||||
|
||||
<div className="board_list BRD017">
|
||||
<div className="head">
|
||||
<span>요청 변수명</span>
|
||||
<span>설명</span>
|
||||
<span>예시</span>
|
||||
<span>Type</span>
|
||||
<span>필수 여부</span>
|
||||
</div>
|
||||
<div className="result">
|
||||
<div className="list_item">
|
||||
<div>Type</div>
|
||||
<div>문서 타입</div>
|
||||
<div>KDS</div>
|
||||
<div>string</div>
|
||||
<div>Y</div>
|
||||
</div>
|
||||
<div className="list_item">
|
||||
<div>Code</div>
|
||||
<div>문서 번호</div>
|
||||
<div>101000</div>
|
||||
<div>string</div>
|
||||
<div>Y</div>
|
||||
</div>
|
||||
<div className="list_item">
|
||||
<div>Key</div>
|
||||
<div>인증키</div>
|
||||
<div>bdf239cd309cc876293ff3</div>
|
||||
<div>string</div>
|
||||
<div>Y</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<Row className={"py-2"} >
|
||||
<Col className={"f_17 text-4c6 pt-3"}>3. 출력 결과</Col>
|
||||
</Row>
|
||||
|
||||
<div className="board_list BRD016">
|
||||
<div className="head">
|
||||
<span>필드</span>
|
||||
<span>설명</span>
|
||||
<span>Type</span>
|
||||
</div>
|
||||
<div className="result">
|
||||
<div className="list_item">
|
||||
<div>No</div>
|
||||
<div>코드 고유번호입니다.</div>
|
||||
<div>int</div>
|
||||
</div>
|
||||
<div className="list_item">
|
||||
<div>CodeType</div>
|
||||
<div>코드 타입입니다.</div>
|
||||
<div>string</div>
|
||||
</div>
|
||||
<div className="list_item">
|
||||
<div>Code</div>
|
||||
<div>코드 번호입니다.</div>
|
||||
<div>string</div>
|
||||
</div>
|
||||
<div className="list_item">
|
||||
<div>FullCode</div>
|
||||
<div>카테고리 타입이 있는 코드 번호입니다.</div>
|
||||
<div>string</div>
|
||||
</div>
|
||||
<div className="list_item">
|
||||
<div>Name</div>
|
||||
<div>코드 이름입니다.</div>
|
||||
<div>string</div>
|
||||
</div>
|
||||
<div className="list_item">
|
||||
<div>Version</div>
|
||||
<div>코드 버전입니다.</div>
|
||||
<div>string</div>
|
||||
</div>
|
||||
<div className="list_item">
|
||||
<div>UpdateDate</div>
|
||||
<div>코드 수정일자입니다.</div>
|
||||
<div>datetime</div>
|
||||
</div>
|
||||
<div className="list_item">
|
||||
<div>Sort</div>
|
||||
<div>목차 정렬 순서 번호입니다.</div>
|
||||
<div>int</div>
|
||||
</div>
|
||||
<div className="list_item">
|
||||
<div>Title</div>
|
||||
<div>목차 입니다.</div>
|
||||
<div>string</div>
|
||||
</div>
|
||||
<div className="list_item">
|
||||
<div>Contents</div>
|
||||
<div>목차의 상세내용입니다.</div>
|
||||
<div>string</div>
|
||||
</div>
|
||||
<div className="list_item">
|
||||
<div>List</div>
|
||||
<div>특정코드 상세내용 리스트입니다.</div>
|
||||
<div>list</div>
|
||||
</div>
|
||||
<div className="list_item">
|
||||
<div>ListParentCodes</div>
|
||||
<div>카테고리 속성 리스트입니다.</div>
|
||||
<div>list</div>
|
||||
</div>
|
||||
<div className="list_item">
|
||||
<div>Message</div>
|
||||
<div>에러 내용입니다.</div>
|
||||
<div>string</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<Row className={"py-2"} >
|
||||
<Col className={"f_17 text-4c6 pt-3"}>4. 예시</Col>
|
||||
</Row>
|
||||
|
||||
<div className="board_list BRD018">
|
||||
<div className="head">
|
||||
<span>Request</span>
|
||||
<span>https://kcsc.re.kr/OpenApi/CodeViewer/KCS/114010?key=bdf239cd309cc876293ff3</span>
|
||||
</div>
|
||||
<div className="result">
|
||||
<div className="list_item">
|
||||
<div>Response</div>
|
||||
<div>
|
||||
No : 30155<br />
|
||||
CodeType : KCS<br />
|
||||
Code : 114010<br />
|
||||
FullCode : 2010114010<br />
|
||||
Name : 파형강판 암거<br />
|
||||
Version : 2019<br />
|
||||
UpdateDate : {`{2019-06-27 오전 10:52:07}`}<br />
|
||||
List : {`[{"No": 30155, "Sort": 4, "Title": "1.1 적용범위", "Contents": "<ρ>(1) 이 기준은 구조용 파형강판을 이용하여 통로암거, 수로암거, 소교량 및 가설 구조물 등의 파형강판 암거.."}, ...]`}<br />
|
||||
ListParentCodes : null<br />
|
||||
Message : null'
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div className="head">
|
||||
<span>Request</span>
|
||||
<span>https://kcsc.re.kr/OpenApi/CodeList?key=bdf239cd309cc876293ff3</span>
|
||||
</div>
|
||||
<div className="result">
|
||||
<div className="list_item">
|
||||
<div>Response</div>
|
||||
<div>
|
||||
{`[{No : 20256`}<br />
|
||||
CodeType : KDS<br />
|
||||
Code : 100000<br />
|
||||
FullCode : 10101000<br />
|
||||
Name : 공통설계기준<br />
|
||||
Version : 2018<br />
|
||||
UpdateDate : {`{2019-06-04 오전 10:52:07}`}<br />
|
||||
List : null<br />
|
||||
ListParentCodes : {`{"codeType":"KDS","fullCode":"10","name":"설계기준"},{"codeType":"KDS","fullCode":"1010","name":"공통편"},{"codeType":"KDS","fullCode":"101010","name":"공통 설계기준"}`}<br />
|
||||
Message : {`null}, ...]`}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<Modal show={show} onHide={handleClose}>
|
||||
<Modal.Header closeButton>
|
||||
<Modal.Title>API 서비스 신청</Modal.Title>
|
||||
</Modal.Header>
|
||||
<Modal.Body>
|
||||
<h6 className={"text-224"}>아이디 : ***1234</h6>
|
||||
<div className={"py-3"}><Button type={"button"} className={"btn btn-22498E px-4 w-100"} onClick={""} >발급신청</Button></div>
|
||||
<div className={"f_14 text-center"}>발급신청 완료 후 관리자 승인절차에 따라 발급됩니다.</div>
|
||||
</Modal.Body>
|
||||
</Modal>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,10 +11,38 @@ import Button from "react-bootstrap/Button";
|
|||
function Poll(){
|
||||
const navigate = useNavigate();
|
||||
|
||||
const goToDetail = () => {
|
||||
// navigate('/support/list/KCSC-QA');
|
||||
const goToDetail = (id, isClosed) => {
|
||||
if (isClosed) {
|
||||
alert('마감된 설문조사입니다.');
|
||||
} else {
|
||||
// 로그인 한경우만 참여 가능하게
|
||||
navigate(`${URL.SUPPORT_SURVEY_NOID}${id}`);
|
||||
}
|
||||
};
|
||||
|
||||
const surveys = [
|
||||
{
|
||||
id: 1,
|
||||
title: "2023년 건설기준 포털시스템 이용자 만족도 조사",
|
||||
isClosed: false,
|
||||
period: "2014-06-25 ~ 2015-09-17",
|
||||
content: "본 연구의 목적은 “건설공사기준 코드체계(국토교통부 고시 제2013-640호, ‘13.10)” 전환에 따른 분야별 코드별로 현행 설계기준과 표준시방서에 대하여 중복 및 상충 항목의 검토 정비하여 통합 코드(안) 마련."
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
title: "2022년 건설기준 포털시스템 이용자 만족도 조사",
|
||||
isClosed: true,
|
||||
period: "2013-12-26 ~ 2015-06-30",
|
||||
content: "본 연구의 목적은 “건설공사기준 코드체계(국토교통부 고시 제2013-640호, ‘13.10)” 전환에 따른 분야별 코드별로 현행 설계기준과 표준시방서에 대하여 중복 및 상충 항목의 검토 정비하여 통합 코드(안) 마련."
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
title: "2021년 건설기준 포털시스템 이용자 만족도 조사",
|
||||
isClosed: true,
|
||||
period: "2013-03-01 ~ 2014-07-01",
|
||||
content: "ㅇ 현장 여건 변화 및 민원 등에 따른 합리적 표준시방서 개정 ㅇ 2009년 개정 이후 민원 및 감사원 지적 등에 따른 시방서 내용 개정"
|
||||
}
|
||||
];
|
||||
|
||||
return (
|
||||
<div className="container">
|
||||
|
|
@ -35,6 +63,32 @@ function Poll(){
|
|||
<h1 className="tit_3">설문조사</h1>
|
||||
|
||||
{/* <!-- 건설기준연구 안내 (리스트 5개씩만 뿌려주세요.)--> */}
|
||||
{surveys.map((survey) => (
|
||||
<React.Fragment key={survey.id}>
|
||||
<Row className="py-3 justify-content-between align-items-end">
|
||||
<Col className="fs-6 fw-bold text-4c6 ps-4">{survey.title}</Col>
|
||||
<Col className="text-end">
|
||||
<Button
|
||||
type="button"
|
||||
className={survey.isClosed ? "btn btn-secondary px-4" : "btn btn-22498E px-4"}
|
||||
onClick={() => goToDetail(survey.id, survey.isClosed)}>
|
||||
{survey.isClosed ? '설문마감' : '참여하기'}
|
||||
</Button>
|
||||
</Col>
|
||||
</Row>
|
||||
<div className="board_view2 pb-4">
|
||||
<dl>
|
||||
<dt>참여기간</dt>
|
||||
<dd>{survey.period}</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>내용</dt>
|
||||
<dd>{survey.content}</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</React.Fragment>
|
||||
))}
|
||||
|
||||
<Row className={"py-3 justify-content-between align-items-end"} >
|
||||
<Col className={"fs-6 fw-bold text-4c6 ps-4"}>2023년 건설기준 포털시스템 이용자 만족도 조사</Col>
|
||||
<Col className={"text-end"}><Button type={"button"} className={"btn btn-22498E px-4"} onClick={goToDetail} >참여하기</Button></Col>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,131 @@
|
|||
import React, { useState } from 'react';
|
||||
import {Link, useLocation, 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 Poll_Detail(){
|
||||
|
||||
|
||||
|
||||
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><Link to={URL.SUPPORT_POLL}>설문조사</Link></li>
|
||||
<li>설문조사 참여하기</li>
|
||||
</ul>
|
||||
</div>
|
||||
{/* <!--// Location --> */}
|
||||
|
||||
<div className="layout">
|
||||
|
||||
<div className="contents" id="contents">
|
||||
{/* <!-- 본문 --> */}
|
||||
<h1 className="tit_3">설문조사 참여하기</h1><div className="board_list BRD018">
|
||||
<div className="head">
|
||||
<span>설문조사명</span>
|
||||
<span>건설기준 포털시스템 이용자 만족도 조사</span>
|
||||
</div>
|
||||
<div className="result">
|
||||
<div className="list_item">
|
||||
<div>목적</div>
|
||||
<div>건설기준 포털시스템의 사용자 만족도를 조사하여 향후 시스템 개선에 반영</div>
|
||||
</div>
|
||||
<div className="list_item">
|
||||
<div>첨부파일</div>
|
||||
<div></div>
|
||||
</div>
|
||||
<div className="list_item">
|
||||
<div>설문기간</div>
|
||||
<div>2023-12-15 ~ 2023-12-29</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className={"pt-4 pb-1 fs-4 fw-bold"}><img src={"/assets/images/question.png"} className={"p-2"} /> 건설기준 포털시스템 접속 목적(복수 응답 가능)</div>
|
||||
<div className={"poll_title"}>1) 질문 문항입니다.</div>
|
||||
<div className={"poll_answer"}><input type={"checkbox"} id={"c1"} /> <label htmlFor={"c1"}>국가건설기준코드 검색</label></div>
|
||||
<div className={"poll_answer"}><input type={"checkbox"} id={"c2"} /> <label htmlFor={"c2"}>국가건설기준코드 검색</label></div>
|
||||
<div className={"poll_answer"}><input type={"checkbox"} id={"c3"} /> <label htmlFor={"c3"}>국가건설기준코드 검색</label></div>
|
||||
<div className={"poll_answer"}><input type={"checkbox"} id={"c4"} /> <label htmlFor={"c4"}>국가건설기준코드 검색</label></div>
|
||||
<div className={"poll_answer"}><input type={"checkbox"} id={"c5"} /> <label htmlFor={"c5"}>국가건설기준코드 검색</label></div>
|
||||
<div className={"poll_answer"}><input type={"checkbox"} id={"c6"} /> <label htmlFor={"c6"}>국가건설기준코드 검색</label></div>
|
||||
<div className={"pt-4 ps-2"}>기타</div>
|
||||
<div><textarea className={"w-100 h_50"}></textarea></div>
|
||||
|
||||
<div className={"pt-4 pb-1 fs-4 fw-bold"}><img src={"/assets/images/question.png"} className={"p-2"} />이용자 만족도</div>
|
||||
<div className={"poll_title"}>건설기준 포털시스템의 만족도에 대한 설문 입니다. 귀하의 의견과 일치되는 곳에 'O' 표해 주십시오.</div>
|
||||
<div className="board_list BRD019">
|
||||
<div className="head">
|
||||
<span>질문내용</span>
|
||||
<span>매우만족</span>
|
||||
<span>다소만족</span>
|
||||
<span>보통</span>
|
||||
<span>다소불만족</span>
|
||||
<span>매우불만족</span>
|
||||
</div>
|
||||
<div className="result">
|
||||
<div className="list_item">
|
||||
<div className={"text-center fw-bold"}>(정보제공)</div>
|
||||
</div>
|
||||
<div className="list_item">
|
||||
<div>(1) 업무와 관련된 정보를 제공하고 있습니까?</div>
|
||||
<div><input type={"radio"}/></div>
|
||||
<div><input type={"radio"}/></div>
|
||||
<div><input type={"radio"}/></div>
|
||||
<div><input type={"radio"}/></div>
|
||||
<div><input type={"radio"}/></div>
|
||||
</div>
|
||||
<div className="list_item">
|
||||
<div>(2) 업무와 관련된 정보를 제공하고 있습니까?</div>
|
||||
<div><input type={"radio"}/></div>
|
||||
<div><input type={"radio"}/></div>
|
||||
<div><input type={"radio"}/></div>
|
||||
<div><input type={"radio"}/></div>
|
||||
<div><input type={"radio"}/></div>
|
||||
</div>
|
||||
<div className="list_item">
|
||||
<div>(3) 업무와 관련된 정보를 제공하고 있습니까?</div>
|
||||
<div><input type={"radio"}/></div>
|
||||
<div><input type={"radio"}/></div>
|
||||
<div><input type={"radio"}/></div>
|
||||
<div><input type={"radio"}/></div>
|
||||
<div><input type={"radio"}/></div>
|
||||
</div>
|
||||
<div className="list_item">
|
||||
<div className={"text-center fw-bold"}>(시스템 일반현황)</div>
|
||||
</div>
|
||||
<div className="list_item">
|
||||
<div>(1) 시스템의 응답속도는 만족하십니까?</div>
|
||||
<div><input type={"radio"}/></div>
|
||||
<div><input type={"radio"}/></div>
|
||||
<div><input type={"radio"}/></div>
|
||||
<div><input type={"radio"}/></div>
|
||||
<div><input type={"radio"}/></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className={"pt-4 pb-1 fs-4 fw-bold"}><img src={"/assets/images/question.png"} className={"p-2"} />건의사항 및 향후 발전방향</div>
|
||||
<div className={"poll_title"}>건설기준 포털시스템에 개선이 필요한 부분이나 건의사항이 있으시면 기재해 주시기 바랍니다.</div>
|
||||
<div><textarea className={"w-100 h_100"}></textarea></div>
|
||||
|
||||
<Row className={"py-3n"} >
|
||||
<Col className={"text-center"}><Button type={"button"} className={"btn btn-22498E px-4"} onClick={""} >설문조사 최종 참여하기</Button></Col>
|
||||
</Row>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
|
||||
export default Poll_Detail;
|
||||
|
|
@ -44,6 +44,7 @@ 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 SupportSurvey from 'pages/support/Survey';
|
||||
|
||||
import EgovSupportDownloadList from 'pages/support/download/EgovDownloadList';
|
||||
// import EgovSupportDownloadDetail from 'pages/support/download/EgovDownloadDetail';
|
||||
|
|
@ -266,6 +267,7 @@ const SecondRoutes = () => {
|
|||
<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_SURVEY} element={<SupportSurvey />} />
|
||||
|
||||
<Route path={URL.SUPPORT_DOWNLOAD} element={<EgovSupportDownloadList />} />
|
||||
{/*<Route path={URL.SUPPORT_DOWNLOAD_DETAIL} element={<EgovSupportDownloadDetail />} />*/}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,8 @@
|
|||
# ??? ? ?? ?? properties ?? ?? ? ?? ??.
|
||||
|
||||
# Access-Control-Allow-Origin
|
||||
Globals.Allow.Origin = https://back.dbnt.co.kr
|
||||
#Globals.Allow.Origin = https://back.dbnt.co.kr
|
||||
Globals.Allow.Origin = http://58.234.249.138:50680/
|
||||
|
||||
server.port=50688
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue