diff --git a/apps/web/process/payments/validation.ts b/apps/web/process/payments/validation.ts index d84231b..00b2d34 100644 --- a/apps/web/process/payments/validation.ts +++ b/apps/web/process/payments/validation.ts @@ -1,4 +1,3 @@ -/* eslint-disable max-len */ /* eslint-disable no-case-declarations */ import { counting, max, min, shift, sort } from 'radash'; @@ -9,12 +8,13 @@ import { SEASONS_PERIODS, SEASONS_PERIOD_NUMBER } from './lib/seasons-constants' export default function validatePaymentsTable({ $calculation, $tables }: RootStore) { switch ($calculation.element('radioGraphType').getValue()) { // Дегрессия - case 100_000_001: + case 100_000_001: { if (!$calculation.element('selectSeasonType').getValue()) { return 'Не выбран тип дегрессии'; } /** - * в таблице платежей в столбце Соотношение платежей для строк с 2 до "Срок лизинга-1" минимальное значение должно быть равно 3 + * в таблице платежей в столбце Соотношение платежей + * для строк с 2 до "Срок лизинга-1" минимальное значение должно быть равно 3 */ { const MIN_PAYMENT = 3; @@ -27,7 +27,8 @@ export default function validatePaymentsTable({ $calculation, $tables }: RootSto } /** - * при Дегрессии все значения не должны быть равны друг другу + что при Легком старте 2,3 и 4 платежи не должны быть равны 100 + * при Дегрессии все значения не должны быть равны друг другу + * + что при Легком старте 2,3 и 4 платежи не должны быть равны 100 */ { const leasingPeriod = $calculation.element('tbxLeasingPeriod').getValue(); @@ -51,6 +52,7 @@ export default function validatePaymentsTable({ $calculation, $tables }: RootSto } } } + /* eslint-disable max-len */ /** * Если вид графика = Дегрессия И значения в "Соотношении платежей" у 2, 3 и 4 платежа отличаются друг от друга не более чем на 10 * (т.е. берем значения в этих полях, определяем максимальное и минимальное значение и смотрим на их разницу) @@ -58,6 +60,7 @@ export default function validatePaymentsTable({ $calculation, $tables }: RootSto * На 2-4 платежах Соотношение платежа должен отличаться не более чем на 10%", * иначе осуществлять расчет */ + /* eslint-enable */ { const targetPayments = $tables.payments.values.slice(1, 4); @@ -66,12 +69,14 @@ export default function validatePaymentsTable({ $calculation, $tables }: RootSto } } + /* eslint-disable max-len */ /** * Если вид графика = Дегрессия И значения в "Соотношении платежей" для строк с 2 До "Срок лизинга-1" как минимум 2 раза по 2 платежа должны между собой быть равны * (т.е. берем значения "Соотношения платежей" для строк с 2 до "Срок лизинга-1" и делаем сводную таблицу - если кол-во одинаковых значение больше 2 встречаются 2 и более раза), * то осуществлять расчет, * иначе не осуществлять Расчет графика и выводить ошибку "Нельзя осуществить расчет - указана очень жетская дегрессия. Не менее чем у 4х платежей "Соотношение платежа" должно не отличаться между самой", */ + /* eslint-enable */ { const leasingPeriod = $calculation.element('tbxLeasingPeriod').getValue(); const targetPayments = $tables.payments.values.slice(1, leasingPeriod - 1); @@ -82,6 +87,7 @@ export default function validatePaymentsTable({ $calculation, $tables }: RootSto } break; + } case 100_000_003: { const leasingPeriod = $calculation.element('tbxLeasingPeriod').getValue(); @@ -127,8 +133,9 @@ export default function validatePaymentsTable({ $calculation, $tables }: RootSto break; } - default: + default: { return null; + } } return null; diff --git a/apps/web/process/supplier-agent/reactions/agents.ts b/apps/web/process/supplier-agent/reactions/agents.ts index c308076..77c082d 100644 --- a/apps/web/process/supplier-agent/reactions/agents.ts +++ b/apps/web/process/supplier-agent/reactions/agents.ts @@ -1,4 +1,3 @@ -/* eslint-disable max-len */ /* eslint-disable @typescript-eslint/naming-convention */ import { gql } from '@apollo/client'; import dayjs from 'dayjs'; @@ -574,10 +573,12 @@ export function validationReactions({ store, apolloClient }: ReactionsContext) { rewardSummField: 'tbxFinDepartmentRewardSumm', }); + /* eslint-disable max-len */ /** * Добавить валидацию на кнопку Рассчитать: если tbxDealerRewardSumm > 0 и если selectDealerPerson = selectDealerBroker и tbxDealerBrokerRewardSumm > 0, то ругаться на selectDealerPerson если selectDealerPerson = selectIndAgent и tbxIndAgentRewardSumm > 0, то ругаться на selectDealerPerson + // eslint-disable-next-line max-len если selectDealerPerson = selectCalcDoubleAgent и tbxCalcDoubleAgentRewardSumm > 0, то ругаться на selectDealerPerson если selectDealerPerson = selectCalcBroker tbxCalcBrokerRewardSum > 0, то ругаться на selectDealerPerson если selectDealerPerson = selectFinDepartment и tbxFinDepartmentRewardSumm > 0, то ругаться на selectDealerPerson @@ -617,6 +618,7 @@ export function validationReactions({ store, apolloClient }: ReactionsContext) { если selectFinDepartment = selectCalcDoubleAgent и tbxCalcDoubleAgentRewardSumm > 0, то ругаться на selectFinDepartment если selectFinDepartment = selectCalcBroker tbxCalcBrokerRewardSum > 0, то ругаться на selectFinDepartment */ + /* eslint-enable */ autorun(() => { const dealerRewardSumm = $calculation.element('tbxDealerRewardSumm').getValue(); diff --git a/apps/web/process/supplier-agent/reactions/leaseback.ts b/apps/web/process/supplier-agent/reactions/leaseback.ts index f78ab67..b9dd393 100644 --- a/apps/web/process/supplier-agent/reactions/leaseback.ts +++ b/apps/web/process/supplier-agent/reactions/leaseback.ts @@ -1,4 +1,3 @@ -/* eslint-disable max-len */ import type * as CRMTypes from 'graphql/crm.types'; import { autorun, reaction } from 'mobx'; import type { ReactionsContext } from 'process/types'; @@ -82,6 +81,7 @@ export default function leasebackReactions({ store, apolloClient }: ReactionsCon } ); + /* eslint-disable max-len */ /** * В валидацию на кнопку Рассчитать внести изменение: 1) поле selectDealerPerson убрать из списка обязательных для расчета полей @@ -90,6 +90,7 @@ export default function leasebackReactions({ store, apolloClient }: ReactionsCon и поле selectDealerPerson = null, то выводить ошибку и поле selectDealerPerson обводить красной рамкой, иначе все ок */ + /* eslint-enable */ autorun(async () => { const dealerId = $calculation.element('selectDealer').getValue();