파워컨디션너선택 화면 자동회로할당 시 메시지처리 및 승압설정 화면 수정

This commit is contained in:
changkyu choi 2025-01-24 17:53:08 +09:00
parent c298e31bbd
commit 15b713a939
2 changed files with 89 additions and 23 deletions

View File

@ -94,10 +94,18 @@ export default function CircuitTrestleSetting({ id }) {
setModels(res.data.pcsItemList)
setTabNum(2)
} else {
swalFire({
title: '파워컨디셔너를 추가해 주세요.',
type: 'alert',
})
//
if (res.result.resultCode === 'E') {
swalFire({
title: res.result.resultMsg,
type: 'alert',
})
} else {
swalFire({
title: '파워컨디셔너를 추가해 주세요.',
type: 'alert',
})
}
}
})
}

View File

@ -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>