diff --git a/src/components/basis/flight/aprv/FlightPlanAprvGroupGrid.js b/src/components/basis/flight/aprv/FlightPlanAprvGroupGrid.js index 3a811c9..95314a7 100644 --- a/src/components/basis/flight/aprv/FlightPlanAprvGroupGrid.js +++ b/src/components/basis/flight/aprv/FlightPlanAprvGroupGrid.js @@ -2,64 +2,7 @@ import React from 'react'; import { GridDatabase } from '../../../crud/grid/GridDatatable'; import { Card, Button } from 'reactstrap'; -const FlightPlanAprvGroupGrid = ({ - data, - count, - selectGroup, - handlerGroupCancel, - handleGroupSelect -}) => { - const columns = [ - { - // id: 'groupNm', - name: '그룹 명', - selector: 'groupNm', - minWidth: '102px', - sortable: true, - cell: row =>
{row.groupNm}
- // cell: row => { - // return row?.groupNm; - // } - }, - { - // id: 'groupId', - name: '그룹 코드', - selector: 'groupId', - minWidth: '102px', - sortable: true, - cell: row =>
{row.groupId}
- }, - { - name: '', - sortable: true, - cell: row => { - return selectGroup?.groupId === row?.groupId ? ( - handlerGroupCancel()} - > - 선택취소 - - ) : ( - { - handleGroupSelect({ - groupId: row?.groupId, - groupNm: row?.groupNm, - groupAuthCd: row?.groupAuthCd - }); - }} - > - 상세보기 - - ); - } - } - ]; - +const FlightPlanAprvGroupGrid = ({ data, count, columns }) => { return ( <>
diff --git a/src/containers/basis/flight/aprv/FlightPlanAprvContainer.js b/src/containers/basis/flight/aprv/FlightPlanAprvContainer.js index 1c90ffc..8ca18b0 100644 --- a/src/containers/basis/flight/aprv/FlightPlanAprvContainer.js +++ b/src/containers/basis/flight/aprv/FlightPlanAprvContainer.js @@ -44,34 +44,92 @@ const FlightPlanAprvContainer = () => { color: '' }); + const columns = [ + { + // id: 'groupNm', + name: '그룹 명', + selector: 'groupNm', + minWidth: '102px', + sortable: true, + cell: row =>
{row.groupNm}
+ // cell: row => { + // return row?.groupNm; + // } + }, + { + // id: 'groupId', + name: '그룹 코드', + selector: 'groupId', + minWidth: '102px', + sortable: true, + cell: row =>
{row.groupId}
+ }, + { + name: '', + sortable: true, + cell: row => { + return selectGroup?.groupId === row?.groupId ? ( + handlerGroupCancel()} + > + 선택취소 + + ) : ( + { + handleGroupSelect({ + groupId: row?.groupId, + groupNm: row?.groupNm, + groupAuthCd: row?.groupAuthCd + }); + }} + > + 상세보기 + + ); + } + } + ]; + const handleGroupSelect = ({ groupId, groupNm, groupAuthCd }) => { - // 권한 상관 없이 모두 조회 가능 const param = searchData; param.cstmrSno = user.cstmrSno; param.groupId = groupId; + if (groupAuthCd === 'CREATER' || groupAuthCd === 'ADMIN') { + dispatch( + FlightAction.FLIGHT_PLAN_GROUP_SELECT({ + cstmrSno: user.cstmrSno, + groupId: groupId, + groupNm: groupNm + }) + ); - dispatch( - FlightAction.FLIGHT_PLAN_GROUP_SELECT({ - cstmrSno: user.cstmrSno, - groupId: groupId, - groupNm: groupNm - }) - ); - - // groupId sessionStorage에 보관 (1 브라우저 1 tab에만 유효) - sessionStorage.setItem('groupId', groupId); - sessionStorage.setItem('cstmrSno', user.cstmrSno); - - setSearchData(prevState => { - return { - ...prevState, - cstmrSno: user.cstmrSno, - groupId: groupId - }; - }); + // groupId sessionStorage에 보관 (1 브라우저 1 tab에만 유효) + sessionStorage.setItem('groupId', groupId); + sessionStorage.setItem('cstmrSno', user.cstmrSno); - dispatch(FlightAction.FLIGHT_PLAN_LIST.request(param)); + setSearchData(prevState => { + return { + ...prevState, + cstmrSno: user.cstmrSno, + groupId: groupId + }; + }); + dispatch(FlightAction.FLIGHT_PLAN_LIST.request(param)); + } else { + setModal({ + isOpen: true, + title: '권한 확인', + desc: '승인정보 확인을 위해서는 운영자 권한이 필요합니다. 운영자에게 권한을 부여받고 다시 시도해 주세요.', + color: 'info' + }); + return; + } }; const handlerGroupCancel = () => { @@ -88,50 +146,6 @@ const FlightPlanAprvContainer = () => { history.push(`/basis/flight/plan/detail/${id}`); }; - // const columns = [ - // { id: 'planSno', name: '번호', cell: (row, i) =>
{i + 1}
}, - // { - // id: 'fltPurpose', - // name: '비행목적', - // cell: row =>
{row.fltPurpose}
- // }, - // { - // id: 'fltMethod', - // name: '비행방식', - // cell: row => { - // const displayName = - // (row.areaList && - // row.areaList.length > 0 && - // row.areaList[0].fltMethod) || - // '-'; - // return
{displayName}
; - // } - // }, - // { - // id: 'schFltStDt', - // name: '출발일', - // cell: row =>
{row.schFltStDt}
- // }, - // { id: 'aprvlYn', name: '승인여부', cell: row =>
{row.aprvlYn}
}, - // { - // id: 'moveDetail', - // name: '상세보기', - // cell: row => { - // return ( - // { - // handleMoveDetail(row.planSno); - // }} - // > - // 상세 - // - // ); - // } - // } - // ]; - // 최초 비행계획서 목록 조회 useEffect(() => { handlerGroupCancel(); @@ -174,7 +188,7 @@ const FlightPlanAprvContainer = () => { isOpen: true, title: '비행 계획 승인', desc: '비행계획서를 선택해 주세요.', - color: 'modal-danger' + color: 'danger' }); return; } @@ -190,32 +204,30 @@ const FlightPlanAprvContainer = () => {
{/* - - + + - - */} + + */} @@ -249,7 +261,7 @@ const FlightPlanAprvContainer = () => { setModal({ ...modal, isOpen: !modal.isOpen })} - modalClassName={modal.color} + modalClassName={'modal-' + `${modal.color}`} className='modal-dialog-centered' > { {modal.desc}