Browse Source

Merge branch 'master' of http://gitea.palntour.com/pav/pav-home

pull/2/head
sanguu 2 years ago
parent
commit
aeccc0af81
  1. 6
      src/components/basis/flight/aprv/FlightPlanAprvGrid.js
  2. 22
      src/components/basis/group/BasisGroupUsersGrid.js
  3. 6
      src/containers/basis/dron/BasisDronContainer.js
  4. 3
      src/containers/basis/flight/aprv/FlightPlanAprvContainer.js
  5. 7
      src/containers/basis/group/BasisGroupApprovalContainer.js
  6. 3
      src/containers/basis/group/BasisGroupContainer.js
  7. 4
      src/containers/basis/group/BasisGroupDetailJoinContainer.js
  8. 48
      src/containers/basis/group/BasisGroupUsersContainer.js
  9. 2
      src/modules/control/gp/apis/controlGpApi.ts
  10. 3
      src/modules/control/gp/models/controlGpModel.ts
  11. 2
      src/views/control/alarm/ControlAlarmDetail.js
  12. 18
      src/views/control/report/ControlReportDetail.js

6
src/components/basis/flight/aprv/FlightPlanAprvGrid.js

@ -16,9 +16,11 @@ const FlightPlanAprvGrid = ({
useEffect(() => {
joinList.forEach(c => {
if (c.groupId === selectGroup.groupId) {
if (c.groupAuthCd === 'USER') {
// if (c.groupAuthCd === 'USER') {
if (c.groupAuthCd === 'NORMAL') {
setAprvAuth(false);
} else if (c.groupAuthCd === 'CREATER' || c.groupAuthCd === 'ADMIN') {
// } else if (c.groupAuthCd === 'CREATER' || c.groupAuthCd === 'ADMIN') {
} else if (c.groupAuthCd === 'MASTER' || c.groupAuthCd === 'LEADER') {
setAprvAuth(true);
}
}

22
src/components/basis/group/BasisGroupUsersGrid.js

@ -1,25 +1,5 @@
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 { Row, Col, Card } from 'reactstrap';
export const BasisGroupUsersGrid = props => {
return (

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

@ -174,8 +174,10 @@ export const BasisDronContainer = props => {
const handlerDetail = (groupId, groupNm, groupAuthCd, aprvlYn) => {
if (
groupAuthCd === 'CREATER' ||
(aprvlYn === 'Y' && groupAuthCd === 'ADMIN')
// groupAuthCd === 'CREATER' ||
groupAuthCd === 'MASTER' ||
// (aprvlYn === 'Y' && groupAuthCd === 'ADMIN')
(aprvlYn === 'Y' && groupAuthCd === 'LEADER')
) {
dispatch(Actions.SELECT({ groupId: groupId, groupNm: groupNm }));
setParams({

3
src/containers/basis/flight/aprv/FlightPlanAprvContainer.js

@ -100,7 +100,8 @@ const FlightPlanAprvContainer = () => {
param.cstmrSno = user.cstmrSno;
param.groupId = groupId;
if (groupAuthCd === 'CREATER' || groupAuthCd === 'ADMIN') {
// if (groupAuthCd === 'CREATER' || groupAuthCd === 'ADMIN') {
if (groupAuthCd === 'MASTER' || groupAuthCd === 'LEADER') {
dispatch(
FlightAction.FLIGHT_PLAN_GROUP_SELECT({
cstmrSno: user.cstmrSno,

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

@ -24,7 +24,8 @@ export const BasisGroupApprovalContainer = props => {
const [saveData, setSaveData] = useState({
cstmrGroupSno: '',
aprvlYn: 'N', //가입은 USER 로만
// aprvlYn: 'N', //가입은 USER 로만
aprvlYn: 'N', //가입은 NORMAL 로만
aprvUserId: ''
});
@ -160,10 +161,12 @@ export const BasisGroupApprovalContainer = props => {
desc: '해당 사용자를 승인 처리 하시겠습니까?'
});
//승인처리 시 권한부여 O
setSaveData({
cstmrGroupSno: cstmrGroupSno,
aprvlYn: 'Y',
aprvUserId: user?.userId
aprvUserId: user?.userId,
groupAuthCd: 'NORMAL'
});
};

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

@ -138,7 +138,8 @@ export const BasisGroupContainer = props => {
// selector: 'cntrlStDate',
width: '150px',
cell: row => {
return row?.groupAuthCd === 'CREATER' ? (
// return row?.groupAuthCd === 'CREATER' ? (
return row?.groupAuthCd === 'MASTER' ? (
<div>-</div>
) : (
<Button.Ripple

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

@ -22,9 +22,11 @@ export const BasisGroupDetailJoinContainer = props => {
cstmrSno: user?.cstmrSno
});
//가입신청 시 권한부여 X
const [joinData, setJoinData] = useState({
groupId: '',
groupAuthCd: 'USER', //가입은 USER 로만
// groupAuthCd: 'NORMAL', //가입은 NORMAL 로만
groupAuthCd: '',
cstmrSno: ''
});

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

@ -107,59 +107,35 @@ export const BasisGroupUsersContainer = props => {
// console.log('내 권한 : ', my?.groupAuthCd);
// console.log('이 사람의 권한 : ', row?.groupAuthCd);
if (row?.groupAuthCd === 'CREATER') {
if (row?.groupAuthCd === 'MASTER') {
return <div>수정불가</div>;
} else if (row?.groupAuthCd === 'ADMIN') {
if (my?.groupAuthCd === 'CREATER') {
} else if (row?.groupAuthCd === 'LEADER') {
if (my?.groupAuthCd === 'MASTER') {
return (
<Button.Ripple
color='primary'
className='badge badge-primary'
onClick={() => handlerUserConfirm(row?.cstmrGroupSno)}
>
{/* 사용자로 변경 */}
{/* USER */}
NORMAL
</Button.Ripple>
);
} else {
return <div>수정불가</div>;
}
} else if (row?.groupAuthCd === 'USER') {
if (my?.groupAuthCd === 'CREATER' || my?.groupAuthCd === 'ADMIN') {
} else if (row?.groupAuthCd === 'NORMAL') {
if (my?.groupAuthCd === 'MASTER' || my?.groupAuthCd === 'LEADER') {
return (
<Button.Ripple
color='danger'
className='badge badge-danger'
onClick={() => handlerAdminConfirm(row?.cstmrGroupSno)}
>
{/* 운영자로 변경 */}
{/* ADMIN */}
LEADER
</Button.Ripple>
);
}
}
// return row?.groupAuthCd === 'ADMIN' ? (
// <Button.Ripple
// color='primary'
// className='badge badge-primary'
// onClick={() => handlerUserConfirm(row?.cstmrGroupSno)}
// >
// 사용자로 변경
// </Button.Ripple>
// ) : // <div>-</div>
// row?.groupAuthCd === 'CREATER' ? (
// <div>수정불가</div>
// ) : (
// <Button.Ripple
// color='danger'
// className='badge badge-danger'
// onClick={() => handlerAdminConfirm(row?.cstmrGroupSno)}
// >
// 운영자로 변경
// </Button.Ripple>
// );
}
},
{
@ -175,8 +151,8 @@ export const BasisGroupUsersContainer = props => {
// console.log('내 권한 : ', my?.groupAuthCd);
// console.log('이 사람의 권한 : ', row?.groupAuthCd);
if (row?.groupAuthCd === 'ADMIN') {
if (my?.groupAuthCd === 'CREATER') {
if (row?.groupAuthCd === 'LEADER') {
if (my?.groupAuthCd === 'MASTER') {
return (
<Button.Ripple
color='warning'
@ -185,8 +161,6 @@ export const BasisGroupUsersContainer = props => {
handlerCreaterConfirm(row?.cstmrGroupSno, my?.cstmrGroupSno)
}
>
{/* 위임하기 */}
{/* DELEGATE */}
MASTER
</Button.Ripple>
);
@ -239,7 +213,7 @@ export const BasisGroupUsersContainer = props => {
setSaveData({
cstmrGroupSno: cstmrGroupSno,
joinYn: 'Y',
groupAuthCd: 'ADMIN'
groupAuthCd: 'LEADER'
});
};
@ -259,7 +233,7 @@ export const BasisGroupUsersContainer = props => {
setSaveData({
cstmrGroupSno: cstmrGroupSno,
joinYn: 'Y',
groupAuthCd: 'USER'
groupAuthCd: 'NORMAL'
});
};
@ -274,12 +248,12 @@ export const BasisGroupUsersContainer = props => {
{
cstmrGroupSno: row,
joinYn: 'Y',
groupAuthCd: 'CREATER'
groupAuthCd: 'MASTER'
},
{
cstmrGroupSno: my,
joinYn: 'Y',
groupAuthCd: 'USER'
groupAuthCd: 'NORMAL'
}
]);
};

2
src/modules/control/gp/apis/controlGpApi.ts

@ -24,7 +24,7 @@ export const controlGpApi = {
}
const { data }: ResponseControlGpWarnLog = await axios.get(
`api/ctr/cntrl/warn/list/${id}`
`api/ctr/cntrl/warn/detail/${id}`
);
return data;

3
src/modules/control/gp/models/controlGpModel.ts

@ -133,8 +133,9 @@ export interface ControlGpFlightPlanData {
export interface ControlGpWarnLogData {
warnLogSno: number;
cntrlId: String;
cntrlId: String;
createDt: String;
idntfNum: String;
}
export interface ControlGpWarnLogList extends Array<ControlGpWarnLogData> {};

2
src/views/control/alarm/ControlAlarmDetail.js

@ -19,6 +19,7 @@ const ControlAlarmDetail = ({ historyModal, setHistoryModal, controlGpWarnLog })
<table className='table pal-table'>
<tr>
<th>번호</th>
<th>식별번호</th>
<th>날짜</th>
<th>내용</th>
</tr>
@ -27,6 +28,7 @@ const ControlAlarmDetail = ({ historyModal, setHistoryModal, controlGpWarnLog })
return (
<tr key={i}>
<th>{i + 1}</th>
<th>{p.idntfNum}</th>
<th>{p.createDt}</th>
<th>{p.warnType}</th>
</tr>

18
src/views/control/report/ControlReportDetail.js

@ -103,7 +103,7 @@ const ControlReportDetail = props => {
{GET_ARCTFT_TYPE_CD(controlDetail?.arcrftTypeCd)}
</div>
</dt>
<dt>
{/* <dt>
<div className='list-left-txt'>배터리 잔량</div>
<div className='list-right-txt'>
{controlGpDetail?.betteryLevel} %
@ -114,7 +114,7 @@ const ControlReportDetail = props => {
<div className='list-right-txt'>
{controlGpDetail?.betteryVoltage} volt
</div>
</dt>
</dt> */}
</dl>
</div>
</div>
@ -136,7 +136,7 @@ const ControlReportDetail = props => {
<div className='list-left-txt'>시작시간</div>
<div className='list-right-txt'>
{moment(
controlGpDetail?.controlStartDt,
controlGpDetail?.controlStDt,
'YYYYMMDDHHmmss'
).format('MM-DD HH:mm:ss')}
</div>
@ -160,30 +160,30 @@ const ControlReportDetail = props => {
</div>
</dt>
<dt>
<div className='list-left-txt'>좌표</div>
<div className='list-left-txt'>좌표(위도/경도)</div>
<div className='list-right-txt'>
{controlGpDetail?.lat} , {controlGpDetail?.lng}
{controlGpDetail?.lat} / {controlGpDetail?.lng}
</div>
</dt>
<dt>
{/* <dt>
<div className='list-left-txt'>비행거리</div>
<div className='list-right-txt'>
{nullMessage(controlGpDetail?.moveDistance)}{' '}
{controlGpDetail?.moveDistanceType}
</div>
</dt>
</dt> */}
<dt>
<div className='list-left-txt'>헤딩 방위각</div>
<div className='list-right-txt'>
{controlGpDetail?.heading} °
</div>
</dt>
<dt>
{/* <dt>
<div className='list-left-txt'>상태</div>
<div className='list-right-txt'>
{nullMessage(controlGpDetail?.dronStatus)}
</div>
</dt>
</dt> */}
<dt>
<div className='list-left-txt'>위치정보 수신 시간</div>
<div className='list-right-txt'>

Loading…
Cancel
Save