From f0fdfbfcbbdd75e6d921b6a688686ef831640eae Mon Sep 17 00:00:00 2001 From: "Lim\\jun" Date: Wed, 31 Jan 2024 10:04:05 +0900 Subject: [PATCH] =?UTF-8?q?=ED=95=84=EC=9A=94=EC=97=86=EB=8A=94=20?= =?UTF-8?q?=ED=8C=8C=EC=9D=BC=20=EC=82=AD=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../schedule/EgovAdminScheduleDetail.jsx | 202 ---------- .../admin/schedule/EgovAdminScheduleEdit.jsx | 364 ------------------ .../src/routes/index.jsx | 14 +- 3 files changed, 7 insertions(+), 573 deletions(-) delete mode 100644 egovframe-template-simple-react-contribution/src/pages/admin/schedule/EgovAdminScheduleDetail.jsx delete mode 100644 egovframe-template-simple-react-contribution/src/pages/admin/schedule/EgovAdminScheduleEdit.jsx diff --git a/egovframe-template-simple-react-contribution/src/pages/admin/schedule/EgovAdminScheduleDetail.jsx b/egovframe-template-simple-react-contribution/src/pages/admin/schedule/EgovAdminScheduleDetail.jsx deleted file mode 100644 index 5e23323..0000000 --- a/egovframe-template-simple-react-contribution/src/pages/admin/schedule/EgovAdminScheduleDetail.jsx +++ /dev/null @@ -1,202 +0,0 @@ -import React, { useState, useEffect } from 'react'; -import { Link, useLocation, useNavigate } from 'react-router-dom'; - -import * as EgovNet from 'api/egovFetch'; -import URL from 'constants/url'; -import CODE from 'constants/code'; - -import { default as EgovLeftNav } from 'components/leftmenu/EgovLeftNavAdmin'; -import EgovAttachFile from 'components/EgovAttachFile'; - -function EgovAdminScheduleDetail(props) { - console.group("EgovAdminScheduleDetail"); - console.log("[Start] EgovAdminScheduleDetail ------------------------------"); - console.log("EgovAdminScheduleDetail [props] : ", props); - - const navigate = useNavigate(); - const location = useLocation(); - console.log("EgovAdminScheduleDetail [location] : ", location); - - const [scheduleDetail, setScheduleDetail] = useState({}); - const [boardAttachFiles, setBoardAttachFiles] = useState(); - const [user, setUser] = useState({}); - - const retrieveDetail = () => { - - const retrieveDetailURL = `/schedule/${location.state?.schdulId}`; - const requestOptions = { - method: "GET", - headers: { - 'Content-type': 'application/json', - } - } - EgovNet.requestFetch(retrieveDetailURL, - requestOptions, - function (resp) { - let rawScheduleDetail = resp.result.scheduleDetail; - rawScheduleDetail.startDateTime = convertDate(rawScheduleDetail.schdulBgnde); - rawScheduleDetail.endDateTime = convertDate(rawScheduleDetail.schdulEndde); - rawScheduleDetail.reptitSeCodeNm = getCodeName(resp.result.reptitSeCode, resp.result.scheduleDetail.reptitSeCode); - rawScheduleDetail.schdulIpcrCodeNm = getCodeName(resp.result.schdulIpcrCode, resp.result.scheduleDetail.schdulIpcrCode); - rawScheduleDetail.schdulSeNm = getCodeName(resp.result.schdulSe, resp.result.scheduleDetail.schdulSe); - setScheduleDetail(rawScheduleDetail); - setUser(resp.result.user); - setBoardAttachFiles(resp.result.resultFiles); - } - ); - } - const convertDate = (str) => { - let year = str.substring(0, 4); - let month = str.substring(4, 6); - let date = str.substring(6, 8); - let hour = str.substring(8, 10); - let minute = str.substring(10, 12); - return { - year: year, - month: month, - date: date, - hour: hour, - minute: minute, - dateForm: year + "년 " + month + "월 " + date + "일 " + hour + "시 " + minute + "분 " - } - } - - const getCodeName = (codeArr, code) => { - return ( - codeArr.map((codeObj) => { - if (codeObj.code === code.trim()) return codeObj.codeNm - else return ""; - }) - ); - }; - - const onClickDeleteSchedule = (schdulId) => { - const deleteBoardURL = `/schedule/${schdulId}`; - - const requestOptions = { - method: "DELETE", - headers: { - 'Content-type': 'application/json', - } - } - - EgovNet.requestFetch(deleteBoardURL, - requestOptions, - (resp) => { - console.log("====>>> Schdule delete= ", resp); - if (Number(resp.resultCode) === Number(CODE.RCV_SUCCESS)) { - alert("게시글이 삭제되었습니다.") - navigate(URL.ADMIN_SCHEDULE ,{ replace: true }); - } else { - // alert("ERR : " + resp.message); - navigate({pathname: URL.ERROR}, {state: {msg : resp.resultMessage}}); - } - - } - ); - } - - useEffect(function () { - retrieveDetail(); - // eslint-disable-next-line react-hooks/exhaustive-deps - }, []); - - console.log("------------------------------EgovAdminScheduleDetail [End]"); - console.groupEnd("EgovAdminScheduleDetail"); - return ( -
-
- {/* */} -
-
    -
  • Home
  • -
  • 사이트관리
  • -
  • 일정관리
  • -
-
- {/* */} - -
- {/* */} - - {/* */} - -
- {/* */} - -
-

사이트관리

-
- -

일정관리 상세보기

- - {/* */} -
-
-
일정구분
-
{scheduleDetail.schdulSeNm}
-
-
-
중요도
-
{scheduleDetail.schdulIpcrCodeNm}
-
-
-
부서
-
{scheduleDetail.schdulDeptName}
-
-
-
일정명
-
{scheduleDetail.schdulNm}
-
-
-
일정내용
-
{scheduleDetail.schdulCn}
-
-
-
반복구분
-
{scheduleDetail.reptitSeCodeNm}
-
-
-
날짜/시간
-
{scheduleDetail.startDateTime?.dateForm} ~ {scheduleDetail.endDateTime?.dateForm}
-
-
-
담당자
-
{scheduleDetail.schdulChargerName}
-
- - - - {/* */} -
- {user.id && -
- 수정 - - -
- } -
- 목록 -
-
- {/* */} -
- {/* */} - - {/* */} -
-
-
-
- ); -} - -export default EgovAdminScheduleDetail; \ No newline at end of file diff --git a/egovframe-template-simple-react-contribution/src/pages/admin/schedule/EgovAdminScheduleEdit.jsx b/egovframe-template-simple-react-contribution/src/pages/admin/schedule/EgovAdminScheduleEdit.jsx deleted file mode 100644 index 11d59fe..0000000 --- a/egovframe-template-simple-react-contribution/src/pages/admin/schedule/EgovAdminScheduleEdit.jsx +++ /dev/null @@ -1,364 +0,0 @@ -import React, { useState, useEffect } from 'react'; -import { Link, useLocation, useNavigate } from 'react-router-dom'; -import DatePicker from "react-datepicker"; - -import * as EgovNet from 'api/egovFetch'; -import URL from 'constants/url'; -import CODE from 'constants/code'; - -import { default as EgovLeftNav } from 'components/leftmenu/EgovLeftNavAdmin'; -import EgovAttachFile from 'components/EgovAttachFile'; -import EgovRadioButtonGroup from 'components/EgovRadioButtonGroup'; - -import 'react-datepicker/dist/react-datepicker.css'; - -function EgovAdminScheduleEdit(props) { - console.group("EgovAdminScheduleEdit"); - console.log("[Start] EgovAdminScheduleEdit ------------------------------"); - console.log("EgovAdminScheduleEdit [props] : ", props); - - const navigate = useNavigate(); - const location = useLocation(); - console.log("EgovAdminScheduleEdit [location] : ", location); - - const reptitSeCodeRadioGroup = [{ value: "1", label: "당일" }, { value: "2", label: "반복" }, { value: "3", label: "연속" }]; - - const [modeInfo, setModeInfo] = useState({ mode: props.mode }); - const [scheduleDetail, setScheduleDetail] = useState({ schdulDeptName: "관리자부서", schdulChargerName: "관리자", schdulKindCode: 2, reptitSeCode: "1", startDate: new Date(), endDate: new Date() }); - const [boardAttachFiles, setBoardAttachFiles] = useState(); - - const [schdulBgndeHH, setSchdulBgndeHH] = useState(); - const [schdulBgndeMM, setSchdulBgndeMM] = useState(); - const [schdulEnddeHH, setSchdulEnddeHH] = useState(); - const [schdulEnddeMM, setSchdulEnddeMM] = useState(); - - - const initMode = () => { - switch (props.mode) { - case CODE.MODE_CREATE: - setModeInfo({ - ...modeInfo, - modeTitle: "등록", - method : "POST", - editURL: '/schedule' - }); - break; - case CODE.MODE_MODIFY: - setModeInfo({ - ...modeInfo, - modeTitle: "수정", - method : "PUT", - editURL: '/schedule' - }); - break; - default: - navigate({pathname: URL.ERROR}, {state: {msg : ""}}); - } - retrieveDetail(); - } - - const convertDate = (str) => { - let year = str.substring(0, 4); - let month = str.substring(4, 6); - let date = str.substring(6, 8); - let hour = str.substring(8, 10); - let minute = str.substring(10, 12); - return new Date(year, month - 1, date, hour, minute) - } - - const retrieveDetail = () => { - if (modeInfo.mode === CODE.MODE_CREATE) {// 조회/등록이면 조회 안함 - setScheduleDetail({ - ...scheduleDetail, - schdulBgnde: location.state.iUseDate, - schdulEndde: location.state.iUseDate, - startDate: convertDate(location.state.iUseDate), - endDate: convertDate(location.state.iUseDate), - }); - return; - } - - const retrieveDetailURL = `/schedule/${location.state?.schdulId}`; - const requestOptions = { - method: "GET", - headers: { - 'Content-type': 'application/json' - } - } - EgovNet.requestFetch(retrieveDetailURL, - requestOptions, - function (resp) { - let rawScheduleDetail = resp.result.scheduleDetail; - //기본값 설정 - setScheduleDetail({ - ...scheduleDetail, - ...rawScheduleDetail, - startDate: convertDate(rawScheduleDetail.schdulBgnde), - endDate: convertDate(rawScheduleDetail.schdulEndde), - atchFileId : rawScheduleDetail.atchFileId.trim(), - }); - setBoardAttachFiles(resp.result.resultFiles); - } - ); - } - - const updateSchedule = () => { - const formData = new FormData(); - - for (let key in scheduleDetail) { - formData.append(key, scheduleDetail[key]); - console.log("scheduleDetail [%s] ", key, scheduleDetail[key]); - } - - if (formValidator(formData)) { - const requestOptions = { - method: modeInfo.method, - body: formData - } - - if (modeInfo.mode === CODE.MODE_MODIFY) { - modeInfo.editURL = `${modeInfo.editURL}/${location.state?.schdulId}`; - } - EgovNet.requestFetch(modeInfo.editURL, - requestOptions, - (resp) => { - if (Number(resp.resultCode) === Number(CODE.RCV_SUCCESS)) { - navigate({ pathname: URL.ADMIN_SCHEDULE }); - } else { - navigate({pathname: URL.ERROR}, {state: {msg : resp.resultMessage}}); - } - } - ); - } - - } - - const formValidator = (formData) => { - if (formData.get('schdulNm') === null || formData.get('schdulNm') === "") { - alert("일정명은 필수 값입니다."); - return false; - } - if (formData.get('schdulCn') === null || formData.get('schdulCn') === "") { - alert("일정내용은 필수 값입니다."); - return false; - } - if (formData.get('schdulSe') === null || formData.get('schdulSe') === "") { - alert("일정구분은 필수 값입니다."); - return false; - } - if (formData.get('schdulIpcrCode') === null || formData.get('schdulIpcrCode') === "") { - alert("중요도는 필수 값입니다."); - return false; - } - if (formData.get('reptitSeCode') === null ||formData.get('reptitSeCode') === "") { - alert("반복구분은 필수 값입니다."); - return false; - } - if (formData.get('schdulBgnde') > formData.get('schdulEndde')) { - alert("종료일시는 시작일시보다 앞 설 수 없습니다."); - return false; - } - return true; - } - const getDateFourteenDigit = (date) => { - return getYYYYMMDD(date).toString() + makeTwoDigit(date.getHours()) + makeTwoDigit(date.getMinutes()) + makeTwoDigit(date.getSeconds()); - } - const getYYYYMMDD = (date) => { - return date.getFullYear().toString() + makeTwoDigit(Number(date.getMonth() + 1)) + makeTwoDigit(date.getDate()); - } - const makeTwoDigit = (number) => { - return number < 10 ? "0" + number : number.toString(); - } - - useEffect(function () { - initMode(); - // eslint-disable-next-line react-hooks/exhaustive-deps - }, []); - - console.log("------------------------------EgovAdminScheduleEdit [End]"); - console.groupEnd("EgovAdminScheduleEdit"); - return ( -
-
- {/* */} -
-
    -
  • Home
  • -
  • 사이트관리
  • -
  • 일정관리
  • -
-
- {/* */} - -
- {/* */} - - {/* */} - -
- {/* */} - -
-

사이트관리

-
- -

일정관리 상세보기

- - {/* */} -
-
-
일정구분필수
-
- -
-
-
-
중요도필수
-
- -
-
-
-
필수
-
- -
-
-
-
필수
-
- setScheduleDetail({ ...scheduleDetail, schdulNm: e.target.value })} /> -
-
-
-
필수
-
- -
-
-
-
반복구분필수
-
- setScheduleDetail({ ...scheduleDetail, reptitSeCode: v })} /> -
-
-
-
날짜/시간필수
-
- - { - console.log("setStartDate : ", date); - setScheduleDetail({ ...scheduleDetail, schdulBgnde: getDateFourteenDigit(date), schdulBgndeYYYMMDD: getYYYYMMDD(date), schdulBgndeHH: date.getHours(), schdulBgndeMM: date.getMinutes(), startDate: date }); - setSchdulBgndeHH(date.getHours()); - setSchdulBgndeMM(date.getMinutes()); - }} /> - - - ~ - - - { - console.log("setEndDate: ", date); - setScheduleDetail({ ...scheduleDetail, schdulEndde: getDateFourteenDigit(date), schdulEnddeYYYMMDD: getYYYYMMDD(date), schdulEnddeHH: date.getHours(), schdulEnddeMM: date.getMinutes(), endDate: date }); - setSchdulEnddeHH(date.getHours()); - setSchdulEnddeMM(date.getMinutes()); - } - } /> - - - -
-
-
-
필수
-
- -
-
- { - console.log("====>>> Changed attachfile file = ", attachfile); - const arrayConcat = { ...scheduleDetail}; // 기존 단일 파일 업로드에서 다중파일 객체 추가로 변환(아래 for문으로) - for ( let i = 0; i < attachfile.length; i++) { - arrayConcat[`file_${i}`] = attachfile[i]; - } - setScheduleDetail(arrayConcat); - }} - fnDeleteFile={(deletedFile) => { - console.log("====>>> Delete deletedFile = ", deletedFile); - setBoardAttachFiles(deletedFile); - }} - boardFiles={boardAttachFiles} - mode={props.mode} /> - - {/* */} -
-
- - 삭제 -
- -
- 목록 -
-
- {/* */} -
- {/* */} - - {/* */} -
-
-
-
- ); -} - -export default EgovAdminScheduleEdit; \ No newline at end of file diff --git a/egovframe-template-simple-react-contribution/src/routes/index.jsx b/egovframe-template-simple-react-contribution/src/routes/index.jsx index 5e54288..b7b1d37 100644 --- a/egovframe-template-simple-react-contribution/src/routes/index.jsx +++ b/egovframe-template-simple-react-contribution/src/routes/index.jsx @@ -47,8 +47,8 @@ import EgovGalleryEdit from 'pages/inform/gallery/EgovGalleryEdit'; //ADMIN import EgovAdminScheduleList from 'pages/admin/schedule/EgovAdminScheduleList'; -import EgovAdminScheduleDetail from 'pages/admin/schedule/EgovAdminScheduleDetail'; -import EgovAdminScheduleEdit from 'pages/admin/schedule/EgovAdminScheduleEdit'; +// import EgovAdminScheduleDetail from 'pages/admin/schedule/EgovAdminScheduleDetail'; +// import EgovAdminScheduleEdit from 'pages/admin/schedule/EgovAdminScheduleEdit'; import EgovAdminBoardList from 'pages/admin/board/EgovAdminBoardList'; import EgovAdminBoardEdit from 'pages/admin/board/EgovAdminBoardEdit'; @@ -94,7 +94,7 @@ import AdminContentsPopUp from 'pages/admin/contents/PopUp'; import AdminContentsPopUpEditor from 'pages/admin/contents/PopUp/PopupEditor'; // 관리자 - 컨텐츠 관리/팝업 관리/팝업 추가 또는 수정 import AdminContentsStandardResearch from 'pages/admin/contents/StandardResearch'; // 관리자 - 컨텐츠 관리/건설기준연구 관리 import AdminContentsStandardResearchEditor from 'pages/admin/contents/StandardResearch/StandardResearchEditor'; // 컨텐츠 관리/건설기준연구 관리/추가 또는 수정 -import AdminContentsTextMessages from 'pages/admin/contents/TextMessages'; // 관리자 - 컨텐츠 관리/문자 발송 +// import AdminContentsTextMessages from 'pages/admin/contents/TextMessages'; // 관리자 - 컨텐츠 관리/문자 발송 // 관리자 - 위원회 관리 import AdminCommitteeProgressStatus from 'pages/admin/committee/ProgressStatus'; // 관리자 - 위원회 관리/진행현황 관리 @@ -250,9 +250,9 @@ const SecondRoutes = () => { {/* ADMIN */} } /> } /> - } /> - } /> - } /> + {/*} />*/} + {/*} />*/} + {/*} />*/} } /> } /> @@ -306,7 +306,7 @@ const SecondRoutes = () => { } /> } /> } /> - } /> + {/*} />*/} {/* 관리자 - 위원회 관리 */} } />