Browse Source

비행 승인 클릭 중첩 방지

master
sanguu516 4 months ago
parent
commit
7e9717a508
  1. 24
      src/components/flight/FlightApprovalsTable.js

24
src/components/flight/FlightApprovalsTable.js

@ -36,12 +36,14 @@ export default function FlightApprovalsTable(props) {
classNames: ['flight-approval-row'] classNames: ['flight-approval-row']
}, },
{ {
when: row => row.areaList[0].planAreaSno === props.selected, when: row =>
classNames: ['flight-approval-row-click'] row.areaList[0].planAreaSno === props.selected && !row.isExpandableRow,
style: row => ({ border: '2px solid #000', cursor: 'pointer' })
// classNames: ['flight-approval-row-click']
} }
]; ];
const infoRowStyles = [ const inConditionalRowStyles = [
{ {
when: row => row.approvalCd === 'F', when: row => row.approvalCd === 'F',
classNames: ['flight-not-approval-row'] classNames: ['flight-not-approval-row']
@ -156,9 +158,9 @@ export default function FlightApprovalsTable(props) {
width: '120px', width: '120px',
cell: row => cell: row =>
row.areaList.length > 1 ? ( row.areaList.length > 1 ? (
<Button color='flat-dark' onClick={() => toggleRow(row.applyNo)}> <Button color='flat-dark' onClick={() => toggleRow(row.planSno)}>
{row.areaList.length} 보기 {row.areaList.length - 1} 보기
{expandedRows[row.applyNo] ? <FaAngleDown /> : <FaAngleUp />} {expandedRows[row.planSno] ? <FaAngleDown /> : <FaAngleUp />}
</Button> </Button>
) : ( ) : (
'-' '-'
@ -283,14 +285,17 @@ export default function FlightApprovalsTable(props) {
} }
]; ];
// 테이블 내부 행 클릭 이벤트
const handleInRowClick = row => { const handleInRowClick = row => {
props.handlerDetail(row); props.handlerDetail(row);
}; };
// 테이블 행 클릭 이벤트
const handleRowClick = row => { const handleRowClick = row => {
props.handlerDetail(row.areaList[0]); props.handlerDetail(row.areaList[0]);
// 여기에 클릭 이벤트를 처리하는 코드를 작성하세요. // 여기에 클릭 이벤트를 처리하는 코드를 작성하세요.
}; };
// 데이터 테이블 내부 컴포넌트
const FlightInfoComponent = ({ data }) => { const FlightInfoComponent = ({ data }) => {
return ( return (
<> <>
@ -300,7 +305,7 @@ export default function FlightApprovalsTable(props) {
noTableHead={true} noTableHead={true}
data={data.areaList.slice(1)} data={data.areaList.slice(1)}
columns={nestedColumns} columns={nestedColumns}
conditionalRowStyles={infoRowStyles} conditionalRowStyles={inConditionalRowStyles}
onRowClicked={handleInRowClick} onRowClicked={handleInRowClick}
/> />
</div> </div>
@ -308,6 +313,7 @@ export default function FlightApprovalsTable(props) {
); );
}; };
// 날짜 포맷 변경
const formatDate = dateString => { const formatDate = dateString => {
const date = new Date(dateString); const date = new Date(dateString);
const year = date.getFullYear(); const year = date.getFullYear();
@ -316,10 +322,12 @@ export default function FlightApprovalsTable(props) {
return `${year}${month}${day}`; return `${year}${month}${day}`;
}; };
// 승인, 미승인, 비대상 건수 계산
useEffect(() => { useEffect(() => {
resApprovalCd(); resApprovalCd();
}, [laancAprvList]); }, [laancAprvList]);
// 승인, 미승인, 비대상 건수 계산
const resApprovalCd = () => { const resApprovalCd = () => {
let approvalCdValue = { S: 0, F: 0, U: 0 }; let approvalCdValue = { S: 0, F: 0, U: 0 };
@ -377,7 +385,7 @@ export default function FlightApprovalsTable(props) {
FlightInfoComponent={FlightInfoComponent} FlightInfoComponent={FlightInfoComponent}
handleRowClick={handleRowClick} handleRowClick={handleRowClick}
expandableRowExpanded={row => expandableRowExpanded={row =>
expandedRows[row.applyNo] || false expandedRows[row.planSno] || false
} }
paginationPerPage={20} paginationPerPage={20}
/> />

Loading…
Cancel
Save