diff --git a/src/containers/basis/flight/aprv/FlightPlanAprvContainer.js b/src/containers/basis/flight/aprv/FlightPlanAprvContainer.js
index 3fed6b5..6d299bf 100644
--- a/src/containers/basis/flight/aprv/FlightPlanAprvContainer.js
+++ b/src/containers/basis/flight/aprv/FlightPlanAprvContainer.js
@@ -1,32 +1,37 @@
-import React, {useEffect, useState} from 'react';
-import {Col, Row, Button} from 'reactstrap';
-import {CustomMainLayout} from '../../../../components/layout/CustomMainLayout';
+import React, { useEffect, useState } from 'react';
+import { Col, Row, Button } from 'reactstrap';
+import { CustomMainLayout } from '../../../../components/layout/CustomMainLayout';
import moment from 'moment/moment';
import FlightPlanAprvSearch from '../../../../components/basis/flight/aprv/FlightPlanAprvSearch';
import FlightPlanAprvGrid from '../../../../components/basis/flight/aprv/FlightPlanAprvGrid';
import FlightPlanGrid from '../../../../components/basis/flight/plan/FlightPlanGrid';
-import {useDispatch, useSelector, shallowEqual} from 'react-redux';
+import { useDispatch, useSelector, shallowEqual } from 'react-redux';
import * as FlightAction from '../../../../modules/basis/flight/actions/basisFlightAction';
-import {useHistory} from 'react-router-dom';
+import { useHistory } from 'react-router-dom';
import FlightPlanGroupGrid from '../../../../components/basis/flight/plan/FlightPlanGroupGrid';
import { JOIN_LIST } from '../../../../modules/basis/group/actions/basisGroupAction';
-import { Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap'
+import { Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap';
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,
+ 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 FlightPlanAprvContainer = () => {
const dispatch = useDispatch();
const history = useHistory();
const [searchData, setSearchData] = useState(initSearchData);
const [selPlanSnoList, setSelPlanSnoList] = useState([]);
- const {list: aprvList, aprvProc, selectGroup} = useSelector(state => state.flightState);
+ const { aprvList, aprvProc, selectGroup } = useSelector(
+ state => state.flightState
+ );
const { joinList, joinListCount } = useSelector(state => state.groupState);
const { user } = useSelector(state => state.authState, shallowEqual);
const [modal, setModal] = useState({
@@ -34,121 +39,153 @@ const FlightPlanAprvContainer = () => {
title: '',
desc: '',
color: ''
- })
+ });
- const handleGroupSelect = ({ groupId, groupNm, groupAuthCd }) => {
- // 권한 상관 없이 모두 조회 가능
- const param = searchData;
+ const handleGroupSelect = ({ groupId, groupNm, groupAuthCd }) => {
+ // 권한 상관 없이 모두 조회 가능
+ const param = searchData;
- param.cstmrSno = user.cstmrSno;
- param.groupId = groupId;
+ param.cstmrSno = user.cstmrSno;
+ param.groupId = groupId;
- dispatch(FlightAction.FLIGHT_PLAN_GROUP_SELECT( {cstmrSno: user.cstmrSno, groupId: groupId, groupNm: groupNm} ));
+ 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);
+ // groupId sessionStorage에 보관 (1 브라우저 1 tab에만 유효)
+ sessionStorage.setItem('groupId', groupId);
+ sessionStorage.setItem('cstmrSno', user.cstmrSno);
- setSearchData(prevState => {
- return {
- ...prevState,
- cstmrSno: user.cstmrSno,
- groupId: groupId
- }
- });
+ setSearchData(prevState => {
+ return {
+ ...prevState,
+ cstmrSno: user.cstmrSno,
+ groupId: groupId
+ };
+ });
- dispatch(FlightAction.FLIGHT_PLAN_LIST.request(param));
- }
+ dispatch(FlightAction.FLIGHT_PLAN_LIST.request(param));
+ };
- const handlerGroupCancel = () => {
- dispatch(FlightAction.FLIGHT_PLAN_GROUP_SELECT( {cstmrSno: 0, groupId: '', groupNm: ''} ));
- }
-
- const handleMoveDetail = (id) => {
- history.push(`/basis/flight/plan/detail/${id}`)
- }
-
- const columns = [
- {id: 'planSno', name: '번호', cell: (row, i) => (
{i + 1}
)},
- {id: 'fltPurpose', name: '비행목적', cell: row => ({row.fltPurpose}
)},
- {
- id: 'fltMethod', name: '비행방식', cell: row => {
- const displayName = row.areaList && row.areaList.length > 0 && row.areaList[0].fltMethod || '-';
- return {displayName}
- }
- },
- {id: 'schFltStDt', name: '출발일', cell: row => ({row.schFltStDt}
)},
- {id: 'aprvlYn', name: '승인여부', cell: row => ({row.aprvlYn}
)},
- {
- id: 'moveDetail', name: '상세보기', cell: row => {
- return {
- handleMoveDetail(row.planSno)}
- }>상세;
- }
- }
- ];
-
- // 최초 비행계획서 목록 조회
- useEffect(() => {
-
- handleSearch(searchData);
- }, [])
- useEffect(() => {
- if (user?.cstmrSno) {
- dispatch(
- JOIN_LIST.request({
- cstmrSno: user?.cstmrSno
- })
- );
- }
- }, [user])
- useEffect(() => {
- if (aprvProc && aprvProc.result > 0) {
- handleSearch(searchData);
- }
- }, [aprvProc])
+ const handlerGroupCancel = () => {
+ dispatch(
+ FlightAction.FLIGHT_PLAN_GROUP_SELECT({
+ cstmrSno: 0,
+ groupId: '',
+ groupNm: ''
+ })
+ );
+ };
+ const handleMoveDetail = id => {
+ history.push(`/basis/flight/plan/detail/${id}`);
+ };
- const handleSearch = (data) => {
- dispatch(FlightAction.FLIGHT_APRV_LIST.request(data));
+ const columns = [
+ { id: 'planSno', name: '번호', cell: (row, i) => {i + 1}
},
+ {
+ id: 'fltPurpose',
+ name: '비행목적',
+ cell: row => {row.fltPurpose}
+ },
+ {
+ id: 'fltMethod',
+ name: '비행방식',
+ cell: row => {
+ const displayName =
+ (row.areaList &&
+ row.areaList.length > 0 &&
+ row.areaList[0].fltMethod) ||
+ '-';
+ return {displayName}
;
+ }
+ },
+ {
+ id: 'schFltStDt',
+ name: '출발일',
+ cell: row => {row.schFltStDt}
+ },
+ { id: 'aprvlYn', name: '승인여부', cell: row => {row.aprvlYn}
},
+ {
+ id: 'moveDetail',
+ name: '상세보기',
+ cell: row => {
+ return (
+ {
+ handleMoveDetail(row.planSno);
+ }}
+ >
+ 상세
+
+ );
+ }
}
- const handleChangeSearchData = (values) => {
- setSearchData(prevState => ({
- ...prevState,
- ...values
- }))
+ ];
+
+ // 최초 비행계획서 목록 조회
+ useEffect(() => {
+ // handleSearch(searchData);
+ }, []);
+ useEffect(() => {
+ if (user?.cstmrSno) {
+ dispatch(
+ JOIN_LIST.request({
+ cstmrSno: user?.cstmrSno
+ })
+ );
}
- const handleChangeSelected = ({selectedRows}) => {
- setSelPlanSnoList(selectedRows.map(item => item.planSno))
+ }, [user]);
+ useEffect(() => {
+ if (aprvProc && aprvProc.result > 0) {
+ handleSearch(searchData);
}
- const handleClickAprv = (type) => (e) => {
- // notAprov, aprv
- // console.log(type, selPlanSnoList, e)
- if (!selPlanSnoList || selPlanSnoList.length < 1) {
- // alert('비행계획서를 선택해주세요.');
- // return;
- setModal({
- isOpen: true,
- title: '비행 계획 승인',
- desc: '비행계획서를 선택해주세요.',
- color: 'modal-danger'
- })
- return;
-
- }
- ;
- const sendData = {
- planSnoList: [...selPlanSnoList],
- aprvlYn: type === 'aprv' ? 'Y' : 'N'
- }
- dispatch(FlightAction.FLIGHT_APRV_PROC.request(sendData));
+ }, [aprvProc]);
+
+ const handleSearch = data => {
+ dispatch(FlightAction.FLIGHT_APRV_LIST.request(data));
+ };
+ const handleChangeSearchData = values => {
+ setSearchData(prevState => ({
+ ...prevState,
+ ...values
+ }));
+ };
+ const handleChangeSelected = ({ selectedRows }) => {
+ setSelPlanSnoList(selectedRows.map(item => item.planSno));
+ };
+ const handleClickAprv = type => e => {
+ // notAprov, aprv
+ // console.log(type, selPlanSnoList, e)
+ if (!selPlanSnoList || selPlanSnoList.length < 1) {
+ // alert('비행계획서를 선택해주세요.');
+ // return;
+ setModal({
+ isOpen: true,
+ title: '비행 계획 승인',
+ desc: '비행계획서를 선택해주세요.',
+ color: 'modal-danger'
+ });
+ return;
}
+ const sendData = {
+ planSnoList: [...selPlanSnoList],
+ aprvlYn: type === 'aprv' ? 'Y' : 'N'
+ };
+ dispatch(FlightAction.FLIGHT_APRV_PROC.request(sendData));
+ };
- return (
-
-
-
- {/*
+ return (
+
+
+
+ {/*
{
handleClickAprv={handleClickAprv}
/>
*/}
-
-
-
-
- {selectGroup.cstmrSno !==0 ? (
- <>
-
-
- >
- ) : (
-
- 나의 그룹 목록에서 상세보기를 클릭하세요.
-
- )}
-
-
-
-
-
- setModal({ ...modal, isOpen: !modal.isOpen })}
- modalClassName={modal.color}
- className='modal-dialog-centered'
- >
- setModal({ ...modal, isOpen: !modal.isOpen })}
- >
- {modal.title}
-
- {modal.desc}
-
- {' '}
-
-
-
-
-
-
-
- )
-}
+
+
+
+
+ {selectGroup.cstmrSno !== 0 ? (
+ <>
+ {console.log(searchData)}
+
+
+ >
+ ) : (
+
+ 나의 그룹 목록에서 상세보기를 클릭하세요.
+
+ )}
+
+
+
+
+
+ setModal({ ...modal, isOpen: !modal.isOpen })}
+ modalClassName={modal.color}
+ className='modal-dialog-centered'
+ >
+ setModal({ ...modal, isOpen: !modal.isOpen })}
+ >
+ {modal.title}
+
+ {modal.desc}
+
+ {' '}
+
+
+
+
+ );
+};
export default FlightPlanAprvContainer;
diff --git a/src/modules/basis/flight/reducers/basisFlightReducer.ts b/src/modules/basis/flight/reducers/basisFlightReducer.ts
index 0a5b96a..3667bfd 100644
--- a/src/modules/basis/flight/reducers/basisFlightReducer.ts
+++ b/src/modules/basis/flight/reducers/basisFlightReducer.ts
@@ -2,11 +2,16 @@ import { createReducer } from 'typesafe-actions';
import produce from 'immer';
import * as Actions from '../actions/basisFlightAction';
-import { FlightState, initFlight, initFlightBas } from '../models/basisFlightModel';
+import {
+ FlightState,
+ initFlight,
+ initFlightBas
+} from '../models/basisFlightModel';
import { any } from 'prop-types';
-
-export const flightReducer = createReducer(initFlight)
+export const flightReducer = createReducer(
+ initFlight
+)
.handleAction(Actions.PUBLIC_AREA_LIST.success, (state, action) =>
produce(state, draft => {
const { data } = action.payload;
@@ -23,7 +28,7 @@ export const flightReducer = createReducer(in
.handleAction(Actions.FLIGHT_PLAN_LIST.success, (state, action) =>
produce(state, draft => {
const data = action.payload;
- draft.list = data;
+ draft.aprvList = data;
})
)
// 상세
@@ -35,7 +40,7 @@ export const flightReducer = createReducer(in
)
.handleAction(Actions.FLIGHT_PLAN_DETAIL_INIT, (state, action) =>
produce(state, draft => {
- draft.detail = initFlightBas.initDetail
+ draft.detail = initFlightBas.initDetail;
})
)
// 조종사 조회
@@ -124,4 +129,4 @@ export const flightReducer = createReducer(in
const data = action.payload;
draft.aprvProc = data;
})
- )
+ );