|
|
@ -25,23 +25,45 @@ import { useHistory } from 'react-router-dom'; |
|
|
|
import { MessageErrorModal } from '../../../components/message/MessageErrorModal'; |
|
|
|
import { MessageErrorModal } from '../../../components/message/MessageErrorModal'; |
|
|
|
|
|
|
|
|
|
|
|
export const AnalysisHistoryContainer = props => { |
|
|
|
export const AnalysisHistoryContainer = props => { |
|
|
|
const { data, count, searchParams, total, page } = useSelector( |
|
|
|
/** |
|
|
|
|
|
|
|
* data: 비행이력 현황 목록 |
|
|
|
|
|
|
|
* count: 비행이력 현황 갯수 |
|
|
|
|
|
|
|
* total: 비행이력 현황 총 갯수 |
|
|
|
|
|
|
|
* page: 비행이력 현황 현재 페이지 |
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
const { data, count, total, page } = useSelector( |
|
|
|
state => state.analysisHistoryState |
|
|
|
state => state.analysisHistoryState |
|
|
|
); |
|
|
|
); |
|
|
|
|
|
|
|
|
|
|
|
const { |
|
|
|
/** |
|
|
|
list: aprvList, |
|
|
|
* 선택한 그룹정보 및 검색조건 |
|
|
|
aprvProc, |
|
|
|
* stDate: 시작일자 |
|
|
|
selectGroup |
|
|
|
* endDate: 종료일자 |
|
|
|
} = useSelector(state => state.flightState); |
|
|
|
* search1: 식별번호 |
|
|
|
|
|
|
|
* groupId: 선택한 그룹의 ID |
|
|
|
|
|
|
|
* groupNm: 선택한 그룹의 이름 |
|
|
|
|
|
|
|
*/ |
|
|
|
|
|
|
|
const { selectGroup } = useSelector(state => state.flightState); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
|
|
* groupList: SUPER, ADMIN 권한으로 전체 그룹 목록을 가져온다 |
|
|
|
|
|
|
|
* groupListCount: SUPER, ADMIN 권한으로 전체 그룹 목록 갯수 |
|
|
|
|
|
|
|
* joinList: 일반 USER 권한 자신이 포함된 그룹 목록 |
|
|
|
|
|
|
|
* joinListCount: 일반 USER 권한 자신이 포함된 그룹 목록 갯수 |
|
|
|
|
|
|
|
*/ |
|
|
|
const { joinList, joinListCount, groupList, groupListCount } = useSelector( |
|
|
|
const { joinList, joinListCount, groupList, groupListCount } = useSelector( |
|
|
|
state => state.groupState |
|
|
|
state => state.groupState |
|
|
|
); |
|
|
|
); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// user: 로그인한 user 정보
|
|
|
|
const { user } = useSelector(state => state.authState, shallowEqual); |
|
|
|
const { user } = useSelector(state => state.authState, shallowEqual); |
|
|
|
|
|
|
|
|
|
|
|
// const [isClick, setIsClick] = useState(-1);
|
|
|
|
// const [isClick, setIsClick] = useState(-1);
|
|
|
|
// const [dateType, setDateType] = useState(1);
|
|
|
|
// const [dateType, setDateType] = useState(1);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
|
|
* Modal 초기값 state |
|
|
|
|
|
|
|
*/ |
|
|
|
const [modal, setModal] = useState({ |
|
|
|
const [modal, setModal] = useState({ |
|
|
|
isOpen: false, |
|
|
|
isOpen: false, |
|
|
|
title: '', |
|
|
|
title: '', |
|
|
@ -49,6 +71,9 @@ export const AnalysisHistoryContainer = props => { |
|
|
|
color: '' |
|
|
|
color: '' |
|
|
|
}); |
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
|
|
|
* 검색조건 초기값 |
|
|
|
|
|
|
|
*/ |
|
|
|
const [params, setParams] = useState({ |
|
|
|
const [params, setParams] = useState({ |
|
|
|
stDate: selectGroup.stDate |
|
|
|
stDate: selectGroup.stDate |
|
|
|
? moment(selectGroup.stDate).format('YYYY-MM-DD') |
|
|
|
? moment(selectGroup.stDate).format('YYYY-MM-DD') |
|
|
@ -60,11 +85,7 @@ export const AnalysisHistoryContainer = props => { |
|
|
|
groupId: selectGroup.groupId ? selectGroup.groupId : '' |
|
|
|
groupId: selectGroup.groupId ? selectGroup.groupId : '' |
|
|
|
}); |
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
useEffect(() => { |
|
|
|
const dispatch = useDispatch(); |
|
|
|
if (aprvProc && aprvProc.result > 0) { |
|
|
|
|
|
|
|
handlerSearch(params); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}, [aprvProc]); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
useEffect(() => { |
|
|
|
useEffect(() => { |
|
|
|
if (user?.cstmrSno) { |
|
|
|
if (user?.cstmrSno) { |
|
|
@ -105,6 +126,8 @@ export const AnalysisHistoryContainer = props => { |
|
|
|
Actions.list.request({ searchParams: { ...params, groupId }, page: 1 }) |
|
|
|
Actions.list.request({ searchParams: { ...params, groupId }, page: 1 }) |
|
|
|
); |
|
|
|
); |
|
|
|
}; |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 그룹 선택 취소 handler
|
|
|
|
const handlerGroupCancel = () => { |
|
|
|
const handlerGroupCancel = () => { |
|
|
|
dispatch( |
|
|
|
dispatch( |
|
|
|
FlightAction.FLIGHT_PLAN_GROUP_SELECT({ |
|
|
|
FlightAction.FLIGHT_PLAN_GROUP_SELECT({ |
|
|
@ -119,8 +142,6 @@ export const AnalysisHistoryContainer = props => { |
|
|
|
// setIsClick(0);
|
|
|
|
// setIsClick(0);
|
|
|
|
}; |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
const dispatch = useDispatch(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const titleName = '비행이력 현황'; |
|
|
|
const titleName = '비행이력 현황'; |
|
|
|
|
|
|
|
|
|
|
|
const excelHeaders = [ |
|
|
|
const excelHeaders = [ |
|
|
@ -230,6 +251,7 @@ export const AnalysisHistoryContainer = props => { |
|
|
|
} |
|
|
|
} |
|
|
|
]; |
|
|
|
]; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 검색 버튼 click handler
|
|
|
|
const handlerSearch = () => { |
|
|
|
const handlerSearch = () => { |
|
|
|
if (!params.stDate || !params.endDate) { |
|
|
|
if (!params.stDate || !params.endDate) { |
|
|
|
setModal({ |
|
|
|
setModal({ |
|
|
@ -252,6 +274,7 @@ export const AnalysisHistoryContainer = props => { |
|
|
|
} |
|
|
|
} |
|
|
|
}; |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 식별번호 Change handler
|
|
|
|
const handlerInput = (type, val) => { |
|
|
|
const handlerInput = (type, val) => { |
|
|
|
if (type === 'search1') { |
|
|
|
if (type === 'search1') { |
|
|
|
setParams({ ...params, search1: val }); |
|
|
|
setParams({ ...params, search1: val }); |
|
|
@ -267,6 +290,8 @@ export const AnalysisHistoryContainer = props => { |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
}; |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 최근 1일, 최근 7일... 탭 click handler
|
|
|
|
const handlerClickDate = val => { |
|
|
|
const handlerClickDate = val => { |
|
|
|
// setDateType(val);
|
|
|
|
// setDateType(val);
|
|
|
|
// setIsClick(val);
|
|
|
|
// setIsClick(val);
|
|
|
@ -277,6 +302,7 @@ export const AnalysisHistoryContainer = props => { |
|
|
|
})); |
|
|
|
})); |
|
|
|
}; |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 페이지 이동 handler
|
|
|
|
const handlerPageChange = page => { |
|
|
|
const handlerPageChange = page => { |
|
|
|
dispatch(Actions.list.request({ searchParams: params, page })); |
|
|
|
dispatch(Actions.list.request({ searchParams: params, page })); |
|
|
|
}; |
|
|
|
}; |
|
|
@ -296,6 +322,7 @@ export const AnalysisHistoryContainer = props => { |
|
|
|
/> |
|
|
|
/> |
|
|
|
</Col> */} |
|
|
|
</Col> */} |
|
|
|
{/* <Col sm='4'> */} |
|
|
|
{/* <Col sm='4'> */} |
|
|
|
|
|
|
|
{/* 그룹목록 */} |
|
|
|
<Col sm='12' lg='12'> |
|
|
|
<Col sm='12' lg='12'> |
|
|
|
{user ? ( |
|
|
|
{user ? ( |
|
|
|
<> |
|
|
|
<> |
|
|
@ -318,7 +345,7 @@ export const AnalysisHistoryContainer = props => { |
|
|
|
<></> |
|
|
|
<></> |
|
|
|
)} |
|
|
|
)} |
|
|
|
</Col> |
|
|
|
</Col> |
|
|
|
{/* <Col sm='8'> */} |
|
|
|
{/* 검색조건 */} |
|
|
|
<Col sm='12' lg='12'> |
|
|
|
<Col sm='12' lg='12'> |
|
|
|
{selectGroup.cstmrSno !== 0 ? ( |
|
|
|
{selectGroup.cstmrSno !== 0 ? ( |
|
|
|
<> |
|
|
|
<> |
|
|
@ -341,7 +368,7 @@ export const AnalysisHistoryContainer = props => { |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
)} |
|
|
|
)} |
|
|
|
</Col> |
|
|
|
</Col> |
|
|
|
{/* <Col sm='12'> */} |
|
|
|
{/* 비행이력 현황 목록 */} |
|
|
|
<Col sm='12' lg='12'> |
|
|
|
<Col sm='12' lg='12'> |
|
|
|
{selectGroup.cstmrSno !== 0 ? ( |
|
|
|
{selectGroup.cstmrSno !== 0 ? ( |
|
|
|
<> |
|
|
|
<> |
|
|
|