Browse Source

feat/장애물 제한 표면 수정

master
sanguu516 3 weeks ago
parent
commit
b592b3f26b
  1. 37
      src/components/flight/NewFlightApprovalsReport.js
  2. 32
      src/components/flight/OperationApprovalsTable.js
  3. 32
      src/containers/flight/ControlApprovalsContainer.js
  4. 32
      src/containers/flight/OperationApprovalsContainer.js
  5. 40
      src/containers/flight/popup/ControlApprovalsPopupContainer.js
  6. 58
      src/containers/flight/popup/OperationApprovalsPopupContainer.js

37
src/components/flight/NewFlightApprovalsReport.js

@ -112,9 +112,14 @@ export default function NewFlightApprovalsReport(props) {
bsSize='sm' bsSize='sm'
id='limitzoneNm' id='limitzoneNm'
placeholder='장애물 제한표면을 선택 해 주세요.' placeholder='장애물 제한표면을 선택 해 주세요.'
onChange={e => props.setLimitZoneNm(e.target.value)} onChange={e =>
props.setCheckState({
...props.checkState,
limitZoneNm: e.target.value
})
}
onKeyPress={handleKeyDown} onKeyPress={handleKeyDown}
value={props.limitZoneNm} value={props.checkState.limitZoneNm}
> >
<option value={'전체'}>전체</option> <option value={'전체'}>전체</option>
<option value={'C'}>원추</option> <option value={'C'}>원추</option>
@ -146,13 +151,19 @@ export default function NewFlightApprovalsReport(props) {
} }
value={ value={
props.pageName === 'control' props.pageName === 'control'
? props.reviewedProcType ? props.checkState.reviewedProcType
: props.reviewedType : props.checkState.reviewedType
} }
onChange={e => { onChange={e => {
props.pageName === 'control' props.pageName === 'control'
? props.setReviewedProcType(e.target.value) ? props.setCheckState({
: props.setReviewedType(e.target.value); ...props.checkState,
reviewedProcType: e.target.value
})
: props.setCheckState({
...props.checkState,
reviewedType: e.target.value
});
}} }}
onKeyPress={handleKeyDown} onKeyPress={handleKeyDown}
> >
@ -186,13 +197,19 @@ export default function NewFlightApprovalsReport(props) {
} }
value={ value={
props.pageName === 'control' props.pageName === 'control'
? props.reviewedType ? props.checkState.reviewedType
: props.reviewedProcType : props.checkState.reviewedProcType
} }
onChange={e => { onChange={e => {
props.pageName === 'control' props.pageName === 'control'
? props.setReviewedType(e.target.value) ? props.setCheckState({
: props.setReviewedProcType(e.target.value); ...props.checkState,
reviewedType: e.target.value
})
: props.setCheckState({
...props.checkState,
reviewedProcType: e.target.value
});
}} }}
onKeyPress={handleKeyDown} onKeyPress={handleKeyDown}
> >

32
src/components/flight/OperationApprovalsTable.js

