fake data for components
This commit is contained in:
parent
246be46626
commit
1e72022551
@ -50,6 +50,7 @@
|
|||||||
"@types/cookie-parser": "^1.4.2",
|
"@types/cookie-parser": "^1.4.2",
|
||||||
"@types/cors": "^2.8.7",
|
"@types/cors": "^2.8.7",
|
||||||
"@types/express": "^4.17.7",
|
"@types/express": "^4.17.7",
|
||||||
|
"@types/faker": "^5.1.0",
|
||||||
"@types/lodash": "^4.14.159",
|
"@types/lodash": "^4.14.159",
|
||||||
"@types/morgan": "^1.9.1",
|
"@types/morgan": "^1.9.1",
|
||||||
"@types/node": "^14.6.0",
|
"@types/node": "^14.6.0",
|
||||||
@ -58,6 +59,7 @@
|
|||||||
"@types/styled-system": "^5.1.10",
|
"@types/styled-system": "^5.1.10",
|
||||||
"agentkeepalive": "^4.1.3",
|
"agentkeepalive": "^4.1.3",
|
||||||
"dotenv": "^8.2.0",
|
"dotenv": "^8.2.0",
|
||||||
|
"faker": "^5.1.0",
|
||||||
"http-proxy-middleware": "^1.0.5",
|
"http-proxy-middleware": "^1.0.5",
|
||||||
"rimraf": "^3.0.2",
|
"rimraf": "^3.0.2",
|
||||||
"webpack-node-externals": "^2.5.1"
|
"webpack-node-externals": "^2.5.1"
|
||||||
|
|||||||
@ -946,7 +946,7 @@ export default [
|
|||||||
title: 'Условие АВ агента ФЛ',
|
title: 'Условие АВ агента ФЛ',
|
||||||
Component: Select,
|
Component: Select,
|
||||||
props: {
|
props: {
|
||||||
name: 'SelectIndAgentRewardCondition',
|
name: 'selectIndAgentRewardCondition',
|
||||||
valueName: 'indAgentRewardCondition',
|
valueName: 'indAgentRewardCondition',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|||||||
@ -1,15 +1,25 @@
|
|||||||
|
import { useStores } from 'client/hooks/useStores';
|
||||||
|
import { getOptions } from 'client/services/CalculationService';
|
||||||
import { Box, Flex } from 'client/UIKit/grid';
|
import { Box, Flex } from 'client/UIKit/grid';
|
||||||
import React from 'react';
|
import React, { useEffect } from 'react';
|
||||||
import Results from './Results';
|
import Results from './Results';
|
||||||
import Sections from './Sections';
|
import Sections from './Sections';
|
||||||
|
|
||||||
const Calculation = () => {
|
const Calculation = () => {
|
||||||
|
const { calculationStore } = useStores();
|
||||||
|
useEffect(() => {
|
||||||
|
getOptions()
|
||||||
|
.then(options => {
|
||||||
|
calculationStore.applyOptions(options);
|
||||||
|
})
|
||||||
|
.catch(err => {
|
||||||
|
throw err;
|
||||||
|
});
|
||||||
|
}, []);
|
||||||
return (
|
return (
|
||||||
<Box mx={['0', '1%', '1%', '1.5%', '2%', '10%']}>
|
<Box mx={['0', '1%', '1%', '1.5%', '2%', '10%']}>
|
||||||
<Flex flexWrap="wrap" mb="50px">
|
<Flex flexWrap="wrap" mb="50px">
|
||||||
<Sections
|
<Sections flex={['1', '1', '1', '3']} />
|
||||||
flex={['1', '1', '1', '3']}
|
|
||||||
/>
|
|
||||||
<Results
|
<Results
|
||||||
flex={['1', '1', '1', '1']}
|
flex={['1', '1', '1', '1']}
|
||||||
justifyContent="center"
|
justifyContent="center"
|
||||||
|
|||||||
16
src/client/services/CalculationService.ts
Normal file
16
src/client/services/CalculationService.ts
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
import axios from 'axios';
|
||||||
|
|
||||||
|
export const getOptions = () =>
|
||||||
|
new Promise((resolve, reject) => {
|
||||||
|
axios
|
||||||
|
.get('/api/calculation/getOptions')
|
||||||
|
//@ts-ignore
|
||||||
|
.then(res => {
|
||||||
|
console.log(res);
|
||||||
|
const { options } = res.data;
|
||||||
|
resolve(options);
|
||||||
|
})
|
||||||
|
.catch(err => {
|
||||||
|
reject(err);
|
||||||
|
});
|
||||||
|
});
|
||||||
@ -31,6 +31,10 @@ const valuesActions = {
|
|||||||
setValidation(elementName, validation) {
|
setValidation(elementName, validation) {
|
||||||
this.validations[elementName] = validation;
|
this.validations[elementName] = validation;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
applyOptions(options) {
|
||||||
|
this.options = { ...this.options, ...options };
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
export { valuesData, valuesActions };
|
export { valuesData, valuesActions };
|
||||||
|
|||||||
364
src/core/fakeData/calculation.ts
Normal file
364
src/core/fakeData/calculation.ts
Normal file
@ -0,0 +1,364 @@
|
|||||||
|
import { TElements } from 'core/types/elements';
|
||||||
|
import faker from 'faker';
|
||||||
|
|
||||||
|
const calculationFakeData: TElements<any> = {
|
||||||
|
selectSupplier: [
|
||||||
|
{
|
||||||
|
name: 'RENAULT (Престиж)',
|
||||||
|
value: faker.random.uuid(),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'MITSUBISHI (Рольф)',
|
||||||
|
value: faker.random.uuid(),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Volkswagen (ФаворитАвто)',
|
||||||
|
value: faker.random.uuid(),
|
||||||
|
},
|
||||||
|
],
|
||||||
|
selectFinDepartment: [
|
||||||
|
{
|
||||||
|
name: 'Финотдел1',
|
||||||
|
value: faker.random.uuid(),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Финотдел2',
|
||||||
|
value: faker.random.uuid(),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Финотдел3',
|
||||||
|
value: faker.random.uuid(),
|
||||||
|
},
|
||||||
|
],
|
||||||
|
selectAddEquipmentCurrency: [
|
||||||
|
{
|
||||||
|
name: 'RUB',
|
||||||
|
value: 'rub',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'USD',
|
||||||
|
value: 'usd',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'EUR',
|
||||||
|
value: 'eur',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
selectClientType: [
|
||||||
|
{
|
||||||
|
name: 'Новый',
|
||||||
|
value: 'new',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Повторный',
|
||||||
|
value: 'repeat',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
selectClientRisk: [
|
||||||
|
{
|
||||||
|
name: 'Низкий',
|
||||||
|
value: 'low',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Средний',
|
||||||
|
value: 'mid',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Высокий',
|
||||||
|
value: 'high',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
selectProduct: [
|
||||||
|
{
|
||||||
|
name: 'Такси',
|
||||||
|
value: 'Taxi',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'ЕвоХард',
|
||||||
|
value: 'EuroHard',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
selectLeaseObjectType: [
|
||||||
|
{
|
||||||
|
name: 'Легковой автомобиль',
|
||||||
|
value: 'lehkovoy',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Грузовой автомобиль',
|
||||||
|
value: 'gruzovoy',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Спецтехника',
|
||||||
|
value: 'special',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Прицеп',
|
||||||
|
value: 'prizep',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
selectBrand: [
|
||||||
|
{
|
||||||
|
name: 'Audi',
|
||||||
|
value: 'audi',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'BMW',
|
||||||
|
value: 'bmw',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Chevrolet',
|
||||||
|
value: 'chevrolet',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Toyota',
|
||||||
|
value: 'toyota',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
selectModel: [
|
||||||
|
{
|
||||||
|
name: 'Q5',
|
||||||
|
value: 'q5',
|
||||||
|
brand: 'audi',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'A3',
|
||||||
|
value: 'a3',
|
||||||
|
brand: 'audi',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
selectConfiguration: [
|
||||||
|
{
|
||||||
|
name: 'Комплектация 1',
|
||||||
|
value: 'compl1',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Комплектация 2',
|
||||||
|
value: 'compl2',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
selectDealer: [
|
||||||
|
{
|
||||||
|
name: 'RENAULT (Престиж)',
|
||||||
|
value: faker.random.uuid(),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'MITSUBISHI (Рольф)',
|
||||||
|
value: faker.random.uuid(),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Volkswagen (ФаворитАвто)',
|
||||||
|
value: faker.random.uuid(),
|
||||||
|
},
|
||||||
|
],
|
||||||
|
selectDealerPerson: [
|
||||||
|
{
|
||||||
|
name: 'ООО "Престиж-Авто"',
|
||||||
|
value: faker.random.uuid(),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'ООО "Рольф"',
|
||||||
|
value: faker.random.uuid(),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'ООО "Авто-Рус-Моторс',
|
||||||
|
value: faker.random.uuid(),
|
||||||
|
},
|
||||||
|
],
|
||||||
|
selectDealerRewardСondition: [
|
||||||
|
{
|
||||||
|
name: 'АВ не более 3% ЮЛ Новый',
|
||||||
|
value: faker.random.uuid(),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: ' АВ не более 1,5% ЮЛ Новый',
|
||||||
|
value: faker.random.uuid(),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'АВ не более 1% ЮЛ Новый',
|
||||||
|
value: faker.random.uuid(),
|
||||||
|
},
|
||||||
|
],
|
||||||
|
selectDealerBroker: [
|
||||||
|
{
|
||||||
|
name: 'ИП Иванов',
|
||||||
|
value: 'Ivanov',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'ИП Смирнов',
|
||||||
|
value: 'Smirnov',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
selectDealerBrokerRewardСondition: [
|
||||||
|
{
|
||||||
|
name: 'АВ не более 3% Брокер Новый',
|
||||||
|
value: faker.random.uuid(),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: ' АВ не более 1,5% Брокер Новый',
|
||||||
|
value: faker.random.uuid(),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'АВ не более 1% Брокер Новый',
|
||||||
|
value: faker.random.uuid(),
|
||||||
|
},
|
||||||
|
],
|
||||||
|
selectIndAgentRewardCondition: [
|
||||||
|
{
|
||||||
|
name: 'АВ не более 3% ФЛ Новый',
|
||||||
|
value: faker.random.uuid(),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: ' АВ не более 1,5% ФЛ Новый',
|
||||||
|
value: faker.random.uuid(),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'АВ не более 1% ФЛ Новый',
|
||||||
|
value: faker.random.uuid(),
|
||||||
|
},
|
||||||
|
],
|
||||||
|
selectCalcBrokerRewardCondition: [
|
||||||
|
{
|
||||||
|
name: 'АВ не более 3% Брокер Новый',
|
||||||
|
value: faker.random.uuid(),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: ' АВ не более 1,5% Брокер Новый',
|
||||||
|
value: faker.random.uuid(),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'АВ не более 1% Брокер Новый',
|
||||||
|
value: faker.random.uuid(),
|
||||||
|
},
|
||||||
|
],
|
||||||
|
selectFinDepartmentRewardCondtion: [
|
||||||
|
{
|
||||||
|
name: 'АВ не более 3% ФиноФинотдел Новый',
|
||||||
|
value: faker.random.uuid(),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: ' АВ не более 1,5% Финотдел Новый',
|
||||||
|
value: faker.random.uuid(),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'АВ не более 1% Финотдел Новый',
|
||||||
|
value: faker.random.uuid(),
|
||||||
|
},
|
||||||
|
],
|
||||||
|
selectGPSBrand: [
|
||||||
|
{ name: 'Цезарь Сателлит', value: 'cezar' },
|
||||||
|
{ name: 'Аркан', value: 'arkan' },
|
||||||
|
{ name: 'КобраКоннекс', value: 'kobra' },
|
||||||
|
],
|
||||||
|
selectGPSModel: [
|
||||||
|
{
|
||||||
|
name: 'OmegaX',
|
||||||
|
value: 'omegax',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Platinum',
|
||||||
|
value: 'platinum',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
selectRegionRegistration: [
|
||||||
|
{
|
||||||
|
name: 'Московская',
|
||||||
|
value: 'moscow',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Калининградская',
|
||||||
|
value: 'kaliningrad',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
selectTownRegistration: [
|
||||||
|
{
|
||||||
|
name: 'Калининградская',
|
||||||
|
value: 'kaliningrad',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Рязань',
|
||||||
|
value: 'ryazan',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
selectLead: [
|
||||||
|
{
|
||||||
|
name: '100_ООО "Архимаг',
|
||||||
|
value: faker.random.uuid(),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '150_ООО "Некромант',
|
||||||
|
value: faker.random.uuid(),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '200_ООО "Кардинал',
|
||||||
|
value: faker.random.uuid(),
|
||||||
|
},
|
||||||
|
],
|
||||||
|
selectOpportunity: [
|
||||||
|
{
|
||||||
|
name: '112345_ООО "Архимаг',
|
||||||
|
value: faker.random.uuid(),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '145678_ООО "Некромант',
|
||||||
|
value: faker.random.uuid(),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '243910_ООО Кардинал',
|
||||||
|
value: faker.random.uuid(),
|
||||||
|
},
|
||||||
|
],
|
||||||
|
selectQuote: [
|
||||||
|
{
|
||||||
|
name: '2345_ООО "Архимаг"',
|
||||||
|
value: faker.random.uuid(),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '6789_ООО "Некромант"',
|
||||||
|
value: faker.random.uuid(),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: '8765_ООО "Кардинал',
|
||||||
|
value: faker.random.uuid(),
|
||||||
|
},
|
||||||
|
],
|
||||||
|
selectBroker: [
|
||||||
|
{
|
||||||
|
name: 'ИП Иванов',
|
||||||
|
value: 'Ivanov',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'ИП Смирнов',
|
||||||
|
value: 'Smirnov',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
selectAccount: [
|
||||||
|
{
|
||||||
|
name: 'Архимаг',
|
||||||
|
value: faker.random.uuid(),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Некромант',
|
||||||
|
value: faker.random.uuid(),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Кардинал',
|
||||||
|
value: faker.random.uuid(),
|
||||||
|
},
|
||||||
|
],
|
||||||
|
selectContactClient: [
|
||||||
|
{
|
||||||
|
name: 'Семенов Семен Семенович',
|
||||||
|
value: faker.random.uuid(),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Иванова Александра Сергеевна',
|
||||||
|
value: faker.random.uuid(),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Алексеев Алексей Алексеевич',
|
||||||
|
value: faker.random.uuid(),
|
||||||
|
},
|
||||||
|
],
|
||||||
|
};
|
||||||
|
|
||||||
|
export default calculationFakeData;
|
||||||
@ -1,6 +1,6 @@
|
|||||||
export type ElementsNames =
|
export type ElementsNames =
|
||||||
| 'SelectLead'
|
| 'selectLead'
|
||||||
| 'SelectOpportunity'
|
| 'selectOpportunity'
|
||||||
| 'selectQuote'
|
| 'selectQuote'
|
||||||
| 'cbxRecalcWthtRevision'
|
| 'cbxRecalcWthtRevision'
|
||||||
| 'selectTemplate'
|
| 'selectTemplate'
|
||||||
@ -75,7 +75,7 @@ export type ElementsNames =
|
|||||||
| 'selectDealerBrokerRewardСondition'
|
| 'selectDealerBrokerRewardСondition'
|
||||||
| 'tbxDealerBrokerRewardSumm'
|
| 'tbxDealerBrokerRewardSumm'
|
||||||
| 'selectIndAgent'
|
| 'selectIndAgent'
|
||||||
| 'SelectIndAgentRewardCondition'
|
| 'selectIndAgentRewardCondition'
|
||||||
| 'tbxIndAgentRewardSumm'
|
| 'tbxIndAgentRewardSumm'
|
||||||
| 'selectCalcDoubleAgent'
|
| 'selectCalcDoubleAgent'
|
||||||
| 'selectCalcDoubleAgentRewardCondition'
|
| 'selectCalcDoubleAgentRewardCondition'
|
||||||
@ -118,7 +118,7 @@ export type ElementsNames =
|
|||||||
| 'selectTarif'
|
| 'selectTarif'
|
||||||
| 'tbxCreditRate'
|
| 'tbxCreditRate'
|
||||||
| 'selectRate'
|
| 'selectRate'
|
||||||
| 'SelectUserSession'
|
| 'selectUserSession'
|
||||||
| 'radioRequirementTelematic'
|
| 'radioRequirementTelematic'
|
||||||
| 'cbxInsuranceDecentral'
|
| 'cbxInsuranceDecentral'
|
||||||
| 'tbxMaxPriceChange'
|
| 'tbxMaxPriceChange'
|
||||||
|
|||||||
@ -10,6 +10,7 @@ import { TStatuses, Status } from './statuses';
|
|||||||
|
|
||||||
export interface ICalculationStore {
|
export interface ICalculationStore {
|
||||||
options: TElements<any>;
|
options: TElements<any>;
|
||||||
|
applyOptions: (options: TElements<any>) => void;
|
||||||
filters: TElements<any>;
|
filters: TElements<any>;
|
||||||
|
|
||||||
values: TValues;
|
values: TValues;
|
||||||
|
|||||||
13
src/server/controllers/CalculationController.ts
Normal file
13
src/server/controllers/CalculationController.ts
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
import { Request, Response } from 'express';
|
||||||
|
import calculationFakeData from '../../core/fakeData/calculation';
|
||||||
|
|
||||||
|
class CalculationController {
|
||||||
|
static getOptions = async (req: Request, res: Response): Promise<void> => {
|
||||||
|
// request to Core
|
||||||
|
|
||||||
|
const options = calculationFakeData;
|
||||||
|
res.send({ options });
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
export default CalculationController;
|
||||||
8
src/server/routes/calculation.ts
Normal file
8
src/server/routes/calculation.ts
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
import CalculationController from '../controllers/CalculationController';
|
||||||
|
import { Router } from 'express';
|
||||||
|
|
||||||
|
const router = Router();
|
||||||
|
|
||||||
|
router.get('/getOptions', CalculationController.getOptions);
|
||||||
|
|
||||||
|
export default router;
|
||||||
@ -1,10 +1,12 @@
|
|||||||
import { Router } from "express";
|
import { Router } from 'express';
|
||||||
import values from "./values";
|
import values from './values';
|
||||||
import users from "./users";
|
import users from './users';
|
||||||
|
import calculation from './calculation';
|
||||||
|
|
||||||
const routes = Router();
|
const routes = Router();
|
||||||
|
|
||||||
routes.use("/api/values", values);
|
routes.use('/api/values', values);
|
||||||
routes.use("/api/users", users);
|
routes.use('/api/users', users);
|
||||||
|
routes.use('/api/calculation', calculation);
|
||||||
|
|
||||||
export default routes;
|
export default routes;
|
||||||
|
|||||||
Reference in New Issue
Block a user