|
|
@ -23,8 +23,17 @@ import { setLogout } from '@src/redux/features/account/auth/authThunk'; |
|
|
|
import logo from '../../assets/images/logo/kac_logo_ icon.svg'; |
|
|
|
import logo from '../../assets/images/logo/kac_logo_ icon.svg'; |
|
|
|
import { AiOutlinePoweroff } from 'react-icons/ai'; |
|
|
|
import { AiOutlinePoweroff } from 'react-icons/ai'; |
|
|
|
import WebsocketClient from '../../components/websocket/WebsocketClient'; |
|
|
|
import WebsocketClient from '../../components/websocket/WebsocketClient'; |
|
|
|
import { Card, ButtonGroup, Button, Modal, ModalHeader, ModalBody, ModalFooter, Table } from '@component/ui'; |
|
|
|
import { |
|
|
|
import { FiUsers, FiFileText } from "react-icons/fi"; |
|
|
|
Card, |
|
|
|
|
|
|
|
ButtonGroup, |
|
|
|
|
|
|
|
Button, |
|
|
|
|
|
|
|
Modal, |
|
|
|
|
|
|
|
ModalHeader, |
|
|
|
|
|
|
|
ModalBody, |
|
|
|
|
|
|
|
ModalFooter, |
|
|
|
|
|
|
|
Table |
|
|
|
|
|
|
|
} from '@component/ui'; |
|
|
|
|
|
|
|
import { FiUsers, FiFileText } from 'react-icons/fi'; |
|
|
|
|
|
|
|
|
|
|
|
export default function NewFlightApprovalsContainer({ mode }) { |
|
|
|
export default function NewFlightApprovalsContainer({ mode }) { |
|
|
|
const dispatch = useDispatch(); |
|
|
|
const dispatch = useDispatch(); |
|
|
@ -37,7 +46,7 @@ export default function NewFlightApprovalsContainer({ mode }) { |
|
|
|
const [filter, setFilter] = useState(''); |
|
|
|
const [filter, setFilter] = useState(''); |
|
|
|
// 지도
|
|
|
|
// 지도
|
|
|
|
const [mapObject, setMapObject] = useState(); |
|
|
|
const [mapObject, setMapObject] = useState(); |
|
|
|
const [mapType, setMapType] = useMapType(); |
|
|
|
const [setMapType] = useMapType(); |
|
|
|
const { areaCoordList, isOpenModal } = useSelector(state => state.laancState); |
|
|
|
const { areaCoordList, isOpenModal } = useSelector(state => state.laancState); |
|
|
|
|
|
|
|
|
|
|
|
const [startDate, setStartDate] = useState(dayjs().format('YYYY-MM-DD')); |
|
|
|
const [startDate, setStartDate] = useState(dayjs().format('YYYY-MM-DD')); |
|
|
@ -54,7 +63,7 @@ export default function NewFlightApprovalsContainer({ mode }) { |
|
|
|
// 미니맵 레이어
|
|
|
|
// 미니맵 레이어
|
|
|
|
const [previewLayer, setPreviewLayer] = useState(); |
|
|
|
const [previewLayer, setPreviewLayer] = useState(); |
|
|
|
|
|
|
|
|
|
|
|
const map = useSelector(state => state.mapState.map); |
|
|
|
const { map, mapType } = useSelector(state => state.mapState); |
|
|
|
|
|
|
|
|
|
|
|
// popup
|
|
|
|
// popup
|
|
|
|
const [isPopup, setIsPopup] = useState(false); |
|
|
|
const [isPopup, setIsPopup] = useState(false); |
|
|
@ -360,7 +369,10 @@ export default function NewFlightApprovalsContainer({ mode }) { |
|
|
|
</ModalHeader> |
|
|
|
</ModalHeader> |
|
|
|
<ModalBody className='onestop-validation'> |
|
|
|
<ModalBody className='onestop-validation'> |
|
|
|
<div className='pal-table-warp'> |
|
|
|
<div className='pal-table-warp'> |
|
|
|
<h5 className='table-ti'><FiFileText />기체 정보</h5> |
|
|
|
<h5 className='table-ti'> |
|
|
|
|
|
|
|
<FiFileText /> |
|
|
|
|
|
|
|
기체 정보 |
|
|
|
|
|
|
|
</h5> |
|
|
|
<div className='pal-table'> |
|
|
|
<div className='pal-table'> |
|
|
|
<Table responsive> |
|
|
|
<Table responsive> |
|
|
|
<thead> |
|
|
|
<thead> |
|
|
@ -376,7 +388,9 @@ export default function NewFlightApprovalsContainer({ mode }) { |
|
|
|
<tbody> |
|
|
|
<tbody> |
|
|
|
<tr> |
|
|
|
<tr> |
|
|
|
<td width='80'>1</td> |
|
|
|
<td width='80'>1</td> |
|
|
|
<td width='120' className='success'>성공</td> |
|
|
|
<td width='120' className='success'> |
|
|
|
|
|
|
|
성공 |
|
|
|
|
|
|
|
</td> |
|
|
|
<td>163CGBEROA529Y</td> |
|
|
|
<td>163CGBEROA529Y</td> |
|
|
|
<td>영리</td> |
|
|
|
<td>영리</td> |
|
|
|
<td>25kg이하</td> |
|
|
|
<td>25kg이하</td> |
|
|
@ -384,7 +398,9 @@ export default function NewFlightApprovalsContainer({ mode }) { |
|
|
|
</tr> |
|
|
|
</tr> |
|
|
|
<tr> |
|
|
|
<tr> |
|
|
|
<td width='80'>2</td> |
|
|
|
<td width='80'>2</td> |
|
|
|
<td width='120' className='fail'>실패</td> |
|
|
|
<td width='120' className='fail'> |
|
|
|
|
|
|
|
실패 |
|
|
|
|
|
|
|
</td> |
|
|
|
<td>163CGBEROA529Y</td> |
|
|
|
<td>163CGBEROA529Y</td> |
|
|
|
<td>영리</td> |
|
|
|
<td>영리</td> |
|
|
|
<td>25kg이하</td> |
|
|
|
<td>25kg이하</td> |
|
|
@ -392,7 +408,9 @@ export default function NewFlightApprovalsContainer({ mode }) { |
|
|
|
</tr> |
|
|
|
</tr> |
|
|
|
<tr> |
|
|
|
<tr> |
|
|
|
<td width='80'>2</td> |
|
|
|
<td width='80'>2</td> |
|
|
|
<td width='120' className='fail'>실패</td> |
|
|
|
<td width='120' className='fail'> |
|
|
|
|
|
|
|
실패 |
|
|
|
|
|
|
|
</td> |
|
|
|
<td>163CGBEROA529Y</td> |
|
|
|
<td>163CGBEROA529Y</td> |
|
|
|
<td>영리</td> |
|
|
|
<td>영리</td> |
|
|
|
<td>25kg이하</td> |
|
|
|
<td>25kg이하</td> |
|
|
@ -400,7 +418,9 @@ export default function NewFlightApprovalsContainer({ mode }) { |
|
|
|
</tr> |
|
|
|
</tr> |
|
|
|
<tr> |
|
|
|
<tr> |
|
|
|
<td width='80'>2</td> |
|
|
|
<td width='80'>2</td> |
|
|
|
<td width='120' className='fail'>실패</td> |
|
|
|
<td width='120' className='fail'> |
|
|
|
|
|
|
|
실패 |
|
|
|
|
|
|
|
</td> |
|
|
|
<td>163CGBEROA529Y</td> |
|
|
|
<td>163CGBEROA529Y</td> |
|
|
|
<td>영리</td> |
|
|
|
<td>영리</td> |
|
|
|
<td>25kg이하</td> |
|
|
|
<td>25kg이하</td> |
|
|
@ -408,7 +428,9 @@ export default function NewFlightApprovalsContainer({ mode }) { |
|
|
|
</tr> |
|
|
|
</tr> |
|
|
|
<tr> |
|
|
|
<tr> |
|
|
|
<td width='80'>2</td> |
|
|
|
<td width='80'>2</td> |
|
|
|
<td width='120' className='fail'>실패</td> |
|
|
|
<td width='120' className='fail'> |
|
|
|
|
|
|
|
실패 |
|
|
|
|
|
|
|
</td> |
|
|
|
<td>163CGBEROA529Y</td> |
|
|
|
<td>163CGBEROA529Y</td> |
|
|
|
<td>영리</td> |
|
|
|
<td>영리</td> |
|
|
|
<td>25kg이하</td> |
|
|
|
<td>25kg이하</td> |
|
|
@ -416,7 +438,9 @@ export default function NewFlightApprovalsContainer({ mode }) { |
|
|
|
</tr> |
|
|
|
</tr> |
|
|
|
<tr> |
|
|
|
<tr> |
|
|
|
<td width='80'>2</td> |
|
|
|
<td width='80'>2</td> |
|
|
|
<td width='120' className='fail'>실패</td> |
|
|
|
<td width='120' className='fail'> |
|
|
|
|
|
|
|
실패 |
|
|
|
|
|
|
|
</td> |
|
|
|
<td>163CGBEROA529Y</td> |
|
|
|
<td>163CGBEROA529Y</td> |
|
|
|
<td>영리</td> |
|
|
|
<td>영리</td> |
|
|
|
<td>25kg이하</td> |
|
|
|
<td>25kg이하</td> |
|
|
@ -424,7 +448,9 @@ export default function NewFlightApprovalsContainer({ mode }) { |
|
|
|
</tr> |
|
|
|
</tr> |
|
|
|
<tr> |
|
|
|
<tr> |
|
|
|
<td width='80'>2</td> |
|
|
|
<td width='80'>2</td> |
|
|
|
<td width='120' className='fail'>실패</td> |
|
|
|
<td width='120' className='fail'> |
|
|
|
|
|
|
|
실패 |
|
|
|
|
|
|
|
</td> |
|
|
|
<td>163CGBEROA529Y</td> |
|
|
|
<td>163CGBEROA529Y</td> |
|
|
|
<td>영리</td> |
|
|
|
<td>영리</td> |
|
|
|
<td>25kg이하</td> |
|
|
|
<td>25kg이하</td> |
|
|
@ -435,7 +461,10 @@ export default function NewFlightApprovalsContainer({ mode }) { |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div className='pal-table-warp'> |
|
|
|
<div className='pal-table-warp'> |
|
|
|
<h5 className='table-ti'><FiUsers/>조종자 정보</h5> |
|
|
|
<h5 className='table-ti'> |
|
|
|
|
|
|
|
<FiUsers /> |
|
|
|
|
|
|
|
조종자 정보 |
|
|
|
|
|
|
|
</h5> |
|
|
|
<div className='pal-table'> |
|
|
|
<div className='pal-table'> |
|
|
|
<Table> |
|
|
|
<Table> |
|
|
|
<thead> |
|
|
|
<thead> |
|
|
@ -451,7 +480,9 @@ export default function NewFlightApprovalsContainer({ mode }) { |
|
|
|
<tbody> |
|
|
|
<tbody> |
|
|
|
<tr> |
|
|
|
<tr> |
|
|
|
<td width='80'>1</td> |
|
|
|
<td width='80'>1</td> |
|
|
|
<td width='120' className='success'>성공</td> |
|
|
|
<td width='120' className='success'> |
|
|
|
|
|
|
|
성공 |
|
|
|
|
|
|
|
</td> |
|
|
|
<td>홍*동</td> |
|
|
|
<td>홍*동</td> |
|
|
|
<td>1995****</td> |
|
|
|
<td>1995****</td> |
|
|
|
<td>91-****12</td> |
|
|
|
<td>91-****12</td> |
|
|
@ -459,7 +490,9 @@ export default function NewFlightApprovalsContainer({ mode }) { |
|
|
|
</tr> |
|
|
|
</tr> |
|
|
|
<tr> |
|
|
|
<tr> |
|
|
|
<td width='80'>2</td> |
|
|
|
<td width='80'>2</td> |
|
|
|
<td width='120' className='fail'>실패</td> |
|
|
|
<td width='120' className='fail'> |
|
|
|
|
|
|
|
실패 |
|
|
|
|
|
|
|
</td> |
|
|
|
<td>김*혜</td> |
|
|
|
<td>김*혜</td> |
|
|
|
<td>1995****</td> |
|
|
|
<td>1995****</td> |
|
|
|
<td>91-****12</td> |
|
|
|
<td>91-****12</td> |
|
|
@ -467,7 +500,9 @@ export default function NewFlightApprovalsContainer({ mode }) { |
|
|
|
</tr> |
|
|
|
</tr> |
|
|
|
<tr> |
|
|
|
<tr> |
|
|
|
<td width='80'>2</td> |
|
|
|
<td width='80'>2</td> |
|
|
|
<td width='120' className='fail'>실패</td> |
|
|
|
<td width='120' className='fail'> |
|
|
|
|
|
|
|
실패 |
|
|
|
|
|
|
|
</td> |
|
|
|
<td>김*혜</td> |
|
|
|
<td>김*혜</td> |
|
|
|
<td>1995****</td> |
|
|
|
<td>1995****</td> |
|
|
|
<td>91-****12</td> |
|
|
|
<td>91-****12</td> |
|
|
@ -475,7 +510,9 @@ export default function NewFlightApprovalsContainer({ mode }) { |
|
|
|
</tr> |
|
|
|
</tr> |
|
|
|
<tr> |
|
|
|
<tr> |
|
|
|
<td width='80'>2</td> |
|
|
|
<td width='80'>2</td> |
|
|
|
<td width='120' className='fail'>실패</td> |
|
|
|
<td width='120' className='fail'> |
|
|
|
|
|
|
|
실패 |
|
|
|
|
|
|
|
</td> |
|
|
|
<td>김*혜</td> |
|
|
|
<td>김*혜</td> |
|
|
|
<td>1995****</td> |
|
|
|
<td>1995****</td> |
|
|
|
<td>91-****12</td> |
|
|
|
<td>91-****12</td> |
|
|
@ -483,7 +520,9 @@ export default function NewFlightApprovalsContainer({ mode }) { |
|
|
|
</tr> |
|
|
|
</tr> |
|
|
|
<tr> |
|
|
|
<tr> |
|
|
|
<td width='80'>2</td> |
|
|
|
<td width='80'>2</td> |
|
|
|
<td width='120' className='fail'>실패</td> |
|
|
|
<td width='120' className='fail'> |
|
|
|
|
|
|
|
실패 |
|
|
|
|
|
|
|
</td> |
|
|
|
<td>김*혜</td> |
|
|
|
<td>김*혜</td> |
|
|
|
<td>1995****</td> |
|
|
|
<td>1995****</td> |
|
|
|
<td>91-****12</td> |
|
|
|
<td>91-****12</td> |
|
|
@ -491,7 +530,9 @@ export default function NewFlightApprovalsContainer({ mode }) { |
|
|
|
</tr> |
|
|
|
</tr> |
|
|
|
<tr> |
|
|
|
<tr> |
|
|
|
<td width='80'>2</td> |
|
|
|
<td width='80'>2</td> |
|
|
|
<td width='120' className='fail'>실패</td> |
|
|
|
<td width='120' className='fail'> |
|
|
|
|
|
|
|
실패 |
|
|
|
|
|
|
|
</td> |
|
|
|
<td>김*혜</td> |
|
|
|
<td>김*혜</td> |
|
|
|
<td>1995****</td> |
|
|
|
<td>1995****</td> |
|
|
|
<td>91-****12</td> |
|
|
|
<td>91-****12</td> |
|
|
@ -499,7 +540,9 @@ export default function NewFlightApprovalsContainer({ mode }) { |
|
|
|
</tr> |
|
|
|
</tr> |
|
|
|
<tr> |
|
|
|
<tr> |
|
|
|
<td width='80'>2</td> |
|
|
|
<td width='80'>2</td> |
|
|
|
<td width='120' className='fail'>실패</td> |
|
|
|
<td width='120' className='fail'> |
|
|
|
|
|
|
|
실패 |
|
|
|
|
|
|
|
</td> |
|
|
|
<td>김*혜</td> |
|
|
|
<td>김*혜</td> |
|
|
|
<td>1995****</td> |
|
|
|
<td>1995****</td> |
|
|
|
<td>91-****12</td> |
|
|
|
<td>91-****12</td> |
|
|
@ -511,10 +554,7 @@ export default function NewFlightApprovalsContainer({ mode }) { |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</ModalBody> |
|
|
|
</ModalBody> |
|
|
|
<ModalFooter> |
|
|
|
<ModalFooter> |
|
|
|
<Button |
|
|
|
<Button color='primary' onClick={() => setTestModal(!testModal)}> |
|
|
|
color='primary' |
|
|
|
|
|
|
|
onClick={() => setTestModal(!testModal)} |
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
확인 |
|
|
|
확인 |
|
|
|
</Button>{' '} |
|
|
|
</Button>{' '} |
|
|
|
</ModalFooter> |
|
|
|
</ModalFooter> |
|
|
|