From c03d709b22df7251f84919374f8a67f70577b5f8 Mon Sep 17 00:00:00 2001
From: ohinhyuk <8156217@naver.com>
Date: Wed, 23 Aug 2023 01:40:44 +0900
Subject: [PATCH] =?UTF-8?q?Fix:=20semester=EC=9D=84=20number=20-\>=20strin?=
=?UTF-8?q?g=EC=9C=BC=EB=A1=9C=20=ED=83=80=EC=9E=85=20=EC=88=98=EC=A0=95?=
=?UTF-8?q?=20,=20=ED=85=8C=EC=9D=B4=EB=B8=94=20=EB=8D=B0=EC=9D=B4?=
=?UTF-8?q?=ED=84=B0=EB=93=A4=EC=9D=B4=20=EB=AA=A8=EB=91=90=20select=20?=
=?UTF-8?q?=EB=90=98=EC=A7=80=20=EC=95=8A=EB=8A=94=20=20=EB=B2=84=EA=B7=B8?=
=?UTF-8?q?=20=EC=88=98=EC=A0=95(#4)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/board/MileageApply.tsx | 224 ------------------
src/components/board/MileageItem.tsx | 70 +++++-
src/components/board/MileageRegister.tsx | 222 +++++++++++++++++
src/components/board/MileageView.tsx | 65 ++++-
src/components/common/CustomTable.tsx | 4 +-
.../common/Table/TableComponents.tsx | 3 +-
6 files changed, 343 insertions(+), 245 deletions(-)
delete mode 100644 src/components/board/MileageApply.tsx
create mode 100644 src/components/board/MileageRegister.tsx
diff --git a/src/components/board/MileageApply.tsx b/src/components/board/MileageApply.tsx
deleted file mode 100644
index 0584d41..0000000
--- a/src/components/board/MileageApply.tsx
+++ /dev/null
@@ -1,224 +0,0 @@
-import { StarIcon } from 'src/theme/overrides/CustomIcons';
-import EnhancedTable from '../common/CustomTable';
-import AddIcon from '@mui/icons-material/Add';
-import {
- NUM,
- CATEGORY,
- SEMESTER,
- ITEM,
- STUDENT_ID,
- STUDENT_NAME,
- POINT,
- REGISTERED_DATE,
-} from 'src/assets/data/fields';
-import AttachFileIcon from '@mui/icons-material/AttachFile';
-
-/**
- * @component [마일리지 등록] 게시판
- */
-
-/**
- * @kind [마일리지 등록]
- * @breif enum
- */
-
-export enum MileageApplyBoard {
- 'NUM' = NUM,
- 'SEMESTER' = SEMESTER,
- 'ITEM' = ITEM,
- 'DESCRIPTION' = DESCRIPTION,
- 'REGISTER_NUM' = REGISTER_NUN,
- 'FILE' = FILE,
- 'MODIFYIED_DATE' = MODIFYIED_DATE,
- 'ADD' = ADD,
-}
-
-/**
- * @kind [마일리지 등록]
- * @breif 데이터 인터페이스
- */
-interface Data {
- [MileageApplyBoard.SEMESTER]: string;
- [MileageApplyBoard.ITEM]: string;
- [MileageApplyBoard.DESCRIPTION]: string;
- [MileageApplyBoard.REGISTER_NUM]: number;
- [MileageApplyBoard.FILE]: string;
- [MileageApplyBoard.MODIFYIED_DATE]: string;
- [MileageApplyBoard.ADD]: string;
-}
-
-export default function MileageApply() {
- /**
- * @kind [마일리지 등록]
- * @brief 데이터 생성 함수
- *
- * */
- function createData(
- num: number,
- semester: string,
- item: string,
- description: string,
- registerNum: number,
- file: string,
- modifyiedDate: string,
- add: string
- ): Data {
- return {
- [MileageApplyBoard.NUM]: num,
- [MileageApplyBoard.SEMESTER]: semester,
- [MileageApplyBoard.ITEM]: item,
- [MileageApplyBoard.DESCRIPTION]: description,
- [MileageApplyBoard.REGISTER_NUM]: registerNum,
- [MileageApplyBoard.FILE]: file,
- [MileageApplyBoard.MODIFYIED_DATE]: modifyiedDate,
- [MileageApplyBoard.ADD]: add,
- };
- }
-
- /**
- * @kind [마일리지 등록]
- * @brief 테이블 헤더
- */
- const headCells = [
- {
- id: [MileageApplyBoard.NUM],
- numeric: false,
- disablePadding: true,
- label: '번호',
- },
- {
- id: [MileageApplyBoard.SEMESTER],
- numeric: true,
- disablePadding: false,
- label: '학기',
- },
- {
- id: [MileageApplyBoard.ITEM],
- numeric: true,
- disablePadding: false,
- label: '항목명',
- },
- {
- id: [MileageApplyBoard.DESCRIPTION],
- numeric: true,
- disablePadding: false,
- label: '내용',
- },
- {
- id: [MileageApplyBoard.REGISTER_NUM],
- numeric: true,
- disablePadding: false,
- label: '등록수',
- },
- {
- id: [MileageApplyBoard.FILE],
- numeric: true,
- disablePadding: false,
- label: '파일',
- },
- {
- id: [MileageApplyBoard.MODIFYIED_DATE],
- numeric: true,
- disablePadding: false,
- label: '수정일',
- },
- {
- id: [MileageApplyBoard.ADD],
- numeric: true,
- disablePadding: false,
- label: '추가',
- },
- ];
-
- /**
- * @kind [마일리지 등록]
- * @description 마일리지 항목 리스트
- */
-
- const rows = [
- createData(
- 1,
- '2022-01',
- '웹 서비스 캠프',
- '웹 서비스 구축에 필요한 스터디를 진행하고 직접 자신만의 웹페이지를 만들어보는 과정',
- 23,
- ,
- '2021-01-21',
-
- ),
- createData(
- 2,
- '2022-01',,
- 'C언어 캠프',
- 'C언어의 기초에 대해 공부하고 C언어를 이용하여 간단한 프로그램을 만들어보는 과정',
- 23,
- ,
- '2022-01-23',
-
- ),
- createData(
- 3,
- '2022-01',
- '파이썬 캠프',
- '파이썬 기초를 공부하고 파이썬을 이용하여 간단한 프로그램을 만들어보는 과정',
- 15,
- ,
- '2022-01-31',
-
- ),
- createData(
- 4,
- '2022-01',
- 'C++ 캠프',
- 'C++ 기초를 공부하고 C++을 이용하여 간단한 프로그램을 만들어보는 과정',
- 15,
- ,
- '2022-01-31',
-
- ),
- createData(
- 5,
- '2022-01',
- '자바 캠프',
- '자바 기초를 공부하고 자바를 이용하여 간단한 프로그램을 만들어보는 과정',
- 15,
- ,
- '2022-01-31',
-
- ),
- createData(
- 6,
- '2022-02',
- '웹 서비스 캠프',
- '웹 서비스 구축에 필요한 스터디를 진행하고 직접 자신만의 웹페이지를 만들어보는 과정',
- 23,
- ,
- '2021-01-21',
-
- ),
- createData(
- 7,
- '2022-02',
- '데이터 구조',
- '데이터 구조에 대해 공부하고 간단한 프로그램을 만들어보는 과정',
- 23,
- ,
- '2021-01-21',
-
- ),
- createData(
- 8,
- '2022-02',
- '데이터베이스',
- '데이터베이스에 대해 공부하고 간단한 프로그램을 만들어보는 과정',
- 23,
- ,
- '2021-01-21',
-
- ),
-
-
- ];
-
- return ;
-}
diff --git a/src/components/board/MileageItem.tsx b/src/components/board/MileageItem.tsx
index f6b4f83..e9abb03 100644
--- a/src/components/board/MileageItem.tsx
+++ b/src/components/board/MileageItem.tsx
@@ -38,7 +38,7 @@ export enum MileageItemBoard {
*/
interface Data {
[MileageItemBoard.CATEGORY]: string;
- [MileageItemBoard.SEMESTER]: number;
+ [MileageItemBoard.SEMESTER]: string;
[MileageItemBoard.ITEM]: string;
[MileageItemBoard.MILEAGE]: number;
[MileageItemBoard.ISVISIBLE]: boolean;
@@ -55,7 +55,7 @@ export default function MileageItem() {
function createData(
num: number,
category: string,
- semester: number,
+ semester: string,
item: string,
mileage: number,
isVisible: boolean,
@@ -135,12 +135,66 @@ export default function MileageItem() {
*/
const rows = [
- createData(1, '전공 마일리지', 7, '웹 서비스 캠프', 30, 'y', '2023-08-21', ),
- createData(2, '비교과 - 연구활동', 6, '웹 서비스 캠프', 30, 'y', '2023-08-21', ),
- createData(3, '비교과 - 전공활동', 6, '웹 서비스 캠프', 30, 'y', '2023-08-21', ),
- createData(4, '비교과 - 특강참여', 7, '웹 서비스 캠프', 30, 'y', '2023-08-21', ),
- createData(5, '비교과 - 학회활동', 6, '웹 서비스 캠프', 30, 'y', '2023-08-21', ),
- createData(6, '비교과 - 행사참여', 8, '웹 서비스 캠프', 30, 'y', '2023-08-21', ),
+ createData(
+ 1,
+ '전공 마일리지',
+ '2022-01',
+ '웹 서비스 캠프',
+ 30,
+ 'y',
+ '2023-08-21',
+
+ ),
+ createData(
+ 2,
+ '비교과 - 연구활동',
+ '2022-01',
+ '웹 서비스 캠프',
+ 30,
+ 'y',
+ '2023-08-21',
+
+ ),
+ createData(
+ 3,
+ '비교과 - 전공활동',
+ '2022-01',
+ '웹 서비스 캠프',
+ 30,
+ 'y',
+ '2023-08-21',
+
+ ),
+ createData(
+ 4,
+ '비교과 - 특강참여',
+ '2022-01',
+ '웹 서비스 캠프',
+ 30,
+ 'y',
+ '2023-08-21',
+
+ ),
+ createData(
+ 5,
+ '비교과 - 학회활동',
+ '2022-02',
+ '웹 서비스 캠프',
+ 30,
+ 'y',
+ '2023-08-21',
+
+ ),
+ createData(
+ 6,
+ '비교과 - 행사참여',
+ '2022-02',
+ '웹 서비스 캠프',
+ 30,
+ 'y',
+ '2023-08-21',
+
+ ),
];
return ;
diff --git a/src/components/board/MileageRegister.tsx b/src/components/board/MileageRegister.tsx
new file mode 100644
index 0000000..84b528c
--- /dev/null
+++ b/src/components/board/MileageRegister.tsx
@@ -0,0 +1,222 @@
+import { StarIcon } from 'src/theme/overrides/CustomIcons';
+import EnhancedTable from '../common/CustomTable';
+import AddIcon from '@mui/icons-material/Add';
+import {
+ NUM,
+ SEMESTER,
+ ITEM,
+ DESCRIPTION,
+ REGISTER_NUM,
+ FILE,
+ MODIFYIED_DATE,
+ ADD,
+} from 'src/assets/data/fields';
+import AttachFileIcon from '@mui/icons-material/AttachFile';
+
+/**
+ * @component [마일리지 등록] 게시판
+ */
+
+/**
+ * @kind [마일리지 등록]
+ * @breif enum
+ */
+
+export enum MileageRegisterBoard {
+ 'NUM' = NUM,
+ 'SEMESTER' = SEMESTER,
+ 'ITEM' = ITEM,
+ 'DESCRIPTION' = DESCRIPTION,
+ 'REGISTER_NUM' = REGISTER_NUM,
+ 'FILE' = FILE,
+ 'MODIFYIED_DATE' = MODIFYIED_DATE,
+ 'ADD' = ADD,
+}
+
+/**
+ * @kind [마일리지 등록]
+ * @breif 데이터 인터페이스
+ */
+interface Data {
+ [MileageRegisterBoard.SEMESTER]: string;
+ [MileageRegisterBoard.ITEM]: string;
+ [MileageRegisterBoard.DESCRIPTION]: string;
+ [MileageRegisterBoard.REGISTER_NUM]: number;
+ [MileageRegisterBoard.FILE]: string;
+ [MileageRegisterBoard.MODIFYIED_DATE]: string;
+ [MileageRegisterBoard.ADD]: string;
+}
+
+export default function MileageRegister() {
+ /**
+ * @kind [마일리지 등록]
+ * @brief 데이터 생성 함수
+ *
+ * */
+ function createData(
+ num: number,
+ semester: string,
+ item: string,
+ description: string,
+ registerNum: number,
+ file: string,
+ modifyiedDate: string,
+ add: string
+ ): Data {
+ return {
+ [MileageRegisterBoard.NUM]: num,
+ [MileageRegisterBoard.SEMESTER]: semester,
+ [MileageRegisterBoard.ITEM]: item,
+ [MileageRegisterBoard.DESCRIPTION]: description,
+ [MileageRegisterBoard.REGISTER_NUM]: registerNum,
+ [MileageRegisterBoard.FILE]: file,
+ [MileageRegisterBoard.MODIFYIED_DATE]: modifyiedDate,
+ [MileageRegisterBoard.ADD]: add,
+ };
+ }
+
+ /**
+ * @kind [마일리지 등록]
+ * @brief 테이블 헤더
+ */
+ const headCells = [
+ {
+ id: [MileageRegisterBoard.NUM],
+ numeric: false,
+ disablePadding: true,
+ label: '번호',
+ },
+ {
+ id: [MileageRegisterBoard.SEMESTER],
+ numeric: true,
+ disablePadding: false,
+ label: '학기',
+ },
+ {
+ id: [MileageRegisterBoard.ITEM],
+ numeric: true,
+ disablePadding: false,
+ label: '항목명',
+ },
+ {
+ id: [MileageRegisterBoard.DESCRIPTION],
+ numeric: true,
+ disablePadding: false,
+ label: '내용',
+ },
+ {
+ id: [MileageRegisterBoard.REGISTER_NUM],
+ numeric: true,
+ disablePadding: false,
+ label: '등록수',
+ },
+ {
+ id: [MileageRegisterBoard.FILE],
+ numeric: true,
+ disablePadding: false,
+ label: '파일',
+ },
+ {
+ id: [MileageRegisterBoard.MODIFYIED_DATE],
+ numeric: true,
+ disablePadding: false,
+ label: '수정일',
+ },
+ {
+ id: [MileageRegisterBoard.ADD],
+ numeric: true,
+ disablePadding: false,
+ label: '추가',
+ },
+ ];
+
+ /**
+ * @kind [마일리지 등록]
+ * @description 마일리지 항목 리스트
+ */
+
+ const rows = [
+ createData(
+ 1,
+ '2022-01',
+ '웹 서비스 캠프',
+ '웹 서비스 구축에 필요한 스터디를 진행하고 직접 자신만의 웹페이지를 만들어보는 과정',
+ 23,
+ ,
+ '2021-01-21',
+
+ ),
+ createData(
+ 2,
+ '2022-01',
+ 'C언어 캠프',
+ 'C언어의 기초에 대해 공부하고 C언어를 이용하여 간단한 프로그램을 만들어보는 과정',
+ 23,
+ ,
+ '2022-01-23',
+
+ ),
+ createData(
+ 3,
+ '2022-01',
+ '파이썬 캠프',
+ '파이썬 기초를 공부하고 파이썬을 이용하여 간단한 프로그램을 만들어보는 과정',
+ 15,
+ ,
+ '2022-01-31',
+
+ ),
+ createData(
+ 4,
+ '2022-01',
+ 'C++ 캠프',
+ 'C++ 기초를 공부하고 C++을 이용하여 간단한 프로그램을 만들어보는 과정',
+ 15,
+ ,
+ '2022-01-31',
+
+ ),
+ createData(
+ 5,
+ '2022-01',
+ '자바 캠프',
+ '자바 기초를 공부하고 자바를 이용하여 간단한 프로그램을 만들어보는 과정',
+ 15,
+ ,
+ '2022-01-31',
+
+ ),
+ createData(
+ 6,
+ '2022-02',
+ '웹 서비스 캠프',
+ '웹 서비스 구축에 필요한 스터디를 진행하고 직접 자신만의 웹페이지를 만들어보는 과정',
+ 23,
+ ,
+ '2021-01-21',
+
+ ),
+ createData(
+ 7,
+ '2022-02',
+ '데이터 구조',
+ '데이터 구조에 대해 공부하고 간단한 프로그램을 만들어보는 과정',
+ 23,
+ ,
+ '2021-01-21',
+
+ ),
+ createData(
+ 8,
+ '2022-02',
+ '데이터베이스',
+ '데이터베이스에 대해 공부하고 간단한 프로그램을 만들어보는 과정',
+ 23,
+ ,
+ '2021-01-21',
+
+ ),
+ ];
+
+ return ;
+}
diff --git a/src/components/board/MileageView.tsx b/src/components/board/MileageView.tsx
index 67016c5..4c53462 100644
--- a/src/components/board/MileageView.tsx
+++ b/src/components/board/MileageView.tsx
@@ -38,7 +38,7 @@ export enum MileageViewBoard {
*/
interface Data {
[MileageViewBoard.CATEGORY]: string;
- [MileageViewBoard.SEMESTER]: number;
+ [MileageViewBoard.SEMESTER]: string;
[MileageViewBoard.ITEM]: string;
[MileageViewBoard.STUDENT_ID]: number;
[MileageViewBoard.STUDENT_NAME]: string;
@@ -55,7 +55,7 @@ export default function MileageView() {
function createData(
num: number,
category: string,
- semester: number,
+ semester: string,
item: string,
studentId: number,
studentName: string,
@@ -135,35 +135,80 @@ export default function MileageView() {
*/
const rows = [
- createData(1, '전공 마일리지', 7, '웹 서비스 캠프', '21800446', '오인혁', 230, '2022-08-21'),
- createData(2, '비교과 - 전공활동', 6, 'pps 캠프', '21800447', '한시온', 230, '2022-08-21'),
- createData(3, '비교과 - 특강참여', 7, 'c언어 캠프', '21800448', '김민수', 230, '2022-08-21'),
+ createData(
+ 1,
+ '전공 마일리지',
+ '2022-01',
+ '웹 서비스 캠프',
+ '21800446',
+ '오인혁',
+ 230,
+ '2022-08-21'
+ ),
+ createData(
+ 2,
+ '비교과 - 전공활동',
+ '2022-01',
+ 'pps 캠프',
+ '21800447',
+ '한시온',
+ 230,
+ '2022-08-21'
+ ),
+ createData(
+ 3,
+ '비교과 - 특강참여',
+ '2022-01',
+ 'c언어 캠프',
+ '21800448',
+ '김민수',
+ 230,
+ '2022-08-21'
+ ),
createData(
4,
'비교과 - 학회활동',
- 6,
+ '2022-01',
'대경권 프로그래밍 대회',
'21800449',
'장유진',
230,
'2022-08-21'
),
- createData(5, '비교과 - 행사참여', 8, '와랩 스터디', '21800450', '정석민', 230, '2022-08-21'),
+ createData(
+ 5,
+ '비교과 - 행사참여',
+ '2022-01',
+ '와랩 스터디',
+ '21800450',
+ '정석민',
+ 230,
+ '2022-08-21'
+ ),
createData(
6,
'비교과 - 연구활동',
- 6,
+ '2022-02',
'웹 서비스 캠프',
'21800451',
'장유진',
230,
'2022-08-21'
),
- createData(7, '전공 마일리지', 7, '웹 서비스 캠프', '21800452', '박민지', 230, '2022-08-21'),
+ createData(
+ 7,
+ '전공 마일리지',
+ '2022-02',
+ '웹 서비스 캠프',
+ '21800452',
+ '박민지',
+ 230,
+ '2022-08-21'
+ ),
createData(
8,
'비교과 - 전공활동',
- 6,
+ '2022-02',
'웹 서비스 캠프',
'21800453',
'정가원',
diff --git a/src/components/common/CustomTable.tsx b/src/components/common/CustomTable.tsx
index 0a7fc38..ebeebbf 100644
--- a/src/components/common/CustomTable.tsx
+++ b/src/components/common/CustomTable.tsx
@@ -319,7 +319,7 @@ function EnhancedTableToolbar(props: EnhancedTableToolbarProps) {
);
}
-export default function EnhancedTable({ type, rows, headCells }: { type: string; rows: any }) {
+export default function EnhancedTable({ rows, headCells }) {
const [order, setOrder] = React.useState('asc');
const [orderBy, setOrderBy] = React.useState('calories');
const [selected, setSelected] = React.useState([]);
@@ -335,7 +335,7 @@ export default function EnhancedTable({ type, rows, headCells }: { type: string;
const handleSelectAllClick = (event: React.ChangeEvent) => {
if (event.target.checked) {
- const newSelected = rows.map((n) => n.name);
+ const newSelected = rows.map((n) => n.num);
setSelected(newSelected);
return;
}
diff --git a/src/components/common/Table/TableComponents.tsx b/src/components/common/Table/TableComponents.tsx
index e8bda95..2869311 100644
--- a/src/components/common/Table/TableComponents.tsx
+++ b/src/components/common/Table/TableComponents.tsx
@@ -11,6 +11,7 @@ import GavelIcon from '@mui/icons-material/Gavel';
import SettingsIcon from '@mui/icons-material/Settings';
import MileageItem from 'src/components/board/MileageItem';
import MileageView from 'src/components/board/MileageView';
+import MileageRegister from 'src/components/board/MileageRegister';
export const ComponentReturn = (text) => {
switch (text) {
@@ -25,7 +26,7 @@ export const ComponentReturn = (text) => {
case Board['마일리지 조회']:
return ;
case Board['마일리지 등록']:
- return ;
+ return ;
case Board['신청자 관리']:
return ;
case Board['학생 관리']: