fix(TEAMMSBMOB-22838): фикс выбора улучшенного предложения

This commit is contained in:
Лисицын Даниил
2026-01-28 17:29:17 +03:00
parent 46bd54cd05
commit 57e5c006c9
3 changed files with 8 additions and 2 deletions
@@ -16,9 +16,10 @@ interface Props {
rateValue: string;
currency: string;
formRef: RefObject<any>;
setLastTouchedField(fieldName: string): void;
}
const TreasuryDealsBestRates = ({ treausuryDealsBestRatesData, rateValue, currency, formRef }: Props) => {
const TreasuryDealsBestRates = ({ treausuryDealsBestRatesData, rateValue, currency, formRef, setLastTouchedField }: Props) => {
const location = useLocation<{ docType: DOC_TYPES }>();
const { docType } = location.state;
const [selectedRate, setSelectedRate] = useState<number | null>(null);
@@ -41,6 +42,8 @@ const TreasuryDealsBestRates = ({ treausuryDealsBestRatesData, rateValue, curren
formRef.current.batch(() => {
formRef.current.change(TREASURY_DEALS_FORM_FIELDS.AMOUNT, amount);
formRef.current.change(TREASURY_DEALS_FORM_FIELDS.PERIOD, period);
// необходимо для получения ставки, если пользователь не сразу нажал на лучшее предложение, а перед этим взаимодействовал с неважными полями для получения ставки
setLastTouchedField(TREASURY_DEALS_FORM_FIELDS.AMOUNT);
});
}, [selectedRate, treausuryDealsBestRatesData, formRef]);
@@ -490,6 +490,7 @@ const TreasuryDealsPage = () => {
{treasuryDealsRatesData && (
<TreasuryDealsRates
formRef={formRef}
setLastTouchedField={setLastTouchedField}
treasuryDealsRateData={treasuryDealsRatesData}
treausuryDealsBestRatesData={treasuryDealsBestRatesData}
/>
@@ -10,9 +10,10 @@ interface Props {
treasuryDealsRateData: DocumentRateResponseDto;
treausuryDealsBestRatesData?: BestRatesResponseDto;
formRef: RefObject<any>;
setLastTouchedField(fieldName: string): void;
}
const TreasuryDealsRates = ({ treasuryDealsRateData, treausuryDealsBestRatesData, formRef }: Props) => {
const TreasuryDealsRates = ({ treasuryDealsRateData, treausuryDealsBestRatesData, formRef, setLastTouchedField }: Props) => {
if (!treasuryDealsRateData?.data?.dealRate) {
return (
<Informer statusIcon variant="warning">
@@ -31,6 +32,7 @@ const TreasuryDealsRates = ({ treasuryDealsRateData, treausuryDealsBestRatesData
currency={currency}
formRef={formRef}
rateValue={rateValue}
setLastTouchedField={setLastTouchedField}
treausuryDealsBestRatesData={treausuryDealsBestRatesData}
/>
)}