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

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) setModels(res.data.pcsItemList)
setTabNum(2) setTabNum(2)
} else { } else {
swalFire({ //
title: '파워컨디셔너를 추가해 주세요.', if (res.result.resultCode === 'E') {
type: 'alert', 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 [stepUpListData, setStepUpListData] = useState([])
const [optCodes, setOptCodes] = useState([]) const [optCodes, setOptCodes] = useState([])
useCanvasPopupStatusController(6) const [selectedRows, setSelectedRows] = useState({})
const canvasPopupStatusState = useRecoilValue(canvasPopupStatusStore) const [isManualSelection, setIsManualSelection] = useState({})
if (Object.keys(canvasPopupStatusState[6]).length !== 0) {
console.log('🚀 ~ useEffect ~ canvasPopupStatusState :', canvasPopupStatusState) // useCanvasPopupStatusController(6)
} // const canvasPopupStatusState = useRecoilValue(canvasPopupStatusStore)
// if (Object.keys(canvasPopupStatusState[6]).length !== 0) {
// console.log('🚀 ~ useEffect ~ canvasPopupStatusState :', canvasPopupStatusState)
// }
useEffect(() => { useEffect(() => {
console.log('🚀 ~ useEffect ~ >>>>>>>>>>>> props:', props)
// PCS // PCS
fetchStepUpData() fetchStepUpData()
}, []) }, [])
// PCS
const fetchStepUpData = async () => { const fetchStepUpData = async () => {
try { try {
const params = { const params = {
@ -46,14 +48,14 @@ export default function StepUp(props) {
pcsItemList: props.getPcsItemList(), // PCS pcsItemList: props.getPcsItemList(), // PCS
} }
console.log('🚀 ~ fetchStepUpData ~ params:', params) // PCS
const res = await getPcsVoltageStepUpList(params) const res = await getPcsVoltageStepUpList(params)
console.log('🚀 ~ fetchStepUpData ~ res:', res)
if (res?.result.code === 200 && res?.data) { if (res?.result.code === 200 && res?.data) {
const dataArray = Array.isArray(res.data) ? res.data : [res.data] const dataArray = Array.isArray(res.data) ? res.data : [res.data]
const stepUpListData = formatStepUpListData(dataArray) const stepUpListData = formatStepUpListData(dataArray)
console.log('🚀 ~ useEffect ~ getPcsVoltageStepUpList ~ stepUpListData:', stepUpListData)
// PCS SET
setStepUpListData(stepUpListData) setStepUpListData(stepUpListData)
// PCS // PCS
@ -80,6 +82,7 @@ export default function StepUp(props) {
...stepUps, ...stepUps,
optionList: formatOptionList(stepUps.optionList), optionList: formatOptionList(stepUps.optionList),
pcsItemList: formatPcsItemList(stepUps.pcsItemList), pcsItemList: formatPcsItemList(stepUps.pcsItemList),
selectedPcsItem: formatPcsItemList(stepUps.pcsItemList),
})) }))
} }
@ -107,6 +110,8 @@ export default function StepUp(props) {
// PCS // PCS
const formatConnList = (connList = []) => { const formatConnList = (connList = []) => {
if (!connList) return [] // null
return connList?.map((conn) => ({ return connList?.map((conn) => ({
connAllowCur: conn.connAllowCur ? conn.connAllowCur : 0, connAllowCur: conn.connAllowCur ? conn.connAllowCur : 0,
connMaxParalCnt: conn.connMaxParalCnt ? conn.connMaxParalCnt : 0, connMaxParalCnt: conn.connMaxParalCnt ? conn.connMaxParalCnt : 0,
@ -122,6 +127,8 @@ export default function StepUp(props) {
return serQtyList?.map((qty) => ({ return serQtyList?.map((qty) => ({
serQty: qty.serQty ? qty.serQty : 0, serQty: qty.serQty ? qty.serQty : 0,
paralQty: qty.paralQty ? qty.paralQty : 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 ( return (
<> <>
<div className="properties-setting-wrap outer"> <div className="properties-setting-wrap outer">
@ -143,9 +183,7 @@ export default function StepUp(props) {
{stepUp?.pcsItemList.map((_, idx) => ( {stepUp?.pcsItemList.map((_, idx) => (
<div key={idx} className="module-table-inner"> <div key={idx} className="module-table-inner">
<div className="mb-box"> <div className="mb-box">
<div key={idx} className="circuit-table-tit"> <div className="circuit-table-tit">{stepUp.pcsItemList[idx].goodsNo}</div>
{stepUp.pcsItemList[idx].goodsNo}
</div>
<div className="roof-module-table overflow-y min"> <div className="roof-module-table overflow-y min">
<table> <table>
<thead> <thead>
@ -155,9 +193,21 @@ export default function StepUp(props) {
</tr> </tr>
</thead> </thead>
<tbody> <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 ( 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.serQty}</td>
<td className="al-r">{item.paralQty}</td> <td className="al-r">{item.paralQty}</td>
</tr> </tr>
@ -195,9 +245,17 @@ export default function StepUp(props) {
</thead> </thead>
<tbody> <tbody>
<tr> <tr>
<td className="al-c">{stepUp.pcsItemList[idx].connList?.goodsNo}</td> <td className="al-c">
<td className="al-r">{stepUp.pcsItemList[idx].connList?.connMaxParalCnt}</td> {stepUp.pcsItemList[idx].connList?.[0]?.goodsNo ? stepUp.pcsItemList[idx].connList?.[0]?.goodsNo : '-'}
<td className="al-r">{stepUp.pcsItemList[idx].connList?.vstuParalCnt}</td> </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> </tr>
</tbody> </tbody>
</table> </table>