disable reactions while loadKP
This commit is contained in:
parent
9199ad6458
commit
4ed5a69121
@ -1,14 +1,18 @@
|
||||
import { openNotification } from 'client/Elements/Notification';
|
||||
import { IReactionEffect } from 'core/types/Calculation/Store/effect';
|
||||
import { Process } from 'core/types/Calculation/Store/process';
|
||||
import { calculatePerc, calculateRub } from './calculate';
|
||||
|
||||
export default [
|
||||
calculationStore => ({
|
||||
(calculationStore, calculationProcess) => ({
|
||||
expression: () => {
|
||||
const { leaseObjectPrice, supplierDiscountRub } = calculationStore.values;
|
||||
return [leaseObjectPrice, supplierDiscountRub];
|
||||
},
|
||||
effect: ([leaseObjectPrice, supplierDiscountRub = 0]) => {
|
||||
if (calculationProcess.process !== Process.Default) {
|
||||
return;
|
||||
}
|
||||
calculationStore.setValue(
|
||||
'supplierDiscountPerc',
|
||||
leaseObjectPrice ? (supplierDiscountRub / leaseObjectPrice) * 100 : 0,
|
||||
@ -19,7 +23,7 @@ export default [
|
||||
},
|
||||
}),
|
||||
|
||||
calculationStore => ({
|
||||
(calculationStore, calculationProcess) => ({
|
||||
expression: () => {
|
||||
const {
|
||||
leaseObjectPrice,
|
||||
@ -28,6 +32,9 @@ export default [
|
||||
return [leaseObjectPrice, supplierDiscountPerc];
|
||||
},
|
||||
effect: ([leaseObjectPrice = 0, supplierDiscountPerc = 0]) => {
|
||||
if (calculationProcess.process !== Process.Default) {
|
||||
return;
|
||||
}
|
||||
calculationStore.setValue(
|
||||
'supplierDiscountRub',
|
||||
(supplierDiscountPerc * leaseObjectPrice) / 100,
|
||||
@ -38,12 +45,15 @@ export default [
|
||||
},
|
||||
}),
|
||||
|
||||
calculationStore => ({
|
||||
(calculationStore, calculationProcess) => ({
|
||||
expression: () => {
|
||||
const { firstPaymentRub } = calculationStore.values;
|
||||
return firstPaymentRub;
|
||||
},
|
||||
effect: (firstPaymentRub = 0) => {
|
||||
if (calculationProcess.process !== Process.Default) {
|
||||
return;
|
||||
}
|
||||
const { supplierCurrency, leaseObjectPrice } = calculationStore.values;
|
||||
if (leaseObjectPrice) {
|
||||
const perc = calculatePerc(calculationStore)(
|
||||
@ -75,9 +85,6 @@ export default [
|
||||
leaseObjectPrice = 0,
|
||||
firstPaymentPerc = 0,
|
||||
]) => {
|
||||
if (!firstPaymentPerc) {
|
||||
return;
|
||||
}
|
||||
const rub = calculateRub(calculationStore)(
|
||||
supplierCurrencyId,
|
||||
leaseObjectPrice,
|
||||
@ -88,10 +95,11 @@ export default [
|
||||
},
|
||||
options: {
|
||||
fireImmediately: true,
|
||||
equals: () => false,
|
||||
},
|
||||
}),
|
||||
|
||||
calculationStore => ({
|
||||
(calculationStore, calculationProcess) => ({
|
||||
expression: () => {
|
||||
const {
|
||||
supplierCurrency,
|
||||
@ -101,6 +109,9 @@ export default [
|
||||
return [supplierCurrency, leaseObjectPrice, comissionPerc];
|
||||
},
|
||||
effect: ([supplierCurrencyId, leaseObjectPrice = 0, comissionPerc = 0]) => {
|
||||
if (calculationProcess.process !== Process.Default) {
|
||||
return;
|
||||
}
|
||||
const rub = calculateRub(calculationStore)(
|
||||
supplierCurrencyId,
|
||||
leaseObjectPrice,
|
||||
@ -113,12 +124,15 @@ export default [
|
||||
},
|
||||
}),
|
||||
|
||||
calculationStore => ({
|
||||
(calculationStore, calculationProcess) => ({
|
||||
expression: () => {
|
||||
const { comissionRub } = calculationStore.values;
|
||||
return comissionRub;
|
||||
},
|
||||
effect: comissionRub => {
|
||||
if (calculationProcess.process !== Process.Default) {
|
||||
return;
|
||||
}
|
||||
const { supplierCurrency, leaseObjectPrice } = calculationStore.values;
|
||||
if (leaseObjectPrice) {
|
||||
const perc = calculatePerc(calculationStore)(
|
||||
@ -136,7 +150,7 @@ export default [
|
||||
},
|
||||
}),
|
||||
|
||||
calculationStore => ({
|
||||
(calculationStore, calculationProcess) => ({
|
||||
expression: () => {
|
||||
const {
|
||||
supplierCurrency,
|
||||
@ -157,7 +171,10 @@ export default [
|
||||
lastPaymentPerc = 0,
|
||||
lastPaymentRule,
|
||||
]) => {
|
||||
if (lastPaymentRule !== 100000001) {
|
||||
if (
|
||||
lastPaymentRule !== 100000001 ||
|
||||
calculationProcess.process !== Process.Default
|
||||
) {
|
||||
return;
|
||||
}
|
||||
|
||||
@ -172,7 +189,7 @@ export default [
|
||||
fireImmediately: true,
|
||||
},
|
||||
}),
|
||||
calculationStore => ({
|
||||
(calculationStore, calculationProcess) => ({
|
||||
expression: () => {
|
||||
const {
|
||||
supplierCurrency,
|
||||
@ -193,7 +210,10 @@ export default [
|
||||
lastPaymentRub = 0,
|
||||
lastPaymentRule,
|
||||
]) => {
|
||||
if (lastPaymentRule !== 100000000) {
|
||||
if (
|
||||
lastPaymentRule !== 100000000 ||
|
||||
calculationProcess.process !== Process.Default
|
||||
) {
|
||||
return;
|
||||
}
|
||||
if (leaseObjectPrice) {
|
||||
@ -212,7 +232,7 @@ export default [
|
||||
},
|
||||
}),
|
||||
|
||||
calculationStore => ({
|
||||
(calculationStore, calculationProcess) => ({
|
||||
expression: () => {
|
||||
const { supplierDiscountRub } = calculationStore.values;
|
||||
return supplierDiscountRub;
|
||||
@ -237,7 +257,7 @@ export default [
|
||||
},
|
||||
}),
|
||||
|
||||
calculationStore => ({
|
||||
(calculationStore, calculationProcess) => ({
|
||||
expression: () => {
|
||||
const { firstPaymentRub } = calculationStore.values;
|
||||
return firstPaymentRub;
|
||||
|
||||
Reference in New Issue
Block a user