Browse Source

조종사, 기체 조회 삭제버튼 추가

feature/flight-plan
노승철 2 years ago
parent
commit
203ca30607
  1. 28
      src/components/basis/flight/plan/FlightPlanArcrft.js
  2. 52
      src/components/basis/flight/plan/FlightPlanForm.js
  3. 71
      src/components/basis/flight/plan/FlightPlanPilot.js
  4. 24
      src/containers/basis/flight/plan/FlightPlanDetailContainer.js
  5. 2
      src/containers/basis/flight/plan/FlightPlanPilotContainer.js
  6. 2
      src/modules/basis/flight/reducers/basisFlightReducer.ts

28
src/components/basis/flight/plan/FlightPlanArcrft.js

@ -45,31 +45,7 @@ const FlightPlanArcrft = ({ arcrftList, handleSelectArcrft }) => {
<CardBody className='pal-card-body'> <CardBody className='pal-card-body'>
<div className='search-cont'> <div className='search-cont'>
<dl> <dl>
<dt> <dt>
<div className='search-box'>
<div className='search-list-ti'>그룹 </div>
<div className='search-list'>
<div className='search-list-cont'>
<Row>
<Col className='list-input' xl='4' md='4' sm='12'>
<FormGroup className='form-label-group'>
<Input
type='text'
id='groupNm'
name='groupNm'
// value={props.params.groupNm}
// onChange={props.handlerInput}
size='sm'
// onKeyPress={props.onKeyPress}
placeholder='그룹명을 입력하세요'
/>
<Label for='test'>그룹 </Label>
</FormGroup>
</Col>
</Row>
</div>
</div>
</div>
<div className='search-box'> <div className='search-box'>
<div className='search-list-ti'>소유자 </div> <div className='search-list-ti'>소유자 </div>
<div className='search-list'> <div className='search-list'>
@ -83,7 +59,7 @@ const FlightPlanArcrft = ({ arcrftList, handleSelectArcrft }) => {
name='ownerNm' name='ownerNm'
// value={props.params.groupNm} // value={props.params.groupNm}
// onChange={props.handlerInput} // onChange={props.handlerInput}
size='sm' bsSize='sm'
// onKeyPress={props.onKeyPress} // onKeyPress={props.onKeyPress}
placeholder='소유자 명을 입력하세요' placeholder='소유자 명을 입력하세요'
/> />

52
src/components/basis/flight/plan/FlightPlanForm.js

@ -17,9 +17,10 @@ import FlightPlanPilotContainer from '../../../../containers/basis/flight/plan/F
import { FlightPlanModal } from './FlightPlanModal'; import { FlightPlanModal } from './FlightPlanModal';
import FlightPlanArcrftContainer from '../../../../containers/basis/flight/plan/FlightPlanArcrftContainer'; import FlightPlanArcrftContainer from '../../../../containers/basis/flight/plan/FlightPlanArcrftContainer';
import FlightPlanAreaContainer from '../../../../containers/basis/flight/plan/FlightPlanAreaContainer'; import FlightPlanAreaContainer from '../../../../containers/basis/flight/plan/FlightPlanAreaContainer';
import { X } from 'react-feather';
const FlightPlanForm = ({data, handleModal, handleChange, handleSave, handleDelete, modal}) => { const FlightPlanForm = ({data, handleModal, handleChange, handleSave, handleDelete, modal, handleDeleteArray }) => {
const {areaList, pilotList, arcrftList} = data; const {areaList, pilotList, arcrftList} = data;
return ( return (
@ -275,7 +276,8 @@ const FlightPlanForm = ({data, handleModal, handleChange, handleSave, handleDele
<PilotForm key={i} <PilotForm key={i}
index={i} index={i}
data={item} data={item}
handleChange={handleChange}/>) handleChange={handleChange}
handleDeleteArray ={handleDeleteArray}/>)
: <PilotForm data={initFlightBas.pilot} : <PilotForm data={initFlightBas.pilot}
handleChange={handleChange}/>} handleChange={handleChange}/>}
</dt> </dt>
@ -296,7 +298,9 @@ const FlightPlanForm = ({data, handleModal, handleChange, handleSave, handleDele
<ArcrftForm key={i} <ArcrftForm key={i}
index={i} index={i}
data={item} data={item}
handleChange={handleChange}/>) handleChange={handleChange}
handleDeleteArray ={handleDeleteArray}/>)
: <ArcrftForm data={initFlightBas.arcrft} : <ArcrftForm data={initFlightBas.arcrft}
handleChange={handleChange}/>} handleChange={handleChange}/>}
</dt> </dt>
@ -512,13 +516,13 @@ const AreaForm = ({data, handleChange, index}) => {
</Row> </Row>
</div>) </div>)
} }
const PilotForm = ({data, handleChange, index}) => { const PilotForm = ({data, handleChange, index, handleDeleteArray}) => {
return (<div className='search-info-box'> return (<div className='search-info-box'>
<Row> <Row>
<Col className='list-input' lg={3} md={6} sm={12}> <Col className='list-input' lg={3} md={6} sm={12}>
<FormGroup> <FormGroup>
<Label for='test'> <Label for='test'>
<span className='necessary'>*</span> <span className='necessary'>*</span>
</Label> </Label>
<Input <Input
type='text' type='text'
@ -641,18 +645,35 @@ const PilotForm = ({data, handleChange, index}) => {
/> />
</FormGroup> </FormGroup>
</Col> </Col>
{index !== 0 ?
<Col className='count-del-btn' xs={12} md={2} xl={2} >
<Button.Ripple
color='danger'
className='text-nowrap px-1'
onClick={() =>
handleDeleteArray({ type: 'pilot', index })
}
outline
>
<X size={14} className='mr-50' />
<span>삭제</span>
</Button.Ripple>
</Col>
:
null
}
</Row> </Row>
</div>) </div>)
} }
const ArcrftForm = ({data, handleChange, index}) => { const ArcrftForm = ({data, handleChange, index, handleDeleteArray}) => {
return (<div className='search-info-box'> return (<div className='search-info-box'>
<Row> <Row>
<Col className='list-input' lg={3} md={6} sm={12}> <Col className='list-input' lg={3} md={6} sm={12}>
<FormGroup> <FormGroup>
<Label for='test'> <Label for='test'>
<span className='necessary'>*</span> <span className='necessary'>*</span>
</Label> </Label>
<Input <Input
type='text' type='text'
@ -753,6 +774,23 @@ const ArcrftForm = ({data, handleChange, index}) => {
/> />
</FormGroup> </FormGroup>
</Col> </Col>
{index !== 0 ?
<Col className='count-del-btn' xs={12} md={2} xl={2} >
<Button.Ripple
color='danger'
className='text-nowrap px-1'
onClick={() =>
handleDeleteArray({ type: 'arcrft', index })
}
outline
>
<X size={14} className='mr-50' />
<span>삭제</span>
</Button.Ripple>
</Col>
:
null
}
</Row> </Row>
</div>) </div>)
} }

71
src/components/basis/flight/plan/FlightPlanPilot.js

@ -44,31 +44,7 @@ const FlightPlanPilot = ({ pilotList, handleSelectPilot }) => {
<CardBody className='pal-card-body'> <CardBody className='pal-card-body'>
<div className='search-cont'> <div className='search-cont'>
<dl> <dl>
<dt> <dt>
<div className='search-box'>
<div className='search-list-ti'>그룹 </div>
<div className='search-list'>
<div className='search-list-cont'>
<Row>
<Col className='list-input' xl='4' md='4' sm='12'>
<FormGroup className='form-label-group'>
<Input
type='text'
id='groupNm'
name='groupNm'
// value={props.params.groupNm}
// onChange={props.handlerInput}
size='sm'
// onKeyPress={props.onKeyPress}
placeholder='그룹명을 입력하세요'
/>
<Label for='test'>그룹 </Label>
</FormGroup>
</Col>
</Row>
</div>
</div>
</div>
<div className='search-box'> <div className='search-box'>
<div className='search-list-ti'>성명</div> <div className='search-list-ti'>성명</div>
<div className='search-list'> <div className='search-list'>
@ -82,7 +58,7 @@ const FlightPlanPilot = ({ pilotList, handleSelectPilot }) => {
name='memberName' name='memberName'
// value={props.params.groupNm} // value={props.params.groupNm}
// onChange={props.handlerInput} // onChange={props.handlerInput}
size='sm' bsSize='sm'
// onKeyPress={props.onKeyPress} // onKeyPress={props.onKeyPress}
placeholder='성명을 입력하세요' placeholder='성명을 입력하세요'
/> />
@ -102,31 +78,26 @@ const FlightPlanPilot = ({ pilotList, handleSelectPilot }) => {
</Col> </Col>
</Row> </Row>
</div> </div>
<div className='pal-card-box'> <div className='pal-card-box'>
<Row> <div className='cont-ti d-flex justify-content-between align-items-sm-center align-items-start flex-sm-row'>
<Col> <div>
<div className='cont-ti d-flex justify-content-between align-items-sm-center align-items-start flex-sm-row'> <h4>조종사 목록</h4>
<div> <span className='search-case'>검색결과 {!!pilotList ? pilotList.length : 0}</span>
<h4>조종사 목록</h4> </div>
<span className='search-case'>검색결과 {!!pilotList ? pilotList.length : 0}</span> <div className='d-flex align-items-center'></div>
</div> </div>
</div> <div className='invoice-list-wrapper'>
<div className='invoice-list-wrapper'> <Card>
<Card> <div className='invoice-list-dataTable'>
<div className='invoice-list-dataTable'> <GridDatabase
<GridDatabase data={pilotList}
title={'조종사목록'} count={pilotList ? pilotList.length : 0}
data={pilotList} columns={columns}
// count={0} // pagination={props.pagination}
columns={columns} />
// pagination={props.pagination}
/>
{/* 검색된 데이터가 없습니다. */}
</div>
</Card>
</div> </div>
</Col> </Card>
</Row> </div>
</div> </div>
</> </>
) )

24
src/containers/basis/flight/plan/FlightPlanDetailContainer.js

@ -37,7 +37,7 @@ const FlightPlanDetailContainer = () => {
}, [detail]) }, [detail])
useEffect(() => { useEffect(() => {
if(pilotSelect !== undefined) { if(pilotSelect !== undefined) {
const pilotList = detailData.pilotList.concat(); const pilotList = detailData.pilotList.concat();
const pilot = Object.assign({}, initFlightBas['pilot']); const pilot = Object.assign({}, initFlightBas['pilot']);
@ -291,14 +291,32 @@ const FlightPlanDetailContainer = () => {
break; break;
case 'area': case 'area':
case 'pilot': case 'pilot':
case 'arcrft':
setDetailData(prevState => { setDetailData(prevState => {
const arr = [...prevState[type]]; const arr = [...prevState[arrName]];
const deleteData = arr.splice(index, 1); const deleteData = arr.splice(index, 1);
return { return {
...prevState, ...prevState,
[arrName]: arr [arrName]: arr
}
})
case 'arcrft':
setDetailData(prevState => {
const arr = [...prevState[arrName]];
const deleteData = arr.splice(index, 1);
if(arr.length > 0) {
return {
...prevState,
[arrName]: arr
}
} else {
return {
...prevState,
['pilotList']: initFlightBas[arrName]
}
} }
}) })
default: default:
break; break;

2
src/containers/basis/flight/plan/FlightPlanPilotContainer.js

@ -34,7 +34,7 @@ const FlightPlanPilotContainer = ({handleModal, type}) => {
<FlightPlanPilot <FlightPlanPilot
pilotList = {pilotList} pilotList = {pilotList}
handleSelectPilot={handleSelectPilot} handleSelectPilot={handleSelectPilot}
/> />
) )
} }

2
src/modules/basis/flight/reducers/basisFlightReducer.ts

@ -72,7 +72,7 @@ export const flightReducer = createReducer<FlightState, Actions.FlightAction>(in
draft.arcrftSelect = undefined; draft.arcrftSelect = undefined;
draft.pilotSelect = undefined; draft.pilotSelect = undefined;
draft.areaList = undefined; draft.areaList = undefined;
draft.areaCoordList = undefined; // draft.areaCoordList = undefined;
}) })
) )
// 비행 구역 좌표 저장 // 비행 구역 좌표 저장

Loading…
Cancel
Save