Browse Source

laanc 상세보기 기존 좌표 가져오기 or code값 수정

pull/2/head
박상현 11 months ago
parent
commit
a3eccf694e
  1. 864
      package-lock.json
  2. 8
      src/components/laanc/LaacnStep3.js
  3. 35
      src/components/laanc/LaancGrid.js
  4. 6
      src/components/laanc/LaancStep1.js
  5. 17
      src/components/laanc/LaancStep2.js
  6. 173
      src/containers/laanc/LaancContainer.js
  7. 13
      src/containers/laanc/LaancPlanContainer.js
  8. 6
      src/modules/laanc/models/laancModels.ts

864
package-lock.json generated

File diff suppressed because it is too large Load Diff

8
src/components/laanc/LaacnStep3.js

@ -31,7 +31,7 @@ export default function LaacnStep3({
handleChange
}) {
const obj = {
commercial: {
fltType: {
COMMERCIAL: '사업',
NON_COMMERCIAL: '비사업'
},
@ -113,12 +113,12 @@ export default function LaacnStep3({
</Label>
<Input
type='text'
id='commercial'
name='commercial'
id='fltType'
name='fltType'
bsSize='sm'
placeholder=''
disabled
value={obj.commercial[data.commercial]}
value={obj.fltType[data.fltType]}
/>
</FormGroup>
</Col>

35
src/components/laanc/LaancGrid.js

@ -6,6 +6,12 @@ import { Row, Col, Card, Button, Spinner, Modal } from 'reactstrap';
import * as LaancAction from '../../modules/laanc/actions/laancActions';
import LaancStep2 from './LaancStep2';
import moment from 'moment';
import {
AREA_COORDINATE_LIST_SAVE,
FLIGHT_PLAN_AREA_BUFFER_LIST,
AREA_DETAIL_INIT
} from '../../modules/basis/flight/actions/basisFlightAction';
import { drawTypeChangeAction } from '../../modules/control/map/actions/controlMapActions';
const data = [
{
@ -34,14 +40,15 @@ const data = [
}
];
function LaancGrid() {
export default function LaancGrid() {
const dispatch = useDispatch();
const history = useHistory();
const [disabledAnimation, setDisabledAnimation] = useState(false);
const [isAnimation, setIsAnimation] = useState(false);
const { scheduleList } = useSelector(state => state.flightState);
const { laancSearchData } = useSelector(state => state.laancState);
const { areaCoordList } = useSelector(state => state.flightState);
const { loading } = useSelector(state => state.loadingReducer);
const { laancDetail } = useSelector(state => state.laancState);
const fillZero = (width, str) => {
@ -51,9 +58,17 @@ function LaancGrid() {
};
useEffect(() => {
if (laancDetail) setDisabledAnimation(true);
if (laancDetail) {
dispatch(FLIGHT_PLAN_AREA_BUFFER_LIST.request(laancDetail?.areaList));
dispatch(AREA_COORDINATE_LIST_SAVE(laancDetail?.areaList));
setIsAnimation(true);
}
}, [laancDetail]);
useEffect(() => {
if (areaCoordList && laancDetail) {
}
}, [areaCoordList]);
//상세보기
const handleDetail = planSno => {
dispatch(LaancAction.LAANC_DETAIL.request(planSno));
@ -63,7 +78,9 @@ function LaancGrid() {
};
const handlerLaancClose = () => {
setDisabledAnimation(false);
dispatch(drawTypeChangeAction(''));
dispatch(AREA_DETAIL_INIT());
setIsAnimation(false);
};
const columns = [
{
@ -227,8 +244,8 @@ function LaancGrid() {
</Row>
<div className='disabled-animation-modal'>
<Modal
isOpen={disabledAnimation}
toggle={() => setDisabledAnimation(!disabledAnimation)}
isOpen={isAnimation}
toggle={() => setDisabledAnimation(!isAnimation)}
className='modal-dialog-centered laanc-modal'
fade={false}
backdrop={false}
@ -236,8 +253,8 @@ function LaancGrid() {
<LaancStep2
data={laancDetail}
type={'detail'}
disabledAnimation={disabledAnimation}
setDisabledAnimation={setDisabledAnimation}
disabledAnimation={isAnimation}
setDisabledAnimation={setIsAnimation}
handlerLaancClose={handlerLaancClose}
/>
</Modal>
@ -245,5 +262,3 @@ function LaancGrid() {
</div>
);
}
export default LaancGrid;

6
src/components/laanc/LaancStep1.js

@ -302,9 +302,9 @@ export default function LaancStep1({
<Input
type='select'
size='sm'
name='commercial'
id='commercial'
value={data.commercial}
name='fltType'
id='fltType'
value={data.fltType}
onChange={e => {
const { name, value } = e.target;
handleChange({

17
src/components/laanc/LaancStep2.js

@ -30,7 +30,7 @@ export default function LaancStep2({
type
}) {
const obj = {
commercial: {
fltType: {
COMMERCIAL: '사업',
NON_COMMERCIAL: '비사업'
},
@ -213,14 +213,17 @@ export default function LaancStep2({
{/* 사전 결과 승인 대상일때 color=success */}
<Alert
color={
laancApply?.valid && data.arcrftList[0].idntfNum != 'PA0002'
(laancApply?.valid &&
data.arcrftList[0].idntfNum != 'PA0002') ||
data.aprvlYn === 'Y'
? 'success'
: 'warning'
}
>
<div className='alert-body'>
{laancApply?.valid &&
data.arcrftList[0].idntfNum != 'PA0002' ? (
{(laancApply?.valid &&
data.arcrftList[0].idntfNum != 'PA0002') ||
data.aprvlYn === 'Y' ? (
<>
<CheckCircle size={15} />
<span className='ms-1'> 검토 결과 승인 대상입니다.</span>
@ -296,10 +299,10 @@ export default function LaancStep2({
</Label>
<Input
type='text'
name='commercial'
value={obj.commercial[data.commercial]}
name='fltType'
value={obj.fltType[data.fltType]}
size='sm'
id='commercial'
id='fltType'
disabled
/>
</FormGroup>

173
src/containers/laanc/LaancContainer.js

@ -38,7 +38,7 @@ export default function LaancContainer() {
list: planListData,
detail: planDetailData,
listSelect,
// selectGroup,
selectGroup,
areaCoordList,
total
} = useSelector(state => state.flightState);
@ -48,13 +48,9 @@ export default function LaancContainer() {
const { user } = useSelector(state => state.authState, shallowEqual);
const { laancSearchData } = useSelector(state => state.laancState);
console.log('??', laancSearchData);
//비행계획서 신청 버튼 활성/비활성 제어
const [isMyGroup, setIsMyGroup] = useState();
// useEffect(() => {
// handlerGroupCancel();
// }, []);
const location = useLocation();
const queryParams = new URLSearchParams(location.search);
const mapParam = queryParams.get('map');
@ -107,19 +103,19 @@ export default function LaancContainer() {
}
}, [searchData]);
const moveFlightPlanDetailPage = () => {
if (planDetailData) {
dispatch(FlightAction.FLIGHT_PLAN_DETAIL_INIT());
}
if (areaCoordList) {
dispatch(FlightAction.AREA_DETAIL_INIT());
}
history.push('/basis/flight/plan/create');
};
// const moveFlightPlanDetailPage = () => {
// if (planDetailData) {
// dispatch(FlightAction.FLIGHT_PLAN_DETAIL_INIT());
// }
// if (areaCoordList) {
// dispatch(FlightAction.AREA_DETAIL_INIT());
// }
// history.push('/basis/flight/plan/create');
// };
const handleSearch = data => {
dispatch(FlightAction.FLIGHT_PLAN_LIST.request({ ...data, page: 1 }));
};
// const handleSearch = data => {
// dispatch(FlightAction.FLIGHT_PLAN_LIST.request({ ...data, page: 1 }));
// };
const handleApply = () => {
dispatch(drawTypeChangeAction(''));
@ -127,78 +123,79 @@ export default function LaancContainer() {
setDisabledAnimation(true);
setCurrentParm(true);
};
const handleChangeSearchData = values => {
setSerchData(prevState => ({
...prevState,
...values
}));
};
const handleGroupSelect = ({
groupId,
groupNm,
groupAuthCd,
myGroupAuthCd
}) => {
// 권한 상관 없이 모두 조회 가능
const param = searchData;
param.cstmrSno = user.cstmrSno;
param.groupId = groupId;
dispatch(
// FlightAction.FLIGHT_PLAN_GROUP_SELECT({
FlightAction.FLIGHT_PLAN_LIST_GROUP_SELECT({
cstmrSno: user.cstmrSno,
groupId: groupId,
groupNm: groupNm
})
);
// groupId sessionStorage에 보관 (1 브라우저 1 tab에만 유효)
sessionStorage.setItem('groupId', groupId);
sessionStorage.setItem('cstmrSno', user.cstmrSno);
setSerchData(prevState => {
return {
...prevState,
cstmrSno: user.cstmrSno,
groupId: groupId
};
});
dispatch(FlightAction.FLIGHT_PLAN_LIST.request({ ...param, page: 1 }));
//비행계획서 신청 버튼 활성/비활성 제어
let my = false;
if (user.authId === 'SUPER') {
my = true;
} else if (user.authId === 'ADMIN') {
if (myGroupAuthCd) {
my = true;
}
} else if (user.authId === 'USER') {
if (groupAuthCd) {
my = true;
}
}
setIsMyGroup(my);
};
const handlerGroupCancel = () => {
dispatch(
// FlightAction.FLIGHT_PLAN_GROUP_SELECT({
FlightAction.FLIGHT_PLAN_LIST_GROUP_SELECT({
cstmrSno: 0,
groupId: '',
groupNm: ''
})
);
};
const onChangePage = page => {
dispatch(FlightAction.FLIGHT_PLAN_LIST.request({ ...searchData, page }));
};
// const handleChangeSearchData = values => {
// setSerchData(prevState => ({
// ...prevState,
// ...values
// }));
// };
// const handleGroupSelect = ({
// groupId,
// groupNm,
// groupAuthCd,
// myGroupAuthCd
// }) => {
// // 권한 상관 없이 모두 조회 가능
// const param = searchData;
// param.cstmrSno = user.cstmrSno;
// param.groupId = groupId;
// dispatch(
// // FlightAction.FLIGHT_PLAN_GROUP_SELECT({
// FlightAction.FLIGHT_PLAN_LIST_GROUP_SELECT({
// cstmrSno: user.cstmrSno,
// groupId: groupId,
// groupNm: groupNm
// })
// );
// // groupId sessionStorage에 보관 (1 브라우저 1 tab에만 유효)
// sessionStorage.setItem('groupId', groupId);
// sessionStorage.setItem('cstmrSno', user.cstmrSno);
// setSerchData(prevState => {
// return {
// ...prevState,
// cstmrSno: user.cstmrSno,
// groupId: groupId
// };
// });
// dispatch(FlightAction.FLIGHT_PLAN_LIST.request({ ...param, page: 1 }));
// //비행계획서 신청 버튼 활성/비활성 제어
// let my = false;
// if (user.authId === 'SUPER') {
// my = true;
// } else if (user.authId === 'ADMIN') {
// if (myGroupAuthCd) {
// my = true;
// }
// } else if (user.authId === 'USER') {
// if (groupAuthCd) {
// my = true;
// }
// }
// setIsMyGroup(my);
// };
// const handlerGroupCancel = () => {
// dispatch(
// // FlightAction.FLIGHT_PLAN_GROUP_SELECT({
// FlightAction.FLIGHT_PLAN_LIST_GROUP_SELECT({
// cstmrSno: 0,
// groupId: '',
// groupNm: ''
// })
// );
// };
// const onChangePage = page => {
// dispatch(FlightAction.FLIGHT_PLAN_LIST.request({ ...searchData, page }));
// };
return (
<CustomMainLayout title={'LAANC 신청 목록'}>

13
src/containers/laanc/LaancPlanContainer.js

@ -47,11 +47,6 @@ export default function LaancPlanContainer({
};
}, []);
// useEffect(() => {
// if (disabledAnimation) {
// setStep(1);
// }
// }, [disabledAnimation]);
//비행 방식 직접 입력칸 작성 시 api 호출 부분
useEffect(() => {
if (Object.getOwnPropertyNames(finalDetailData).length != 0) {
@ -137,9 +132,9 @@ export default function LaancPlanContainer({
setStep(step);
};
const handlerLogout = () => {
dispatch(Actions.logout.request());
};
// const handlerLogout = () => {
// dispatch(Actions.logout.request());
// };
// 날씨 핸들러
const handlerWeather = () => {
@ -287,7 +282,7 @@ export default function LaancPlanContainer({
const currentDate = moment(); // 현재 날짜와 시간을 가져옵니다.
if (!detailData.commercial) {
if (!detailData.fltType) {
setIsErrorModal({
isOpen: true,
title: '필수값 입력 오류',

6
src/modules/laanc/models/laancModels.ts

@ -17,6 +17,7 @@ export const LaancFlightData = {
planSno: 0,
groupId: '',
cstmrSno: 0,
fltType: '',
memberName: '',
email: '',
hpno: '',
@ -110,6 +111,7 @@ export const LaancFlightData = {
groupId: '',
cstmrSno: 0,
memberName: '',
fltType: '',
email: '',
hpno: '',
clncd: '+82',
@ -373,6 +375,7 @@ export const laancControlData = {
memberName: '',
email: '',
hpno: '',
fltType: '',
clncd: '+82',
addr: '',
addrDtlCn: '',
@ -457,6 +460,7 @@ export const initFlightBas = {
email: '',
hpno: '',
clncd: '+82',
fltType: '',
addr: '',
addrDtlCn: '',
zip: '',
@ -527,8 +531,8 @@ export const initFlightBas = {
groupId: '',
cstmrSno: 0,
memberName: '',
fltType: '',
email: '',
commercial: '',
hpno: '',
clncd: '+82',
addr: '',

Loading…
Cancel
Save