Browse Source

feat/ 비행승인목록 팝업 변경감지시 새로고침

master
junh_eee(이준희) 2 weeks ago
parent
commit
f1ec05bb7a
  1. 7
      src/components/websocket/WebsocketClient.js
  2. 17
      src/containers/flight/popup/ControlApprovalsPopupContainer.js
  3. 18
      src/containers/flight/popup/OperationApprovalsPopupContainer.js

7
src/components/websocket/WebsocketClient.js

@ -5,7 +5,8 @@ import { useHistory } from 'react-router-dom';
import { WS_HOST, DOS_HOST } from '../../configs/constants'; import { WS_HOST, DOS_HOST } from '../../configs/constants';
import { getControlGp } from '@src/redux/features/control/gp/gpThunk'; import { getControlGp } from '@src/redux/features/control/gp/gpThunk';
import { getLaancAprvList } from '@src/redux/features/laanc/laancThunk'; import { getLaancAprvList } from '@src/redux/features/laanc/laancThunk';
const WebsocketClient = () => {
const WebsocketClient = props => {
const dispatch = useDispatch(); const dispatch = useDispatch();
const history = useHistory(); const history = useHistory();
const reConnectionTime = 5000; //5초 const reConnectionTime = 5000; //5초
@ -21,6 +22,8 @@ const WebsocketClient = () => {
const dosWebsocket = useRef(null); const dosWebsocket = useRef(null);
const dosTimeout = useRef(null); const dosTimeout = useRef(null);
const { hidden } = props;
useEffect(() => { useEffect(() => {
connect(); connect();
dosConnect(); dosConnect();
@ -91,7 +94,7 @@ const WebsocketClient = () => {
/* socket_off = 클래스명 변경시 빨간색! 접속이 원할하지않을때 */ /* socket_off = 클래스명 변경시 빨간색! 접속이 원할하지않을때 */
} }
return ( return (
<div> <div style={hidden ? { display: 'none' } : undefined}>
<span <span
className={isConnection && isDosConnection ? 'socket_on' : 'socket_off'} className={isConnection && isDosConnection ? 'socket_on' : 'socket_off'}
> >

17
src/containers/flight/popup/ControlApprovalsPopupContainer.js

@ -4,6 +4,8 @@ import { useDispatch } from '@src/redux/store';
import { getLaancAprvList } from '@src/redux/features/laanc/laancThunk'; import { getLaancAprvList } from '@src/redux/features/laanc/laancThunk';
import ControlApprovalsTable from '@src/components/flight/ControlApprovalsTable'; import ControlApprovalsTable from '@src/components/flight/ControlApprovalsTable';
import NewFlightApprovalsReport from '@src/components/flight/NewFlightApprovalsReport'; import NewFlightApprovalsReport from '@src/components/flight/NewFlightApprovalsReport';
import { clientRefreshAprvListParam } from '@src/redux/features/laanc/laancSlice';
import WebsocketClient from '@src/components/websocket/WebsocketClient';
function ControlApprovalsPopupContainer() { function ControlApprovalsPopupContainer() {
const [filter, setFilter] = useState(''); const [filter, setFilter] = useState('');
@ -82,8 +84,8 @@ function ControlApprovalsPopupContainer() {
setStartDate(searchDate.startDate); setStartDate(searchDate.startDate);
setEndDate(searchDate.endDate); setEndDate(searchDate.endDate);
setFilter(search); setFilter(search);
dispatch(
getLaancAprvList({ const param = {
searchStDt: searchDate.startDate, searchStDt: searchDate.startDate,
searchEndDt: searchDate.endDate, searchEndDt: searchDate.endDate,
ctprvn: filterArea.ctprvn === '시/도' ? '' : filterArea.ctprvn, ctprvn: filterArea.ctprvn === '시/도' ? '' : filterArea.ctprvn,
@ -98,14 +100,16 @@ function ControlApprovalsPopupContainer() {
...(checkState.reviewedProcType !== '전체' ...(checkState.reviewedProcType !== '전체'
? { reviewedProcType: checkState.reviewedProcType } ? { reviewedProcType: checkState.reviewedProcType }
: {}) : {})
}) };
); dispatch(getLaancAprvList(param));
dispatch(clientRefreshAprvListParam(param));
localStorage.setItem( localStorage.setItem(
'popupState', 'popupState',
JSON.stringify({ JSON.stringify({
filter: search, filter: search,
ctprvn: filterArea.ctprvn === '전체' ? '' : filterArea.ctprvn, ctprvn: filterArea.ctprvn === '시/도' ? '' : filterArea.ctprvn,
sig: filterArea.sig === '전체' ? '' : filterArea.sig, sig: filterArea.sig === '군/구' ? '' : filterArea.sig,
address: filterArea.address, address: filterArea.address,
startDate: searchDate.startDate, startDate: searchDate.startDate,
endDate: searchDate.endDate, endDate: searchDate.endDate,
@ -179,6 +183,7 @@ function ControlApprovalsPopupContainer() {
handlerSearch={handlerSearch} handlerSearch={handlerSearch}
checkState={checkState} checkState={checkState}
/> />
<WebsocketClient hidden={true} />
</div> </div>
</div> </div>
</div> </div>

18
src/containers/flight/popup/OperationApprovalsPopupContainer.js

@ -4,6 +4,8 @@ import { useDispatch } from '@src/redux/store';
import { getLaancAprvList } from '@src/redux/features/laanc/laancThunk'; import { getLaancAprvList } from '@src/redux/features/laanc/laancThunk';
import OperationApprovalsTable from '@src/components/flight/OperationApprovalsTable'; import OperationApprovalsTable from '@src/components/flight/OperationApprovalsTable';
import NewFlightApprovalsReport from '@src/components/flight/NewFlightApprovalsReport'; import NewFlightApprovalsReport from '@src/components/flight/NewFlightApprovalsReport';
import { clientRefreshAprvListParam } from '@src/redux/features/laanc/laancSlice';
import WebsocketClient from '@src/components/websocket/WebsocketClient';
function OperationApprovalsPopupContainer() { function OperationApprovalsPopupContainer() {
const [filter, setFilter] = useState(''); const [filter, setFilter] = useState('');
@ -106,8 +108,8 @@ function OperationApprovalsPopupContainer() {
setStartDate(searchDate.startDate); setStartDate(searchDate.startDate);
setEndDate(searchDate.endDate); setEndDate(searchDate.endDate);
setFilter(search); setFilter(search);
dispatch(
getLaancAprvList({ const param = {
searchStDt: searchDate.startDate, searchStDt: searchDate.startDate,
searchEndDt: searchDate.endDate, searchEndDt: searchDate.endDate,
ctprvn: filterArea.ctprvn === '시/도' ? '' : filterArea.ctprvn, ctprvn: filterArea.ctprvn === '시/도' ? '' : filterArea.ctprvn,
@ -122,14 +124,17 @@ function OperationApprovalsPopupContainer() {
...(checkState.reviewedProcType !== '전체' ...(checkState.reviewedProcType !== '전체'
? { reviewedProcType: checkState.reviewedProcType } ? { reviewedProcType: checkState.reviewedProcType }
: {}) : {})
}) };
);
dispatch(getLaancAprvList(param));
dispatch(clientRefreshAprvListParam(param));
localStorage.setItem( localStorage.setItem(
'popupState', 'popupState',
JSON.stringify({ JSON.stringify({
filter: search, filter: search,
ctprvn: filterArea.ctprvn === '전체' ? '' : filterArea.ctprvn, ctprvn: filterArea.ctprvn === '시/도' ? '' : filterArea.ctprvn,
sig: filterArea.sig === '전체' ? '' : filterArea.sig, sig: filterArea.sig === '군/구' ? '' : filterArea.sig,
address: filterArea.address, address: filterArea.address,
startDate: searchDate.startDate, startDate: searchDate.startDate,
endDate: searchDate.endDate, endDate: searchDate.endDate,
@ -214,6 +219,7 @@ function OperationApprovalsPopupContainer() {
handlerDetail={handlerDetail} handlerDetail={handlerDetail}
handlerSearch={handlerSearch} handlerSearch={handlerSearch}
/> />
<WebsocketClient hidden={true} />
</div> </div>
</div> </div>
</div> </div>

Loading…
Cancel
Save