Merge branch 'qcast-pub' into dev
# Conflicts: # src/components/floor-plan/modal/basic/BasicSetting.jsx
This commit is contained in:
commit
a5a5355dc5
@ -6,7 +6,7 @@ import PitchModule from '@/components/floor-plan/modal/basic/step/pitch/PitchMod
|
||||
import PitchPlacement from '@/components/floor-plan/modal/basic/step/pitch/PitchPlacement'
|
||||
import Placement from '@/components/floor-plan/modal/basic/step/Placement'
|
||||
import { useRecoilValue, useRecoilState } from 'recoil'
|
||||
import { canvasSettingState, isManualModuleSetupState } from '@/store/canvasAtom'
|
||||
import { canvasSettingState, canvasState, isManualModuleSetupState } from '@/store/canvasAtom'
|
||||
import { usePopup } from '@/hooks/usePopup'
|
||||
import { Orientation } from '@/components/floor-plan/modal/basic/step/Orientation'
|
||||
import { useModuleBasicSetting } from '@/hooks/module/useModuleBasicSetting'
|
||||
@ -19,6 +19,7 @@ import { useCanvasPopupStatusController } from '@/hooks/common/useCanvasPopupSta
|
||||
import { useMasterController } from '@/hooks/common/useMasterController'
|
||||
import { loginUserStore } from '@/store/commonAtom'
|
||||
import { currentCanvasPlanState } from '@/store/canvasAtom'
|
||||
import { POLYGON_TYPE } from '@/common/common'
|
||||
|
||||
export default function BasicSetting({ id, pos = { x: 50, y: 230 } }) {
|
||||
const { getMessage } = useMessage()
|
||||
@ -32,6 +33,7 @@ export default function BasicSetting({ id, pos = { x: 50, y: 230 } }) {
|
||||
const addedRoofs = useRecoilValue(addedRoofsState)
|
||||
const loginUserState = useRecoilValue(loginUserStore)
|
||||
const currentCanvasPlan = useRecoilValue(currentCanvasPlanState)
|
||||
const canvas = useRecoilValue(canvasState)
|
||||
|
||||
// const { initEvent } = useContext(EventContext)
|
||||
const { manualModuleSetup, autoModuleSetup, manualFlatroofModuleSetup, autoFlatroofModuleSetup } = useModuleBasicSetting(1)
|
||||
@ -97,6 +99,17 @@ export default function BasicSetting({ id, pos = { x: 50, y: 230 } }) {
|
||||
const res = await updateObjectDate(params)
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
let hasModules = canvas
|
||||
.getObjects()
|
||||
.filter((obj) => obj.name === POLYGON_TYPE.MODULE_SETUP_SURFACE)
|
||||
.some((obj) => obj.modules?.length > 0)
|
||||
|
||||
if (hasModules) {
|
||||
setTabNum(3)
|
||||
}
|
||||
}, [])
|
||||
|
||||
useEffect(() => {
|
||||
if (canvasSetting.roofSizeSet !== '3') {
|
||||
manualModuleSetup(placementRef)
|
||||
@ -158,8 +171,7 @@ export default function BasicSetting({ id, pos = { x: 50, y: 230 } }) {
|
||||
</button>
|
||||
</>
|
||||
)}
|
||||
{console.log('canvasSetting.roofSizeSet', canvasSetting.roofSizeSet)}
|
||||
{canvasSetting.roofSizeSet && canvasSetting.roofSizeSet == 3 && (
|
||||
{canvasSetting.roofSizeSet && canvasSetting.roofSizeSet === 3 && (
|
||||
<>
|
||||
<button className={`btn-frame modal mr5 ${isManualModuleSetup ? 'act' : ''}`} onClick={handleManualModuleSetup}>
|
||||
{getMessage('modal.module.basic.setting.passivity.placement')}
|
||||
|
||||
@ -507,6 +507,7 @@ export default function CircuitTrestleSetting({ id }) {
|
||||
selectedModels,
|
||||
setSelectedModels,
|
||||
managementState,
|
||||
getUseModuleItemList,
|
||||
}
|
||||
|
||||
// 수동할당 컴포넌트 속성
|
||||
|
||||
@ -27,6 +27,7 @@ export default function PowerConditionalSelect(props) {
|
||||
selectedModels,
|
||||
setSelectedModels,
|
||||
managementState,
|
||||
getUseModuleItemList,
|
||||
} = props
|
||||
const [pcsCheck, setPcsCheck] = useRecoilState(pcsCheckState)
|
||||
|
||||
@ -159,8 +160,14 @@ export default function PowerConditionalSelect(props) {
|
||||
setModels([])
|
||||
setSelectedModels([])
|
||||
setSelectedMaker(option)
|
||||
console.log('option', option)
|
||||
getUseModuleItemList
|
||||
const param = {
|
||||
pcsMkrCd: option.pcsMkrCd,
|
||||
mixMatlNo: getUseModuleItemList()[0].mixMatlNo,
|
||||
}
|
||||
|
||||
getPcsMakerList(option).then((res) => {
|
||||
getPcsMakerList(param).then((res) => {
|
||||
setSeries(
|
||||
res.data.map((series) => {
|
||||
return { ...series, selected: false }
|
||||
|
||||
@ -350,6 +350,12 @@ export default function StepUp(props) {
|
||||
return module.id
|
||||
})
|
||||
|
||||
targetSurface.modules.map((module) => {
|
||||
module.circuit = null
|
||||
module.circuitNumber = null
|
||||
module.pcsItemId = null
|
||||
})
|
||||
|
||||
// 모듈 목록 삭제
|
||||
canvas
|
||||
.getObjects()
|
||||
@ -363,6 +369,7 @@ export default function StepUp(props) {
|
||||
|
||||
roofSurface.moduleList.forEach((module) => {
|
||||
const targetModule = canvas.getObjects().filter((obj) => obj.id === module.uniqueId)[0]
|
||||
if (module.circuit === '') return
|
||||
const moduleCircuitText = new fabric.Text(module.circuit, {
|
||||
left: targetModule.left + targetModule.width / 2,
|
||||
top: targetModule.top + targetModule.height / 2,
|
||||
|
||||
@ -33,9 +33,6 @@ export default function PassivityCircuitAllocation(props) {
|
||||
const isDisplayCircuitNumber = useRecoilValue(circuitNumDisplaySelector)
|
||||
|
||||
useEffect(() => {
|
||||
console.log('header, rows', header, rows)
|
||||
console.log('selectedModels', selectedModels)
|
||||
// setSurfaceInfo()
|
||||
setModuleStatisticsData()
|
||||
if (!managementState) {
|
||||
setManagementState(managementStateLoaded)
|
||||
@ -78,80 +75,6 @@ export default function PassivityCircuitAllocation(props) {
|
||||
canvas.renderAll()
|
||||
}
|
||||
|
||||
const setSurfaceInfo = () => {
|
||||
const surfaces = canvas.getObjects().filter((obj) => POLYGON_TYPE.MODULE_SETUP_SURFACE === obj.name)
|
||||
// setHeaders([header[0], { name: '회로', prop: 'circuit' }, ...header.slice(1)])
|
||||
// setRows(
|
||||
// rows.map((row) => {
|
||||
// return {
|
||||
// ...row,
|
||||
// circuit: '',
|
||||
// }
|
||||
// }),
|
||||
// )
|
||||
// let totals = {}
|
||||
|
||||
// rows.forEach((row) => {
|
||||
// if (header.length === 4) {
|
||||
// if (!totals[header[2].prop]) totals[header[2].prop] = 0
|
||||
// totals[header[2].prop] += +row[header[2].prop]
|
||||
// } else if (header.length === 5) {
|
||||
// if (!totals[header[2].prop]) totals[header[2].prop] = 0
|
||||
// totals[header[2].prop] += +row[header[2].prop]
|
||||
// if (!totals[header[3].prop]) totals[header[3].prop] = 0
|
||||
// totals[header[3]] += +row[header[3]]
|
||||
// }
|
||||
// })
|
||||
// setFooter([
|
||||
// ...['합계', ''],
|
||||
// ...Object.keys(totals).map((key) => {
|
||||
// return totals[key]
|
||||
// }),
|
||||
// Object.keys(totals).reduce((acc, key) => {
|
||||
// return acc + totals[key]
|
||||
// }, 0),
|
||||
// ])
|
||||
// let totalWpout = 0
|
||||
// const rows = surfaces.map((surface) => {
|
||||
// let wpOut = 0
|
||||
// let moduleInfo = {}
|
||||
// surface.modules.forEach((module) => {
|
||||
// wpOut += +module.moduleInfo.wpOut
|
||||
// if (!moduleInfo[module.moduleInfo.itemId]) moduleInfo[module.moduleInfo.itemId] = 0
|
||||
// moduleInfo[module.moduleInfo.itemId]++
|
||||
// })
|
||||
// totalWpout += wpOut
|
||||
// console.log('🚀 ~ moduleData.rows=surfaces.map ~ module:', module)
|
||||
// return {
|
||||
// roofShape: DIRECTION[surface.direction],
|
||||
// powerGeneration: wpOut.toLocaleString('ko-KR', { maximumFractionDigits: 4 }),
|
||||
// ...moduleInfo,
|
||||
// }
|
||||
// })
|
||||
|
||||
// setTotalWpout(totalWpout)
|
||||
// 지붕면 리스트 -> 지붕면에 있는 모듈 리스트 -> 발전량 총합 계산
|
||||
// wpOut
|
||||
|
||||
// setModuleData({
|
||||
// header: [
|
||||
// { name: getMessage('modal.panel.batch.statistic.roof.shape'), prop: 'roofShape' },
|
||||
// { name: getMessage('modal.circuit.trestle.setting.circuit.allocation.passivity.circuit'), prop: 'circuit' },
|
||||
// ...selectedModules.itemList.map((module) => {
|
||||
// return {
|
||||
// name: module.itemNm,
|
||||
// prop: module.itemId,
|
||||
// }
|
||||
// }),
|
||||
// {
|
||||
// name: `${getMessage('modal.panel.batch.statistic.power.generation.amount')}(kW)`,
|
||||
// prop: 'powerGeneration',
|
||||
// },
|
||||
// ],
|
||||
// rows: rows,
|
||||
// })
|
||||
}
|
||||
|
||||
const handleCircuitNumberFix = () => {
|
||||
let uniqueCircuitNumbers = [
|
||||
...new Set(
|
||||
@ -177,6 +100,7 @@ export default function PassivityCircuitAllocation(props) {
|
||||
return
|
||||
} else if (selectedModels.length > 1) {
|
||||
let result = false
|
||||
|
||||
uniqueCircuitNumbers.forEach((number) => {
|
||||
if (
|
||||
number.split('-')[1] === circuitNumber + ')' &&
|
||||
@ -229,20 +153,14 @@ export default function PassivityCircuitAllocation(props) {
|
||||
setSelectedPcs(tempSelectedPcs)
|
||||
canvas.add(moduleCircuitText)
|
||||
})
|
||||
console.log('🚀 ~ handleCircuitNumberFix ~ selectedModels:', selectedModels)
|
||||
|
||||
// let pcsList = [...selectedModels.map((model) => ({ ...model }))]
|
||||
let pcsList = JSON.parse(JSON.stringify(selectedModels))
|
||||
pcsList = pcsList.map((model) => {
|
||||
console.log('🚀 ~ handleCircuitNumberFix ~ pcsList:', pcsList)
|
||||
let pcsList = JSON.parse(JSON.stringify(selectedModels)).map((model) => {
|
||||
if (model.id === selectedPcs.id) {
|
||||
model.isUsed = true
|
||||
}
|
||||
return model
|
||||
})
|
||||
|
||||
console.log('🚀 ~ handleCircuitNumberFix ~ pcsList:', pcsList)
|
||||
|
||||
const roofSurfaceList = canvas
|
||||
.getObjects()
|
||||
.filter((obj) => POLYGON_TYPE.MODULE_SETUP_SURFACE === obj.name && obj?.modules.length > 0)
|
||||
@ -261,7 +179,6 @@ export default function PassivityCircuitAllocation(props) {
|
||||
}
|
||||
})
|
||||
|
||||
console.log('uniqueCircuitNumbers', uniqueCircuitNumbers)
|
||||
const usedPcses = pcsList.filter((model) => model.isUsed)
|
||||
const pcsItemList = usedPcses.map((model, index) => {
|
||||
return {
|
||||
@ -289,7 +206,6 @@ export default function PassivityCircuitAllocation(props) {
|
||||
}
|
||||
|
||||
getPcsManualConfChk(params).then((res) => {
|
||||
console.log('targetModules', targetModules)
|
||||
if (res.resultCode === 'E') {
|
||||
swalFire({
|
||||
text: res.resultMsg,
|
||||
@ -321,8 +237,6 @@ export default function PassivityCircuitAllocation(props) {
|
||||
setModuleStatisticsData()
|
||||
})
|
||||
}
|
||||
console.log('🚀 ~ handleCircuitNumberFix ~ selectedModels:', selectedModels)
|
||||
console.log('🚀 ~ handleCircuitNumberFix ~ selectedModels:', selectedModels)
|
||||
|
||||
const getCircuitNumber = () => {
|
||||
if (selectedModels.length === 1) {
|
||||
@ -334,7 +248,7 @@ export default function PassivityCircuitAllocation(props) {
|
||||
|
||||
const initSelectedPcsCircuitNumber = () => {
|
||||
swalFire({
|
||||
title: getMessage('modal.circuit.trestle.setting.circuit.allocation.passivity.init.info'),
|
||||
title: getMessage('modal.circuit.trestle.setting.circuit.allocation.passivity.selected.power.conditional.reset.info'),
|
||||
type: 'confirm',
|
||||
icon: 'warning',
|
||||
confirmFn: () => {
|
||||
@ -355,7 +269,7 @@ export default function PassivityCircuitAllocation(props) {
|
||||
const initAllPcsCircuitNumber = () => {
|
||||
canvas.discardActiveObject()
|
||||
swalFire({
|
||||
title: getMessage('modal.circuit.trestle.setting.circuit.allocation.passivity.init.setting.info'),
|
||||
title: getMessage('modal.circuit.trestle.setting.circuit.allocation.passivity.all.power.conditional.reset.info'),
|
||||
type: 'confirm',
|
||||
icon: 'warning',
|
||||
confirmFn: () => {
|
||||
@ -444,18 +358,6 @@ export default function PassivityCircuitAllocation(props) {
|
||||
</label>
|
||||
</div>
|
||||
))}
|
||||
{/* <div className="d-check-radio pop mb10">
|
||||
<input type="radio" name="radio01" id="ra01" />
|
||||
<label htmlFor="ra01">HQJP-KA55-5 (標準回路2枚~10枚)</label>
|
||||
</div>
|
||||
<div className="d-check-radio pop mb10">
|
||||
<input type="radio" name="radio01" id="ra02" />
|
||||
<label htmlFor="ra02">HQJP-KA55-5 (標準回路2枚~10枚)</label>
|
||||
</div>
|
||||
<div className="d-check-radio pop">
|
||||
<input type="radio" name="radio01" id="ra03" />
|
||||
<label htmlFor="ra03">HQJP-KA55-5 (標準回路2枚~10枚)</label>
|
||||
</div>*/}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -1010,10 +1010,10 @@ export function useModule() {
|
||||
wpOut: 0,
|
||||
circuits: { wpOut: 0 },
|
||||
}
|
||||
}
|
||||
|
||||
if (!surfaceObjects[surface.id].circuits[module.circuitNumber].circuits[module.moduleInfo.itemId]) {
|
||||
surfaceObjects[surface.id].circuits[module.circuitNumber].circuits[module.moduleInfo.itemId] = 0
|
||||
}
|
||||
if (!surfaceObjects[surface.id].circuits[module.circuitNumber].circuits[module.moduleInfo.itemId]) {
|
||||
surfaceObjects[surface.id].circuits[module.circuitNumber].circuits[module.moduleInfo.itemId] = 0
|
||||
}
|
||||
surfaceObjects[surface.id].circuits[module.circuitNumber].circuits[module.moduleInfo.itemId]++
|
||||
surfaceObjects[surface.id].circuits[module.circuitNumber].circuits.wpOut += +module.moduleInfo.wpOut
|
||||
@ -1027,7 +1027,7 @@ export function useModule() {
|
||||
let tempRow = {
|
||||
name: surfaceObjects[key].roofSurface,
|
||||
circuit: surfaceObjects[key].circuit,
|
||||
wpOut: parseInt((surfaceObjects[key].wpOut / 1000).toFixed(3)),
|
||||
wpOut: parseFloat(surfaceObjects[key].wpOut / 1000),
|
||||
}
|
||||
selectedModules.itemList.forEach((module) => {
|
||||
tempRow[module.itemId] = surfaceObjects[key][module.itemId]
|
||||
@ -1038,7 +1038,7 @@ export function useModule() {
|
||||
let row = {
|
||||
name: surfaceObjects[key].roofSurface,
|
||||
circuit: surfaceObjects[key].circuits[circuit].circuit,
|
||||
wpOut: parseInt((surfaceObjects[key].circuits[circuit].circuits.wpOut / 1000).toFixed(3)),
|
||||
wpOut: parseFloat(surfaceObjects[key].circuits[circuit].circuits.wpOut / 1000),
|
||||
}
|
||||
selectedModules.itemList.forEach((module) => {
|
||||
row[module.itemId] = surfaceObjects[key].circuits[circuit].circuits[module.itemId]
|
||||
|
||||
@ -153,7 +153,9 @@
|
||||
"modal.circuit.trestle.setting.circuit.allocation.passivity.circuit.num": "設定する回路番号(1~)",
|
||||
"modal.circuit.trestle.setting.circuit.allocation.passivity.circuit.info": "標準回路{0}章~{1}章",
|
||||
"modal.circuit.trestle.setting.circuit.allocation.passivity.selected.power.conditional.reset": "選択したパワーコンディショナーの回路番号の初期化",
|
||||
"modal.circuit.trestle.setting.circuit.allocation.passivity.selected.power.conditional.reset.info": "선택된 파워 컨디셔너의 회로할당을 초기화합니다.(JA)",
|
||||
"modal.circuit.trestle.setting.circuit.allocation.passivity.all.power.conditional.reset": "すべての回路番号の初期化",
|
||||
"modal.circuit.trestle.setting.circuit.allocation.passivity.all.power.conditional.reset.info": "회로 할당의 설정을 초기화합니다.(JA)",
|
||||
"modal.circuit.trestle.setting.circuit.allocation.passivity.circuit.num.fix": "番号確定",
|
||||
"modal.circuit.trestle.setting.step.up.allocation": "昇圧設定",
|
||||
"modal.circuit.trestle.setting.step.up.allocation.serial.amount": "シリアル枚数",
|
||||
|
||||
@ -153,7 +153,9 @@
|
||||
"modal.circuit.trestle.setting.circuit.allocation.passivity.circuit.num": "설정할 회로번호(1~)",
|
||||
"modal.circuit.trestle.setting.circuit.allocation.passivity.circuit.info": "표준회로{0}장~{1}장",
|
||||
"modal.circuit.trestle.setting.circuit.allocation.passivity.selected.power.conditional.reset": "선택된 파워컨디셔너의 회로번호 초기화",
|
||||
"modal.circuit.trestle.setting.circuit.allocation.passivity.selected.power.conditional.reset.info": "선택된 파워 컨디셔너의 회로할당을 초기화합니다.",
|
||||
"modal.circuit.trestle.setting.circuit.allocation.passivity.all.power.conditional.reset": "모든 회로번호 초기화",
|
||||
"modal.circuit.trestle.setting.circuit.allocation.passivity.all.power.conditional.reset.info": "회로 할당의 설정을 초기화합니다.",
|
||||
"modal.circuit.trestle.setting.circuit.allocation.passivity.circuit.num.fix": "번호 확정",
|
||||
"modal.circuit.trestle.setting.step.up.allocation": "승압 설정",
|
||||
"modal.circuit.trestle.setting.step.up.allocation.serial.amount": "직렬매수",
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user