diff --git a/src/containers/analysis/history/AnalysisHistoryContainer.js b/src/containers/analysis/history/AnalysisHistoryContainer.js index 65eac2c8..6f7587c8 100644 --- a/src/containers/analysis/history/AnalysisHistoryContainer.js +++ b/src/containers/analysis/history/AnalysisHistoryContainer.js @@ -1,16 +1,88 @@ import moment from 'moment'; import { useEffect, useState } from 'react'; -import { useDispatch, useSelector } from 'react-redux'; +import { useDispatch, useSelector, shallowEqual } from 'react-redux'; import { Link } from 'react-router-dom'; import { AnalysisHistoryGrid } from '../../../components/analysis/history/AnalysisHistoryGrid'; import { AnalysisHistorySearch } from '../../../components/analysis/history/AnalysisHistorySearch'; import { CustomMainLayout } from '../../../components/layout/CustomMainLayout'; import * as Actions from '../../../modules/analysis/history/actions/analysisHistoryAction'; +import FlightPlanGroupGrid from '../../../components/basis/flight/plan/FlightPlanGroupGrid'; +import { JOIN_LIST } from '../../../modules/basis/group/actions/basisGroupAction'; +import { Col, Row, Button } from 'reactstrap'; +import * as FlightAction from '../../../modules/basis/flight/actions/basisFlightAction'; +import FlightPlanAprvSearch from '../../../components/basis/flight/aprv/FlightPlanAprvSearch'; +import FlightPlanAprvGrid from '../../../components/basis/flight/aprv/FlightPlanAprvGrid'; +import {useHistory} from 'react-router-dom'; + export const AnalysisHistoryContainer = props => { const { data, count, searchParams } = useSelector( state => state.analysisHistoryState ); + const initSearchData = { + schFltStDt: moment().set({ 'date': 1, 'h': 0, 'm': 0, 's': 0 }).format('YYYY-MM-DD HH:mm:ss'), + schFltEndDt: moment().set({ 'h': 23, 'm': 59, 's': 59 }).format('YYYY-MM-DD HH:mm:ss'), + aprvlYn: 'N', + groupId: '', + cstmrSno: 0, + }; + + const history = useHistory(); + const [searchData, setSearchData] = useState(initSearchData); + const [selPlanSnoList, setSelPlanSnoList] = useState([]); + const {list: aprvList, aprvProc, selectGroup} = useSelector(state => state.flightState); + const { joinList, joinListCount } = useSelector(state => state.groupState); + const { user } = useSelector(state => state.authState, shallowEqual); + + const handleGroupSelect = ({ groupId, groupNm, groupAuthCd }) => { + // 권한 상관 없이 모두 조회 가능 + const param = searchData; + param.cstmrSno = user.cstmrSno; + param.groupId = groupId; + + dispatch(FlightAction.FLIGHT_PLAN_GROUP_SELECT({ cstmrSno: user.cstmrSno, groupId: groupId, groupNm: groupNm })); + + // groupId sessionStorage에 보관 (1 브라우저 1 tab에만 유효) + sessionStorage.setItem('groupId', groupId); + sessionStorage.setItem('cstmrSno', user.cstmrSno); + + setSearchData(prevState => { + return { + ...prevState, + cstmrSno: user.cstmrSno, + groupId: groupId + } + }); + + dispatch(FlightAction.FLIGHT_PLAN_LIST.request(param)); + } + + const handlerGroupCancel = () => { + dispatch(FlightAction.FLIGHT_PLAN_GROUP_SELECT({ cstmrSno: 0, groupId: '', groupNm: '' })); + } + const handleSearch = (data) => { + dispatch(FlightAction.FLIGHT_APRV_LIST.request(data)); + } + const handleChangeSelected = ({ selectedRows }) => { + setSelPlanSnoList(selectedRows.map(item => item.planSno)) + } + + + // 최초 비행계획서 목록 조회 + useEffect(() => { + handleSearch(searchData); + }, []) + + useEffect(() => { + if (user?.cstmrSno) { + dispatch( + JOIN_LIST.request({ + cstmrSno: user?.cstmrSno + }) + ); + } + }, [user]) + const dispatch = useDispatch(); @@ -149,7 +221,7 @@ export const AnalysisHistoryContainer = props => { } }; - useEffect(() => {}, [params]); + useEffect(() => { }, [params]); const handlerSearch = () => { dispatch(Actions.list.request({ searchParams: params })); @@ -169,24 +241,59 @@ export const AnalysisHistoryContainer = props => { } } }; - return ( + - - + + + + + + {selectGroup.cstmrSno !== 0 ? ( + <> + + + + ) : ( +
+ 나의 그룹 목록에서 상세보기를 클릭하세요. +
+ )} + + + + {selectGroup.cstmrSno !== 0 ? ( + <> + + + + ) : ( +
+ 나의 그룹 목록에서 상세보기를 클릭하세요. +
+ )} + + +
); }; diff --git a/src/containers/basis/flight/aprv/FlightPlanAprvContainer.js b/src/containers/basis/flight/aprv/FlightPlanAprvContainer.js index 0fba08a9..f37f4da8 100644 --- a/src/containers/basis/flight/aprv/FlightPlanAprvContainer.js +++ b/src/containers/basis/flight/aprv/FlightPlanAprvContainer.js @@ -187,7 +187,6 @@ const FlightPlanAprvContainer = () => {