fake data for components
This commit is contained in:
parent
246be46626
commit
1e72022551
@ -50,6 +50,7 @@
|
||||
"@types/cookie-parser": "^1.4.2",
|
||||
"@types/cors": "^2.8.7",
|
||||
"@types/express": "^4.17.7",
|
||||
"@types/faker": "^5.1.0",
|
||||
"@types/lodash": "^4.14.159",
|
||||
"@types/morgan": "^1.9.1",
|
||||
"@types/node": "^14.6.0",
|
||||
@ -58,6 +59,7 @@
|
||||
"@types/styled-system": "^5.1.10",
|
||||
"agentkeepalive": "^4.1.3",
|
||||
"dotenv": "^8.2.0",
|
||||
"faker": "^5.1.0",
|
||||
"http-proxy-middleware": "^1.0.5",
|
||||
"rimraf": "^3.0.2",
|
||||
"webpack-node-externals": "^2.5.1"
|
||||
|
||||
@ -946,7 +946,7 @@ export default [
|
||||
title: 'Условие АВ агента ФЛ',
|
||||
Component: Select,
|
||||
props: {
|
||||
name: 'SelectIndAgentRewardCondition',
|
||||
name: 'selectIndAgentRewardCondition',
|
||||
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 React from 'react';
|
||||
import React, { useEffect } from 'react';
|
||||
import Results from './Results';
|
||||
import Sections from './Sections';
|
||||
|
||||
const Calculation = () => {
|
||||
const { calculationStore } = useStores();
|
||||
useEffect(() => {
|
||||
getOptions()
|
||||
.then(options => {
|
||||
calculationStore.applyOptions(options);
|
||||
})
|
||||
.catch(err => {
|
||||
throw err;
|
||||
});
|
||||
}, []);
|
||||
return (
|
||||
<Box mx={['0', '1%', '1%', '1.5%', '2%', '10%']}>
|
||||
<Flex flexWrap="wrap" mb="50px">
|
||||
<Sections
|
||||
flex={['1', '1', '1', '3']}
|
||||
/>
|
||||
<Sections flex={['1', '1', '1', '3']} />
|
||||
<Results
|
||||
flex={['1', '1', '1', '1']}
|
||||
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) {
|
||||
this.validations[elementName] = validation;
|
||||
},
|
||||
|
||||
applyOptions(options) {
|
||||
this.options = { ...this.options, ...options };
|
||||
},
|
||||
};
|
||||
|
||||
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 =
|
||||
| 'SelectLead'
|
||||
| 'SelectOpportunity'
|
||||
| 'selectLead'
|
||||
| 'selectOpportunity'
|
||||
| 'selectQuote'
|
||||
| 'cbxRecalcWthtRevision'
|
||||
| 'selectTemplate'
|
||||
@ -75,7 +75,7 @@ export type ElementsNames =
|
||||
| 'selectDealerBrokerRewardСondition'
|
||||
| 'tbxDealerBrokerRewardSumm'
|
||||
| 'selectIndAgent'
|
||||
| 'SelectIndAgentRewardCondition'
|
||||
| 'selectIndAgentRewardCondition'
|
||||
| 'tbxIndAgentRewardSumm'
|
||||
| 'selectCalcDoubleAgent'
|
||||
| 'selectCalcDoubleAgentRewardCondition'
|
||||
@ -118,7 +118,7 @@ export type ElementsNames =
|
||||
| 'selectTarif'
|
||||
| 'tbxCreditRate'
|
||||
| 'selectRate'
|
||||
| 'SelectUserSession'
|
||||
| 'selectUserSession'
|
||||
| 'radioRequirementTelematic'
|
||||
| 'cbxInsuranceDecentral'
|
||||
| 'tbxMaxPriceChange'
|
||||
|
||||
@ -10,6 +10,7 @@ import { TStatuses, Status } from './statuses';
|
||||
|
||||
export interface ICalculationStore {
|
||||
options: TElements<any>;
|
||||
applyOptions: (options: TElements<any>) => void;
|
||||
filters: TElements<any>;
|
||||
|
||||
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 values from "./values";
|
||||
import users from "./users";
|
||||
import { Router } from 'express';
|
||||
import values from './values';
|
||||
import users from './users';
|
||||
import calculation from './calculation';
|
||||
|
||||
const routes = Router();
|
||||
|
||||
routes.use("/api/values", values);
|
||||
routes.use("/api/users", users);
|
||||
routes.use('/api/values', values);
|
||||
routes.use('/api/users', users);
|
||||
routes.use('/api/calculation', calculation);
|
||||
|
||||
export default routes;
|
||||
|
||||
Reference in New Issue
Block a user