Найти реакцию, где меняются значения или открываются/закрываются по полису КАСКО и добавить на изменение поля "Лизинг без КАСКО" (SelectLeasingWithoutKasko)

если "Лизинг без КАСКО" (SelectLeasingWithoutKasko) содержит данные, то в таблице страхования в строке КАСКО:

Страховая компания insCompany = ПРОЧИЕ (если в списке СК нет, но надо будет добавить, по аналогии как добавляем для ОСАГО если Тип ПЛ = Прицеп) и закрыто для редактирования
Стоимость первого периода inscost = 0 и закрыто для редактирования
Период страхования insTerm = 12 мес и закрыто для редактирования
Плательщик  insured = ЛП и закрыто для редактирования
иначе как по текущей реакции
This commit is contained in:
vchikalkin 2022-09-22 17:30:06 +03:00
parent 5a02082457
commit 7ac869b552

View File

@ -149,11 +149,36 @@ export default [
(calculationStore, calculationProcess) => ({
expression: () => {
const { leasingPeriod } = calculationStore.values;
return leasingPeriod;
const { leasingPeriod, leasingWithoutKasko } = calculationStore.values;
return { leasingPeriod, leasingWithoutKasko };
},
effect: leasingPeriod => {
if (leasingPeriod) {
effect: ({ leasingPeriod, leasingWithoutKasko }) => {
if (leasingWithoutKasko) {
const otherInsuranceCompany =
calculationStore.tables.tableInsurance.options?.insuranceCompany?.find(
x => x.name?.includes('ПРОЧИЕ'),
);
calculationStore.setTableRow('tableInsurance', rows =>
rows.findIndex(x => x?.key === 'kasko'),
)({
insuranceCompany: {
value: otherInsuranceCompany?.value,
status: ElementStatus.Disabled,
},
insCost: {
value: 0,
status: ElementStatus.Disabled,
},
insTerm: {
value: 100_000_000,
status: ElementStatus.Disabled,
},
insured: {
value: 100_000_000,
status: ElementStatus.Disabled,
},
});
} else if (leasingPeriod) {
if (leasingPeriod < 12) {
calculationStore.setTableRow('tableInsurance', rows =>
rows.findIndex(x => x?.key === 'osago'),