Browse Source

터미널ID와 권한에 따른 기체 표출

pull/2/head
이준희 2 years ago
parent
commit
1a8ec3e880
  1. 62
      src/components/map/naver/dron/DronMarker.js

62
src/components/map/naver/dron/DronMarker.js

@ -16,6 +16,7 @@ import {
objectUnClickAction
} from '../../../../modules/control/map/actions/controlMapActions';
import { controlGroupAuthAction } from '../../../../modules/control/gp';
import { JOIN_LIST } from '../../../../modules/basis/group/actions/basisGroupAction';
export const DronMarker = props => {
const dispatch = useDispatch();
@ -32,6 +33,9 @@ export const DronMarker = props => {
const { controlGpArcrftWarnList } = useSelector(
state => state.controlGpLogState
);
const { user } = useSelector(state => state.authState);
const { joinList } = useSelector(state => state.groupState);
const [arrMarkers, setArrMarkers] = useState([]);
// const [arrInfos, setArrInfos] = useState([]);
@ -83,6 +87,14 @@ export const DronMarker = props => {
// dispatch(controlGroupAuthAction.request());
// }, [controlGpList]);
useEffect(() => {
dispatch(
JOIN_LIST.request({
cstmrSno: user?.cstmrSno
})
);
}, []);
useEffect(() => {
markerInit();
}, [controlGpList]);
@ -121,20 +133,56 @@ export const DronMarker = props => {
//마커를 그린다.
const addMarkers = (position, id, controlId, gps) => {
const markerOption = {};
if (id.substring(0, 2) === 'PA') {
const pal = controlGroupAuthInfo?.find(
prev => prev.idntfNum === gps.objectId
);
markerOption.url = pal ? DronIcon : FlightIcon;
markerOption.type = pal ? 'DRONE' : 'FLIGHT';
if (pal) {
markerOption.url = DronIcon;
markerOption.type = 'DRONE';
} else {
if (user.authId === 'SUPER' || user.authId === 'ADMIN') {
markerOption.url = FlightIcon;
markerOption.type = 'FLIGHT';
} else {
const terminal = joinList?.find(prev => prev.trmnlId === gps.trmnlId);
if (
terminal?.groupAuthCd === 'MASTER' ||
terminal?.groupAuthCd === 'LEADER'
) {
markerOption.url = FlightIcon;
markerOption.type = 'FLIGHT';
}
}
}
} else {
// const etc = controlGpList?.filter(
// prev => prev.command === 이사람이 가입한 그룹의 command(가입한 그룹의 리스트를 여기로 불러와야 함)
// )
markerOption.url = FlightIcon;
markerOption.type = 'FLIGHT';
if (user.authId === 'SUPER' || user.authId === 'ADMIN') {
markerOption.url = FlightIcon;
markerOption.type = 'FLIGHT';
} else {
const terminal = joinList?.find(prev => prev.trmnlId === gps.trmnlId);
if (
terminal?.groupAuthCd === 'MASTER' ||
terminal?.groupAuthCd === 'LEADER'
) {
markerOption.url = FlightIcon;
markerOption.type = 'FLIGHT';
}
}
}
// if (id.substring(0, 2) === 'PA') {
// const pal = controlGroupAuthInfo?.find(
// prev => prev.idntfNum === gps.objectId
// );
// markerOption.url = pal ? DronIcon : FlightIcon;
// markerOption.type = pal ? 'DRONE' : 'FLIGHT';
// } else {
// markerOption.url = FlightIcon;
// markerOption.type = 'FLIGHT';
// }
markerOption.origin = new naver.maps.Point(0, 0);
markerOption.anchor = new naver.maps.Point(15, 15);

Loading…
Cancel
Save