diff --git a/src/components/flight/NewFlightApprovalsReport.js b/src/components/flight/NewFlightApprovalsReport.js
index c500b7a6..a305621c 100644
--- a/src/components/flight/NewFlightApprovalsReport.js
+++ b/src/components/flight/NewFlightApprovalsReport.js
@@ -112,9 +112,14 @@ export default function NewFlightApprovalsReport(props) {
bsSize='sm'
id='limitzoneNm'
placeholder='장애물 제한표면을 선택 해 주세요.'
- onChange={e => props.setLimitZoneNm(e.target.value)}
+ onChange={e =>
+ props.setCheckState({
+ ...props.checkState,
+ limitZoneNm: e.target.value
+ })
+ }
onKeyPress={handleKeyDown}
- value={props.limitZoneNm}
+ value={props.checkState.limitZoneNm}
>
@@ -146,13 +151,19 @@ export default function NewFlightApprovalsReport(props) {
}
value={
props.pageName === 'control'
- ? props.reviewedProcType
- : props.reviewedType
+ ? props.checkState.reviewedProcType
+ : props.checkState.reviewedType
}
onChange={e => {
props.pageName === 'control'
- ? props.setReviewedProcType(e.target.value)
- : props.setReviewedType(e.target.value);
+ ? props.setCheckState({
+ ...props.checkState,
+ reviewedProcType: e.target.value
+ })
+ : props.setCheckState({
+ ...props.checkState,
+ reviewedType: e.target.value
+ });
}}
onKeyPress={handleKeyDown}
>
@@ -186,13 +197,19 @@ export default function NewFlightApprovalsReport(props) {
}
value={
props.pageName === 'control'
- ? props.reviewedType
- : props.reviewedProcType
+ ? props.checkState.reviewedType
+ : props.checkState.reviewedProcType
}
onChange={e => {
props.pageName === 'control'
- ? props.setReviewedType(e.target.value)
- : props.setReviewedProcType(e.target.value);
+ ? props.setCheckState({
+ ...props.checkState,
+ reviewedType: e.target.value
+ })
+ : props.setCheckState({
+ ...props.checkState,
+ reviewedProcType: e.target.value
+ });
}}
onKeyPress={handleKeyDown}
>
diff --git a/src/components/flight/OperationApprovalsTable.js b/src/components/flight/OperationApprovalsTable.js
index 70c42738..a49712f0 100644
--- a/src/components/flight/OperationApprovalsTable.js
+++ b/src/components/flight/OperationApprovalsTable.js
@@ -12,12 +12,7 @@ import { ERROR_MESSAGE, ERROR_TITLE } from '@src/configs/msgConst';
import OperationModal from './OperationModal';
import ScrollContainer from 'react-indiana-drag-scroll';
import OperationCheckBoxModal from './OperationCheckBoxModal';
-import {
- CityCategories,
- DistrictCategories,
- FlightCategory,
- limitZoneNmCategories
-} from '@configs/constants';
+import { ConfirmModal } from '@component/modal/ConfirmModal';
export default function OperationApprovalsTable(props) {
const dispatch = useDispatch();
@@ -61,6 +56,15 @@ export default function OperationApprovalsTable(props) {
const [reviewedTypeValue, setReviewedTypeValue] = useState('');
+ // 확인 모달
+ const [modal, setModal] = useState({
+ isOpen: false,
+ title: '',
+ desc: '',
+ type: '',
+ row: {}
+ });
+
useEffect(() => {
let approvalCdValue = { S: 0, F: 0, C: 0, U: 0 };
@@ -102,7 +106,13 @@ export default function OperationApprovalsTable(props) {
try {
const values = await form.validateFields();
- handleSave({ ...record, ...values });
+ setModal({
+ isOpen: true,
+ title: '수정 확인',
+ desc: '데이터를 수정하시겠습니까?',
+ type: 'edit',
+ row: { ...record, ...values }
+ });
} catch (errInfo) {}
};
@@ -978,6 +988,14 @@ export default function OperationApprovalsTable(props) {
+ {modal && (
+ handleSave(modal.row)}
+ color='primary'
+ />
+ )}
) : (
diff --git a/src/containers/flight/OperationApprovalsContainer.js b/src/containers/flight/OperationApprovalsContainer.js
index 184f5376..b8e9a646 100644
--- a/src/containers/flight/OperationApprovalsContainer.js
+++ b/src/containers/flight/OperationApprovalsContainer.js
@@ -65,12 +65,12 @@ export default function OperationApprovalsContainer({ mode }) {
// 식별번호
const [filterId, setFilterId] = useState('');
- // 운항과 검토 상태값
- const [reviewedType, setReviewedType] = useState('전체');
- // 관제과 검토 상태값
- const [reviewedProcType, setReviewedProcType] = useState('전체');
-
- const [limitZoneNm, setLimitZoneNm] = useState('');
+ // 검색조건
+ const [checkState, setCheckState] = useState({
+ reviewedType: '전체',
+ reviewedProcType: '전체',
+ limitZoneNm: '전체'
+ });
// 지역
const [filterArea, setFilterArea] = useState({
@@ -282,11 +282,14 @@ export default function OperationApprovalsContainer({ mode }) {
ctprvn: filterArea.ctprvn === '전체' ? '' : filterArea.ctprvn,
sig: filterArea.sig === '전체' ? '' : filterArea.sig,
address: filterArea.address,
- limitZoneCd: limitZoneNm === '전체' ? '' : limitZoneNm,
+ limitZoneCd:
+ checkState.limitZoneNm === '전체' ? '' : checkState.limitZoneNm,
...(search !== '' ? { applyNo: search } : {}),
- ...(reviewedType !== '전체' ? { reviewedType: reviewedType } : {}),
- ...(reviewedProcType !== '전체'
- ? { reviewedProcType: reviewedProcType }
+ ...(checkState.reviewedType !== '전체'
+ ? { reviewedType: checkState.reviewedType }
+ : {}),
+ ...(checkState.reviewedProcType !== '전체'
+ ? { reviewedProcType: checkState.reviewedProcType }
: {})
})
);
@@ -909,12 +912,8 @@ export default function OperationApprovalsContainer({ mode }) {
setFilterId={setFilterId}
filterArea={filterArea}
setFilterArea={setFilterArea}
- setReviewedType={setReviewedType}
- reviewedType={reviewedType}
- reviewedProcType={reviewedProcType}
- setReviewedProcType={setReviewedProcType}
- limitZoneNm={limitZoneNm}
- setLimitZoneNm={setLimitZoneNm}
+ checkState={checkState}
+ setCheckState={setCheckState}
pageName='operation'
/>
diff --git a/src/containers/flight/popup/ControlApprovalsPopupContainer.js b/src/containers/flight/popup/ControlApprovalsPopupContainer.js
index 14e490c3..59203137 100644
--- a/src/containers/flight/popup/ControlApprovalsPopupContainer.js
+++ b/src/containers/flight/popup/ControlApprovalsPopupContainer.js
@@ -20,17 +20,12 @@ function ControlApprovalsPopupContainer() {
address: ''
});
- // 검토 상태값
- const [reviewedType, setReviewedType] = useState('전체');
- const [reviewedProcType, setReviewedProcType] = useState('전체');
-
- const [approvalCd, setApprovalCd] = useState([
- { name: '전체', value: '', select: false },
- { name: '승인', value: 'S', select: false },
- { name: '미 승인', value: 'F', select: false },
- { name: '비 대상', value: 'U', select: false },
- { name: '조건부 승인', value: 'C', select: false }
- ]);
+ // 검색 조건
+ const [checkState, setCheckState] = useState({
+ reviewedType: '전체',
+ reviewedProcType: '전체',
+ limitZoneNm: '전체'
+ });
const dispatch = useDispatch();
@@ -94,13 +89,14 @@ function ControlApprovalsPopupContainer() {
ctprvn: filterArea.ctprvn === '전체' ? '' : filterArea.ctprvn,
sig: filterArea.sig === '전체' ? '' : filterArea.sig,
address: filterArea.address,
+ limitZoneCd:
+ checkState.limitZoneNm === '전체' ? '' : checkState.limitZoneNm,
...(search !== '' ? { applyNo: search } : {}),
- ...(reviewedType !== '전체' ? { reviewedType: reviewedType } : {}),
- ...(reviewedProcType !== '전체'
- ? { reviewedProcType: reviewedProcType }
+ ...(checkState.reviewedType !== '전체'
+ ? { reviewedType: checkState.reviewedType }
: {}),
- ...(approvalCd.filter(i => i.select).length > 0
- ? { approvalCd: approvalCd.filter(i => i.select)[0].value }
+ ...(checkState.reviewedProcType !== '전체'
+ ? { reviewedProcType: checkState.reviewedProcType }
: {})
})
);
@@ -113,8 +109,9 @@ function ControlApprovalsPopupContainer() {
address: filterArea.address,
startDate: searchDate.startDate,
endDate: searchDate.endDate,
- reviewedType,
- reviewedProcType
+ reviewedType: checkState.reviewedType,
+ reviewedProcType: checkState.reviewedProcType,
+ limitZoneNm: checkState.limitZoneNm
})
);
handlerOpnerPostMessage('search', { search, searchDate, filterArea });
@@ -166,12 +163,9 @@ function ControlApprovalsPopupContainer() {
setFilterId={setFilterId}
filterArea={filterArea}
setFilterArea={setFilterArea}
- reviewedType={reviewedType}
- setReviewedType={setReviewedType}
- approvalCd={approvalCd}
- reviewedProcType={reviewedProcType}
- setReviewedProcType={setReviewedProcType}
handlerApprovalCd={handlerApprovalCd}
+ checkState={checkState}
+ setCheckState={setCheckState}
pageName='control'
/>
{
- switch (text) {
- case '검토완료':
- return 'R';
- case '검토대기':
- return 'W';
- case '검토불필요':
- return 'U';
- case '검토요청':
- return 'Q';
- case '검토재요청':
- return 'A';
- case '검토요청취소':
- return 'C';
- }
- };
-
const handlerSearch = (search, searchDate, filterArea) => {
setStartDate(searchDate.startDate);
setEndDate(searchDate.endDate);
@@ -136,13 +113,14 @@ function OperationApprovalsPopupContainer() {
ctprvn: filterArea.ctprvn === '전체' ? '' : filterArea.ctprvn,
sig: filterArea.sig === '전체' ? '' : filterArea.sig,
address: filterArea.address,
+ limitZoneCd:
+ checkState.limitZoneNm === '전체' ? '' : checkState.limitZoneNm,
...(search !== '' ? { applyNo: search } : {}),
- ...(reviewedType !== '전체' ? { reviewedType: reviewedType } : {}),
- ...(reviewedProcType !== '전체'
- ? { reviewedProcType: reviewedProcType }
+ ...(checkState.reviewedType !== '전체'
+ ? { reviewedType: checkState.reviewedType }
: {}),
- ...(approvalCd.filter(i => i.select).length > 0
- ? { approvalCd: approvalCd.filter(i => i.select)[0].value }
+ ...(checkState.reviewedProcType !== '전체'
+ ? { reviewedProcType: checkState.reviewedProcType }
: {})
})
);
@@ -155,8 +133,9 @@ function OperationApprovalsPopupContainer() {
address: filterArea.address,
startDate: searchDate.startDate,
endDate: searchDate.endDate,
- reviewedType,
- reviewedProcType
+ reviewedType: checkState.reviewedType,
+ reviewedProcType: checkState.reviewedProcType,
+ limitZoneNm: checkState.limitZoneNm
})
);
handlerOpnerPostMessage('search', { search, searchDate, filterArea });
@@ -219,11 +198,8 @@ function OperationApprovalsPopupContainer() {
setFilterId={setFilterId}
filterArea={filterArea}
setFilterArea={setFilterArea}
- reviewedType={reviewedType}
- setReviewedType={setReviewedType}
- approvalCd={approvalCd}
- reviewedProcType={reviewedProcType}
- setReviewedProcType={setReviewedProcType}
+ checkState={checkState}
+ setCheckState={setCheckState}
handlerApprovalCd={handlerApprovalCd}
pageName='operation'
/>