tbxSaleBonus fill and validation
This commit is contained in:
parent
37b8eddda2
commit
d96b30a192
@ -94,8 +94,9 @@ const elementsProps: TElements<ElementProps> = {
|
||||
},
|
||||
tbxSaleBonus: {
|
||||
min: '0.00',
|
||||
max: '1.30',
|
||||
// max: '1.30',
|
||||
step: '0.1',
|
||||
precision: 2,
|
||||
},
|
||||
tbxFirstPaymentPerc: {
|
||||
min: '0',
|
||||
|
||||
@ -1,9 +1,9 @@
|
||||
import CrmService from 'client/services/CrmService';
|
||||
import CalculationStore from 'client/stores/CalculationStore';
|
||||
import { getUser } from 'client/tools/user';
|
||||
import initialOwnerQuery from './queries/ownerQuery';
|
||||
import insuranceQuery from './queries/insuranceQuery';
|
||||
import optionsQuery from './queries/optionsQuery';
|
||||
import initialOwnerQuery from './queries/ownerQuery';
|
||||
import staticDataQuery from './queries/staticDataQuery';
|
||||
import systemUserQuery from './queries/systemUserQuery';
|
||||
|
||||
@ -45,7 +45,7 @@ export default () =>
|
||||
options: { ...insuranceCompanies },
|
||||
});
|
||||
|
||||
var supplierCurrency = CalculationStore.options.selectSupplierCurrency?.find(
|
||||
const supplierCurrency = CalculationStore.options.selectSupplierCurrency?.find(
|
||||
x => x.isocurrencycode === 'RUB',
|
||||
);
|
||||
if (supplierCurrency)
|
||||
@ -54,6 +54,27 @@ export default () =>
|
||||
supplierCurrency.transactioncurrencyid,
|
||||
);
|
||||
|
||||
const evo_sot_coefficient_type = staticEntities.evo_sot_coefficient_type.find(
|
||||
x => x.evo_id === 'BONUS_LEASING',
|
||||
);
|
||||
|
||||
const evo_coefficient_bonus = staticEntities.evo_coefficient.find(
|
||||
x =>
|
||||
x.evo_job_titleid === systemuser.evo_job_titleid &&
|
||||
x.evo_sot_coefficient_typeid ===
|
||||
evo_sot_coefficient_type?.evo_sot_coefficient_typeid,
|
||||
);
|
||||
|
||||
if (
|
||||
evo_coefficient_bonus &&
|
||||
evo_coefficient_bonus.evo_sot_coefficient
|
||||
) {
|
||||
CalculationStore.setValue(
|
||||
'saleBonus',
|
||||
evo_coefficient_bonus.evo_sot_coefficient * 100,
|
||||
);
|
||||
}
|
||||
|
||||
resolve();
|
||||
},
|
||||
)
|
||||
|
||||
@ -1,3 +1,5 @@
|
||||
import { merge } from 'lodash';
|
||||
|
||||
const staticData = {};
|
||||
|
||||
const staticDataAction = {
|
||||
@ -5,7 +7,7 @@ const staticDataAction = {
|
||||
return this.staticData[dataName];
|
||||
},
|
||||
applyStaticData(data) {
|
||||
this.staticData = { ...this.staticData, ...data };
|
||||
this.staticData = merge(this.staticData, data);
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
@ -1070,6 +1070,48 @@ const reactionEffects: IReactionEffect[] = [
|
||||
},
|
||||
}),
|
||||
|
||||
calculationStore => ({
|
||||
expression: () => {
|
||||
const { saleBonus } = calculationStore.values;
|
||||
return saleBonus;
|
||||
},
|
||||
effect: saleBonus => {
|
||||
const systemuser = calculationStore?.staticData?.systemuser;
|
||||
|
||||
if (systemuser) {
|
||||
const evo_sot_coefficient_type = calculationStore?.staticData?.evo_sot_coefficient_type?.find(
|
||||
x => x.evo_id === 'BONUS_LEASING',
|
||||
);
|
||||
const evo_coefficient_bonus = calculationStore?.staticData?.evo_coefficient?.find(
|
||||
x =>
|
||||
x.evo_job_titleid === systemuser[0].evo_job_titleid &&
|
||||
x.evo_sot_coefficient_typeid ===
|
||||
evo_sot_coefficient_type?.evo_sot_coefficient_typeid,
|
||||
);
|
||||
|
||||
if (
|
||||
evo_coefficient_bonus &&
|
||||
evo_coefficient_bonus.evo_sot_coefficient
|
||||
) {
|
||||
const max_sale_bonus =
|
||||
evo_coefficient_bonus.evo_sot_coefficient * 100;
|
||||
if (parseFloat(saleBonus) > max_sale_bonus) {
|
||||
calculationStore.setValidation('tbxSaleBonus', false);
|
||||
openNotification({
|
||||
type: 'error',
|
||||
title: 'Ошибка',
|
||||
description:
|
||||
'Размер бонуса МПЛ не может быть выше установленного по СОТ',
|
||||
})();
|
||||
return;
|
||||
} else {
|
||||
calculationStore.setValidation('tbxSaleBonus', undefined);
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
}),
|
||||
|
||||
calculationStore => ({
|
||||
expression: () => {
|
||||
const { configuration } = calculationStore.values;
|
||||
|
||||
Reference in New Issue
Block a user