파워컨디션너선택 화면 자동회로할당 시 메시지처리 및 승압설정 화면 수정
This commit is contained in:
parent
c298e31bbd
commit
15b713a939
@ -93,12 +93,20 @@ export default function CircuitTrestleSetting({ id }) {
|
||||
if (res.data?.pcsItemList) {
|
||||
setModels(res.data.pcsItemList)
|
||||
setTabNum(2)
|
||||
} else {
|
||||
// 데이터가 없는 경우 오류 메시지 확인 필요
|
||||
if (res.result.resultCode === 'E') {
|
||||
swalFire({
|
||||
title: res.result.resultMsg,
|
||||
type: 'alert',
|
||||
})
|
||||
} else {
|
||||
swalFire({
|
||||
title: '파워컨디셔너를 추가해 주세요.',
|
||||
type: 'alert',
|
||||
})
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@ -24,19 +24,21 @@ export default function StepUp(props) {
|
||||
const [stepUpListData, setStepUpListData] = useState([])
|
||||
const [optCodes, setOptCodes] = useState([])
|
||||
|
||||
useCanvasPopupStatusController(6)
|
||||
const canvasPopupStatusState = useRecoilValue(canvasPopupStatusStore)
|
||||
if (Object.keys(canvasPopupStatusState[6]).length !== 0) {
|
||||
console.log('🚀 ~ useEffect ~ canvasPopupStatusState :', canvasPopupStatusState)
|
||||
}
|
||||
const [selectedRows, setSelectedRows] = useState({})
|
||||
const [isManualSelection, setIsManualSelection] = useState({})
|
||||
|
||||
// useCanvasPopupStatusController(6)
|
||||
// const canvasPopupStatusState = useRecoilValue(canvasPopupStatusStore)
|
||||
// if (Object.keys(canvasPopupStatusState[6]).length !== 0) {
|
||||
// console.log('🚀 ~ useEffect ~ canvasPopupStatusState :', canvasPopupStatusState)
|
||||
// }
|
||||
|
||||
useEffect(() => {
|
||||
console.log('🚀 ~ useEffect ~ >>>>>>>>>>>> props:', props)
|
||||
|
||||
// PCS 승압설정 정보 조회
|
||||
fetchStepUpData()
|
||||
}, [])
|
||||
|
||||
// PCS 승압설정 정보 조회
|
||||
const fetchStepUpData = async () => {
|
||||
try {
|
||||
const params = {
|
||||
@ -46,14 +48,14 @@ export default function StepUp(props) {
|
||||
pcsItemList: props.getPcsItemList(), // PCS 아이템 목록
|
||||
}
|
||||
|
||||
console.log('🚀 ~ fetchStepUpData ~ params:', params)
|
||||
|
||||
// PCS 승압설정 정보 조회
|
||||
const res = await getPcsVoltageStepUpList(params)
|
||||
console.log('🚀 ~ fetchStepUpData ~ res:', res)
|
||||
|
||||
if (res?.result.code === 200 && res?.data) {
|
||||
const dataArray = Array.isArray(res.data) ? res.data : [res.data]
|
||||
const stepUpListData = formatStepUpListData(dataArray)
|
||||
console.log('🚀 ~ useEffect ~ getPcsVoltageStepUpList ~ stepUpListData:', stepUpListData)
|
||||
|
||||
// PCS 승압설정 정보 SET
|
||||
setStepUpListData(stepUpListData)
|
||||
|
||||
// PCS 옵션 조회
|
||||
@ -80,6 +82,7 @@ export default function StepUp(props) {
|
||||
...stepUps,
|
||||
optionList: formatOptionList(stepUps.optionList),
|
||||
pcsItemList: formatPcsItemList(stepUps.pcsItemList),
|
||||
selectedPcsItem: formatPcsItemList(stepUps.pcsItemList),
|
||||
}))
|
||||
}
|
||||
|
||||
@ -107,6 +110,8 @@ export default function StepUp(props) {
|
||||
|
||||
// PCS 연결 포맷
|
||||
const formatConnList = (connList = []) => {
|
||||
if (!connList) return [] // null인 경우 빈 배열 반환
|
||||
|
||||
return connList?.map((conn) => ({
|
||||
connAllowCur: conn.connAllowCur ? conn.connAllowCur : 0,
|
||||
connMaxParalCnt: conn.connMaxParalCnt ? conn.connMaxParalCnt : 0,
|
||||
@ -122,6 +127,8 @@ export default function StepUp(props) {
|
||||
return serQtyList?.map((qty) => ({
|
||||
serQty: qty.serQty ? qty.serQty : 0,
|
||||
paralQty: qty.paralQty ? qty.paralQty : 0,
|
||||
rmdYn: qty.rmdYn ? qty.rmdYn : 'N',
|
||||
usePossYn: qty.usePossYn ? qty.usePossYn : 'Y',
|
||||
}))
|
||||
}
|
||||
|
||||
@ -133,6 +140,39 @@ export default function StepUp(props) {
|
||||
}))
|
||||
}
|
||||
|
||||
// 행 선택 핸들러 함수 추가
|
||||
const handleRowClick = (stepUpId, pcsIdx, serQtyIdx) => {
|
||||
const rowKey = `${stepUpId}_${pcsIdx}_${serQtyIdx}`
|
||||
const pcsKey = `${stepUpId}_${pcsIdx}`
|
||||
|
||||
setSelectedRows((prev) => {
|
||||
// 현재 stepUpId에 대한 선택 상태가 없으면 빈 객체로 초기화
|
||||
const currentStepUpSelections = prev[stepUpId] || {}
|
||||
|
||||
// 이미 선택된 행을 다시 클릭하는 경우, 선택을 해제하지 않음
|
||||
if (currentStepUpSelections[pcsKey] === rowKey) {
|
||||
return prev
|
||||
}
|
||||
|
||||
return {
|
||||
...prev,
|
||||
[stepUpId]: {
|
||||
...currentStepUpSelections,
|
||||
[pcsKey]: rowKey,
|
||||
},
|
||||
}
|
||||
})
|
||||
|
||||
// 수동 선택 상태를 업데이트하되, 기존 추천 선택은 유지
|
||||
setIsManualSelection((prev) => ({
|
||||
...prev,
|
||||
[stepUpId]: {
|
||||
...prev[stepUpId],
|
||||
[pcsKey]: true,
|
||||
},
|
||||
}))
|
||||
}
|
||||
|
||||
return (
|
||||
<>
|
||||
<div className="properties-setting-wrap outer">
|
||||
@ -143,9 +183,7 @@ export default function StepUp(props) {
|
||||
{stepUp?.pcsItemList.map((_, idx) => (
|
||||
<div key={idx} className="module-table-inner">
|
||||
<div className="mb-box">
|
||||
<div key={idx} className="circuit-table-tit">
|
||||
{stepUp.pcsItemList[idx].goodsNo}
|
||||
</div>
|
||||
<div className="circuit-table-tit">{stepUp.pcsItemList[idx].goodsNo}</div>
|
||||
<div className="roof-module-table overflow-y min">
|
||||
<table>
|
||||
<thead>
|
||||
@ -155,9 +193,21 @@ export default function StepUp(props) {
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{stepUp.pcsItemList[idx].serQtyList.map((item) => {
|
||||
{stepUp.pcsItemList[idx].serQtyList.map((item, serQtyIdx) => {
|
||||
const rowKey = `${stepUp.id}_${idx}_${serQtyIdx}`
|
||||
const pcsKey = `${stepUp.id}_${idx}`
|
||||
return (
|
||||
<tr className="on">
|
||||
<tr
|
||||
key={rowKey}
|
||||
className={`${
|
||||
(!isManualSelection[stepUp.id]?.[pcsKey] && item.rmdYn === 'Y') ||
|
||||
(selectedRows[stepUp.id] && selectedRows[stepUp.id][pcsKey] === rowKey)
|
||||
? 'on'
|
||||
: ''
|
||||
}`}
|
||||
onClick={() => handleRowClick(stepUp.id, idx, serQtyIdx)}
|
||||
style={{ cursor: 'pointer' }}
|
||||
>
|
||||
<td className="al-r">{item.serQty}</td>
|
||||
<td className="al-r">{item.paralQty}</td>
|
||||
</tr>
|
||||
@ -195,9 +245,17 @@ export default function StepUp(props) {
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td className="al-c">{stepUp.pcsItemList[idx].connList?.goodsNo}</td>
|
||||
<td className="al-r">{stepUp.pcsItemList[idx].connList?.connMaxParalCnt}</td>
|
||||
<td className="al-r">{stepUp.pcsItemList[idx].connList?.vstuParalCnt}</td>
|
||||
<td className="al-c">
|
||||
{stepUp.pcsItemList[idx].connList?.[0]?.goodsNo ? stepUp.pcsItemList[idx].connList?.[0]?.goodsNo : '-'}
|
||||
</td>
|
||||
<td className="al-c">
|
||||
{stepUp.pcsItemList[idx].connList?.[0]?.connMaxParalCnt
|
||||
? (stepUp.pcsItemList[idx].connList?.[0]?.connMaxParalCnt ?? '-')
|
||||
: '-'}
|
||||
</td>
|
||||
<td className="al-c">
|
||||
{stepUp.pcsItemList[idx].connList?.[0]?.vstuParalCnt ? stepUp.pcsItemList[idx].connList?.[0]?.vstuParalCnt : '-'}
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user