회로설정 handleRowClick 실행 시 필요한 uniqueIndex 추가
This commit is contained in:
parent
b50df4a231
commit
b6fa46a37d
@ -261,12 +261,13 @@ export default function StepUp(props) {
|
|||||||
|
|
||||||
// PCS 아이템 포맷
|
// PCS 아이템 포맷
|
||||||
const formatPcsItemList = (pcsItemList = []) => {
|
const formatPcsItemList = (pcsItemList = []) => {
|
||||||
return pcsItemList?.map((item) => ({
|
return pcsItemList?.map((item, index) => ({
|
||||||
goodsNo: item.goodsNo ? item.goodsNo : '',
|
goodsNo: item.goodsNo ? item.goodsNo : '',
|
||||||
itemId: item.itemId ? item.itemId : '',
|
itemId: item.itemId ? item.itemId : '',
|
||||||
itemNm: item.itemNm ? item.itemNm : '',
|
itemNm: item.itemNm ? item.itemNm : '',
|
||||||
pcsMkrCd: item.pcsMkrCd ? item.pcsMkrCd : '',
|
pcsMkrCd: item.pcsMkrCd ? item.pcsMkrCd : '',
|
||||||
pcsSerCd: item.pcsSerCd ? item.pcsSerCd : '',
|
pcsSerCd: item.pcsSerCd ? item.pcsSerCd : '',
|
||||||
|
uniqueIndex: `${item.itemId}_${index}`, // 고유 식별자 추가(동일한 PCS를 구분)
|
||||||
connList: formatConnList(item.connList),
|
connList: formatConnList(item.connList),
|
||||||
serQtyList: formatSerQtyList(item.serQtyList),
|
serQtyList: formatSerQtyList(item.serQtyList),
|
||||||
}))
|
}))
|
||||||
@ -346,43 +347,49 @@ export default function StepUp(props) {
|
|||||||
// console.log('🚀 ~ handleRowClick ~ tempStepUpListData:', tempStepUpListData)
|
// console.log('🚀 ~ handleRowClick ~ tempStepUpListData:', tempStepUpListData)
|
||||||
// console.log('🚀 ~ handleRowClick ~ selectedData:', selectedData)
|
// console.log('🚀 ~ handleRowClick ~ selectedData:', selectedData)
|
||||||
|
|
||||||
// 파워컨디셔너 옵션 조회 요청 파라미터
|
console.log('mainIdx, subIdx', mainIdx, subIdx)
|
||||||
const params = {
|
|
||||||
...props.getOptYn(), // 옵션 Y/N
|
|
||||||
useModuleItemList: props.getUseModuleItemList(), // 사용된 모듈아이템 List
|
|
||||||
roofSurfaceList: props.getRoofSurfaceList(), // 지붕면 목록
|
|
||||||
pcsItemList: props.getSelectedPcsItemList().map((pcsItem) => {
|
|
||||||
// PCS 아이템 목록
|
|
||||||
// tempStepUpListData에서 해당 PCS 아이템 찾기
|
|
||||||
const matchingPcsItem = tempStepUpListData[0].pcsItemList.find((item) => item.pcsId === pcsItem.pcsId && item.itemId === pcsItem.itemId)
|
|
||||||
|
|
||||||
// 선택된 serQty 찾기
|
// PCS 2개 이상 또는 첫번째 PCS 선택 시에만 실행
|
||||||
const selectedSerQty = matchingPcsItem?.serQtyList.find((serQty) => serQty.selected)?.serQty || 0
|
if (stepUpListData[0].pcsItemList.length > 1 && mainIdx === 0) {
|
||||||
|
// 파워컨디셔너 옵션 조회 요청 파라미터
|
||||||
|
const params = {
|
||||||
|
...props.getOptYn(), // 옵션 Y/N
|
||||||
|
useModuleItemList: props.getUseModuleItemList(), // 사용된 모듈아이템 List
|
||||||
|
roofSurfaceList: props.getRoofSurfaceList(), // 지붕면 목록
|
||||||
|
pcsItemList: props.getSelectedPcsItemList().map((pcsItem, index) => {
|
||||||
|
// PCS 아이템 목록
|
||||||
|
// tempStepUpListData에서 해당 PCS 아이템 찾기
|
||||||
|
// uniqueIndex를 사용하여 매칭
|
||||||
|
const matchingPcsItem = tempStepUpListData[0].pcsItemList.find((item) => item.uniqueIndex === `${pcsItem.itemId}_${index}`)
|
||||||
|
|
||||||
return {
|
// 선택된 serQty 찾기
|
||||||
...pcsItem,
|
const selectedSerQty = matchingPcsItem?.serQtyList.find((serQty) => serQty.selected)?.serQty || 0
|
||||||
applySerQty: selectedSerQty,
|
|
||||||
}
|
|
||||||
}),
|
|
||||||
}
|
|
||||||
|
|
||||||
// PCS 승압설정 정보 조회
|
return {
|
||||||
//const res = await getPcsVoltageStepUpList(params)
|
...pcsItem,
|
||||||
//getPcsManualConfChk(params).then((res) => {
|
applySerQty: selectedSerQty,
|
||||||
getPcsVoltageStepUpList(params).then((res) => {
|
}
|
||||||
if (res?.result.code === 200 && res?.data) {
|
}),
|
||||||
const dataArray = Array.isArray(res.data) ? res.data : [res.data]
|
|
||||||
const stepUpListData = formatStepUpListData(dataArray)
|
|
||||||
|
|
||||||
// PCS 승압설정 정보 SET
|
|
||||||
setStepUpListData(stepUpListData)
|
|
||||||
|
|
||||||
// PCS 옵션 조회
|
|
||||||
const formattedOptCodes = formatOptionCodes(res.data.optionList)
|
|
||||||
setOptCodes(formattedOptCodes)
|
|
||||||
setSeletedOption(formattedOptCodes[0])
|
|
||||||
}
|
}
|
||||||
})
|
|
||||||
|
// PCS 승압설정 정보 조회
|
||||||
|
//const res = await getPcsVoltageStepUpList(params)
|
||||||
|
//getPcsManualConfChk(params).then((res) => {
|
||||||
|
getPcsVoltageStepUpList(params).then((res) => {
|
||||||
|
if (res?.result.code === 200 && res?.data) {
|
||||||
|
const dataArray = Array.isArray(res.data) ? res.data : [res.data]
|
||||||
|
const stepUpListData = formatStepUpListData(dataArray)
|
||||||
|
|
||||||
|
// PCS 승압설정 정보 SET
|
||||||
|
setStepUpListData(stepUpListData)
|
||||||
|
|
||||||
|
// PCS 옵션 조회
|
||||||
|
const formattedOptCodes = formatOptionCodes(res.data.optionList)
|
||||||
|
setOptCodes(formattedOptCodes)
|
||||||
|
setSeletedOption(formattedOptCodes[0])
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
selectedData.roofSurfaceList.forEach((roofSurface) => {
|
selectedData.roofSurfaceList.forEach((roofSurface) => {
|
||||||
const targetSurface = canvas.getObjects().filter((obj) => obj.id === roofSurface.roofSurfaceId)[0]
|
const targetSurface = canvas.getObjects().filter((obj) => obj.id === roofSurface.roofSurfaceId)[0]
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user