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

Loading…
Cancel
Save