계좌성명조회 뱃지 적용

This commit is contained in:
focp212@naver.com
2025-11-17 19:32:13 +09:00
parent 388f58e3d4
commit 82ead81e51

View File

@@ -30,6 +30,15 @@ import { AccountHolderSearchDetail } from '@/entities/additional-service/ui/acco
import { showAlert } from '@/widgets/show-alert'; import { showAlert } from '@/widgets/show-alert';
import { checkGrant } from '@/shared/lib/check-grant'; import { checkGrant } from '@/shared/lib/check-grant';
const defaultParams = {
searchCl: AccountHolderSearchCl.ACCOUNT_NAME,
searchValue: '',
startDate: moment().format('YYYYMMDD'),
endDate: moment().format('YYYYMMDD'),
bank: '',
resultStatus: AccountHolderResultStatus.ALL,
};
export const AccountHolderSearchPage = () => { export const AccountHolderSearchPage = () => {
const { navigate } = useNavigate(); const { navigate } = useNavigate();
const { t } = useTranslation(); const { t } = useTranslation();
@@ -47,12 +56,12 @@ export const AccountHolderSearchPage = () => {
const [pageParam, setPageParam] = useState<DefaultRequestPagination>(DEFAULT_PAGE_PARAM); const [pageParam, setPageParam] = useState<DefaultRequestPagination>(DEFAULT_PAGE_PARAM);
const [filterOn, setFilterOn] = useState<boolean>(false); const [filterOn, setFilterOn] = useState<boolean>(false);
const [mid, setMid] = useState<string>(userMid); const [mid, setMid] = useState<string>(userMid);
const [searchCl, setSearchCl] = useState<AccountHolderSearchCl>(AccountHolderSearchCl.ACCOUNT_NAME) const [searchCl, setSearchCl] = useState<AccountHolderSearchCl>(defaultParams.searchCl)
const [searchValue, setSearchValue] = useState<string>(''); const [searchValue, setSearchValue] = useState<string>(defaultParams.searchValue);
const [startDate, setStartDate] = useState(moment().format('YYYYMMDD')); const [startDate, setStartDate] = useState<string>(defaultParams.startDate);
const [endDate, setEndDate] = useState(moment().format('YYYYMMDD')); const [endDate, setEndDate] = useState<string>(defaultParams.endDate);
const [bank, setBank] = useState<string>(''); const [bank, setBank] = useState<string>(defaultParams.bank);
const [resultStatus, setResultStatus] = useState<AccountHolderResultStatus>(AccountHolderResultStatus.ALL); const [resultStatus, setResultStatus] = useState<AccountHolderResultStatus>(defaultParams.resultStatus);
const [downloadBottomSheetOn, setDownloadBottomSheetOn] = useState<boolean>(false); const [downloadBottomSheetOn, setDownloadBottomSheetOn] = useState<boolean>(false);
@@ -60,6 +69,8 @@ export const AccountHolderSearchPage = () => {
const [detailMid, setDetailMid] = useState<string>(''); const [detailMid, setDetailMid] = useState<string>('');
const [detailTid, setDetailTid] = useState<string>(''); const [detailTid, setDetailTid] = useState<string>('');
const [filterUsed, setFilterUsed] = useState<boolean>(false);
useSetHeaderTitle(t('additionalService.services.accountHolderSearch')); useSetHeaderTitle(t('additionalService.services.accountHolderSearch'));
useSetHeaderType(HeaderType.LeftArrow); useSetHeaderType(HeaderType.LeftArrow);
useSetFooterMode(false); useSetFooterMode(false);
@@ -200,8 +211,23 @@ export const AccountHolderSearchPage = () => {
} }
}; };
const checkUsedFilter = () => {
let rs: boolean = true;
if(searchCl === defaultParams.searchCl
&& searchValue === defaultParams.searchValue
&& startDate === defaultParams.startDate
&& endDate === defaultParams.endDate
&& bank === defaultParams.bank
&& resultStatus === defaultParams.resultStatus
){
rs = false;
}
setFilterUsed(rs);
};
useEffect(() => { useEffect(() => {
callList(); callList();
checkUsedFilter();
}, [ }, [
mid, mid,
searchCl, searchCl,
@@ -212,10 +238,11 @@ export const AccountHolderSearchPage = () => {
resultStatus, resultStatus,
sortType sortType
]); ]);
if (!hasAccess) { if (!hasAccess) {
return <AccessDeniedDialog />; return <AccessDeniedDialog />;
} }
return ( return (
<> <>
@@ -240,6 +267,9 @@ export const AccountHolderSearchPage = () => {
alt={t('common.searchOptions')} alt={t('common.searchOptions')}
onClick={ onClickToOpenFilter } onClick={ onClickToOpenFilter }
/> />
{ filterUsed &&
<span className="notification-badge2"></span>
}
</button> </button>
</div> </div>
<button <button