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 handleChange
}) { }) {
const obj = { const obj = {
commercial: { fltType: {
COMMERCIAL: '사업', COMMERCIAL: '사업',
NON_COMMERCIAL: '비사업' NON_COMMERCIAL: '비사업'
}, },
@ -113,12 +113,12 @@ export default function LaacnStep3({
</Label> </Label>
<Input <Input
type='text' type='text'
id='commercial' id='fltType'
name='commercial' name='fltType'
bsSize='sm' bsSize='sm'
placeholder='' placeholder=''
disabled disabled
value={obj.commercial[data.commercial]} value={obj.fltType[data.fltType]}
/> />
</FormGroup> </FormGroup>
</Col> </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 * as LaancAction from '../../modules/laanc/actions/laancActions';
import LaancStep2 from './LaancStep2'; import LaancStep2 from './LaancStep2';
import moment from 'moment'; 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 = [ const data = [
{ {
@ -34,14 +40,15 @@ const data = [
} }
]; ];
function LaancGrid() { export default function LaancGrid() {
const dispatch = useDispatch(); const dispatch = useDispatch();
const history = useHistory(); const history = useHistory();
const [disabledAnimation, setDisabledAnimation] = useState(false); const [isAnimation, setIsAnimation] = useState(false);
const { scheduleList } = useSelector(state => state.flightState); const { scheduleList } = useSelector(state => state.flightState);
const { laancSearchData } = useSelector(state => state.laancState); const { laancSearchData } = useSelector(state => state.laancState);
const { areaCoordList } = useSelector(state => state.flightState);
const { loading } = useSelector(state => state.loadingReducer); const { loading } = useSelector(state => state.loadingReducer);
const { laancDetail } = useSelector(state => state.laancState); const { laancDetail } = useSelector(state => state.laancState);
const fillZero = (width, str) => { const fillZero = (width, str) => {
@ -51,9 +58,17 @@ function LaancGrid() {
}; };
useEffect(() => { 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]); }, [laancDetail]);
useEffect(() => {
if (areaCoordList && laancDetail) {
}
}, [areaCoordList]);
//상세보기 //상세보기
const handleDetail = planSno => { const handleDetail = planSno => {
dispatch(LaancAction.LAANC_DETAIL.request(planSno)); dispatch(LaancAction.LAANC_DETAIL.request(planSno));
@ -63,7 +78,9 @@ function LaancGrid() {
}; };
const handlerLaancClose = () => { const handlerLaancClose = () => {
setDisabledAnimation(false); dispatch(drawTypeChangeAction(''));
dispatch(AREA_DETAIL_INIT());
setIsAnimation(false);
}; };
const columns = [ const columns = [
{ {
@ -227,8 +244,8 @@ function LaancGrid() {
</Row> </Row>
<div className='disabled-animation-modal'> <div className='disabled-animation-modal'>
<Modal <Modal
isOpen={disabledAnimation} isOpen={isAnimation}
toggle={() => setDisabledAnimation(!disabledAnimation)} toggle={() => setDisabledAnimation(!isAnimation)}
className='modal-dialog-centered laanc-modal' className='modal-dialog-centered laanc-modal'
fade={false} fade={false}
backdrop={false} backdrop={false}
@ -236,8 +253,8 @@ function LaancGrid() {
<LaancStep2 <LaancStep2
data={laancDetail} data={laancDetail}
type={'detail'} type={'detail'}
disabledAnimation={disabledAnimation} disabledAnimation={isAnimation}
setDisabledAnimation={setDisabledAnimation} setDisabledAnimation={setIsAnimation}
handlerLaancClose={handlerLaancClose} handlerLaancClose={handlerLaancClose}
/> />
</Modal> </Modal>
@ -245,5 +262,3 @@ function LaancGrid() {
</div> </div>
); );
} }
export default LaancGrid;

6
src/components/laanc/LaancStep1.js

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

17
src/components/laanc/LaancStep2.js

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

173
src/containers/laanc/LaancContainer.js

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

13
src/containers/laanc/LaancPlanContainer.js

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

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

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

Loading…
Cancel
Save