|
|
|
@ -8,12 +8,19 @@ import { CustomMainLayout } from '../../../components/layout/CustomMainLayout';
|
|
|
|
|
import * as Actions from '../../../modules/analysis/history/actions/analysisHistoryAction'; |
|
|
|
|
import FlightPlanGroupGrid from '../../../components/basis/flight/plan/FlightPlanGroupGrid'; |
|
|
|
|
import { JOIN_LIST } from '../../../modules/basis/group/actions/basisGroupAction'; |
|
|
|
|
import { Col, Row, Button, Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap'; |
|
|
|
|
import { |
|
|
|
|
Col, |
|
|
|
|
Row, |
|
|
|
|
Button, |
|
|
|
|
Modal, |
|
|
|
|
ModalHeader, |
|
|
|
|
ModalBody, |
|
|
|
|
ModalFooter |
|
|
|
|
} from 'reactstrap'; |
|
|
|
|
import * as FlightAction from '../../../modules/basis/flight/actions/basisFlightAction'; |
|
|
|
|
import { useHistory } from 'react-router-dom'; |
|
|
|
|
import { MessageErrorModal } from '../../../components/message/MessageErrorModal'; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
export const AnalysisHistoryContainer = props => { |
|
|
|
|
const { data, count, searchParams } = useSelector( |
|
|
|
|
state => state.analysisHistoryState |
|
|
|
@ -23,12 +30,15 @@ export const AnalysisHistoryContainer = props => {
|
|
|
|
|
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: '', |
|
|
|
|
|
|
|
|
|
groupId: '' |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
const [searchData, setSearchData] = useState(initSearchData); |
|
|
|
|
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); |
|
|
|
|
|
|
|
|
@ -42,6 +52,42 @@ export const AnalysisHistoryContainer = props => {
|
|
|
|
|
color: '' |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
useEffect(() => { |
|
|
|
|
if (aprvProc && aprvProc.result > 0) { |
|
|
|
|
handleSearch(searchData); |
|
|
|
|
} |
|
|
|
|
}, [aprvProc]); |
|
|
|
|
|
|
|
|
|
useEffect(() => { |
|
|
|
|
if (user?.cstmrSno) { |
|
|
|
|
dispatch( |
|
|
|
|
JOIN_LIST.request({ |
|
|
|
|
cstmrSno: user?.cstmrSno |
|
|
|
|
}) |
|
|
|
|
); |
|
|
|
|
} |
|
|
|
|
}, [user]); |
|
|
|
|
|
|
|
|
|
useEffect(() => { |
|
|
|
|
setParams({ |
|
|
|
|
...params, |
|
|
|
|
stDate: '', |
|
|
|
|
endDate: '', |
|
|
|
|
search1: '', |
|
|
|
|
groupId: searchData.groupId |
|
|
|
|
}); |
|
|
|
|
}, [searchData.groupId]); |
|
|
|
|
|
|
|
|
|
useEffect(() => { |
|
|
|
|
handlerGroupCancel(); |
|
|
|
|
}, []); |
|
|
|
|
|
|
|
|
|
const onKeyPress = e => { |
|
|
|
|
if (e.key == 'Enter') { |
|
|
|
|
handlerSearch(); |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
const handleGroupSelect = ({ groupId }) => { |
|
|
|
|
// 권한 상관 없이 모두 조회 가능
|
|
|
|
|
const param = searchData; |
|
|
|
@ -54,47 +100,33 @@ export const AnalysisHistoryContainer = props => {
|
|
|
|
|
sessionStorage.setItem('groupId', groupId); |
|
|
|
|
sessionStorage.setItem('cstmrSno', user.cstmrSno); |
|
|
|
|
|
|
|
|
|
setIsClick(0) |
|
|
|
|
setIsClick(0); |
|
|
|
|
setSearchData(prevState => { |
|
|
|
|
return { |
|
|
|
|
...prevState, |
|
|
|
|
// cstmrSno: user.cstmrSno,
|
|
|
|
|
groupId: groupId |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
}); |
|
|
|
|
//dispatch(Actions.list.request({ searchParams: param }));
|
|
|
|
|
} |
|
|
|
|
dispatch(Actions.LIST_INITAL()); |
|
|
|
|
}; |
|
|
|
|
const handlerGroupCancel = () => { |
|
|
|
|
dispatch(FlightAction.FLIGHT_PLAN_GROUP_SELECT({ cstmrSno: 0, groupId: '', groupNm: '', endDate: '', stDate: '' })); |
|
|
|
|
setIsClick(0) |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
useEffect(() => { |
|
|
|
|
if (aprvProc && aprvProc.result > 0) { |
|
|
|
|
handleSearch(searchData); |
|
|
|
|
} |
|
|
|
|
}, [aprvProc]) |
|
|
|
|
|
|
|
|
|
useEffect(() => { |
|
|
|
|
if (user?.cstmrSno) { |
|
|
|
|
dispatch( |
|
|
|
|
JOIN_LIST.request({ |
|
|
|
|
cstmrSno: user?.cstmrSno |
|
|
|
|
}) |
|
|
|
|
); |
|
|
|
|
} |
|
|
|
|
}, [user]) |
|
|
|
|
|
|
|
|
|
dispatch( |
|
|
|
|
FlightAction.FLIGHT_PLAN_GROUP_SELECT({ |
|
|
|
|
cstmrSno: 0, |
|
|
|
|
groupId: '', |
|
|
|
|
groupNm: '', |
|
|
|
|
endDate: '', |
|
|
|
|
stDate: '' |
|
|
|
|
}) |
|
|
|
|
); |
|
|
|
|
setIsClick(0); |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
const dispatch = useDispatch(); |
|
|
|
|
|
|
|
|
|
const titleName = '비행이력 현황'; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const excelHeaders = [ |
|
|
|
|
{ label: '일자', key: 'cntrlStDt' }, |
|
|
|
|
{ label: '식별번호', key: 'idntfNum' }, |
|
|
|
@ -207,30 +239,7 @@ export const AnalysisHistoryContainer = props => {
|
|
|
|
|
endDate: moment().subtract(-1, 'day').format('YYYY-MM-DD'), |
|
|
|
|
search1: '', |
|
|
|
|
groupId: searchData.groupId |
|
|
|
|
|
|
|
|
|
}); |
|
|
|
|
console.log(searchData.groupId); |
|
|
|
|
|
|
|
|
|
useEffect(() => { |
|
|
|
|
setParams({ |
|
|
|
|
...params, |
|
|
|
|
stDate: '', |
|
|
|
|
endDate: '', |
|
|
|
|
search1: '', |
|
|
|
|
groupId: searchData.groupId |
|
|
|
|
}); |
|
|
|
|
}, [searchData.groupId]); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
useEffect(() => { |
|
|
|
|
if (data) return; |
|
|
|
|
}, [searchParams]); |
|
|
|
|
|
|
|
|
|
const onKeyPress = e => { |
|
|
|
|
if (e.key == 'Enter') { |
|
|
|
|
handlerSearch(); |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
// useEffect(() => { }, [params]);
|
|
|
|
|
|
|
|
|
@ -241,18 +250,15 @@ export const AnalysisHistoryContainer = props => {
|
|
|
|
|
title: '필수값 입력 오류', |
|
|
|
|
desc: '올바른 일자를 입력해 주세요.', |
|
|
|
|
color: 'modal-danger' |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
else if (!params.groupId) { |
|
|
|
|
}); |
|
|
|
|
} else if (!params.groupId) { |
|
|
|
|
setModal({ |
|
|
|
|
isOpen: true, |
|
|
|
|
title: '필수값 입력 오류', |
|
|
|
|
desc: '그룹 선택 해주세요.', |
|
|
|
|
color: 'modal-danger' |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
dispatch(Actions.list.request({ searchParams: params })); |
|
|
|
|
}); |
|
|
|
|
} else dispatch(Actions.list.request({ searchParams: params })); |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
const handlerInput = (type, val) => { |
|
|
|
@ -264,9 +270,9 @@ export const AnalysisHistoryContainer = props => {
|
|
|
|
|
setParams({ |
|
|
|
|
...params, |
|
|
|
|
stDate: moment(val[0]).format('YYYY-MM-DD'), |
|
|
|
|
endDate: moment(val[1]).format('YYYY-MM-DD'), |
|
|
|
|
endDate: moment(val[1]).format('YYYY-MM-DD') |
|
|
|
|
}); |
|
|
|
|
setIsClick(-1) |
|
|
|
|
setIsClick(-1); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
@ -275,7 +281,6 @@ export const AnalysisHistoryContainer = props => {
|
|
|
|
|
setIsClick(val); |
|
|
|
|
}; |
|
|
|
|
return ( |
|
|
|
|
|
|
|
|
|
<CustomMainLayout title={titleName}> |
|
|
|
|
<div className='pal-card-box'> |
|
|
|
|
<Row> |
|
|
|
@ -303,13 +308,11 @@ export const AnalysisHistoryContainer = props => {
|
|
|
|
|
searchData={searchData} |
|
|
|
|
/> |
|
|
|
|
</> |
|
|
|
|
|
|
|
|
|
) : ( |
|
|
|
|
<div className='no-dataTable'> |
|
|
|
|
나의 그룹 목록에서 상세보기를 클릭하세요. |
|
|
|
|
</div> |
|
|
|
|
)} |
|
|
|
|
|
|
|
|
|
</Col> |
|
|
|
|
<Col sm='12'> |
|
|
|
|
{selectGroup.cstmrSno !== 0 ? ( |
|
|
|
@ -321,15 +324,11 @@ export const AnalysisHistoryContainer = props => {
|
|
|
|
|
excelHeaders={excelHeaders} |
|
|
|
|
count={count} |
|
|
|
|
pagination={true} |
|
|
|
|
|
|
|
|
|
/> |
|
|
|
|
</> |
|
|
|
|
|
|
|
|
|
) : ( |
|
|
|
|
<div className='no-dataTable'> |
|
|
|
|
</div> |
|
|
|
|
<div className='no-dataTable'></div> |
|
|
|
|
)} |
|
|
|
|
|
|
|
|
|
</Col> |
|
|
|
|
</Row> |
|
|
|
|
</div> |
|
|
|
@ -358,6 +357,5 @@ export const AnalysisHistoryContainer = props => {
|
|
|
|
|
</div> |
|
|
|
|
<MessageErrorModal /> |
|
|
|
|
</CustomMainLayout> |
|
|
|
|
|
|
|
|
|
); |
|
|
|
|
}; |
|
|
|
|