노승철
2 years ago
2 changed files with 177 additions and 0 deletions
@ -0,0 +1,136 @@
|
||||
import React from 'react'; |
||||
import {Button, Card, CardBody, Col, CustomInput, Row, FormGroup, Input, Label} from 'reactstrap'; |
||||
import {Search} from 'react-feather'; |
||||
import {GridDatabase} from '../../../crud/grid/GridDatatable'; |
||||
|
||||
const FlightPlanPilot = ({ pilotList, handleSelectPilot }) => { |
||||
const columns = [ |
||||
{id: 'groupNm', name: '그룹 명', cell: row => (<div>{row.groupNm}</div>)}, |
||||
{id: 'memberName', name: '성명', cell: row => (<div>{row.memberName}</div>)}, |
||||
{id: 'hpno', name: '핸드폰 번호', cell: row => (<div>{row.hpno}</div>)}, |
||||
{id: 'email', name: '이메일', cell: row => (<div>{row.email}</div>)}, |
||||
{ |
||||
id: 'selectPilot', name: '선택', cell: row => { |
||||
return <Button.Ripple color='primary' size='sm' onClick={() => { |
||||
handleSelectPilot(row.cstmrSno)
|
||||
} |
||||
}>선택</Button.Ripple>; |
||||
}
|
||||
} |
||||
]; |
||||
|
||||
return ( |
||||
<> |
||||
<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> |
||||
</div> |
||||
<div className='d-flex align-items-center'> |
||||
<Button.Ripple |
||||
color='primary' |
||||
size='sm' |
||||
// onClick={handleClickSearch}
|
||||
> |
||||
<Search size={16}/> |
||||
검색 |
||||
</Button.Ripple> |
||||
</div> |
||||
</div> |
||||
<Card> |
||||
<CardBody className='pal-card-body'> |
||||
<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'> |
||||
<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> |
||||
</dt> |
||||
</dl> |
||||
</div> |
||||
</CardBody> |
||||
</Card> |
||||
|
||||
</Col> |
||||
</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> |
||||
<div className='invoice-list-wrapper'> |
||||
<Card> |
||||
<div className='invoice-list-dataTable'> |
||||
<GridDatabase |
||||
title={'조종사목록'} |
||||
data={pilotList} |
||||
// count={0}
|
||||
columns={columns} |
||||
// pagination={props.pagination}
|
||||
/> |
||||
{/* 검색된 데이터가 없습니다. */} |
||||
</div> |
||||
</Card> |
||||
</div> |
||||
</Col> |
||||
</Row> |
||||
</div> |
||||
</> |
||||
) |
||||
|
||||
} |
||||
|
||||
export default FlightPlanPilot; |
@ -0,0 +1,41 @@
|
||||
import React, {useEffect, useState} from 'react'; |
||||
import {useDispatch, useSelector} from 'react-redux'; |
||||
import * as Actions from '../../../../modules/basis/flight/actions/basisFlightAction'; |
||||
import FlightPlanPilot from '../../../../components/basis/flight/plan/FlightPlanPilot'; |
||||
|
||||
const FlightPlanPilotContainer = ({handleModal, type}) => { |
||||
const dispatch = useDispatch(); |
||||
const { pilotList } = useSelector(state => state.flightState); |
||||
|
||||
|
||||
/* 조종사 조회 */ |
||||
const handleSearch = () => { |
||||
// group id 하드코딩
|
||||
dispatch(Actions.FLIGHT_PLAN_PILOT_LIST.request("D1682A")); |
||||
} |
||||
|
||||
/* 조종사 선택 */ |
||||
const handleSelectPilot = (cstmrSno) => { |
||||
handleModal({target: 'area', isOpen: false}); |
||||
|
||||
const pilot = pilotList.find(pilot => { |
||||
return pilot.cstmrSno === cstmrSno; |
||||
});
|
||||
/* 파일럿 정보 Redux 저장 */ |
||||
dispatch(Actions.PILOT_SELECT(pilot)); |
||||
} |
||||
|
||||
useEffect(() => { |
||||
handleSearch(); |
||||
}, []) |
||||
|
||||
|
||||
return ( |
||||
<FlightPlanPilot
|
||||
pilotList = {pilotList} |
||||
handleSelectPilot={handleSelectPilot} |
||||
/> |
||||
) |
||||
} |
||||
|
||||
export default FlightPlanPilotContainer; |
Loading…
Reference in new issue