diff --git a/src/components/analysis/history/AnalysisHistoryGrid.js b/src/components/analysis/history/AnalysisHistoryGrid.js
index ade2fd2b..5b5d6ba5 100644
--- a/src/components/analysis/history/AnalysisHistoryGrid.js
+++ b/src/components/analysis/history/AnalysisHistoryGrid.js
@@ -48,6 +48,7 @@ export const AnalysisHistoryGrid = props => {
handlerPageChange={props.handlerPageChange}
paginationPerPage={props.paginationPerPage}
paginationRowsPerPageOptions={props.paginationRowsPerPageOptions}
+ page={props.page}
/>
diff --git a/src/components/analysis/history/AnalysisHistorySearch.js b/src/components/analysis/history/AnalysisHistorySearch.js
index dc4ba12a..a81407c5 100644
--- a/src/components/analysis/history/AnalysisHistorySearch.js
+++ b/src/components/analysis/history/AnalysisHistorySearch.js
@@ -1,5 +1,5 @@
import moment from 'moment';
-import { useEffect } from 'react';
+import { useState } from 'react';
import { Calendar, Search } from 'react-feather';
import Flatpickr from 'react-flatpickr';
import {
@@ -13,16 +13,22 @@ import {
} from 'reactstrap';
export const AnalysisHistorySearch = props => {
- useEffect(() => {
- if (props.isClick != -1) {
- props.setParams({
- ...props.params,
- stDate: moment().subtract(props.dateType, 'day').format('YYYY-MM-DD'),
- endDate: moment().subtract(0, 'day').format('YYYY-MM-DD'),
- groupId: props.searchData.groupId
- });
- }
- }, [props.dateType, props.isClick]);
+ // useEffect(() => {
+ // if (props.isClick != -1) {
+ // props.setParams({
+ // ...props.params,
+ // stDate: moment().subtract(props.dateType, 'day').format('YYYY-MM-DD'),
+ // endDate: moment().subtract(0, 'day').format('YYYY-MM-DD'),
+ // groupId: props.searchData.groupId
+ // });
+ // }
+ // }, [props.dateType, props.isClick]);
+ const [diffDay, setDiffDay] = useState(
+ moment(props.searchData.endDate).diff(
+ moment(props.searchData.stDate),
+ 'days'
+ )
+ );
return (
//
@@ -84,36 +90,44 @@ export const AnalysisHistorySearch = props => {
diff --git a/src/components/crud/grid/GridDatatable.js b/src/components/crud/grid/GridDatatable.js
index ebfbbc0a..9c7705dd 100644
--- a/src/components/crud/grid/GridDatatable.js
+++ b/src/components/crud/grid/GridDatatable.js
@@ -27,6 +27,7 @@ export const GridDatabase = props => {
responsive={true}
sortIcon={}
className='react-dataTable pal-dateTable'
+ paginationDefaultPage={props.page || 1}
// defaultSortField='invoiceId'
// paginationDefaultPage={currentPage}
// paginationComponent={CustomPagination}
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 }
diff --git a/src/modules/basis/flight/models/basisFlightModel.ts b/src/modules/basis/flight/models/basisFlightModel.ts
index 400555ee..52a8f947 100644
--- a/src/modules/basis/flight/models/basisFlightModel.ts
+++ b/src/modules/basis/flight/models/basisFlightModel.ts
@@ -19,8 +19,8 @@ export interface FlightState {
conut: number | 0;
weather: resweatherData | undefined;
selectGroup: SelectGroupData | undefined;
- listSelect: SelectGroupData | undefined;
- aprvSelect: SelectGroupData | undefined;
+ listSelect: ListGroupData | undefined;
+ aprvSelect: ListGroupData | undefined;
}
export interface weatherData {
serviceKey: string;
@@ -62,6 +62,15 @@ export interface SelectGroupData {
cstmrSno: number;
groupId: string;
groupNm: string;
+ search1: string;
+ stDate: string;
+ endDate: string;
+}
+
+export interface ListGroupData {
+ cstmrSno: number;
+ groupId: string;
+ groupNm: string;
}
export interface PublicAreaData {
@@ -242,7 +251,10 @@ export const initFlight = {
selectGroup: {
cstmrSno: 0,
groupId: '',
- groupNm: ''
+ groupNm: '',
+ search1: '',
+ stDate: '',
+ endDate: ''
},
listSelect: {
cstmrSno: 0,