From 4d60a1510485bf2525ebb963a8b1cd35ff0ec48a Mon Sep 17 00:00:00 2001 From: thkim Date: Fri, 8 Mar 2024 17:55:59 +0900 Subject: [PATCH] =?UTF-8?q?=EC=A4=91=EA=B0=84=20=EC=A0=80=EC=9E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/file/FileDragDrop.jsx | 4 +- .../pages/admin/committee/ProgressStatus.jsx | 2 +- .../admin/committee/ProgressStatus/Edit.jsx | 290 ++++++++++++------ 3 files changed, 197 insertions(+), 99 deletions(-) diff --git a/egovframe-template-simple-react-contribution/src/components/file/FileDragDrop.jsx b/egovframe-template-simple-react-contribution/src/components/file/FileDragDrop.jsx index 4cc8a16..bd61604 100644 --- a/egovframe-template-simple-react-contribution/src/components/file/FileDragDrop.jsx +++ b/egovframe-template-simple-react-contribution/src/components/file/FileDragDrop.jsx @@ -7,12 +7,12 @@ import { FileUploader } from "react-drag-drop-files"; * @param {fileTypes} const fileTypes = ["JPG", "PNG", "GIF"]; * @returns */ -function FileDragDrop({fileTypes, children, multiple, label, onDrop, handleChange, file, setFile, dropMessageStyle}) { +function FileDragDrop({fileTypes, children, multiple, label, onDrop, handleChange, file, setFile, dropMessageStyle, name}) { return (
- 등록 + 등록
diff --git a/egovframe-template-simple-react-contribution/src/pages/admin/committee/ProgressStatus/Edit.jsx b/egovframe-template-simple-react-contribution/src/pages/admin/committee/ProgressStatus/Edit.jsx index b5b570b..8c966c0 100644 --- a/egovframe-template-simple-react-contribution/src/pages/admin/committee/ProgressStatus/Edit.jsx +++ b/egovframe-template-simple-react-contribution/src/pages/admin/committee/ProgressStatus/Edit.jsx @@ -1,6 +1,10 @@ import React, { useState, useEffect } from 'react'; import { Link, useLocation, useNavigate } from 'react-router-dom'; import DatePicker from "react-datepicker"; +import AttachFileIcon from '@mui/icons-material/AttachFile'; + + +import FileDragDrop from "components/file/FileDragDrop"; @@ -53,6 +57,37 @@ const StyledDiv = styled.div` } `; + +function AttachFile(props) { + + const fileTypes = ["JPG", "PNG", "GIF", "PDF", "HWP", "HWPX", "ZIP", "JPEG", "MP4", "TXT"]; + const onDrop = (e) => { + //alert('ddd'); + }; + + const handleChange = (file) => { + props.setFile(file); + }; + + return ( + +
+ + {props.file ? props.file.name : props.fileName ? props.fileName : "파일을 마우스로 끌어놓으세요."} +
+
+ ); + +} + function SchedulesEdit(props) { console.group("EgovAdminScheduleEdit"); console.log("[Start] EgovAdminScheduleEdit ------------------------------"); @@ -79,19 +114,16 @@ function SchedulesEdit(props) { console.log("EgovAdminScheduleEdit [location] : ", location); const [modeInfo, setModeInfo] = useState({ mode: props.mode }); - const [scheduleDetail, setScheduleDetail] = useState + const [requestItems, setRequestItems] = useState ( { - startDate: new Date(), - endDate: new Date(), + startDate: new Date(), eventId : 0, } ); const [schdulBgndeHH, setSchdulBgndeHH] = useState(); const [schdulBgndeMM, setSchdulBgndeMM] = useState(); - const [schdulEnddeHH, setSchdulEnddeHH] = useState(); - const [schdulEnddeMM, setSchdulEnddeMM] = useState(); const [scheduleInit, setScheduleInit] = useState({}); const [scheduleApiOrgApiDepthList, setScheduleApiOrgApiDepthList] = useState({ }); @@ -148,14 +180,7 @@ function SchedulesEdit(props) { resp ); - 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), - }); + if (modeInfo.mode === CODE.MODE_CREATE) { return; } @@ -168,16 +193,7 @@ function SchedulesEdit(props) { } EgovNet.requestFetch(retrieveDetailURL, requestOptions, - function (resp) { - - let rawScheduleDetail = resp.result; - //기본값 설정 - setScheduleDetail({ - ...scheduleDetail, - ...rawScheduleDetail, - startDate: convertDate(rawScheduleDetail.schdulBgnde), - endDate: convertDate(rawScheduleDetail.schdulEndde), - }); + function (resp) { } ); } @@ -188,16 +204,16 @@ function SchedulesEdit(props) { const updateSchedule = () => { const formData = new FormData(); - for (let key in scheduleDetail) { + for (let key in requestItems) { if ( key === 'startDate' ) { - formData.append(key, getDateFourteenDigit( scheduleDetail[key] )); + formData.append(key, getDateFourteenDigit( requestItems[key] )); } else if( key === 'endDate' ) { - formData.append(key, getDateFourteenDigit( scheduleDetail[key] )); + formData.append(key, getDateFourteenDigit( requestItems[key] )); } else { - formData.append(key, scheduleDetail[key]); + formData.append(key, requestItems[key]); } - console.log("scheduleDetail [%s] ", key, scheduleDetail[key]); + console.log("requestItems [%s] ", key, requestItems[key]); } if ( formValidator(formData) ) { @@ -263,13 +279,13 @@ function SchedulesEdit(props) { }, []); useEffect(function () { - console.log("------------------------------EgovAdminScheduleEdit [%o]", scheduleDetail); + console.log("------------------------------EgovAdminScheduleEdit [%o]", requestItems); // eslint-disable-next-line react-hooks/exhaustive-deps - }, [scheduleDetail]); + }, [requestItems]); useEffect(function () { - EgovNet.requestFetch(`/schedule/api/org-api/depth/list?paramCodeGroup=${scheduleDetail.upCommittee}`, + EgovNet.requestFetch(`/schedule/api/org-api/depth/list?paramCodeGroup=${requestItems.upCommittee}`, requestOptions, function (resp) { setScheduleApiOrgApiDepthList( @@ -277,9 +293,9 @@ function SchedulesEdit(props) { ); } ); - console.log("------------------------------EgovAdminScheduleEdit [%o]", scheduleDetail); + console.log("------------------------------EgovAdminScheduleEdit [%o]", requestItems); // eslint-disable-next-line react-hooks/exhaustive-deps - }, [scheduleDetail && scheduleDetail.upCommittee]); + }, [requestItems && requestItems.upCommittee]); const onClickDeleteSchedule = (schdulId) => { @@ -307,6 +323,24 @@ function SchedulesEdit(props) { ); } + //사전검토자료 + const [preDataFile, setPreDataFile] = useState(null); + const [preDataFileName, setPreDataFileName] = useState(null); + //사전검토양식 + const [preFormFile, setPreFormFile] = useState(null); + const [preFormFileName, setPreFormFileName] = useState(null); + //관계기관의견 + const [partnerFile, setPartnerFile] = useState(null); + const [partnerFileName, setPartnerFileName] = useState(null); + //조치계획서 + //const [preDataFile, setPreDataFile] = useState(null); + //const [preDataFileName, setPreDataFileName] = useState(null); + //조치결과서 + //const [preDataFile, setPreDataFile] = useState(null); + //const [preDataFileName, setPreDataFileName] = useState(null); + + + console.log("------------------------------EgovAdminScheduleEdit [End]"); console.groupEnd("EgovAdminScheduleEdit"); return ( @@ -318,7 +352,7 @@ function SchedulesEdit(props) {
  • Home
  • 사이트 관리
  • 위원회 관리
  • -
  • 위원회 일정 관리
  • +
  • 진행현황 관리
  • {/* */} @@ -332,20 +366,36 @@ function SchedulesEdit(props) { {/* */}
    -

    위원회 일정 관리

    +

    진행현황 관리

    - {/* */} - {/* */}
    -
    구분필수
    +
    필수
    +
    + setRequestItems({ ...requestItems, title: e.target.value })} + /> +
    +
    +
    +
    필수
    +
    + setRequestItems({ ...requestItems, title: e.target.value })} + /> +
    +
    +
    +
    필수
    +
    +
    +
    필수
    - - +
    +
    +
    +
    필수
    +
    + setRequestItems({ ...requestItems, title: e.target.value })} + /> +
    +
    +
    +
    필수
    +
    + setRequestItems({ ...requestItems, title: e.target.value })} + /> +
    +
    + +
    필수
    setScheduleDetail({ ...scheduleDetail, title: e.target.value })} + value={requestItems.title} + onChange={(e) => setRequestItems({ ...requestItems, title: e.target.value })} />
    @@ -395,56 +533,16 @@ function SchedulesEdit(props) {
    필수
    setScheduleDetail({ ...scheduleDetail, location: e.target.value })} /> -
    - -
    -
    날짜/시간필수
    -
    - - { - 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()); - } - } /> - - - + defaultValue={requestItems.location} + onChange={(e) => setRequestItems({ ...requestItems, location: e.target.value })} />
    필수
    @@ -465,7 +563,7 @@ function SchedulesEdit(props) {
    - 목록 + 목록
    {/* */}