diff --git a/src/entities/additional-service/model/sms-payment/types.ts b/src/entities/additional-service/model/sms-payment/types.ts index cffd94c..fad7ba7 100644 --- a/src/entities/additional-service/model/sms-payment/types.ts +++ b/src/entities/additional-service/model/sms-payment/types.ts @@ -73,6 +73,7 @@ export interface ExtensionSmsDetailResponse { export interface ExtensionSmsResendParams extends ExtensionRequestParams { tid: string; + sendMessage: string; } diff --git a/src/entities/additional-service/ui/link-payment/apply/link-payment-step1.tsx b/src/entities/additional-service/ui/link-payment/apply/link-payment-step1.tsx index 06df058..3826843 100644 --- a/src/entities/additional-service/ui/link-payment/apply/link-payment-step1.tsx +++ b/src/entities/additional-service/ui/link-payment/apply/link-payment-step1.tsx @@ -4,7 +4,8 @@ import { useSetOnBack } from '@/widgets/sub-layout/use-sub-layout'; import { SingleDatePicker } from '@/shared/ui/filter/single-date-picker'; import { LinkPaymentFormData, LinkPaymentSendMethod } from '@/entities/additional-service/model/link-pay/types'; import { NumericFormat } from 'react-number-format'; -import { ChangeEvent } from 'react'; +import { useStore } from '@/shared/model/store'; +import { useEffect } from 'react'; interface LinkPaymentStep1Props { formData: LinkPaymentFormData; @@ -13,11 +14,22 @@ interface LinkPaymentStep1Props { export const LinkPaymentStep1 = ({ formData, setFormData }: LinkPaymentStep1Props) => { const { navigate } = useNavigate(); + const midOptionsWithoutGids = useStore.getState().UserStore.selectOptionsMidsWithoutGids; useSetOnBack(() => { navigate(PATHS.additionalService.linkPayment.shippingHistory); }); + // MID가 비어있고 옵션이 있으면 첫 번째 옵션으로 설정 + useEffect(() => { + if (!formData.mid && midOptionsWithoutGids.length > 0) { + const firstMid = midOptionsWithoutGids[0]?.value; + if (firstMid) { + setFormData({ ...formData, mid: firstMid }); + } + } + }, []); + const handlePaymentMethodChange = (method: LinkPaymentSendMethod) => { setFormData({ ...formData, sendMethod: method }); }; @@ -26,12 +38,6 @@ export const LinkPaymentStep1 = ({ formData, setFormData }: LinkPaymentStep1Prop setFormData({ ...formData, [field]: value }); }; - const handleAmountChange = (value: string) => { - const onlyNumbers = value.replace(/[^0-9]/g, ''); - const numericValue = onlyNumbers === '' ? 0 : parseInt(onlyNumbers, 10); - setFormData({ ...formData, amount: numericValue }); - }; - const handleDateChange = (date: string) => { setFormData({ ...formData, paymentLimitDate: date }); }; @@ -47,7 +53,14 @@ export const LinkPaymentStep1 = ({ formData, setFormData }: LinkPaymentStep1Prop value={formData.mid} onChange={(e) => handleInputChange('mid', e.target.value)} > - + { + midOptionsWithoutGids.map((value) => ( + + )) + } @@ -100,7 +113,7 @@ export const LinkPaymentStep1 = ({ formData, setFormData }: LinkPaymentStep1Prop thousandSeparator={true} onValueChange={(values) => { const { floatValue } = values; - setFormData({...formData, amount: floatValue ?? 0}); + setFormData({ ...formData, amount: floatValue ?? 0 }); }} /> diff --git a/src/entities/additional-service/ui/list-item.tsx b/src/entities/additional-service/ui/list-item.tsx index 0852721..978a4eb 100644 --- a/src/entities/additional-service/ui/list-item.tsx +++ b/src/entities/additional-service/ui/list-item.tsx @@ -608,7 +608,7 @@ export const ListItem = ({ >{getAlimtalkSendClTypeText(sendCl)} ); } - else if (additionalServiceCategory === AdditionalServiceCategory.SMSPayment && onResendClick && resendEnabled) { + else if (additionalServiceCategory === AdditionalServiceCategory.SMSPayment && onResendClick) { rs.push(
{ console.log("Resend 성공: ", rs); appBridge.showToast("SMS 발송을 성공하였습니다."); diff --git a/src/pages/additional-service/account-holder-search/request-page.tsx b/src/pages/additional-service/account-holder-search/request-page.tsx index e156fd6..37b8fc8 100644 --- a/src/pages/additional-service/account-holder-search/request-page.tsx +++ b/src/pages/additional-service/account-holder-search/request-page.tsx @@ -1,4 +1,4 @@ -import { useState } from 'react'; +import { useState, useEffect } from 'react'; import { PATHS } from '@/shared/constants/paths'; import { useNavigate } from '@/shared/lib/hooks/use-navigate'; import { HeaderType } from '@/entities/common/model/types'; @@ -17,7 +17,7 @@ import { snackBar } from '@/shared/lib'; export const AccountHolderSearchRequestPage = () => { const { navigate } = useNavigate(); const userMid = useStore.getState().UserStore.mid; - const midOptions = useStore.getState().UserStore.selectOptionsMids + const midOptionsWithoutGids = useStore.getState().UserStore.selectOptionsMidsWithoutGids; const bankList = useStore.getState().CommonStore.bankList useSetHeaderTitle('계좌성명조회 신청'); @@ -30,11 +30,23 @@ export const AccountHolderSearchRequestPage = () => { const { mutateAsync: accountHolderSearchRequest } = useExtensionAccountHolderSearchRequestMutation(); const [formData, setFormData] = useState({ - mid: userMid, + mid: '', bankCode: '', accountNo: '' }) + // MID 초기값 설정 + useEffect(() => { + if (!formData.mid && midOptionsWithoutGids.length > 0) { + // userMid가 옵션에 있으면 userMid 사용, 없으면 첫 번째 옵션 사용 + const midItem = midOptionsWithoutGids.filter((value) => value.value === userMid); + const initialMid = (midItem.length > 0) ? userMid : midOptionsWithoutGids[0]?.value || ''; + if (initialMid) { + setFormData({ ...formData, mid: initialMid }); + } + } + }, [midOptionsWithoutGids, userMid]); + const handleInputChange = (field: string, value: string) => { setFormData({ ...formData, [field]: value }); }; @@ -62,8 +74,8 @@ export const AccountHolderSearchRequestPage = () => { .catch((error) => { console.error("계좌성명 조회 조회 신청 실패: ", error) const errorMessage = error?.response?.data?.error?.message || - error?.message || - '계좌성명 조회 신청 중 오류가 발생했습니다.'; + error?.message || + '계좌성명 조회 신청 중 오류가 발생했습니다.'; snackBar(`[실패] ${errorMessage}`); }) }; @@ -88,7 +100,7 @@ export const AccountHolderSearchRequestPage = () => {
- +
diff --git a/src/pages/additional-service/face-auth/face-auth-page.tsx b/src/pages/additional-service/face-auth/face-auth-page.tsx index ef79012..8ced71c 100644 --- a/src/pages/additional-service/face-auth/face-auth-page.tsx +++ b/src/pages/additional-service/face-auth/face-auth-page.tsx @@ -77,7 +77,7 @@ export const FaceAuthPage = () => { const callList = (type?: string) => { let listParams: ExtensionFaceAuthListParams = { - mid: "faceauth0m", + mid: mid, userMallId: userMallId, fromDate: fromDate, toDate: toDate, diff --git a/src/pages/additional-service/fund-account/transfer-request-page.tsx b/src/pages/additional-service/fund-account/transfer-request-page.tsx index 7e0ab6c..4d95c4e 100644 --- a/src/pages/additional-service/fund-account/transfer-request-page.tsx +++ b/src/pages/additional-service/fund-account/transfer-request-page.tsx @@ -7,7 +7,7 @@ import { useSetFooterMode, useSetOnBack } from '@/widgets/sub-layout/use-sub-layout'; -import { ChangeEvent, useState } from 'react'; +import { ChangeEvent, useState, useEffect } from 'react'; import { ExtensionFundAccountTransferRegistParams, ExtensionFundAccountTransferRegistResponse } from '@/entities/additional-service/model/fund-account/types'; import { useStore } from '@/shared/model/store'; import { snackBar } from '@/shared/lib'; @@ -18,11 +18,11 @@ import { useExtensionFundAccountTransferRequestMutation } from '@/entities/addit export const FundAccountTransferRequestPage = () => { const { navigate } = useNavigate(); - const midOptions = useStore.getState().UserStore.selectOptionsMids; + const midOptionsWithoutGids = useStore.getState().UserStore.selectOptionsMidsWithoutGids; const userMid = useStore.getState().UserStore.mid; const bankList = useStore.getState().CommonStore.bankList; - const [mid, setMid] = useState(userMid); + const [mid, setMid] = useState(''); const [bankCode, setBankCode] = useState(''); const [accountNo, setAccountNo] = useState(''); const [accountName, setAccountName] = useState(''); @@ -39,6 +39,18 @@ export const FundAccountTransferRequestPage = () => { navigate(PATHS.additionalService.fundAccount.transferList); }); + // MID 초기값 설정 + useEffect(() => { + if (!mid && midOptionsWithoutGids.length > 0) { + // userMid가 옵션에 있으면 userMid 사용, 없으면 첫 번째 옵션 사용 + const midItem = midOptionsWithoutGids.filter((value) => value.value === userMid); + const initialMid = (midItem.length > 0) ? userMid : midOptionsWithoutGids[0]?.value || ''; + if (initialMid) { + setMid(initialMid); + } + } + }, [midOptionsWithoutGids, userMid]); + const resetForm = () => { setBankCode(''); setAccountNo(''); @@ -68,8 +80,8 @@ export const FundAccountTransferRequestPage = () => { } }).catch((error) => { const errorMessage = error?.response?.data?.error?.message || - error?.message || - '이체등록 중 오류가 발생했습니다.'; + error?.message || + '이체등록 중 오류가 발생했습니다.'; snackBar(`[실패] ${errorMessage}`); }); }; @@ -96,9 +108,11 @@ export const FundAccountTransferRequestPage = () => {
가맹점*
- setMid(e.target.value)}> { - midOptions.map((value) => ( + midOptionsWithoutGids.map((value) => (