diff --git a/apps/web/Components/Calculation/Form/Insurance/config.ts b/apps/web/Components/Calculation/Form/Insurance/config.ts index 933aaa9..d689749 100644 --- a/apps/web/Components/Calculation/Form/Insurance/config.ts +++ b/apps/web/Components/Calculation/Form/Insurance/config.ts @@ -9,4 +9,5 @@ export const rows: FormTabRows = [ [['selectLeaseObjectCategory', 'tbxMileage', 'tbxINNForCalc']], [['tbxLeaseObjectMotorPower', 'cbxWithTrailer', 'selectGPSBrand']], [['tbxEngineVolume', 'cbxInsDecentral', 'selectGPSModel']], + [['selectLeasingWithoutKasko', 'selectInsNSIB']], ]; diff --git a/apps/web/Components/Calculation/builders/index.js b/apps/web/Components/Calculation/builders/index.js new file mode 100644 index 0000000..17d62d4 --- /dev/null +++ b/apps/web/Components/Calculation/builders/index.js @@ -0,0 +1,4 @@ +export { default as buildAction } from './build-action'; +export { default as buildOptions } from './build-options'; +export { default as buildReadonly } from './build-readonly'; +export { default as buildValue } from './build-value'; diff --git a/apps/web/Components/Calculation/config/elements-builders.ts b/apps/web/Components/Calculation/config/elements-builders.ts index 4b5c2c9..17b0aba 100644 --- a/apps/web/Components/Calculation/config/elements-builders.ts +++ b/apps/web/Components/Calculation/config/elements-builders.ts @@ -1,7 +1,4 @@ -import buildAction from '../builders/build-action'; -import buildOptions from '../builders/build-options'; -import buildReadonly from '../builders/build-readonly'; -import buildValue from '../builders/build-value'; +import { buildAction, buildOptions, buildReadonly, buildValue } from '../builders'; import type { Elements as ActionElements } from './map/actions'; import type { Elements as ValuesElements } from './map/values'; @@ -133,6 +130,7 @@ const builders = wrapElementsBuilders({ radioObjectRegistration: buildOptions, radioTypePTS: buildOptions, tbxBonusCoefficient: buildValue, + selectLeasingWithoutKasko: buildOptions, labelLeaseObjectRisk: buildReadonly, tbxInsKaskoPriceLeasePeriod: buildReadonly, diff --git a/apps/web/Components/Calculation/config/elements-components.ts b/apps/web/Components/Calculation/config/elements-components.ts index 96d49a0..1d44bad 100644 --- a/apps/web/Components/Calculation/config/elements-components.ts +++ b/apps/web/Components/Calculation/config/elements-components.ts @@ -1,5 +1,5 @@ import type { ComponentProps } from 'react'; -import * as elements from 'ui/elements'; +import * as e from 'ui/elements'; import type { Elements as ActionElements } from './map/actions'; import type { Elements as ValuesElements } from './map/values'; @@ -8,146 +8,147 @@ function wrapComponentsMap = { tbxLeaseObjectPriceWthtVAT: 'Стоимость ПЛ без НДС', tbxVATInLeaseObjectPrice: 'НДС в стоимости ПЛ', tbxBonusCoefficient: 'Коэффициент снижения бонуса', + selectLeasingWithoutKasko: 'Лизинг без КАСКО', /** Link Elements */ linkDownloadKp: '', diff --git a/apps/web/Components/Calculation/config/map/values.ts b/apps/web/Components/Calculation/config/map/values.ts index 48f9e93..5abb8d3 100644 --- a/apps/web/Components/Calculation/config/map/values.ts +++ b/apps/web/Components/Calculation/config/map/values.ts @@ -135,6 +135,7 @@ const elementsToValues = wrapElementsMap({ labelIrrInfo: 'irrInfo', labelRegistrationDescription: 'registrationDescription', labelDepreciationGroup: 'depreciationGroup', + selectLeasingWithoutKasko: 'leasingWithoutKasko', /** Link Elements */ linkDownloadKp: 'kpUrl', diff --git a/apps/web/config/default-values.ts b/apps/web/config/default-values.ts index c6a66bb..f602bcf 100644 --- a/apps/web/config/default-values.ts +++ b/apps/web/config/default-values.ts @@ -137,6 +137,7 @@ const defaultValues: CalculationValues = { bonusCoefficient: 1, plPriceRub: 0, discountRub: 0, + leasingWithoutKasko: null, }; export default defaultValues; diff --git a/apps/web/config/schema/values.ts b/apps/web/config/schema/values.ts index 691d28c..d1b6b7a 100644 --- a/apps/web/config/schema/values.ts +++ b/apps/web/config/schema/values.ts @@ -123,6 +123,7 @@ const ValuesSchema = z.object({ VATInLeaseObjectPrice: z.number(), engineHours: z.number(), bonusCoefficient: z.number(), + leasingWithoutKasko: z.string().nullable(), /** Link Values */ kpUrl: z.string().nullable(), diff --git a/apps/web/process/init/get-data/get-main-data.js b/apps/web/process/init/get-data/get-main-data.js index cb2d1e2..3fb331b 100644 --- a/apps/web/process/init/get-data/get-main-data.js +++ b/apps/web/process/init/get-data/get-main-data.js @@ -182,12 +182,17 @@ function getMainData(query, onCompleted) { (x) => x?.evo_product_type === 100_000_002 ); + const selectLeasingWithoutKasko = data.evo_addproduct_types?.filter( + (x) => x?.evo_product_type === 100_000_007 + ); + onCompleted({ selectRegistration, selectTechnicalCard, selectTelematic, selectTracker, selectInsNSIB, + selectLeasingWithoutKasko, }); }); }