From 648c2e208a89c0080e49d9c570ac2b3700374b2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=AF=BC=EC=8B=9D?= <43837214+Minsiki@users.noreply.github.com> Date: Wed, 2 Apr 2025 16:54:04 +0900 Subject: [PATCH 1/9] =?UTF-8?q?Trestle=20=EB=8D=B0=EC=9D=B4=ED=84=B0=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../floor-plan/modal/basic/step/Trestle.jsx | 11 ++++++++++- src/hooks/module/useModuleTrestle.js | 7 +++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/components/floor-plan/modal/basic/step/Trestle.jsx b/src/components/floor-plan/modal/basic/step/Trestle.jsx index dd5a7529..e3d093a7 100644 --- a/src/components/floor-plan/modal/basic/step/Trestle.jsx +++ b/src/components/floor-plan/modal/basic/step/Trestle.jsx @@ -18,6 +18,7 @@ const Trestle = forwardRef((props, ref) => { const [selectedRoof, setSelectedRoof] = useState() const { trestleState, + trestleDetail, dispatch, raftBaseList, trestleList, @@ -171,6 +172,7 @@ const Trestle = forwardRef((props, ref) => { snowGdPossYn, cvrChecked, snowGdChecked, + trestleDetail, } } return { ...roof } @@ -224,6 +226,7 @@ const Trestle = forwardRef((props, ref) => { snowGdPossYn, cvrChecked, snowGdChecked, + trestleDetail, } } return { ...roof } @@ -258,16 +261,22 @@ const Trestle = forwardRef((props, ref) => { setRoofs(newAddedRoofs) setModuleSelectionData({ ...moduleSelectionData, - roofConstructions: newAddedRoofs.map((roof) => { + roofConstructions: newAddedRoofs.map((roof, index) => { return { addRoof: { ...roof.addRoof, + ...moduleSelectionData.roofConstructions[index].addRoof, }, trestle: { ...roof.trestle, + ...moduleSelectionData.roofConstructions[index].trestle, }, construction: { ...roof.construction, + ...moduleSelectionData.roofConstructions[index].construction, + }, + trestleDetail: { + ...roof.trestleDetail, }, } }), diff --git a/src/hooks/module/useModuleTrestle.js b/src/hooks/module/useModuleTrestle.js index d0838b34..178054ef 100644 --- a/src/hooks/module/useModuleTrestle.js +++ b/src/hooks/module/useModuleTrestle.js @@ -64,6 +64,7 @@ export function useModuleTrestle(props) { const [ridgeMargin, setRidgeMargin] = useState(0) const [kerabaMargin, setKerabaMargin] = useState(0) const [trestleState, dispatch] = useReducer(trestleReducer, null) + const [trestleDetail, setTrestleDetail] = useState(null) useEffect(() => { const raftCodeList = findCommonCode(RAFT_BASE_CODE) @@ -90,6 +91,7 @@ export function useModuleTrestle(props) { setConstMthdList([]) setRoofBaseList([]) setConstructionList([]) + setTrestleDetail(null) return } @@ -97,17 +99,20 @@ export function useModuleTrestle(props) { if (!trestleState.constMthdCd) { setRoofBaseList([]) setConstructionList([]) + setTrestleDetail(null) return } handleSetRoofBaseList() if (!trestleState.roofBaseCd) { setConstructionList([]) + setTrestleDetail(null) return } handleSetConstructionList() if (!trestleState.constTp) { + setTrestleDetail(null) return } @@ -193,6 +198,7 @@ export function useModuleTrestle(props) { setEavesMargin(res[0].data.eaveIntvl) setRidgeMargin(res[0].data.ridgeIntvl) setKerabaMargin(res[0].data.kerabaIntvl) + setTrestleDetail(res[0].data) // dispatch({ // type: 'SET_TRESTLE_DETAIL', // roof: { @@ -208,6 +214,7 @@ export function useModuleTrestle(props) { return { trestleState, + trestleDetail, dispatch, raftBaseList, trestleList, From bfc7b3fe328162e3e4ae7c50c66efcd48800ff3f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=AF=BC=EC=8B=9D?= <43837214+Minsiki@users.noreply.github.com> Date: Wed, 2 Apr 2025 16:54:21 +0900 Subject: [PATCH 2/9] =?UTF-8?q?Revert=20"Trestle=20=EB=8D=B0=EC=9D=B4?= =?UTF-8?q?=ED=84=B0=20=EC=B6=94=EA=B0=80=20=EC=88=98=EC=A0=95"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 648c2e208a89c0080e49d9c570ac2b3700374b2a. --- .../floor-plan/modal/basic/step/Trestle.jsx | 11 +---------- src/hooks/module/useModuleTrestle.js | 7 ------- 2 files changed, 1 insertion(+), 17 deletions(-) diff --git a/src/components/floor-plan/modal/basic/step/Trestle.jsx b/src/components/floor-plan/modal/basic/step/Trestle.jsx index e3d093a7..dd5a7529 100644 --- a/src/components/floor-plan/modal/basic/step/Trestle.jsx +++ b/src/components/floor-plan/modal/basic/step/Trestle.jsx @@ -18,7 +18,6 @@ const Trestle = forwardRef((props, ref) => { const [selectedRoof, setSelectedRoof] = useState() const { trestleState, - trestleDetail, dispatch, raftBaseList, trestleList, @@ -172,7 +171,6 @@ const Trestle = forwardRef((props, ref) => { snowGdPossYn, cvrChecked, snowGdChecked, - trestleDetail, } } return { ...roof } @@ -226,7 +224,6 @@ const Trestle = forwardRef((props, ref) => { snowGdPossYn, cvrChecked, snowGdChecked, - trestleDetail, } } return { ...roof } @@ -261,22 +258,16 @@ const Trestle = forwardRef((props, ref) => { setRoofs(newAddedRoofs) setModuleSelectionData({ ...moduleSelectionData, - roofConstructions: newAddedRoofs.map((roof, index) => { + roofConstructions: newAddedRoofs.map((roof) => { return { addRoof: { ...roof.addRoof, - ...moduleSelectionData.roofConstructions[index].addRoof, }, trestle: { ...roof.trestle, - ...moduleSelectionData.roofConstructions[index].trestle, }, construction: { ...roof.construction, - ...moduleSelectionData.roofConstructions[index].construction, - }, - trestleDetail: { - ...roof.trestleDetail, }, } }), diff --git a/src/hooks/module/useModuleTrestle.js b/src/hooks/module/useModuleTrestle.js index 178054ef..d0838b34 100644 --- a/src/hooks/module/useModuleTrestle.js +++ b/src/hooks/module/useModuleTrestle.js @@ -64,7 +64,6 @@ export function useModuleTrestle(props) { const [ridgeMargin, setRidgeMargin] = useState(0) const [kerabaMargin, setKerabaMargin] = useState(0) const [trestleState, dispatch] = useReducer(trestleReducer, null) - const [trestleDetail, setTrestleDetail] = useState(null) useEffect(() => { const raftCodeList = findCommonCode(RAFT_BASE_CODE) @@ -91,7 +90,6 @@ export function useModuleTrestle(props) { setConstMthdList([]) setRoofBaseList([]) setConstructionList([]) - setTrestleDetail(null) return } @@ -99,20 +97,17 @@ export function useModuleTrestle(props) { if (!trestleState.constMthdCd) { setRoofBaseList([]) setConstructionList([]) - setTrestleDetail(null) return } handleSetRoofBaseList() if (!trestleState.roofBaseCd) { setConstructionList([]) - setTrestleDetail(null) return } handleSetConstructionList() if (!trestleState.constTp) { - setTrestleDetail(null) return } @@ -198,7 +193,6 @@ export function useModuleTrestle(props) { setEavesMargin(res[0].data.eaveIntvl) setRidgeMargin(res[0].data.ridgeIntvl) setKerabaMargin(res[0].data.kerabaIntvl) - setTrestleDetail(res[0].data) // dispatch({ // type: 'SET_TRESTLE_DETAIL', // roof: { @@ -214,7 +208,6 @@ export function useModuleTrestle(props) { return { trestleState, - trestleDetail, dispatch, raftBaseList, trestleList, From d1ea6229a2b68b435ef30a5b85856ff77862fa43 Mon Sep 17 00:00:00 2001 From: "hyojun.choi" Date: Fri, 18 Apr 2025 11:44:58 +0900 Subject: [PATCH 3/9] =?UTF-8?q?=EC=B9=98=EC=88=98=ED=91=9C=EC=8B=9C=20sele?= =?UTF-8?q?ctor=EB=A1=9C=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/hooks/common/useMenu.js | 43 +++---------------- .../roofcover/useRoofAllocationSetting.js | 16 ++----- src/store/settingAtom.js | 16 +++++++ 3 files changed, 24 insertions(+), 51 deletions(-) diff --git a/src/hooks/common/useMenu.js b/src/hooks/common/useMenu.js index 8b0540dd..f8bc2a31 100644 --- a/src/hooks/common/useMenu.js +++ b/src/hooks/common/useMenu.js @@ -22,7 +22,7 @@ import { MENU } from '@/common/common' import { useTrestle } from '@/hooks/module/useTrestle' import { usePolygon } from '@/hooks/usePolygon' import { useOrientation } from '@/hooks/module/useOrientation' -import { settingModalFirstOptionsState } from '@/store/settingAtom' +import { corridorDimensionSelector, settingModalFirstOptionsState } from '@/store/settingAtom' /** * 메뉴 처리 훅 @@ -37,22 +37,11 @@ export default function useMenu() { const { deleteAllSurfacesAndObjects } = useSurfaceShapeBatch({}) const { clear: trestleClear, setAllModuleSurfaceIsComplete } = useTrestle() const { nextStep } = useOrientation() - const [settingModalFirstOptions, setSettingModalFirstOptions] = useRecoilState(settingModalFirstOptionsState) + const [corridorDimension, setCorridorDimension] = useRecoilState(corridorDimensionSelector) const handleMenu = (type) => { if (type === 'outline') { // 지붕 덮개 메뉴의 경우는 복도치수로 적용한다. - setSettingModalFirstOptions((prev) => { - return { - ...prev, - dimensionDisplay: prev.dimensionDisplay.map((item, index) => { - if (index === 0) { - return { ...item, selected: true } - } else { - return { ...item, selected: false } - } - }), - } - }) + setCorridorDimension(0) switch (currentMenu) { case MENU.ROOF_COVERING.EXTERIOR_WALL_LINE: addPopup(popupId, 1, ) @@ -83,18 +72,7 @@ export default function useMenu() { if (type === 'surface') { // 배치면 메뉴의 경우는 실치수로 적용한다. - setSettingModalFirstOptions((prev) => { - return { - ...prev, - dimensionDisplay: prev.dimensionDisplay.map((item, index) => { - if (index === 1) { - return { ...item, selected: true } - } else { - return { ...item, selected: false } - } - }), - } - }) + setCorridorDimension(1) switch (currentMenu) { // case MENU.BATCH_CANVAS.SLOPE_SETTING: // addPopup(popupId, 1, ) @@ -116,18 +94,7 @@ export default function useMenu() { if (type === 'module') { // 모듈,회로 구성 메뉴의 경우는 실치수로 적용한다. - setSettingModalFirstOptions((prev) => { - return { - ...prev, - dimensionDisplay: prev.dimensionDisplay.map((item, index) => { - if (index === 1) { - return { ...item, selected: true } - } else { - return { ...item, selected: false } - } - }), - } - }) + setCorridorDimension(1) switch (currentMenu) { case MENU.MODULE_CIRCUIT_SETTING.BASIC_SETTING: trestleClear() diff --git a/src/hooks/roofcover/useRoofAllocationSetting.js b/src/hooks/roofcover/useRoofAllocationSetting.js index 5f7e7505..d9c2073c 100644 --- a/src/hooks/roofcover/useRoofAllocationSetting.js +++ b/src/hooks/roofcover/useRoofAllocationSetting.js @@ -12,6 +12,7 @@ import { roofMaterialsSelector, selectedRoofMaterialSelector, settingModalFirstOptionsState, + corridorDimensionSelector, } from '@/store/settingAtom' import { usePopup } from '@/hooks/usePopup' import { POLYGON_TYPE } from '@/common/common' @@ -59,7 +60,7 @@ export function useRoofAllocationSetting(id) { const [roofsStore, setRoofsStore] = useRecoilState(roofsState) const [moduleSelectionData, setModuleSelectionData] = useRecoilState(moduleSelectionDataState) const resetPoints = useResetRecoilState(outerLinePointsState) - const [settingModalFirstOptions, setSettingModalFirstOptions] = useRecoilState(settingModalFirstOptionsState) + const [corridorDimension, setCorridorDimension] = useRecoilState(corridorDimensionSelector) useEffect(() => { /** 배치면 초기설정에서 선택한 지붕재 배열 설정 */ @@ -436,18 +437,7 @@ export function useRoofAllocationSetting(id) { closeAll() setSelectedMenu('surface') //지붕면 완성 후 실측치 로 보이도록 수정 - setSettingModalFirstOptions((prev) => { - return { - ...prev, - dimensionDisplay: prev.dimensionDisplay.map((item, index) => { - if (index === 1) { - return { ...item, selected: true } - } else { - return { ...item, selected: false } - } - }), - } - }) + setCorridorDimension(1) /** 모듈 선택 데이터 초기화 */ // modifyModuleSelectionData() diff --git a/src/store/settingAtom.js b/src/store/settingAtom.js index 012e5bdc..32a620a1 100644 --- a/src/store/settingAtom.js +++ b/src/store/settingAtom.js @@ -221,6 +221,22 @@ export const corridorDimensionSelector = selector({ const settingModalFirstOptions = get(settingModalFirstOptionsState) return settingModalFirstOptions.dimensionDisplay.find((option) => option.selected) }, + set: ({ set }, newValue) => { + //0 : 복도치수 , 1 : 실제치수 + + set(settingModalFirstOptionsState, (prev) => { + return { + ...prev, + dimensionDisplay: prev.dimensionDisplay.map((item, index) => { + if (index === newValue) { + return { ...item, selected: true } + } else { + return { ...item, selected: false } + } + }), + } + }) + }, dangerouslyAllowMutability: true, }) From da162ac25941fe7a4c6ac745725e0dafed77a63c Mon Sep 17 00:00:00 2001 From: "hyojun.choi" Date: Fri, 18 Apr 2025 16:03:52 +0900 Subject: [PATCH 4/9] =?UTF-8?q?=EB=AA=A8=EB=93=88,=ED=9A=8C=EB=A1=9C?= =?UTF-8?q?=EA=B5=AC=EC=84=B1=20=20=3D>=20=EB=AA=A8=EB=93=88/=EA=B0=80?= =?UTF-8?q?=EB=8C=80=20=EC=84=A4=EC=A0=95=20=EB=A9=94=EB=89=B4=EC=97=90?= =?UTF-8?q?=EC=84=9C=20roof=20=EC=84=A0=ED=83=9D=20=EC=95=88=EB=90=98?= =?UTF-8?q?=EB=8F=84=EB=A1=9D=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/hooks/useCanvasEvent.js | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/hooks/useCanvasEvent.js b/src/hooks/useCanvasEvent.js index 1f6466f5..4204dc71 100644 --- a/src/hooks/useCanvasEvent.js +++ b/src/hooks/useCanvasEvent.js @@ -1,9 +1,10 @@ import { useEffect, useState } from 'react' import { useRecoilState, useRecoilValue } from 'recoil' import { v4 as uuidv4 } from 'uuid' -import { canvasSizeState, canvasState, canvasZoomState, currentObjectState } from '@/store/canvasAtom' +import { canvasSizeState, canvasState, canvasZoomState, currentMenuState, currentObjectState } from '@/store/canvasAtom' import { QPolygon } from '@/components/fabric/QPolygon' import { fontSelector } from '@/store/fontAtom' +import { MENU } from '@/common/common' // 캔버스에 필요한 이벤트 export function useCanvasEvent() { @@ -13,11 +14,16 @@ export function useCanvasEvent() { const canvasSize = useRecoilValue(canvasSizeState) const [canvasZoom, setCanvasZoom] = useRecoilState(canvasZoomState) const lengthTextOption = useRecoilValue(fontSelector('lengthText')) + const currentMenu = useRecoilValue(currentMenuState) useEffect(() => { canvas?.setZoom(canvasZoom / 100) }, [canvasZoom]) + useEffect(() => { + attachDefaultEventOnCanvas() + }, [currentMenu]) + // 기본적인 이벤트 필요시 추가 const attachDefaultEventOnCanvas = () => { removeEventOnCanvas() @@ -198,7 +204,7 @@ export function useCanvasEvent() { if (selected?.length > 0) { selected.forEach((obj) => { - if (obj.type === 'QPolygon') { + if (obj.type === 'QPolygon' && currentMenu !== MENU.MODULE_CIRCUIT_SETTING.BASIC_SETTING) { obj.set({ stroke: 'red' }) } }) @@ -211,7 +217,7 @@ export function useCanvasEvent() { if (deselected?.length > 0) { deselected.forEach((obj) => { - if (obj.type === 'QPolygon') { + if (obj.type === 'QPolygon' && currentMenu !== MENU.MODULE_CIRCUIT_SETTING.BASIC_SETTING) { if (obj.name !== 'moduleSetupSurface') { obj.set({ stroke: 'black' }) } @@ -227,7 +233,7 @@ export function useCanvasEvent() { if (deselected?.length > 0) { deselected.forEach((obj) => { - if (obj.type === 'QPolygon') { + if (obj.type === 'QPolygon' && currentMenu !== MENU.MODULE_CIRCUIT_SETTING.BASIC_SETTING) { obj.set({ stroke: 'black' }) } }) @@ -235,7 +241,7 @@ export function useCanvasEvent() { if (selected?.length > 0) { selected.forEach((obj) => { - if (obj.type === 'QPolygon') { + if (obj.type === 'QPolygon' && currentMenu !== MENU.MODULE_CIRCUIT_SETTING.BASIC_SETTING) { obj.set({ stroke: 'red' }) } }) From 479f5d342a9eff292044c7db9f758fa015a9dbdd Mon Sep 17 00:00:00 2001 From: ysCha Date: Fri, 18 Apr 2025 16:40:52 +0900 Subject: [PATCH 5/9] =?UTF-8?q?975=20-=20=EC=BC=80=EC=9D=B4=EB=B8=94=20?= =?UTF-8?q?=EC=84=A0=ED=83=9D=20=EB=B2=84=EA=B7=B8=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/estimate/Estimate.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/estimate/Estimate.jsx b/src/components/estimate/Estimate.jsx index aa11943e..dfa313d2 100644 --- a/src/components/estimate/Estimate.jsx +++ b/src/components/estimate/Estimate.jsx @@ -1075,7 +1075,7 @@ export default function Estimate({}) { item.showSaleTotPrice = '0' } - if (item.dispCableFlg === '1') { + if (item.dispCableFlg === '1' && item.itemTpCd !== 'M12') { dispCableFlgCnt++ setCableItem(item.itemId) } From 159bbf2e6e9e024d7127b1e488272c29e8af5711 Mon Sep 17 00:00:00 2001 From: ysCha Date: Mon, 21 Apr 2025 13:12:43 +0900 Subject: [PATCH 6/9] =?UTF-8?q?993=20-=20HANASYS=E8=A8=AD=E8=A8=88=20=3D>?= =?UTF-8?q?=20HANASYS=20DESIGN=20=EB=B3=80=EA=B2=BD=EB=B0=8F=20=EB=A9=94?= =?UTF-8?q?=EC=9D=B8=20=EB=A1=9C=EA=B3=A0=20=EB=94=94=EC=9E=90=EC=9D=B8=20?= =?UTF-8?q?=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/static/images/common/Logo.svg | 32 ++++++++++++++-------------- src/app/layout.js | 4 ++-- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/public/static/images/common/Logo.svg b/public/static/images/common/Logo.svg index fa04f4d3..01e85313 100644 --- a/public/static/images/common/Logo.svg +++ b/public/static/images/common/Logo.svg @@ -1,17 +1,17 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + diff --git a/src/app/layout.js b/src/app/layout.js index a77f926c..6186f5ed 100644 --- a/src/app/layout.js +++ b/src/app/layout.js @@ -21,8 +21,8 @@ import GlobalLoadingProvider from './GlobalLoadingProvider' * 서버 컴포넌트에 한해서 개별로 설정할 수 있음 */ export const metadata = { - title: 'HANASYS設計', - description: 'HANASYS設計', + title: 'HANASYS DESIGN', + description: 'HANASYS DESIGN', } /** From ac4449f3f350c78540e40b9688809b85839ac25d Mon Sep 17 00:00:00 2001 From: ysCha Date: Mon, 21 Apr 2025 13:13:26 +0900 Subject: [PATCH 7/9] =?UTF-8?q?993=20-=20HANASYS=E8=A8=AD=E8=A8=88=20=3D>?= =?UTF-8?q?=20HANASYS=20DESIGN=20=EB=B3=80=EA=B2=BD=EB=B0=8F=20=EB=A9=94?= =?UTF-8?q?=EC=9D=B8=20=EB=A1=9C=EA=B3=A0=20=EB=94=94=EC=9E=90=EC=9D=B8=20?= =?UTF-8?q?=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/locales/ja.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/locales/ja.json b/src/locales/ja.json index 42f54fbd..4dd62685 100644 --- a/src/locales/ja.json +++ b/src/locales/ja.json @@ -570,7 +570,7 @@ "color.pink": "ピンク", "color.gold": "黄金色", "color.darkblue": "藍色", - "site.name": "HANASYS設計", + "site.name": "HANASYS DESIGN", "site.sub_name": "太陽光発電システム図面管理サイト", "site.header.link1": "選択してください。", "site.header.link2": "オンライン保証システム", From d4a83c4ec585d8190a52502c4fc6bf34cb67a37a Mon Sep 17 00:00:00 2001 From: ysCha Date: Tue, 22 Apr 2025 13:21:30 +0900 Subject: [PATCH 8/9] =?UTF-8?q?1006-=EC=98=A4=ED=83=80=EC=88=98=EC=A0=95?= =?UTF-8?q?=20=EB=B0=8F=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/locales/ja.json | 22 +++++++++++----------- src/locales/ko.json | 12 ++++++------ 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/src/locales/ja.json b/src/locales/ja.json index 4dd62685..da906a33 100644 --- a/src/locales/ja.json +++ b/src/locales/ja.json @@ -94,7 +94,7 @@ "modal.module.basic.setting.module.trestle.maker": "架台メーカー", "modal.module.basic.setting.module.rafter.margin": "垂木の間隔", "modal.module.basic.setting.module.construction.method": "工法", - "modal.module.basic.setting.module.under.roof": "屋根の下", + "modal.module.basic.setting.module.under.roof": "屋根下地", "modal.module.basic.setting.module.setting": "モジュールの選択", "modal.module.basic.setting.module.placement.area": "モジュール配置領域", "modal.module.basic.setting.module.placement.area.eaves": "軒側", @@ -130,8 +130,8 @@ "modal.module.basic.setting.module.placement.waterfowl.arrangement": "千鳥配置", "modal.module.basic.setting.module.placement.max.row.amount": "Max単数", "modal.module.basic.setting.module.placement.mix.max.row.amount": "混合Max単数", - "modal.module.basic.setting.module.placement.row.amount": "単数", - "modal.module.basic.setting.module.placement.column.amount": "熱水", + "modal.module.basic.setting.module.placement.row.amount": "段数", + "modal.module.basic.setting.module.placement.column.amount": "列数", "modal.module.basic.setting.module.placement.do": "する", "modal.module.basic.setting.module.placement.do.not": "しない", "modal.module.basic.setting.module.placement.arrangement.standard": "配置基準", @@ -149,7 +149,7 @@ "modal.module.basic.setting.pitch.module.column.amount": "列数", "modal.module.basic.setting.pitch.module.column.margin": "左右間隔", "modal.module.basic.setting.prev": "前に戻る", - "modal.module.basic.setting.row.batch": "単数指定配置", + "modal.module.basic.setting.row.batch": "段・列数指定配置", "modal.module.basic.setting.passivity.placement": "手動配置", "modal.module.basic.setting.auto.placement": "自動配置", "plan.menu.module.circuit.setting.circuit.trestle.setting": "回路設定", @@ -163,7 +163,7 @@ "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.power.conditional.select.check1": "同じ傾斜同じ方向の面積ケース同じ面として回路分ける。", + "modal.circuit.trestle.setting.power.conditional.select.check1": "同一勾配・同一方面の面である場合、同じ面として回路分けを行う", "modal.circuit.trestle.setting.power.conditional.select.check2": "MAX接続(過積)で回路を分ける。", "modal.circuit.trestle.setting.circuit.allocation": "回路割り当て", "modal.circuit.trestle.setting.circuit.allocation.auto": "自動回路割り当て", @@ -174,7 +174,7 @@ "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.circuit.info": "標準回路{0}章~{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": "すべての回路番号の初期化", @@ -1059,7 +1059,7 @@ "outerLine.property.fix": "外壁線の属性設定 を完了しますか?", "outerLine.property.close": "外壁線の属性設定 を終了しますか?", "want.to.complete.auxiliary.creation": "補助線の作成を完了しますか?", - "module.layout.setup.has.zero.value": "モジュールの列、行を入力してください.", + "module.layout.setup.has.zero.value": "モジュールの列数、段数を入力して下さい。", "modal.placement.initial.setting.plan.drawing.only.number": "(※数字は[半角]入力のみ可能です。)", "wall.line.not.found": "外壁がありません", "roof.line.not.found": "屋根形状がありません", @@ -1068,10 +1068,10 @@ "module.layout.setup.max.count": "モジュールの最大段数は{0}、最大列数は{1}です。 (JA)", "module.layout.setup.max.count.multiple": "モジュール{0}の最大段数は{1}、最大列数は{2}です。 (JA)", "roofAllocation.not.found": "割り当てる屋根がありません。 (JA)", - "modal.module.basic.setting.module.placement.max.size.check": "屋根材別モジュールの最大単数。混合最大単数を確認してください。 (JA)", - "modal.module.basic.setting.module.placement.max.row": "最大 単数(JA)", - "modal.module.basic.setting.module.placement.max.rows.multiple": "混合単数(JA)", + "modal.module.basic.setting.module.placement.max.size.check": "屋根材別モジュールの単体の最大段数、2種混合の段数を確認して下さい", + "modal.module.basic.setting.module.placement.max.row": "最大段数", + "modal.module.basic.setting.module.placement.max.rows.multiple": "2種混合最大段数", "modal.module.basic.setting.module.placement.mix.asg.yn.error": "混合インストール不可能なモジュールです。 (JA)", - "modal.module.basic.setting.module.placement.mix.asg.yn": "ミックス. (JA)", + "modal.module.basic.setting.module.placement.mix.asg.yn": "混合", "modal.module.basic.setting.layoutpassivity.placement": "layout配置 (JA)" } diff --git a/src/locales/ko.json b/src/locales/ko.json index 0164a546..e006a26a 100644 --- a/src/locales/ko.json +++ b/src/locales/ko.json @@ -150,7 +150,7 @@ "modal.module.basic.setting.pitch.module.column.amount": "열수", "modal.module.basic.setting.pitch.module.column.margin": "좌우간격", "modal.module.basic.setting.prev": "이전", - "modal.module.basic.setting.row.batch": "단수지정 배치", + "modal.module.basic.setting.row.batch": "단·열수 지정 배치", "modal.module.basic.setting.passivity.placement": "수동 배치", "modal.module.basic.setting.auto.placement": "설정값으로 자동 배치", "plan.menu.module.circuit.setting.circuit.trestle.setting": "회로설정", @@ -164,7 +164,7 @@ "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.power.conditional.select.check1": "동일경사 동일방면의 면적인 경우 같은 면으로서 회로를 나눈다.", + "modal.circuit.trestle.setting.power.conditional.select.check1": "동일 구배·동일 방면의 면인 경우, 같은 면으로서 회로를 나눈다", "modal.circuit.trestle.setting.power.conditional.select.check2": "MAX 접속(과적)으로 회로를 나눈다.", "modal.circuit.trestle.setting.circuit.allocation": "회로 할당", "modal.circuit.trestle.setting.circuit.allocation.auto": "자동회로 할당", @@ -175,7 +175,7 @@ "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.circuit.info": "표준회로{0}장~{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": "모든 회로번호 초기화", @@ -1060,7 +1060,7 @@ "outerLine.property.fix": "외벽선 속성 설정을 완료하시겠습니까?", "outerLine.property.close": "외벽선 속성 설정을 종료하시겠습니까?", "want.to.complete.auxiliary.creation": "보조선 작성을 완료하시겠습니까?", - "module.layout.setup.has.zero.value": "모듈의 열, 행을 입력해 주세요.", + "module.layout.setup.has.zero.value": "모듈의 열수, 단수를 입력해 주세요.", "modal.placement.initial.setting.plan.drawing.only.number": "(※ 숫자는 [반각]입력만 가능합니다.)", "wall.line.not.found": "외벽선이 없습니다.", "roof.line.not.found": "지붕형상이 없습니다.", @@ -1069,9 +1069,9 @@ "module.layout.setup.max.count": "모듈의 최대 단수는 {0}, 최대 열수는 {1} 입니다.", "module.layout.setup.max.count.multiple": "모듈 {0}번의 최대 단수는 {1}, 최대 열수는 {2} 입니다.", "roofAllocation.not.found": "할당할 지붕이 없습니다.", - "modal.module.basic.setting.module.placement.max.size.check": "지붕재별 모듈의 최대 단수. 혼합 최대 단수를 확인하십시오.", + "modal.module.basic.setting.module.placement.max.size.check": "지붕재별 모듈 단체의 최대 단수, 2종 혼합 단수를 확인하십시오.", "modal.module.basic.setting.module.placement.max.row": "최대 단수", - "modal.module.basic.setting.module.placement.max.rows.multiple": "혼합 단수", + "modal.module.basic.setting.module.placement.max.rows.multiple": "2종 혼합 최대단수", "modal.module.basic.setting.module.placement.mix.asg.yn.error": "혼합 설치 불가능한 모듈입니다.", "modal.module.basic.setting.module.placement.mix.asg.yn": "혼합", "modal.module.basic.setting.layoutpassivity.placement": "레이아웃 배치" From 04d49e6aa662be8830a89e6cf6fb42e5c4dd4a93 Mon Sep 17 00:00:00 2001 From: ysCha Date: Tue, 22 Apr 2025 13:54:40 +0900 Subject: [PATCH 9/9] =?UTF-8?q?991-=EA=B2=AC=EC=A0=81=EC=84=9C=20pricing?= =?UTF-8?q?=20=EB=B2=84=ED=8A=BC=20=ED=81=B4=EB=A6=AD,=20confirm=20?= =?UTF-8?q?=EB=85=B8=EC=B6=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/estimate/Estimate.jsx | 17 +++++++++++++++-- src/locales/ja.json | 1 + src/locales/ko.json | 1 + 3 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/components/estimate/Estimate.jsx b/src/components/estimate/Estimate.jsx index dfa313d2..cf38bd7b 100644 --- a/src/components/estimate/Estimate.jsx +++ b/src/components/estimate/Estimate.jsx @@ -498,6 +498,18 @@ export default function Estimate({}) { }) } + //Pricing 버튼클릭시 confirm 노출 + const handlePricingBtn = (showPriceCd) => { + swalFire({ + text: getMessage('estimate.detail.showPrice.pricingBtn.confirm'), + type: 'confirm', + icon: 'warning', + confirmFn: () => { + handlePricing(showPriceCd) + }, + }) + } + //Pricing 버튼 const handlePricing = async (showPriceCd) => { const param = { @@ -1808,9 +1820,10 @@ export default function Estimate({}) {