From 66b638b7e8dcc87e445a84308b5d6035f73f7149 Mon Sep 17 00:00:00 2001 From: Chika Date: Wed, 26 May 2021 15:42:52 +0300 Subject: [PATCH] radioRequirementTelematic refactor --- .../Effects/reactions/loadKpReaction/index.ts | 7 ++++++ .../reactions/loadKpReaction/mapKpToValues.ts | 2 +- .../reactions/loadKpReaction/quoteQuery.js | 2 ++ .../reactions/recalcWoRevisionReactions.ts | 22 ++++++++++++++++--- 4 files changed, 29 insertions(+), 4 deletions(-) diff --git a/src/client/stores/CalculationStore/Effects/reactions/loadKpReaction/index.ts b/src/client/stores/CalculationStore/Effects/reactions/loadKpReaction/index.ts index d70a361..cfeee5b 100644 --- a/src/client/stores/CalculationStore/Effects/reactions/loadKpReaction/index.ts +++ b/src/client/stores/CalculationStore/Effects/reactions/loadKpReaction/index.ts @@ -269,6 +269,12 @@ const loadKpReaction: IReactionEffect = calculationStore => ({ const { evo_sumpay_withnds } = evo_graph; + const requirementTelematicSource = recalcWithRevision + ? 'evo_req_telematic_accept' + : 'evo_req_telematic'; + + const requirementTelematic = quote[requirementTelematicSource]; + calculationStore.setValues({ ...initialValues, ...newValues, @@ -286,6 +292,7 @@ const loadKpReaction: IReactionEffect = calculationStore => ({ calcType, totalPayments: evo_sumpay_withnds, indAgent, + requirementTelematic, }); message.success({ diff --git a/src/client/stores/CalculationStore/Effects/reactions/loadKpReaction/mapKpToValues.ts b/src/client/stores/CalculationStore/Effects/reactions/loadKpReaction/mapKpToValues.ts index 5c13a17..96fdf2d 100644 --- a/src/client/stores/CalculationStore/Effects/reactions/loadKpReaction/mapKpToValues.ts +++ b/src/client/stores/CalculationStore/Effects/reactions/loadKpReaction/mapKpToValues.ts @@ -83,7 +83,7 @@ const mapKPtoValues: TValues = { maxPriceChange: 'evo_max_price_change', importerRewardPerc: 'evo_importer_reward_perc', importerRewardRub: 'evo_importer_reward_rub', - requirementTelematic: 'evo_req_telematic_accept', + // requirementTelematic: 'evo_req_telematic_accept', mileage: 'evo_mileage', fullPriceWithDiscount: 'evo_price_without_discount_quote', objectRegistration: 'evo_object_registration', diff --git a/src/client/stores/CalculationStore/Effects/reactions/loadKpReaction/quoteQuery.js b/src/client/stores/CalculationStore/Effects/reactions/loadKpReaction/quoteQuery.js index b45b3ce..ea905a6 100644 --- a/src/client/stores/CalculationStore/Effects/reactions/loadKpReaction/quoteQuery.js +++ b/src/client/stores/CalculationStore/Effects/reactions/loadKpReaction/quoteQuery.js @@ -37,6 +37,8 @@ export default gql` evo_vehicle_tax_approved evo_category_tr evo_vehicle_type_tax + evo_req_telematic_accept + evo_req_telematic } } `; diff --git a/src/client/stores/CalculationStore/Effects/reactions/recalcWoRevisionReactions.ts b/src/client/stores/CalculationStore/Effects/reactions/recalcWoRevisionReactions.ts index 97e9d41..1ccbb37 100644 --- a/src/client/stores/CalculationStore/Effects/reactions/recalcWoRevisionReactions.ts +++ b/src/client/stores/CalculationStore/Effects/reactions/recalcWoRevisionReactions.ts @@ -332,14 +332,30 @@ const reactionEffects: IReactionEffect[] = [ calculationStore => ({ expression: () => { - const { recalcWithRevision } = calculationStore.values; - return recalcWithRevision; + const recalcWithRevision = calculationStore.getValue( + 'recalcWithRevision', + ); + const leaseObjectType = calculationStore.getOption( + 'selectLeaseObjectType', + ); + return [recalcWithRevision, leaseObjectType]; }, - effect: recalcWithRevision => { + effect: ([recalcWithRevision, leaseObjectType]) => { + calculationStore.setStatus( + 'radioRequirementTelematic', + ElementStatus.Default, + ); if (!recalcWithRevision) { calculationStore.setFilter('radioRequirementTelematic', options => options.filter(x => x.value !== 100000003), ); + if (leaseObjectType.evo_id === '11') { + calculationStore.setValue('requirementTelematic', 100000000); + calculationStore.setStatus( + 'radioRequirementTelematic', + ElementStatus.Disabled, + ); + } } else { calculationStore.setFilter('radioRequirementTelematic', undefined); }