Merge branch 'dev' of https://git.hanasys.jp/qcast3/qcast-front into qcast-pub
This commit is contained in:
commit
2b81cc192e
File diff suppressed because one or more lines are too long
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 11 KiB |
@ -21,8 +21,8 @@ import GlobalLoadingProvider from './GlobalLoadingProvider'
|
||||
* 서버 컴포넌트에 한해서 개별로 설정할 수 있음
|
||||
*/
|
||||
export const metadata = {
|
||||
title: 'HANASYS設計',
|
||||
description: 'HANASYS設計',
|
||||
title: 'HANASYS DESIGN',
|
||||
description: 'HANASYS DESIGN',
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -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 = {
|
||||
@ -1075,7 +1087,7 @@ export default function Estimate({}) {
|
||||
item.showSaleTotPrice = '0'
|
||||
}
|
||||
|
||||
if (item.dispCableFlg === '1') {
|
||||
if (item.dispCableFlg === '1' && item.itemTpCd !== 'M12') {
|
||||
dispCableFlgCnt++
|
||||
setCableItem(item.itemId)
|
||||
}
|
||||
@ -1808,9 +1820,10 @@ export default function Estimate({}) {
|
||||
<button
|
||||
type="button"
|
||||
className="btn-origin grey ml5"
|
||||
onClick={() => {
|
||||
onClick={(event) => {
|
||||
|
||||
setHandlePricingFlag(true)
|
||||
handlePricing(showPriceCd)
|
||||
handlePricingBtn(showPriceCd)
|
||||
}}
|
||||
>
|
||||
{getMessage('estimate.detail.showPrice.pricingBtn')}
|
||||
|
||||
@ -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, <WallLineSetting id={popupId} />)
|
||||
@ -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, <Slope id={popupId} />)
|
||||
@ -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()
|
||||
|
||||
@ -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()
|
||||
|
||||
@ -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' })
|
||||
}
|
||||
})
|
||||
|
||||
@ -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": "すべての回路番号の初期化",
|
||||
@ -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": "オンライン保証システム",
|
||||
@ -941,6 +941,7 @@
|
||||
"estimate.detail.header.unitPrice": "定価",
|
||||
"estimate.detail.showPrice.pricingBtn": "Pricing",
|
||||
"estimate.detail.showPrice.pricingBtn.noItemId": "Pricingが欠落しているアイテムがあります。 Pricingを進めてください。",
|
||||
"estimate.detail.showPrice.pricingBtn.confirm": "価格登録初期化されますがよろしいですか?",
|
||||
"estimate.detail.showPrice.description1": "製品価格OPEN",
|
||||
"estimate.detail.showPrice.description2": "追加の変更品目",
|
||||
"estimate.detail.showPrice.description3": "添付必須",
|
||||
@ -1059,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": "屋根形状がありません",
|
||||
@ -1068,10 +1069,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)"
|
||||
}
|
||||
|
||||
@ -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": "모든 회로번호 초기화",
|
||||
@ -942,6 +942,7 @@
|
||||
"estimate.detail.header.unitPrice": "정가",
|
||||
"estimate.detail.showPrice.pricingBtn": "Pricing",
|
||||
"estimate.detail.showPrice.pricingBtn.noItemId": "Pricing이 누락된 아이템이 있습니다. 제품 선택 후 Pricing을 진행해주세요.",
|
||||
"estimate.detail.showPrice.pricingBtn.confirm": "가격등록을 초기화 하시겠습니까?",
|
||||
"estimate.detail.showPrice.description1": "제품 가격 OPEN",
|
||||
"estimate.detail.showPrice.description2": "추가 변경 자재",
|
||||
"estimate.detail.showPrice.description3": "첨부필수",
|
||||
@ -1060,7 +1061,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 +1070,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": "레이아웃 배치"
|
||||
|
||||
@ -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,
|
||||
})
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user