From ff960b2ca1245294796a2ccf1d6cc35692996d6f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?junh=5Feee=28=EC=9D=B4=EC=A4=80=ED=9D=AC=29?= Date: Tue, 15 Nov 2022 10:25:06 +0900 Subject: [PATCH 1/2] =?UTF-8?q?=EA=B8=B0=EC=B2=B4=EB=93=B1=EB=A1=9D=20?= =?UTF-8?q?=EB=B2=84=ED=8A=BC=20=EB=B9=84=ED=99=9C=EC=84=B1=ED=99=94=20?= =?UTF-8?q?=EC=9D=B4=EC=8A=88=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../basis/dron/BasisDronContainer.js | 52 ++++++++++++------- 1 file changed, 33 insertions(+), 19 deletions(-) diff --git a/src/containers/basis/dron/BasisDronContainer.js b/src/containers/basis/dron/BasisDronContainer.js index c7c34cc4..0e17a4da 100644 --- a/src/containers/basis/dron/BasisDronContainer.js +++ b/src/containers/basis/dron/BasisDronContainer.js @@ -2,15 +2,7 @@ import moment from 'moment'; import { useEffect, useState } from 'react'; import { shallowEqual, useDispatch, useSelector } from 'react-redux'; import { useHistory, Link } from 'react-router-dom'; -import { - Button, - Col, - Row, - Modal, - ModalHeader, - ModalBody, - ModalFooter -} from 'reactstrap'; +import { Button, Col, Row } from 'reactstrap'; import { BasisDronGrid } from '../../../components/basis/dron/BasisDronGrid'; import { BasisGroupDronGrid } from '../../../components/basis/dron/BasisGroupDronGrid'; import { CustomMainLayout } from '../../../components/layout/CustomMainLayout'; @@ -163,16 +155,6 @@ export const BasisDronContainer = props => { } ]; - // const handlerNotMine = () => { - // setModal({ - // isOpen: true, - // title: '조회 불가', - // desc: '사용자가 등록한 기체가 아닙니다.', - // color: 'danger' - // }); - // return; - // }; - // useEffect(() => { // handlerCancel(); // // if (selectData) { @@ -198,6 +180,38 @@ export const BasisDronContainer = props => { } }, [user]); + useEffect(() => { + const group = groupList?.find(prev => prev.groupId === selectData.groupId); + + const join = joinList?.find(prev => prev.groupId === selectData.groupId); + + const obj = { + groupAuthCd: join?.groupAuthCd, + myGroupAuthCd: group?.myGroupAuthCd + }; + + // 기체등록 버튼 활성/비활성 제어 + let my = false; + if (user.authId === 'SUPER') { + my = true; + } else if (user?.authId === 'ADMIN') { + my = obj?.myGroupAuthCd && true; + } else if (user?.authId === 'USER') { + my = obj?.groupAuthCd && true; + } + setIsMyGroup(my); + }, [selectData]); + + // const handlerNotMine = () => { + // setModal({ + // isOpen: true, + // title: '조회 불가', + // desc: '사용자가 등록한 기체가 아닙니다.', + // color: 'danger' + // }); + // return; + // }; + // const handlerSearch = () => { // GroupActions.JOIN_LIST.request({ // searchParams: { cstmrSno: user?.cstmrSno } From 8c44e026adda5d27c6d68d695cf914bc8e20b11e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?kimjh=28=EA=B9=80=EC=9E=A5=ED=98=84=29?= Date: Tue, 15 Nov 2022 13:37:27 +0900 Subject: [PATCH 2/2] merge --- .../history/AnalysisHistoryContainer.js | 91 ++++++++----------- 1 file changed, 38 insertions(+), 53 deletions(-) diff --git a/src/containers/analysis/history/AnalysisHistoryContainer.js b/src/containers/analysis/history/AnalysisHistoryContainer.js index 0b197e0e..1ef18dbc 100644 --- a/src/containers/analysis/history/AnalysisHistoryContainer.js +++ b/src/containers/analysis/history/AnalysisHistoryContainer.js @@ -1,5 +1,5 @@ import moment from 'moment'; -import { useEffect, useState } from 'react'; +import { useEffect, useState, useCallback } from 'react'; import { useDispatch, useSelector, shallowEqual } from 'react-redux'; import { Link } from 'react-router-dom'; import { AnalysisHistoryGrid } from '../../../components/analysis/history/AnalysisHistoryGrid'; @@ -25,18 +25,10 @@ import { useHistory } from 'react-router-dom'; import { MessageErrorModal } from '../../../components/message/MessageErrorModal'; export const AnalysisHistoryContainer = props => { - const { data, count, searchParams, total } = useSelector( + const { data, count, searchParams, total, page } = useSelector( 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'), - groupId: '' - }; - const [searchData, setSearchData] = useState(initSearchData); const { list: aprvList, aprvProc, @@ -47,8 +39,8 @@ export const AnalysisHistoryContainer = props => { ); const { user } = useSelector(state => state.authState, shallowEqual); - const [isClick, setIsClick] = useState(-1); - const [dateType, setDateType] = useState(1); + // const [isClick, setIsClick] = useState(-1); + // const [dateType, setDateType] = useState(1); const [modal, setModal] = useState({ isOpen: false, @@ -57,9 +49,20 @@ export const AnalysisHistoryContainer = props => { color: '' }); + const [params, setParams] = useState({ + stDate: selectGroup.stDate + ? moment(selectGroup.stDate).format('YYYY-MM-DD') + : moment().subtract(7, 'day').format('YYYY-MM-DD'), + endDate: selectGroup.endDate + ? moment(selectGroup.endDate).format('YYYY-MM-DD') + : moment().subtract(0, 'day').format('YYYY-MM-DD'), + search1: selectGroup.search1 ? selectGroup.search1 : '', + groupId: selectGroup.groupId ? selectGroup.groupId : '' + }); + useEffect(() => { if (aprvProc && aprvProc.result > 0) { - handleSearch(searchData); + handlerSearch(params); } }, [aprvProc]); @@ -77,20 +80,6 @@ export const AnalysisHistoryContainer = props => { } }, [user]); - useEffect(() => { - setParams({ - ...params, - stDate: moment().subtract(7, 'day').format('YYYY-MM-DD'), - endDate: moment().subtract(0, 'day').format('YYYY-MM-DD'), - search1: '', - groupId: searchData.groupId - }); - }, [searchData.groupId]); - - // useEffect(() => { - // handlerGroupCancel(); - // }, []); - const onKeyPress = e => { if (e.key == 'Enter') { handlerSearch(); @@ -99,8 +88,8 @@ export const AnalysisHistoryContainer = props => { const handleGroupSelect = ({ groupId }) => { // 권한 상관 없이 모두 조회 가능 - const param = searchData; - // param.cstmrSno = user.cstmrSno; + const param = params; + param.groupId = groupId; dispatch(FlightAction.FLIGHT_PLAN_GROUP_SELECT({ groupId: groupId })); @@ -109,14 +98,8 @@ export const AnalysisHistoryContainer = props => { sessionStorage.setItem('groupId', groupId); sessionStorage.setItem('cstmrSno', user.cstmrSno); - setIsClick(7); - setSearchData(prevState => { - return { - ...prevState, - // cstmrSno: user.cstmrSno, - groupId: groupId - }; - }); + // setIsClick(7); + setParams(prevState => ({ ...prevState, groupId })); dispatch(Actions.LIST_INITAL()); }; const handlerGroupCancel = () => { @@ -126,10 +109,11 @@ export const AnalysisHistoryContainer = props => { groupId: '', groupNm: '', endDate: '', - stDate: '' + stDate: '', + search1: '' }) ); - setIsClick(0); + // setIsClick(0); }; const dispatch = useDispatch(); @@ -243,13 +227,6 @@ 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 - }); - const handlerSearch = () => { if (!params.stDate || !params.endDate) { setModal({ @@ -266,7 +243,8 @@ export const AnalysisHistoryContainer = props => { color: 'modal-danger' }); } else { - dispatch(Actions.LIST_INITAL()); + // dispatch(Actions.LIST_INITAL()); + dispatch(FlightAction.FLIGHT_PLAN_GROUP_SELECT({ ...params })); dispatch(Actions.list.request({ searchParams: params, page: 1 })); } }; @@ -282,18 +260,24 @@ export const AnalysisHistoryContainer = props => { stDate: moment(val[0]).format('YYYY-MM-DD'), endDate: moment(val[1]).format('YYYY-MM-DD') }); - setIsClick(-1); + // setIsClick(-1); } } }; const handlerClickDate = val => { - setDateType(val); - setIsClick(val); + // setDateType(val); + // setIsClick(val); + setParams(prev => ({ + ...prev, + stDate: moment().subtract(val, 'day').format('YYYY-MM-DD'), + endDate: moment().subtract(0, 'day').format('YYYY-MM-DD') + })); }; const handlerPageChange = page => { dispatch(Actions.list.request({ searchParams: params, page })); }; + return ( {/*
*/} @@ -341,10 +325,10 @@ export const AnalysisHistoryContainer = props => { params={params} onKeyPress={onKeyPress} setParams={setParams} - isClick={isClick} - dateType={dateType} + // isClick={isClick} + // dateType={dateType} handlerClickDate={handlerClickDate} - searchData={searchData} + searchData={params} /> ) : ( @@ -369,6 +353,7 @@ export const AnalysisHistoryContainer = props => { pagination={true} paginationPerPage={10} paginationRowsPerPageOptions={[10, 20, 30, 40]} + page={page} /> ) : (