sanguu 2 years ago
parent
commit
56f8f32a9c
  1. 18
      src/components/basis/group/BasisGroupGrid.js
  2. 46
      src/components/basis/group/BasisGroupMyGrid.js
  3. 4
      src/containers/analysis/simulator/AnalysisSimulationContainer.js
  4. 62
      src/containers/basis/dron/BasisDronContainer.js
  5. 68
      src/containers/basis/group/BasisGroupApprovalContainer.js
  6. 4
      src/containers/basis/group/BasisGroupContainer.js
  7. 18
      src/containers/basis/group/BasisGroupUsersContainer.js
  8. 1
      src/containers/system/auth/SystemAuthContainer.js
  9. 1
      src/containers/system/code/SystemCodeContainer.js
  10. 1
      src/containers/system/menu/SystemMenuContainer.js
  11. 1
      src/containers/system/user/SystemUserContainer.js

18
src/components/basis/group/BasisGroupGrid.js

@ -1,5 +1,5 @@
import { GridDatabase } from '../../crud/grid/GridDatatable'; import { GridDatabase } from '../../crud/grid/GridDatatable';
import { Card } from 'reactstrap'; import { Card, Row, Col, Button } from 'reactstrap';
export const BasisGroupGrid = props => { export const BasisGroupGrid = props => {
return ( return (
@ -13,14 +13,14 @@ export const BasisGroupGrid = props => {
<span className='search-case'>검색결과 {props.count}</span> <span className='search-case'>검색결과 {props.count}</span>
</div> </div>
{/* <div className='d-flex align-items-center'> {/* <div className='d-flex align-items-center'>
<Button.Ripple <Button.Ripple
color='primary' color='primary'
size='sm' size='sm'
onClick={props.handlerGroupCreate} onClick={props.handlerGroupCreate}
> >
그룹생성 그룹생성
</Button.Ripple> </Button.Ripple>
</div> */} </div> */}
</div> </div>
<div className='invoice-list-wrapper'> <div className='invoice-list-wrapper'>
<Card> <Card>

46
src/components/basis/group/BasisGroupMyGrid.js

@ -0,0 +1,46 @@
import { GridDatabase } from '../../crud/grid/GridDatatable';
import { Card, Row, Col, Button } from 'reactstrap';
export const BasisGroupMyGrid = props => {
return (
<div className='pal-card-box'>
<Row>
<Col>
<>
<div className='cont-ti d-flex justify-content-between align-items-sm-center align-items-start flex-sm-row'>
<div>
<h4>{props.title} 목록</h4>
<span className='search-case'>검색결과 {props.count}</span>
</div>
<div className='d-flex align-items-center'>
<Button.Ripple
color='primary'
size='sm'
onClick={props.handlerGroupCreate}
>
그룹생성
</Button.Ripple>
</div>
</div>
<div className='invoice-list-wrapper'>
<Card>
{/* <div className='grid-loading'>
<div><Spinner color='primary' /><span>Loading...</span></div>
</div> */}
<div className='invoice-list-dataTable'>
<GridDatabase
title={'비행이력'}
data={props.data}
count={props.count}
columns={props.columns}
pagination={props.pagination}
/>
</div>
</Card>
</div>
</>
</Col>
</Row>
</div>
);
};

4
src/containers/analysis/simulator/AnalysisSimulationContainer.js

@ -57,13 +57,11 @@ export const AnalysisSimulationContainer = props => {
if (log[playCount]?.srvrRcvDt) { if (log[playCount]?.srvrRcvDt) {
setTimeCd(moment(log[playCount]?.srvrRcvDt).format('HH:mm')); setTimeCd(moment(log[playCount]?.srvrRcvDt).format('HH:mm'));
} }
playCount++; playCount++;
if (playCount == log.length) { if (playCount == log.length) {
playCount = 0; playCount = 0;
setIsPlay(false);
clearInterval(timer); clearInterval(timer);
setIsPlay(false);
} }
}, 1000); }, 1000);

62
src/containers/basis/dron/BasisDronContainer.js

@ -6,7 +6,7 @@ import { Button, Col, Row } from 'reactstrap';
import { BasisDronGrid } from '../../../components/basis/dron/BasisDronGrid'; import { BasisDronGrid } from '../../../components/basis/dron/BasisDronGrid';
import { BasisGroupDronGrid } from '../../../components/basis/dron/BasisGroupDronGrid'; import { BasisGroupDronGrid } from '../../../components/basis/dron/BasisGroupDronGrid';
import { CustomMainLayout } from '../../../components/layout/CustomMainLayout'; import { CustomMainLayout } from '../../../components/layout/CustomMainLayout';
import { InfoModal } from '../../../components/modal/InfoModal'; // import { InfoModal } from '../../../components/modal/InfoModal';
import * as Actions from '../../../modules/basis/dron/actions/basisDronAction'; import * as Actions from '../../../modules/basis/dron/actions/basisDronAction';
import * as GroupActions from '../../../modules/basis/group/actions/basisGroupAction'; import * as GroupActions from '../../../modules/basis/group/actions/basisGroupAction';
import { GET_ARCTFT_TYPE_CD } from '../../../utility/CondeUtil'; import { GET_ARCTFT_TYPE_CD } from '../../../utility/CondeUtil';
@ -126,13 +126,7 @@ export const BasisDronContainer = props => {
// minWidth: '102px', // minWidth: '102px',
sortable: true, sortable: true,
cell: row => { cell: row => {
return ( return <Link to={`/basis/dron/detail/${row.arcrftSno}`}>상세보기</Link>;
<Link
to={`/basis/dron/detail/${row.arcrftSno}`}
>
상세보기
</Link>
);
} }
} }
]; ];
@ -170,30 +164,36 @@ export const BasisDronContainer = props => {
}; };
const handlerDetail = (groupId, groupNm, groupAuthCd, aprvlYn) => { const handlerDetail = (groupId, groupNm, groupAuthCd, aprvlYn) => {
dispatch(Actions.SELECT({ groupId: groupId, groupNm: groupNm }));
if ( setParams({
// groupAuthCd === 'CREATER' || ...params,
groupAuthCd === 'MASTER' || user.authId ==='SUPER' || groupId: groupId,
// (aprvlYn === 'Y' && groupAuthCd === 'ADMIN') groupNm: groupNm
(aprvlYn === 'Y' && groupAuthCd === 'LEADER') });
) { dispatch(Actions.LIST.request({ groupId: groupId }));
dispatch(Actions.SELECT({ groupId: groupId, groupNm: groupNm }));
setParams({ // if (
...params, // // groupAuthCd === 'CREATER' ||
groupId: groupId, // groupAuthCd === 'MASTER' || user.authId ==='SUPER' ||
groupNm: groupNm // // (aprvlYn === 'Y' && groupAuthCd === 'ADMIN')
}); // (aprvlYn === 'Y' && groupAuthCd === 'LEADER')
dispatch(Actions.LIST.request({ groupId: groupId })); // ) {
} else { // dispatch(Actions.SELECT({ groupId: groupId, groupNm: groupNm }));
setModal({ // setParams({
isOpen: true, // ...params,
title: '권한 확인', // groupId: groupId,
desc: '기체정보 확인을 위해서는 운영자 권한이 필요합니다. 운영자에게 권한을 부여받고 다시 시도해 주세요.' // groupNm: groupNm
}); // });
} // dispatch(Actions.LIST.request({ groupId: groupId }));
// } else {
// setModal({
// isOpen: true,
// title: '권한 확인',
// desc: '기체정보 확인을 위해서는 운영자 권한이 필요합니다. 운영자에게 권한을 부여받고 다시 시도해 주세요.'
// });
// }
}; };
const handlerGroupCreate = () => { const handlerGroupCreate = () => {
dispatch(Actions.RESET_IDNTF()); // 초기화 진행 dispatch(Actions.RESET_IDNTF()); // 초기화 진행
history.push(`/basis/dron/create`); history.push(`/basis/dron/create`);
@ -247,7 +247,7 @@ export const BasisDronContainer = props => {
</Col> </Col>
</Row> </Row>
</div> </div>
<InfoModal modal={modal} setModal={setModal} /> {/* <InfoModal modal={modal} setModal={setModal} /> */}
</CustomMainLayout> </CustomMainLayout>
); );
}; };

