Browse Source

편집 파라미터 데이터 수정

master
sanguu516 2 months ago
parent
commit
247662f1eb
  1. 160
      src/components/flight/ControlApprovalsTable.js
  2. 167
      src/components/flight/OperationApprovalsTable.js
  3. 1
      src/router/hoc/ResolveRoutes.tsx

160
src/components/flight/ControlApprovalsTable.js

@ -82,7 +82,7 @@ export default function ControlApprovalsTable(props) {
const edit = record => { const edit = record => {
form.setFieldsValue({ form.setFieldsValue({
planAreaSno: record.planAreaSno, planAreaSno: record.planAreaSno,
bufferZone: record.bufferZone, reqRadius: record.reqRadius,
fltElev: record.fltElev, fltElev: record.fltElev,
dtl: record.dtl, dtl: record.dtl,
era: record.era, era: record.era,
@ -103,12 +103,13 @@ export default function ControlApprovalsTable(props) {
const row = await form.validateFields(); const row = await form.validateFields();
const index = { ...row, planAreaSno: selectedRowKey }; const index = { ...row, planAreaSno: selectedRowKey };
console.log('recordrecord>>', row);
const updateRes = await dispatch( const updateRes = await dispatch(
updateLaancAprv([ updateLaancAprv([
{ {
planAreaSno: selectedRowKey, planAreaSno: selectedRowKey,
bufferZone: row.bufferZone, reqRadius: row.reqRadius || '',
fltElev: row.fltElev, fltElev: row.fltElev || '',
dtl: row.dtl || '', dtl: row.dtl || '',
era: row.era || '', era: row.era || '',
rm: row.rm || '' rm: row.rm || ''
@ -321,7 +322,6 @@ export default function ControlApprovalsTable(props) {
dataIndex: 'allowRadius', dataIndex: 'allowRadius',
align: 'center', align: 'center',
width: '80px', width: '80px',
editable: true,
render: (text, record) => { render: (text, record) => {
return text ? text : '-'; return text ? text : '-';
} }
@ -664,7 +664,6 @@ export default function ControlApprovalsTable(props) {
{ {
dataIndex: 'allowRadius', dataIndex: 'allowRadius',
align: 'center', align: 'center',
editable: true,
width: '80px', width: '80px',
render: text => { render: text => {
return text ? text : <>-</>; return text ? text : <>-</>;
@ -1289,79 +1288,83 @@ export default function ControlApprovalsTable(props) {
vertical={true} vertical={true}
horizontal={true} horizontal={true}
activationDistance={10} activationDistance={10}
ignoreElements='.editable-input' // 이 클래스의 요소는 드래그 이벤트에서 제외
> >
<div style={{ width: '2000px' }}> <div style={{ width: '2000px' }}>
<Table <Form form={form} component={false}>
components={{ <Table
body: { components={{
cell: EditableCell body: {
} cell: EditableCell
}} }
dataSource={laancAprvList.map((item, index) => ({ }}
...item, dataSource={laancAprvList.map(item => ({
key: `parent_${item.planSno}` ...item,
}))} key: `parent_${item.planSno}`
columns={mergedColumns} }))}
rowClassName={record => { columns={mergedColumns}
let className = ''; rowClassName={record => {
if (record.areaList.length <= 1) { let className = '';
if (record?.areaList[0]?.approvalCd === 'S') { if (record.areaList.length <= 1) {
className += 'flight-approval-row editable-row'; if (record?.areaList[0]?.approvalCd === 'S') {
} else if (record.areaList[0].approvalCd === 'F') { className += 'flight-approval-row editable-row';
className += 'flight-not-approval-row editable-row'; } else if (record.areaList[0].approvalCd === 'F') {
} else if (record.areaList[0].approvalCd === 'C') { className +=
className += 'flight-not-approval-row editable-row';
'flight-condition-approval-row editable-row'; } else if (record.areaList[0].approvalCd === 'C') {
} else className += 'editable-row'; className +=
} 'flight-condition-approval-row editable-row';
if ( } else className += 'editable-row';
record.areaList.length <= 1 &&
record.areaList[0].planAreaSno === props.selected
) {
className += ' flight-approval-row-click';
}
if (expandedRowKeys.includes(record.key)) {
className += ' expanded-row';
}
if (record.areaList.length > 1) {
className += 'expanded-tr';
}
return className;
}}
rowSelection={{
...rowSelection
}}
onRow={record => ({
onClick: event => {
if (editingKey !== '') {
return; // edit 상태면 이벤트 실행 안 함
} }
setSelectedRowKey(record.planAreaSno);
// 이벤트 버블링을 막기 위해 클릭된 요소가 'Edit' 버튼인지 확인
if ( if (
event.target.tagName !== 'BUTTON' && record.areaList.length <= 1 &&
event.target.tagName !== 'A' && record.areaList[0].planAreaSno === props.selected
!event.target.closest('.ant-input') && // input 요소를 감지
!event.target.closest('.ant-input-number') // inputNumber 요소를 감지
) { ) {
handleRowClick(record); className += ' flight-approval-row-click';
}
if (expandedRowKeys.includes(record.key)) {
className += ' expanded-row';
} }
} if (record.areaList.length > 1) {
})} className += 'expanded-tr';
loading={laancAprvLoading} }
expandable={{ return className;
expandedRowRender, }}
expandedRowKeys: expandedRowKeys, rowSelection={{
onExpand: (expanded, record) => ...rowSelection
handleExpand(record.key), }}
rowExpandable: record => record?.areaList?.length > 1 onRow={record => ({
}} onClick: event => {
scroll={{ if (editingKey !== '') {
x: 1700 return; // edit 상태면 이벤트 실행 안 함
}} }
rowHoverable={false} setSelectedRowKey(record.planAreaSno);
expandIconColumnIndex={-1} // 이벤트 버블링을 막기 위해 클릭된 요소가 'Edit' 버튼인지 확인
/> if (
event.target.tagName !== 'BUTTON' &&
event.target.tagName !== 'A' &&
!event.target.closest('.ant-input') && // input 요소를 감지
!event.target.closest('.ant-input-number') // inputNumber 요소를 감지
) {
handleRowClick(record);
}
}
})}
loading={laancAprvLoading}
expandable={{
expandedRowRender,
expandedRowKeys: expandedRowKeys,
onExpand: (expanded, record) =>
handleExpand(record.key),
rowExpandable: record => record?.areaList?.length > 1
}}
scroll={{
x: 1700
}}
rowHoverable={false}
expandIconColumnIndex={-1}
/>
</Form>
</div> </div>
</ScrollContainer> </ScrollContainer>
</Form> </Form>
@ -1394,18 +1397,7 @@ const EditableCell = ({
return ( return (
<td {...restProps}> <td {...restProps}>
{editing ? ( {editing ? (
<Form.Item <Form.Item name={dataIndex} className='editable-input'>
name={dataIndex}
style={{
margin: 0
}}
// rules={[
// {
// required: true,
// message: `값을 입력해 주세요`
// }
// ]}
>
{inputNode} {inputNode}
</Form.Item> </Form.Item>
) : ( ) : (

167
src/components/flight/OperationApprovalsTable.js

@ -1,4 +1,4 @@
import React, { useEffect, useState } from 'react'; import React, { useEffect, useState, useRef } from 'react';
import { useDispatch, useSelector } from 'react-redux'; import { useDispatch, useSelector } from 'react-redux';
import { Button, Card } from '@component/ui'; import { Button, Card } from '@component/ui';
import { openModal } from '@src/redux/features/comn/message/messageSlice'; import { openModal } from '@src/redux/features/comn/message/messageSlice';
@ -52,7 +52,6 @@ export default function OperationApprovalsTable(props) {
// 유효성 기체 데이터 // 유효성 기체 데이터
const [validData, setValidData] = useState(); const [validData, setValidData] = useState();
console.log('>>', laancAprvList);
useEffect(() => { useEffect(() => {
let approvalCdValue = { S: 0, F: 0, C: 0, U: 0 }; let approvalCdValue = { S: 0, F: 0, C: 0, U: 0 };
@ -271,7 +270,6 @@ export default function OperationApprovalsTable(props) {
dataIndex: 'allowRadius', dataIndex: 'allowRadius',
align: 'center', align: 'center',
width: '80px', width: '80px',
editable: true,
render: (text, record) => { render: (text, record) => {
return text ? text : '-'; return text ? text : '-';
} }
@ -620,7 +618,6 @@ export default function OperationApprovalsTable(props) {
{ {
dataIndex: 'allowRadius', dataIndex: 'allowRadius',
align: 'center', align: 'center',
editable: true,
width: '80px', width: '80px',
render: text => { render: text => {
return text ? text : <>-</>; return text ? text : <>-</>;
@ -874,7 +871,7 @@ export default function OperationApprovalsTable(props) {
const edit = record => { const edit = record => {
form.setFieldsValue({ form.setFieldsValue({
planAreaSno: record.planAreaSno, planAreaSno: record.planAreaSno,
bufferZone: record.bufferZone, reqRadius: record.reqRadius,
fltElev: record.fltElev, fltElev: record.fltElev,
dtl: record.dtl, dtl: record.dtl,
era: record.era, era: record.era,
@ -899,8 +896,8 @@ export default function OperationApprovalsTable(props) {
updateLaancAprv([ updateLaancAprv([
{ {
planAreaSno: selectedRowKey, planAreaSno: selectedRowKey,
bufferZone: row.bufferZone, reqRadius: row.reqRadius || '',
fltElev: row.fltElev, fltElev: row.fltElev || '',
dtl: row.dtl || '', dtl: row.dtl || '',
era: row.era || '', era: row.era || '',
rm: row.rm || '' rm: row.rm || ''
@ -1099,82 +1096,87 @@ export default function OperationApprovalsTable(props) {
vertical={true} vertical={true}
horizontal={true} horizontal={true}
activationDistance={10} activationDistance={10}
ignoreElements='.editable-input' // 이 클래스의 요소는 드래그 이벤트에서 제외
> >
<div style={{ width: '2000px' }}> <div style={{ width: '2000px' }}>
<Table <Form form={form} component={false}>
components={{ <Table
body: { components={{
cell: EditableCell body: {
} cell: EditableCell
}} }
dataSource={laancAprvList.map((item, index) => ({ }}
...item, dataSource={laancAprvList.map((item, index) => ({
key: ...item,
item.areaList.length >= 1 key:
? `${item.planAreaSno}-${index}` item.areaList.length >= 1
: `${item.planAreaSno}` ? `${item.planAreaSno}-${index}`
}))} : `${item.planAreaSno}`
columns={mergedColumns} }))}
rowClassName={record => { columns={mergedColumns}
let className = ''; rowClassName={record => {
if (record.areaList.length <= 1) { let className = '';
if (record?.areaList[0]?.approvalCd === 'S') { if (record.areaList.length <= 1) {
className += 'flight-approval-row editable-row'; if (record?.areaList[0]?.approvalCd === 'S') {
} else if (record.areaList[0].approvalCd === 'F') { className += 'flight-approval-row editable-row';
className += 'flight-not-approval-row editable-row'; } else if (record.areaList[0].approvalCd === 'F') {
} else if (record.areaList[0].approvalCd === 'C') { className +=
className += 'flight-not-approval-row editable-row';
'flight-condition-approval-row editable-row'; } else if (record.areaList[0].approvalCd === 'C') {
} else className += 'editable-row'; className +=
} 'flight-condition-approval-row editable-row';
} else className += 'editable-row';
}
if (props.selected?.length > 0) { if (props.selected?.length > 0) {
if ( if (
record.areaList.length <= 1 && record.areaList.length <= 1 &&
record.areaList[0].planAreaSno === props.selected[0] record.areaList[0].planAreaSno ===
) { props.selected[0]
className += ' flight-approval-row-click'; ) {
className += ' flight-approval-row-click';
}
} }
}
if (expandedRowKeys.includes(record.key)) { if (expandedRowKeys.includes(record.key)) {
className += ' expanded-row'; className += ' expanded-row';
} }
if (record.areaList.length > 1) { if (record.areaList.length > 1) {
className += 'expanded-tr'; className += 'expanded-tr';
}
return className;
}}
onRow={record => ({
onClick: event => {
if (editingKey !== '') {
return; // edit 상태면 이벤트 실행 안 함
} }
setSelectedRowKey(record.planAreaSno); return className;
// 이벤트 버블링을 막기 위해 클릭된 요소가 'Edit' 버튼인지 확인 }}
if ( onRow={record => ({
event.target.tagName !== 'BUTTON' && onClick: event => {
event.target.tagName !== 'A' && if (editingKey !== '') {
!event.target.closest('.ant-input') && // input 요소를 감지 return; // edit 상태면 이벤트 실행 안 함
!event.target.closest('.ant-input-number') // inputNumber 요소를 감지 }
) { setSelectedRowKey(record.planAreaSno);
handleRowClick(record); // 이벤트 버블링을 막기 위해 클릭된 요소가 'Edit' 버튼인지 확인
if (
event.target.tagName !== 'BUTTON' &&
event.target.tagName !== 'A' &&
!event.target.closest('.ant-input') && // input 요소를 감지
!event.target.closest('.ant-input-number') // inputNumber 요소를 감지
) {
handleRowClick(record);
}
} }
} })}
})} loading={laancAprvLoading}
loading={laancAprvLoading} expandable={{
expandable={{ expandedRowRender,
expandedRowRender, expandedRowKeys: expandedRowKeys,
expandedRowKeys: expandedRowKeys, onExpand: (expanded, record) => handleExpand(record),
onExpand: (expanded, record) => handleExpand(record), rowExpandable: record => record?.areaList?.length > 1
rowExpandable: record => record?.areaList?.length > 1 }}
}} scroll={{
scroll={{ x: 1700
x: 1700 }}
}} rowHoverable={false}
rowHoverable={false} expandIconColumnIndex={-1}
expandIconColumnIndex={-1} />
/> </Form>
</div> </div>
</ScrollContainer> </ScrollContainer>
</Form> </Form>
@ -1207,18 +1209,7 @@ const EditableCell = ({
return ( return (
<td {...restProps}> <td {...restProps}>
{editing ? ( {editing ? (
<Form.Item <Form.Item name={dataIndex} className='editable-input'>
name={dataIndex}
style={{
margin: 0
}}
// rules={[
// {
// required: true,
// message: `값을 입력해 주세요`
// }
// ]}
>
{inputNode} {inputNode}
</Form.Item> </Form.Item>
) : ( ) : (

1
src/router/hoc/ResolveRoutes.tsx

@ -35,7 +35,6 @@ export default function ResolveRoutes() {
let Router = [...Routes]; let Router = [...Routes];
let decodeToken = getDecodeToken(); let decodeToken = getDecodeToken();
console.log(decodeToken, '??????');
if (decodeToken) { if (decodeToken) {
if (decodeToken.userId === 'palnet') { if (decodeToken.userId === 'palnet') {
Router = [...Routes, ...GimpoControlRoutes]; Router = [...Routes, ...GimpoControlRoutes];

Loading…
Cancel
Save