회로번호 초기화 기능 추가 및 미할당 모듈 삭제
번호 확정시 validation 추가
This commit is contained in:
parent
43ce1a1853
commit
fa57be3c29
@ -50,6 +50,14 @@ export default function CircuitTrestleSetting({ id }) {
|
|||||||
}
|
}
|
||||||
}, [])
|
}, [])
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
if (allocationType === ALLOCATION_TYPE.PASSIVITY && tabNum === 2) {
|
||||||
|
const notAllocationModules = canvas.getObjects().filter((obj) => obj.name === POLYGON_TYPE.MODULE && !obj.circuit)
|
||||||
|
canvas.remove(...notAllocationModules)
|
||||||
|
canvas.renderAll()
|
||||||
|
}
|
||||||
|
}, [tabNum])
|
||||||
|
|
||||||
const onAutoRecommend = () => {
|
const onAutoRecommend = () => {
|
||||||
if (series.filter((s) => s.selected).length === 0) {
|
if (series.filter((s) => s.selected).length === 0) {
|
||||||
swalFire({
|
swalFire({
|
||||||
@ -59,13 +67,11 @@ export default function CircuitTrestleSetting({ id }) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log('🚀 ~ onAutoRecommend ~ selectedModules:', selectedModules)
|
|
||||||
|
|
||||||
const params = {
|
const params = {
|
||||||
...getApiProps(),
|
...getOptYn(),
|
||||||
useModuleItemList: getSelectedModuleList(),
|
useModuleItemList: getUseModuleItemList(),
|
||||||
roofSurfaceList: getRoofSurfaceList(),
|
roofSurfaceList: getRoofSurfaceList(),
|
||||||
pcsItemList: getModelList(),
|
pcsItemList: getPcsItemList(),
|
||||||
}
|
}
|
||||||
|
|
||||||
getPcsAutoRecommendList(params).then((res) => {
|
getPcsAutoRecommendList(params).then((res) => {
|
||||||
@ -81,7 +87,7 @@ export default function CircuitTrestleSetting({ id }) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
const getApiProps = () => {
|
const getOptYn = () => {
|
||||||
return {
|
return {
|
||||||
maxConnYn: pcsCheck.max ? 'Y' : 'N',
|
maxConnYn: pcsCheck.max ? 'Y' : 'N',
|
||||||
smpCirYn: pcsCheck.division ? 'Y' : 'N',
|
smpCirYn: pcsCheck.division ? 'Y' : 'N',
|
||||||
@ -89,7 +95,7 @@ export default function CircuitTrestleSetting({ id }) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const getModelList = () => {
|
const getPcsItemList = () => {
|
||||||
return models.map((model) => {
|
return models.map((model) => {
|
||||||
return {
|
return {
|
||||||
itemId: model.itemId,
|
itemId: model.itemId,
|
||||||
@ -113,27 +119,14 @@ export default function CircuitTrestleSetting({ id }) {
|
|||||||
paralQty: 0,
|
paralQty: 0,
|
||||||
rmdYn: 'Y',
|
rmdYn: 'Y',
|
||||||
usePossYn: 'Y',
|
usePossYn: 'Y',
|
||||||
roofSurfaceList: [
|
roofSurfaceList: getRoofSurfaceList(),
|
||||||
{
|
|
||||||
roofSurfaceId: '',
|
|
||||||
roofSurface: '',
|
|
||||||
roofSurfaceIncl: '',
|
|
||||||
moduleList: [
|
|
||||||
{
|
|
||||||
itemId: '',
|
|
||||||
circuit: '',
|
|
||||||
pcsItemId: '',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
const getSelectedModuleList = () => {
|
const getUseModuleItemList = () => {
|
||||||
return selectedModules.itemList.map((m) => {
|
return selectedModules.itemList.map((m) => {
|
||||||
return {
|
return {
|
||||||
itemId: m.itemId,
|
itemId: m.itemId,
|
||||||
@ -157,6 +150,8 @@ export default function CircuitTrestleSetting({ id }) {
|
|||||||
moduleList: obj.modules.map((module) => {
|
moduleList: obj.modules.map((module) => {
|
||||||
return {
|
return {
|
||||||
itemId: module.moduleInfo.itemId,
|
itemId: module.moduleInfo.itemId,
|
||||||
|
circuit: module.circuitNumber ? module.circuitNumber : null,
|
||||||
|
pcsItemId: module.circuit ? module.circuit?.pcsItemId : null,
|
||||||
}
|
}
|
||||||
}),
|
}),
|
||||||
}
|
}
|
||||||
@ -223,6 +218,25 @@ export default function CircuitTrestleSetting({ id }) {
|
|||||||
setAllocationType(ALLOCATION_TYPE.PASSIVITY)
|
setAllocationType(ALLOCATION_TYPE.PASSIVITY)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const onClickPrev = () => {
|
||||||
|
setAllocationType(ALLOCATION_TYPE.AUTO)
|
||||||
|
swalFire({
|
||||||
|
text: '할당한 회로 번호가 초기화됩니다.',
|
||||||
|
type: 'alert',
|
||||||
|
icon: 'warning',
|
||||||
|
confirmFn: () => {
|
||||||
|
const circuitModules = canvas
|
||||||
|
.getObjects()
|
||||||
|
.filter((obj) => obj.name === 'module' && selectedModels.map((model) => model.id).includes(obj.circuit?.circuitInfo?.id))
|
||||||
|
canvas.remove(...circuitModules.map((module) => module.circuit))
|
||||||
|
circuitModules.forEach((obj) => {
|
||||||
|
obj.circuit = null
|
||||||
|
obj.pcsItemId = null
|
||||||
|
})
|
||||||
|
},
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
const powerConditionalSelectProps = {
|
const powerConditionalSelectProps = {
|
||||||
tabNum,
|
tabNum,
|
||||||
setTabNum,
|
setTabNum,
|
||||||
@ -245,11 +259,10 @@ export default function CircuitTrestleSetting({ id }) {
|
|||||||
pcsCheck,
|
pcsCheck,
|
||||||
selectedModels,
|
selectedModels,
|
||||||
setSelectedModels,
|
setSelectedModels,
|
||||||
getApiProps,
|
getOptYn,
|
||||||
getSelectedModuleList,
|
getUseModuleItemList,
|
||||||
getSelectModelList,
|
getSelectModelList,
|
||||||
getRoofSurfaceList,
|
getRoofSurfaceList,
|
||||||
getModelList,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const stepUpProps = {
|
const stepUpProps = {
|
||||||
@ -257,12 +270,10 @@ export default function CircuitTrestleSetting({ id }) {
|
|||||||
setTabNum,
|
setTabNum,
|
||||||
models,
|
models,
|
||||||
setModels,
|
setModels,
|
||||||
circuitAllocationType,
|
getOptYn, // 옵션 Y/N
|
||||||
setCircuitAllocationType,
|
getUseModuleItemList, // 사용된 모듈아이템 List
|
||||||
getApiProps,
|
getRoofSurfaceList, // 지붕면 목록
|
||||||
getSelectedModuleList,
|
getPcsItemList, // PCS 아이템 목록
|
||||||
getRoofSurfaceList,
|
|
||||||
getModelList,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
@ -297,7 +308,7 @@ export default function CircuitTrestleSetting({ id }) {
|
|||||||
)}
|
)}
|
||||||
{tabNum === 1 && allocationType === ALLOCATION_TYPE.PASSIVITY && (
|
{tabNum === 1 && allocationType === ALLOCATION_TYPE.PASSIVITY && (
|
||||||
<div className="grid-btn-wrap">
|
<div className="grid-btn-wrap">
|
||||||
<button className="btn-frame modal mr5" onClick={() => setAllocationType(ALLOCATION_TYPE.AUTO)}>
|
<button className="btn-frame modal mr5" onClick={() => onClickPrev()}>
|
||||||
{getMessage('modal.common.prev')}
|
{getMessage('modal.common.prev')}
|
||||||
</button>
|
</button>
|
||||||
<button className="btn-frame modal act" onClick={() => setTabNum(2)}>
|
<button className="btn-frame modal act" onClick={() => setTabNum(2)}>
|
||||||
|
|||||||
@ -146,7 +146,7 @@ export default function PowerConditionalSelect(props) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const onRemoveSelectedModel = (model) => {
|
const onRemoveSelectedModel = (model) => {
|
||||||
setModels(models.map((m) => ({ ...m, selected: m.code !== model.code ? m.selected : false })))
|
setSelectedModels(selectedModels.filter((m) => m.id !== model.id))
|
||||||
}
|
}
|
||||||
|
|
||||||
const onChangeMaker = (option) => {
|
const onChangeMaker = (option) => {
|
||||||
|
|||||||
@ -10,7 +10,20 @@ import { useContext, useEffect, useState } from 'react'
|
|||||||
import { useRecoilValue } from 'recoil'
|
import { useRecoilValue } from 'recoil'
|
||||||
|
|
||||||
export default function PassivityCircuitAllocation(props) {
|
export default function PassivityCircuitAllocation(props) {
|
||||||
const { tabNum, setTabNum, selectedModels, getApiProps, getSelectedModuleList, getSelectModelList, getRoofSurfaceList, getModelList } = props
|
// getOptYn,
|
||||||
|
// getUseModuleItemList,
|
||||||
|
// getSelectModelList,
|
||||||
|
// getRoofSurfaceList,
|
||||||
|
const {
|
||||||
|
tabNum,
|
||||||
|
setTabNum,
|
||||||
|
selectedModels,
|
||||||
|
getOptYn: getApiProps,
|
||||||
|
getUseModuleItemList: getSelectedModuleList,
|
||||||
|
getSelectModelList: getSelectModelList,
|
||||||
|
getRoofSurfaceList,
|
||||||
|
getModelList,
|
||||||
|
} = props
|
||||||
const { swalFire } = useSwal()
|
const { swalFire } = useSwal()
|
||||||
const { getMessage } = useMessage()
|
const { getMessage } = useMessage()
|
||||||
const canvas = useRecoilValue(canvasState)
|
const canvas = useRecoilValue(canvasState)
|
||||||
@ -19,21 +32,39 @@ export default function PassivityCircuitAllocation(props) {
|
|||||||
const moduleStatistics = useRecoilValue(moduleStatisticsState)
|
const moduleStatistics = useRecoilValue(moduleStatisticsState)
|
||||||
// const [totalWpout, setTotalWpout] = useState(0)
|
// const [totalWpout, setTotalWpout] = useState(0)
|
||||||
const [selectedPcs, setSelectedPcs] = useState(selectedModels[0])
|
const [selectedPcs, setSelectedPcs] = useState(selectedModels[0])
|
||||||
const { header, rows: row } = moduleStatistics
|
// const { header, rows: row } = moduleStatistics
|
||||||
const [headers, setHeaders] = useState(header)
|
const [header, setHeader] = useState(moduleStatistics.header)
|
||||||
const [rows, setRows] = useState(row)
|
const [rows, setRows] = useState(moduleStatistics.rows)
|
||||||
const [footer, setFooter] = useState(['합계'])
|
const [footer, setFooter] = useState(['합계'])
|
||||||
const [circuitNumber, setCircuitNumber] = useState(1)
|
const [circuitNumber, setCircuitNumber] = useState(1)
|
||||||
const [targetModules, setTargetModules] = useState([])
|
const [targetModules, setTargetModules] = useState([])
|
||||||
const { getPcsManualConfChk } = useMasterController()
|
const { getPcsManualConfChk } = useMasterController()
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
console.log('🚀 ~ PassivityCircuitAllocation ~ selectedModels:', selectedModels)
|
console.log('header, rows', header, rows)
|
||||||
}, [])
|
// setSurfaceInfo()
|
||||||
|
setTableData()
|
||||||
|
if (!managementState) {
|
||||||
|
setManagementState(managementStateLoaded)
|
||||||
|
}
|
||||||
|
canvas
|
||||||
|
.getObjects()
|
||||||
|
.filter((obj) => obj.name === POLYGON_TYPE.MODULE)
|
||||||
|
.forEach((obj) => {
|
||||||
|
obj.on('mousedown', (e) => handleTargetModules(obj))
|
||||||
|
})
|
||||||
|
|
||||||
useEffect(() => {
|
return () => {
|
||||||
console.log('🚀 ~ PassivityCircuitAllocation ~ selectedPcs:', selectedPcs)
|
canvas
|
||||||
}, [selectedPcs])
|
.getObjects()
|
||||||
|
.filter((obj) => obj.name === POLYGON_TYPE.MODULE)
|
||||||
|
.forEach((obj) => {
|
||||||
|
obj.set({ strokeWidth: 0.3 })
|
||||||
|
obj.off('mousedown')
|
||||||
|
})
|
||||||
|
canvas.renderAll()
|
||||||
|
}
|
||||||
|
}, [])
|
||||||
|
|
||||||
const handleTargetModules = (obj) => {
|
const handleTargetModules = (obj) => {
|
||||||
if (!Array.isArray(targetModules)) {
|
if (!Array.isArray(targetModules)) {
|
||||||
@ -54,32 +85,9 @@ export default function PassivityCircuitAllocation(props) {
|
|||||||
canvas.renderAll()
|
canvas.renderAll()
|
||||||
}
|
}
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
setSurfaceInfo()
|
|
||||||
if (!managementState) {
|
|
||||||
setManagementState(managementStateLoaded)
|
|
||||||
}
|
|
||||||
const modules = canvas.getObjects().filter((obj) => obj.name === POLYGON_TYPE.MODULE)
|
|
||||||
|
|
||||||
modules.forEach((obj) => {
|
|
||||||
obj.on('mousedown', (e) => handleTargetModules(obj))
|
|
||||||
})
|
|
||||||
|
|
||||||
return () => {
|
|
||||||
canvas
|
|
||||||
.getObjects()
|
|
||||||
.filter((obj) => obj.name === POLYGON_TYPE.MODULE)
|
|
||||||
.forEach((obj) => {
|
|
||||||
obj.set({ strokeWidth: 0.3 })
|
|
||||||
obj.off('mousedown')
|
|
||||||
})
|
|
||||||
canvas.renderAll()
|
|
||||||
}
|
|
||||||
}, [])
|
|
||||||
|
|
||||||
const setSurfaceInfo = () => {
|
const setSurfaceInfo = () => {
|
||||||
const surfaces = canvas.getObjects().filter((obj) => POLYGON_TYPE.MODULE_SETUP_SURFACE === obj.name)
|
const surfaces = canvas.getObjects().filter((obj) => POLYGON_TYPE.MODULE_SETUP_SURFACE === obj.name)
|
||||||
setHeaders([header[0], { name: '회로', prop: 'circuit' }, ...header.slice(1)])
|
// setHeaders([header[0], { name: '회로', prop: 'circuit' }, ...header.slice(1)])
|
||||||
setRows(
|
setRows(
|
||||||
rows.map((row) => {
|
rows.map((row) => {
|
||||||
return {
|
return {
|
||||||
@ -155,62 +163,144 @@ export default function PassivityCircuitAllocation(props) {
|
|||||||
if (!circuitNumber || circuitNumber === 0) {
|
if (!circuitNumber || circuitNumber === 0) {
|
||||||
swalFire({
|
swalFire({
|
||||||
text: '회로번호를 1 이상입력해주세요.',
|
text: '회로번호를 1 이상입력해주세요.',
|
||||||
type: 'warning',
|
type: 'alert',
|
||||||
icon: 'warning',
|
icon: 'warning',
|
||||||
})
|
})
|
||||||
return
|
return
|
||||||
} else if (targetModules.length === 0) {
|
} else if (targetModules.length === 0) {
|
||||||
swalFire({
|
swalFire({
|
||||||
text: '모듈을 선택해주세요.',
|
text: '모듈을 선택해주세요.',
|
||||||
type: 'warning',
|
type: 'alert',
|
||||||
icon: 'warning',
|
icon: 'warning',
|
||||||
})
|
})
|
||||||
return
|
return
|
||||||
|
} else if (selectedModels.length > 1) {
|
||||||
|
const uniqueCircuitNumbers = [
|
||||||
|
...new Set(
|
||||||
|
canvas
|
||||||
|
.getObjects()
|
||||||
|
.filter((obj) => obj.name === POLYGON_TYPE.MODULE && obj.circuitNumber)
|
||||||
|
.map((obj) => obj.circuitNumber),
|
||||||
|
),
|
||||||
|
]
|
||||||
|
|
||||||
|
let result = false
|
||||||
|
uniqueCircuitNumbers.forEach((number) => {
|
||||||
|
if (
|
||||||
|
number.split('-')[1] === circuitNumber + ')' &&
|
||||||
|
number.split('-')[0] !== '(' + (selectedModels.findIndex((model) => model.id === selectedPcs.id) + 1)
|
||||||
|
) {
|
||||||
|
result = true
|
||||||
|
}
|
||||||
|
})
|
||||||
|
if (result) {
|
||||||
|
swalFire({
|
||||||
|
text: '회로 번호가 같은 다른 파워 컨디셔너 모듈이 있습니다. 다른 회로 번호를 설정하십시오.',
|
||||||
|
type: 'alert',
|
||||||
|
icon: 'warning',
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
canvas.discardActiveObject()
|
||||||
|
canvas
|
||||||
|
.getObjects()
|
||||||
|
.filter((obj) => targetModules.includes(obj.id))
|
||||||
|
.forEach((obj) => {
|
||||||
|
const moduleCircuitText = new fabric.Text(getCircuitNumber(), {
|
||||||
|
left: obj.left + obj.width / 2,
|
||||||
|
top: obj.top + obj.height / 2,
|
||||||
|
fill: 'black',
|
||||||
|
fontSize: 20,
|
||||||
|
width: obj.width,
|
||||||
|
height: obj.height,
|
||||||
|
textAlign: 'center',
|
||||||
|
originX: 'center',
|
||||||
|
originY: 'center',
|
||||||
|
name: 'circuitNumber',
|
||||||
|
parentId: obj.id,
|
||||||
|
circuitInfo: selectedPcs,
|
||||||
|
})
|
||||||
|
obj.set({
|
||||||
|
strokeWidth: 0.3,
|
||||||
|
})
|
||||||
|
obj.pcsItemId = selectedPcs.itemId
|
||||||
|
obj.circuit = moduleCircuitText
|
||||||
|
obj.circuitNumber = getCircuitNumber()
|
||||||
|
canvas.add(moduleCircuitText)
|
||||||
|
})
|
||||||
|
|
||||||
|
const roofSurfaceList = canvas
|
||||||
|
.getObjects()
|
||||||
|
.filter((obj) => POLYGON_TYPE.MODULE_SETUP_SURFACE === obj.name)
|
||||||
|
.map((surface) => {
|
||||||
|
return {
|
||||||
|
roofSurfaceId: surface.id,
|
||||||
|
roofSurface: surface.direction,
|
||||||
|
roofSurfaceIncl: surface.incl,
|
||||||
|
moduleList: surface.modules.map((module) => {
|
||||||
|
return {
|
||||||
|
itemId: module.moduleInfo.itemId,
|
||||||
|
circuit: module.circuitNumber,
|
||||||
|
pcsItemId: module.pcsItemId,
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
const pcsItemList = selectedModels.map((model) => {
|
||||||
|
return {
|
||||||
|
pcsMkrCd: model.pcsMkrCd,
|
||||||
|
pcsSerCd: model.pcsSerCd,
|
||||||
|
itemId: model.itemId,
|
||||||
|
itemNm: model.itemNm,
|
||||||
|
goodsNo: model.goodsNo,
|
||||||
|
serQtyList: [
|
||||||
|
{
|
||||||
|
serQty: 0,
|
||||||
|
paralQty: 0,
|
||||||
|
rmdYn: 'Y',
|
||||||
|
usePossYn: 'Y',
|
||||||
|
roofSurfaceList: roofSurfaceList,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
const params = {
|
const params = {
|
||||||
...getApiProps(),
|
...getApiProps(),
|
||||||
useModuleItemList: getSelectedModuleList(),
|
useModuleItemList: getSelectedModuleList(),
|
||||||
pcsItemList: getSelectModelList(),
|
pcsItemList: pcsItemList,
|
||||||
}
|
}
|
||||||
console.log(params)
|
|
||||||
// getPcsManualConfChk(params).then((res) => {
|
|
||||||
// console.log(res)
|
|
||||||
//
|
|
||||||
// })
|
|
||||||
|
|
||||||
// canvas.discardActiveObject()
|
getPcsManualConfChk(params).then((res) => {
|
||||||
//
|
if (res.resultCode === 'E') {
|
||||||
// canvas
|
swalFire({
|
||||||
// .getObjects()
|
text: res.resultMsg,
|
||||||
// .filter((obj) => targetModules.includes(obj.id))
|
type: 'alert',
|
||||||
// .forEach((obj) => {
|
icon: 'warning',
|
||||||
// const moduleCircuitText = new fabric.Text(getCircuitNumber(), {
|
confirmFn: () => {
|
||||||
// left: obj.left + obj.width / 2,
|
const circuitNumbers = canvas.getObjects().filter((obj) => obj.name === 'circuitNumber' && targetModules.includes(obj.parentId))
|
||||||
// top: obj.top + obj.height / 2,
|
canvas.remove(...circuitNumbers)
|
||||||
// fill: 'black',
|
canvas
|
||||||
// fontSize: 20,
|
.getObjects()
|
||||||
// width: obj.width,
|
.filter((obj) => obj.name === 'module' && targetModules.includes(obj.id))
|
||||||
// height: obj.height,
|
.forEach((obj) => {
|
||||||
// textAlign: 'center',
|
obj.pcsItemId = null
|
||||||
// originX: 'center',
|
obj.circuit = null
|
||||||
// originY: 'center',
|
obj.circuitNumber = null
|
||||||
// name: 'circuitNumber',
|
})
|
||||||
// parentId: obj.id,
|
canvas.renderAll()
|
||||||
// circuitInfo: selectedPcs,
|
},
|
||||||
// })
|
})
|
||||||
// obj.set({
|
|
||||||
// strokeWidth: 0.3,
|
|
||||||
// })
|
|
||||||
// obj.pcsItemId = selectedPcs.itemId
|
|
||||||
|
|
||||||
// obj.circuit = moduleCircuitText
|
return
|
||||||
// canvas.add(moduleCircuitText)
|
}
|
||||||
// canvas.renderAll()
|
|
||||||
// console.log(obj)
|
setTargetModules([])
|
||||||
// })
|
setCircuitNumber(+circuitNumber + 1)
|
||||||
// setTargetModules([])
|
})
|
||||||
// setCircuitNumber(+circuitNumber + 1)
|
|
||||||
// canvas.renderAll()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const getCircuitNumber = () => {
|
const getCircuitNumber = () => {
|
||||||
@ -221,12 +311,36 @@ export default function PassivityCircuitAllocation(props) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const setTableData = () => {
|
||||||
|
const tempHeader = [
|
||||||
|
{ name: '지붕면', prop: 'name' },
|
||||||
|
{ name: '회로', prop: 'circuit' },
|
||||||
|
...selectedModules.itemList.map((module) => {
|
||||||
|
return {
|
||||||
|
name: module.itemNm,
|
||||||
|
prop: module.itemId,
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
{ name: '발전량(kW)', prop: 'wpOut' },
|
||||||
|
]
|
||||||
|
const tempRows = rows.map((row) => {
|
||||||
|
return {
|
||||||
|
name: '',
|
||||||
|
circuit: '',
|
||||||
|
...selectedModules.itemList.map((module) => {
|
||||||
|
return {
|
||||||
|
name: module.itemNm,
|
||||||
|
prop: module.itemId,
|
||||||
|
}
|
||||||
|
}),
|
||||||
|
wpOut: 0,
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
console.log('tempHeader', tempHeader)
|
||||||
|
}
|
||||||
|
|
||||||
const initSelectedPcsCircuitNumber = () => {
|
const initSelectedPcsCircuitNumber = () => {
|
||||||
console.log(
|
|
||||||
'module',
|
|
||||||
canvas.getObjects().filter((obj) => obj.name === 'module'),
|
|
||||||
)
|
|
||||||
console.log('selectedPcs', selectedPcs)
|
|
||||||
swalFire({
|
swalFire({
|
||||||
title: '선택된 파워 컨디셔너의 회로할당을 초기화합니다.',
|
title: '선택된 파워 컨디셔너의 회로할당을 초기화합니다.',
|
||||||
type: 'confirm',
|
type: 'confirm',
|
||||||
@ -281,7 +395,7 @@ export default function PassivityCircuitAllocation(props) {
|
|||||||
<table>
|
<table>
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
{headers.map((header, index) => (
|
{header.map((header, index) => (
|
||||||
<th key={'header' + index}>{header.name}</th>
|
<th key={'header' + index}>{header.name}</th>
|
||||||
))}
|
))}
|
||||||
</tr>
|
</tr>
|
||||||
@ -289,7 +403,7 @@ export default function PassivityCircuitAllocation(props) {
|
|||||||
<tbody>
|
<tbody>
|
||||||
{rows.map((row, index) => (
|
{rows.map((row, index) => (
|
||||||
<tr key={'row' + index}>
|
<tr key={'row' + index}>
|
||||||
{headers.map((header, i) => (
|
{header.map((header, i) => (
|
||||||
<td className="al-c" key={'rowcell' + i}>
|
<td className="al-c" key={'rowcell' + i}>
|
||||||
{row[header.prop]}
|
{row[header.prop]}
|
||||||
</td>
|
</td>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user