diff --git a/public/static/images/canvas/object_img01.svg b/public/static/images/canvas/object_img01.svg index 1d72f00b..0f5615a6 100644 --- a/public/static/images/canvas/object_img01.svg +++ b/public/static/images/canvas/object_img01.svg @@ -1,16 +1,14 @@ - - + + + + + - - - - - - + diff --git a/public/static/images/canvas/object_img02.svg b/public/static/images/canvas/object_img02.svg index ab1e8f43..85f47edf 100644 --- a/public/static/images/canvas/object_img02.svg +++ b/public/static/images/canvas/object_img02.svg @@ -1,21 +1,22 @@ - - + + + + + - + - - - - - + + + - + diff --git a/public/static/images/canvas/shape/180deg/plane_tab01.svg b/public/static/images/canvas/shape/180deg/plane_tab01.svg index 84c22986..7669a51b 100644 --- a/public/static/images/canvas/shape/180deg/plane_tab01.svg +++ b/public/static/images/canvas/shape/180deg/plane_tab01.svg @@ -1,12 +1,16 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/public/static/images/canvas/shape/270deg/plane_tab01.svg b/public/static/images/canvas/shape/270deg/plane_tab01.svg index 22b32884..3fd9d7e7 100644 --- a/public/static/images/canvas/shape/270deg/plane_tab01.svg +++ b/public/static/images/canvas/shape/270deg/plane_tab01.svg @@ -1,12 +1,16 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/public/static/images/canvas/shape/90deg/plane_tab01.svg b/public/static/images/canvas/shape/90deg/plane_tab01.svg index 46476194..c41f7dee 100644 --- a/public/static/images/canvas/shape/90deg/plane_tab01.svg +++ b/public/static/images/canvas/shape/90deg/plane_tab01.svg @@ -1,12 +1,16 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/public/static/images/canvas/shape/normal/plane_tab01.svg b/public/static/images/canvas/shape/normal/plane_tab01.svg index 121b7025..1091f744 100644 --- a/public/static/images/canvas/shape/normal/plane_tab01.svg +++ b/public/static/images/canvas/shape/normal/plane_tab01.svg @@ -1,12 +1,16 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/public/static/images/canvas/shape/re_180deg/plane_tab01.svg b/public/static/images/canvas/shape/re_180deg/plane_tab01.svg index aab78f30..60521209 100644 --- a/public/static/images/canvas/shape/re_180deg/plane_tab01.svg +++ b/public/static/images/canvas/shape/re_180deg/plane_tab01.svg @@ -1,12 +1,16 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/public/static/images/canvas/shape/re_270deg/plane_tab01.svg b/public/static/images/canvas/shape/re_270deg/plane_tab01.svg index c225ea23..2b9f1f06 100644 --- a/public/static/images/canvas/shape/re_270deg/plane_tab01.svg +++ b/public/static/images/canvas/shape/re_270deg/plane_tab01.svg @@ -1,12 +1,16 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/public/static/images/canvas/shape/re_90deg/plane_tab01.svg b/public/static/images/canvas/shape/re_90deg/plane_tab01.svg index 36c1d46b..b7cd5f4d 100644 --- a/public/static/images/canvas/shape/re_90deg/plane_tab01.svg +++ b/public/static/images/canvas/shape/re_90deg/plane_tab01.svg @@ -1,12 +1,16 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/public/static/images/canvas/shape/re_normal/plane_tab01.svg b/public/static/images/canvas/shape/re_normal/plane_tab01.svg index 8fc73ac0..77db4276 100644 --- a/public/static/images/canvas/shape/re_normal/plane_tab01.svg +++ b/public/static/images/canvas/shape/re_normal/plane_tab01.svg @@ -1,14 +1,16 @@ - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/src/components/floor-plan/modal/circuitTrestle/step/PowerConditionalSelect.jsx b/src/components/floor-plan/modal/circuitTrestle/step/PowerConditionalSelect.jsx index df6d15b1..f531f97f 100644 --- a/src/components/floor-plan/modal/circuitTrestle/step/PowerConditionalSelect.jsx +++ b/src/components/floor-plan/modal/circuitTrestle/step/PowerConditionalSelect.jsx @@ -161,9 +161,9 @@ export default function PowerConditionalSelect(props) { return } if (selectedMaker.pcsMkrMultiType === PCS_MKR_MULTI_TYPE.MULTI) { - setSelectedModels([...selectedModels, { ...selectedRow, id: uuidv4(), isUsed: false }]) + setSelectedModels([...selectedModels, { ...selectedRow, id: uuidv4() }]) } else if (!selectedModels.find((m) => m.itemId === selectedRow.itemId)) { - setSelectedModels([...selectedModels, { ...selectedRow, id: uuidv4(), isUsed: false }]) + setSelectedModels([...selectedModels, { ...selectedRow, id: uuidv4() }]) } setSelectedRow(null) } diff --git a/src/components/floor-plan/modal/circuitTrestle/step/type/PassivityCircuitAllocation.jsx b/src/components/floor-plan/modal/circuitTrestle/step/type/PassivityCircuitAllocation.jsx index faf31eef..e009a864 100644 --- a/src/components/floor-plan/modal/circuitTrestle/step/type/PassivityCircuitAllocation.jsx +++ b/src/components/floor-plan/modal/circuitTrestle/step/type/PassivityCircuitAllocation.jsx @@ -157,18 +157,10 @@ export default function PassivityCircuitAllocation(props) { obj.pcsItemCode = selectedPcs.id obj.circuit = moduleCircuitText obj.circuitNumber = getCircuitNumber() - tempSelectedPcs.used = true setSelectedPcs(tempSelectedPcs) canvas.add(moduleCircuitText) }) - let pcsList = JSON.parse(JSON.stringify(selectedModels)).map((model) => { - if (model.id === selectedPcs.id) { - model.isUsed = true - } - return model - }) - const roofSurfaceList = canvas .getObjects() .filter((obj) => POLYGON_TYPE.MODULE_SETUP_SURFACE === obj.name && obj?.modules.length > 0) @@ -210,29 +202,24 @@ export default function PassivityCircuitAllocation(props) { result[firstPart].count += 1 } } - console.log('🚀 ~ handleCircuitNumberFix ~ result:', result) - const usedPcses = pcsList.filter((model) => model.isUsed) - const pcsItemList = usedPcses.map((model, index) => { - if (result[(index + 1).toString()]) { - return { - pcsMkrCd: model.pcsMkrCd, - pcsSerCd: model.pcsSerCd, - itemId: model.itemId, - itemNm: model.itemNm, - goodsNo: model.goodsNo, - serQtyList: [ - { - serQty: result[(index + 1).toString()].maxValue, - paralQty: result[(index + 1).toString()].count, - rmdYn: 'Y', - usePossYn: 'Y', - roofSurfaceList: roofSurfaceList, - }, - ], - } + const pcsItemList = selectedModels.map((model, index) => { + return { + pcsMkrCd: model.pcsMkrCd, + pcsSerCd: model.pcsSerCd, + itemId: model.itemId, + itemNm: model.itemNm, + goodsNo: model.goodsNo, + serQtyList: [ + { + serQty: result[(index + 1).toString()] ? result[(index + 1).toString()].maxValue : 0, + paralQty: result[(index + 1).toString()] ? result[(index + 1).toString()].count : 0, + rmdYn: 'Y', + usePossYn: 'Y', + roofSurfaceList: roofSurfaceList, + }, + ], } }) - const params = { ...getApiProps(), useModuleItemList: getSelectedModuleList(), @@ -259,13 +246,10 @@ export default function PassivityCircuitAllocation(props) { canvas.renderAll() }, }) - setSelectedPcs({ ...selectedPcs, used: false }) setTargetModules([]) return } - setSelectedModels(pcsList) - setTargetModules([]) setCircuitNumber(+circuitNumber + 1) setModuleStatisticsData() @@ -414,18 +398,10 @@ export default function PassivityCircuitAllocation(props) { obj.pcsItemCode = selectedPcs.id obj.circuit = moduleCircuitText obj.circuitNumber = getCircuitNumber() - tempSelectedPcs.used = true setSelectedPcs(tempSelectedPcs) canvas.add(moduleCircuitText) }) - let pcsList = JSON.parse(JSON.stringify(selectedModels)).map((model) => { - if (model.id === selectedPcs.id) { - model.isUsed = true - } - return model - }) - const roofSurfaceList = canvas .getObjects() .filter((obj) => POLYGON_TYPE.MODULE_SETUP_SURFACE === obj.name && obj?.modules.length > 0) @@ -443,8 +419,7 @@ export default function PassivityCircuitAllocation(props) { }), } }) - const usedPcses = pcsList.filter((model) => model.isUsed) - const pcsItemList = usedPcses.map((model, index) => { + const pcsItemList = selectedModels.map((model, index) => { return { pcsMkrCd: model.pcsMkrCd, pcsSerCd: model.pcsSerCd, @@ -489,13 +464,10 @@ export default function PassivityCircuitAllocation(props) { canvas.renderAll() }, }) - setSelectedPcs({ ...selectedPcs, used: false }) setTargetModules([]) return } - setSelectedModels(pcsList) - setTargetModules([]) setModuleStatisticsData() setTabNum(2) diff --git a/src/components/floor-plan/modal/object/type/PentagonDormer.jsx b/src/components/floor-plan/modal/object/type/PentagonDormer.jsx index 0bca7527..87a92835 100644 --- a/src/components/floor-plan/modal/object/type/PentagonDormer.jsx +++ b/src/components/floor-plan/modal/object/type/PentagonDormer.jsx @@ -23,7 +23,10 @@ const PentagonDormer = forwardRef((props, refs) => {
-
{getMessage('modal.object.setting.agreement.depth')}
+
+ + {getMessage('modal.object.setting.agreement.depth')} +
@@ -45,7 +48,10 @@ const PentagonDormer = forwardRef((props, refs) => {
-
{getMessage('width')}
+
+ + {getMessage('modal.object.setting.size.width')} +
diff --git a/src/components/floor-plan/modal/object/type/TriangleDormer.jsx b/src/components/floor-plan/modal/object/type/TriangleDormer.jsx index 229043c8..62fd729d 100644 --- a/src/components/floor-plan/modal/object/type/TriangleDormer.jsx +++ b/src/components/floor-plan/modal/object/type/TriangleDormer.jsx @@ -23,7 +23,10 @@ const TriangleDormer = forwardRef((props, refs) => {
-
{getMessage('modal.object.setting.agreement.depth')}
+
+ + {getMessage('modal.object.setting.agreement.depth')} +
diff --git a/src/hooks/module/useModule.js b/src/hooks/module/useModule.js index 80a49116..f3fc0348 100644 --- a/src/hooks/module/useModule.js +++ b/src/hooks/module/useModule.js @@ -44,7 +44,14 @@ export function useModule() { const moduleMove = (length, direction) => { const selectedObj = canvas.getActiveObjects() //선택된 객체들을 가져옴 const selectedIds = selectedObj.map((obj) => obj.id) // selectedObj의 ID 추출 - + if (selectedObj[0].circuit) { + swalFire({ + title: getMessage('can.not.move.module'), + icon: 'error', + type: 'alert', + }) + return + } canvas.discardActiveObject() //선택해제 const isSetupModules = getOtherModules(selectedObj) @@ -101,6 +108,14 @@ export function useModule() { return } const activeModule = canvas.getObjects().filter((obj) => canvas.getActiveObjects()[0].id === obj.id)[0] + if (activeModule.circuit) { + swalFire({ + title: getMessage('can.not.move.module'), + icon: 'error', + type: 'alert', + }) + return + } const modules = type === 'row' ? getRowModules(activeModule) : getColumnModules(activeModule) const otherModules = getOtherModules(modules) const objects = getObjects() @@ -398,6 +413,14 @@ export function useModule() { const moduleColumnRemove = (type) => { const activeModule = canvas.getObjects().filter((obj) => canvas.getActiveObjects()[0].id === obj.id)[0] + if (activeModule.circuit) { + swalFire({ + title: getMessage('can.not.move.module'), + icon: 'error', + type: 'alert', + }) + return + } const columnModules = getColumnModules(activeModule) const otherModules = getOtherModules(columnModules) const objects = getObjects() @@ -513,6 +536,14 @@ export function useModule() { const moduleRowRemove = (type) => { const activeModule = canvas.getObjects().filter((obj) => canvas.getActiveObjects()[0].id === obj.id)[0] + if (activeModule.circuit) { + swalFire({ + title: getMessage('can.not.remove.module'), + icon: 'error', + type: 'alert', + }) + return + } const rowModules = getRowModules(activeModule) const otherModules = getOtherModules(rowModules) const objects = getObjects() @@ -885,7 +916,7 @@ export function useModule() { const activeModule = canvas.getObjects().filter((obj) => canvas.getActiveObjects()[0].id === obj.id)[0] if (activeModule.circuit) { swalFire({ - title: getMessage('can.not.remove.module'), + title: getMessage('can.not.move.module'), icon: 'error', type: 'alert', }) diff --git a/src/locales/ja.json b/src/locales/ja.json index ef70bb9b..dc87c49d 100644 --- a/src/locales/ja.json +++ b/src/locales/ja.json @@ -292,9 +292,11 @@ "modal.object.setting.height": "縦長", "modal.object.setting.area.cross": "エリア交差", "modal.object.setting.size.setting": "サイズ設定", - "modal.object.setting.agreement.depth": "棟の長さ・深さ", - "modal.object.setting.offset.depth": "出幅(深さ)", - "modal.object.setting.offset.width": "出幅(幅)", + "modal.object.setting.agreement.depth": "棟の長さ", + "modal.object.setting.offset.depth": "棟の出幅", + "modal.object.setting.size.width": "幅", + "modal.object.setting.offset.width": "幅の出幅", + "modal.object.setting.offset.slope": "勾配", "modal.object.setting.direction.select": "方向の選択", "modal.placement.surface.setting.info": "ⓘ①の長さ入力後、対角線長を入力すると②の長さを自動計算します。", "modal.placement.surface.setting.diagonal.length": "斜めの長さ", diff --git a/src/locales/ko.json b/src/locales/ko.json index d60e226d..58d68115 100644 --- a/src/locales/ko.json +++ b/src/locales/ko.json @@ -292,9 +292,11 @@ "modal.object.setting.height": "세로길이", "modal.object.setting.area.cross": "영역교차", "modal.object.setting.size.setting": "사이즈설정", - "modal.object.setting.agreement.depth": "동의길이 깊이", - "modal.object.setting.offset.depth": "출폭(깊이)", - "modal.object.setting.offset.width": "출폭(폭)", + "modal.object.setting.agreement.depth": "동의 길이", + "modal.object.setting.offset.depth": "동의 출폭", + "modal.object.setting.size.width": "너비", + "modal.object.setting.offset.width": "너비의 출폭", + "modal.object.setting.offset.slope": "경사", "modal.object.setting.direction.select": "방향 선택", "modal.placement.surface.setting.info": "ⓘ ①의 길이 입력 후 대각선 길이를 입력하면 ②의 길이를 자동 계산합니다.", "modal.placement.surface.setting.diagonal.length": "대각선 길이", diff --git a/src/store/circuitTrestleAtom.js b/src/store/circuitTrestleAtom.js index d1477e13..b513a16c 100644 --- a/src/store/circuitTrestleAtom.js +++ b/src/store/circuitTrestleAtom.js @@ -36,8 +36,8 @@ export const moduleStatisticsState = atom({ key: 'moduleStatisticsState', default: { header: [ - { name: '지붕면', prop: 'name' }, - { name: `발전량(kW)`, prop: 'amount' }, + { name: '屋根面', prop: 'name' }, + { name: `合計(kW)`, prop: 'amount' }, ], rows: [], footer: [ diff --git a/src/styles/_modal.scss b/src/styles/_modal.scss index fed29abe..9ec806ef 100644 --- a/src/styles/_modal.scss +++ b/src/styles/_modal.scss @@ -904,6 +904,8 @@ $alert-color: #101010; .allocation-edit{ display: flex; align-items: center; + justify-content: center; + width: 100%; height: 30px; padding: 0 10px; margin-left: 5px; @@ -912,6 +914,7 @@ $alert-color: #101010; font-weight: $pop-normal-weight; border: 1px solid #484848; background-color: #323234; + transition: background-color .13s ease-in-out; i{ display: block; width: 12px; @@ -920,6 +923,9 @@ $alert-color: #101010; background: url(../../public/static/images/canvas/allocation_edit.svg)no-repeat center; background-size: cover; } + &:hover{ + background-color: #464545; + } } } @@ -1232,7 +1238,6 @@ $alert-color: #101010; .object-size-wrap{ display: flex; min-height: 206px; - gap: 24px; margin-top: 14px; .object-size-img{ position: relative; @@ -1246,6 +1251,18 @@ $alert-color: #101010; transform: translate(-50%, -50%); } } + .object-size-input{ + margin-left: auto; + .eaves-keraba-th{ + position: relative; + .object-input-num{ + position: absolute; + top: 7px; + left: -20px; + font-size: 13px; + } + } + } } // 표시변경