diff --git a/src/components/basis/dron/BasisDronGrid.js b/src/components/basis/dron/BasisDronGrid.js
index a18bbc5..671efc2 100644
--- a/src/components/basis/dron/BasisDronGrid.js
+++ b/src/components/basis/dron/BasisDronGrid.js
@@ -1,27 +1,8 @@
import { GridDatabase } from '../../crud/grid/GridDatatable';
-import {
- Row,
- Col,
- Table,
- Badge,
- UncontrolledDropdown,
- DropdownMenu,
- DropdownItem,
- DropdownToggle,
- Card,
- CardHeader,
- CardBody,
- CardTitle,
- CardSubtitle,
- ButtonGroup,
- Button,
- Input,
- CustomInput,
- FormGroup
-} from 'reactstrap';
-import { ExcelExportButton } from '../../crud/excel/ExcelExportButton';
+import { Card, Button } from 'reactstrap';
export const BasisDronGrid = props => {
+ // console.log(props.isMyGroup);
return (
<>
@@ -34,6 +15,7 @@ export const BasisDronGrid = props => {
color='primary'
size='sm'
onClick={props.handlerGroupCreate}
+ {...(props?.isMyGroup ? {} : { disabled: true })}
>
기체등록
diff --git a/src/containers/basis/dron/BasisDronContainer.js b/src/containers/basis/dron/BasisDronContainer.js
index 3344bf9..707105b 100644
--- a/src/containers/basis/dron/BasisDronContainer.js
+++ b/src/containers/basis/dron/BasisDronContainer.js
@@ -2,11 +2,18 @@ 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 } from 'reactstrap';
+import {
+ Button,
+ Col,
+ Row,
+ Modal,
+ ModalHeader,
+ ModalBody,
+ ModalFooter
+} from 'reactstrap';
import { BasisDronGrid } from '../../../components/basis/dron/BasisDronGrid';
import { BasisGroupDronGrid } from '../../../components/basis/dron/BasisGroupDronGrid';
import { CustomMainLayout } from '../../../components/layout/CustomMainLayout';
-// import { InfoModal } from '../../../components/modal/InfoModal';
import * as Actions from '../../../modules/basis/dron/actions/basisDronAction';
import * as GroupActions from '../../../modules/basis/group/actions/basisGroupAction';
import { GET_ARCTFT_TYPE_CD } from '../../../utility/CondeUtil';
@@ -30,43 +37,44 @@ export const BasisDronContainer = props => {
desc: ''
});
+ const [isMyGroup, setIsMyGroup] = useState();
+
const columns = [
{
- name: '생성일시',
- selector: row => row?.createDt,
+ name: '그룹명',
+ selector: row => row.groupNm,
+ minWidth: '102px',
sortable: true,
cell: row => {
- return row?.createDt ? row.createDt : '-';
+ return row?.groupNm;
+ // return selectData;
}
},
{
- name: '가입일시',
- selector: row => row?.joinDt,
+ name: '그룹 코드',
+ selector: row => row.groupId,
+ minWidth: '102px',
sortable: true,
cell: row => {
- return row?.joinDt ? row.joinDt : '-';
+ return row?.groupId;
}
},
{
- name: '그룹명',
- selector: row => row.groupNm,
- minWidth: '102px',
+ name: '생성일시',
+ selector: row => row?.createDt,
sortable: true,
cell: row => {
- return row?.groupNm;
- // return selectData;
+ return row?.createDt ? row.createDt : '-';
}
},
{
- name: '그룹 코드',
- selector: row => row.groupId,
- minWidth: '102px',
+ name: '가입일시',
+ selector: row => row?.joinDt,
sortable: true,
cell: row => {
- return row?.groupId;
+ return row?.joinDt ? row.joinDt : '-';
}
},
-
{
name: '',
// selector: 'cntrlStDate',
@@ -144,11 +152,63 @@ export const BasisDronContainer = props => {
// minWidth: '102px',
sortable: true,
cell: row => {
- return 상세보기;
+ const [isHover, setIsHover] = useState(false);
+ const enter = () => {
+ setIsHover(true);
+ };
+ const leave = () => {
+ setIsHover(false);
+ };
+
+ let mine = false;
+ if (user.authId === 'SUPER') {
+ mine = true;
+ } else if (user.authId === 'ADMIN' || user.authId === 'USER') {
+ if (row.createUserId === user.userId) {
+ mine = true;
+ }
+ }
+
+ return (
+ <>
+ {mine ? (
+ <>
+ 상세보기
+ >
+ ) : (
+ <>
+ {/*
+ 상세보기
+ */}
+ -
+ >
+ )}
+ >
+ );
}
}
];
+ const handlerNotMine = () => {
+ setModal({
+ isOpen: true,
+ title: '조회 불가',
+ desc: '사용자가 등록한 기체가 아닙니다.',
+ color: 'danger'
+ });
+ return;
+ };
+
useEffect(() => {
handlerCancel();
// if (selectData) {
@@ -193,26 +253,15 @@ export const BasisDronContainer = props => {
});
dispatch(Actions.LIST.request({ groupId: groupId }));
- // if (
- // // groupAuthCd === 'CREATER' ||
- // groupAuthCd === 'MASTER' || user.authId ==='SUPER' ||
- // // (aprvlYn === 'Y' && groupAuthCd === 'ADMIN')
- // (aprvlYn === 'Y' && groupAuthCd === 'LEADER')
- // ) {
- // dispatch(Actions.SELECT({ groupId: groupId, groupNm: groupNm }));
- // setParams({
- // ...params,
- // groupId: groupId,
- // groupNm: groupNm
- // });
- // dispatch(Actions.LIST.request({ groupId: groupId }));
- // } else {
- // setModal({
- // isOpen: true,
- // title: '권한 확인',
- // desc: '기체정보 확인을 위해서는 운영자 권한이 필요합니다. 운영자에게 권한을 부여받고 다시 시도해 주세요.'
- // });
- // }
+ let my = false;
+ if (user.authId === 'SUPER') {
+ my = true;
+ } else if (user.authId === 'ADMIN' || user.authId === 'USER') {
+ if (groupAuthCd) {
+ my = true;
+ }
+ }
+ setIsMyGroup(my);
};
const handlerGroupCreate = () => {
@@ -279,12 +328,35 @@ export const BasisDronContainer = props => {
pagination={true}
paginationPerPage={10}
paginationRowsPerPageOptions={[10, 20, 30, 40]}
+ isMyGroup={isMyGroup}
/>
)}
- {/* */}
+
+ setModal({ ...modal, isOpen: !modal.isOpen })}
+ modalClassName={'modal-' + `${modal.color}`}
+ className='modal-dialog-centered'
+ >
+ setModal({ ...modal, isOpen: !modal.isOpen })}
+ >
+ {modal.title}
+
+ {modal.desc}
+
+ {' '}
+
+
+
);
};