diff --git a/src/components/flight/NewFlightApprovalsReport.js b/src/components/flight/NewFlightApprovalsReport.js index 7de912b4..0b004ebc 100644 --- a/src/components/flight/NewFlightApprovalsReport.js +++ b/src/components/flight/NewFlightApprovalsReport.js @@ -106,21 +106,65 @@ export default function NewFlightApprovalsReport(props) {
- + + {props.approvalCd.map(item => ( + + ))} + + +
+
+ + +
+
+

확인 결과

+
+
+
+
+ + + props.setReviewedType(e.target.value)} + onKeyPress={handleKeyDown} + > + {Object.values(FlightCategory.Operation).map(item => ( + + ))} + + +
+
+
+
+ + + props.setReviewedType(e.target.value)} onKeyPress={handleKeyDown} > - {Object.values( - props.pageName === 'control' - ? FlightCategory.Control - : FlightCategory.Operation - ).map(item => ( + {Object.values(FlightCategory.Control).map(item => ( @@ -129,6 +173,18 @@ export default function NewFlightApprovalsReport(props) {
+
+
+ + + + + + + + +
+
diff --git a/src/components/flight/OperationApprovalsTable.js b/src/components/flight/OperationApprovalsTable.js index 07fd344f..a4e96329 100644 --- a/src/components/flight/OperationApprovalsTable.js +++ b/src/components/flight/OperationApprovalsTable.js @@ -1368,6 +1368,9 @@ export default function OperationApprovalsTable(props) { +
@@ -1379,6 +1382,8 @@ export default function OperationApprovalsTable(props) { 조건부 승인 {approvalCdValue.C}건
  • 비대상 {approvalCdValue.U}건
  • +
  • 전송 0건
  • +
  • 미 전송 0건
  • diff --git a/src/configs/constants.ts b/src/configs/constants.ts index c4ee3aba..55fb2364 100644 --- a/src/configs/constants.ts +++ b/src/configs/constants.ts @@ -246,8 +246,9 @@ export const FlightCategory = { Operation: { 전체: '전체', 검토완료: '검토완료', - 검토대기: '검토대기', + 검토요청: '검토요청', 검토재요청: '검토재요청', + 검토대기: '검토대기', 검토불필요: '검토불필요', 검토요청취소: '검토요청취소' } diff --git a/src/containers/flight/OperationApprovalsContainer.js b/src/containers/flight/OperationApprovalsContainer.js index 6671e0e3..d7e7a88b 100644 --- a/src/containers/flight/OperationApprovalsContainer.js +++ b/src/containers/flight/OperationApprovalsContainer.js @@ -64,6 +64,14 @@ export default function OperationApprovalsContainer({ mode }) { // 검토 상태값 const [reviewedType, setReviewedType] = useState('전체'); + // laanc 검토 상태값 + 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 [filterArea, setFilterArea] = useState({ @@ -268,16 +276,6 @@ export default function OperationApprovalsContainer({ mode }) { const checkSearch = text => { switch (text) { - case '승인': - return 'S'; - case '미승인': - return 'F'; - case '비대상': - return 'U'; - case '조건부승인': - return 'C'; - case '조건부 승인': - return 'C'; case '검토완료': return 'R'; case '검토재요청': @@ -296,57 +294,23 @@ export default function OperationApprovalsContainer({ mode }) { setStartDate(searchDate.startDate); setEndDate(searchDate.endDate); - if ( - search != '' && - (search === '승인' || - search === '미승인' || - search === '비대상' || - search === '조건부승인' || - search === '조건부 승인') - ) { - dispatch( - getLaancAprvList({ - searchStDt: searchDate.startDate, - searchEndDt: searchDate.endDate, - ctprvn: filterArea.ctprvn === '전체' ? '' : filterArea.ctprvn, - sig: filterArea.sig === '전체' ? '' : filterArea.sig, - address: filterArea.address, - approvalCd: checkSearch(search) - }) - ); - } else if (reviewedType !== '전체') { - dispatch( - getLaancAprvList({ - searchStDt: searchDate.startDate, - searchEndDt: searchDate.endDate, - ctprvn: filterArea.ctprvn === '전체' ? '' : filterArea.ctprvn, - sig: filterArea.sig === '전체' ? '' : filterArea.sig, - address: filterArea.address, - reviewedType: checkSearch(reviewedType) - }) - ); - } else if (search != '') { - dispatch( - getLaancAprvList({ - searchStDt: searchDate.startDate, - searchEndDt: searchDate.endDate, - ctprvn: filterArea.ctprvn === '전체' ? '' : filterArea.ctprvn, - sig: filterArea.sig === '전체' ? '' : filterArea.sig, - address: filterArea.address, - applyNo: search - }) - ); - } else { - dispatch( - getLaancAprvList({ - searchStDt: searchDate.startDate, - searchEndDt: searchDate.endDate, - ctprvn: filterArea.ctprvn === '전체' ? '' : filterArea.ctprvn, - sig: filterArea.sig === '전체' ? '' : filterArea.sig, - address: filterArea.address - }) - ); - } + dispatch( + getLaancAprvList({ + searchStDt: searchDate.startDate, + searchEndDt: searchDate.endDate, + ctprvn: filterArea.ctprvn === '전체' ? '' : filterArea.ctprvn, + sig: filterArea.sig === '전체' ? '' : filterArea.sig, + address: filterArea.address, + ...(search !== '' ? { applyNo: search } : {}), + ...(reviewedType !== '전체' + ? { reviewedType: checkSearch(reviewedType) } + : {}), + ...(approvalCd.filter(i => i.select).length > 0 + ? { approvalCd: approvalCd.filter(i => i.select)[0].value } + : {}) + }) + ); + // ); setFilter(search); }; @@ -734,6 +698,30 @@ export default function OperationApprovalsContainer({ mode }) { } }; + const handlerApprovalCd = ({ target: { value } }) => { + setApprovalCd( + approvalCd.map(i => { + if (!value) { + return { + ...i, + select: false + }; + } else { + if (i.value === value) { + return { + ...i, + select: true + }; + } + return { + ...i, + select: false + }; + } + }) + ); + }; + const handlerLogout = async () => { const { payload } = await dispatch(setLogout()); @@ -982,6 +970,8 @@ export default function OperationApprovalsContainer({ mode }) { setFilterArea={setFilterArea} setReviewedType={setReviewedType} reviewedType={reviewedType} + approvalCd={approvalCd} + handlerApprovalCd={handlerApprovalCd} pageName='operation' /> { switch (text) { - case '승인': - return 'S'; - case '미승인': - return 'F'; - case '비대상': - return 'U'; - case '조건부승인': - return 'C'; - case '조건부 승인': - return 'C'; case '검토완료': return 'R'; - case '재검토': - return 'A'; case '검토대기': return 'W'; case '검토불필요': return 'U'; + case '검토요청': + return 'Q'; + case '검토재요청': + return 'A'; + case '검토요청취소': + return 'C'; } }; @@ -125,57 +126,22 @@ function OperationApprovalsPopupContainer() { setStartDate(searchDate.startDate); setEndDate(searchDate.endDate); setFilter(search); - if ( - search != '' && - (search === '승인' || - search === '미승인' || - search === '비대상' || - search === '조건부승인' || - search === '조건부 승인') - ) { - dispatch( - getLaancAprvList({ - searchStDt: searchDate.startDate, - searchEndDt: searchDate.endDate, - ctprvn: filterArea.ctprvn === '전체' ? '' : filterArea.ctprvn, - sig: filterArea.sig === '전체' ? '' : filterArea.sig, - address: filterArea.address, - approvalCd: checkSearch(search) - }) - ); - } else if (reviewedType !== '전체') { - dispatch( - getLaancAprvList({ - searchStDt: searchDate.startDate, - searchEndDt: searchDate.endDate, - ctprvn: filterArea.ctprvn === '전체' ? '' : filterArea.ctprvn, - sig: filterArea.sig === '전체' ? '' : filterArea.sig, - address: filterArea.address, - reviewedType: checkSearch(reviewedType) - }) - ); - } else if (search != '') { - dispatch( - getLaancAprvList({ - searchStDt: searchDate.startDate, - searchEndDt: searchDate.endDate, - ctprvn: filterArea.ctprvn === '전체' ? '' : filterArea.ctprvn, - sig: filterArea.sig === '전체' ? '' : filterArea.sig, - address: filterArea.address, - applyNo: search - }) - ); - } else { - dispatch( - getLaancAprvList({ - searchStDt: searchDate.startDate, - searchEndDt: searchDate.endDate, - ctprvn: filterArea.ctprvn === '전체' ? '' : filterArea.ctprvn, - sig: filterArea.sig === '전체' ? '' : filterArea.sig, - address: filterArea.address - }) - ); - } + dispatch( + getLaancAprvList({ + searchStDt: searchDate.startDate, + searchEndDt: searchDate.endDate, + ctprvn: filterArea.ctprvn === '전체' ? '' : filterArea.ctprvn, + sig: filterArea.sig === '전체' ? '' : filterArea.sig, + address: filterArea.address, + ...(search !== '' ? { applyNo: search } : {}), + ...(reviewedType !== '전체' + ? { reviewedType: checkSearch(reviewedType) } + : {}), + ...(approvalCd.filter(i => i.select).length > 0 + ? { approvalCd: approvalCd.filter(i => i.select)[0].value } + : {}) + }) + ); localStorage.setItem( 'popupState', JSON.stringify({ @@ -210,6 +176,30 @@ function OperationApprovalsPopupContainer() { handlerOpnerPostMessage('detail', { area }); }; + const handlerApprovalCd = ({ target: { value } }) => { + setApprovalCd( + approvalCd.map(i => { + if (!value) { + return { + ...i, + select: false + }; + } else { + if (i.value === value) { + return { + ...i, + select: true + }; + } + return { + ...i, + select: false + }; + } + }) + ); + }; + return (