|
|
@ -8,11 +8,10 @@ import { CustomMainLayout } from '../../../components/layout/CustomMainLayout'; |
|
|
|
import * as Actions from '../../../modules/analysis/history/actions/analysisHistoryAction'; |
|
|
|
import * as Actions from '../../../modules/analysis/history/actions/analysisHistoryAction'; |
|
|
|
import FlightPlanGroupGrid from '../../../components/basis/flight/plan/FlightPlanGroupGrid'; |
|
|
|
import FlightPlanGroupGrid from '../../../components/basis/flight/plan/FlightPlanGroupGrid'; |
|
|
|
import { JOIN_LIST } from '../../../modules/basis/group/actions/basisGroupAction'; |
|
|
|
import { JOIN_LIST } from '../../../modules/basis/group/actions/basisGroupAction'; |
|
|
|
import { Col, Row, Button } from 'reactstrap'; |
|
|
|
import { Col, Row, Button, Modal, ModalHeader, ModalBody, ModalFooter } 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 FlightPlanAprvGrid from '../../../components/basis/flight/aprv/FlightPlanAprvGrid'; |
|
|
|
|
|
|
|
import { useHistory } from 'react-router-dom'; |
|
|
|
import { useHistory } from 'react-router-dom'; |
|
|
|
|
|
|
|
import { MessageErrorModal } from '../../../components/message/MessageErrorModal'; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
export const AnalysisHistoryContainer = props => { |
|
|
|
export const AnalysisHistoryContainer = props => { |
|
|
@ -28,14 +27,22 @@ export const AnalysisHistoryContainer = props => { |
|
|
|
|
|
|
|
|
|
|
|
}; |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
const history = useHistory(); |
|
|
|
|
|
|
|
const [searchData, setSearchData] = useState(initSearchData); |
|
|
|
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 { 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 [isClick, setIsClick] = useState(0); |
|
|
|
|
|
|
|
const [dateType, setDateType] = useState(1); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const [modal, setModal] = useState({ |
|
|
|
|
|
|
|
isOpen: false, |
|
|
|
|
|
|
|
title: '', |
|
|
|
|
|
|
|
desc: '', |
|
|
|
|
|
|
|
color: '' |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const handleGroupSelect = ({ groupId }) => { |
|
|
|
// 권한 상관 없이 모두 조회 가능
|
|
|
|
// 권한 상관 없이 모두 조회 가능
|
|
|
|
const param = searchData; |
|
|
|
const param = searchData; |
|
|
|
// param.cstmrSno = user.cstmrSno;
|
|
|
|
// param.cstmrSno = user.cstmrSno;
|
|
|
@ -47,6 +54,7 @@ export const AnalysisHistoryContainer = props => { |
|
|
|
sessionStorage.setItem('groupId', groupId); |
|
|
|
sessionStorage.setItem('groupId', groupId); |
|
|
|
sessionStorage.setItem('cstmrSno', user.cstmrSno); |
|
|
|
sessionStorage.setItem('cstmrSno', user.cstmrSno); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
setIsClick(0) |
|
|
|
setSearchData(prevState => { |
|
|
|
setSearchData(prevState => { |
|
|
|
return { |
|
|
|
return { |
|
|
|
...prevState, |
|
|
|
...prevState, |
|
|
@ -54,19 +62,13 @@ export const AnalysisHistoryContainer = props => { |
|
|
|
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: '', endDate: '', stDate: '' })); |
|
|
|
} |
|
|
|
setIsClick(0) |
|
|
|
const handleSearch = (data) => { |
|
|
|
|
|
|
|
dispatch(FlightAction.FLIGHT_APRV_LIST.request(data)); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
const handleChangeSelected = ({ selectedRows }) => { |
|
|
|
|
|
|
|
setSelPlanSnoList(selectedRows.map(item => item.planSno)) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -205,20 +207,20 @@ export const AnalysisHistoryContainer = props => { |
|
|
|
endDate: moment().subtract(-1, 'day').format('YYYY-MM-DD'), |
|
|
|
endDate: moment().subtract(-1, 'day').format('YYYY-MM-DD'), |
|
|
|
search1: '', |
|
|
|
search1: '', |
|
|
|
groupId: searchData.groupId |
|
|
|
groupId: searchData.groupId |
|
|
|
|
|
|
|
|
|
|
|
}); |
|
|
|
}); |
|
|
|
|
|
|
|
console.log(searchData.groupId); |
|
|
|
|
|
|
|
|
|
|
|
useEffect(() => { |
|
|
|
useEffect(() => { |
|
|
|
|
|
|
|
setParams({ |
|
|
|
|
|
|
|
...params, |
|
|
|
|
|
|
|
stDate: '', |
|
|
|
|
|
|
|
endDate: '', |
|
|
|
|
|
|
|
search1: '', |
|
|
|
|
|
|
|
groupId: searchData.groupId |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
}, [searchData.groupId]); |
|
|
|
|
|
|
|
|
|
|
|
if (searchParams) { |
|
|
|
|
|
|
|
setParams({ |
|
|
|
|
|
|
|
stDate: searchParams.stDate, |
|
|
|
|
|
|
|
endDate: searchParams.endDate, |
|
|
|
|
|
|
|
search1: '', |
|
|
|
|
|
|
|
groupId: searchData.groupId |
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
// handlerSearch();
|
|
|
|
|
|
|
|
}, [searchData]); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
useEffect(() => { |
|
|
|
useEffect(() => { |
|
|
|
if (data) return; |
|
|
|
if (data) return; |
|
|
@ -230,10 +232,27 @@ export const AnalysisHistoryContainer = props => { |
|
|
|
} |
|
|
|
} |
|
|
|
}; |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
useEffect(() => { }, [params]); |
|
|
|
// useEffect(() => { }, [params]);
|
|
|
|
|
|
|
|
|
|
|
|
const handlerSearch = () => { |
|
|
|
const handlerSearch = () => { |
|
|
|
dispatch(Actions.list.request({ searchParams: params })); |
|
|
|
if (!params.stDate || !params.endDate) { |
|
|
|
|
|
|
|
setModal({ |
|
|
|
|
|
|
|
isOpen: true, |
|
|
|
|
|
|
|
title: '필수값 입력 오류', |
|
|
|
|
|
|
|
desc: '올바른 일자를 입력해 주세요.', |
|
|
|
|
|
|
|
color: 'modal-danger' |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
else if (!params.groupId) { |
|
|
|
|
|
|
|
setModal({ |
|
|
|
|
|
|
|
isOpen: true, |
|
|
|
|
|
|
|
title: '필수값 입력 오류', |
|
|
|
|
|
|
|
desc: '그룹 선택 해주세요.', |
|
|
|
|
|
|
|
color: 'modal-danger' |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
else |
|
|
|
|
|
|
|
dispatch(Actions.list.request({ searchParams: params })); |
|
|
|
}; |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
const handlerInput = (type, val) => { |
|
|
|
const handlerInput = (type, val) => { |
|
|
@ -247,10 +266,14 @@ export const AnalysisHistoryContainer = props => { |
|
|
|
stDate: moment(val[0]).format('YYYY-MM-DD'), |
|
|
|
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) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
}; |
|
|
|
}; |
|
|
|
|
|
|
|
const handlerClickDate = val => { |
|
|
|
|
|
|
|
setDateType(val); |
|
|
|
|
|
|
|
setIsClick(val); |
|
|
|
|
|
|
|
}; |
|
|
|
return ( |
|
|
|
return ( |
|
|
|
|
|
|
|
|
|
|
|
<CustomMainLayout title={titleName}> |
|
|
|
<CustomMainLayout title={titleName}> |
|
|
@ -274,6 +297,10 @@ export const AnalysisHistoryContainer = props => { |
|
|
|
params={params} |
|
|
|
params={params} |
|
|
|
onKeyPress={onKeyPress} |
|
|
|
onKeyPress={onKeyPress} |
|
|
|
setParams={setParams} |
|
|
|
setParams={setParams} |
|
|
|
|
|
|
|
isClick={isClick} |
|
|
|
|
|
|
|
dateType={dateType} |
|
|
|
|
|
|
|
handlerClickDate={handlerClickDate} |
|
|
|
|
|
|
|
searchData={searchData} |
|
|
|
/> |
|
|
|
/> |
|
|
|
</> |
|
|
|
</> |
|
|
|
|
|
|
|
|
|
|
@ -294,6 +321,7 @@ export const AnalysisHistoryContainer = props => { |
|
|
|
excelHeaders={excelHeaders} |
|
|
|
excelHeaders={excelHeaders} |
|
|
|
count={count} |
|
|
|
count={count} |
|
|
|
pagination={true} |
|
|
|
pagination={true} |
|
|
|
|
|
|
|
|
|
|
|
/> |
|
|
|
/> |
|
|
|
</> |
|
|
|
</> |
|
|
|
|
|
|
|
|
|
|
@ -305,6 +333,31 @@ export const AnalysisHistoryContainer = props => { |
|
|
|
</Col> |
|
|
|
</Col> |
|
|
|
</Row> |
|
|
|
</Row> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
<div className='vertically-centered-modal'> |
|
|
|
|
|
|
|
<Modal |
|
|
|
|
|
|
|
isOpen={modal.isOpen} |
|
|
|
|
|
|
|
toggle={() => setModal({ ...modal, isOpen: !modal.isOpen })} |
|
|
|
|
|
|
|
modalClassName={modal.color} |
|
|
|
|
|
|
|
className='modal-dialog-centered' |
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
<ModalHeader |
|
|
|
|
|
|
|
toggle={() => setModal({ ...modal, isOpen: !modal.isOpen })} |
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
{modal.title} |
|
|
|
|
|
|
|
</ModalHeader> |
|
|
|
|
|
|
|
<ModalBody>{modal.desc}</ModalBody> |
|
|
|
|
|
|
|
<ModalFooter> |
|
|
|
|
|
|
|
<Button |
|
|
|
|
|
|
|
color='danger' |
|
|
|
|
|
|
|
onClick={() => setModal({ ...modal, isOpen: !modal.isOpen })} |
|
|
|
|
|
|
|
> |
|
|
|
|
|
|
|
확인 |
|
|
|
|
|
|
|
</Button>{' '} |
|
|
|
|
|
|
|
</ModalFooter> |
|
|
|
|
|
|
|
</Modal> |
|
|
|
|
|
|
|
</div> |
|
|
|
|
|
|
|
<MessageErrorModal /> |
|
|
|
</CustomMainLayout> |
|
|
|
</CustomMainLayout> |
|
|
|
|
|
|
|
|
|
|
|
); |
|
|
|
); |
|
|
|
}; |
|
|
|
}; |
|
|
|