|
|
@ -23,6 +23,7 @@ export default function NewFlightApprovalsTable(props) { |
|
|
|
const [approvalCdValue, setApprovalCdValue] = useState({ |
|
|
|
const [approvalCdValue, setApprovalCdValue] = useState({ |
|
|
|
S: 0, |
|
|
|
S: 0, |
|
|
|
F: 0, |
|
|
|
F: 0, |
|
|
|
|
|
|
|
C: 0, |
|
|
|
U: 0 |
|
|
|
U: 0 |
|
|
|
}); |
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
@ -43,7 +44,7 @@ export default function NewFlightApprovalsTable(props) { |
|
|
|
const isEditing = record => record.key === editingKey; |
|
|
|
const isEditing = record => record.key === editingKey; |
|
|
|
|
|
|
|
|
|
|
|
useEffect(() => { |
|
|
|
useEffect(() => { |
|
|
|
let approvalCdValue = { S: 0, F: 0, U: 0 }; |
|
|
|
let approvalCdValue = { S: 0, F: 0, C: 0, U: 0 }; |
|
|
|
|
|
|
|
|
|
|
|
tableData.map(item => { |
|
|
|
tableData.map(item => { |
|
|
|
item.areaList.map(area => { |
|
|
|
item.areaList.map(area => { |
|
|
@ -51,6 +52,8 @@ export default function NewFlightApprovalsTable(props) { |
|
|
|
approvalCdValue.S += 1; |
|
|
|
approvalCdValue.S += 1; |
|
|
|
} else if (area.approvalCd === 'F') { |
|
|
|
} else if (area.approvalCd === 'F') { |
|
|
|
approvalCdValue.F += 1; |
|
|
|
approvalCdValue.F += 1; |
|
|
|
|
|
|
|
} else if (area.approvalCd === 'C') { |
|
|
|
|
|
|
|
approvalCdValue.C += 1; |
|
|
|
} else { |
|
|
|
} else { |
|
|
|
approvalCdValue.U += 1; |
|
|
|
approvalCdValue.U += 1; |
|
|
|
} |
|
|
|
} |
|
|
@ -60,6 +63,7 @@ export default function NewFlightApprovalsTable(props) { |
|
|
|
setApprovalCdValue({ |
|
|
|
setApprovalCdValue({ |
|
|
|
F: approvalCdValue.F, |
|
|
|
F: approvalCdValue.F, |
|
|
|
S: approvalCdValue.S, |
|
|
|
S: approvalCdValue.S, |
|
|
|
|
|
|
|
C: approvalCdValue.C, |
|
|
|
U: approvalCdValue.U |
|
|
|
U: approvalCdValue.U |
|
|
|
}); |
|
|
|
}); |
|
|
|
}, [tableData]); |
|
|
|
}, [tableData]); |
|
|
@ -140,7 +144,7 @@ export default function NewFlightApprovalsTable(props) { |
|
|
|
), |
|
|
|
), |
|
|
|
dataIndex: 'applyNo', |
|
|
|
dataIndex: 'applyNo', |
|
|
|
align: 'center', |
|
|
|
align: 'center', |
|
|
|
width: '40px' |
|
|
|
width: '60px' |
|
|
|
}, |
|
|
|
}, |
|
|
|
{ |
|
|
|
{ |
|
|
|
title: ( |
|
|
|
title: ( |
|
|
@ -149,7 +153,7 @@ export default function NewFlightApprovalsTable(props) { |
|
|
|
</> |
|
|
|
</> |
|
|
|
), |
|
|
|
), |
|
|
|
dataIndex: 'applyDtMonth', |
|
|
|
dataIndex: 'applyDtMonth', |
|
|
|
width: '80px', |
|
|
|
width: '70px', |
|
|
|
align: 'center', |
|
|
|
align: 'center', |
|
|
|
render: text => `${text}월` |
|
|
|
render: text => `${text}월` |
|
|
|
}, |
|
|
|
}, |
|
|
@ -160,8 +164,9 @@ export default function NewFlightApprovalsTable(props) { |
|
|
|
</> |
|
|
|
</> |
|
|
|
), |
|
|
|
), |
|
|
|
dataIndex: 'applyDtDay', |
|
|
|
dataIndex: 'applyDtDay', |
|
|
|
width: '80px', |
|
|
|
width: '70px', |
|
|
|
align: 'center', |
|
|
|
align: 'center', |
|
|
|
|
|
|
|
|
|
|
|
render: text => `${text}일` |
|
|
|
render: text => `${text}일` |
|
|
|
}, |
|
|
|
}, |
|
|
|
{ |
|
|
|
{ |
|
|
@ -299,7 +304,6 @@ export default function NewFlightApprovalsTable(props) { |
|
|
|
dataIndex: 'fltElevMax', |
|
|
|
dataIndex: 'fltElevMax', |
|
|
|
align: 'center', |
|
|
|
align: 'center', |
|
|
|
width: '80px', |
|
|
|
width: '80px', |
|
|
|
editable: true, |
|
|
|
|
|
|
|
render: (text, record) => { |
|
|
|
render: (text, record) => { |
|
|
|
return text ? text : '-'; |
|
|
|
return text ? text : '-'; |
|
|
|
} |
|
|
|
} |
|
|
@ -378,12 +382,14 @@ export default function NewFlightApprovalsTable(props) { |
|
|
|
counts.unapproved += 1; |
|
|
|
counts.unapproved += 1; |
|
|
|
} else if (item.approvalCd === 'S') { |
|
|
|
} else if (item.approvalCd === 'S') { |
|
|
|
counts.approved += 1; |
|
|
|
counts.approved += 1; |
|
|
|
|
|
|
|
} else if (item.approvalCd === 'C') { |
|
|
|
|
|
|
|
counts.conditionalapproval += 1; |
|
|
|
} else { |
|
|
|
} else { |
|
|
|
counts.pending += 1; |
|
|
|
counts.pending += 1; |
|
|
|
} |
|
|
|
} |
|
|
|
return counts; |
|
|
|
return counts; |
|
|
|
}, |
|
|
|
}, |
|
|
|
{ unapproved: 0, approved: 0, pending: 0 } |
|
|
|
{ unapproved: 0, approved: 0, pending: 0, conditionalapproval: 0 } |
|
|
|
); |
|
|
|
); |
|
|
|
|
|
|
|
|
|
|
|
return ( |
|
|
|
return ( |
|
|
@ -392,7 +398,10 @@ export default function NewFlightApprovalsTable(props) { |
|
|
|
<> |
|
|
|
<> |
|
|
|
승인: {approvalCounts.approved}건 <br /> |
|
|
|
승인: {approvalCounts.approved}건 <br /> |
|
|
|
미승인: |
|
|
|
미승인: |
|
|
|
{approvalCounts.pending}건<br /> 비대상: |
|
|
|
{approvalCounts.pending}건 |
|
|
|
|
|
|
|
<br /> |
|
|
|
|
|
|
|
조건부승인:{approvalCounts.conditionalapproval}건 <br /> |
|
|
|
|
|
|
|
비대상: |
|
|
|
{approvalCounts.unapproved}건 |
|
|
|
{approvalCounts.unapproved}건 |
|
|
|
</> |
|
|
|
</> |
|
|
|
) : ( |
|
|
|
) : ( |
|
|
@ -401,6 +410,8 @@ export default function NewFlightApprovalsTable(props) { |
|
|
|
? '비대상' |
|
|
|
? '비대상' |
|
|
|
: areaList[0].approvalCd === 'S' |
|
|
|
: areaList[0].approvalCd === 'S' |
|
|
|
? '승인' |
|
|
|
? '승인' |
|
|
|
|
|
|
|
: areaList[0].approvalCd === 'C' |
|
|
|
|
|
|
|
? '조건부승인' |
|
|
|
: '미승인'} |
|
|
|
: '미승인'} |
|
|
|
</> |
|
|
|
</> |
|
|
|
)} |
|
|
|
)} |
|
|
@ -474,18 +485,19 @@ export default function NewFlightApprovalsTable(props) { |
|
|
|
const childColumns = [ |
|
|
|
const childColumns = [ |
|
|
|
{ |
|
|
|
{ |
|
|
|
dataIndex: 'applyNo', |
|
|
|
dataIndex: 'applyNo', |
|
|
|
width: '40px', |
|
|
|
width: '60px', |
|
|
|
align: 'center' |
|
|
|
align: 'center' |
|
|
|
}, |
|
|
|
}, |
|
|
|
{ |
|
|
|
{ |
|
|
|
dataIndex: 'applyDtMonth', |
|
|
|
dataIndex: 'applyDtMonth', |
|
|
|
width: '80px', |
|
|
|
width: '70px', |
|
|
|
align: 'center', |
|
|
|
align: 'center', |
|
|
|
|
|
|
|
|
|
|
|
render: text => `${text}월` |
|
|
|
render: text => `${text}월` |
|
|
|
}, |
|
|
|
}, |
|
|
|
{ |
|
|
|
{ |
|
|
|
dataIndex: 'applyDtDay', |
|
|
|
dataIndex: 'applyDtDay', |
|
|
|
width: '80px', |
|
|
|
width: '70px', |
|
|
|
align: 'center', |
|
|
|
align: 'center', |
|
|
|
render: text => `${text}일` |
|
|
|
render: text => `${text}일` |
|
|
|
}, |
|
|
|
}, |
|
|
@ -604,7 +616,15 @@ export default function NewFlightApprovalsTable(props) { |
|
|
|
align: 'center', |
|
|
|
align: 'center', |
|
|
|
width: '110px', |
|
|
|
width: '110px', |
|
|
|
render: text => ( |
|
|
|
render: text => ( |
|
|
|
<>{text === 'U' ? '비대상' : text === 'S' ? '승인' : '미승인'}</> |
|
|
|
<> |
|
|
|
|
|
|
|
{text === 'U' |
|
|
|
|
|
|
|
? '비대상' |
|
|
|
|
|
|
|
: text === 'S' |
|
|
|
|
|
|
|
? '승인' |
|
|
|
|
|
|
|
: text === 'C' |
|
|
|
|
|
|
|
? '조건부승인' |
|
|
|
|
|
|
|
: '미승인'} |
|
|
|
|
|
|
|
</> |
|
|
|
) |
|
|
|
) |
|
|
|
}, |
|
|
|
}, |
|
|
|
{ |
|
|
|
{ |
|
|
@ -684,6 +704,8 @@ export default function NewFlightApprovalsTable(props) { |
|
|
|
className += 'flight-approval-row'; |
|
|
|
className += 'flight-approval-row'; |
|
|
|
} else if (record.approvalCd === 'F') { |
|
|
|
} else if (record.approvalCd === 'F') { |
|
|
|
className += 'flight-not-approval-row'; |
|
|
|
className += 'flight-not-approval-row'; |
|
|
|
|
|
|
|
} else if (record.approvalCd === 'C') { |
|
|
|
|
|
|
|
className += 'flight-condition-approval-row editable-row'; |
|
|
|
} else className; |
|
|
|
} else className; |
|
|
|
|
|
|
|
|
|
|
|
if (record.planAreaSno === props.selected) { |
|
|
|
if (record.planAreaSno === props.selected) { |
|
|
@ -942,7 +964,9 @@ export default function NewFlightApprovalsTable(props) { |
|
|
|
<ul> |
|
|
|
<ul> |
|
|
|
<li className='approval'>승인 {approvalCdValue.S}건</li> |
|
|
|
<li className='approval'>승인 {approvalCdValue.S}건</li> |
|
|
|
<li className='not-approved'>미승인 {approvalCdValue.F}건</li> |
|
|
|
<li className='not-approved'>미승인 {approvalCdValue.F}건</li> |
|
|
|
<li className='condition-approved'>조건부 승인 12건</li> |
|
|
|
<li className='condition-approved'> |
|
|
|
|
|
|
|
조건부 승인 {approvalCdValue.C}건 |
|
|
|
|
|
|
|
</li> |
|
|
|
<li className='non-target'>비대상 {approvalCdValue.U}건</li> |
|
|
|
<li className='non-target'>비대상 {approvalCdValue.U}건</li> |
|
|
|
</ul> |
|
|
|
</ul> |
|
|
|
</div> |
|
|
|
</div> |
|
|
@ -968,11 +992,16 @@ export default function NewFlightApprovalsTable(props) { |
|
|
|
columns={mergedColumns} |
|
|
|
columns={mergedColumns} |
|
|
|
rowClassName={record => { |
|
|
|
rowClassName={record => { |
|
|
|
let className = ''; |
|
|
|
let className = ''; |
|
|
|
|
|
|
|
if (record.areaList.length <= 1) { |
|
|
|
if (record?.areaList[0]?.approvalCd === 'S') { |
|
|
|
if (record?.areaList[0]?.approvalCd === 'S') { |
|
|
|
className += 'flight-approval-row editable-row'; |
|
|
|
className += 'flight-approval-row editable-row'; |
|
|
|
} else if (record.areaList[0].approvalCd === 'F') { |
|
|
|
} else if (record.areaList[0].approvalCd === 'F') { |
|
|
|
className += 'flight-not-approval-row editable-row'; |
|
|
|
className += 'flight-not-approval-row editable-row'; |
|
|
|
|
|
|
|
} else if (record.areaList[0].approvalCd === 'C') { |
|
|
|
|
|
|
|
className += |
|
|
|
|
|
|
|
'flight-condition-approval-row editable-row'; |
|
|
|
} else className += 'editable-row'; |
|
|
|
} else className += 'editable-row'; |
|
|
|
|
|
|
|
} |
|
|
|
if ( |
|
|
|
if ( |
|
|
|
record.areaList.length <= 1 && |
|
|
|
record.areaList.length <= 1 && |
|
|
|
record.areaList[0].planAreaSno === props.selected |
|
|
|
record.areaList[0].planAreaSno === props.selected |
|
|
|