feat: admin 제출 대상 이름 추가

This commit is contained in:
Dayoung 2025-07-01 11:14:33 +09:00
parent 6f7f406e97
commit 334db221c9
4 changed files with 17 additions and 12 deletions

View File

@ -2,13 +2,14 @@ import Image from 'next/image'
import { usePopupController } from '@/store/popupController'
import { useParams } from 'next/navigation'
import { useSurvey } from '@/hooks/useSurvey'
import { useEffect, useRef, useState } from 'react'
import { useEffect, useState } from 'react'
import { useSessionStore } from '@/store/session'
import { useCommCode } from '@/hooks/useCommCode'
import { CommCode } from '@/types/CommCode'
import { sendEmail } from '@/libs/mailer'
import { useSpinnerStore } from '@/store/spinnerStore'
import { CONFIRM_MESSAGE, SUCCESS_MESSAGE, ERROR_MESSAGE, useAlertMsg, WARNING_MESSAGE } from '@/hooks/useAlertMsg'
import { ADMIN_SUBMIT_TARGET_NM } from '@/types/Survey'
interface SubmitFormData {
saleBase: string | null
@ -65,6 +66,7 @@ export default function SurveySaleSubmitPopup() {
setSubmitData((prev) => ({
...prev,
...baseUpdate,
targetNm: ADMIN_SUBMIT_TARGET_NM,
}))
/** Builder, Admin_Sub 제출 폼 데이터 삽입 - 2차 판매점, 2차 판매점 시공권한*/
} else if (session?.role === 'Builder' || session?.role === 'Admin_Sub') {

View File

@ -1,12 +1,13 @@
'use client'
import type { Mode, SurveyBasicRequest, SurveyDetailInfo, SurveyDetailRequest } from '@/types/Survey'
import { useSessionStore } from '@/store/session'
import { useEffect, useState } from 'react'
import { useParams, useRouter } from 'next/navigation'
import { requiredFields, useSurvey } from '@/hooks/useSurvey'
import { usePopupController } from '@/store/popupController'
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'
import { usePopupController } from '@/store/popupController'
import { requiredFields, useSurvey } from '@/hooks/useSurvey'
interface ButtonFormProps {
mode: Mode
@ -68,7 +69,10 @@ export default function ButtonForm({ mode, setMode, data }: ButtonFormProps) {
const calculatePermissions = (session: any, basicData: SurveyBasicRequest): PermissionState => {
const isSubmiter = calculateSubmitPermission(session, basicData)
const isWriter = session.userId === basicData.representativeId
const isReceiver = session?.storeId === basicData.submissionTargetId || session?.storeNm === basicData.submissionTargetNm
const isReceiver =
session?.storeId === basicData.submissionTargetId ||
session?.storeNm === basicData.submissionTargetNm ||
(session?.role === 'T01' && basicData.submissionTargetNm === ADMIN_SUBMIT_TARGET_NM)
return { isSubmiter, isWriter, isReceiver }
}

View File

@ -1,21 +1,19 @@
'use client'
import { useRouter } from 'next/navigation'
import { SurveyBasicInfo } from '@/types/Survey'
import { useSurvey } from '@/hooks/useSurvey'
export default function DataTable({ surveyDetail }: { surveyDetail: SurveyBasicInfo }) {
const router = useRouter()
/** 제출 상태 처리 */
const submitStatus = () => {
const { submissionTargetNm, submissionTargetId } = surveyDetail ?? {}
if (!submissionTargetId && !submissionTargetNm) {
return <div>( Hanwha Japan )</div>
}
if (!submissionTargetId && submissionTargetNm) {
return <div>( {submissionTargetNm} )</div>
}
if (!submissionTargetId && !submissionTargetNm) {
return null
}
return (
<div>
({submissionTargetNm} - {submissionTargetId})

View File

@ -324,6 +324,7 @@ export type SurveySearchParams = {
builderId?: string | null
}
export const ADMIN_SUBMIT_TARGET_NM = 'Hanwha Japan'
type RadioEtcKeys =
| 'structureOrder'