From 788c6787d3c98be2593ae7ff4ca3dd7db6876d81 Mon Sep 17 00:00:00 2001 From: thkim Date: Tue, 9 Jan 2024 18:03:42 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=EA=B4=80=EB=A6=AC=EC=9E=90=20=EB=8B=A8?= =?UTF-8?q?=EC=97=90=EC=84=9C=20'=EC=9C=84=EC=9B=90=ED=9A=8C=20=EA=B4=80?= =?UTF-8?q?=EB=A6=AC'=20>=20'=EC=9C=84=EC=9B=90=ED=9A=8C=20=EC=9D=BC?= =?UTF-8?q?=EC=A0=95=20=EA=B4=80=EB=A6=AC'=EC=97=90=20'=EB=93=B1=EB=A1=9D'?= =?UTF-8?q?=20=EB=B2=84=ED=8A=BC=EC=9D=84=20=EB=88=84=EB=A5=B8=20=ED=9B=84?= =?UTF-8?q?=20'=EC=9C=84=EC=9B=90=ED=9A=8C=20=EC=9D=BC=EC=A0=95=20?= =?UTF-8?q?=EB=93=B1=EB=A1=9D'=20=ED=8E=98=EC=9D=B4=EC=A7=80=EC=97=90?= =?UTF-8?q?=EC=84=9C=20=ED=95=AD=EB=AA=A9=20=EC=9E=85=EB=A0=A5=20=ED=9B=84?= =?UTF-8?q?=20'=EC=A0=80=EC=9E=A5'=EC=9D=84=20=EB=B2=84=ED=8A=BC=20?= =?UTF-8?q?=EB=88=84=EB=A5=BC=20=EB=95=8C=20=EC=A0=80=EC=9E=A5=EB=90=98?= =?UTF-8?q?=EB=8F=84=EB=A1=9D=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pages/admin/committee/Schedules/Edit.jsx | 98 ++++++++++--------- 1 file changed, 51 insertions(+), 47 deletions(-) diff --git a/egovframe-template-simple-react-contribution/src/pages/admin/committee/Schedules/Edit.jsx b/egovframe-template-simple-react-contribution/src/pages/admin/committee/Schedules/Edit.jsx index 78989f4..f7e392a 100644 --- a/egovframe-template-simple-react-contribution/src/pages/admin/committee/Schedules/Edit.jsx +++ b/egovframe-template-simple-react-contribution/src/pages/admin/committee/Schedules/Edit.jsx @@ -61,12 +61,32 @@ function SchedulesEdit(props) { const classes = useStyles(); const [isShake, setShake] = useState(false); + + + const getDateFourteenDigit = (date) => { + return `${getYYYY_MM_DD(date).toString()} ${makeTwoDigit(date.getHours())}:${makeTwoDigit(date.getMinutes())}:${makeTwoDigit(date.getSeconds())}`; + } + const getYYYY_MM_DD = (date) => { + return `${date.getFullYear().toString()}-${makeTwoDigit(Number(date.getMonth() + 1))}-${makeTwoDigit(date.getDate())}`; + } + const makeTwoDigit = (number) => { + return number < 10 ? "0" + number : number.toString(); + } + + const navigate = useNavigate(); const location = useLocation(); console.log("EgovAdminScheduleEdit [location] : ", location); const [modeInfo, setModeInfo] = useState({ mode: props.mode }); - const [scheduleDetail, setScheduleDetail] = useState({ startDate: new Date(), endDate: new Date() }); + const [scheduleDetail, setScheduleDetail] = useState + ( + { + startDate: new Date(), + endDate: new Date(), + eventId : 0, + } + ); const [schdulBgndeHH, setSchdulBgndeHH] = useState(); const [schdulBgndeMM, setSchdulBgndeMM] = useState(); @@ -138,37 +158,24 @@ function SchedulesEdit(props) { return; } - const retrieveDetailURL = `/schedule/${location.state?.schdulId}`; - - 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(), - schdulIpcrCode : "B", - }); - } - ); - - - } const updateSchedule = () => { const formData = new FormData(); for (let key in scheduleDetail) { - formData.append(key, scheduleDetail[key]); + if ( key === 'startDate' ) { + formData.append(key, getDateFourteenDigit( scheduleDetail[key] )); + } else if( key === 'endDate' ) { + formData.append(key, getDateFourteenDigit( scheduleDetail[key] )); + } else { + formData.append(key, scheduleDetail[key]); + } + console.log("scheduleDetail [%s] ", key, scheduleDetail[key]); } - if (formValidator(formData)) { + if ( formValidator(formData) ) { const requestOptions = { method: modeInfo.method, body: formData @@ -194,40 +201,38 @@ function SchedulesEdit(props) { const formValidator = (formData) => { if (formData.get('divMeet') === null || formData.get('divMeet') === "") { - alert("일정구분은 필수 값입니다."); + alert("구분을 선택해 주세요."); return false; } - if (formData.get('schdulNm') === null || formData.get('schdulNm') === "") { - alert("일정명은 필수 값입니다."); + if (formData.get('upCommittee') === null || formData.get('upCommittee') === "") { + alert("심의위원회 첫 번째 값을 선택해 주세요."); return false; } - if (formData.get('schdulCn') === null || formData.get('schdulCn') === "") { - alert("일정내용은 필수 값입니다."); + if (formData.get('committee') === null || formData.get('committee') === "") { + alert("심의위원회 두 번째 값을 선택해 주세요."); return false; } - if (formData.get('schdulIpcrCode') === null || formData.get('schdulIpcrCode') === "") { - alert("중요도는 필수 값입니다."); + if (formData.get('title') === null || formData.get('title') === "") { + alert("제목을 입력해 주세요."); return false; } - if (formData.get('reptitSeCode') === null ||formData.get('reptitSeCode') === "") { - alert("반복구분은 필수 값입니다."); + if (formData.get('location') === null ||formData.get('location') === "") { + alert("장소를 입력해 주세요."); return false; } - if (formData.get('schdulBgnde') > formData.get('schdulEndde')) { + if (formData.get('contents') === null ||formData.get('contents') === "") { + alert("내용을 입력해 주세요."); + return false; + } + + /* + if (formData.get('contents') > 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(); @@ -236,7 +241,7 @@ function SchedulesEdit(props) { useEffect(function () { - EgovNet.requestFetch(`/schedule/api/org-api/depth/list?paramCodeGroup=${scheduleDetail.orgGroupId}`, + EgovNet.requestFetch(`/schedule/api/org-api/depth/list?paramCodeGroup=${scheduleDetail.upCommittee}`, requestOptions, function (resp) { setScheduleApiOrgApiDepthList( @@ -245,9 +250,8 @@ function SchedulesEdit(props) { } ); - console.log( `kimtheho %o`, scheduleDetail); // eslint-disable-next-line react-hooks/exhaustive-deps - }, [scheduleDetail && scheduleDetail.orgGroupId]); + }, [scheduleDetail && scheduleDetail.upCommittee]); console.log("------------------------------EgovAdminScheduleEdit [End]"); @@ -354,7 +358,7 @@ function SchedulesEdit(props) { showTimeInput onChange={(date) => { console.log("setStartDate : ", date); - setScheduleDetail({ ...scheduleDetail, schdulBgnde: getDateFourteenDigit(date), schdulBgndeYYYMMDD: getYYYYMMDD(date), schdulBgndeHH: date.getHours(), schdulBgndeMM: date.getMinutes(), startDate: date }); + setScheduleDetail({ ...scheduleDetail, startDate: date }); setSchdulBgndeHH(date.getHours()); setSchdulBgndeMM(date.getMinutes()); }} /> @@ -372,7 +376,7 @@ function SchedulesEdit(props) { minDate={scheduleDetail.startDate} onChange={(date) => { console.log("setEndDate: ", date); - setScheduleDetail({ ...scheduleDetail, schdulEndde: getDateFourteenDigit(date), schdulEnddeYYYMMDD: getYYYYMMDD(date), schdulEnddeHH: date.getHours(), schdulEnddeMM: date.getMinutes(), endDate: date }); + setScheduleDetail({ ...scheduleDetail, endDate: date }); setSchdulEnddeHH(date.getHours()); setSchdulEnddeMM(date.getMinutes()); }