Browse Source

비행승인 신청 검토결과 현황 팝업 데이터 동기화

master
김장현 2 months ago
parent
commit
2b866bbc34
  1. 22
      src/components/flight/NewFlightApprovalsReport.js
  2. 18
      src/containers/flight/ControlApprovalsContainer.js
  3. 17
      src/containers/flight/OperationApprovalsContainer.js
  4. 26
      src/containers/flight/popup/OperationApprovalsPopupContainer.js

22
src/components/flight/NewFlightApprovalsReport.js

@ -1,4 +1,4 @@
import { useState, useEffect } from 'react';
import { useState, useEffect, useRef } from 'react';
import Flatpickr from 'react-flatpickr';
import { Button, Input, CustomInput, Col, Row } from '@component/ui';
import { Search, Calendar } from 'react-feather';
@ -12,7 +12,8 @@ export default function NewFlightApprovalsReport(props) {
startDate: dayjs().format('YYYY-MM-DD'),
endDate: dayjs().format('YYYY-MM-DD')
});
const location = useLocation();
const flatPickerRef = useRef(null);
useEffect(() => {
const popupSyncSearchData = JSON.parse(localStorage.getItem('popupState'));
@ -24,10 +25,11 @@ export default function NewFlightApprovalsReport(props) {
address: popupSyncSearchData.address
});
props.setFilterId(popupSyncSearchData.filter);
setSearchDate({
startDate: popupSyncSearchData.startDate,
endDate: popupSyncSearchData.endDate
});
flatPickerRef.current.flatpickr.setDate(
[popupSyncSearchData.startDate, popupSyncSearchData.endDate],
true
);
localStorage.removeItem('popupState');
}
}, []);
@ -51,6 +53,7 @@ export default function NewFlightApprovalsReport(props) {
<div className='list-input'>
<div className='calendar-flat'>
<Flatpickr
ref={flatPickerRef}
placeholder='날짜를 선택해주세요'
id='searchDate'
options={{
@ -146,13 +149,14 @@ export default function NewFlightApprovalsReport(props) {
<div className='list-input list-input-btn'>
<Button
color='primary'
onClick={() =>
onClick={() => {
console.log(searchDate);
props.handlerSearch(
props.filterId,
searchDate,
props.filterArea
)
}
);
}}
size='sm'
>
검색

18
src/containers/flight/ControlApprovalsContainer.js

@ -122,18 +122,6 @@ export default function ControlApprovalsContainer({ mode }) {
const { payload } = e.data;
console.log(payload);
switch (type) {
case 'initalState':
popupRef.current.postMessage({
type: 'initalState',
payload: {
filter,
selected,
startDate,
endDate
}
});
return;
case 'search':
const { search, searchDate, filterArea } = payload;
@ -293,12 +281,6 @@ export default function ControlApprovalsContainer({ mode }) {
}
// );
setFilter(search);
if (isPopup) {
popupRef.current.postMessage({
type: 'handlerSearchRs',
payload: { search }
});
}
};
const handlerDetail = area => {

17
src/containers/flight/OperationApprovalsContainer.js

@ -166,17 +166,6 @@ export default function OperationApprovalsContainer({ mode }) {
const { payload } = e.data;
// console.log(payload);
switch (type) {
case 'initalState':
popupRef.current.postMessage({
type: 'initalState',
payload: {
filter,
selected,
startDate,
endDate
}
});
return;
case 'search':
const { search, searchDate, filterArea } = payload;
@ -337,12 +326,6 @@ export default function OperationApprovalsContainer({ mode }) {
}
// );
setFilter(search);
if (isPopup) {
popupRef.current.postMessage({
type: 'handlerSearchRs',
payload: { search }
});
}
};
//현재 선택한 sno 및 areacoordList 저장

26
src/containers/flight/popup/OperationApprovalsPopupContainer.js

@ -24,7 +24,7 @@ function OperationApprovalsPopupContainer() {
const dispatch = useDispatch();
useEffect(() => {
handlerOpnerPostMessage('initalState', null);
// handlerOpnerPostMessage('initalState', null);
window.addEventListener('message', opnerMessage);
return () => {
@ -32,19 +32,22 @@ function OperationApprovalsPopupContainer() {
};
}, []);
// 부모창에서 보내는 메세지
const opnerMessage = e => {
const { type } = e.data;
const { payload } = e.data;
switch (type) {
case 'initalState':
setFilter(payload.filter);
setSelected([payload.selected]);
setSelectedPlanSno(payload.selectedPlanSno);
setStartDate(payload.startDate);
setEndDate(payload.endDate);
return;
// case 'initalState':
// setFilterId(payload.filterId);
// // setFilterArea(payload.filterArea);
// setFilter(payload.filter);
// setSelected([payload.selected]);
// setSelectedPlanSno(payload.selectedPlanSno);
// setStartDate(payload.startDate);
// setEndDate(payload.endDate);
// return;
case 'matchingRow':
handlerMatchingRow(payload.selected, payload.targetValue);
@ -72,6 +75,7 @@ function OperationApprovalsPopupContainer() {
}
};
// 부모에게 보내는 메세지
const handlerOpnerPostMessage = (type, payload) => {
switch (type) {
case 'initalState':
@ -175,10 +179,6 @@ function OperationApprovalsPopupContainer() {
handlerOpnerPostMessage('detail', { area });
};
const handleBeforeUnload = () => {
handlerOpnerPostMessage('closedSync', '');
};
return (
<div className='right-menu active'>
<div

Loading…
Cancel
Save