@ -12,12 +12,7 @@ import { ERROR_MESSAGE, ERROR_TITLE } from '@src/configs/msgConst';
import OperationModal from './OperationModal'; import OperationModal from './OperationModal';
import ScrollContainer from 'react-indiana-drag-scroll'; import ScrollContainer from 'react-indiana-drag-scroll';
import OperationCheckBoxModal from './OperationCheckBoxModal'; import OperationCheckBoxModal from './OperationCheckBoxModal';
import { import { ConfirmModal } from '@component/modal/ConfirmModal';
CityCategories,
DistrictCategories,
FlightCategory,
limitZoneNmCategories
} from '@configs/constants';
export default function OperationApprovalsTable(props) { export default function OperationApprovalsTable(props) {
const dispatch = useDispatch(); const dispatch = useDispatch();
@ -61,6 +56,15 @@ export default function OperationApprovalsTable(props) {
const [reviewedTypeValue, setReviewedTypeValue] = useState(''); const [reviewedTypeValue, setReviewedTypeValue] = useState('');
// 확인 모달
const [modal, setModal] = useState({
isOpen: false,
title: '',
desc: '',
type: '',
row: {}
});
useEffect(() => { useEffect(() => {
let approvalCdValue = { S: 0, F: 0, C: 0, U: 0 }; let approvalCdValue = { S: 0, F: 0, C: 0, U: 0 };
@ -102,7 +106,13 @@ export default function OperationApprovalsTable(props) {
try { try {
const values = await form.validateFields(); const values = await form.validateFields();
handleSave({ ...record, ...values }); setModal({
isOpen: true,
title: '수정 확인',
desc: '데이터를 수정하시겠습니까?',
type: 'edit',
row: { ...record, ...values }
});
} catch (errInfo) {} } catch (errInfo) {}
}; };
@ -978,6 +988,14 @@ export default function OperationApprovalsTable(props) {
</Form> </Form>
</div> </div>
</ScrollContainer> </ScrollContainer>
{modal && (
<ConfirmModal
modal={modal}
setModal={setModal}
handlerConfirm={() => handleSave(modal.row)}
color='primary'
/>
)}
</Form> </Form>
) : ( ) : (
<div <div

32
src/containers/flight/ControlApprovalsContainer.js

@ -60,12 +60,12 @@ export default function ControlApprovalsContainer({ mode }) {
// 식별번호 // 식별번호
const [filterId, setFilterId] = useState(''); const [filterId, setFilterId] = useState('');
// 검토 상태값 // 검색 조건
const [reviewedType, setReviewedType] = useState('전체'); const [checkState, setCheckState] = useState({
const [reviewedProcType, setReviewedProcType] = useState('전체'); reviewedType: '전체',
reviewedProcType: '전체',
const [limitZoneNm, setLimitZoneNm] = useState(''); limitZoneNm: '전체'
});
// 지역 // 지역
const [filterArea, setFilterArea] = useState({ const [filterArea, setFilterArea] = useState({
ctprvn: '전체', ctprvn: '전체',
@ -240,11 +240,14 @@ export default function ControlApprovalsContainer({ mode }) {
ctprvn: filterArea.ctprvn === '전체' ? '' : filterArea.ctprvn, ctprvn: filterArea.ctprvn === '전체' ? '' : filterArea.ctprvn,
sig: filterArea.sig === '전체' ? '' : filterArea.sig, sig: filterArea.sig === '전체' ? '' : filterArea.sig,
address: filterArea.address, address: filterArea.address,
limitZoneCd: limitZoneNm === '전체' ? '' : limitZoneNm, limitZoneCd:
checkState.limitZoneNm === '전체' ? '' : checkState.limitZoneNm,
...(search !== '' ? { applyNo: search } : {}), ...(search !== '' ? { applyNo: search } : {}),
...(reviewedType !== '전체' ? { reviewedType: reviewedType } : {}), ...(checkState.reviewedType !== '전체'
...(reviewedProcType !== '전체' ? { reviewedType: checkState.reviewedType }
? { reviewedProcType: reviewedProcType } : {}),
...(checkState.reviewedProcType !== '전체'
? { reviewedProcType: checkState.reviewedProcType }
: {}) : {})
}) })
); );
@ -776,12 +779,8 @@ export default function ControlApprovalsContainer({ mode }) {
setFilterId={setFilterId} setFilterId={setFilterId}
filterArea={filterArea} filterArea={filterArea}
setFilterArea={setFilterArea} setFilterArea={setFilterArea}
setReviewedType={setReviewedType} checkState={checkState}
reviewedType={reviewedType} setCheckState={setCheckState}
reviewedProcType={reviewedProcType}
setReviewedProcType={setReviewedProcType}
limitZoneNm={limitZoneNm}
setLimitZoneNm={setLimitZoneNm}
pageName='control' pageName='control'
/> />
<ControlApprovalsTable <ControlApprovalsTable
@ -791,7 +790,6 @@ export default function ControlApprovalsContainer({ mode }) {
startDate={startDate} startDate={startDate}
endDate={endDate} endDate={endDate}
selected={selected} selected={selected}
handlerSearch={handlerSearch}
handlerDetail={handlerDetail} handlerDetail={handlerDetail}
/> />
</div> </div>

32
src/containers/flight/OperationApprovalsContainer.js

@ -65,12 +65,12 @@ export default function OperationApprovalsContainer({ mode }) {
// 식별번호 // 식별번호
const [filterId, setFilterId] = useState(''); const [filterId, setFilterId] = useState('');
// 운항과 검토 상태값 // 검색조건
const [reviewedType, setReviewedType] = useState('전체'); const [checkState, setCheckState] = useState({
// 관제과 검토 상태값 reviewedType: '전체',
const [reviewedProcType, setReviewedProcType] = useState('전체'); reviewedProcType: '전체',
limitZoneNm: '전체'
const [limitZoneNm, setLimitZoneNm] = useState(''); });
// 지역 // 지역
const [filterArea, setFilterArea] = useState({ const [filterArea, setFilterArea] = useState({
@ -282,11 +282,14 @@ export default function OperationApprovalsContainer({ mode }) {
ctprvn: filterArea.ctprvn === '전체' ? '' : filterArea.ctprvn, ctprvn: filterArea.ctprvn === '전체' ? '' : filterArea.ctprvn,
sig: filterArea.sig === '전체' ? '' : filterArea.sig, sig: filterArea.sig === '전체' ? '' : filterArea.sig,
address: filterArea.address, address: filterArea.address,
limitZoneCd: limitZoneNm === '전체' ? '' : limitZoneNm, limitZoneCd:
checkState.limitZoneNm === '전체' ? '' : checkState.limitZoneNm,
...(search !== '' ? { applyNo: search } : {}), ...(search !== '' ? { applyNo: search } : {}),
...(reviewedType !== '전체' ? { reviewedType: reviewedType } : {}), ...(checkState.reviewedType !== '전체'
...(reviewedProcType !== '전체' ? { reviewedType: checkState.reviewedType }
? { reviewedProcType: reviewedProcType } : {}),
...(checkState.reviewedProcType !== '전체'
? { reviewedProcType: checkState.reviewedProcType }
: {}) : {})
}) })
); );
@ -909,12 +912,8 @@ export default function OperationApprovalsContainer({ mode }) {
setFilterId={setFilterId} setFilterId={setFilterId}
filterArea={filterArea} filterArea={filterArea}
setFilterArea={setFilterArea} setFilterArea={setFilterArea}
setReviewedType={setReviewedType} checkState={checkState}
reviewedType={reviewedType} setCheckState={setCheckState}
reviewedProcType={reviewedProcType}
setReviewedProcType={setReviewedProcType}
limitZoneNm={limitZoneNm}
setLimitZoneNm={setLimitZoneNm}
pageName='operation' pageName='operation'
/> />
<OperationApprovalsTable <OperationApprovalsTable
@ -925,7 +924,6 @@ export default function OperationApprovalsContainer({ mode }) {
endDate={endDate} endDate={endDate}
selected={selected} selected={selected}
selectedPlanSno={selectedPlanSno} selectedPlanSno={selectedPlanSno}
handlerSearch={handlerSearch}
handlerDetail={handlerDetail} handlerDetail={handlerDetail}
/> />
</div> </div>

40
src/containers/flight/popup/ControlApprovalsPopupContainer.js

@ -20,17 +20,12 @@ function ControlApprovalsPopupContainer() {
address: '' address: ''
}); });
// 검토 상태값 // 검색 조건
const [reviewedType, setReviewedType] = useState('전체'); const [checkState, setCheckState] = useState({
const [reviewedProcType, setReviewedProcType] = useState('전체'); reviewedType: '전체',
reviewedProcType: '전체',
const [approvalCd, setApprovalCd] = useState([ limitZoneNm: '전체'
{ name: '전체', value: '', select: false }, });
{ name: '승인', value: 'S', select: false },
{ name: '미 승인', value: 'F', select: false },
{ name: '비 대상', value: 'U', select: false },
{ name: '조건부 승인', value: 'C', select: false }
]);
const dispatch = useDispatch(); const dispatch = useDispatch();
@ -94,13 +89,14 @@ function ControlApprovalsPopupContainer() {
ctprvn: filterArea.ctprvn === '전체' ? '' : filterArea.ctprvn, ctprvn: filterArea.ctprvn === '전체' ? '' : filterArea.ctprvn,
sig: filterArea.sig === '전체' ? '' : filterArea.sig, sig: filterArea.sig === '전체' ? '' : filterArea.sig,
address: filterArea.address, address: filterArea.address,
limitZoneCd:
checkState.limitZoneNm === '전체' ? '' : checkState.limitZoneNm,
...(search !== '' ? { applyNo: search } : {}), ...(search !== '' ? { applyNo: search } : {}),
...(reviewedType !== '전체' ? { reviewedType: reviewedType } : {}), ...(checkState.reviewedType !== '전체'
...(reviewedProcType !== '전체' ? { reviewedType: checkState.reviewedType }
? { reviewedProcType: reviewedProcType }
: {}), : {}),
...(approvalCd.filter(i => i.select).length > 0 ...(checkState.reviewedProcType !== '전체'
? { approvalCd: approvalCd.filter(i => i.select)[0].value } ? { reviewedProcType: checkState.reviewedProcType }
: {}) : {})
}) })
); );
@ -113,8 +109,9 @@ function ControlApprovalsPopupContainer() {
address: filterArea.address, address: filterArea.address,
startDate: searchDate.startDate, startDate: searchDate.startDate,
endDate: searchDate.endDate, endDate: searchDate.endDate,
reviewedType, reviewedType: checkState.reviewedType,
reviewedProcType reviewedProcType: checkState.reviewedProcType,
limitZoneNm: checkState.limitZoneNm
}) })
); );
handlerOpnerPostMessage('search', { search, searchDate, filterArea }); handlerOpnerPostMessage('search', { search, searchDate, filterArea });
@ -166,12 +163,9 @@ function ControlApprovalsPopupContainer() {
setFilterId={setFilterId} setFilterId={setFilterId}
filterArea={filterArea} filterArea={filterArea}
setFilterArea={setFilterArea} setFilterArea={setFilterArea}
reviewedType={reviewedType}
setReviewedType={setReviewedType}
approvalCd={approvalCd}
reviewedProcType={reviewedProcType}
setReviewedProcType={setReviewedProcType}
handlerApprovalCd={handlerApprovalCd} handlerApprovalCd={handlerApprovalCd}
checkState={checkState}
setCheckState={setCheckState}
pageName='control' pageName='control'
/> />
<ControlApprovalsTable <ControlApprovalsTable

58
src/containers/flight/popup/OperationApprovalsPopupContainer.js

@ -22,18 +22,12 @@ function OperationApprovalsPopupContainer() {
address: '' address: ''
}); });
// 운항과 검토 상태값 // 검색 조건
const [reviewedType, setReviewedType] = useState('전체'); const [checkState, setCheckState] = useState({
// 관제과 검토 상태값 reviewedType: '전체',
const [reviewedProcType, setReviewedProcType] = useState('전체'); reviewedProcType: '전체',
limitZoneNm: '전체'
const [approvalCd, setApprovalCd] = useState([ });
{ name: '전체', value: '', select: false },
{ name: '승인', value: 'S', select: false },
{ name: '미 승인', value: 'F', select: false },
{ name: '비 대상', value: 'U', select: false },
{ name: '조건부 승인', value: 'C', select: false }
]);
const dispatch = useDispatch(); const dispatch = useDispatch();
@ -108,23 +102,6 @@ function OperationApprovalsPopupContainer() {
} }
}; };
const checkSearch = text => {
switch (text) {
case '검토완료':
return 'R';
case '검토대기':
return 'W';
case '검토불필요':
return 'U';
case '검토요청':
return 'Q';
case '검토재요청':
return 'A';
case '검토요청취소':
return 'C';
}
};
const handlerSearch = (search, searchDate, filterArea) => { const handlerSearch = (search, searchDate, filterArea) => {
setStartDate(searchDate.startDate); setStartDate(searchDate.startDate);
setEndDate(searchDate.endDate); setEndDate(searchDate.endDate);
@ -136,13 +113,14 @@ function OperationApprovalsPopupContainer() {
ctprvn: filterArea.ctprvn === '전체' ? '' : filterArea.ctprvn, ctprvn: filterArea.ctprvn === '전체' ? '' : filterArea.ctprvn,
sig: filterArea.sig === '전체' ? '' : filterArea.sig, sig: filterArea.sig === '전체' ? '' : filterArea.sig,
address: filterArea.address, address: filterArea.address,
limitZoneCd:
checkState.limitZoneNm === '전체' ? '' : checkState.limitZoneNm,
...(search !== '' ? { applyNo: search } : {}), ...(search !== '' ? { applyNo: search } : {}),
...(reviewedType !== '전체' ? { reviewedType: reviewedType } : {}), ...(checkState.reviewedType !== '전체'
...(reviewedProcType !== '전체' ? { reviewedType: checkState.reviewedType }
? { reviewedProcType: reviewedProcType }
: {}), : {}),
...(approvalCd.filter(i => i.select).length > 0 ...(checkState.reviewedProcType !== '전체'
? { approvalCd: approvalCd.filter(i => i.select)[0].value } ? { reviewedProcType: checkState.reviewedProcType }
: {}) : {})
}) })
); );
@ -155,8 +133,9 @@ function OperationApprovalsPopupContainer() {
address: filterArea.address, address: filterArea.address,
startDate: searchDate.startDate, startDate: searchDate.startDate,
endDate: searchDate.endDate, endDate: searchDate.endDate,
reviewedType, reviewedType: checkState.reviewedType,
reviewedProcType reviewedProcType: checkState.reviewedProcType,
limitZoneNm: checkState.limitZoneNm
}) })
); );
handlerOpnerPostMessage('search', { search, searchDate, filterArea }); handlerOpnerPostMessage('search', { search, searchDate, filterArea });
@ -219,11 +198,8 @@ function OperationApprovalsPopupContainer() {
setFilterId={setFilterId} setFilterId={setFilterId}
filterArea={filterArea} filterArea={filterArea}
setFilterArea={setFilterArea} setFilterArea={setFilterArea}
reviewedType={reviewedType} checkState={checkState}
setReviewedType={setReviewedType} setCheckState={setCheckState}
approvalCd={approvalCd}
reviewedProcType={reviewedProcType}
setReviewedProcType={setReviewedProcType}
handlerApprovalCd={handlerApprovalCd} handlerApprovalCd={handlerApprovalCd}
pageName='operation' pageName='operation'
/> />

Loading…
Cancel
Save