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 = () => {