diff --git a/apps/web/config/default-statuses.ts b/apps/web/config/default-statuses.ts index dfa5acd..360fa13 100644 --- a/apps/web/config/default-statuses.ts +++ b/apps/web/config/default-statuses.ts @@ -132,7 +132,7 @@ const defaultStatuses: CalculationStatuses = { tbxSubsidySum: 'Default', tbxSupplierDiscountPerc: 'Default', tbxSupplierDiscountRub: 'Default', - tbxTotalPayments: 'Default', + tbxTotalPayments: 'Disabled', tbxVATInLeaseObjectPrice: 'Default', tbxVehicleTaxInLeasingPeriod: 'Disabled', tbxVehicleTaxInYear: 'Default', diff --git a/apps/web/process/calculate/reactions/common.ts b/apps/web/process/calculate/reactions/common.ts new file mode 100644 index 0000000..c68fa6f --- /dev/null +++ b/apps/web/process/calculate/reactions/common.ts @@ -0,0 +1,28 @@ +import type { ReactionsContext } from '@/process/types'; +import { reaction } from 'mobx'; + +export default function commonReactions({ store }: ReactionsContext) { + const { $calculation } = store; + + reaction( + () => $calculation.element('radioCalcType').getValue(), + (calcType) => { + switch (calcType) { + case 100000001: { + $calculation.element('tbxIRR_Perc').block(); + $calculation.element('tbxTotalPayments').unblock(); + break; + } + case 100000000: + default: { + $calculation.element('tbxIRR_Perc').unblock(); + $calculation.element('tbxTotalPayments').block(); + break; + } + } + }, + { + fireImmediately: true, + } + ); +} diff --git a/apps/web/process/calculate/reactions/index.js b/apps/web/process/calculate/reactions/index.js index 5aaa2fd..cc8d68a 100644 --- a/apps/web/process/calculate/reactions/index.js +++ b/apps/web/process/calculate/reactions/index.js @@ -1 +1,2 @@ +export { default as common } from './common'; export { default as validation } from './validation'; diff --git a/apps/web/process/init/inject-reactions/default.js b/apps/web/process/init/inject-reactions/default.js index 85bc5ba..952d409 100644 --- a/apps/web/process/init/inject-reactions/default.js +++ b/apps/web/process/init/inject-reactions/default.js @@ -18,6 +18,7 @@ export default function injectDefaultReactions(context) { leadOpportunityReactions.urls(context); paymentsReactions(context); calculateReactions.validation(context); + calculateReactions.common(context); supplierReactions.commonReactions(context); supplierReactions.validationReactions(context); agentsReactions.fillReactions(context);