|
|
@ -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); |
|
|
@ -340,7 +349,7 @@ export default function NewFlightApprovalsContainer({ mode }) { |
|
|
|
return ( |
|
|
|
return ( |
|
|
|
<> |
|
|
|
<> |
|
|
|
<div className='map' style={{ width: '100%' }}> |
|
|
|
<div className='map' style={{ width: '100%' }}> |
|
|
|
<div className='test_modal'> |
|
|
|
<div className='test_modal'> |
|
|
|
<Button |
|
|
|
<Button |
|
|
|
color='primary' |
|
|
|
color='primary' |
|
|
|
size='lg' |
|
|
|
size='lg' |
|
|
@ -360,161 +369,192 @@ 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> |
|
|
|
<tr> |
|
|
|
<tr> |
|
|
|
<th width='80'>No</th> |
|
|
|
<th width='80'>No</th> |
|
|
|
<th width='120'>유효성 검사</th> |
|
|
|
<th width='120'>유효성 검사</th> |
|
|
|
<th>제작 번호</th> |
|
|
|
<th>제작 번호</th> |
|
|
|
<th>기체 용도</th> |
|
|
|
<th>기체 용도</th> |
|
|
|
<th>기체 중량</th> |
|
|
|
<th>기체 중량</th> |
|
|
|
<th>보험 가입</th> |
|
|
|
<th>보험 가입</th> |
|
|
|
</tr> |
|
|
|
</tr> |
|
|
|
</thead> |
|
|
|
</thead> |
|
|
|
<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>163CGBEROA529Y</td> |
|
|
|
성공 |
|
|
|
<td>영리</td> |
|
|
|
</td> |
|
|
|
<td>25kg이하</td> |
|
|
|
<td>163CGBEROA529Y</td> |
|
|
|
<td className='success'>가입</td> |
|
|
|
<td>영리</td> |
|
|
|
</tr> |
|
|
|
<td>25kg이하</td> |
|
|
|
<tr> |
|
|
|
<td className='success'>가입</td> |
|
|
|
<td width='80'>2</td> |
|
|
|
</tr> |
|
|
|
<td width='120' className='fail'>실패</td> |
|
|
|
<tr> |
|
|
|
<td>163CGBEROA529Y</td> |
|
|
|
<td width='80'>2</td> |
|
|
|
<td>영리</td> |
|
|
|
<td width='120' className='fail'> |
|
|
|
<td>25kg이하</td> |
|
|
|
실패 |
|
|
|
<td className='fail'>미 가입</td> |
|
|
|
</td> |
|
|
|
</tr> |
|
|
|
<td>163CGBEROA529Y</td> |
|
|
|
<tr> |
|
|
|
<td>영리</td> |
|
|
|
<td width='80'>2</td> |
|
|
|
<td>25kg이하</td> |
|
|
|
<td width='120' className='fail'>실패</td> |
|
|
|
<td className='fail'>미 가입</td> |
|
|
|
<td>163CGBEROA529Y</td> |
|
|
|
</tr> |
|
|
|
<td>영리</td> |
|
|
|
<tr> |
|
|
|
<td>25kg이하</td> |
|
|
|
<td width='80'>2</td> |
|
|
|
<td className='fail'>미 가입</td> |
|
|
|
<td width='120' className='fail'> |
|
|
|
</tr> |
|
|
|
실패 |
|
|
|
<tr> |
|
|
|
</td> |
|
|
|
<td width='80'>2</td> |
|
|
|
<td>163CGBEROA529Y</td> |
|
|
|
<td width='120' className='fail'>실패</td> |
|
|
|
<td>영리</td> |
|
|
|
<td>163CGBEROA529Y</td> |
|
|
|
<td>25kg이하</td> |
|
|
|
<td>영리</td> |
|
|
|
<td className='fail'>미 가입</td> |
|
|
|
<td>25kg이하</td> |
|
|
|
</tr> |
|
|
|
<td className='fail'>미 가입</td> |
|
|
|
<tr> |
|
|
|
</tr> |
|
|
|
<td width='80'>2</td> |
|
|
|
<tr> |
|
|
|
<td width='120' className='fail'> |
|
|
|
<td width='80'>2</td> |
|
|
|
실패 |
|
|
|
<td width='120' className='fail'>실패</td> |
|
|
|
</td> |
|
|
|
<td>163CGBEROA529Y</td> |
|
|
|
<td>163CGBEROA529Y</td> |
|
|
|
<td>영리</td> |
|
|
|
<td>영리</td> |
|
|
|
<td>25kg이하</td> |
|
|
|
<td>25kg이하</td> |
|
|
|
<td className='fail'>미 가입</td> |
|
|
|
<td className='fail'>미 가입</td> |
|
|
|
</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>163CGBEROA529Y</td> |
|
|
|
실패 |
|
|
|
<td>영리</td> |
|
|
|
</td> |
|
|
|
<td>25kg이하</td> |
|
|
|
<td>163CGBEROA529Y</td> |
|
|
|
<td className='fail'>미 가입</td> |
|
|
|
<td>영리</td> |
|
|
|
</tr> |
|
|
|
<td>25kg이하</td> |
|
|
|
<tr> |
|
|
|
<td className='fail'>미 가입</td> |
|
|
|
<td width='80'>2</td> |
|
|
|
</tr> |
|
|
|
<td width='120' className='fail'>실패</td> |
|
|
|
<tr> |
|
|
|
<td>163CGBEROA529Y</td> |
|
|
|
<td width='80'>2</td> |
|
|
|
<td>영리</td> |
|
|
|
<td width='120' className='fail'> |
|
|
|
<td>25kg이하</td> |
|
|
|
실패 |
|
|
|
<td className='fail'>미 가입</td> |
|
|
|
</td> |
|
|
|
</tr> |
|
|
|
<td>163CGBEROA529Y</td> |
|
|
|
</tbody> |
|
|
|
<td>영리</td> |
|
|
|
|
|
|
|
<td>25kg이하</td> |
|
|
|
|
|
|
|
<td className='fail'>미 가입</td> |
|
|
|
|
|
|
|
</tr> |
|
|
|
|
|
|
|
<tr> |
|
|
|
|
|
|
|
<td width='80'>2</td> |
|
|
|
|
|
|
|
<td width='120' className='fail'> |
|
|
|
|
|
|
|
실패 |
|
|
|
|
|
|
|
</td> |
|
|
|
|
|
|
|
<td>163CGBEROA529Y</td> |
|
|
|
|
|
|
|
<td>영리</td> |
|
|
|
|
|
|
|
<td>25kg이하</td> |
|
|
|
|
|
|
|
<td className='fail'>미 가입</td> |
|
|
|
|
|
|
|
</tr> |
|
|
|
|
|
|
|
</tbody> |
|
|
|
</Table> |
|
|
|
</Table> |
|
|
|
</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> |
|
|
|
<tr> |
|
|
|
<tr> |
|
|
|
<th width='80'>No</th> |
|
|
|
<th width='80'>No</th> |
|
|
|
<th width='120'>유효성 검사</th> |
|
|
|
<th width='120'>유효성 검사</th> |
|
|
|
<th>이름</th> |
|
|
|
<th>이름</th> |
|
|
|
<th>생년 월일</th> |
|
|
|
<th>생년 월일</th> |
|
|
|
<th>자격 번호</th> |
|
|
|
<th>자격 번호</th> |
|
|
|
<th>조종 자격</th> |
|
|
|
<th>조종 자격</th> |
|
|
|
</tr> |
|
|
|
</tr> |
|
|
|
</thead> |
|
|
|
</thead> |
|
|
|
<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>1995****</td> |
|
|
|
</td> |
|
|
|
<td>91-****12</td> |
|
|
|
<td>홍*동</td> |
|
|
|
<td className='success'>여</td> |
|
|
|
<td>1995****</td> |
|
|
|
</tr> |
|
|
|
<td>91-****12</td> |
|
|
|
<tr> |
|
|
|
<td className='success'>여</td> |
|
|
|
<td width='80'>2</td> |
|
|
|
</tr> |
|
|
|
<td width='120' className='fail'>실패</td> |
|
|
|
<tr> |
|
|
|
<td>김*혜</td> |
|
|
|
<td width='80'>2</td> |
|
|
|
<td>1995****</td> |
|
|
|
<td width='120' className='fail'> |
|
|
|
<td>91-****12</td> |
|
|
|
실패 |
|
|
|
<td className='fail'>부</td> |
|
|
|
</td> |
|
|
|
</tr> |
|
|
|
<td>김*혜</td> |
|
|
|
<tr> |
|
|
|
<td>1995****</td> |
|
|
|
<td width='80'>2</td> |
|
|
|
<td>91-****12</td> |
|
|
|
<td width='120' className='fail'>실패</td> |
|
|
|
<td className='fail'>부</td> |
|
|
|
<td>김*혜</td> |
|
|
|
</tr> |
|
|
|
<td>1995****</td> |
|
|
|
<tr> |
|
|
|
<td>91-****12</td> |
|
|
|
<td width='80'>2</td> |
|
|
|
<td className='fail'>부</td> |
|
|
|
<td width='120' className='fail'> |
|
|
|
</tr> |
|
|
|
실패 |
|
|
|
<tr> |
|
|
|
</td> |
|
|
|
<td width='80'>2</td> |
|
|
|
<td>김*혜</td> |
|
|
|
<td width='120' className='fail'>실패</td> |
|
|
|
<td>1995****</td> |
|
|
|
<td>김*혜</td> |
|
|
|
<td>91-****12</td> |
|
|
|
<td>1995****</td> |
|
|
|
<td className='fail'>부</td> |
|
|
|
<td>91-****12</td> |
|
|
|
</tr> |
|
|
|
<td className='fail'>부</td> |
|
|
|
<tr> |
|
|
|
</tr> |
|
|
|
<td width='80'>2</td> |
|
|
|
<tr> |
|
|
|
<td width='120' className='fail'> |
|
|
|
<td width='80'>2</td> |
|
|
|
실패 |
|
|
|
<td width='120' className='fail'>실패</td> |
|
|
|
</td> |
|
|
|
<td>김*혜</td> |
|
|
|
<td>김*혜</td> |
|
|
|
<td>1995****</td> |
|
|
|
<td>1995****</td> |
|
|
|
<td>91-****12</td> |
|
|
|
<td>91-****12</td> |
|
|
|
<td className='fail'>부</td> |
|
|
|
<td className='fail'>부</td> |
|
|
|
</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>1995****</td> |
|
|
|
</td> |
|
|
|
<td>91-****12</td> |
|
|
|
<td>김*혜</td> |
|
|
|
<td className='fail'>부</td> |
|
|
|
<td>1995****</td> |
|
|
|
</tr> |
|
|
|
<td>91-****12</td> |
|
|
|
<tr> |
|
|
|
<td className='fail'>부</td> |
|
|
|
<td width='80'>2</td> |
|
|
|
</tr> |
|
|
|
<td width='120' className='fail'>실패</td> |
|
|
|
<tr> |
|
|
|
<td>김*혜</td> |
|
|
|
<td width='80'>2</td> |
|
|
|
<td>1995****</td> |
|
|
|
<td width='120' className='fail'> |
|
|
|
<td>91-****12</td> |
|
|
|
실패 |
|
|
|
<td className='fail'>부</td> |
|
|
|
</td> |
|
|
|
</tr> |
|
|
|
<td>김*혜</td> |
|
|
|
</tbody> |
|
|
|
<td>1995****</td> |
|
|
|
|
|
|
|
<td>91-****12</td> |
|
|
|
|
|
|
|
<td className='fail'>부</td> |
|
|
|
|
|
|
|
</tr> |
|
|
|
|
|
|
|
<tr> |
|
|
|
|
|
|
|
<td width='80'>2</td> |
|
|
|
|
|
|
|
<td width='120' className='fail'> |
|
|
|
|
|
|
|
실패 |
|
|
|
|
|
|
|
</td> |
|
|
|
|
|
|
|
<td>김*혜</td> |
|
|
|
|
|
|
|
<td>1995****</td> |
|
|
|
|
|
|
|
<td>91-****12</td> |
|
|
|
|
|
|
|
<td className='fail'>부</td> |
|
|
|
|
|
|
|
</tr> |
|
|
|
|
|
|
|
</tbody> |
|
|
|
</Table> |
|
|
|
</Table> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</ModalBody> |
|
|
|
</ModalBody> |
|
|
|
<ModalFooter> |
|
|
|
<ModalFooter> |
|
|
|
<Button |
|
|
|
<Button color='primary' onClick={() => setTestModal(!testModal)}> |
|
|
|
color='primary' |
|
|
|
|
|
|
|
onClick={() => setTestModal(!testModal)} |
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
확인 |
|
|
|
확인 |
|
|
|
</Button>{' '} |
|
|
|
</Button>{' '} |
|
|
|
</ModalFooter> |
|
|
|
</ModalFooter> |
|
|
|