diff --git a/src/components/floor-plan/CanvasMenu.jsx b/src/components/floor-plan/CanvasMenu.jsx
index ab445ca9..f552f530 100644
--- a/src/components/floor-plan/CanvasMenu.jsx
+++ b/src/components/floor-plan/CanvasMenu.jsx
@@ -48,6 +48,7 @@ export default function CanvasMenu(props) {
setShowWallLineOffsetSettingModal,
setShowRoofAllocationSettingModal,
setShowBasicSettingModal,
+ setShowCircuitTrestleSettingModal,
setShowPropertiesSettingModal,
} = props
@@ -105,6 +106,7 @@ export default function CanvasMenu(props) {
setShowRoofAllocationSettingModal,
setShowObjectSettingModal,
setShowBasicSettingModal,
+ setShowCircuitTrestleSettingModal,
setShowPropertiesSettingModal,
type,
}
diff --git a/src/components/floor-plan/FloorPlan.jsx b/src/components/floor-plan/FloorPlan.jsx
index 1de51962..b8ea7784 100644
--- a/src/components/floor-plan/FloorPlan.jsx
+++ b/src/components/floor-plan/FloorPlan.jsx
@@ -27,6 +27,7 @@ import RoofShapePassivitySetting from '@/components/floor-plan/modal/roofShape/R
import MovementSetting from '@/components/floor-plan/modal/movement/MovementSetting'
import RoofAllocationSetting from '@/components/floor-plan/modal/roofAllocation/RoofAllocationSetting'
import BasicSetting from '@/components/floor-plan/modal/basic/BasicSetting'
+import CircuitTrestleSetting from '@/components/floor-plan/modal/circuitTrestle/CircuitTrestleSetting'
export default function FloorPlan() {
const [showCanvasSettingModal, setShowCanvasSettingModal] = useState(false)
@@ -45,6 +46,7 @@ export default function FloorPlan() {
const [showWallLineOffsetSettingModal, setShowWallLineOffsetSettingModal] = useState(false)
const [showRoofAllocationSettingModal, setShowRoofAllocationSettingModal] = useState(false)
const [showBasicSettingModal, setShowBasicSettingModal] = useState(false)
+ const [showCircuitTrestleSettingModal, setShowCircuitTrestleSettingModal] = useState(false)
const globalLocaleState = useRecoilValue(globalLocaleStore)
const { get } = useAxios(globalLocaleState)
@@ -84,6 +86,7 @@ export default function FloorPlan() {
setShowWallLineOffsetSettingModal,
setShowRoofAllocationSettingModal,
setShowBasicSettingModal,
+ setShowCircuitTrestleSettingModal,
setShowPropertiesSettingModal,
}
@@ -159,6 +162,7 @@ export default function FloorPlan() {
{showObjectSettingModal && }
{showPlacementSurfaceSettingModal && }
{showBasicSettingModal && }
+ {showCircuitTrestleSettingModal && }
>
diff --git a/src/components/floor-plan/MenuDepth01.jsx b/src/components/floor-plan/MenuDepth01.jsx
index 21631434..d862853a 100644
--- a/src/components/floor-plan/MenuDepth01.jsx
+++ b/src/components/floor-plan/MenuDepth01.jsx
@@ -23,6 +23,7 @@ export default function MenuDepth01(props) {
setShowRoofAllocationSettingModal,
setShowObjectSettingModal,
setShowBasicSettingModal,
+ setShowCircuitTrestleSettingModal,
setShowPropertiesSettingModal,
} = props
const { getMessage } = useMessage()
@@ -44,6 +45,7 @@ export default function MenuDepth01(props) {
setShowRoofAllocationSettingModal(id === 7)
setShowPlaceShapeDrawingModal(false)
setShowPropertiesSettingModal(false)
+ setShowCircuitTrestleSettingModal(false)
}
if (type === 'surface') {
@@ -56,6 +58,7 @@ export default function MenuDepth01(props) {
setShowWallLineOffsetSettingModal(false)
setShowRoofAllocationSettingModal(false)
setShowPropertiesSettingModal(false)
+ setShowCircuitTrestleSettingModal(false)
setShowSlopeSettingModal(id === 0)
setShowPlaceShapeDrawingModal(id === 1)
setShowPlacementSurfaceSettingModal(id === 2)
@@ -73,6 +76,7 @@ export default function MenuDepth01(props) {
setShowRoofAllocationSettingModal(false)
setShowPropertiesSettingModal(false)
setShowBasicSettingModal(id === 0)
+ setShowCircuitTrestleSettingModal(id === 1)
}
}
diff --git a/src/components/floor-plan/modal/circuitTrestle/CircuitTrestleSetting.jsx b/src/components/floor-plan/modal/circuitTrestle/CircuitTrestleSetting.jsx
new file mode 100644
index 00000000..1c67ea7f
--- /dev/null
+++ b/src/components/floor-plan/modal/circuitTrestle/CircuitTrestleSetting.jsx
@@ -0,0 +1,57 @@
+import WithDraggable from '@/components/common/draggable/withDraggable'
+import { useState } from 'react'
+import PowerConditionalSelect from '@/components/floor-plan/modal/circuitTrestle/step/PowerConditionalSelect'
+import CircuitAllocation from '@/components/floor-plan/modal/circuitTrestle/step/CircuitAllocation'
+import StepUp from '@/components/floor-plan/modal/circuitTrestle/step/StepUp'
+import { useMessage } from '@/hooks/useMessage'
+
+export default function CircuitTrestleSetting({ setShowCircuitTrestleSettingModal }) {
+ const { getMessage } = useMessage()
+ const [tabNum, setTabNum] = useState(1)
+ const [circuitAllocationType, setCircuitAllocationType] = useState(1)
+ const circuitProps = {
+ circuitAllocationType,
+ setCircuitAllocationType,
+ }
+ return (
+
+
+
+
{getMessage('modal.circuit.trestle.setting')}
+
+
+
+
+
+ {getMessage('modal.circuit.trestle.setting.power.conditional.select')}
+
+
+
+ {getMessage('modal.circuit.trestle.setting.circuit.allocation')}
+
+
+
{getMessage('modal.circuit.trestle.setting.step.up.allocation')}
+
+ {tabNum === 1 &&
}
+ {tabNum === 2 &&
}
+ {tabNum === 3 &&
}
+
+ {tabNum !== 1 && (
+
+ )}
+ {tabNum !== 3 && (
+
+ )}
+ {tabNum === 3 && }
+
+
+
+
+ )
+}
diff --git a/src/components/floor-plan/modal/circuitTrestle/step/CircuitAllocation.jsx b/src/components/floor-plan/modal/circuitTrestle/step/CircuitAllocation.jsx
new file mode 100644
index 00000000..b980eeb4
--- /dev/null
+++ b/src/components/floor-plan/modal/circuitTrestle/step/CircuitAllocation.jsx
@@ -0,0 +1,25 @@
+import AutoCircuitAllocation from '@/components/floor-plan/modal/circuitTrestle/step/type/AutoCircuitAllocation'
+import PassivityCircuitAllocation from '@/components/floor-plan/modal/circuitTrestle/step/type/PassivityCircuitAllocation'
+import { useMessage } from '@/hooks/useMessage'
+
+export default function CircuitAllocation(props) {
+ const { getMessage } = useMessage()
+ const { circuitAllocationType, setCircuitAllocationType } = props
+ return (
+ <>
+
+
+
+
+
+
{getMessage('modal.circuit.trestle.setting.circuit.allocation')}
+ {circuitAllocationType === 1 &&
}
+ {circuitAllocationType === 2 &&
}
+
+ >
+ )
+}
diff --git a/src/components/floor-plan/modal/circuitTrestle/step/PowerConditionalSelect.jsx b/src/components/floor-plan/modal/circuitTrestle/step/PowerConditionalSelect.jsx
new file mode 100644
index 00000000..fe2d168b
--- /dev/null
+++ b/src/components/floor-plan/modal/circuitTrestle/step/PowerConditionalSelect.jsx
@@ -0,0 +1,146 @@
+import QSelectBox from '@/components/common/select/QSelectBox'
+import { useMessage } from '@/hooks/useMessage'
+import { useState } from 'react'
+
+const SelectOption01 = [{ name: '0' }, { name: '0' }, { name: '0' }, { name: '0' }]
+
+export default function PowerConditionalSelect({ setTabNum }) {
+ const { getMessage } = useMessage()
+ const [selectedRowIndex, setSelectedRowIndex] = useState(null)
+ const [powerConditions, setPowerConditions] = useState([])
+ const seriesData = {
+ header: [
+ { name: getMessage('명칭'), width: '15%', prop: 'name', type: 'color-box' },
+ {
+ name: `${getMessage('modal.circuit.trestle.setting.power.conditional.select.rated.output')} (kW)`,
+ width: '10%',
+ prop: 'ratedOutput',
+ },
+ {
+ name: `${getMessage('modal.circuit.trestle.setting.power.conditional.select.circuit.amount')}`,
+ width: '10%',
+ prop: 'circuitAmount',
+ },
+ {
+ name: `${getMessage('modal.circuit.trestle.setting.power.conditional.select.max.connection')}`,
+ width: '10%',
+ prop: 'maxConnection',
+ },
+ {
+ name: `${getMessage('modal.circuit.trestle.setting.power.conditional.select.max.overload')}`,
+ width: '10%',
+ prop: 'maxOverload',
+ },
+ {
+ name: `${getMessage('modal.circuit.trestle.setting.power.conditional.select.output.current')}`,
+ width: '10%',
+ prop: 'outputCurrent',
+ },
+ ],
+ rows: [
+ {
+ name: { name: 'PCSオプションマスター', color: '#AA6768' },
+ ratedOutput: { name: '2' },
+ circuitAmount: { name: '2' },
+ maxConnection: { name: '-' },
+ maxOverload: { name: '-' },
+ outputCurrent: { name: '-' },
+ },
+ {
+ name: { name: 'HQJP-KA40-5', color: '#AA6768' },
+ ratedOutput: { name: '2' },
+ circuitAmount: { name: '2' },
+ maxConnection: { name: '-' },
+ maxOverload: { name: '-' },
+ outputCurrent: { name: '-' },
+ },
+ {
+ name: { name: 'Re.RISE-G3 440', color: '#AA6768' },
+ ratedOutput: { name: '2' },
+ circuitAmount: { name: '2' },
+ maxConnection: { name: '-' },
+ maxOverload: { name: '-' },
+ outputCurrent: { name: '-' },
+ },
+ ],
+ }
+ return (
+ <>
+
+
分類 (余剰)
+
+
+
+
寒冷地仕様
+
+
+
+
+
+
+
+
+
+ {seriesData.header.map((header) => (
+ |
+ {header.name}
+ |
+ ))}
+
+
+
+ {seriesData.rows.map((row, index) => (
+ setSelectedRowIndex(index)} className={index === selectedRowIndex ? 'on' : ''}>
+ {seriesData.header.map((header) => (
+ | {row[header.prop].name} |
+ ))}
+
+ ))}
+
+
+
+
+
+
+
+
+
+ HQJP-KA40-5
+ HQJP-KA40-5
+ HQJP-KA40-5
+
+
+
+
+ {/**/}
+ {/* */}
+ {/*
*/}
+ >
+ )
+}
diff --git a/src/components/floor-plan/modal/circuitTrestle/step/StepUp.jsx b/src/components/floor-plan/modal/circuitTrestle/step/StepUp.jsx
new file mode 100644
index 00000000..d8130a0a
--- /dev/null
+++ b/src/components/floor-plan/modal/circuitTrestle/step/StepUp.jsx
@@ -0,0 +1,408 @@
+import QSelectBox from '@/components/common/select/QSelectBox'
+import { useMessage } from '@/hooks/useMessage'
+
+const SelectOption01 = [{ name: '0' }, { name: '0' }, { name: '0' }, { name: '0' }]
+
+export default function StepUp({}) {
+ const { getMessage } = useMessage()
+ return (
+ <>
+
+
{getMessage('modal.circuit.trestle.setting.step.up.allocation')}
+
+
+
+
+
HQJP-KA55-5
+
+
+
+
+ | シリアル枚数 |
+ 総回路数 |
+
+
+
+
+ | 10 |
+ 0 |
+
+
+ | 10 |
+ 0 |
+
+
+ | 10 |
+ 0 |
+
+
+ | 10 |
+ 0 |
+
+
+ | 10 |
+ 0 |
+
+
+
+
+
+
+
+
接続する
+
+
+
+
+ | 名称 |
+ 回路数 |
+ 昇圧回路数 |
+
+
+
+
+ | KTN-CBD4C |
+ 4 |
+ 0 |
+
+
+ | KTN-CBD4C |
+ 4 |
+ 0 |
+
+
+ | KTN-CBD4C |
+ 4 |
+ 0 |
+
+
+
+
+
+
+
+
+
+
+ HQJP-KA40-5
+
+
+
+
+
昇圧オプション
+
+
+
+
+ | 名称 |
+ 昇圧回路数 |
+
+
+
+
+ | - |
+ - |
+
+
+ | - |
+ - |
+
+
+
+
+
+
+
+
+
+
+ HQJP-KA40-5
+
+
+
+
+
+
綿調道区分
+
+
+
+
回路
+
(二重昇圧回路数
+
+
+
+
回路)
+
+
+
+
+
+
+
HQJP-KA55-5
+
+
+
+
+ | シリアル枚数 |
+ 総回路数 |
+
+
+
+
+ | 10 |
+ 0 |
+
+
+ | 10 |
+ 0 |
+
+
+ | 10 |
+ 0 |
+
+
+ | 10 |
+ 0 |
+
+
+ | 10 |
+ 0 |
+
+
+
+
+
+
+
+
接続する
+
+
+
+
+ | 名称 |
+ 回路数 |
+ 昇圧回路数 |
+
+
+
+
+ | KTN-CBD4C |
+ 4 |
+ 0 |
+
+
+ | KTN-CBD4C |
+ 4 |
+ 0 |
+
+
+ | KTN-CBD4C |
+ 4 |
+ 0 |
+
+
+
+
+
+
+
+
+
+
+ HQJP-KA40-5
+
+
+
+
+
昇圧オプション
+
+
+
+
+ | 名称 |
+ 昇圧回路数 |
+
+
+
+
+ | - |
+ - |
+
+
+ | - |
+ - |
+
+
+
+
+
+
+
+
+
+
+ HQJP-KA40-5
+
+
+
+
+
+
綿調道区分
+
+
+
+
回路
+
(二重昇圧回路数
+
+
+
+
回路)
+
+
+
+
+
+
+
HQJP-KA55-5
+
+
+
+
+ | シリアル枚数 |
+ 総回路数 |
+
+
+
+
+ | 10 |
+ 0 |
+
+
+ | 10 |
+ 0 |
+
+
+ | 10 |
+ 0 |
+
+
+ | 10 |
+ 0 |
+
+
+ | 10 |
+ 0 |
+
+
+
+
+
+
+
+
接続する
+
+
+
+
+ | 名称 |
+ 回路数 |
+ 昇圧回路数 |
+
+
+
+
+ | KTN-CBD4C |
+ 4 |
+ 0 |
+
+
+ | KTN-CBD4C |
+ 4 |
+ 0 |
+
+
+ | KTN-CBD4C |
+ 4 |
+ 0 |
+
+
+
+
+
+
+
+
+
+
+ HQJP-KA40-5
+
+
+
+
+
昇圧オプション
+
+
+
+
+ | 名称 |
+ 昇圧回路数 |
+
+
+
+
+ | - |
+ - |
+
+
+ | - |
+ - |
+
+
+
+
+
+
+
+
+
+
+ HQJP-KA40-5
+
+
+
+
+
+
綿調道区分
+
+
+
+
回路
+
(二重昇圧回路数
+
+
+
+
回路)
+
+
+
+
+
+
+ {/**/}
+ {/* */}
+ {/* */}
+ {/*
*/}
+ >
+ )
+}
diff --git a/src/components/floor-plan/modal/circuitTrestle/step/type/AutoCircuitAllocation.jsx b/src/components/floor-plan/modal/circuitTrestle/step/type/AutoCircuitAllocation.jsx
new file mode 100644
index 00000000..026bbaee
--- /dev/null
+++ b/src/components/floor-plan/modal/circuitTrestle/step/type/AutoCircuitAllocation.jsx
@@ -0,0 +1,17 @@
+import { useMessage } from '@/hooks/useMessage'
+
+export default function AutoCircuitAllocation() {
+ const { getMessage } = useMessage()
+ return (
+
+
+
+
+
+
+
+
+
+
+ )
+}
diff --git a/src/components/floor-plan/modal/circuitTrestle/step/type/PassivityCircuitAllocation.jsx b/src/components/floor-plan/modal/circuitTrestle/step/type/PassivityCircuitAllocation.jsx
new file mode 100644
index 00000000..5233d992
--- /dev/null
+++ b/src/components/floor-plan/modal/circuitTrestle/step/type/PassivityCircuitAllocation.jsx
@@ -0,0 +1,104 @@
+import { useMessage } from '@/hooks/useMessage'
+
+export default function PassivityCircuitAllocation() {
+ const { getMessage } = useMessage()
+ const moduleData = {
+ header: [
+ { name: getMessage('屋根面'), prop: 'roofShape' },
+ {
+ name: getMessage('Q.TRON M-G2'),
+ prop: 'moduleName',
+ },
+ {
+ name: getMessage('発電量 (kW)'),
+ prop: 'powerGeneration',
+ },
+ ],
+ rows: [
+ {
+ roofShape: { name: 'M 1' },
+ moduleName: { name: '8' },
+ powerGeneration: { name: '3,400' },
+ },
+ {
+ roofShape: { name: 'M 1' },
+ moduleName: { name: '8' },
+ powerGeneration: { name: '3,400' },
+ },
+ ],
+ }
+ return (
+ <>
+
+
+
{getMessage('modal.circuit.trestle.setting.circuit.allocation.passivity')}
+
{getMessage('modal.circuit.trestle.setting.circuit.allocation.passivity.info')}
+
+
+
+
+ {moduleData.header.map((header) => (
+ | {header.name} |
+ ))}
+
+
+
+ {moduleData.rows.map((row, index) => (
+
+ {moduleData.header.map((header) => (
+ | {row[header.prop].name} |
+ ))}
+
+ ))}
+
+
+
+
+
+
+
+
+
+
{getMessage('modal.circuit.trestle.setting.circuit.allocation.passivity.selected.power.conditional')}
+
+
+
+
+
+
+
+
+
+ {getMessage('modal.circuit.trestle.setting.circuit.allocation.passivity.circuit.num')}
+
+
+
+
+
+
+
+
+
+
+
+
+ >
+ )
+}
diff --git a/src/locales/ja.json b/src/locales/ja.json
index f8f15c2e..bf2fb5ef 100644
--- a/src/locales/ja.json
+++ b/src/locales/ja.json
@@ -122,6 +122,24 @@
"modal.module.basic.setting.passivity.placement": "手動配置",
"modal.module.basic.setting.auto.placement": "設定値に自動配置",
"plan.menu.module.circuit.setting.circuit.trestle.setting": "回路と架台の設定",
+ "modal.circuit.trestle.setting": "回路と架台設定",
+ "modal.circuit.trestle.setting.power.conditional.select": "パワーコンディショナーを選択",
+ "modal.circuit.trestle.setting.power.conditional.select.name": "名称",
+ "modal.circuit.trestle.setting.power.conditional.select.rated.output": "定格出力",
+ "modal.circuit.trestle.setting.power.conditional.select.circuit.amount": "回路数",
+ "modal.circuit.trestle.setting.power.conditional.select.max.connection": "最大接続枚数",
+ "modal.circuit.trestle.setting.power.conditional.select.max.overload": "過積最大枚数",
+ "modal.circuit.trestle.setting.power.conditional.select.output.current": "出力電流",
+ "modal.circuit.trestle.setting.circuit.allocation": "回路割り当て",
+ "modal.circuit.trestle.setting.circuit.allocation.auto": "自動回路割り当て",
+ "modal.circuit.trestle.setting.circuit.allocation.passivity": "手動回路割当",
+ "modal.circuit.trestle.setting.circuit.allocation.passivity.info": "同じ回路のモジュールを選択状態にした後、 [番号確認]ボタンを押すと番号が割り当てられます。",
+ "modal.circuit.trestle.setting.circuit.allocation.passivity.selected.power.conditional": "選択したパワーコンディショナー",
+ "modal.circuit.trestle.setting.circuit.allocation.passivity.circuit.num": "設定する回路番号 (1~)",
+ "modal.circuit.trestle.setting.circuit.allocation.passivity.selected.power.conditional.reset": "選択されたパワーコンディショナーの回路番号の初期化",
+ "modal.circuit.trestle.setting.circuit.allocation.passivity.all.power.conditional.reset": "すべての回路番号の初期化",
+ "modal.circuit.trestle.setting.circuit.allocation.passivity.circuit.num.fix": "番号確定",
+ "modal.circuit.trestle.setting.step.up.allocation": "昇圧設定",
"plan.menu.module.circuit.setting.plan.orientation": "図面方位の適用",
"plan.menu.estimate": "見積",
"plan.menu.estimate.roof.alloc": "屋根面の割り当て",
@@ -167,6 +185,7 @@
"modal.grid.copy.save": "保存",
"modal.common.save": "保存",
"modal.common.add": "追加",
+ "modal.common.prev": "以前",
"modal.canvas.setting.font.plan.edit": "フォントとサイズの変更",
"modal.canvas.setting.font.plan.edit.word": "文字フォントの変更",
"modal.canvas.setting.font.plan.edit.flow": "フロー方向フォントの変更",
diff --git a/src/locales/ko.json b/src/locales/ko.json
index ee31c6c3..f3bd3daf 100644
--- a/src/locales/ko.json
+++ b/src/locales/ko.json
@@ -126,6 +126,24 @@
"modal.module.basic.setting.passivity.placement": "수동 배치",
"modal.module.basic.setting.auto.placement": "설정값으로 자동 배치",
"plan.menu.module.circuit.setting.circuit.trestle.setting": "회로 및 가대 설정",
+ "modal.circuit.trestle.setting": "회로 및 가대설정",
+ "modal.circuit.trestle.setting.power.conditional.select": "파워컨디셔너 선택",
+ "modal.circuit.trestle.setting.power.conditional.select.name": "명칭",
+ "modal.circuit.trestle.setting.power.conditional.select.rated.output": "정격출력",
+ "modal.circuit.trestle.setting.power.conditional.select.circuit.amount": "회로수",
+ "modal.circuit.trestle.setting.power.conditional.select.max.connection": "최대접속매수",
+ "modal.circuit.trestle.setting.power.conditional.select.max.overload": "과적최대매수",
+ "modal.circuit.trestle.setting.power.conditional.select.output.current": "출력전류",
+ "modal.circuit.trestle.setting.circuit.allocation": "회로 할당",
+ "modal.circuit.trestle.setting.circuit.allocation.auto": "자동 회로 할당",
+ "modal.circuit.trestle.setting.circuit.allocation.passivity": "수동 회로 할당",
+ "modal.circuit.trestle.setting.circuit.allocation.passivity.info": "동일한 회로의 모듈을 선택 상태로 만든 후 [번호 확정] 버튼을 누르면 번호가 할당됩니다.",
+ "modal.circuit.trestle.setting.circuit.allocation.passivity.selected.power.conditional": "선택된 파워컨디셔너",
+ "modal.circuit.trestle.setting.circuit.allocation.passivity.circuit.num": "설정할 회로번호(1~)",
+ "modal.circuit.trestle.setting.circuit.allocation.passivity.selected.power.conditional.reset": "선택된 파워컨디셔너의 회로번호 초기화",
+ "modal.circuit.trestle.setting.circuit.allocation.passivity.all.power.conditional.reset": "모든 회로번호 초기화",
+ "modal.circuit.trestle.setting.circuit.allocation.passivity.circuit.num.fix": "번호 확정",
+ "modal.circuit.trestle.setting.step.up.allocation": "승압 설정",
"plan.menu.module.circuit.setting.plan.orientation": "도면 방위 적용",
"plan.menu.estimate": "견적서",
"plan.menu.estimate.roof.alloc": "지붕면 할당",
@@ -171,6 +189,8 @@
"modal.grid.copy.save": "저장",
"modal.common.save": "저장",
"modal.common.add": "추가",
+ "modal.common.prev": "이전",
+ "modal.common.next": "다음",
"modal.canvas.setting.font.plan.edit": "글꼴 및 크기 변경",
"modal.canvas.setting.font.plan.edit.word": "문자 글꼴 변경",
"modal.canvas.setting.font.plan.edit.flow": "흐름 방향 글꼴 변경",