feat: 관리자 단에서 '위원회 관리' > '위원회 일정 관리'에 '등록' 버튼을 누른 후 '위원회 일정 등록' 페이지 placeholder 수정 건
parent
a7ee5c3318
commit
7767f27c23
|
|
@ -3,6 +3,10 @@
|
|||
"version": "0.1.0",
|
||||
"private": true,
|
||||
"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",
|
||||
"qs": "^6.11.0",
|
||||
"react": "^18.2.0",
|
||||
|
|
|
|||
|
|
@ -2,6 +2,8 @@ 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';
|
||||
|
|
@ -11,6 +13,22 @@ import { default as EgovLeftNav } from 'components/leftmenu/EgovLeftNavAdmin';
|
|||
import 'react-datepicker/dist/react-datepicker.css';
|
||||
|
||||
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`
|
||||
.org-under-id {
|
||||
|
|
@ -40,6 +58,9 @@ function SchedulesEdit(props) {
|
|||
console.log("[Start] EgovAdminScheduleEdit ------------------------------");
|
||||
console.log("EgovAdminScheduleEdit [props] : ", props);
|
||||
|
||||
const classes = useStyles();
|
||||
const [isShake, setShake] = useState(false);
|
||||
|
||||
const navigate = useNavigate();
|
||||
const location = useLocation();
|
||||
console.log("EgovAdminScheduleEdit [location] : ", location);
|
||||
|
|
@ -171,6 +192,11 @@ function SchedulesEdit(props) {
|
|||
}
|
||||
|
||||
const formValidator = (formData) => {
|
||||
|
||||
if (formData.get('divMeet') === null || formData.get('divMeet') === "") {
|
||||
alert("일정구분은 필수 값입니다.");
|
||||
return false;
|
||||
}
|
||||
if (formData.get('schdulNm') === null || formData.get('schdulNm') === "") {
|
||||
alert("일정명은 필수 값입니다.");
|
||||
return false;
|
||||
|
|
@ -179,10 +205,6 @@ function SchedulesEdit(props) {
|
|||
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;
|
||||
|
|
@ -263,10 +285,10 @@ function SchedulesEdit(props) {
|
|||
<dl>
|
||||
<dt>구분<span className="req">필수</span></dt>
|
||||
<dd>
|
||||
<label className="f_select w_150" htmlFor="schdulSe">
|
||||
<select id="schdulSe" name="schdulSe" title="일정구분"
|
||||
value={scheduleDetail.schdulSe}
|
||||
onChange={(e) => setScheduleDetail({ ...scheduleDetail, schdulSe: e.target.value })}>
|
||||
<label className="f_select w_150" htmlFor="div-meet">
|
||||
<select id="div-meet" name="div-meet" title="일정구분"
|
||||
value={scheduleDetail.divMeet}
|
||||
onChange={(e) => setScheduleDetail({ ...scheduleDetail, divMeet: e.target.value })}>
|
||||
<option key={"none"} value="">선택</option>
|
||||
{scheduleInit && scheduleInit.result && scheduleInit.result.listCodes
|
||||
&& scheduleInit.result.listCodes.map((item) => (
|
||||
|
|
@ -279,10 +301,10 @@ function SchedulesEdit(props) {
|
|||
<dl>
|
||||
<dt>심의위원회<span className="req">필수</span></dt>
|
||||
<dd>
|
||||
<label className="f_select w_250 org-group-id" htmlFor="orgGroupId">
|
||||
<select id="orgGroupId" name="orgGroupId" title="중요도"
|
||||
value={scheduleDetail.orgGroupId}
|
||||
onChange={(e) => setScheduleDetail({ ...scheduleDetail, orgGroupId: e.target.value })}>
|
||||
<label className="f_select w_250 up-committe" htmlFor="up-committee">
|
||||
<select id="up-committe" name="up-committe" title="심의위원회-상위"
|
||||
value={scheduleDetail.upCommittee}
|
||||
onChange={(e) => setScheduleDetail({ ...scheduleDetail, upCommittee: e.target.value })}>
|
||||
<option value="">선택</option>
|
||||
{scheduleInit && scheduleInit.result && scheduleInit.result.listTopOrg
|
||||
&& scheduleInit.result.listTopOrg.map((item) => (
|
||||
|
|
@ -290,10 +312,10 @@ function SchedulesEdit(props) {
|
|||
))}
|
||||
</select>
|
||||
</label>
|
||||
<label className="f_select w_250 org-under-id" htmlFor="orgUnderId">
|
||||
<select id="orgUnderId" name="orgUnderId" title="중요도"
|
||||
value={scheduleDetail.orgUnderId}
|
||||
onChange={(e) => setScheduleDetail({ ...scheduleDetail, orgUnderId: e.target.value })}>
|
||||
<label className="f_select w_250 org-under-id" htmlFor="committee">
|
||||
<select id="committee" name="committee" title="심의위원회-하위"
|
||||
value={scheduleDetail.committee}
|
||||
onChange={(e) => setScheduleDetail({ ...scheduleDetail, committee: e.target.value })}>
|
||||
<option value="">선택</option>
|
||||
{scheduleApiOrgApiDepthList && scheduleApiOrgApiDepthList.result && scheduleApiOrgApiDepthList.result.list
|
||||
&& scheduleApiOrgApiDepthList.result.list.map((item) => (
|
||||
|
|
@ -304,19 +326,20 @@ function SchedulesEdit(props) {
|
|||
</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label htmlFor="schdulDeptName">제목</label><span className="req">필수</span></dt>
|
||||
<dt><label htmlFor="title">제목</label><span className="req">필수</span></dt>
|
||||
<dd>
|
||||
<input className="f_input2 w_full" type="text" name="schdulDeptName" title="부서" id="schdulDeptName"
|
||||
value={scheduleDetail.schdulDeptName} readOnly
|
||||
<input className="f_input2 w_full" type="text" name="title" title="제목" id="title" placeholder="제목을 입력하세요."
|
||||
value={scheduleDetail.title}
|
||||
onChange={(e) => setScheduleDetail({ ...scheduleDetail, title: e.target.value })}
|
||||
/>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label htmlFor="schdulNm">장소</label><span className="req">필수</span></dt>
|
||||
<dt><label htmlFor="location">장소</label><span className="req">필수</span></dt>
|
||||
<dd>
|
||||
<input className="f_input2 w_full" type="text" name="schdulNm" title="부서" id="schdulNm" placeholder="일정 테스트"
|
||||
defaultValue={scheduleDetail.schdulNm}
|
||||
onChange={(e) => setScheduleDetail({ ...scheduleDetail, schdulNm: e.target.value })} />
|
||||
<input className="f_input2 w_full" type="text" name="location" title="장소" id="location" placeholder="장소를 입력하세요."
|
||||
defaultValue={scheduleDetail.location}
|
||||
onChange={(e) => setScheduleDetail({ ...scheduleDetail, location: e.target.value })} />
|
||||
</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
|
|
@ -360,11 +383,11 @@ function SchedulesEdit(props) {
|
|||
</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt><label htmlFor="schdulCn">내용</label><span className="req">필수</span></dt>
|
||||
<dt><label htmlFor="contents">내용</label><span className="req">필수</span></dt>
|
||||
<dd>
|
||||
<textarea className="f_txtar w_full h_100" name="schdulCn" id="schdulCn" cols="30" rows="10" placeholder="일정내용"
|
||||
defaultValue={scheduleDetail.schdulCn}
|
||||
onChange={(e) => setScheduleDetail({ ...scheduleDetail, schdulCn: e.target.value })}
|
||||
<textarea className="f_txtar w_full h_100" name="contents" id="contents" cols="30" rows="10" placeholder="일정 내용을 입력하세요."
|
||||
defaultValue={scheduleDetail.contents}
|
||||
onChange={(e) => setScheduleDetail({ ...scheduleDetail, contents: e.target.value })}
|
||||
></textarea>
|
||||
</dd>
|
||||
</dl>
|
||||
|
|
@ -379,7 +402,7 @@ function SchedulesEdit(props) {
|
|||
</div>
|
||||
|
||||
<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>
|
||||
{/* <!--// 버튼영역 --> */}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue