Browse Source

스텝 2 좌표 추가 and 스텝 3 지도 추가

pull/2/head
sanguu516(박상현) 12 months ago
parent
commit
ef61333768
  1. 20
      src/containers/laanc/LaancPlanContainer.js
  2. 14
      src/views/laanc/FlightArea.js
  3. 18
      src/views/laanc/LaacnStep3.js
  4. 30
      src/views/laanc/LaancStep1.js
  5. 63
      src/views/laanc/LaancStep2.js

20
src/containers/laanc/LaancPlanContainer.js

@ -91,6 +91,7 @@ export default function LaancPlanContainer({
areaList: [
{
...prevState.areaList[0],
bufferZone: 100,
coordList: value
}
]
@ -99,7 +100,6 @@ export default function LaancPlanContainer({
break;
case 'area':
case 'pilot':
case 'arcrft':
if (name === 'fltElev' || name === 'bufferZone' || name === 'hpno') {
const newValue = value.replace(/^0+/, '').replace(/\D/g, '');
@ -214,10 +214,10 @@ export default function LaancPlanContainer({
return false;
} else if (
!detailData.arcrftList[0].arcrftTypeCd &&
(detailData.commercial === 'COMMERCIAL' ||
detailData.arcrftList[0].arcrftWdth == '9' ||
detailData.arcrftList[0].arcrftWdth == '10' ||
detailData.arcrftList[0].arcrftWdth == '11')
(detailData.commercial === '상업' ||
detailData.arcrftList[0].arcrftWdth == '25kg초과' ||
detailData.arcrftList[0].arcrftWdth == '2kg초과~7kg이하' ||
detailData.arcrftList[0].arcrftWdth == '7kg초과~25kg이하')
) {
setModal2({
isOpen: true,
@ -228,10 +228,10 @@ export default function LaancPlanContainer({
return false;
} else if (
!detailData.arcrftList[0].groupNm &&
(detailData.commercial === 'COMMERCIAL' ||
detailData.arcrftList[0].arcrftWdth == '9 ' ||
detailData.arcrftList[0].arcrftWdth == '10' ||
detailData.arcrftList[0].arcrftWdth == '11')
(detailData.commercial === '상업' ||
detailData.arcrftList[0].arcrftWdth == '25kg초과' ||
detailData.arcrftList[0].arcrftWdth == '2kg초과~7kg이하' ||
detailData.arcrftList[0].arcrftWdth == '7kg초과~25kg이하')
) {
setModal2({
isOpen: true,
@ -317,6 +317,8 @@ export default function LaancPlanContainer({
disabledAnimation={disabledAnimation}
setDisabledAnimation={setDisabledAnimation}
handlerLaancClose={handlerLaancClose}
centeredModal={centeredModal}
setCenteredModal={setCenteredModal}
/>
)}
</Modal>

14
src/views/laanc/FlightArea.js

@ -336,13 +336,13 @@ export default function FlightArea({
lon: coords[0]
});
});
handleChange({
type: 'coord',
name: 'latlon',
value: coordValue
});
if (page === 1) {
handleChange({
type: 'coord',
name: 'latlon',
value: coordValue
});
}
//스텝1에 반경도 글씨가 바뀌어야 함...!!
// handleChange({
// type: 'area',

18
src/views/laanc/LaacnStep3.js

@ -16,13 +16,17 @@ import {
Badge
} from 'reactstrap';
import { useHistory } from 'react-router-dom';
import FlightArea from './FlightArea';
import { AlertCircle, CheckCircle } from 'react-feather';
export default function LaacnStep3({
handlerStep,
disabledAnimation,
data,
setDisabledAnimation,
handlerLaancClose
handlerLaancClose,
centeredModal,
setCenteredModal,
handleChange
}) {
const [centeredModal2, setCenteredModal2] = useState(false);
const { user } = useSelector(state => state.authState);
@ -40,6 +44,18 @@ export default function LaacnStep3({
<Row>
<Col className='list-input' md='12'>
<div className='ti'>요청 승인 상세 정보</div>
<div className='mb-1'>
<div className='laanc-map-sm'>
<div className='vertically-centered-modal'>
<FlightArea
centeredModal={centeredModal}
setCenteredModal={setCenteredModal}
page={3}
data={data}
/>
</div>
</div>
</div>
<Row>
<Col className='list-input' md='6'>
<FormGroup>

30
src/views/laanc/LaancStep1.js

@ -125,8 +125,8 @@ export default function LaancStep1({
}}
>
<option value=''>= 선택 =</option>
<option value={'COMMERCIAL'}>상업</option>
<option value={'NON-COMMERCIAL'}>비상업</option>
<option value={'상업'}>상업</option>
<option value={'비상업'}>비상업</option>
</Input>
</FormGroup>
</Col>
@ -379,18 +379,26 @@ export default function LaancStep1({
}}
>
<option value=''>= 선택 =</option>
<option value='7'>= 최대이륙중량 250g 이하 =</option>
<option value='8'>= 250g초과 ~ 2kg 이하 =</option>
<option value='9'>= 2kg초과~7kg이하 =</option>
<option value='10'>= 7kg초과~25kg이하 =</option>
<option value='11'>= 25kg초과 =</option>
<option value='최대이륙중량 250g 이하'>
= 최대이륙중량 250g 이하 =
</option>
<option value='250g초과 ~ 2kg 이하'>
= 250g초과 ~ 2kg 이하 =
</option>
<option value='2kg초과~7kg이하'>
= 2kg초과~7kg이하 =
</option>
<option value='7kg초과~25kg이하'>
= 7kg초과~25kg이하 =
</option>
<option value='25kg초과'>= 25kg초과 =</option>
</Input>
</FormGroup>
</Col>
{data.commercial === 'COMMERCIAL' ||
data.arcrftList[0].arcrftWdth == '9' ||
data.arcrftList[0].arcrftWdth == '10' ||
data.arcrftList[0].arcrftWdth == '11' ? (
{data.commercial === '상업' ||
data.arcrftList[0].arcrftWdth == '25kg초과' ||
data.arcrftList[0].arcrftWdth == '2kg초과~7kg이하' ||
data.arcrftList[0].arcrftWdth == '7kg초과~25kg이하' ? (
<>
<Col className='list-input' md='4'>
<FormGroup>

63
src/views/laanc/LaancStep2.js

@ -68,6 +68,13 @@ export default function LaancStep2({
history.replace('/control');
};
// 소수점 6자리에서 반올림 하는 함수
const truncateToSixDecimalPlaces = number => {
const decimalPlaces = 6;
const multiplier = Math.pow(10, decimalPlaces);
return Math.round(number * multiplier) / multiplier;
};
return (
<>
<ModalHeader>
@ -281,7 +288,55 @@ export default function LaancStep2({
</Col>
</Row>
</Col>
<Col className='list-input' md='12'>
<div className='ti'>비행 구역 정보</div>
<Row>
<Col className='list-input' md='6'>
<FormGroup>
<Label for='test'>
<span className='necessary'>*</span>/
</Label>
{data.areaList[0].coordList.map((coord, index) => {
return index % 2 === 0 ? (
<Input
key={index}
type='text'
id='test'
size='sm'
value={`${truncateToSixDecimalPlaces(
`${coord.lat}`
)} / ${truncateToSixDecimalPlaces(`${coord.lon}`)}`}
placeholder=''
disabled
/>
) : null;
})}
</FormGroup>
</Col>
<Col className='list-input' md='6'>
<FormGroup>
<Label for='test'>
<span className='necessary'></span>
</Label>
{data.areaList[0].coordList.map((coord, index) => {
return index % 2 != 0 ? (
<Input
type='text'
id='test'
size='sm'
key={index}
value={`${truncateToSixDecimalPlaces(
`${coord.lat}`
)} / ${truncateToSixDecimalPlaces(`${coord.lon}`)}`}
placeholder=''
disabled
/>
) : null;
})}
</FormGroup>
</Col>
</Row>
</Col>
<Col className='list-input' md='12'>
<div className='ti'>조종자 준수사항 처벌 동의 약관</div>
<div className='terms-box'>
@ -412,7 +467,11 @@ export default function LaancStep2({
<span></span>
</li>
</ul>
<Button disabled={!isterms} outline onClick={() => handlerStep(3)}>
<Button
disabled={!isterms || data.arcrftList[0].groupNm != 'PA0001'}
outline
onClick={() => handlerStep(3)}
>
다음
</Button>
</ModalFooter>

Loading…
Cancel
Save