Browse Source

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

pull/2/head
노승철 2 years ago
parent
commit
203ca30607
  1. 26
      src/components/basis/flight/plan/FlightPlanArcrft.js
  2. 48
      src/components/basis/flight/plan/FlightPlanForm.js
  3. 35
      src/components/basis/flight/plan/FlightPlanPilot.js
  4. 20
      src/containers/basis/flight/plan/FlightPlanDetailContainer.js
  5. 2
      src/modules/basis/flight/reducers/basisFlightReducer.ts

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

@ -46,30 +46,6 @@ const FlightPlanArcrft = ({ arcrftList, handleSelectArcrft }) => {
<div className='search-cont'>
<dl>
<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-list-ti'>소유자 </div>
<div className='search-list'>
@ -83,7 +59,7 @@ const FlightPlanArcrft = ({ arcrftList, handleSelectArcrft }) => {
name='ownerNm'
// value={props.params.groupNm}
// onChange={props.handlerInput}
size='sm'
bsSize='sm'
// onKeyPress={props.onKeyPress}
placeholder='소유자 명을 입력하세요'
/>

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

@ -17,9 +17,10 @@ import FlightPlanPilotContainer from '../../../../containers/basis/flight/plan/F
import { FlightPlanModal } from './FlightPlanModal';
import FlightPlanArcrftContainer from '../../../../containers/basis/flight/plan/FlightPlanArcrftContainer';
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;
return (
@ -275,7 +276,8 @@ const FlightPlanForm = ({data, handleModal, handleChange, handleSave, handleDele
<PilotForm key={i}
index={i}
data={item}
handleChange={handleChange}/>)
handleChange={handleChange}
handleDeleteArray ={handleDeleteArray}/>)
: <PilotForm data={initFlightBas.pilot}
handleChange={handleChange}/>}
</dt>
@ -296,7 +298,9 @@ const FlightPlanForm = ({data, handleModal, handleChange, handleSave, handleDele
<ArcrftForm key={i}
index={i}
data={item}
handleChange={handleChange}/>)
handleChange={handleChange}
handleDeleteArray ={handleDeleteArray}/>)
: <ArcrftForm data={initFlightBas.arcrft}
handleChange={handleChange}/>}
</dt>
@ -512,7 +516,7 @@ const AreaForm = ({data, handleChange, index}) => {
</Row>
</div>)
}
const PilotForm = ({data, handleChange, index}) => {
const PilotForm = ({data, handleChange, index, handleDeleteArray}) => {
return (<div className='search-info-box'>
<Row>
<Col className='list-input' lg={3} md={6} sm={12}>
@ -641,12 +645,29 @@ const PilotForm = ({data, handleChange, index}) => {
/>
</FormGroup>
</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>
</div>)
}
const ArcrftForm = ({data, handleChange, index}) => {
const ArcrftForm = ({data, handleChange, index, handleDeleteArray}) => {
return (<div className='search-info-box'>
<Row>
<Col className='list-input' lg={3} md={6} sm={12}>
@ -753,6 +774,23 @@ const ArcrftForm = ({data, handleChange, index}) => {
/>
</FormGroup>
</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>
</div>)
}

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

@ -45,30 +45,6 @@ const FlightPlanPilot = ({ pilotList, handleSelectPilot }) => {
<div className='search-cont'>
<dl>
<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-list-ti'>성명</div>
<div className='search-list'>
@ -82,7 +58,7 @@ const FlightPlanPilot = ({ pilotList, handleSelectPilot }) => {
name='memberName'
// value={props.params.groupNm}
// onChange={props.handlerInput}
size='sm'
bsSize='sm'
// onKeyPress={props.onKeyPress}
placeholder='성명을 입력하세요'
/>
@ -103,30 +79,25 @@ const FlightPlanPilot = ({ pilotList, handleSelectPilot }) => {
</Row>
</div>
<div className='pal-card-box'>
<Row>
<Col>
<div className='cont-ti d-flex justify-content-between align-items-sm-center align-items-start flex-sm-row'>
<div>
<h4>조종사 목록</h4>
<span className='search-case'>검색결과 {!!pilotList ? pilotList.length : 0}</span>
</div>
<div className='d-flex align-items-center'></div>
</div>
<div className='invoice-list-wrapper'>
<Card>
<div className='invoice-list-dataTable'>
<GridDatabase
title={'조종사목록'}
data={pilotList}
// count={0}
count={pilotList ? pilotList.length : 0}
columns={columns}
// pagination={props.pagination}
/>
{/* 검색된 데이터가 없습니다. */}
</div>
</Card>
</div>
</Col>
</Row>
</div>
</>
)

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

@ -291,14 +291,32 @@ const FlightPlanDetailContainer = () => {
break;
case 'area':
case 'pilot':
setDetailData(prevState => {
const arr = [...prevState[arrName]];
const deleteData = arr.splice(index, 1);
return {
...prevState,
[arrName]: arr
}
})
case 'arcrft':
setDetailData(prevState => {
const arr = [...prevState[type]];
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:
break;

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

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

Loading…
Cancel
Save