'use client' import { useEffect, useState } from 'react' import { useSurveySaleTabState } from '@/store/surveySaleTabState' import type { SurveyBasicRequest } from '@/types/Survey' import type { Mode } from 'fs' import { useSessionStore } from '@/store/session' import { usePopupController } from '@/store/popupController' import { useAddressStore } from '@/store/addressStore' export default function BasicForm(props: { basicInfo: SurveyBasicRequest; setBasicInfo: (basicInfo: SurveyBasicRequest) => void; mode: Mode }) { const { basicInfo, setBasicInfo, mode } = props const { setBasicInfoSelected } = useSurveySaleTabState() const [isFlip, setIsFlip] = useState(true) const { session } = useSessionStore() const { addressData } = useAddressStore() useEffect(() => { setBasicInfoSelected() }, []) useEffect(() => { if (session?.isLoggedIn) { setBasicInfo({ ...basicInfo, representative: session.userNm ?? '', representativeId: session.userId ?? null, store: session.storeNm ?? null, storeId: session.storeId ?? null, constructionPoint: session.builderNm ?? null, constructionPointId: session.builderNo ?? null, }) } if (addressData) { setBasicInfo({ ...basicInfo, postCode: addressData.post_code, address: addressData.address, addressDetail: addressData.address_detail, }) } }, [session, addressData]) const popupController = usePopupController() return ( <>
setIsFlip(!isFlip)}>
基本情報
担当者名
setBasicInfo({ ...basicInfo, representative: e.target.value })} />
{mode === 'READ' || session?.role === 'Builder' ? ( <> {storeInput(basicInfo, setBasicInfo, mode)} {builderInput(basicInfo, setBasicInfo, mode)} ) : session?.role === 'Partner' ? ( <>{builderInput(basicInfo, setBasicInfo, mode)} ) : ( <>{storeInput(basicInfo, setBasicInfo, mode)} )}
現地調査日
{['CREATE', 'EDIT'].includes(mode as 'CREATE' | 'EDIT') ? (
setBasicInfo({ ...basicInfo, investigationDate: e.target.value })} />
) : ( )}
{/* 건물명 */}
建物名
setBasicInfo({ ...basicInfo, buildingName: e.target.value })} />
{/* 고객명 */}
お客様名
setBasicInfo({ ...basicInfo, customerName: e.target.value })} />
郵便番号/都道府県
{/* 우편번호 */}
{/* 도도부현 */}
{/* 주소 */} {mode !== 'READ' && (
)}
市区町村名, 以後の住所
) } const storeInput = (basicInfo: SurveyBasicRequest, setBasicInfo: (basicInfo: SurveyBasicRequest) => void, mode: Mode) => { return (
販売店
setBasicInfo({ ...basicInfo, store: e.target.value })} />
) } const builderInput = (basicInfo: SurveyBasicRequest, setBasicInfo: (basicInfo: SurveyBasicRequest) => void, mode: Mode) => { return (
施工店
setBasicInfo({ ...basicInfo, constructionPoint: e.target.value })} />
) }