revert processes

This commit is contained in:
vchikalkin 2023-03-07 13:19:16 +03:00
parent 54004173ae
commit b9ddd193df
2 changed files with 46 additions and 26 deletions

View File

@ -1,40 +1,40 @@
// import * as addProduct from '@/process/add-product';
import * as addProduct from '@/process/add-product';
import * as bonuses from '@/process/bonuses';
// import * as calculate from '@/process/calculate';
import * as calculate from '@/process/calculate';
import * as configurator from '@/process/configurator';
// import * as createKP from '@/process/create-kp';
import * as createKP from '@/process/create-kp';
import * as fingap from '@/process/fingap';
import * as gibdd from '@/process/gibdd';
import { useProcess } from '@/process/hooks';
import * as insurance from '@/process/insurance';
// import * as leadOpportunity from '@/process/lead-opportunity';
import * as leadOpportunity from '@/process/lead-opportunity';
// import * as leasingObject from '@/process/leasing-object';
// import * as leasingWithoutKasko from '@/process/leasing-without-kasko';
// import * as loadKP from '@/process/load-kp';
import * as leasingWithoutKasko from '@/process/leasing-without-kasko';
import * as loadKP from '@/process/load-kp';
import * as payments from '@/process/payments';
// import * as price from '@/process/price';
// import * as subsidy from '@/process/subsidy';
// import * as subsidyImportProgram from '@/process/subsidy-import-program';
import * as subsidy from '@/process/subsidy';
import * as subsidyImportProgram from '@/process/subsidy-import-program';
// import * as supplierAgent from '@/process/supplier-agent';
// import * as usedPl from '@/process/used-pl';
export default function useReactions() {
// useProcess(leadOpportunity);
// useProcess(loadKP);
// useProcess(calculate);
useProcess(leadOpportunity);
useProcess(loadKP);
useProcess(calculate);
// useProcess(supplierAgent);
// useProcess(price);
useProcess(fingap);
// useProcess(leasingWithoutKasko);
// useProcess(subsidy);
useProcess(leasingWithoutKasko);
useProcess(subsidy);
// useProcess(leasingObject);
useProcess(configurator);
// useProcess(createKP);
useProcess(createKP);
useProcess(bonuses);
// useProcess(usedPl);
// useProcess(subsidyImportProgram);
useProcess(subsidyImportProgram);
useProcess(payments);
useProcess(gibdd);
// useProcess(addProduct);
useProcess(addProduct);
useProcess(insurance);
}

View File

@ -2,7 +2,9 @@ import types from '@/Components/Calculation/config/elements-types';
import type * as Values from '@/Components/Calculation/config/map/values';
import type * as Insurance from '@/Components/Calculation/Form/Insurance/InsuranceTable/types';
import type { ProcessContext } from '@/process/types';
import ValidationHelper from '@/stores/validation/helper';
import { reaction } from 'mobx';
import { uid } from 'radash';
import type { BaseOption } from 'ui/elements/types';
function hasInvalidValueOrOptions(value: unknown, options: Array<BaseOption<unknown>>) {
@ -45,6 +47,10 @@ export default function reactions({ store }: ProcessContext) {
/**
* Проверяем, что выбранное значение элемента есть в списке
*/
const key = uid(7);
const message = 'Выбранное значение отсутствует в списке';
function validateOptionsElement(elementName: Values.Elements) {
const type = types[elementName];
if (type().typeName !== 'Options') {
@ -53,6 +59,8 @@ export default function reactions({ store }: ProcessContext) {
const element = $calculation.element(elementName);
const validationHelper = new ValidationHelper();
reaction(
() => {
const options = element.getOptions();
@ -64,11 +72,16 @@ export default function reactions({ store }: ProcessContext) {
};
},
({ value, options }) => {
element.validate({
invalid: hasInvalidValueOrOptions(value, options),
message: 'Выбранное значение отсутствует в списке',
silent: true,
});
if (hasInvalidValueOrOptions(value, options)) {
const removeError = element.setError({
key,
message,
silent: true,
});
if (removeError) validationHelper.add(removeError);
} else {
validationHelper.removeErrors();
}
},
{
delay: 100,
@ -96,6 +109,8 @@ export default function reactions({ store }: ProcessContext) {
function validateInsuranceCompany(rowKey: Insurance.Keys) {
const row = $tables.insurance.row(rowKey);
const validationHelper = new ValidationHelper();
reaction(
() => {
const options = row.getOptions('insuranceCompany');
@ -107,11 +122,16 @@ export default function reactions({ store }: ProcessContext) {
};
},
({ value, options }) => {
$tables.insurance.validate({
invalid: hasInvalidValueOrOptions(value, options),
message: 'Выбранное значение отсутствует в списке',
silent: true,
});
if (hasInvalidValueOrOptions(value, options)) {
const removeError = $tables.insurance.setError({
key,
message,
silent: true,
});
validationHelper.add(removeError);
} else {
validationHelper.removeErrors();
}
},
{
delay: 100,