diff --git a/packages/common/business_components/src/ui/sdmInsertForm/form.tsx b/packages/common/business_components/src/ui/sdmInsertForm/form.tsx index 09dd10525..20a2050bc 100644 --- a/packages/common/business_components/src/ui/sdmInsertForm/form.tsx +++ b/packages/common/business_components/src/ui/sdmInsertForm/form.tsx @@ -66,11 +66,12 @@ interface SdmRegFormProps { rtnValue: (searchText: string, pageCnt: number) => void; setIsDuplicate: (value: boolean) => void; updateList?:DemandCompType + readOnly?:boolean } type FieldComponent = (field: ControllerRenderProps) => JSX.Element; -export function SdmRegForm({ form, onCheckboxChange, selectSidoData, selectSigunData, dataList, rtnValue, setIsDuplicate ,updateList}: SdmRegFormProps) { +export function SdmRegForm({ form, onCheckboxChange, selectSidoData, selectSigunData, dataList, rtnValue, setIsDuplicate ,updateList,readOnly}: SdmRegFormProps) { const [sidoValue, setSidoValue] = useState(''); const [sigunValue, setSigunValue] = useState(''); const [filteredSigunData, setFilteredSigunData] = useState([{ text: "전체", val: '0' }]); @@ -304,6 +305,7 @@ export function SdmRegForm({ form, onCheckboxChange, selectSidoData, selectSigun dataList={dataList} rtnValue={setRtnValue} rtnText={setRtnText} + readOnly={readOnly} {...field} /> ) @@ -352,6 +354,7 @@ export function SdmRegForm({ form, onCheckboxChange, selectSidoData, selectSigun placeholder="주소를 입력하세요" type="text" className="!text-xl text-gray-600" + readOnly={readOnly} {...field} /> ) @@ -370,6 +373,7 @@ export function SdmRegForm({ form, onCheckboxChange, selectSidoData, selectSigun type="text" className="!text-xl text-gray-600" value={formattedValue} + readOnly={readOnly} onChange={(e) => { const value = e.target.value.replace(/\D/g, ''); // 숫자만 저장 field.onChange(value); @@ -386,6 +390,7 @@ export function SdmRegForm({ form, onCheckboxChange, selectSidoData, selectSigun placeholder="패스워드를 입력하세요" type="password" className="!text-xl text-gray-600" + readOnly={readOnly} {...field} /> ) @@ -398,6 +403,7 @@ export function SdmRegForm({ form, onCheckboxChange, selectSidoData, selectSigun placeholder="패스워드를 입력하세요" type="password" className="!text-xl text-gray-600" + readOnly={readOnly} {...field} /> ) diff --git a/packages/common/business_components/src/ui/sdmInsertForm/index.tsx b/packages/common/business_components/src/ui/sdmInsertForm/index.tsx index 4091139b9..d88b72e4b 100644 --- a/packages/common/business_components/src/ui/sdmInsertForm/index.tsx +++ b/packages/common/business_components/src/ui/sdmInsertForm/index.tsx @@ -17,6 +17,7 @@ type thisProps = { rtnInputData: (data: DemandCompType) => void; bodyClassNm?: string; updateList?:DemandCompType + readOnly?:boolean } const createFormSchema = (isBznmTotNoDisabled: boolean, isDuplicate: boolean ,updateList?:DemandCompType) => z.object({ @@ -87,35 +88,7 @@ const defaultValues: FormSchema = { * @returns */ -/** - * 페이지에서 작업 - const {Common, initializeCommonData, getDemandCompList, insertSdmData, Sdm} = useDmStore((state) => state); - const { selectSidoData, selectSigunData } = Common; - const { demandCompList } = Sdm; - - // 공통데이터 (시도, 시군구 데이터 호출) - useEffect(() => { - initializeCommonData(); - }, [initializeCommonData]); - - // 컴포넌트에서 텍스트 검색 호출 - const callback = useCallback((searchText: string, pageCnt: number) => { - searchText = searchText.trim(); - if(searchText.length > 0) { - getDemandCompList(searchText, pageCnt); - } - }, [getDemandCompList]); - - // 컴포넌트에서 수요처 등록 호출 - const handleInsertSdmData = useCallback((data: DemandCompType) => { - insertSdmData(data); - - }, [insertSdmData]); - */ - -export default function SdmInsertForm({selectSidoData, selectSigunData, dataList, rtnValue, rtnInputData,bodyClassNm, updateList}: thisProps) { - /* const { insertSdmData } = useDmStore((state) => state); - const router = useRouter(); */ +export default function SdmInsertForm({selectSidoData, selectSigunData, dataList, rtnValue, rtnInputData,bodyClassNm, updateList,readOnly}: thisProps) { const [isBznmTotNoDisabled, setIsBznmTotNoDisabled] = useState(false); const [isDuplicate, setIsDuplicate] = useState(false); @@ -191,14 +164,19 @@ export default function SdmInsertForm({selectSidoData, selectSigunData, dataList rtnValue={setRtnValue} setIsDuplicate={setIsDuplicate} updateList={updateList} + readOnly={readOnly} />
- + {readOnly==true?<> + : + + } +
diff --git a/packages/common/business_components/src/ui/sdmInsertForm/sdmNameBox.tsx b/packages/common/business_components/src/ui/sdmInsertForm/sdmNameBox.tsx index 59800b31e..94edc3836 100644 --- a/packages/common/business_components/src/ui/sdmInsertForm/sdmNameBox.tsx +++ b/packages/common/business_components/src/ui/sdmInsertForm/sdmNameBox.tsx @@ -8,6 +8,7 @@ export type thisProps = { rtnValue: (searchText: string, pageCnt: number) => void; rtnData: (item: DemandCompType) => void; rtnText: (text: string) => void; + readOnly?:boolean }; /** @@ -25,6 +26,7 @@ export const SdmSearchForm = ({ dataList = [], rtnData = () => {}, rtnText = () => {}, + readOnly }: thisProps) => { const [isOpen, setIsOpen] = useState(false); const [textValue, setTextValue] = useState(initValue || ""); @@ -84,6 +86,7 @@ export const SdmSearchForm = ({ /* onFocus={() => setIsOpen(true)} */ className="h-[3.2rem] w-full rounded-md border border-gray-300 pl-3 !text-xl text-gray-600 focus:outline-none focus:ring-2 focus:ring-blue-500" placeholder={`${label}을(를) 입력하세요`} + readOnly={readOnly} /> {isOpen && (