@@ -99,7 +104,8 @@ function AdminPostMgtList(props) {
- Home
- - 사이트관리
+ - 사이트관리
+ - 게시판현황
- 게시물 관리
@@ -114,11 +120,9 @@ function AdminPostMgtList(props) {
{/* */}
-
사이트관리
+ 게시물 관리
-
게시물 관리
-
{/* */}
@@ -159,12 +163,13 @@ function AdminPostMgtList(props) {
{/* */}
- 번호
- 게시판명
- 게시판유형
- 게시판속성
- 생성일
- 사용여부
+
+ 제목
+ 작성자
+ 작성일
+ 조회수
+ 파일
+
{listTag}
@@ -184,6 +189,9 @@ function AdminPostMgtList(props) {
+
+ {modalBody}
+
diff --git a/egovframe-template-simple-react-contribution/src/pages/admin/board/EgovAdminBoardEdit.jsx b/egovframe-template-simple-react-contribution/src/pages/admin/board/EgovAdminBoardEdit.jsx
index 1051483..eb120ad 100644
--- a/egovframe-template-simple-react-contribution/src/pages/admin/board/EgovAdminBoardEdit.jsx
+++ b/egovframe-template-simple-react-contribution/src/pages/admin/board/EgovAdminBoardEdit.jsx
@@ -1,4 +1,4 @@
-import React, {useState, useEffect, useRef} from 'react';
+import React, {useState, useEffect, useRef, useCallback} from 'react';
import {Link, useNavigate, useLocation, useParams} from 'react-router-dom';
import Modal from "react-bootstrap/Modal";
@@ -30,7 +30,35 @@ function EgovAdminBoardEdit({props, reloadFunction}) {
const [boardDetail, setBoardDetail] = useState({});
console.log("@@@ mode : " + modeInfo.mode);
+ const [bbsTypeList, setBbsTypeList] = useState([]);
+ const [roleList, setRoleList] = useState([]);
+
+ const retrieveList = useCallback(() => {
+ const retrieveListURL = '/admin/boards/get-option-list';
+
+ const requestOptions = {
+ method: "GET",
+ headers: {
+ 'Content-type': 'application/json',
+ },
+ body: JSON.stringify()
+ }
+
+ EgovNet.requestFetch(retrieveListURL,
+ requestOptions,
+ (resp) => {
+ setBbsTypeList(resp.result.bbsTypeList);
+ setRoleList(resp.result.roleList);
+ console.log("@@@ bbsTypeList : " + JSON.stringify(resp.result.bbsTypeList));
+ },
+ function (resp) {
+ console.log("err response : ", resp);
+ }
+ );
+ },[]);
+
useEffect(() => {
+ retrieveList();
initMode();
// eslint-disable-next-line react-hooks/exhaustive-deps
}, []);
@@ -48,7 +76,13 @@ function EgovAdminBoardEdit({props, reloadFunction}) {
const info = {
bbsId: form.bbsId.value,
bbsTitle: form.bbsTitle.value,
- bbsDesc: form.bbsDesc.value
+ bbsDesc: form.bbsDesc.value,
+ bbsType: form.bbsType.value,
+ bbsAnsYn: bbsAnsYn,
+ bbsReplYn: bbsReplYn,
+ useYn: useYn,
+ readRole: form.readRole.value,
+ writeRole: form.writeRole.value
}
if (modeInfo.mode === CODE.MODE_MODIFY) {
info.bbsSeq = props.bbsSeq;
@@ -103,6 +137,10 @@ function EgovAdminBoardEdit({props, reloadFunction}) {
console.log("------------------------------EgovAdminBoardEdit [End]");
console.groupEnd("EgovAdminBoardEdit");
+ const [bbsAnsYn, setBbsAnsYn] = useState(props?.bbsAnsYn || "N");
+ const [bbsReplYn, setBbsReplYn] = useState(props?.bbsReplYn || "N");
+ const [useYn, setUseYn] = useState(props?.useYn || "N");
+
return (
<>
{/* */}
@@ -137,6 +175,75 @@ function EgovAdminBoardEdit({props, reloadFunction}) {
defaultValue={props?.bbsDesc}/>
+
+ - 필수
+ -
+
+
+ {bbsTypeList.map((item) => (
+
+ ))}
+
+
+
+
+ - 필수
+ -
+ setBbsAnsYn(e.target.checked ? 'Y' : 'N')}
+ />
+
+
+
+ - 필수
+ -
+ setBbsReplYn(e.target.checked ? 'Y' : 'N')}
+ />
+
+
+
+ - 필수
+ -
+ setUseYn(e.target.checked ? 'Y' : 'N')}
+ />
+
+
+
+ - 필수
+ -
+
+
+ {roleList.map((item) => (
+
+ ))}
+
+
+
+
+ - 필수
+ -
+
+
+ {roleList.map((item) => (
+
+ ))}
+
+
+
{/* */}
diff --git a/egovframe-template-simple-react-contribution/src/pages/admin/boards/List.jsx b/egovframe-template-simple-react-contribution/src/pages/admin/boards/List.jsx
index fe4318e..2a1381b 100644
--- a/egovframe-template-simple-react-contribution/src/pages/admin/boards/List.jsx
+++ b/egovframe-template-simple-react-contribution/src/pages/admin/boards/List.jsx
@@ -56,7 +56,7 @@ function EgovAdminBoardList(props) {
mutListTag.push(
-
{item.bbsSeq}
+
{item.bbsId}
{item.bbsTitle}
{item.frstCrtId}
@@ -99,7 +99,8 @@ function EgovAdminBoardList(props) {
- Home
- - 사이트관리
+ - 사이트관리
+ - 게시판현황
- 게시판 관리
@@ -114,10 +115,9 @@ function EgovAdminBoardList(props) {
{/* */}
-
사이트관리
+ 게시판 관리
-
게시판 관리
{/* */}
{/*
@@ -159,7 +159,7 @@ function EgovAdminBoardList(props) {
{/* */}
-
번호
+
아이디
제목
작성자
diff --git a/egovframe-template-simple-react-contribution/src/pages/admin/config/AboutSiteMgt.jsx b/egovframe-template-simple-react-contribution/src/pages/admin/config/AboutSiteMgt.jsx
index 0003462..3bf6bab 100644
--- a/egovframe-template-simple-react-contribution/src/pages/admin/config/AboutSiteMgt.jsx
+++ b/egovframe-template-simple-react-contribution/src/pages/admin/config/AboutSiteMgt.jsx
@@ -50,13 +50,13 @@ function StandardCodeMgt(props) {
mutListTag.push(
-
{item.siteSeq}
+
{item.siteTitle}
{item.siteUrl}
{item.fileGrpId}
{item.siteOrder}
{item.useYn}
-
+
);
});
@@ -76,7 +76,7 @@ function StandardCodeMgt(props) {
// eslint-disable-next-line react-hooks/exhaustive-deps
}, []);
- function editBoard(item){
+ function editPartnerSite(item){
handleShow();
if(item != undefined) {
item.mode = CODE.MODE_MODIFY;
@@ -147,13 +147,13 @@ function StandardCodeMgt(props) {
{/* */}
- 번호
+
사이트명
URL
배너이미지
정렬순서
사용여부
-
+
{listTag}
diff --git a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/boards/AdminBoardsController.java b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/boards/AdminBoardsController.java
index 9215a7b..1a2ec86 100644
--- a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/boards/AdminBoardsController.java
+++ b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/boards/AdminBoardsController.java
@@ -4,6 +4,8 @@ import com.dbnt.kcscbackend.admin.boards.entity.TnBbs;
import com.dbnt.kcscbackend.admin.boards.service.AdminBoardsService;
import com.dbnt.kcscbackend.admin.config.entity.TcMenu;
import com.dbnt.kcscbackend.auth.entity.LoginVO;
+import com.dbnt.kcscbackend.commonCode.CommonCodeController;
+import com.dbnt.kcscbackend.commonCode.service.CommonCodeService;
import com.dbnt.kcscbackend.config.common.BaseController;
import com.dbnt.kcscbackend.config.common.ResponseCode;
import com.dbnt.kcscbackend.config.common.ResultVO;
@@ -32,6 +34,7 @@ import java.util.Map;
public class AdminBoardsController extends BaseController {
private final AdminBoardsService adminBoardsService;
+ private final CommonCodeService commonCodeService;
/* ---- 게시판관리 ----- */
@Operation(
@@ -53,6 +56,26 @@ public class AdminBoardsController extends BaseController {
return resultVO;
}
+ @Operation(
+ summary = "게시판 셀렉트박스 옵션 조회",
+ description = "게시판 셀렉트박스 옵션 조회",
+ tags = {"AdminBoardsController"}
+ )
+ @ApiResponses(value = {
+ @ApiResponse(responseCode = "200", description = "조회 성공"),
+ @ApiResponse(responseCode = "403", description = "인가된 사용자가 아님")
+ })
+ @RequestMapping(method = RequestMethod.GET, value = "/get-option-list", consumes = MediaType.APPLICATION_JSON_VALUE)
+ public ResultVO getOptionList() throws Exception {
+ ResultVO resultVO = new ResultVO();
+ Map resultMap = new HashMap<>();
+
+ resultMap.put("bbsTypeList", commonCodeService.selectCodeItemList("BBS_TYPE"));
+ resultMap.put("roleList", commonCodeService.selectCodeItemList("ROLE"));
+ resultVO.setResult(resultMap);
+ return resultVO;
+ }
+
@Operation(
summary = "게시판 저장",
description = "게시판 저장",
@@ -126,7 +149,7 @@ public class AdminBoardsController extends BaseController {
ResultVO resultVO = new ResultVO();
Map resultMap = new HashMap<>();
- resultMap.put("boardList", adminBoardsService.selectBoardList());
+ resultMap.put("postList", adminBoardsService.selectPostList());
resultVO.setResult(resultMap);
return resultVO;
}
diff --git a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/boards/entity/TnBbs.java b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/boards/entity/TnBbs.java
index f91277a..1226a05 100644
--- a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/boards/entity/TnBbs.java
+++ b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/boards/entity/TnBbs.java
@@ -70,4 +70,10 @@ public class TnBbs {
@Column(name = "oldd_seq")
private Long olddSeq;
+ @Column(name = "read_role")
+ private Long readRole;
+
+ @Column(name = "write_role")
+ private Long writeRole;
+
}
\ No newline at end of file
diff --git a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/boards/service/AdminBoardsService.java b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/boards/service/AdminBoardsService.java
index 48a4bca..796d21f 100644
--- a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/boards/service/AdminBoardsService.java
+++ b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/boards/service/AdminBoardsService.java
@@ -34,16 +34,18 @@ public class AdminBoardsService extends EgovAbstractServiceImpl {
if (bbs.getBbsSeq() == null) {
bbs.setFrstCrtDt(LocalDateTime.now());
bbs.setFrstCrtId(userId);
- bbs.setBbsAnsYn("N");
- bbs.setBbsReplYn("N");
- bbs.setUseYn("Y");
tnBbsRepository.save(bbs);
} else {
TnBbs savedBoard = tnBbsRepository.findById(bbs.getBbsSeq()).orElse(null);
savedBoard.setBbsId(bbs.getBbsId());
savedBoard.setBbsTitle(bbs.getBbsTitle());
savedBoard.setBbsDesc(bbs.getBbsDesc());
- //savedBoard.setUseYn("Y");
+ savedBoard.setBbsType(bbs.getBbsType());
+ savedBoard.setBbsAnsYn(bbs.getBbsAnsYn());
+ savedBoard.setBbsReplYn(bbs.getBbsReplYn());
+ savedBoard.setUseYn(bbs.getUseYn());
+ savedBoard.setReadRole(bbs.getReadRole());
+ savedBoard.setWriteRole(bbs.getWriteRole());
savedBoard.setLastChgId(userId);
savedBoard.setLastChgDt(LocalDateTime.now());
tnBbsRepository.save(savedBoard);