import Button from 'client/Elements/Button'; import Checkbox from 'client/Elements/Checkbox'; import Input from 'client/Elements/Input'; import InputNumber from 'client/Elements/InputNumber'; import Label from 'client/Elements/Label'; import Radio from 'client/Elements/Radio'; import Select from 'client/Elements/Select'; import Switch from 'client/Elements/Switch'; import Table from 'client/Elements/Table'; import TextArea from 'client/Elements/TextArea'; import { validateEmail, validateInn, validateKpp, validatePhone, } from 'client/tools/validate'; import { ISections } from 'core/types/Calculation/components'; import { ElementType } from 'core/types/Calculation/Store/elements'; const sections: ISections[] = [ { title: 'Интерес/ЛС', groups: [ { title: 'Поиск интереса в CRM', blocks: [ { // blockTitle: '', elements: [ //TODO Custom search { title: 'Выбор Интереса', Component: Select, props: { name: 'selectLead', valueName: 'lead', showSearch: true, }, }, ], layout: { width: '30%', }, }, { elements: [ //TODO Custom search { title: 'Лизинговая сделка', Component: Select, props: { name: 'selectOpportunity', valueName: 'opportunity', showSearch: true, }, }, ], layout: { width: '30%', }, }, { elements: [ //TODO Custom search { title: 'Выбор Предложения', Component: Select, props: { name: 'selectQuote', valueName: 'quote', showSearch: true, }, }, ], layout: { width: '30%', }, }, { elements: [ { title: 'Пересчет без пересмотра', Component: Switch, props: { name: 'cbxRecalcWithRevision', valueName: 'recalcWithRevision', }, }, ], }, ], }, { title: 'Создание нового интереса в CRM', blocks: [ { elements: [ { title: 'Канал привлечения', Component: Select, props: { name: 'selectChannel', valueName: 'channel', showSearch: true, }, }, { title: 'Новый контрагент', Component: Input, props: { name: 'tbxNewClient', valueName: 'newClient', }, }, { title: 'Существующий контрагент', Component: Select, props: { name: 'selectAccount', valueName: 'account', showSearch: true, }, }, { title: 'ИНН', Component: Input, props: { validation: { errorMessage: 'Некорректный ИНН', validator: validateInn, }, name: 'tbxINN', valueName: 'INN', }, }, { title: 'КПП', Component: Input, props: { validation: { errorMessage: 'Некорректный КПП', validator: validateKpp, }, name: 'tbxKPP', valueName: 'KPP', }, }, ], }, { elements: [ { title: 'Контактное лицо контрагента', Component: Select, props: { name: 'selectContactClient', valueName: 'contactClient', showSearch: true, }, }, { title: 'Контактное лицо', Component: Input, props: { name: 'tbxContact', valueName: 'contact', }, }, { title: 'Пол контактного лица', Component: Radio, props: { name: 'radioContactGender', valueName: 'contactGender', style: 'button', }, }, { title: 'Телефон', Component: Input, props: { type: 'tel', name: 'tbxPhoneNumber', valueName: 'phoneNumber', validation: { errorMessage: 'Некорректный номер телефона', validator: validatePhone, }, //TODO: mask + 7(999) 999 99 99 }, }, { title: 'E-mail', Component: Input, props: { type: 'email', name: 'tbxEmailAddress', valueName: 'emailAddress', //TODO email mask validation: { errorMessage: 'Некорректный E-mail', validator: validateEmail, }, }, }, ], }, { elements: [ { title: 'Поставщик', Component: Select, props: { name: 'selectSupplier', valueName: 'supplier', showSearch: true, }, }, { title: 'Финотдел', Component: Select, props: { name: 'selectFinDepartment', valueName: 'finDepartment', showSearch: false, }, }, { title: 'Брокер', Component: Select, props: { name: 'selectBroker', valueName: 'broker', showSearch: false, }, }, { title: 'Агент', Component: Select, props: { name: 'selectAgent', valueName: 'agent', showSearch: true, }, }, { title: 'Двойной агент', Component: Select, props: { name: 'selectDoubleAgent', valueName: 'doubleAgent', showSearch: true, }, }, ], }, { elements: [ { title: 'Комментарий к интересу', Component: TextArea, props: { name: 'tbxCommentLead', valueName: 'commentLead', }, }, ], }, { elements: [ { type: ElementType.Button, Component: Button, props: { type: 'primary', size: 'large', name: 'btnCreateLead', text: 'Создать интерес', actionName: 'createLead', }, }, ], layout: { newLine: true, }, }, ], }, ], }, { title: 'Лизинг', groups: [ { blocks: [ { elements: [ { title: 'Продукт', Component: Select, props: { name: 'selectProduct', valueName: 'product', }, }, ], layout: { width: '30%', }, }, { elements: [ { title: 'Риск клиента', Component: Select, props: { name: 'selectClientRisk', valueName: 'clientRisk', }, }, ], layout: { width: '30%', }, }, { elements: [ { title: 'Тип клиента', Component: Select, props: { name: 'selectClientType', valueName: 'clientType', }, }, ], layout: { width: '30%', }, }, ], }, { blocks: [ { title: 'Стоимость предмета лизинга и доп.оборудование', elements: [ { title: 'Валюта поставщика', Component: Select, props: { name: 'selectSupplierCurrency', valueName: 'supplierCurrency', }, }, { title: 'Стоимость предмета лизинга', Component: InputNumber, props: { min: '10000', max: '1000000000', step: '10000.00', name: 'tbxLeaseObjectPrice', valueName: 'leaseObjectPrice', }, }, // TODO formatter + rub, parser { title: 'Скидка от поставщика, рубли', Component: InputNumber, props: { min: '0', max: '1000000000', step: '10000.00', name: 'tbxSupplierDiscountRub', valueName: 'supplierDiscountRub', }, }, // TODO formatter + %, parser { title: 'Скидка от поставщика, %', Component: InputNumber, props: { min: '0', max: '100', name: 'tbxSupplierDiscountPerc', valueName: 'supplierDiscountPerc', }, }, // TODO Input x Addon { title: 'Валюта доп.оборудования', Component: Select, props: { name: 'selectAddEquipmentCurrency', valueName: 'addEquipmentCurrency', }, }, { title: 'Стоимость доп.оборудования', Component: InputNumber, props: { min: '0', max: '1000000000', step: '10000.00', name: 'tbxAddEquipmentPrice', valueName: 'addEquipmentPrice', }, }, { title: 'Плательщик доп.оборудования', Component: Radio, props: { name: 'radioAddEquipmentPayer', valueName: 'addEquipmentPayer', withSearch: false, style: 'button', }, }, ], }, { title: 'Параметры договора лизинга', elements: [ // TODO Input x Addon { title: 'Первый платеж, %', Component: InputNumber, props: { min: '0', max: '100', name: 'tbxFirstPaymentPerc', valueName: 'firstPaymentPerc', }, }, { title: 'Первый платеж, руб.', Component: InputNumber, props: { min: '0', max: '1000000000', step: '10000.00', name: 'tbxFirstPaymentRub', valueName: 'firstPaymentRub', }, }, { title: 'Последний платеж считается от', Component: Radio, props: { name: 'radioLastPaymentRule', valueName: 'lastPaymentRule', style: 'button', }, }, { title: 'Последний платеж, %', Component: InputNumber, props: { min: '0', max: '100', step: '1.000000', name: 'tbxLastPaymentPerc', valueName: 'lastPaymentPerc', }, }, { title: 'Последний платеж, руб.', Component: InputNumber, props: { min: '0', max: '1000000000', step: '10000.00', name: 'tbxLastPaymentRub', valueName: 'lastPaymentRub', }, }, { title: 'Срок лизинга, мес', Component: InputNumber, props: { min: '7', max: '60', name: 'tbxLeasingPeriod', valueName: 'leasingPeriod', }, }, { title: 'Балансодержатель', Component: Radio, props: { name: 'radioBalanceHolder', valueName: 'balanceHolder', withSearch: false, style: 'button', }, }, ], }, { title: 'Параметры графика платежей', elements: [ { title: 'Вид графика', Component: Radio, props: { name: 'radioGraphType', valueName: 'graphType', withSearch: false, }, }, // TODO: formatter, parser: % { title: 'Процент убывания платежей', Component: InputNumber, props: { min: '50', max: '99', name: 'tbxParmentsDecreasePercent', valueName: 'parmentsDecreasePercent', }, }, { title: 'Тип сезонности', Component: Radio, props: { name: 'radioSeasonType', valueName: 'seasonType', withSearch: false, style: 'button', }, }, { title: 'С какого платежа начинается высокий сезон', Component: Select, props: { name: 'selectHighSeasonStart', valueName: 'highSeasonStart', withSearch: false, }, }, ], layout: { newLine: true, }, }, { title: 'Параметры расчета', elements: [ { title: 'Комиссия, %', Component: InputNumber, props: { min: '0', max: '100', name: 'tbxComissionPerc', valueName: 'comissionPerc', }, }, { title: 'Комиссия, руб.', Component: InputNumber, props: { min: '0', max: '1000000000', step: '10000.00', name: 'tbxComissionRub', valueName: 'comissionRub', }, }, { title: 'IRR, %', Component: InputNumber, props: { min: '0.0000', max: '100.0000', step: '0.0001', name: 'tbxIRR_Perc', valueName: 'IRR_Perc', }, }, { title: 'Размер бонуса МПЛ', Component: InputNumber, props: { min: '0.00', max: '100.00', step: '1.00', name: 'tbxSaleBonus', valueName: 'saleBonus', }, }, ], }, { elements: [ { type: ElementType.Table, Component: Table, props: { name: 'tablePayments', features: { canDeleteRow: false, numerize: { columnTitle: 'Номер платежа', }, }, columns: [ { name: 'paymentRelation', title: 'Соотношение платежа', Component: InputNumber, props: { min: '0.01', max: '100.00', step: '1.00', // TODO: toFixed //numeral.js }, }, ], }, }, ], layout: { newLine: true, }, }, ], }, { blocks: [ { elements: [ // { // title: 'Таблица графика платежей', // Component: Table, // props: { // name: 'tablePaymentGraph', // valueName: 'paymentGraph', // }, // }, ], }, ], }, ], }, { title: 'ПЛ', groups: [ { blocks: [ { elements: [ { title: 'Тип предмета лизинга', Component: Select, props: { name: 'selectLeaseObjectType', valueName: 'leaseObjectType', showSearch: true, }, }, { title: 'Марка', Component: Select, props: { name: 'selectBrand', valueName: 'brand', showSearch: true, }, }, { title: 'Модель', Component: Select, props: { name: 'selectModel', valueName: 'model', showSearch: true, }, }, { title: 'Комплектация', Component: Select, props: { name: 'selectConfiguration', valueName: 'configuration', showSearch: true, }, }, ], }, { title: ' ', elements: [ // TODO: Convert to Text { title: 'Риск ПЛ', Component: Label, props: { name: 'labelLeaseObjectRisk', computedValueName: 'leaseObjectRiskName', }, }, // TODO: Convert to Text { title: 'Группа обесценения', Component: Label, props: { name: 'labelDepreciationGroup', valueName: 'depreciationGroup', }, }, { title: 'ПЛ БУ', Component: Checkbox, props: { name: 'cbxLeaseObjectUsed', valueName: 'leaseObjectUsed', }, }, { title: 'Срок поставки', Component: Radio, props: { name: 'radioDeliveryTime', valueName: 'deliveryTime', showSearch: false, style: 'button', }, }, ], }, ], }, { blocks: [ { elements: [ { title: 'Кол-во ПЛ в расчете', Component: InputNumber, props: { min: '1', max: '1000', name: 'tbxLeaseObjectCount', valueName: 'leaseObjectCount', }, }, { title: 'ПЛ используется для', Component: Select, props: { name: 'selectLeaseObjectUseFor', valueName: 'leaseObjectUseFor', showSearch: true, }, }, { title: 'Год выпуска', Component: InputNumber, props: { min: '1994', max: new Date().getUTCFullYear() + 1, name: 'tbxLeaseObjectYear', valueName: 'leaseObjectYear', }, }, { title: 'Категория ТС', Component: Select, props: { name: 'selectLeaseObjectCategory', valueName: 'leaseObjectCategory', showSearch: false, }, }, ], }, { elements: [ { title: 'Тип двигателя', Component: Select, props: { name: 'selectEngineType', valueName: 'engineType', showSearch: true, }, }, { title: 'Мощность, л.с.', Component: InputNumber, props: { min: '0.00', max: '20000.00', step: '10.00', name: 'tbxLeaseObjectMotorPower', valueName: 'leaseObjectMotorPower', }, }, { title: 'Объем двигателя, л', Component: InputNumber, props: { min: '0.00', max: '20000.00', step: '10.00', name: 'tbxEngineVolume', valueName: 'engineVolume', }, }, { title: 'Разрешенная макс.масса(кг)', Component: InputNumber, props: { min: '0', max: '999999', step: '100', name: 'tbxMaxMass', valueName: 'maxMass', }, }, ], }, { elements: [ { title: 'Количество мест', Component: InputNumber, props: { min: '0', max: '2000', name: 'tbxCountSeats', valueName: 'countSeats', }, }, { title: 'Макс. конструктивная скорость (при ПСМ)', Component: InputNumber, props: { min: '0', max: '2000', name: 'tbxMaxSpeed', valueName: 'maxSpeed', }, }, { title: 'Грузоподъемность, т', Component: InputNumber, props: { min: '0', max: '999999999', step: '100', name: 'tbxTonnage', valueName: 'tonnage', }, }, { title: 'ТС с прицепом', Component: Select, props: { name: 'selectWithTrailer', valueName: 'withTrailer', showSearch: false, }, }, ], }, ], }, ], }, { title: 'Поставщик/агент', groups: [ { title: 'Поставщик предмета лизинга', blocks: [ { elements: [ { title: 'Салон приобретения', Component: Select, props: { name: 'selectDealer', valueName: 'dealer', }, }, ], }, { elements: [ { title: 'ЮЛ поставщика', Component: Select, props: { name: 'selectDealerPerson', valueName: 'dealerPerson', }, }, { title: 'Условие АВ ЮЛ поставщика', Component: Select, props: { name: 'selectDealerRewardСondition', valueName: 'dealerRewardСondition', }, }, { title: 'Размер АВ ЮЛ поставщика', Component: InputNumber, props: { min: '0.0', max: '20.0', step: '0.1', name: 'tbxDealerRewardSumm', valueName: 'dealerRewardSumm', }, }, ], layout: { newLine: true, }, }, { elements: [ { title: 'Брокер поставщика', Component: Select, props: { name: 'selectDealerBroker', valueName: 'dealerBroker', }, }, { title: 'Условие АВ брокера поставщика', Component: Select, props: { name: 'selectDealerBrokerRewardСondition', valueName: 'dealerBrokerRewardСondition', }, }, { title: 'Размер АВ брокера поставщика', Component: InputNumber, props: { min: '0.0', max: '20.0', step: '0.1', name: 'tbxDealerBrokerRewardSumm', valueName: 'dealerBrokerRewardSumm', }, }, ], }, ], }, { title: 'Агент, передавший контакт', blocks: [ { elements: [ { title: 'Агент ФЛ', Component: Select, props: { name: 'selectIndAgent', valueName: 'indAgent', }, }, { title: 'Условие АВ агента ФЛ', Component: Select, props: { name: 'selectIndAgentRewardCondition', valueName: 'indAgentRewardCondition', }, }, { title: 'Размер АВ агента ФЛ', Component: InputNumber, props: { min: '0.0', max: '20.0', step: '0.1', name: 'tbxIndAgentRewardSumm', valueName: 'indAgentRewardSumm', }, }, ], }, { elements: [ { title: 'Двойной агент', Component: Select, props: { name: 'selectCalcDoubleAgent', valueName: 'calcDoubleAgent', }, }, { title: 'Условия АВ двойного агента', Component: Select, props: { name: 'selectCalcDoubleAgentRewardCondition', valueName: 'calcDoubleAgentRewardCondition', }, }, { title: 'Размер АВ двойного агента', Component: InputNumber, props: { min: '0.0', max: '20.0', step: '0.1', name: 'tbxCalcDoubleAgentRewardSumm', valueName: 'calcDoubleAgentRewardSumm', }, }, ], }, { elements: [ { title: 'Брокер', Component: Select, props: { name: 'selectCalcBroker', valueName: 'calcBroker', }, }, { title: 'Условие АВ брокера', Component: Select, props: { name: 'selectCalcBrokerRewardCondition', valueName: 'calcBrokerRewardCondition', }, }, { title: 'Размер АВ брокера', Component: InputNumber, props: { min: '0.0', max: '20.0', step: '0.1', name: 'tbxCalcBrokerRewardSum', valueName: 'calcBrokerRewardSum', }, }, ], layout: { newLine: true, }, }, { elements: [ { title: 'Финотдел', Component: Select, props: { name: 'selectCalcFinDepartment', valueName: 'calcFinDepartment', }, }, { title: 'Условие АВ финотдела', Component: Select, props: { name: 'selectFinDepartmentRewardCondtion', valueName: 'finDepartmentRewardCondtion', }, }, { title: 'Размер АВ финотдела', Component: InputNumber, props: { min: '0.0', max: '20.0', step: '0.1', name: 'tbxFinDepartmentRewardSumm', valueName: 'finDepartmentRewardSumm', }, }, ], }, ], }, ], }, { title: 'Страхование', groups: [ { blocks: [ { elements: [ { title: 'Марка', Component: Select, props: { name: 'selectBrand', valueName: 'brand', showSearch: true, }, }, { title: 'Модель', Component: Select, props: { name: 'selectModel', valueName: 'model', showSearch: true, }, }, { title: 'Комплектация', Component: Select, props: { name: 'selectConfiguration', valueName: 'configuration', showSearch: true, }, }, ], }, { elements: [ { title: 'Год выпуска', Component: InputNumber, props: { min: '1994', max: new Date().getUTCFullYear() + 1, name: 'tbxLeaseObjectYear', valueName: 'leaseObjectYear', }, }, { title: 'Тип двигателя', Component: Select, props: { name: 'selectEngineType', valueName: 'engineType', showSearch: true, }, }, { title: 'Категория ТС', Component: Select, props: { name: 'selectLeaseObjectCategory', valueName: 'leaseObjectCategory', showSearch: false, }, }, ], }, { elements: [ { title: 'Мощность, л.с.', Component: InputNumber, props: { min: '0.00', max: '20000.00', step: '10.00', name: 'tbxLeaseObjectMotorPower', valueName: 'leaseObjectMotorPower', }, }, { title: 'Объем двигателя, л', Component: InputNumber, props: { min: '0.00', max: '20000.00', step: '10.00', name: 'tbxEngineVolume', valueName: 'engineVolume', }, }, { title: 'ПЛ используется для', Component: Select, props: { name: 'selectLeaseObjectUseFor', valueName: 'leaseObjectUseFor', showSearch: true, }, }, ], }, ], }, { blocks: [ { elements: [ { title: 'Децентрализованное страхование', Component: Switch, props: { name: 'cbxInsDecentral', valueName: 'insDecentral', }, }, { title: 'Тип страхования КАСКО', Component: Radio, props: { name: 'radioInsKaskoType', valueName: 'insKaskoType', style: 'button', }, }, { title: 'Франшиза', Component: InputNumber, props: { min: '0', max: '300000', step: '10000.00', name: 'tbxInsFranchise', valueName: 'insFranchise', }, }, // { // Component: Button, // props: { // type: 'primary', // name: 'btnInsCalculation', // text: 'Запрос расчета страховки', // onClick: undefined, // }, // }, // { // title: 'Срок страхования', // Component: Select, // props: { // name: 'selectInsPeriod', // valueName: 'insPeriod', // }, // }, { Component: Button, props: { type: 'ghost', name: 'btnFranschise', text: 'Заявление на франшизу', onClick: undefined, }, }, // { // title: 'Стоимость страхования доп.оборудования', // Component: InputNumber, // props: { // min: '10000', // max: '1000000000', // step: '10000.00', // name: 'tbxInsAddEquipmentPrice', // valueName: 'insAddEquipmentPrice', // }, // }, ], }, { elements: [ { title: 'Неограниченное число водителей', Component: Switch, props: { name: 'cbxInsUnlimitDrivers', valueName: 'insUnlimitDrivers', }, }, { title: 'Наименьший возраст водителей', Component: InputNumber, props: { min: '18', max: '99', name: 'tbxInsAgeDrivers', valueName: 'insAgeDrivers', }, }, { title: 'Наименьший стаж водителей', Component: InputNumber, props: { min: '0', max: '99', name: 'tbxInsExpDrivers', valueName: 'insExpDrivers', }, }, // { // title: 'ИНН контрагента для расчета страховки', // Component: InputNumber, // props: { // name: 'tbxINNForCalc', // valueName: 'INNForCalc', // }, // }, { Component: Button, props: { type: 'ghost', name: 'btnDriversApplication', text: 'Заявление на ограничения по водителям', onClick: undefined, }, }, ], }, { elements: [ { title: 'Марка GPS', Component: Select, props: { name: 'selectGPSBrand', valueName: 'GPSBrand', }, }, { title: 'Модель GPS', Component: Select, props: { name: 'selectGPSModel', valueName: 'GPSModel', }, }, { title: 'Регион регистрации', Component: Select, props: { name: 'selectRegionRegistration', valueName: 'regionRegistration', }, }, { title: 'Город регистрации', Component: Select, props: { name: 'selectTownRegistration', valueName: 'townRegistration', }, }, // { // title: 'ОПФ для расчета страховки', // Component: Select, // props: { // name: 'selectInfuranceOPF', // valueName: 'infuranceOPF', // }, // }, { title: 'Стоимость страховки КАСКО на весь срок', Component: InputNumber, props: { name: 'tbxInsKaskoPriceLeasePeriod', computedValueName: 'insKaskoPriceLeasePeriod', }, }, ], }, { elements: [ { type: ElementType.Table, Component: Table, props: { name: 'tableInsurance', columns: [ { name: 'policyType', title: 'Тип полиса', Component: Label, }, { name: 'insuranceCompany', title: 'Страховая компания', Component: Select, }, { name: 'insured', title: 'Плательщик', Component: Select, }, { name: 'insCost', title: 'Стоимость полиса', Component: InputNumber, props: { min: '0.00', max: '1500000.00', step: '1000.00', }, }, { name: 'insTerm', title: 'Срок страхования', Component: Select, }, ], }, }, ], }, ], }, ], }, { title: 'Доп. продукты', groups: [ { blocks: [ { elements: [], }, ], }, ], }, { title: 'Создание КП', groups: [ { blocks: [ { elements: [ { title: 'Последний платеж считать выкупным', Component: Switch, props: { name: 'cbxLastPaymentRedemption', valueName: 'lastPaymentRedemption', }, }, { title: 'Отображать стоимость ПЛ со скидкой', Component: Switch, props: { name: 'cbxPriceWithDiscount', valueName: 'priceWithDiscount', }, }, { title: 'Отображать удорожание', Component: Switch, props: { name: 'cbxCostIncrease', valueName: 'costIncrease', }, }, ], }, { elements: [ { title: 'Отображать страхование', Component: Switch, props: { name: 'cbxInsurance', valueName: 'insurance', }, }, { title: 'Отображать доп. оборудование', Component: Switch, props: { name: 'cbxAddEquipment', valueName: 'addEquipment', }, }, { title: 'Отображать регистрацию', Component: Switch, props: { name: 'cbxRegistrationQuote', valueName: 'registrationQuote', }, }, ], }, { elements: [ { title: 'Отображать карту техпомощи', Component: Switch, props: { name: 'cbxTechnicalCardQuote', valueName: 'technicalCardQuote', }, }, { title: 'Отображать НСИБ', Component: Switch, props: { name: 'cbxNSIB', valueName: 'NSIB', }, }, { title: 'Отображать график досрочного выкупа', Component: Switch, props: { name: 'cbxQuoteRedemptionGraph', valueName: 'quoteRedemptionGraph', }, }, ], }, { elements: [ { title: 'Имя', Component: Input, props: { name: 'tbxQuoteName', valueName: 'quoteName', }, }, ], layout: { newLine: true, }, }, { elements: [ { title: 'Пол', Component: Radio, props: { name: 'radioQuoteContactGender', valueName: 'quoteContactGender', style: 'button', }, }, ], }, ], }, { blocks: [ { elements: [ { Component: Button, props: { type: 'primary', size: 'large', name: 'btnCreateKP', text: 'Создать КП', onClick: undefined, }, }, ], }, ], }, ], }, { title: 'Без ограничений', groups: [ { blocks: [ { elements: [ { title: 'Загрузить сессию пользователя', Component: Select, props: { name: 'selectUserSession', valueName: 'userSession', }, }, ], }, ], }, { blocks: [ { elements: [ { title: 'Отключить все проверки', Component: Switch, props: { name: 'cbxDisableChecks', valueName: 'disableChecks', }, }, { title: 'Тариф', Component: Select, props: { name: 'selectTarif', valueName: 'Tarif', }, }, { title: 'Ставка привлечения, %', Component: InputNumber, props: { min: '0.00', max: '99.99', step: '0.1', name: 'tbxCreditRate', valueName: 'creditRate', }, }, { title: 'Ставка привлечения', Component: Select, props: { name: 'selectRate', valueName: 'rate', }, }, { title: 'Требование телематики', Component: Radio, props: { name: 'radioRequirementTelematic', valueName: 'requirementTelematic', style: 'button', }, }, ], }, { elements: [ { title: 'Децентрализованное страхование', Component: Switch, props: { name: 'cbxInsuranceDecentral', valueName: 'insuranceDecentral', }, }, { title: 'Макс.возможное изменение стоимости ПЛ', Component: InputNumber, props: { min: '0', max: '1000000000', step: '10000.00', name: 'tbxMaxPriceChange', valueName: 'maxPriceChange', }, }, { title: 'АВ импортера,%', Component: InputNumber, props: { min: '0.00', max: '99.99', step: '0.1', name: 'tbxImporterRewardPerc', valueName: 'importerRewardPerc', }, }, { title: 'АВ импортера,руб.', Component: InputNumber, props: { min: '0', max: '1000000000', step: '10000.00', name: 'tbxImporterRewardRub', valueName: 'importerRewardRub', }, }, ], }, ], }, ], }, ]; export default sections;