stores: add default options
This commit is contained in:
parent
94a624b6b6
commit
a1d2ba6e98
@ -9,7 +9,6 @@ export type BaseElementProps<ValueType> = {
|
||||
};
|
||||
|
||||
export type BaseOption = {
|
||||
name: string;
|
||||
label: string;
|
||||
value: any;
|
||||
};
|
||||
|
||||
393
config/default-options.ts
Normal file
393
config/default-options.ts
Normal file
@ -0,0 +1,393 @@
|
||||
import { orderBy } from 'lodash';
|
||||
import type { CalculationOptions } from 'stores/calculation/options/types';
|
||||
|
||||
const defaultOptions: Partial<CalculationOptions> = {
|
||||
radioLastPaymentRule: [
|
||||
{
|
||||
label: 'равен платежу',
|
||||
value: 100000002,
|
||||
},
|
||||
{
|
||||
label: 'в рублях',
|
||||
value: 100000000,
|
||||
},
|
||||
{
|
||||
label: 'в %',
|
||||
value: 100000001,
|
||||
},
|
||||
],
|
||||
|
||||
radioBalanceHolder: [
|
||||
{
|
||||
label: 'Лизингополучатель',
|
||||
value: 100000000,
|
||||
},
|
||||
{
|
||||
label: 'Лизингодатель',
|
||||
value: 100000001,
|
||||
},
|
||||
],
|
||||
|
||||
radioGraphType: [
|
||||
{
|
||||
label: 'аннуитет',
|
||||
value: 100000000,
|
||||
},
|
||||
{
|
||||
label: 'дегрессия (ступенчатая)',
|
||||
value: 100000001,
|
||||
},
|
||||
{
|
||||
label: 'равноубывающий',
|
||||
value: 100000002,
|
||||
},
|
||||
{
|
||||
label: 'сезонный',
|
||||
value: 100000003,
|
||||
},
|
||||
{
|
||||
label: 'легкий старт',
|
||||
value: 100000004,
|
||||
},
|
||||
],
|
||||
|
||||
selectSeasonType: [
|
||||
{
|
||||
label: '6/6',
|
||||
value: 100000000,
|
||||
},
|
||||
{
|
||||
label: '8/4',
|
||||
value: 100000001,
|
||||
},
|
||||
{
|
||||
label: '4/4/4',
|
||||
value: 100000002,
|
||||
},
|
||||
{
|
||||
label: 'Гибкая дегрессия',
|
||||
value: 100000007,
|
||||
},
|
||||
{
|
||||
label: '100.50.25',
|
||||
value: 100000003,
|
||||
},
|
||||
{
|
||||
label: '100.30.10',
|
||||
value: 100000004,
|
||||
},
|
||||
{
|
||||
label: '100.70.40',
|
||||
value: 100000005,
|
||||
},
|
||||
{
|
||||
label: '100.7.3',
|
||||
value: 100000006,
|
||||
},
|
||||
],
|
||||
|
||||
selectHighSeasonStart: Array.from(
|
||||
{
|
||||
length: 12,
|
||||
},
|
||||
(_, i) => ({
|
||||
label: `${i + 2}`,
|
||||
value: 100000000 + i,
|
||||
})
|
||||
),
|
||||
|
||||
radioDeliveryTime: [
|
||||
{
|
||||
label: 'В наличии',
|
||||
value: 100000000,
|
||||
},
|
||||
{
|
||||
label: 'В поставке',
|
||||
value: 100000001,
|
||||
},
|
||||
],
|
||||
|
||||
selectEngineType: [
|
||||
{
|
||||
label: 'Бензин',
|
||||
value: 100000000,
|
||||
},
|
||||
{
|
||||
label: 'Дизель',
|
||||
value: 100000001,
|
||||
},
|
||||
{
|
||||
label: 'Газ',
|
||||
value: 100000002,
|
||||
},
|
||||
{
|
||||
label: 'Электрический',
|
||||
value: 100000003,
|
||||
},
|
||||
{
|
||||
label: 'Гибрид',
|
||||
value: 100000004,
|
||||
},
|
||||
],
|
||||
|
||||
selectLeaseObjectCategory: [
|
||||
{
|
||||
label: 'A',
|
||||
value: 100000000,
|
||||
},
|
||||
{
|
||||
label: 'B',
|
||||
value: 100000001,
|
||||
},
|
||||
{
|
||||
label: 'C',
|
||||
value: 100000002,
|
||||
},
|
||||
{
|
||||
label: 'D',
|
||||
value: 100000003,
|
||||
},
|
||||
{
|
||||
label: 'Прицеп',
|
||||
value: 100000004,
|
||||
},
|
||||
],
|
||||
|
||||
selectLeaseObjectUseFor: orderBy(
|
||||
[
|
||||
{
|
||||
label: 'Для представительских целей',
|
||||
value: 100000000,
|
||||
},
|
||||
{
|
||||
label: 'Для использования в качестве «такси»',
|
||||
value: 100000001,
|
||||
},
|
||||
{
|
||||
label: 'Для передачи третьим лицам (прокат; аренда)',
|
||||
value: 100000002,
|
||||
},
|
||||
{
|
||||
label: 'Каршеринг',
|
||||
value: 100000003,
|
||||
},
|
||||
{
|
||||
label: 'Тест-драйв',
|
||||
value: 100000004,
|
||||
},
|
||||
{
|
||||
label: 'Для доставки продуктов конечному потребителю',
|
||||
value: 100000005,
|
||||
},
|
||||
{
|
||||
label: 'Для обучения вождению',
|
||||
value: 100000006,
|
||||
},
|
||||
{
|
||||
label: 'Маршрутные такси / Рейсовые автобусы',
|
||||
value: 100000007,
|
||||
},
|
||||
{
|
||||
label: 'Междугородние перевозки',
|
||||
value: 100000008,
|
||||
},
|
||||
{
|
||||
label: 'Для перевозки крупногабаритных грузов',
|
||||
value: 100000009,
|
||||
},
|
||||
{
|
||||
label: 'Для перевозки малогабаритных грузов',
|
||||
value: 100000010,
|
||||
},
|
||||
{
|
||||
label: 'Для перевозки сотрудников других организаций (водитель ЛП)',
|
||||
value: 100000011,
|
||||
},
|
||||
{
|
||||
label: 'Для перевозки сотрудников ЛП',
|
||||
value: 100000012,
|
||||
},
|
||||
{
|
||||
label: 'Для экскурсионных перевозок в т.ч. на торжества; трансфер в аэропорт и пр.',
|
||||
value: 100000013,
|
||||
},
|
||||
{
|
||||
label: 'Дорожно-строительная техника',
|
||||
value: 100000014,
|
||||
},
|
||||
{
|
||||
label: 'Жилищно-коммунальное хозяйство',
|
||||
value: 100000015,
|
||||
},
|
||||
{
|
||||
label: 'Лесное хозяйство',
|
||||
value: 100000016,
|
||||
},
|
||||
{
|
||||
label: 'Подъёмно-транспортная отрасль',
|
||||
value: 100000017,
|
||||
},
|
||||
{
|
||||
label: 'Сельское хозяйство',
|
||||
value: 100000018,
|
||||
},
|
||||
{
|
||||
label: 'Строительство',
|
||||
value: 100000019,
|
||||
},
|
||||
],
|
||||
(objectUseFor) => objectUseFor.label.toLowerCase(),
|
||||
['asc']
|
||||
),
|
||||
|
||||
radioInfuranceOPF: [
|
||||
{
|
||||
label: 'ЮЛ',
|
||||
value: 100000000,
|
||||
},
|
||||
{
|
||||
label: 'ИП',
|
||||
value: 100000001,
|
||||
},
|
||||
],
|
||||
|
||||
radioInsKaskoType: [
|
||||
{
|
||||
label: 'Полное',
|
||||
value: 100000000,
|
||||
},
|
||||
{
|
||||
label: 'Усеченное',
|
||||
value: 100000001,
|
||||
},
|
||||
],
|
||||
|
||||
radioQuoteContactGender: [
|
||||
{
|
||||
label: 'Мужской',
|
||||
value: 100000000,
|
||||
},
|
||||
{
|
||||
label: 'Женский',
|
||||
value: 100000001,
|
||||
},
|
||||
],
|
||||
|
||||
radioRequirementTelematic: [
|
||||
{
|
||||
label: 'Не требуется',
|
||||
value: 100000004,
|
||||
},
|
||||
{
|
||||
label: 'START',
|
||||
value: 100000000,
|
||||
},
|
||||
{
|
||||
label: 'START+',
|
||||
value: 100000001,
|
||||
},
|
||||
{
|
||||
label: 'COMFORT',
|
||||
value: 100000002,
|
||||
},
|
||||
{
|
||||
label: 'COMFORT+',
|
||||
value: 100000003,
|
||||
},
|
||||
{
|
||||
label: 'Omnicomm_1',
|
||||
value: 100000005,
|
||||
},
|
||||
{
|
||||
label: 'Omnicomm_2',
|
||||
value: 100000006,
|
||||
},
|
||||
{
|
||||
label: 'Omnicomm_3',
|
||||
value: 100000007,
|
||||
},
|
||||
],
|
||||
radioCalcType: [
|
||||
{
|
||||
label: 'IRR',
|
||||
value: 100000000,
|
||||
},
|
||||
{
|
||||
label: 'Суммы',
|
||||
value: 100000001,
|
||||
},
|
||||
],
|
||||
radioObjectRegistration: [
|
||||
{
|
||||
label: 'Лизингополучатель',
|
||||
value: 100000000,
|
||||
},
|
||||
{
|
||||
label: 'Лизингодатель',
|
||||
value: 100000001,
|
||||
},
|
||||
],
|
||||
radioTypePTS: [
|
||||
{
|
||||
label: 'Бумажный',
|
||||
value: 100000000,
|
||||
},
|
||||
{
|
||||
label: 'Электронный',
|
||||
value: 100000001,
|
||||
},
|
||||
],
|
||||
selectObjectCategoryTax: [
|
||||
'M1',
|
||||
'M2',
|
||||
'M3',
|
||||
'M1G',
|
||||
'M2G',
|
||||
'M3G',
|
||||
'N1',
|
||||
'N2',
|
||||
'N3',
|
||||
'N1G',
|
||||
'N2G',
|
||||
'N3G',
|
||||
'O1',
|
||||
'O2',
|
||||
'O3',
|
||||
'O4',
|
||||
'L1',
|
||||
'L2',
|
||||
'L3',
|
||||
'L4',
|
||||
'L5',
|
||||
].map((label, i) => ({
|
||||
label,
|
||||
value: 100000000 + i,
|
||||
})),
|
||||
selectObjectTypeTax: [
|
||||
{
|
||||
label: 'Автобус',
|
||||
type: 'D',
|
||||
},
|
||||
{
|
||||
label: 'Легковой',
|
||||
type: 'B',
|
||||
},
|
||||
{
|
||||
label: 'Грузовой',
|
||||
type: 'C',
|
||||
},
|
||||
{
|
||||
label: 'Спецтехника',
|
||||
type: 'T',
|
||||
},
|
||||
{
|
||||
label: 'Мотоцикл',
|
||||
type: 'A',
|
||||
},
|
||||
].map((v, i) => ({
|
||||
...v,
|
||||
value: 100000000 + i,
|
||||
})),
|
||||
};
|
||||
|
||||
export default defaultOptions;
|
||||
@ -4,6 +4,7 @@
|
||||
/* eslint-disable object-curly-newline */
|
||||
/* eslint-disable import/no-cycle */
|
||||
import type { Elements } from 'Components/Calculation/config/map-values';
|
||||
import defaultOptions from 'config/default-options';
|
||||
import type { BaseOption } from 'Elements/types';
|
||||
import { mergeWith } from 'lodash';
|
||||
import { makeAutoObservable } from 'mobx';
|
||||
@ -28,7 +29,7 @@ const AUTO_SET_VALUE_ELEMENTS: Elements[] = [
|
||||
|
||||
export default class OptionsStore {
|
||||
root: RootStore;
|
||||
options: Partial<CalculationOptions> = {};
|
||||
options = defaultOptions;
|
||||
filters: Partial<OptionsFilters> = {};
|
||||
|
||||
constructor(rootStore: RootStore) {
|
||||
@ -36,7 +37,7 @@ export default class OptionsStore {
|
||||
this.root = rootStore;
|
||||
}
|
||||
|
||||
hydrate = (initialOptions: Partial<CalculationOptions>) => {
|
||||
hydrate = (initialOptions: CalculationOptions) => {
|
||||
this.options = initialOptions;
|
||||
};
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user