diff --git a/src/components/survey-sale/detail/DetailButton.tsx b/src/components/survey-sale/detail/DetailButton.tsx index 6b45eb1..a2fc44f 100644 --- a/src/components/survey-sale/detail/DetailButton.tsx +++ b/src/components/survey-sale/detail/DetailButton.tsx @@ -1,35 +1,54 @@ 'use client' import { useRouter } from 'next/navigation' import { useServey } from '@/hooks/useSurvey' +import { useSessionStore } from '@/store/session' +import { useEffect, useState } from 'react' -export default function DetailButton({ isTemporary, surveyId }: { isTemporary: boolean; surveyId: number }) { +export default function DetailButton({ isTemporary, surveyId, representative }: { isTemporary: boolean; surveyId: number; representative: string }) { const router = useRouter() - + const { session } = useSessionStore() const { submitSurvey, deleteSurvey } = useServey(surveyId) + const [userNm, setUserNm] = useState('') + + useEffect(() => { + if (session?.isLoggedIn) { + setUserNm(session?.userNm ?? '') + } + }, [session, setUserNm]) const handleSubmit = async () => { if (isTemporary) { alert('一時保存されたデータは提出できません。') return } - if (confirm('提出しますか??')) { - if (surveyId) { - // TODO: 제출 페이지 추가 - alert('SUBMIT POPUP!!!!!!!!!!!') - await submitSurvey() + if (userNm === representative) { + if (confirm('提出しますか??')) { + if (surveyId) { + // TODO: 제출 페이지 추가 + alert('SUBMIT POPUP!!!!!!!!!!!') + await submitSurvey() + } } + } else { + alert('担当者のみ提出可能です。') } } const handleUpdate = () => { - router.push(`/survey-sale/basic-info?id=${surveyId}&isTemp=${isTemporary}`) + if (userNm === representative) { + router.push(`/survey-sale/basic-info?id=${surveyId}&isTemp=${isTemporary}`) + } else { + alert('担当者のみ修正可能です。') + } } const handleDelete = async () => { - const result = confirm('削除しますか?') - console.log('🚀 ~ handleDelete ~ result:', result) - if (result) { + if (confirm('削除しますか?')) { if (surveyId) { - await deleteSurvey() - router.push('/survey-sale') + if (userNm === representative) { + await deleteSurvey() + router.push('/survey-sale') + } else { + alert('担当者のみ削除可能です。') + } } } } diff --git a/src/components/survey-sale/detail/DetailForm.tsx b/src/components/survey-sale/detail/DetailForm.tsx index e734048..31c33bb 100644 --- a/src/components/survey-sale/detail/DetailForm.tsx +++ b/src/components/survey-sale/detail/DetailForm.tsx @@ -56,7 +56,7 @@ export default function DetailForm({ - + ) diff --git a/src/components/survey-sale/detail/RoofDetailForm.tsx b/src/components/survey-sale/detail/RoofDetailForm.tsx index 5677264..0291f9c 100644 --- a/src/components/survey-sale/detail/RoofDetailForm.tsx +++ b/src/components/survey-sale/detail/RoofDetailForm.tsx @@ -196,7 +196,7 @@ export default function RoofDetailForm({ - + ) diff --git a/src/components/survey-sale/detail/form/BasicForm.tsx b/src/components/survey-sale/detail/form/BasicForm.tsx index d463a90..2386e20 100644 --- a/src/components/survey-sale/detail/form/BasicForm.tsx +++ b/src/components/survey-sale/detail/form/BasicForm.tsx @@ -121,7 +121,7 @@ export default function BasicForm() { onChange={(e) => handleChange('representative', e.target.value)} /> - {(userType === 'musubi' || userType === 'order' || userType?.includes('musubi')) && ( + {(userType === 'order' || userType?.includes('musubi')) && ( <>
販売店
@@ -202,10 +202,6 @@ export default function BasicForm() { onChange={(e) => handleChange('address', e.target.value)} > - - - -