From 4c1ab5fd4a6b59255b6b1b41f3638deff781a5bc Mon Sep 17 00:00:00 2001 From: Chika Date: Sun, 22 Nov 2020 23:01:29 +0300 Subject: [PATCH] send additionaldata for checking results --- src/client/Elements/Notification.ts | 1 + .../stores/CalculationStore/Effects/action.ts | 18 +++++++++++++++--- .../Effects/lib/additionalData.ts | 19 +++++++++++++++++++ 3 files changed, 35 insertions(+), 3 deletions(-) create mode 100644 src/client/stores/CalculationStore/Effects/lib/additionalData.ts diff --git a/src/client/Elements/Notification.ts b/src/client/Elements/Notification.ts index eb8d60a..d346f6e 100644 --- a/src/client/Elements/Notification.ts +++ b/src/client/Elements/Notification.ts @@ -21,6 +21,7 @@ export const openNotification = ({ style: { zIndex: 9999999999, }, + duration: 10, }), 750, ); diff --git a/src/client/stores/CalculationStore/Effects/action.ts b/src/client/stores/CalculationStore/Effects/action.ts index f5682a1..97b5e96 100644 --- a/src/client/stores/CalculationStore/Effects/action.ts +++ b/src/client/stores/CalculationStore/Effects/action.ts @@ -12,6 +12,7 @@ import { Status } from 'core/types/statuses'; import { TableProps } from 'core/types/Calculation/Store/tables'; import { resultsValues } from 'core/types/Calculation/Store/values'; import valuesConstants from 'core/constants/values'; +import getAdditionalData from './lib/additionalData'; const cleanResults = () => { for (let resultValue of resultsValues) { @@ -316,13 +317,19 @@ const actions: TAction = { var preparedData = prepareCalculationData({ calculationStore: CalculationStore, }); + console.log('preparedData', preparedData); + + var additionalData = getAdditionalData({ + calculationStore: CalculationStore, + }); + console.log('additionalData', additionalData); CalculationStore.cleanTable('tableResults'); - - console.log('preparedData', preparedData); cleanResults(); - return CalculationService.calculate(preparedData) + return CalculationService.calculate( + Object.assign(preparedData, { additionalData }), + ) .then(res => { message.success({ content: 'Расчет завершен успешно!', @@ -433,6 +440,11 @@ const actions: TAction = { openNotification({ type: 'error', title: 'Ошибка во время расчета!', + description: + err.response && + err.response.data && + err.response.data.errors && + err.response.data.errors.join(', '), })(); unlockButtons(); diff --git a/src/client/stores/CalculationStore/Effects/lib/additionalData.ts b/src/client/stores/CalculationStore/Effects/lib/additionalData.ts new file mode 100644 index 0000000..8b2a8be --- /dev/null +++ b/src/client/stores/CalculationStore/Effects/lib/additionalData.ts @@ -0,0 +1,19 @@ +import { ICalculationStore } from 'core/types/Calculation/Store/index'; +export default ({ + calculationStore, +}: { + calculationStore: ICalculationStore; +}): any => { + const selectedTarifId = calculationStore.values.tarif; + if (selectedTarifId) { + const tarif = calculationStore.options.selectTarif?.find( + x => x.evo_tarifid === selectedTarifId, + ); + if (tarif) { + return { + minCashflowMSFONominal: tarif.evo_min_irr, + maxCashflowMSFONominal: tarif.evo_max_irr, + }; + } + } +};