68
src/containers/basis/group/BasisGroupApprovalContainer.js

@ -6,8 +6,8 @@ import { BasisGroupApprovalSearch } from '../../../components/basis/group/BasisG
import { CustomMainLayout } from '../../../components/layout/CustomMainLayout'; import { CustomMainLayout } from '../../../components/layout/CustomMainLayout';
import { ConfirmModal } from '../../../components/modal/ConfirmModal'; import { ConfirmModal } from '../../../components/modal/ConfirmModal';
import * as Actions from '../../../modules/basis/group/actions/basisGroupAction'; import * as Actions from '../../../modules/basis/group/actions/basisGroupAction';
import * as GroupActions from '../../../modules/basis/group/actions/basisGroupAction'; import { InfoModal } from '../../../components/modal/InfoModal';
import { BasisGroupDronGrid } from '../../../components/basis/dron/BasisGroupDronGrid'; import { BasisGroupGrid } from '../../../components/basis/group/BasisGroupGrid';
export const BasisGroupApprovalContainer = props => { export const BasisGroupApprovalContainer = props => {
const { aprvList, aprvCount } = useSelector(state => state.groupState); const { aprvList, aprvCount } = useSelector(state => state.groupState);
@ -76,27 +76,42 @@ export const BasisGroupApprovalContainer = props => {
} }
} }
]; ];
const handlerDetail = (groupId, groupNm) => { const handlerDetail = (groupId, groupNm, groupAuthCd, aprvlYn) => {
// 권한 상관 없이 모두 조회 가능 // 권한 상관 없이 모두 조회 가능
// param.cstmrSno = user.cstmrSno; // param.cstmrSno = user.cstmrSno;
dispatch(Actions.SELECT({ groupId: groupId, groupNm: groupNm })); if (
if (user?.cstmrSno) { groupAuthCd === 'MASTER' ||
setParams({ user.authId === 'SUPER' ||
...params, user.authId == 'ADMIN' ||
cstmrSno: user?.cstmrSno, (aprvlYn === 'Y' && groupAuthCd === 'LEADER')
aprvYn: '', ) {
groupId: groupId dispatch(Actions.SELECT({ groupId: groupId, groupNm: groupNm }));
});
dispatch( if (user?.cstmrSno) {
Actions.APPROVAL_LIST.request({ setParams({
searchParams: { ...params,
cstmrSno: user?.cstmrSno, cstmrSno: user?.cstmrSno,
aprvYn: '', aprvYn: '',
groupId: groupId groupId: groupId
} });
})
); dispatch(
Actions.APPROVAL_LIST.request({
searchParams: {
cstmrSno: user?.cstmrSno,
aprvYn: '',
groupId: groupId
}
})
);
}
} else {
setInfoModal({
isOpen: true,
title: '권한 확인',
desc: '승인관리 확인을 위해서는 운영자 권한이 필요합니다. 운영자에게 권한을 부여받고 다시 시도해 주세요.'
});
return;
} }
}; };
@ -119,7 +134,8 @@ export const BasisGroupApprovalContainer = props => {
aprvYn: 'A' aprvYn: 'A'
}); });
dispatch( dispatch(
GroupActions.JOIN_LIST.request({ // GroupActions.JOIN_LIST.request({
Actions.JOIN_LIST.request({
cstmrSno: user?.cstmrSno, cstmrSno: user?.cstmrSno,
groupId: selectData?.groupId groupId: selectData?.groupId
}) })
@ -193,6 +209,12 @@ export const BasisGroupApprovalContainer = props => {
desc: '' desc: ''
}); });
const [infoModal, setInfoModal] = useState({
isOpen: false,
title: '',
desc: ''
});
const columns = [ const columns = [
{ {
name: '그룹명', name: '그룹명',
@ -334,7 +356,8 @@ export const BasisGroupApprovalContainer = props => {
<div className='pal-card-box'> <div className='pal-card-box'>
<Row> <Row>
<Col sm='4'> <Col sm='4'>
<BasisGroupDronGrid {/* <BasisGroupDronGrid */}
<BasisGroupGrid
data={joinList} data={joinList}
title={'그룹'} title={'그룹'}
columns={column} columns={column}
@ -386,6 +409,7 @@ export const BasisGroupApprovalContainer = props => {
handlerConfirm={handlerAprvSave} handlerConfirm={handlerAprvSave}
color='primary' color='primary'
/> />
<InfoModal modal={infoModal} setModal={setInfoModal} />
</CustomMainLayout> </CustomMainLayout>
); );
}; };

4
src/containers/basis/group/BasisGroupContainer.js

@ -2,8 +2,8 @@ import { useEffect, useState } from 'react';
import { useDispatch, useSelector } from 'react-redux'; import { useDispatch, useSelector } from 'react-redux';
import { Link, useHistory } from 'react-router-dom'; import { Link, useHistory } from 'react-router-dom';
import { Button } from 'reactstrap'; import { Button } from 'reactstrap';
import { BasisGroupGrid } from '../../../components/basis/group/BasisGroupGrid';
import { BasisGroupJoinGrid } from '../../../components/basis/group/BasisGroupJoinGrid'; import { BasisGroupJoinGrid } from '../../../components/basis/group/BasisGroupJoinGrid';
import { BasisGroupMyGrid } from '../../../components/basis/group/BasisGroupMyGrid';
import { CustomMainLayout } from '../../../components/layout/CustomMainLayout'; import { CustomMainLayout } from '../../../components/layout/CustomMainLayout';
import { ConfirmModal } from '../../../components/modal/ConfirmModal'; import { ConfirmModal } from '../../../components/modal/ConfirmModal';
import * as Actions from '../../../modules/basis/group/actions/basisGroupAction'; import * as Actions from '../../../modules/basis/group/actions/basisGroupAction';
@ -197,7 +197,7 @@ export const BasisGroupContainer = props => {
params={params} params={params}
setParams={setParams} setParams={setParams}
/> */} /> */}
<BasisGroupGrid <BasisGroupMyGrid
data={myList} data={myList}
title={'그룹'} title={'그룹'}
columns={columns} columns={columns}

18
src/containers/basis/group/BasisGroupUsersContainer.js

@ -50,7 +50,6 @@ export const BasisGroupUsersContainer = props => {
sortable: true, sortable: true,
cell: row => { cell: row => {
return row?.groupNm; return row?.groupNm;
// return selectData;
} }
}, },
{ {
@ -178,11 +177,7 @@ export const BasisGroupUsersContainer = props => {
n_disabled = true; n_disabled = true;
} }
} else if (my.groupAuthCd === 'LEADER') { } else if (my.groupAuthCd === 'LEADER') {
if (row.groupAuthCd === 'MASTER') { if (row.groupAuthCd === 'MASTER' || row.groupAuthCd === 'LEADER') {
m_disabled = true;
l_disabled = true;
n_disabled = true;
} else if (row.groupAuthCd === 'LEADER') {
m_disabled = true; m_disabled = true;
l_disabled = true; l_disabled = true;
n_disabled = true; n_disabled = true;
@ -196,7 +191,8 @@ export const BasisGroupUsersContainer = props => {
l_disabled = true; l_disabled = true;
n_disabled = true; n_disabled = true;
} }
} else if (user.authId === 'ROLE_USER') { // } else if (user.authId === 'ROLE_USER') {
} else if (user.authId === 'USER') {
if (my.groupAuthCd === 'MASTER') { if (my.groupAuthCd === 'MASTER') {
if (row.groupAuthCd === 'LEADER') { if (row.groupAuthCd === 'LEADER') {
l_disabled = true; l_disabled = true;
@ -205,11 +201,7 @@ export const BasisGroupUsersContainer = props => {
n_disabled = true; n_disabled = true;
} }
} else if (my.groupAuthCd === 'LEADER') { } else if (my.groupAuthCd === 'LEADER') {
if (row.groupAuthCd === 'MASTER') { if (row.groupAuthCd === 'MASTER' || row.groupAuthCd === 'LEADER') {
m_disabled = true;
l_disabled = true;
n_disabled = true;
} else if (row.groupAuthCd === 'LEADER') {
m_disabled = true; m_disabled = true;
l_disabled = true; l_disabled = true;
n_disabled = true; n_disabled = true;
@ -495,7 +487,7 @@ export const BasisGroupUsersContainer = props => {
title={'그룹'} title={'그룹'}
columns={columns} columns={columns}
count={joinListCount} count={joinListCount}
pagination={true} // pagination={true}
/> />
</Col> </Col>
<Col sm='8'> <Col sm='8'>

1
src/containers/system/auth/SystemAuthContainer.js

@ -6,7 +6,6 @@ import { Link, useHistory } from 'react-router-dom';
import { CustomMainLayout } from '../../../components/layout/CustomMainLayout'; import { CustomMainLayout } from '../../../components/layout/CustomMainLayout';
import { BasisGroupSearch } from '../../../components/basis/group/BasisGroupSearch'; import { BasisGroupSearch } from '../../../components/basis/group/BasisGroupSearch';
import { BasisGroupGrid } from '../../../components/basis/group/BasisGroupGrid';
import { BasisGroupJoinGrid } from '../../../components/basis/group/BasisGroupJoinGrid'; import { BasisGroupJoinGrid } from '../../../components/basis/group/BasisGroupJoinGrid';
import { Badge, Button } from 'reactstrap'; import { Badge, Button } from 'reactstrap';
import { ConfirmModal } from '../../../components/modal/ConfirmModal'; import { ConfirmModal } from '../../../components/modal/ConfirmModal';

1
src/containers/system/code/SystemCodeContainer.js

@ -6,7 +6,6 @@ import { Link, useHistory } from 'react-router-dom';
import { CustomMainLayout } from '../../../components/layout/CustomMainLayout'; import { CustomMainLayout } from '../../../components/layout/CustomMainLayout';
import { BasisGroupSearch } from '../../../components/basis/group/BasisGroupSearch'; import { BasisGroupSearch } from '../../../components/basis/group/BasisGroupSearch';
import { BasisGroupGrid } from '../../../components/basis/group/BasisGroupGrid';
import { BasisGroupJoinGrid } from '../../../components/basis/group/BasisGroupJoinGrid'; import { BasisGroupJoinGrid } from '../../../components/basis/group/BasisGroupJoinGrid';
import { Row, Badge, Button } from 'reactstrap'; import { Row, Badge, Button } from 'reactstrap';
import { ConfirmModal } from '../../../components/modal/ConfirmModal'; import { ConfirmModal } from '../../../components/modal/ConfirmModal';

1
src/containers/system/menu/SystemMenuContainer.js

@ -6,7 +6,6 @@ import { Link, useHistory } from 'react-router-dom';
import { CustomMainLayout } from '../../../components/layout/CustomMainLayout'; import { CustomMainLayout } from '../../../components/layout/CustomMainLayout';
import { BasisGroupSearch } from '../../../components/basis/group/BasisGroupSearch'; import { BasisGroupSearch } from '../../../components/basis/group/BasisGroupSearch';
import { BasisGroupGrid } from '../../../components/basis/group/BasisGroupGrid';
import { BasisGroupJoinGrid } from '../../../components/basis/group/BasisGroupJoinGrid'; import { BasisGroupJoinGrid } from '../../../components/basis/group/BasisGroupJoinGrid';
import { Row, Badge, Button } from 'reactstrap'; import { Row, Badge, Button } from 'reactstrap';
import { ConfirmModal } from '../../../components/modal/ConfirmModal'; import { ConfirmModal } from '../../../components/modal/ConfirmModal';

1
src/containers/system/user/SystemUserContainer.js

@ -6,7 +6,6 @@ import { Link, useHistory } from 'react-router-dom';
import { CustomMainLayout } from '../../../components/layout/CustomMainLayout'; import { CustomMainLayout } from '../../../components/layout/CustomMainLayout';
import { BasisGroupSearch } from '../../../components/basis/group/BasisGroupSearch'; import { BasisGroupSearch } from '../../../components/basis/group/BasisGroupSearch';
import { BasisGroupGrid } from '../../../components/basis/group/BasisGroupGrid';
import { BasisGroupJoinGrid } from '../../../components/basis/group/BasisGroupJoinGrid'; import { BasisGroupJoinGrid } from '../../../components/basis/group/BasisGroupJoinGrid';
import { Badge, Button } from 'reactstrap'; import { Badge, Button } from 'reactstrap';
import { ConfirmModal } from '../../../components/modal/ConfirmModal'; import { ConfirmModal } from '../../../components/modal/ConfirmModal';

Loading…
Cancel
Save