feat: 관리자 단에서 '위원회 관리' > '위원회 일정 관리'에 '등록' 버튼을 누른 후 '위원회 일정 등록' 페이지 placeholder 수정 건
parent
a7ee5c3318
commit
7767f27c23
|
|
@ -3,6 +3,10 @@
|
||||||
"version": "0.1.0",
|
"version": "0.1.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@material-ui/core": "^4.12.4",
|
||||||
|
"@material-ui/icons": "^4.11.3",
|
||||||
|
"@mui/material": "^5.14.19",
|
||||||
|
"@mui/styles": "^5.15.3",
|
||||||
"bootstrap": "^5.3.2",
|
"bootstrap": "^5.3.2",
|
||||||
"qs": "^6.11.0",
|
"qs": "^6.11.0",
|
||||||
"react": "^18.2.0",
|
"react": "^18.2.0",
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,8 @@ import React, { useState, useEffect } from 'react';
|
||||||
import { Link, useLocation, useNavigate } from 'react-router-dom';
|
import { Link, useLocation, useNavigate } from 'react-router-dom';
|
||||||
import DatePicker from "react-datepicker";
|
import DatePicker from "react-datepicker";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
import * as EgovNet from 'api/egovFetch';
|
import * as EgovNet from 'api/egovFetch';
|
||||||
import URL from 'constants/url';
|
import URL from 'constants/url';
|
||||||
import CODE from 'constants/code';
|
import CODE from 'constants/code';
|
||||||
|
|
@ -11,6 +13,22 @@ import { default as EgovLeftNav } from 'components/leftmenu/EgovLeftNavAdmin';
|
||||||
import 'react-datepicker/dist/react-datepicker.css';
|
import 'react-datepicker/dist/react-datepicker.css';
|
||||||
|
|
||||||
import styled from "styled-components";
|
import styled from "styled-components";
|
||||||
|
import { makeStyles } from "@mui/styles";
|
||||||
|
|
||||||
|
const useStyles = makeStyles(() => ({
|
||||||
|
shake: {
|
||||||
|
animation: "$description 15s",
|
||||||
|
animationIterationCount: "1"
|
||||||
|
},
|
||||||
|
"@keyframes description": {
|
||||||
|
"0%": { opacity: 0, transform: "translateY(0)" },
|
||||||
|
"15%": { transform: "translateY(-4px, 0)" },
|
||||||
|
"30%": { transform: "translateY(6px, 0)" },
|
||||||
|
"45%": { transform: "translateY(-4px, 0)" },
|
||||||
|
"60%": { transform: "translateY(6px, 0)" },
|
||||||
|
"100%": { opacity: 1, transform: "translateY(0)" }
|
||||||
|
}
|
||||||
|
}));
|
||||||
|
|
||||||
const StyledDiv = styled.div`
|
const StyledDiv = styled.div`
|
||||||
.org-under-id {
|
.org-under-id {
|
||||||
|
|
@ -40,6 +58,9 @@ function SchedulesEdit(props) {
|
||||||
console.log("[Start] EgovAdminScheduleEdit ------------------------------");
|
console.log("[Start] EgovAdminScheduleEdit ------------------------------");
|
||||||
console.log("EgovAdminScheduleEdit [props] : ", props);
|
console.log("EgovAdminScheduleEdit [props] : ", props);
|
||||||
|
|
||||||
|
const classes = useStyles();
|
||||||
|
const [isShake, setShake] = useState(false);
|
||||||
|
|
||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
const location = useLocation();
|
const location = useLocation();
|
||||||
console.log("EgovAdminScheduleEdit [location] : ", location);
|
console.log("EgovAdminScheduleEdit [location] : ", location);
|
||||||
|
|
@ -171,6 +192,11 @@ function SchedulesEdit(props) {
|
||||||
}
|
}
|
||||||
|
|
||||||
const formValidator = (formData) => {
|
const formValidator = (formData) => {
|
||||||
|
|
||||||
|
if (formData.get('divMeet') === null || formData.get('divMeet') === "") {
|
||||||
|
alert("일정구분은 필수 값입니다.");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
if (formData.get('schdulNm') === null || formData.get('schdulNm') === "") {
|
if (formData.get('schdulNm') === null || formData.get('schdulNm') === "") {
|
||||||
alert("일정명은 필수 값입니다.");
|
alert("일정명은 필수 값입니다.");
|
||||||
return false;
|
return false;
|
||||||
|
|
@ -179,10 +205,6 @@ function SchedulesEdit(props) {
|
||||||
alert("일정내용은 필수 값입니다.");
|
alert("일정내용은 필수 값입니다.");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (formData.get('schdulSe') === null || formData.get('schdulSe') === "") {
|
|
||||||
alert("일정구분은 필수 값입니다.");
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
if (formData.get('schdulIpcrCode') === null || formData.get('schdulIpcrCode') === "") {
|
if (formData.get('schdulIpcrCode') === null || formData.get('schdulIpcrCode') === "") {
|
||||||
alert("중요도는 필수 값입니다.");
|
alert("중요도는 필수 값입니다.");
|
||||||
return false;
|
return false;
|
||||||
|
|
@ -263,10 +285,10 @@ function SchedulesEdit(props) {
|
||||||
<dl>
|
<dl>
|
||||||
<dt>구분<span className="req">필수</span></dt>
|
<dt>구분<span className="req">필수</span></dt>
|
||||||
<dd>
|
<dd>
|
||||||
<label className="f_select w_150" htmlFor="schdulSe">
|
<label className="f_select w_150" htmlFor="div-meet">
|
||||||
<select id="schdulSe" name="schdulSe" title="일정구분"
|
<select id="div-meet" name="div-meet" title="일정구분"
|
||||||
value={scheduleDetail.schdulSe}
|
value={scheduleDetail.divMeet}
|
||||||
onChange={(e) => setScheduleDetail({ ...scheduleDetail, schdulSe: e.target.value })}>
|
onChange={(e) => setScheduleDetail({ ...scheduleDetail, divMeet: e.target.value })}>
|
||||||
<option key={"none"} value="">선택</option>
|
<option key={"none"} value="">선택</option>
|
||||||
{scheduleInit && scheduleInit.result && scheduleInit.result.listCodes
|
{scheduleInit && scheduleInit.result && scheduleInit.result.listCodes
|
||||||
&& scheduleInit.result.listCodes.map((item) => (
|
&& scheduleInit.result.listCodes.map((item) => (
|
||||||
|
|
@ -279,10 +301,10 @@ function SchedulesEdit(props) {
|
||||||
<dl>
|
<dl>
|
||||||
<dt>심의위원회<span className="req">필수</span></dt>
|
<dt>심의위원회<span className="req">필수</span></dt>
|
||||||
<dd>
|
<dd>
|
||||||
<label className="f_select w_250 org-group-id" htmlFor="orgGroupId">
|
<label className="f_select w_250 up-committe" htmlFor="up-committee">
|
||||||
<select id="orgGroupId" name="orgGroupId" title="중요도"
|
<select id="up-committe" name="up-committe" title="심의위원회-상위"
|
||||||
value={scheduleDetail.orgGroupId}
|
value={scheduleDetail.upCommittee}
|
||||||
onChange={(e) => setScheduleDetail({ ...scheduleDetail, orgGroupId: e.target.value })}>
|
onChange={(e) => setScheduleDetail({ ...scheduleDetail, upCommittee: e.target.value })}>
|
||||||
<option value="">선택</option>
|
<option value="">선택</option>
|
||||||
{scheduleInit && scheduleInit.result && scheduleInit.result.listTopOrg
|
{scheduleInit && scheduleInit.result && scheduleInit.result.listTopOrg
|
||||||
&& scheduleInit.result.listTopOrg.map((item) => (
|
&& scheduleInit.result.listTopOrg.map((item) => (
|
||||||
|
|
@ -290,10 +312,10 @@ function SchedulesEdit(props) {
|
||||||
))}
|
))}
|
||||||
</select>
|
</select>
|
||||||
</label>
|
</label>
|
||||||
<label className="f_select w_250 org-under-id" htmlFor="orgUnderId">
|
<label className="f_select w_250 org-under-id" htmlFor="committee">
|
||||||
<select id="orgUnderId" name="orgUnderId" title="중요도"
|
<select id="committee" name="committee" title="심의위원회-하위"
|
||||||
value={scheduleDetail.orgUnderId}
|
value={scheduleDetail.committee}
|
||||||
onChange={(e) => setScheduleDetail({ ...scheduleDetail, orgUnderId: e.target.value })}>
|
onChange={(e) => setScheduleDetail({ ...scheduleDetail, committee: e.target.value })}>
|
||||||
<option value="">선택</option>
|
<option value="">선택</option>
|
||||||
{scheduleApiOrgApiDepthList && scheduleApiOrgApiDepthList.result && scheduleApiOrgApiDepthList.result.list
|
{scheduleApiOrgApiDepthList && scheduleApiOrgApiDepthList.result && scheduleApiOrgApiDepthList.result.list
|
||||||
&& scheduleApiOrgApiDepthList.result.list.map((item) => (
|
&& scheduleApiOrgApiDepthList.result.list.map((item) => (
|
||||||
|
|
@ -304,19 +326,20 @@ function SchedulesEdit(props) {
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<dl>
|
<dl>
|
||||||
<dt><label htmlFor="schdulDeptName">제목</label><span className="req">필수</span></dt>
|
<dt><label htmlFor="title">제목</label><span className="req">필수</span></dt>
|
||||||
<dd>
|
<dd>
|
||||||
<input className="f_input2 w_full" type="text" name="schdulDeptName" title="부서" id="schdulDeptName"
|
<input className="f_input2 w_full" type="text" name="title" title="제목" id="title" placeholder="제목을 입력하세요."
|
||||||
value={scheduleDetail.schdulDeptName} readOnly
|
value={scheduleDetail.title}
|
||||||
|
onChange={(e) => setScheduleDetail({ ...scheduleDetail, title: e.target.value })}
|
||||||
/>
|
/>
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<dl>
|
<dl>
|
||||||
<dt><label htmlFor="schdulNm">장소</label><span className="req">필수</span></dt>
|
<dt><label htmlFor="location">장소</label><span className="req">필수</span></dt>
|
||||||
<dd>
|
<dd>
|
||||||
<input className="f_input2 w_full" type="text" name="schdulNm" title="부서" id="schdulNm" placeholder="일정 테스트"
|
<input className="f_input2 w_full" type="text" name="location" title="장소" id="location" placeholder="장소를 입력하세요."
|
||||||
defaultValue={scheduleDetail.schdulNm}
|
defaultValue={scheduleDetail.location}
|
||||||
onChange={(e) => setScheduleDetail({ ...scheduleDetail, schdulNm: e.target.value })} />
|
onChange={(e) => setScheduleDetail({ ...scheduleDetail, location: e.target.value })} />
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<dl>
|
<dl>
|
||||||
|
|
@ -360,11 +383,11 @@ function SchedulesEdit(props) {
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
<dl>
|
<dl>
|
||||||
<dt><label htmlFor="schdulCn">내용</label><span className="req">필수</span></dt>
|
<dt><label htmlFor="contents">내용</label><span className="req">필수</span></dt>
|
||||||
<dd>
|
<dd>
|
||||||
<textarea className="f_txtar w_full h_100" name="schdulCn" id="schdulCn" cols="30" rows="10" placeholder="일정내용"
|
<textarea className="f_txtar w_full h_100" name="contents" id="contents" cols="30" rows="10" placeholder="일정 내용을 입력하세요."
|
||||||
defaultValue={scheduleDetail.schdulCn}
|
defaultValue={scheduleDetail.contents}
|
||||||
onChange={(e) => setScheduleDetail({ ...scheduleDetail, schdulCn: e.target.value })}
|
onChange={(e) => setScheduleDetail({ ...scheduleDetail, contents: e.target.value })}
|
||||||
></textarea>
|
></textarea>
|
||||||
</dd>
|
</dd>
|
||||||
</dl>
|
</dl>
|
||||||
|
|
@ -379,7 +402,7 @@ function SchedulesEdit(props) {
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="right_col btn1">
|
<div className="right_col btn1">
|
||||||
<Link to={URL.ADMIN_SCHEDULE} className="btn btn_blue_h46 w_100">목록</Link>
|
<Link to={URL.ADMIN__COMMITTEE__SCHEDULES} className="btn btn_blue_h46 w_100">목록</Link>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{/* <!--// 버튼영역 --> */}
|
{/* <!--// 버튼영역 --> */}
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue