Browse Source

비행이력현황(최종본)

pull/2/head
sanguu 2 years ago
parent
commit
499334d4b8
  1. 7
      src/components/analysis/history/AnalysisHistorySearch.js
  2. 151
      src/containers/analysis/history/AnalysisHistoryContainer.js

7
src/components/analysis/history/AnalysisHistorySearch.js

@ -15,18 +15,21 @@ import {
export const AnalysisHistorySearch = props => { export const AnalysisHistorySearch = props => {
const [isClick, setIsClick] = useState(1); const [isClick, setIsClick] = useState(1);
const [dateType, setDateType] = useState(1); const [dateType, setDateType] = useState(1);
useEffect(() => { useEffect(() => {
props.setParams({ props.setParams({
...props.params, ...props.params,
stDate: moment().subtract(dateType, 'day').format('YYYY-MM-DD') stDate: moment().subtract(dateType, 'day').format('YYYY-MM-DD')
}); });
}, [dateType]);
}, [dateType,props.params.groupId]);
const handlerClickDate = val => { const handlerClickDate = val => {
setDateType(val); setDateType(val);
setIsClick(val); setIsClick(val);
}; };
return ( return (
<div className='pal-card-box'> <div className='pal-card-box'>
<Row> <Row>

151
src/containers/analysis/history/AnalysisHistoryContainer.js

@ -12,7 +12,7 @@ import { Col, Row, Button } from 'reactstrap';
import * as FlightAction from '../../../modules/basis/flight/actions/basisFlightAction'; import * as FlightAction from '../../../modules/basis/flight/actions/basisFlightAction';
import FlightPlanAprvSearch from '../../../components/basis/flight/aprv/FlightPlanAprvSearch'; import FlightPlanAprvSearch from '../../../components/basis/flight/aprv/FlightPlanAprvSearch';
import FlightPlanAprvGrid from '../../../components/basis/flight/aprv/FlightPlanAprvGrid'; import FlightPlanAprvGrid from '../../../components/basis/flight/aprv/FlightPlanAprvGrid';
import {useHistory} from 'react-router-dom'; import { useHistory } from 'react-router-dom';
export const AnalysisHistoryContainer = props => { export const AnalysisHistoryContainer = props => {
@ -20,29 +20,29 @@ export const AnalysisHistoryContainer = props => {
state => state.analysisHistoryState state => state.analysisHistoryState
); );
const initSearchData = { const initSearchData = {
stDate: moment().subtract(1, 'day').format('YYYY-MM-DD'), stDate: moment().subtract(1, 'day').format('YYYY-MM-DD'),
endDate: moment().subtract(0, 'day').format('YYYY-MM-DD'), endDate: moment().subtract(0, 'day').format('YYYY-MM-DD'),
// stDate: moment().set({ 'date': 1, 'h': 0, 'm': 0, 's': 0 }).format('YYYY-MM-DD HH:mm:ss'), // stDate: moment().set({ 'date': 1, 'h': 0, 'm': 0, 's': 0 }).format('YYYY-MM-DD HH:mm:ss'),
// endDate: moment().set({ 'h': 23, 'm': 59, 's': 59 }).format('YYYY-MM-DD HH:mm:ss'), // endDate: moment().set({ 'h': 23, 'm': 59, 's': 59 }).format('YYYY-MM-DD HH:mm:ss'),
groupId: '', groupId: '',
}; };
const history = useHistory(); const history = useHistory();
const [searchData, setSearchData] = useState(initSearchData); const [searchData, setSearchData] = useState(initSearchData);
const [selPlanSnoList, setSelPlanSnoList] = useState([]); const [selPlanSnoList, setSelPlanSnoList] = useState([]);
const {list: aprvList, aprvProc, selectGroup} = useSelector(state => state.flightState); const { list: aprvList, aprvProc, selectGroup } = useSelector(state => state.flightState);
const { joinList, joinListCount } = useSelector(state => state.groupState); const { joinList, joinListCount } = useSelector(state => state.groupState);
const { user } = useSelector(state => state.authState, shallowEqual); const { user } = useSelector(state => state.authState, shallowEqual);
const handleGroupSelect = ({ groupId, groupNm, groupAuthCd }) => { const handleGroupSelect = ({ groupId, groupNm, groupAuthCd }) => {
// 권한 상관 없이 모두 조회 가능 // 권한 상관 없이 모두 조회 가능
const param = searchData; const param = searchData;
// param.cstmrSno = user.cstmrSno; // param.cstmrSno = user.cstmrSno;
param.groupId = groupId; param.groupId = groupId;
dispatch(FlightAction.FLIGHT_PLAN_GROUP_SELECT({groupId: groupId })); dispatch(FlightAction.FLIGHT_PLAN_GROUP_SELECT({ groupId: groupId }));
// groupId sessionStorage에 보관 (1 브라우저 1 tab에만 유효) // groupId sessionStorage에 보관 (1 브라우저 1 tab에만 유효)
sessionStorage.setItem('groupId', groupId); sessionStorage.setItem('groupId', groupId);
sessionStorage.setItem('cstmrSno', user.cstmrSno); sessionStorage.setItem('cstmrSno', user.cstmrSno);
@ -50,18 +50,18 @@ export const AnalysisHistoryContainer = props => {
setSearchData(prevState => { setSearchData(prevState => {
return { return {
...prevState, ...prevState,
// cstmrSno: user.cstmrSno, // cstmrSno: user.cstmrSno,
groupId: groupId groupId: groupId
} }
}); });
dispatch(Actions.list.request({searchParams:param})); dispatch(Actions.list.request({ searchParams: param }));
} }
const handlerGroupCancel = () => { const handlerGroupCancel = () => {
dispatch(FlightAction.FLIGHT_PLAN_GROUP_SELECT({ cstmrSno: 0, groupId: '', groupNm: '' })); dispatch(FlightAction.FLIGHT_PLAN_GROUP_SELECT({ cstmrSno: 0, groupId: '', groupNm: '' }));
} }
const handleSearch = (data) => { const handleSearch = (data) => {
dispatch(FlightAction.FLIGHT_APRV_LIST.request(data)); dispatch(FlightAction.FLIGHT_APRV_LIST.request(data));
} }
const handleChangeSelected = ({ selectedRows }) => { const handleChangeSelected = ({ selectedRows }) => {
setSelPlanSnoList(selectedRows.map(item => item.planSno)) setSelPlanSnoList(selectedRows.map(item => item.planSno))
@ -72,31 +72,26 @@ export const AnalysisHistoryContainer = props => {
useEffect(() => { useEffect(() => {
if (aprvProc && aprvProc.result > 0) { if (aprvProc && aprvProc.result > 0) {
handleSearch(searchData); handleSearch(searchData);
} }
}, [aprvProc]) }, [aprvProc])
useEffect(() => { useEffect(() => {
if (user?.cstmrSno) { if (user?.cstmrSno) {
dispatch( dispatch(
JOIN_LIST.request({ JOIN_LIST.request({
cstmrSno: user?.cstmrSno cstmrSno: user?.cstmrSno
}) })
); );
} }
}, [user]) }, [user])
const dispatch = useDispatch(); const dispatch = useDispatch();
const titleName = '비행이력 현황'; const titleName = '비행이력 현황';
const [params, setParams] = useState({
stDate: moment().subtract(1, 'day').format('YYYY-MM-DD'),
endDate: moment().subtract(-1, 'day').format('YYYY-MM-DD'),
search1: '',
groupId: searchData.groupId
});
const excelHeaders = [ const excelHeaders = [
{ label: '일자', key: 'cntrlStDt' }, { label: '일자', key: 'cntrlStDt' },
@ -205,8 +200,14 @@ export const AnalysisHistoryContainer = props => {
} }
]; ];
const [params, setParams] = useState({
stDate: moment().subtract(1, 'day').format('YYYY-MM-DD'),
endDate: moment().subtract(-1, 'day').format('YYYY-MM-DD'),
search1: '',
groupId: searchData.groupId
});
useEffect(() => { useEffect(() => {
if (data) return;
if (searchParams) { if (searchParams) {
setParams({ setParams({
@ -215,10 +216,14 @@ export const AnalysisHistoryContainer = props => {
search1: '', search1: '',
groupId: searchData.groupId groupId: searchData.groupId
}); });
} }
// handlerSearch(); // handlerSearch();
}, [searchData]); }, [searchData]);
useEffect(() => {
if (data) return;
}, [searchParams]);
const onKeyPress = e => { const onKeyPress = e => {
if (e.key == 'Enter') { if (e.key == 'Enter') {
handlerSearch(); handlerSearch();
@ -228,12 +233,12 @@ export const AnalysisHistoryContainer = props => {
useEffect(() => { }, [params]); useEffect(() => { }, [params]);
const handlerSearch = () => { const handlerSearch = () => {
dispatch(Actions.list.request({ searchParams: params })); dispatch(Actions.list.request({ searchParams: params }));
}; };
const handlerInput = (type, val) => { const handlerInput = (type, val) => {
if (type === 'search1') { if (type === 'search1') {
setParams({ ...params, search1: val}); setParams({ ...params, search1: val });
} }
if (type === 'searchDate') { if (type === 'searchDate') {
if (val.length == 2) { if (val.length == 2) {
@ -248,39 +253,39 @@ export const AnalysisHistoryContainer = props => {
return ( return (
<CustomMainLayout title={titleName}> <CustomMainLayout title={titleName}>
<div className='pal-card-box'> <div className='pal-card-box'>
<Row> <Row>
<Col sm='4'> <Col sm='4'>
<FlightPlanGroupGrid <FlightPlanGroupGrid
data={joinList} data={joinList}
count={joinListCount} count={joinListCount}
selectGroup={selectGroup} selectGroup={selectGroup}
handleGroupSelect={handleGroupSelect} handleGroupSelect={handleGroupSelect}
handlerGroupCancel={handlerGroupCancel} handlerGroupCancel={handlerGroupCancel}
/> />
</Col> </Col>
<Col sm='8'> <Col sm='8'>
{selectGroup.cstmrSno !== 0 ? ( {selectGroup.cstmrSno !== 0 ? (
<> <>
<AnalysisHistorySearch <AnalysisHistorySearch
handlerInput={handlerInput} handlerInput={handlerInput}
handlerSearch={handlerSearch} handlerSearch={handlerSearch}
params={params} params={params}
onKeyPress={onKeyPress} onKeyPress={onKeyPress}
setParams={setParams} setParams={setParams}
/> />
</> </>
) : ( ) : (
<div className='no-dataTable'> <div className='no-dataTable'>
나의 그룹 목록에서 상세보기를 클릭하세요. 나의 그룹 목록에서 상세보기를 클릭하세요.
</div> </div>
)} )}
</Col> </Col>
<Col sm='12'> <Col sm='12'>
{selectGroup.cstmrSno !== 0 ? ( {selectGroup.cstmrSno !== 0 ? (
<> <>
<AnalysisHistoryGrid <AnalysisHistoryGrid
data={data} data={data}
title={titleName} title={titleName}
@ -289,16 +294,16 @@ export const AnalysisHistoryContainer = props => {
count={count} count={count}
pagination={true} pagination={true}
/> />
</> </>
) : ( ) : (
<div className='no-dataTable'> <div className='no-dataTable'>
나의 그룹 목록에서 상세보기를 클릭하세요. 나의 그룹 목록에서 상세보기를 클릭하세요.
</div> </div>
)} )}
</Col> </Col>
</Row> </Row>
</div> </div>
</CustomMainLayout> </CustomMainLayout>
); );

Loading…
Cancel
Save