|
|
|
@ -65,9 +65,25 @@ export default function LaancStep2({
|
|
|
|
|
}; |
|
|
|
|
const [isterms, setIsterms] = useState(false); |
|
|
|
|
const [flightData, setFlightData] = useState({}); |
|
|
|
|
const [laancIsCheck, setLancIsCheck] = useState(); |
|
|
|
|
const { user } = useSelector(state => state.authState); |
|
|
|
|
const { laancApply } = useSelector(state => state.laancState); |
|
|
|
|
const dispatch = useDispatch(); |
|
|
|
|
|
|
|
|
|
useEffect(() => { |
|
|
|
|
if (!laancApply?.valid) setLancIsCheck(true); |
|
|
|
|
else if (laancApply?.valid) setLancIsCheck(false); |
|
|
|
|
}, [laancApply]); |
|
|
|
|
|
|
|
|
|
useEffect(() => { |
|
|
|
|
console.log('>>>>', laancIsCheck); |
|
|
|
|
}, [laancIsCheck]); |
|
|
|
|
useEffect(() => { |
|
|
|
|
if (flightData && Object.keys(flightData).length > 0) { |
|
|
|
|
dispatch(LaancAction.LAANC_FLIGHT_CREATE.request(flightData)); |
|
|
|
|
handlerStep(3); |
|
|
|
|
} |
|
|
|
|
}, [flightData]); |
|
|
|
|
// 소수점 6자리에서 반올림 하는 함수
|
|
|
|
|
const truncateToSixDecimalPlaces = number => { |
|
|
|
|
const decimalPlaces = 6; |
|
|
|
@ -92,14 +108,50 @@ export default function LaancStep2({
|
|
|
|
|
// dispatch(LaancAction.LAANC_FLIGHT_CREATE.request(flightData));
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
useEffect(() => { |
|
|
|
|
if (flightData && Object.keys(flightData).length > 0) { |
|
|
|
|
console.log('>>>', flightData); |
|
|
|
|
|
|
|
|
|
dispatch(LaancAction.LAANC_FLIGHT_CREATE.request(flightData)); |
|
|
|
|
handlerStep(3); |
|
|
|
|
const laancReason = ( |
|
|
|
|
flight, |
|
|
|
|
arcrftDuplicated, |
|
|
|
|
planAreaDuplicatd, |
|
|
|
|
pilotQlfc, |
|
|
|
|
arcrftInsurance |
|
|
|
|
) => { |
|
|
|
|
if (flight) { |
|
|
|
|
return ( |
|
|
|
|
<> |
|
|
|
|
{' '} |
|
|
|
|
<AlertCircle size={15} /> |
|
|
|
|
<span className='ms-1'>검토 결과 미 승인 대상입니다.</span> |
|
|
|
|
<span className='cancel-txt'> |
|
|
|
|
제출하신 비행계획상의 비행구역과 비행시간이 별도의 승인을 |
|
|
|
|
<br /> |
|
|
|
|
필요로 하지 않지만, 아래 조종자 준수사항에 유의하여 |
|
|
|
|
<br /> 비행하시기 바랍니다. |
|
|
|
|
</span> |
|
|
|
|
</> |
|
|
|
|
); |
|
|
|
|
{ |
|
|
|
|
/* <span className='cancel-txt'> |
|
|
|
|
유효성 검사에 실패하였습니다. |
|
|
|
|
<br /> |
|
|
|
|
다시 검사해주시기 바랍니다. |
|
|
|
|
</span> */ |
|
|
|
|
} |
|
|
|
|
}, [flightData]); |
|
|
|
|
} else { |
|
|
|
|
if (arcrftDuplicated || planAreaDuplicatd) { |
|
|
|
|
return ( |
|
|
|
|
<> |
|
|
|
|
{' '} |
|
|
|
|
<AlertCircle size={15} /> |
|
|
|
|
<span className='ms-1'>검토 결과 미 승인 대상입니다.</span> |
|
|
|
|
<span className='cancel-txt'> |
|
|
|
|
설정하신 비행구역 및 비행시간에 이미 승인완료된 <br /> |
|
|
|
|
신청건이 있습니다. 다시 설정 부탁드립니다. |
|
|
|
|
</span> |
|
|
|
|
</> |
|
|
|
|
); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
return ( |
|
|
|
|
<> |
|
|
|
|
<ModalHeader> |
|
|
|
@ -115,15 +167,13 @@ export default function LaancStep2({
|
|
|
|
|
<Col className='list-input' md='6'> |
|
|
|
|
<Alert |
|
|
|
|
color={ |
|
|
|
|
data.arcrftList[0].idntfNum === 'PA0001' || |
|
|
|
|
data.arcrftList[0].idntfNum === 'PA0002' |
|
|
|
|
data.arcrftList[0].idntfNum != 'PA0002' |
|
|
|
|
? 'success' |
|
|
|
|
: 'warning' |
|
|
|
|
} |
|
|
|
|
> |
|
|
|
|
<div className='alert-body'> |
|
|
|
|
{data.arcrftList[0].idntfNum === 'PA0001' || |
|
|
|
|
data.arcrftList[0].idntfNum === 'PA0002' ? ( |
|
|
|
|
{data.arcrftList[0].idntfNum != 'PA0002' ? ( |
|
|
|
|
<CheckCircle size={15} /> |
|
|
|
|
) : ( |
|
|
|
|
<AlertCircle size={15} /> |
|
|
|
@ -133,19 +183,9 @@ export default function LaancStep2({
|
|
|
|
|
</Alert> |
|
|
|
|
</Col> |
|
|
|
|
<Col className='list-input' md='6'> |
|
|
|
|
<Alert |
|
|
|
|
color={ |
|
|
|
|
data.arcrftList[0].idntfNum === 'PA0002' |
|
|
|
|
? 'warning' |
|
|
|
|
: 'success' |
|
|
|
|
} |
|
|
|
|
> |
|
|
|
|
<Alert color={'success'}> |
|
|
|
|
<div className='alert-body'> |
|
|
|
|
{data.arcrftList[0].idntfNum === 'PA0001' ? ( |
|
|
|
|
<CheckCircle size={15} /> |
|
|
|
|
) : ( |
|
|
|
|
<AlertCircle size={15} /> |
|
|
|
|
)} |
|
|
|
|
<span className='ms-1'>기체보험가입 정보</span> |
|
|
|
|
</div> |
|
|
|
|
</Alert> |
|
|
|
@ -183,63 +223,36 @@ export default function LaancStep2({
|
|
|
|
|
</div> |
|
|
|
|
<div className='mt-1'> |
|
|
|
|
{/* 사전 결과 승인 대상일때 color=success */} |
|
|
|
|
<Alert |
|
|
|
|
color={ |
|
|
|
|
laancApply?.report && laancApply?.evaluatedTargetArea |
|
|
|
|
? laancApply?.valid |
|
|
|
|
? 'success' |
|
|
|
|
: 'warning' |
|
|
|
|
: 'warning' |
|
|
|
|
} |
|
|
|
|
> |
|
|
|
|
<Alert color={laancApply?.valid ? 'success' : 'warning'}> |
|
|
|
|
<div className='alert-body'> |
|
|
|
|
{laancApply?.report && laancApply?.evaluatedTargetArea ? ( |
|
|
|
|
laancApply?.valid ? ( |
|
|
|
|
{laancApply?.valid ? ( |
|
|
|
|
<> |
|
|
|
|
<CheckCircle size={15} /> |
|
|
|
|
<span className='ms-1'>검토 결과 승인 대상입니다.</span> |
|
|
|
|
</> |
|
|
|
|
) : ( |
|
|
|
|
<> |
|
|
|
|
<CheckCircle size={15} /> |
|
|
|
|
{data.arcrftList[0].idntfNum === 'PA0002' ? ( |
|
|
|
|
<> |
|
|
|
|
<AlertCircle size={15} /> |
|
|
|
|
<span className='ms-1'> |
|
|
|
|
검토 결과 미 승인 대상입니다. |
|
|
|
|
</span> |
|
|
|
|
{laancApply.planAreaDuplicatd || |
|
|
|
|
laancApply.arcrftDuplicated ? ( |
|
|
|
|
<span className='cancel-txt'> |
|
|
|
|
설정하신 비행구역 및 비행시간에 이미 승인완료된 <br /> |
|
|
|
|
신청건이 있습니다. 다시 설정 부탁드립니다. |
|
|
|
|
</span> |
|
|
|
|
) : null} |
|
|
|
|
</> |
|
|
|
|
) |
|
|
|
|
) : ( |
|
|
|
|
<> |
|
|
|
|
<AlertCircle size={15} /> |
|
|
|
|
<span className='ms-1'>검토 결과 미 승인 대상입니다.</span> |
|
|
|
|
{!laancApply?.planAreaDuplicatd || |
|
|
|
|
(!laancApply?.report && |
|
|
|
|
!laancApply?.evaluatedTargetArea) ? ( |
|
|
|
|
<span className='cancel-txt'> |
|
|
|
|
제출하신 비행계획상의 비행구역과 비행시간이 별도의 |
|
|
|
|
승인을 |
|
|
|
|
유효성 검사에 실패하였습니다. |
|
|
|
|
<br /> |
|
|
|
|
필요로 하지 않지만, 아래 조종자 준수사항에 유의하여 |
|
|
|
|
<br /> 비행하시기 바랍니다. |
|
|
|
|
다시 검사해주시기 바랍니다. |
|
|
|
|
</span> |
|
|
|
|
</> |
|
|
|
|
) : ( |
|
|
|
|
<span className='cancel-txt'> |
|
|
|
|
제출하신 비행계획상의 비행시간이 다른 계획서와 |
|
|
|
|
<br /> |
|
|
|
|
겹치는 비행시간 입니다. |
|
|
|
|
</span> |
|
|
|
|
laancReason( |
|
|
|
|
laancApply?.flight, |
|
|
|
|
laancApply?.arcrftDuplicated, |
|
|
|
|
laancApply?.planAreaDuplicatd, |
|
|
|
|
laancApply?.pilotQlfc, |
|
|
|
|
laancApply?.arcrftInsurance |
|
|
|
|
) |
|
|
|
|
)} |
|
|
|
|
{/* <span className='cancel-txt'> |
|
|
|
|
유효성 검사에 실패하였습니다. |
|
|
|
|
<br /> |
|
|
|
|
다시 검사해주시기 바랍니다. |
|
|
|
|
</span> */} |
|
|
|
|
</> |
|
|
|
|
)} |
|
|
|
|
</div> |
|
|
|
@ -497,7 +510,7 @@ export default function LaancStep2({
|
|
|
|
|
있는 경우에는 이에 따라 비행해야 한다. |
|
|
|
|
</p> |
|
|
|
|
</div> |
|
|
|
|
{data.arcrftList[0].idntfNum != 'PA0002' ? ( |
|
|
|
|
{!laancIsCheck ? ( |
|
|
|
|
<CustomInput |
|
|
|
|
inline |
|
|
|
|
type='checkbox' |
|
|
|
@ -528,7 +541,7 @@ export default function LaancStep2({
|
|
|
|
|
</li> |
|
|
|
|
</ul> |
|
|
|
|
<Button |
|
|
|
|
disabled={!isterms || data.arcrftList[0].idntfNum != 'PA0001'} |
|
|
|
|
disabled={!isterms || laancIsCheck} |
|
|
|
|
outline |
|
|
|
|
onClick={() => handlerCreate()} |
|
|
|
|
> |
|
|
|
|