diff --git a/src/app/api/survey-sales/service.ts b/src/app/api/survey-sales/service.ts index 291a9f3..83c2716 100644 --- a/src/app/api/survey-sales/service.ts +++ b/src/app/api/survey-sales/service.ts @@ -124,7 +124,7 @@ export class SurveySalesService { case 'Admin_Sub': where.OR = [ { - AND: [{ STORE_ID: { equals: this.session?.storeId } }, { CONSTRUCTION_POINT_ID: { equals: this.session?.builderId } }], + AND: [{ STORE_ID: { equals: this.session?.storeId } }], }, { AND: [ @@ -440,8 +440,8 @@ export class SurveySalesService { return survey.SUBMISSION_STATUS ? survey.SUBMISSION_TARGET_ID === storeId || survey.SUBMISSION_TARGET_NM === storeNm || - (survey.STORE_ID === storeId && !survey.CONSTRUCTION_POINT_ID) - : survey.STORE_ID === storeId && !survey.CONSTRUCTION_POINT_ID + survey.STORE_ID === storeId + : survey.STORE_ID === storeId } /** diff --git a/src/components/survey-sale/detail/ButtonForm.tsx b/src/components/survey-sale/detail/ButtonForm.tsx index 535aa03..b52e071 100644 --- a/src/components/survey-sale/detail/ButtonForm.tsx +++ b/src/components/survey-sale/detail/ButtonForm.tsx @@ -2,7 +2,6 @@ import type { Mode, SurveyBasicRequest, SurveyDetailInfo, SurveyDetailRequest } from '@/types/Survey' import { CONFIRM_MESSAGE, SUCCESS_MESSAGE, useAlertMsg, WARNING_MESSAGE } from '@/hooks/useAlertMsg' -import { ADMIN_SUBMIT_TARGET_NM } from '@/types/Survey' import { useSessionStore } from '@/store/session' import { useParams, useRouter } from 'next/navigation' import { useEffect, useState } from 'react' @@ -81,10 +80,10 @@ export default function ButtonForm({ mode, setMode, data }: ButtonFormProps) { const calculateSubmitPermission = (session: any, basicData: SurveyBasicRequest): boolean => { switch (session?.role) { case 'T01': - return false case 'Admin': + return session.storeId === basicData.storeId case 'Admin_Sub': - return session.storeNm === basicData.store && session.builderId === basicData.constructionPointId + return session.storeId === basicData.storeId && session.builderId === basicData.constructionPointId case 'Builder': case 'Partner': return session.builderId === basicData.constructionPointId @@ -201,15 +200,12 @@ export default function ButtonForm({ mode, setMode, data }: ButtonFormProps) { /** 제출 로직 */ const handleSubmit = async () => { - if (data.basic.srlNo?.startsWith('一時保存') && Number.isNaN(id)) { - showErrorAlert(WARNING_MESSAGE.TEMP_CANNOT_SUBMIT) - return - } - if (mode === 'READ') { - showConfirm(CONFIRM_MESSAGE.SUBMIT_CONFIRM, async () => { - popupController.setSurveySaleSubmitPopup(true) - }) + if (data.basic.srlNo?.includes('一時保存')) { + showErrorAlert(WARNING_MESSAGE.TEMP_CANNOT_SUBMIT) + return + } + popupController.setSurveySaleSubmitPopup(true) } else { showConfirm(CONFIRM_MESSAGE.SAVE_AND_SUBMIT_CONFIRM, async () => { handleSave(false, true) @@ -220,7 +216,7 @@ export default function ButtonForm({ mode, setMode, data }: ButtonFormProps) { /** 로그인 여부 체크 */ if (!session?.isLoggedIn) return null - /** 읽기 모드, 제출 된 데이터, 제출 권한자는 리스트 버튼만 표시 */ + /** 읽기 모드, 제출 된 데이터, 제출 권한자는 리스트 버튼만 표시, 작성자만 삭제 가능*/ if (mode === 'READ' && isSubmit && permissions.isSubmiter) { return (
diff --git a/src/components/survey-sale/detail/DataTable.tsx b/src/components/survey-sale/detail/DataTable.tsx index 6d21ec5..72976d0 100644 --- a/src/components/survey-sale/detail/DataTable.tsx +++ b/src/components/survey-sale/detail/DataTable.tsx @@ -4,7 +4,6 @@ import { SurveyBasicInfo } from '@/types/Survey' import { useSurvey } from '@/hooks/useSurvey' export default function DataTable({ surveyDetail }: { surveyDetail: SurveyBasicInfo }) { - /** 제출 상태 처리 */ const submitStatus = () => { const { submissionTargetNm, submissionTargetId } = surveyDetail ?? {} @@ -65,9 +64,13 @@ export default function DataTable({ surveyDetail }: { surveyDetail: SurveyBasicI ダウンロード - + {surveyDetail.submissionStatus ? ( + + ) : ( + '-' + )}