diff --git a/src/components/floor-plan/modal/auxiliary/AuxiliaryDrawing.jsx b/src/components/floor-plan/modal/auxiliary/AuxiliaryDrawing.jsx index d7a475a0..1bbec893 100644 --- a/src/components/floor-plan/modal/auxiliary/AuxiliaryDrawing.jsx +++ b/src/components/floor-plan/modal/auxiliary/AuxiliaryDrawing.jsx @@ -8,14 +8,17 @@ import { OUTER_LINE_TYPE } from '@/store/outerLineAtom' import OuterLineWall from '@/components/floor-plan/modal/lineTypes/OuterLineWall' import { useAuxiliaryDrawing } from '@/hooks/roofcover/useAuxiliaryDrawing' import { usePopup } from '@/hooks/usePopup' -import { useEffect } from 'react' +import { useEffect, useState } from 'react' import { useRecoilValue } from 'recoil' import { canvasState } from '@/store/canvasAtom' +import Image from 'next/image' export default function AuxiliaryDrawing({ id, pos = { x: 50, y: 230 } }) { const canvas = useRecoilValue(canvasState) const { getMessage } = useMessage() const { closePopup } = usePopup() + const [useCalcPad, setUseCalcPad] = useState(false) + const disableKeypad = !useCalcPad const types = [ { id: 1, name: getMessage('straight.line'), type: OUTER_LINE_TYPE.OUTER_LINE }, @@ -71,6 +74,7 @@ export default function AuxiliaryDrawing({ id, pos = { x: 50, y: 230 } }) { length1Ref, arrow1, setArrow1, + disableKeypad, } const rightAngleProps = { @@ -84,6 +88,7 @@ export default function AuxiliaryDrawing({ id, pos = { x: 50, y: 230 } }) { setArrow1, arrow2, setArrow2, + disableKeypad, } const doublePitchProps = { @@ -105,6 +110,7 @@ export default function AuxiliaryDrawing({ id, pos = { x: 50, y: 230 } }) { setArrow2, arrow1Ref, arrow2Ref, + disableKeypad, } const angleProps = { @@ -114,6 +120,7 @@ export default function AuxiliaryDrawing({ id, pos = { x: 50, y: 230 } }) { length1, setLength1, length1Ref, + disableKeypad, } const diagonalLineProps = { @@ -130,6 +137,7 @@ export default function AuxiliaryDrawing({ id, pos = { x: 50, y: 230 } }) { setArrow1, arrow2, setArrow2, + disableKeypad, } const onClickButton = (button) => { @@ -160,7 +168,10 @@ export default function AuxiliaryDrawing({ id, pos = { x: 50, y: 230 } }) { {buttonAct === 4 && } {buttonAct === 5 && } -
+
+ diff --git a/src/components/floor-plan/modal/basic/BasicSetting.jsx b/src/components/floor-plan/modal/basic/BasicSetting.jsx index f668acfb..b887747b 100644 --- a/src/components/floor-plan/modal/basic/BasicSetting.jsx +++ b/src/components/floor-plan/modal/basic/BasicSetting.jsx @@ -18,6 +18,7 @@ import { currentCanvasPlanState, isManualModuleLayoutSetupState, isManualModuleSetupState, + moduleSetupOptionState, toggleManualSetupModeState, } from '@/store/canvasAtom' import { loginUserStore } from '@/store/commonAtom' @@ -49,6 +50,7 @@ export default function BasicSetting({ id, pos = { x: 50, y: 230 } }) { const [checkedModules, setCheckedModules] = useRecoilState(checkedModuleState) const [roofs, setRoofs] = useState(addedRoofs) const [manualSetupMode, setManualSetupMode] = useRecoilState(toggleManualSetupModeState) + const [moduleSetupOption, setModuleSetupOption] = useRecoilState(moduleSetupOptionState) const [layoutSetup, setLayoutSetup] = useState([{}]) const { selectedModules, @@ -218,8 +220,12 @@ export default function BasicSetting({ id, pos = { x: 50, y: 230 } }) { } const handleManualModuleSetup = () => { - setManualSetupMode(`manualSetup_${!isManualModuleSetup}`) - setIsManualModuleSetup(!isManualModuleSetup) + const nextManual = !isManualModuleSetup + setManualSetupMode(`manualSetup_${nextManual}`) + setIsManualModuleSetup(nextManual) + if (nextManual) { + setModuleSetupOption((prev) => ({ ...prev, isChidori: true })) + } } const handleManualModuleLayoutSetup = () => { diff --git a/src/components/floor-plan/modal/basic/step/Trestle.jsx b/src/components/floor-plan/modal/basic/step/Trestle.jsx index 16fca772..dd2e64ca 100644 --- a/src/components/floor-plan/modal/basic/step/Trestle.jsx +++ b/src/components/floor-plan/modal/basic/step/Trestle.jsx @@ -428,7 +428,7 @@ const Trestle = forwardRef((props, ref) => { const newCvrYn = constructionList[index].cvrYn const newCvrChecked = newCvrYn === 'Y' const newSnowGdPossYn = constructionList[index].snowGdPossYn - const newSnowGdChecked = newSnowGdPossYn === 'Y' + const newSnowGdChecked = false setCvrYn(newCvrYn) setSnowGdPossYn(newSnowGdPossYn) diff --git a/src/components/floor-plan/modal/eavesGable/EavesGableEdit.jsx b/src/components/floor-plan/modal/eavesGable/EavesGableEdit.jsx index a59f8f27..341ecad8 100644 --- a/src/components/floor-plan/modal/eavesGable/EavesGableEdit.jsx +++ b/src/components/floor-plan/modal/eavesGable/EavesGableEdit.jsx @@ -6,10 +6,14 @@ import WallMerge from '@/components/floor-plan/modal/eavesGable/type/WallMerge' import Shed from '@/components/floor-plan/modal/eavesGable/type/Shed' import { useEavesGableEdit } from '@/hooks/roofcover/useEavesGableEdit' import { usePopup } from '@/hooks/usePopup' +import { useState } from 'react' +import Image from 'next/image' export default function EavesGableEdit({ id, pos = { x: 50, y: 230 } }) { const { getMessage } = useMessage() const { closePopup } = usePopup() + const [useCalcPad, setUseCalcPad] = useState(false) + const disableKeypad = !useCalcPad const { type, setType, buttonMenu, TYPES, pitchRef, offsetRef, widthRef, radioTypeRef, pitchText } = useEavesGableEdit(id) const eavesProps = { @@ -18,6 +22,7 @@ export default function EavesGableEdit({ id, pos = { x: 50, y: 230 } }) { widthRef, radioTypeRef, pitchText, + disableKeypad, } const gableProps = { @@ -26,15 +31,18 @@ export default function EavesGableEdit({ id, pos = { x: 50, y: 230 } }) { widthRef, radioTypeRef, pitchText, + disableKeypad, } const wallMergeProps = { offsetRef, radioTypeRef, + disableKeypad, } const shedProps = { offsetRef, + disableKeypad, } return ( @@ -48,8 +56,13 @@ export default function EavesGableEdit({ id, pos = { x: 50, y: 230 } }) { ))}
-
-
{getMessage('setting')}
+
+
+ {getMessage('setting')} + +
{type === TYPES.EAVES && } {type === TYPES.GABLE && } {type === TYPES.WALL_MERGE && } diff --git a/src/components/floor-plan/modal/eavesGable/type/Eaves.jsx b/src/components/floor-plan/modal/eavesGable/type/Eaves.jsx index fb4db8cd..78cbd55e 100644 --- a/src/components/floor-plan/modal/eavesGable/type/Eaves.jsx +++ b/src/components/floor-plan/modal/eavesGable/type/Eaves.jsx @@ -6,7 +6,7 @@ import { ANGLE_TYPE, currentAngleTypeSelector } from '@/store/canvasAtom' import { normalizeDecimalLimit, normalizeDigits } from '@/util/input-utils' import { CalculatorInput } from '@/components/common/input/CalcInput' -export default function Eaves({ pitchRef, offsetRef, widthRef, radioTypeRef, pitchText }) { +export default function Eaves({ pitchRef, offsetRef, widthRef, radioTypeRef, pitchText, disableKeypad }) { const { getMessage } = useMessage() const [type, setType] = useState('1') const onChange = (e) => { @@ -43,6 +43,7 @@ export default function Eaves({ pitchRef, offsetRef, widthRef, radioTypeRef, pit onChange={(value) => { if (pitchRef?.current) pitchRef.current.value = value }} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: true //(index !== 0), @@ -77,6 +78,7 @@ export default function Eaves({ pitchRef, offsetRef, widthRef, radioTypeRef, pit onChange={(value) => { if (offsetRef?.current) offsetRef.current.value = value }} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false //(index !== 0), @@ -144,6 +146,7 @@ export default function Eaves({ pitchRef, offsetRef, widthRef, radioTypeRef, pit onChange={(value) => { if (widthRef?.current) widthRef.current.value = value }} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false //(index !== 0), diff --git a/src/components/floor-plan/modal/eavesGable/type/Gable.jsx b/src/components/floor-plan/modal/eavesGable/type/Gable.jsx index b8eab8a7..ba947dec 100644 --- a/src/components/floor-plan/modal/eavesGable/type/Gable.jsx +++ b/src/components/floor-plan/modal/eavesGable/type/Gable.jsx @@ -5,7 +5,7 @@ import { useRecoilValue } from 'recoil' import { ANGLE_TYPE, currentAngleTypeSelector } from '@/store/canvasAtom' import { CalculatorInput } from '@/components/common/input/CalcInput' -export default function Gable({ pitchRef, offsetRef, widthRef, radioTypeRef, pitchText }) { +export default function Gable({ pitchRef, offsetRef, widthRef, radioTypeRef, pitchText, disableKeypad }) { const { getMessage } = useMessage() const [type, setType] = useState('1') const onChange = (e) => { @@ -30,6 +30,7 @@ export default function Gable({ pitchRef, offsetRef, widthRef, radioTypeRef, pit className="input-origin block" ref={offsetRef} value={300} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false //(index !== 0), @@ -96,6 +97,7 @@ export default function Gable({ pitchRef, offsetRef, widthRef, radioTypeRef, pit onChange={(value) => { if (pitchRef?.current) pitchRef.current.value = value }} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: true //(index !== 0), @@ -129,6 +131,7 @@ export default function Gable({ pitchRef, offsetRef, widthRef, radioTypeRef, pit ref={widthRef} value={800} readOnly={type === '1'} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false //(index !== 0), diff --git a/src/components/floor-plan/modal/eavesGable/type/Shed.jsx b/src/components/floor-plan/modal/eavesGable/type/Shed.jsx index 8ce6038a..724e6c40 100644 --- a/src/components/floor-plan/modal/eavesGable/type/Shed.jsx +++ b/src/components/floor-plan/modal/eavesGable/type/Shed.jsx @@ -1,7 +1,7 @@ import { useMessage } from '@/hooks/useMessage' import { CalculatorInput } from '@/components/common/input/CalcInput' -export default function Shed({ offsetRef }) { +export default function Shed({ offsetRef, disableKeypad }) { const { getMessage } = useMessage() return ( <> @@ -19,6 +19,7 @@ export default function Shed({ offsetRef }) { className="input-origin block" ref={offsetRef} value={300} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false //(index !== 0), diff --git a/src/components/floor-plan/modal/eavesGable/type/WallMerge.jsx b/src/components/floor-plan/modal/eavesGable/type/WallMerge.jsx index e398a2f1..18891015 100644 --- a/src/components/floor-plan/modal/eavesGable/type/WallMerge.jsx +++ b/src/components/floor-plan/modal/eavesGable/type/WallMerge.jsx @@ -3,7 +3,7 @@ import Image from 'next/image' import { useState } from 'react' import { CalculatorInput } from '@/components/common/input/CalcInput' -export default function WallMerge({ offsetRef, radioTypeRef }) { +export default function WallMerge({ offsetRef, radioTypeRef, disableKeypad }) { const { getMessage } = useMessage() const [type, setType] = useState('1') const onChange = (e) => { @@ -61,6 +61,7 @@ export default function WallMerge({ offsetRef, radioTypeRef }) { ref={offsetRef} value={300} readOnly={type === '1'} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false //(index !== 0), diff --git a/src/components/floor-plan/modal/movement/MovementSetting.jsx b/src/components/floor-plan/modal/movement/MovementSetting.jsx index 46464538..8de192c3 100644 --- a/src/components/floor-plan/modal/movement/MovementSetting.jsx +++ b/src/components/floor-plan/modal/movement/MovementSetting.jsx @@ -3,16 +3,22 @@ import WithDraggable from '@/components/common/draggable/WithDraggable' import FlowLine from '@/components/floor-plan/modal/movement/type/FlowLine' import Updown from '@/components/floor-plan/modal/movement/type/Updown' import { useMovementSetting } from '@/hooks/roofcover/useMovementSetting' +import { useState } from 'react' +import Image from 'next/image' export default function MovementSetting({ id, pos = { x: 50, y: 230 } }) { const { getMessage } = useMessage() const { TYPE, closePopup, buttonType, type, setType, FLOW_LINE_REF, UP_DOWN_REF, handleSave } = useMovementSetting(id) + const [useCalcPad, setUseCalcPad] = useState(false) + const disableKeypad = !useCalcPad const flowLineProps = { FLOW_LINE_REF, + disableKeypad, } const updownProps = { UP_DOWN_REF, + disableKeypad, } return ( @@ -30,7 +36,10 @@ export default function MovementSetting({ id, pos = { x: 50, y: 230 } }) { {type === TYPE.FLOW_LINE && } {type === TYPE.UP_DOWN && }
-
+
+ diff --git a/src/components/floor-plan/modal/movement/type/FlowLine.jsx b/src/components/floor-plan/modal/movement/type/FlowLine.jsx index d4267a27..0c38638d 100644 --- a/src/components/floor-plan/modal/movement/type/FlowLine.jsx +++ b/src/components/floor-plan/modal/movement/type/FlowLine.jsx @@ -9,7 +9,7 @@ const FLOW_LINE_TYPE = { UP_RIGHT: 'upRight', } -export default function FlowLine({ FLOW_LINE_REF }) { +export default function FlowLine({ FLOW_LINE_REF, disableKeypad }) { const { getMessage } = useMessage() const [type, setType] = useState(FLOW_LINE_TYPE.DOWN_LEFT) const [filledInput, setFilledInput] = useState('') @@ -87,6 +87,7 @@ export default function FlowLine({ FLOW_LINE_REF }) { value={filledInput} onFocus={handleFocus} onChange={(value)=>{setFilledInput(value)}} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false diff --git a/src/components/floor-plan/modal/movement/type/Updown.jsx b/src/components/floor-plan/modal/movement/type/Updown.jsx index ab88bbbf..a89ce39d 100644 --- a/src/components/floor-plan/modal/movement/type/Updown.jsx +++ b/src/components/floor-plan/modal/movement/type/Updown.jsx @@ -10,7 +10,7 @@ const UP_DOWN_TYPE = { DOWN: 'down', } -export default function Updown({ UP_DOWN_REF }) { +export default function Updown({ UP_DOWN_REF, disableKeypad }) { const { getMessage } = useMessage() const [type, setType] = useState(UP_DOWN_TYPE.UP) const [filledInput, setFilledInput] = useState('100') @@ -87,6 +87,7 @@ export default function Updown({ UP_DOWN_REF }) { value={filledInput} onFocus={handleFocus} onChange={(value)=>{setFilledInput(value)}} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false diff --git a/src/components/floor-plan/modal/placementShape/PlacementShapeSetting.jsx b/src/components/floor-plan/modal/placementShape/PlacementShapeSetting.jsx index 9ba4e342..fbf387bb 100644 --- a/src/components/floor-plan/modal/placementShape/PlacementShapeSetting.jsx +++ b/src/components/floor-plan/modal/placementShape/PlacementShapeSetting.jsx @@ -266,14 +266,15 @@ export default function PlacementShapeSetting({ id, pos = { x: 50, y: 180 }, pla }, { skipSideEffects: true }) const roofs = canvas.getObjects().filter((obj) => obj.roofMaterial?.index === 0) + const firstRoof = roofs[0] - roofs.forEach((roof) => { + if (firstRoof) { /** 모양 패턴 설정 */ - setSurfaceShapePattern(roof, roofDisplay.column, false, { ...roofInfo }) - roof.roofMaterial = { ...roofInfo } - drawDirectionArrow(roof) - setPolygonLinesActualSize(roof, true) - }) + setSurfaceShapePattern(firstRoof, roofDisplay.column, false, { ...roofInfo }) + firstRoof.roofMaterial = { ...roofInfo } + drawDirectionArrow(firstRoof) + setPolygonLinesActualSize(firstRoof, true) + } canvas.renderAll() /** 지붕면 존재 여부에 따라 메뉴 설정 */ diff --git a/src/components/floor-plan/modal/roofShape/RoofShapePassivitySetting.jsx b/src/components/floor-plan/modal/roofShape/RoofShapePassivitySetting.jsx index 7530bcdd..c43c16ce 100644 --- a/src/components/floor-plan/modal/roofShape/RoofShapePassivitySetting.jsx +++ b/src/components/floor-plan/modal/roofShape/RoofShapePassivitySetting.jsx @@ -5,27 +5,34 @@ import Shed from '@/components/floor-plan/modal/roofShape/passivity/Shed' import { useMessage } from '@/hooks/useMessage' import { useRoofShapePassivitySetting } from '@/hooks/roofcover/useRoofShapePassivitySetting' import { usePopup } from '@/hooks/usePopup' +import { useState } from 'react' +import Image from 'next/image' export default function RoofShapePassivitySetting({ id, pos = { x: 50, y: 230 } }) { const { handleSave, handleConfirm, handleRollback, buttons, type, setType, TYPES, offsetRef, pitchRef, pitchText } = useRoofShapePassivitySetting(id) const { getMessage } = useMessage() const { closePopup } = usePopup() + const [useCalcPad, setUseCalcPad] = useState(false) + const disableKeypad = !useCalcPad const eavesProps = { offsetRef, pitchRef, pitchText, + disableKeypad, } const gableProps = { offsetRef, pitchRef, pitchText, + disableKeypad, } const shedProps = { offsetRef, + disableKeypad, } return ( @@ -55,7 +62,10 @@ export default function RoofShapePassivitySetting({ id, pos = { x: 50, y: 230 }
-
+
+ diff --git a/src/components/floor-plan/modal/roofShape/passivity/Eaves.jsx b/src/components/floor-plan/modal/roofShape/passivity/Eaves.jsx index f3dd4052..3b775440 100644 --- a/src/components/floor-plan/modal/roofShape/passivity/Eaves.jsx +++ b/src/components/floor-plan/modal/roofShape/passivity/Eaves.jsx @@ -5,7 +5,7 @@ import { selectedRoofMaterialSelector } from '@/store/settingAtom' import { useEffect } from 'react' import { CalculatorInput } from '@/components/common/input/CalcInput' -export default function Eaves({ offsetRef, pitchRef, pitchText }) { +export default function Eaves({ offsetRef, pitchRef, pitchText, disableKeypad }) { const { getMessage } = useMessage() const currentAngleType = useRecoilValue(currentAngleTypeSelector) const selectedRoofMaterial = useRecoilValue(selectedRoofMaterialSelector) @@ -30,6 +30,7 @@ export default function Eaves({ offsetRef, pitchRef, pitchText }) { className="input-origin block" ref={pitchRef} value={currentAngleType === ANGLE_TYPE.SLOPE ? selectedRoofMaterial.pitch : selectedRoofMaterial.angle} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: true //(index !== 0), @@ -52,6 +53,7 @@ export default function Eaves({ offsetRef, pitchRef, pitchText }) { value={offsetRef.current?.value ?? 500} // Set default value to 500 ref={offsetRef} onChange={() => {}} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false diff --git a/src/components/floor-plan/modal/roofShape/passivity/Gable.jsx b/src/components/floor-plan/modal/roofShape/passivity/Gable.jsx index fe04a65e..a37f7072 100644 --- a/src/components/floor-plan/modal/roofShape/passivity/Gable.jsx +++ b/src/components/floor-plan/modal/roofShape/passivity/Gable.jsx @@ -3,7 +3,7 @@ import { useRecoilValue } from 'recoil' import { currentAngleTypeSelector } from '@/store/canvasAtom' import { CalculatorInput } from '@/components/common/input/CalcInput' -export default function Gable({ offsetRef }) { +export default function Gable({ offsetRef, disableKeypad }) { const { getMessage } = useMessage() const currentAngleType = useRecoilValue(currentAngleTypeSelector) return ( @@ -22,6 +22,7 @@ export default function Gable({ offsetRef }) { value={offsetRef.current?.value ?? 300} // Set default value to 500 ref={offsetRef} onChange={() => {}} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false diff --git a/src/components/floor-plan/modal/roofShape/passivity/Shed.jsx b/src/components/floor-plan/modal/roofShape/passivity/Shed.jsx index 67a47bb0..0f33278f 100644 --- a/src/components/floor-plan/modal/roofShape/passivity/Shed.jsx +++ b/src/components/floor-plan/modal/roofShape/passivity/Shed.jsx @@ -1,7 +1,7 @@ import { useMessage } from '@/hooks/useMessage' import { CalculatorInput } from '@/components/common/input/CalcInput' -export default function Shed({ offsetRef }) { +export default function Shed({ offsetRef, disableKeypad }) { const { getMessage } = useMessage() return ( <> @@ -19,6 +19,7 @@ export default function Shed({ offsetRef }) { value={offsetRef.current?.value ?? 300} // Set default value to 500 ref={offsetRef} onChange={() => {}} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false diff --git a/src/components/floor-plan/modal/wallLineOffset/WallLineOffsetSetting.jsx b/src/components/floor-plan/modal/wallLineOffset/WallLineOffsetSetting.jsx index 09c847e7..86ab5df6 100644 --- a/src/components/floor-plan/modal/wallLineOffset/WallLineOffsetSetting.jsx +++ b/src/components/floor-plan/modal/wallLineOffset/WallLineOffsetSetting.jsx @@ -4,10 +4,14 @@ import WallLine from '@/components/floor-plan/modal/wallLineOffset/type/WallLine import Offset from '@/components/floor-plan/modal/wallLineOffset/type/Offset' import { useWallLineOffsetSetting } from '@/hooks/roofcover/useWallLineOffsetSetting' import { usePopup } from '@/hooks/usePopup' +import { useState } from 'react' +import Image from 'next/image' export default function WallLineOffsetSetting({ id, pos = { x: 50, y: 230 } }) { const { getMessage } = useMessage() const { closePopup } = usePopup() + const [useCalcPad, setUseCalcPad] = useState(false) + const disableKeypad = !useCalcPad const { type, setType, @@ -30,12 +34,14 @@ export default function WallLineOffsetSetting({ id, pos = { x: 50, y: 230 } }) { arrow2Ref, radioTypeRef, currentWallLineRef, + disableKeypad, } const offsetProps = { length1Ref, arrow1Ref, currentWallLineRef, + disableKeypad, } return ( @@ -54,7 +60,10 @@ export default function WallLineOffsetSetting({ id, pos = { x: 50, y: 230 } }) { {type === TYPES.WALL_LINE_EDIT && } {type === TYPES.OFFSET && }
-
+
+ diff --git a/src/components/floor-plan/modal/wallLineOffset/type/Offset.jsx b/src/components/floor-plan/modal/wallLineOffset/type/Offset.jsx index 79ae0898..8c4685ee 100644 --- a/src/components/floor-plan/modal/wallLineOffset/type/Offset.jsx +++ b/src/components/floor-plan/modal/wallLineOffset/type/Offset.jsx @@ -3,7 +3,7 @@ import { useEffect, useState } from 'react' import { useEvent } from '@/hooks/useEvent' import { CalculatorInput } from '@/components/common/input/CalcInput' -export default function Offset({ length1Ref, arrow1Ref, currentWallLineRef }) { +export default function Offset({ length1Ref, arrow1Ref, currentWallLineRef, disableKeypad }) { const { getMessage } = useMessage() const { addDocumentEventListener, initEvent } = useEvent() // const { addDocumentEventListener, initEvent } = useContext(EventContext) @@ -84,6 +84,7 @@ export default function Offset({ length1Ref, arrow1Ref, currentWallLineRef }) { value={length1Ref.current?.value ?? 0} ref={length1Ref} onChange={() => {}} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false diff --git a/src/components/floor-plan/modal/wallLineOffset/type/WallLine.jsx b/src/components/floor-plan/modal/wallLineOffset/type/WallLine.jsx index d78a202f..610780e6 100644 --- a/src/components/floor-plan/modal/wallLineOffset/type/WallLine.jsx +++ b/src/components/floor-plan/modal/wallLineOffset/type/WallLine.jsx @@ -3,7 +3,7 @@ import { forwardRef, useEffect, useImperativeHandle, useState } from 'react' import { useEvent } from '@/hooks/useEvent' import { CalculatorInput } from '@/components/common/input/CalcInput' -export default forwardRef(function WallLine({ length1Ref, length2Ref, arrow1Ref, arrow2Ref, radioTypeRef, currentWallLineRef }, ref) { +export default forwardRef(function WallLine({ length1Ref, length2Ref, arrow1Ref, arrow2Ref, radioTypeRef, currentWallLineRef, disableKeypad }, ref) { const { getMessage } = useMessage() const { addDocumentEventListener, initEvent } = useEvent() // const { addDocumentEventListener, initEvent } = useContext(EventContext) @@ -57,6 +57,7 @@ export default forwardRef(function WallLine({ length1Ref, length2Ref, arrow1Ref, ref={length1Ref} onChange={() => {}} readOnly={type !== 1} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false @@ -105,6 +106,7 @@ export default forwardRef(function WallLine({ length1Ref, length2Ref, arrow1Ref, ref={length2Ref} onChange={() => {}} readOnly={type !== 2} + disableKeypad={disableKeypad} options={{ allowNegative: false, allowDecimal: false diff --git a/src/components/management/StuffDetail.jsx b/src/components/management/StuffDetail.jsx index a3a0a607..12eef9ff 100644 --- a/src/components/management/StuffDetail.jsx +++ b/src/components/management/StuffDetail.jsx @@ -1046,6 +1046,33 @@ export default function StuffDetail() { form.setValue('otherSaleStoreId', info.saleStoreId) form.setValue('otherSaleStoreName', info.saleStoreName) form.setValue('otherSaleStoreLevel', info.saleStoreLevel) + get({ url: `/api/object/saleStore/${info.saleStoreId}/firstAgent` }).then((res) => { + if (res?.firstAgentId) { + const firstAgent = { saleStoreId: res.firstAgentId, saleStoreName: res.firstAgentName } + setSaleStoreList((prev) => { + const exists = prev.some((s) => s.saleStoreId === res.firstAgentId) + return exists ? prev : [...prev, firstAgent] + }) + setShowSaleStoreList((prev) => { + const exists = prev.some((s) => s.saleStoreId === res.firstAgentId) + return exists ? prev : [...prev, firstAgent] + }) + setSelOptions(res.firstAgentId) + form.setValue('saleStoreId', res.firstAgentId) + form.setValue('saleStoreName', res.firstAgentName) + form.setValue('saleStoreLevel', '1') + } else { + setSelOptions('') + form.setValue('saleStoreId', '') + form.setValue('saleStoreName', '') + form.setValue('saleStoreLevel', '') + } + }).catch(() => { + setSelOptions('') + form.setValue('saleStoreId', '') + form.setValue('saleStoreName', '') + form.setValue('saleStoreLevel', '') + }) } } diff --git a/src/components/management/StuffSearchCondition.jsx b/src/components/management/StuffSearchCondition.jsx index 3774fbfe..85563672 100644 --- a/src/components/management/StuffSearchCondition.jsx +++ b/src/components/management/StuffSearchCondition.jsx @@ -1166,7 +1166,7 @@ export default function StuffSearchCondition() { {getMessage('stuff.search.schSelSaleStoreId')}
-
+
{session?.storeId === 'T01' && ( )}
-
+