From cb610d098dd15fd9dfa96b7586ad4cdcfba4b3e6 Mon Sep 17 00:00:00 2001 From: Minsiki Date: Sat, 18 Jan 2025 19:14:16 +0900 Subject: [PATCH] =?UTF-8?q?=EC=A7=91=EA=B3=84=ED=91=9C=20=EA=B0=9C?= =?UTF-8?q?=EB=B0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/hooks/module/useModuleBasicSetting.js | 22 +++++++++++++--------- src/store/circuitTrestleAtom.js | 13 ++++++++++++- 2 files changed, 25 insertions(+), 10 deletions(-) diff --git a/src/hooks/module/useModuleBasicSetting.js b/src/hooks/module/useModuleBasicSetting.js index 256d51c6..08a06320 100644 --- a/src/hooks/module/useModuleBasicSetting.js +++ b/src/hooks/module/useModuleBasicSetting.js @@ -2288,22 +2288,26 @@ export function useModuleBasicSetting() { let moduleInfo = {} const rows = surfaces.map((surface) => { let wpOut = 0 - + moduleInfo = {} surface.modules.forEach((module) => { - wpOut += +module.moduleInfo.wpOut if (!moduleInfo[module.moduleInfo.itemId]) { - moduleInfo[module.moduleInfo.itemId] = 0 + moduleInfo[module.moduleInfo.itemId] = { name: module.moduleInfo.itemNm, amount: 0, id: module.moduleInfo.itemId } } + wpOut += +module.moduleInfo.wpOut - moduleInfo[module.moduleInfo.itemId]++ + moduleInfo[module.moduleInfo.itemId].amount++ }) totalWpout += wpOut console.log('πŸš€ ~ moduleData.rows=surfaces.map ~ module:', module) + const rowObject = {} + Object.keys(moduleInfo).forEach((key) => { + rowObject[key] = moduleInfo[key].amount + }) return { - name: canvas.getObjects().filter((obj) => obj.id === surface.parentId)[0].directionText, + ...rowObject, // 총 λ°œμ „λŸ‰ = λ°œμ „λŸ‰ * λͺ¨λ“ˆ 개수 + name: canvas.getObjects().filter((obj) => obj.id === surface.parentId)[0].directionText, // μ§€λΆ•λ©΄ // powerGeneration: wpOut.toLocaleString('ko-KR', { maximumFractionDigits: 4 }), - amount: wpOut, - ...moduleInfo, + wpOut: wpOut, } }) @@ -2311,9 +2315,9 @@ export function useModuleBasicSetting() { const header = [ { name: getMessage('modal.panel.batch.statistic.roof.shape'), prop: 'name' }, ...Object.keys(moduleInfo).map((key) => { - return { name: moduleInfo[key], prop: key } + return { name: moduleInfo[key].name, prop: key } }), - { name: `${getMessage('modal.panel.batch.statistic.power.generation.amount')}(kW)`, prop: 'amount' }, + { name: `${getMessage('modal.panel.batch.statistic.power.generation.amount')}(kW)`, prop: 'wpOut' }, ] let footer = ['합계'] let footerData = {} diff --git a/src/store/circuitTrestleAtom.js b/src/store/circuitTrestleAtom.js index 2ba3963b..86836b48 100644 --- a/src/store/circuitTrestleAtom.js +++ b/src/store/circuitTrestleAtom.js @@ -1,3 +1,4 @@ +import { useMessage } from '@/hooks/useMessage' import { atom } from 'recoil' export const makerState = atom({ @@ -23,5 +24,15 @@ export const pcsCheckState = atom({ export const moduleStatisticsState = atom({ key: 'moduleStatisticsState', - default: { header: [], rows: [], footer: [] }, + default: { + header: [ + { name: 'μ§€λΆ•λ©΄', prop: 'name' }, + { name: `λ°œμ „λŸ‰(kW)`, prop: 'amount' }, + ], + rows: [], + footer: [ + { name: '합계', prop: 'name' }, + { name: `λ°œμ „λŸ‰(kW)`, prop: 'amount' }, + ], + }, })