Browse Source

laanc 승인 목록 상세보기 연결(승인 유형 추가 작업 필요)

pull/2/head
박상현 11 months ago
parent
commit
944a4c52e7
  1. 33
      src/components/laanc/LaancGrid.js
  2. 71
      src/components/laanc/LaancStep2.js

33
src/components/laanc/LaancGrid.js

@ -1,8 +1,10 @@
import { useEffect, useState } from 'react';
import { useSelector, useDispatch } from 'react-redux'; import { useSelector, useDispatch } from 'react-redux';
import { useHistory } from 'react-router-dom'; import { useHistory } from 'react-router-dom';
import { GridDatabase } from '@src/components/crud/grid/GridDatatable'; import { GridDatabase } from '@src/components/crud/grid/GridDatatable';
import { Row, Col, Card, Button, Spinner } from 'reactstrap'; import { Row, Col, Card, Button, Spinner, Modal } from 'reactstrap';
import * as LaancAction from '../../modules/laanc/actions/laancActions'; import * as LaancAction from '../../modules/laanc/actions/laancActions';
import LaancStep2 from './LaancStep2';
import moment from 'moment'; import moment from 'moment';
const data = [ const data = [
@ -36,23 +38,33 @@ function LaancGrid() {
const dispatch = useDispatch(); const dispatch = useDispatch();
const history = useHistory(); const history = useHistory();
const [disabledAnimation, setDisabledAnimation] = useState(false);
const { scheduleList } = useSelector(state => state.flightState); const { scheduleList } = useSelector(state => state.flightState);
const { laancSearchData } = useSelector(state => state.laancState); const { laancSearchData } = useSelector(state => state.laancState);
const { loading } = useSelector(state => state.loadingReducer); const { loading } = useSelector(state => state.loadingReducer);
const { laancDetail } = useSelector(state => state.laancState);
const fillZero = (width, str) => { const fillZero = (width, str) => {
return str.length >= width return str.length >= width
? str ? str
: new Array(width - str.length + 1).join('0') + str; //남는 길이만큼 0으로 채움 : new Array(width - str.length + 1).join('0') + str; //남는 길이만큼 0으로 채움
}; };
useEffect(() => {
if (laancDetail) setDisabledAnimation(true);
}, [laancDetail]);
//상세보기 //상세보기
const handleDetail = planSno => { const handleDetail = planSno => {
dispatch(LaancAction.LAANC_DETAIL.request(planSno)); dispatch(LaancAction.LAANC_DETAIL.request(planSno));
// history.push('/basis/flight/plan/create'); // history.push('/basis/flight/plan/create');
// to={`/basis/flight/plan/detail/${row.planSno}?type=plan`} // to={`/basis/flight/plan/detail/${row.planSno}?type=plan`}
}; };
const handlerLaancClose = () => {
setDisabledAnimation(false);
};
const columns = [ const columns = [
{ {
name: '비행계획서 일련 번호', name: '비행계획서 일련 번호',
@ -213,6 +225,23 @@ function LaancGrid() {
</div> </div>
</Col> </Col>
</Row> </Row>
<div className='disabled-animation-modal'>
<Modal
isOpen={disabledAnimation}
toggle={() => setDisabledAnimation(!disabledAnimation)}
className='modal-dialog-centered laanc-modal'
fade={false}
backdrop={false}
>
<LaancStep2
data={laancDetail}
type={'detail'}
disabledAnimation={disabledAnimation}
setDisabledAnimation={setDisabledAnimation}
handlerLaancClose={handlerLaancClose}
/>
</Modal>
</div>
</div> </div>
); );
} }

71
src/components/laanc/LaancStep2.js

@ -26,7 +26,8 @@ export default function LaancStep2({
setDisabledAnimation, setDisabledAnimation,
centeredModal, centeredModal,
setCenteredModal, setCenteredModal,
handlerLaancClose handlerLaancClose,
type
}) { }) {
const obj = { const obj = {
commercial: { commercial: {
@ -147,7 +148,7 @@ export default function LaancStep2({
취소 취소
</Button> </Button>
</ModalHeader> </ModalHeader>
<ModalBody> <ModalBody style={{ paddingBottom: type === 'detail' ? '30px' : '90px' }}>
<div> <div>
<div className='ti'>유효성 검사 정보</div> <div className='ti'>유효성 검사 정보</div>
<Row> <Row>
@ -225,7 +226,8 @@ export default function LaancStep2({
<span className='ms-1'> 검토 결과 승인 대상입니다.</span> <span className='ms-1'> 검토 결과 승인 대상입니다.</span>
<span className='cancel-txt'> <span className='cancel-txt'>
제출하신 비행계획은 자동승인 대상 입니다. 제출하신 비행계획은 자동승인 대상 입니다.
<br /><br/> <br />
<br />
자동승인을 위해 다음 스텝으로 진행하시기 바랍니다. 자동승인을 위해 다음 스텝으로 진행하시기 바랍니다.
</span> </span>
</> </>
@ -240,8 +242,10 @@ export default function LaancStep2({
</span> </span>
<span className='cancel-txt'> <span className='cancel-txt'>
유효성 검사에 실패하였습니다. 유효성 검사에 실패하였습니다.
<br /><br/> <br />
아래 이전 버튼을 눌러 스텝1에서 기체번호를 확인해주시기 바랍니다. <br />
아래 이전 버튼을 눌러 스텝1에서 기체번호를
확인해주시기 바랍니다.
</span> </span>
</> </>
) : ( ) : (
@ -351,7 +355,11 @@ export default function LaancStep2({
id='arcrftWghtCd' id='arcrftWghtCd'
name='arcrftWghtCd' name='arcrftWghtCd'
size='sm' size='sm'
value={obj.arcrftWdth[data.arcrftList[0].arcrftWghtCd]} value={
type === 'detail'
? data.arcrftWght
: obj.arcrftWdth[data.arcrftList[0].arcrftWghtCd]
}
placeholder='' placeholder=''
disabled disabled
/> />
@ -423,7 +431,8 @@ export default function LaancStep2({
className='terms-check' className='terms-check'
id='exampleCustomCheckbox' id='exampleCustomCheckbox'
label='조종자 준수사항 미 준수 시 처벌에 동의합니다.' label='조종자 준수사항 미 준수 시 처벌에 동의합니다.'
checked={isterms} checked={type === 'detail' ? true : isterms}
disabled={type === 'detail' ? true : false}
onChange={() => setIsterms(!isterms)} onChange={() => setIsterms(!isterms)}
/> />
) : null} ) : null}
@ -433,29 +442,31 @@ export default function LaancStep2({
</Row> </Row>
</div> </div>
</ModalBody> </ModalBody>
<ModalFooter> {type === 'detail' ? null : (
<Button outline color='danger' onClick={() => handlerStep(1)}> <ModalFooter>
이전 <Button outline color='danger' onClick={() => handlerStep(1)}>
</Button> 이전
<ul className='step'> </Button>
<li> <ul className='step'>
<span></span> <li>
</li> <span></span>
<li> </li>
<span className='on'></span> <li>
</li> <span className='on'></span>
<li> </li>
<span></span> <li>
</li> <span></span>
</ul> </li>
<Button </ul>
disabled={!isterms || laancIsCheck} <Button
outline disabled={!isterms || laancIsCheck}
onClick={() => handlerCreate()} outline
> onClick={() => handlerCreate()}
다음 >
</Button> 다음
</ModalFooter> </Button>
</ModalFooter>
)}
</> </>
); );
} }

Loading…
Cancel
Save