From 25566288901078efd65bb637793b76c0c84404eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EC=84=9D=20=EC=B5=9C?= Date: Mon, 15 Jan 2024 18:00:07 +0900 Subject: [PATCH] =?UTF-8?q?=EB=A9=94=EB=89=B4=EA=B4=80=EB=A6=AC=20?= =?UTF-8?q?=EC=9E=91=EC=97=85=EC=A4=91.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/css/page.css | 22 ++++++++ .../src/pages/admin/config/MenuMgt.jsx | 49 +++++++++++++++-- .../admin/config/AdminConfigController.java | 19 ++++++- .../admin/config/entity/TcMenu.java | 53 +++++++++++++++++++ .../config/repository/TcMenuRepository.java | 10 ++++ .../config/service/AdminConfigService.java | 7 +++ 6 files changed, 156 insertions(+), 4 deletions(-) create mode 100644 kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/config/entity/TcMenu.java create mode 100644 kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/config/repository/TcMenuRepository.java diff --git a/egovframe-template-simple-react-contribution/src/css/page.css b/egovframe-template-simple-react-contribution/src/css/page.css index 0b6b4d0..791049e 100644 --- a/egovframe-template-simple-react-contribution/src/css/page.css +++ b/egovframe-template-simple-react-contribution/src/css/page.css @@ -169,6 +169,28 @@ .userList .result .list_item > div:nth-child(6) {width: 100px;} .userList .result .list_item > div:nth-child(7) {width: 100px;} + /* 사이트관리 > 환경설정 > 메뉴관리 */ + .menuList .head > span:nth-child(1) {width: 60px;} + .menuList .head > span:nth-child(2) {width: 100px;} + .menuList .head > span:nth-child(3) {width: 100px;} + .menuList .head > span:nth-child(4) {width: 120px;} + .menuList .head > span:nth-child(5) {width: 100px;} + .menuList .head > span:nth-child(6) {width: 100px;} + .menuList .head > span:nth-child(7) {width: 100px;} + .menuList .head > span:nth-child(8) {width: 100px;} + .menuList .head > span:nth-child(9) {width: 100px;} + .menuList .head > span:nth-child(10) {width: 100px;} + .menuList .result .list_item > div:nth-child(1) {width: 60px;} + .menuList .result .list_item > div:nth-child(2) {width: 100px;} + .menuList .result .list_item > div:nth-child(3) {width: 100px;} + .menuList .result .list_item > div:nth-child(4) {width: 120px;} + .menuList .result .list_item > div:nth-child(5) {width: 100px;} + .menuList .result .list_item > div:nth-child(6) {width: 100px;} + .menuList .result .list_item > div:nth-child(7) {width: 100px;} + .menuList .result .list_item > div:nth-child(8) {width: 100px;} + .menuList .result .list_item > div:nth-child(9) {width: 100px;} + .menuList .result .list_item > div:nth-child(10) {width: 100px;} + /* 사이트소개 */ .SITE_INTRO .ds_1 .t_1 {margin-top: 52px; color: #000; font-size: 26px; font-weight: 500; text-align: center;} .SITE_INTRO .ds_1 .li_1 {position: relative; margin-top: 34px; font-size: 0; text-align: center;} diff --git a/egovframe-template-simple-react-contribution/src/pages/admin/config/MenuMgt.jsx b/egovframe-template-simple-react-contribution/src/pages/admin/config/MenuMgt.jsx index cc191b1..450794f 100644 --- a/egovframe-template-simple-react-contribution/src/pages/admin/config/MenuMgt.jsx +++ b/egovframe-template-simple-react-contribution/src/pages/admin/config/MenuMgt.jsx @@ -1,11 +1,54 @@ -import React from 'react'; +import React, {useCallback, useEffect, useState} from 'react'; +import {Link} from "react-router-dom"; +import URL from "constants/url"; + +import { default as EgovLeftNav } from 'components/leftmenu/EgovLeftNavAdmin'; -function MenuMgt(props) { +function MenuMgt({}) { return (
- MenuMgt +
+
+
    +
  • Home
  • +
  • 사이트관리
  • +
  • 환경설정
  • +
  • 메뉴 관리
  • +
+
+
+ {/* */} + +
+ {/* */} + +
+

메뉴 관리

+
+

+ +
+
+ 아이디 + 이름 + 그룹 + 레벨 + 정렬 + URI + 타입 + CSS + IMG + 삭제 +
+
+ {/*{listTag}*/} +
+
+
+
+
); } diff --git a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/config/AdminConfigController.java b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/config/AdminConfigController.java index eb3873c..9868803 100644 --- a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/config/AdminConfigController.java +++ b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/config/AdminConfigController.java @@ -44,7 +44,7 @@ public class AdminConfigController extends BaseController { public ResultVO getCodeGrp() throws Exception{ ResultVO resultVO = new ResultVO(); Map resultMap = new HashMap<>(); - resultMap.put("codeGrpList", adminConfigService.selectCodeGrpList()); + resultMap.put("codeGrpList", adminConfigService.selectCodeGrpList()); resultVO.setResult(resultMap); return resultVO; } @@ -215,4 +215,21 @@ public class AdminConfigController extends BaseController { return resultVO; } + @Operation( + summary = "메뉴 조회", + description = "메뉴 조회", + tags = {"AdminConfigController"} + ) + @ApiResponses(value = { + @ApiResponse(responseCode = "200", description = "조회 성공"), + @ApiResponse(responseCode = "403", description = "인가된 사용자가 아님") + }) + @RequestMapping(method = RequestMethod.GET, value = "/menu-mgt") + public ResultVO getMenuMgt(){ + ResultVO resultVO = new ResultVO(); + Map resultMap = new HashMap<>(); + resultMap.put("menuList", adminConfigService.selectMenuList()); + resultVO.setResult(resultMap); + return resultVO; + } } diff --git a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/config/entity/TcMenu.java b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/config/entity/TcMenu.java new file mode 100644 index 0000000..754939b --- /dev/null +++ b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/config/entity/TcMenu.java @@ -0,0 +1,53 @@ +package com.dbnt.kcscbackend.admin.config.entity; + +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Table; +import java.time.LocalDateTime; + +@Getter +@Setter +@Entity +@NoArgsConstructor +@DynamicInsert +@DynamicUpdate +@Table(name = "tc_menu") +public class TcMenu { + @Id + @Column(name = "menu_id") + private String menuId; + @Column(name = "role_grp_id") + private String roleGrpId; + @Column(name = "menu_title") + private String menuTitle; + @Column(name = "menu_group") + private String menuGroup; + @Column(name = "menu_level") + private String menuLevel; + @Column(name = "menu_sort") + private String menuSort; + @Column(name = "menu_url") + private String menuUrl; + @Column(name = "menu_type_cd") + private String menuTypeCd; + @Column(name = "frst_crt_id") + private String frstCrtId; + @Column(name = "frst_crt_dt") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime frstCrtDt; + @Column(name = "last_chg_id") + private String lastChgId; + @Column(name = "last_chg_dt") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private LocalDateTime lastChgDt; + @Column(name = "use_yn") + private String useYn; +} diff --git a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/config/repository/TcMenuRepository.java b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/config/repository/TcMenuRepository.java new file mode 100644 index 0000000..31a5fa3 --- /dev/null +++ b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/config/repository/TcMenuRepository.java @@ -0,0 +1,10 @@ +package com.dbnt.kcscbackend.admin.config.repository; + +import com.dbnt.kcscbackend.admin.config.entity.TcMenu; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.List; + +public interface TcMenuRepository extends JpaRepository { + List findByUseYnOrderByMenuIdAsc(String useYn); +} diff --git a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/config/service/AdminConfigService.java b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/config/service/AdminConfigService.java index 00c5042..9e25549 100644 --- a/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/config/service/AdminConfigService.java +++ b/kcsc-back-end/src/main/java/com/dbnt/kcscbackend/admin/config/service/AdminConfigService.java @@ -1,5 +1,7 @@ package com.dbnt.kcscbackend.admin.config.service; +import com.dbnt.kcscbackend.admin.config.entity.TcMenu; +import com.dbnt.kcscbackend.admin.config.repository.TcMenuRepository; import com.dbnt.kcscbackend.commonCode.entity.TcCodeGrp; import com.dbnt.kcscbackend.commonCode.entity.TcCodeItem; import com.dbnt.kcscbackend.commonCode.repository.TcCodeGrpRepository; @@ -17,6 +19,7 @@ public class AdminConfigService extends EgovAbstractServiceImpl { private final TcCodeGrpRepository codeGrpRepository; private final TcCodeItemRepository codeItemRepository; + private final TcMenuRepository menuRepository; public List selectCodeGrpList(){ return codeGrpRepository.findByUseYn("Y"); @@ -95,4 +98,8 @@ public class AdminConfigService extends EgovAbstractServiceImpl { return "validGrpCd"; } } + + public List selectMenuList() { + return menuRepository.findByUseYnOrderByMenuIdAsc("Y"); + } }