hl-core 0.0.8-beta.22 → 0.0.8-beta.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/api/index.ts CHANGED
@@ -140,6 +140,13 @@ export class ApiClass {
140
140
  });
141
141
  }
142
142
 
143
+ async getDicAnnuityTypeList(): Promise<Value[]> {
144
+ return this.axiosCall({
145
+ method: Methods.GET,
146
+ url: '/Arm/api/Dictionary/GetDictionaryItems/DicAnnuityType',
147
+ });
148
+ }
149
+
143
150
  async getCurrencies(): Promise<{ eur: number; usd: number }> {
144
151
  return this.axiosCall({
145
152
  method: Methods.GET,
@@ -211,6 +218,13 @@ export class ApiClass {
211
218
  });
212
219
  }
213
220
 
221
+ async getProcessAnnuityPaymentPeriod(processCode: string | number) {
222
+ return this.axiosCall({
223
+ method: Methods.GET,
224
+ url: `/Arm/api/Dictionary/ProcessAnnuityPaymentPeriod/${processCode}`,
225
+ });
226
+ }
227
+
214
228
  async getContragentById(id: any) {
215
229
  return this.axiosCall({
216
230
  method: Methods.GET,
@@ -192,6 +192,58 @@
192
192
  :suffix="$constants.currencySymbols.kzt"
193
193
  ></base-form-input>
194
194
  </base-form-section>
195
+ <base-form-section :title="$t('calculationAnnuityPayments')" v-if="hasAnnuityPayments">
196
+ <base-form-toggle
197
+ v-model="productConditionsForm.additionalConditionAnnuityPayments"
198
+ :title="$t('productConditionsForm.guaranteedTermAnnuityPayments')"
199
+ :disabled="isDisabled"
200
+ :has-border="false"
201
+ @clicked="handleToggler"
202
+ ></base-form-toggle>
203
+ <base-form-input
204
+ v-if="productConditionsForm.additionalConditionAnnuityPayments"
205
+ v-model="productConditionsForm.guaranteedPeriod"
206
+ :readonly="isDisabled"
207
+ :clearable="!isDisabled"
208
+ :rules="productConditionsForm.termAnnuityPayments ? [$dataStore.rules.guaranteedPeriodLimit(productConditionsForm.guaranteedPeriod, productConditionsForm.termAnnuityPayments)] : []"
209
+ :label="$t('productConditionsForm.guaranteedPeriod')"
210
+ ></base-form-input>
211
+ <base-panel-input
212
+ v-model="productConditionsForm.typeAnnuityInsurance"
213
+ :value="productConditionsForm.typeAnnuityInsurance.nameRu"
214
+ :readonly="isDisabled"
215
+ :clearable="!isDisabled"
216
+ :rules="$rules.objectRequired"
217
+ :label="$t('productConditionsForm.typeAnnuityInsurance')"
218
+ append-inner-icon="mdi mdi-chevron-right"
219
+ @append="openPanel($t('productConditionsForm.typeAnnuityInsurance'), $dataStore.dicAnnuityTypeList, 'typeAnnuityInsurance', $dataStore.getDicAnnuityTypeList)"
220
+ ></base-panel-input>
221
+ <base-form-input
222
+ v-if="productConditionsForm.typeAnnuityInsurance.code !== 'Lifelong'"
223
+ v-model="productConditionsForm.termAnnuityPayments"
224
+ :readonly="isDisabled"
225
+ :clearable="!isDisabled"
226
+ :rules="$dataStore.rules.required.concat($dataStore.rules.numbers)"
227
+ :label="$t('productConditionsForm.termAnnuityPayments')"
228
+ ></base-form-input>
229
+ <base-panel-input
230
+ v-model="productConditionsForm.periodAnnuityPayment"
231
+ :value="productConditionsForm.periodAnnuityPayment.nameRu"
232
+ :readonly="isDisabled"
233
+ :clearable="!isDisabled"
234
+ :rules="$rules.objectRequired"
235
+ :label="$t('productConditionsForm.periodAnnuityPayment')"
236
+ append-inner-icon="mdi mdi-chevron-right"
237
+ @append="openPanel($t('productConditionsForm.processPaymentPeriod'), $dataStore.processAnnuityPaymentPeriod, 'periodAnnuityPayment', $dataStore.getProcessAnnuityPaymentPeriod)"
238
+ ></base-panel-input>
239
+ <base-form-input
240
+ v-model="productConditionsForm.amountAnnuityPayments"
241
+ :readonly="isDisabled"
242
+ :clearable="!isDisabled"
243
+ :rules="amountAnnuityPayments"
244
+ :label="$t('productConditionsForm.amountAnnuityPayments')"
245
+ ></base-form-input>
246
+ </base-form-section>
195
247
  <base-form-section v-if="additionalTerms && additionalTerms.length" :title="$t('productConditionsForm.additional')">
196
248
  <div v-for="(term, index) of additionalTerms" :key="index">
197
249
  <base-panel-input
@@ -303,8 +355,9 @@ export default defineComponent({
303
355
  const insurancePremiumPerMonth = computed(() => (!!productConditionsForm.insurancePremiumPerMonth ? dataStore.rules.required.concat(dataStore.rules.sums) : []));
304
356
  const requestedSumInsured = computed(() => (!!productConditionsForm.requestedSumInsured ? dataStore.rules.required.concat(dataStore.rules.sums) : []));
305
357
  const hasCalculated = computed(() => !!productConditionsForm.requestedSumInsured && !!productConditionsForm.insurancePremiumPerMonth);
358
+ const amountAnnuityPayments = computed(() => (!!productConditionsForm.amountAnnuityPayments ? dataStore.rules.required.concat(dataStore.rules.sums) : []));
306
359
  const hasProcessIndexRate = computed(() => {
307
- if (whichProduct.value === 'gons' || whichProduct.value === 'halykkazyna') {
360
+ if (whichProduct.value === 'gons' || whichProduct.value === 'halykkazyna' || whichProduct.value === 'liferenta') {
308
361
  return false;
309
362
  }
310
363
  return true;
@@ -351,6 +404,12 @@ export default defineComponent({
351
404
  }
352
405
  return true;
353
406
  });
407
+ const hasAnnuityPayments = computed(() => {
408
+ if (whichProduct.value === 'liferenta') {
409
+ return true;
410
+ }
411
+ return false;
412
+ });
354
413
  const coverPeriodRule = computed(() => {
355
414
  const baseCondition = dataStore.rules.required.concat(dataStore.rules.numbers);
356
415
  if (whichProduct.value === 'gons') {
@@ -567,7 +626,7 @@ export default defineComponent({
567
626
  }
568
627
  isCalculating.value = true;
569
628
  if (props.isRecalculation) {
570
- await dataStore.calculateWithoutApplication(true);
629
+ await dataStore.calculateWithoutApplication(true, whichProduct.value);
571
630
  } else {
572
631
  if (dataStore.isProcessEditable(formStore.applicationData.statusCode)) {
573
632
  await dataStore.calculate(route.params.taskId);
@@ -626,6 +685,10 @@ export default defineComponent({
626
685
  if (!!productConditionsForm.requestedSumInsured) {
627
686
  whichSum.value = 'requestedSumInsured';
628
687
  }
688
+ if(dataStore.isCalculator) {
689
+ dataStore.processCode = constants.products[whichProduct.value];
690
+ await dataStore.getProcessPaymentPeriod();
691
+ }
629
692
  if (whichProduct.value === 'halykkazyna') {
630
693
  const kazynaPaymentPeriod = dataStore.processPaymentPeriod.find(i => i.code === 'single');
631
694
  if (kazynaPaymentPeriod) productConditionsForm.paymentPeriod = kazynaPaymentPeriod;
@@ -659,6 +722,18 @@ export default defineComponent({
659
722
  if (val) productConditionsForm.amountOfInsurancePremium = dataStore.getNumberWithSpaces(val);
660
723
  },
661
724
  );
725
+ watch(
726
+ () => formStore.productConditionsForm.amountAnnuityPayments,
727
+ val => {
728
+ if (val) formStore.productConditionsForm.amountAnnuityPayments = dataStore.getNumberWithSpaces(val);
729
+ },
730
+ );
731
+ watch(
732
+ () => formStore.productConditionsForm.typeAnnuityInsurance,
733
+ val => {
734
+ if (val.code === 'Lifelong') formStore.productConditionsForm.termAnnuityPayments = null;
735
+ },
736
+ );
662
737
 
663
738
  watch(
664
739
  () => dataStore.panel.open,
@@ -707,7 +782,9 @@ export default defineComponent({
707
782
  hasAdbAdditive,
708
783
  hasRiskGroup,
709
784
  hasCalculated,
785
+ hasAnnuityPayments,
710
786
  currencySymbolsAddTerm,
787
+ amountAnnuityPayments,
711
788
 
712
789
  // Rules
713
790
  coverPeriodRule,
@@ -711,6 +711,12 @@ export class ProductConditions {
711
711
  processTariff: Value;
712
712
  riskGroup: Value;
713
713
  riskGroup2: Value;
714
+ additionalConditionAnnuityPayments: boolean;
715
+ guaranteedPeriod: number | string | null;
716
+ typeAnnuityInsurance: Value;
717
+ termAnnuityPayments: number | string | null;
718
+ periodAnnuityPayment: Value;
719
+ amountAnnuityPayments: number | string | null;
714
720
  constructor(
715
721
  insuranceCase = null,
716
722
  coverPeriod = null,
@@ -740,6 +746,12 @@ export class ProductConditions {
740
746
  processTariff = new Value(),
741
747
  riskGroup = new Value(),
742
748
  riskGroup2 = new Value(),
749
+ additionalConditionAnnuityPayments = false,
750
+ guaranteedPeriod = null,
751
+ typeAnnuityInsurance = new Value(),
752
+ termAnnuityPayments = null,
753
+ periodAnnuityPayment = new Value(),
754
+ amountAnnuityPayments = null,
743
755
  ) {
744
756
  this.requestedSumInsuredInDollar = null;
745
757
  this.insurancePremiumPerMonthInDollar = null;
@@ -774,6 +786,12 @@ export class ProductConditions {
774
786
  this.processTariff = processTariff;
775
787
  this.riskGroup = riskGroup;
776
788
  this.riskGroup2 = riskGroup2;
789
+ this.additionalConditionAnnuityPayments = additionalConditionAnnuityPayments;
790
+ this.guaranteedPeriod = guaranteedPeriod;
791
+ this.typeAnnuityInsurance = typeAnnuityInsurance;
792
+ this.termAnnuityPayments = termAnnuityPayments;
793
+ this.periodAnnuityPayment = periodAnnuityPayment;
794
+ this.amountAnnuityPayments = amountAnnuityPayments;
777
795
  }
778
796
  }
779
797
 
@@ -891,6 +909,8 @@ export class DataStoreClass {
891
909
  processCoverTypeSum: Value[];
892
910
  processIndexRate: Value[];
893
911
  processPaymentPeriod: Value[];
912
+ dicAnnuityTypeList: Value[];
913
+ processAnnuityPaymentPeriod: Value[];
894
914
  taskList: TaskListItem[];
895
915
  processHistory: TaskHistory[];
896
916
  contragentList: any[];
@@ -957,6 +977,8 @@ export class DataStoreClass {
957
977
  this.hasLayoutMargins = true;
958
978
  this.processIndexRate = [];
959
979
  this.processPaymentPeriod = [];
980
+ this.dicAnnuityTypeList = [];
981
+ this.processAnnuityPaymentPeriod = [];
960
982
  this.questionRefs = [];
961
983
  this.SaleChanellPolicy = [];
962
984
  this.RegionPolicy = [];
package/locales/en.json CHANGED
@@ -246,6 +246,7 @@
246
246
  "sumAndPremium": "Insurance Premium {paymentPeriod}: {insurancePremiumPerMonth}₸\nRequested Sum Insured: {requestedSumInsured}₸",
247
247
  "recalculation": "Recalculation",
248
248
  "survey": "Questionnaire",
249
+ "calculationAnnuityPayments": "Calculation of annuity payments",
249
250
  "productConditionsForm": {
250
251
  "coverPeriod": "Insurance Period",
251
252
  "payPeriod": "Insurance Premium Payment Period",
@@ -267,7 +268,13 @@
267
268
  "insurancePremiumAmountInDollar": "Amount of the Insurance premium (insurance fee) in dollars",
268
269
  "coverPeriodFrom2to22": "Cover Period (from 2y to 20y)",
269
270
  "dollarExchangeRateNBRK": "NBRK dollar exchange rate",
270
- "contractDate": "Contract date"
271
+ "contractDate": "Contract date",
272
+ "guaranteedTermAnnuityPayments": "Guaranteed term of annuity payments",
273
+ "guaranteedPeriod": "Specify the period of the guaranteed period",
274
+ "typeAnnuityInsurance": "Requested type of annuity insurance",
275
+ "termAnnuityPayments": "Requested term of annuity payments",
276
+ "periodAnnuityPayment": "Requested annuity payment period",
277
+ "amountAnnuityPayments": "The requested amount of annuity payments"
271
278
  },
272
279
  "history": {
273
280
  "addRegNumber": "Number",
package/locales/kz.json CHANGED
@@ -246,6 +246,7 @@
246
246
  "sumAndPremium": "Сақтандыру сыйлықақысы {paymentPeriod}: {insurancePremiumPerMonth}₸\nСұрауланатын страховая сумма: {requestedSumInsured}₸",
247
247
  "recalculation": "Перерасчет",
248
248
  "survey": "Сауалнама",
249
+ "calculationAnnuityPayments": "Аннуитеттік төлемдерді есептеу",
249
250
  "productConditionsForm": {
250
251
  "coverPeriod": "Страховық мерзім",
251
252
  "payPeriod": "Cақтандыру сыйлықақысы төлеу мерзімі",
@@ -267,7 +268,13 @@
267
268
  "insurancePremiumAmount": "Сақтандыру сыйлықақысы өлшемі (страховой взнос) в тенге",
268
269
  "insurancePremiumAmountInDollar": "Сақтандыру сыйлықақысы өлшемі доллармен (страховой взнос)",
269
270
  "dollarExchangeRateNBRK": "Доллардың НБРК айырымы",
270
- "contractDate": "Контракт күні"
271
+ "contractDate": "Контракт күні",
272
+ "guaranteedTermAnnuityPayments": "Аннуитеттік төлемдердің кепілдендірілген мерзімі",
273
+ "guaranteedPeriod": "Кепілдендірілген мерзім кезеңін көрсетіңіз",
274
+ "typeAnnuityInsurance": "Аннуитеттік сақтандырудың сұратылған түрі",
275
+ "termAnnuityPayments": "Аннуитеттік төлемдердің сұралатын мерзімі",
276
+ "periodAnnuityPayment": "Аннуитеттік төлемнің сұратылған кезеңі",
277
+ "amountAnnuityPayments": "Аннуитеттік төлемдердің сұралатын мөлшері"
271
278
  },
272
279
  "history": {
273
280
  "addRegNumber": "Нөмір",
package/locales/ru.json CHANGED
@@ -246,6 +246,7 @@
246
246
  "sumAndPremium": "Сумма страховой премии {paymentPeriod}: {insurancePremiumPerMonth}₸\nЗапрашиваемая страховая сумма: {requestedSumInsured}₸",
247
247
  "recalculation": "Перерасчет",
248
248
  "survey": "Анкета",
249
+ "calculationAnnuityPayments": "Расчет аннуитетных выплат",
249
250
  "productConditionsForm": {
250
251
  "coverPeriod": "Срок страхования",
251
252
  "payPeriod": "Период оплаты страховой премии",
@@ -267,7 +268,13 @@
267
268
  "insurancePremiumAmount": "Размер Страховой премии (страховой взнос) в тенге",
268
269
  "insurancePremiumAmountInDollar": "Размер Страховой премии (страховой взнос) в долларах",
269
270
  "dollarExchangeRateNBRK": "Курс доллара НБРК",
270
- "contractDate": "Дата контракта"
271
+ "contractDate": "Дата контракта",
272
+ "guaranteedTermAnnuityPayments": "Гарантированный срок аннуитетных выплат",
273
+ "guaranteedPeriod": "Укажите период гарантированного срока",
274
+ "typeAnnuityInsurance": "Запрашиваемый вид аннуитетного страхования",
275
+ "termAnnuityPayments": "Запрашиваемый срок аннуитетных выплат",
276
+ "periodAnnuityPayment": "Запрашиваемый период аннуитетной выплаты",
277
+ "amountAnnuityPayments": "Запрашиваемый размер аннуитетных выплат"
271
278
  },
272
279
  "history": {
273
280
  "addRegNumber": "Номер",
@@ -460,7 +467,8 @@
460
467
  "ageMycar": "Пороговое значение по возрасту с 21 по 65",
461
468
  "noResident": "Нерезидентам отказано",
462
469
  "policyholderAgeLimit": "Возраст Застрахованного должен быть не менее 18-ти лет",
463
- "beneficiaryAgeLimit": "На дату подписания полиса возраст Выгодоприобретателя должен быть не более 15 лет"
470
+ "beneficiaryAgeLimit": "На дату подписания полиса возраст Выгодоприобретателя должен быть не более 15 лет",
471
+ "guaranteedPeriodLimit": "Период гарантированного срока не может быть больше срока аннуитетных выплат",
464
472
  },
465
473
  "code": "КЭС",
466
474
  "fontSize": "Размер шрифта",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hl-core",
3
- "version": "0.0.8-beta.22",
3
+ "version": "0.0.8-beta.23",
4
4
  "license": "MIT",
5
5
  "private": false,
6
6
  "main": "nuxt.config.ts",
@@ -1057,6 +1057,12 @@ export const useDataStore = defineStore('data', {
1057
1057
  async getProcessTariff() {
1058
1058
  return await this.getFromApi('processTariff', 'getProcessTariff');
1059
1059
  },
1060
+ async getDicAnnuityTypeList() {
1061
+ return await this.getFromApi('dicAnnuityTypeList', 'getDicAnnuityTypeList');
1062
+ },
1063
+ async getProcessAnnuityPaymentPeriod() {
1064
+ return await this.getFromApi('processAnnuityPaymentPeriod', 'getProcessAnnuityPaymentPeriod', this.processCode);
1065
+ },
1060
1066
  async getCurrencies() {
1061
1067
  try {
1062
1068
  const currencies = await this.api.getCurrencies();
@@ -1180,6 +1186,8 @@ export const useDataStore = defineStore('data', {
1180
1186
  this.getProcessTariff(),
1181
1187
  this.getProcessPaymentPeriod(),
1182
1188
  this.getDicFileTypeList(),
1189
+ this.getDicAnnuityTypeList(),
1190
+ this.getProcessAnnuityPaymentPeriod(),
1183
1191
  this.getDictionaryItems('RegionPolicy'),
1184
1192
  this.getDictionaryItems('SaleChanellPolicy'),
1185
1193
  ]);
@@ -1365,6 +1373,12 @@ export const useDataStore = defineStore('data', {
1365
1373
  calculationData.amountInCurrency = getNumber(this.formStore.productConditionsForm.requestedSumInsuredInDollar);
1366
1374
  calculationData.currencyExchangeRate = this.currencies.usd;
1367
1375
  }
1376
+ if (this.isLiferenta) {
1377
+ calculationData.guaranteedPaymentPeriod = this.formStore.productConditionsForm.guaranteedPeriod || 0;
1378
+ calculationData.annuityTypeId = this.formStore.productConditionsForm.typeAnnuityInsurance.id;
1379
+ calculationData.paymentPeriod = this.formStore.productConditionsForm.termAnnuityPayments;
1380
+ calculationData.annuityPaymentPeriodId = this.formStore.productConditionsForm.periodAnnuityPayment.id;
1381
+ }
1368
1382
  const calculationResponse = await this.api.calculateWithoutApplication(calculationData, this.isCalculator ? product : undefined);
1369
1383
  this.formStore.productConditionsForm.requestedSumInsured = this.getNumberWithSpaces(calculationResponse.amount);
1370
1384
  this.formStore.productConditionsForm.insurancePremiumPerMonth = this.getNumberWithSpaces(calculationResponse.premium);
@@ -1373,6 +1387,9 @@ export const useDataStore = defineStore('data', {
1373
1387
  this.formStore.productConditionsForm.requestedSumInsuredInDollar = this.getNumberWithSpaces(calculationResponse.amountInCurrency);
1374
1388
  this.formStore.productConditionsForm.insurancePremiumPerMonthInDollar = this.getNumberWithSpaces(calculationResponse.premiumInCurrency);
1375
1389
  }
1390
+ if (this.isLiferenta) {
1391
+ this.formStore.productConditionsForm.amountAnnuityPayments = this.getNumberWithSpaces(calculationResponse.annuityMonthPay);
1392
+ }
1376
1393
  this.showToaster('success', this.t('toaster.calculated'), 1000);
1377
1394
  } catch (err) {
1378
1395
  ErrorHandler(err);
@@ -1419,6 +1436,12 @@ export const useDataStore = defineStore('data', {
1419
1436
  form1.policyAppDto.amountInCurrency = getNumber(this.formStore.productConditionsForm.requestedSumInsuredInDollar);
1420
1437
  form1.policyAppDto.currencyExchangeRate = this.currencies.usd;
1421
1438
  }
1439
+ if (this.isLiferenta) {
1440
+ form1.policyAppDto.guaranteedPaymentPeriod = this.formStore.productConditionsForm.guaranteedPeriod || 0;
1441
+ form1.policyAppDto.annuityTypeId = this.formStore.productConditionsForm.typeAnnuityInsurance.id;
1442
+ form1.policyAppDto.paymentPeriod = this.formStore.productConditionsForm.termAnnuityPayments;
1443
+ form1.policyAppDto.annuityPaymentPeriodId = this.formStore.productConditionsForm.periodAnnuityPayment.id;
1444
+ }
1422
1445
  try {
1423
1446
  let id = this.formStore.applicationData.processInstanceId;
1424
1447
 
@@ -1441,6 +1464,9 @@ export const useDataStore = defineStore('data', {
1441
1464
  } else {
1442
1465
  this.formStore.productConditionsForm.insurancePremiumPerMonth = this.getNumberWithSpaces(result);
1443
1466
  }
1467
+ if (this.isLiferenta) {
1468
+ this.formStore.productConditionsForm.amountAnnuityPayments = this.getNumberWithSpaces(applicationData.policyAppDto.annuityMonthPay);
1469
+ }
1444
1470
  this.showToaster('success', this.t('toaster.calculated'), 1000);
1445
1471
  } catch (err) {
1446
1472
  ErrorHandler(err);
@@ -1631,6 +1657,23 @@ export const useDataStore = defineStore('data', {
1631
1657
  this.formStore.productConditionsForm.disabilityMultiply = parseProcents(applicationData.policyAppDto.disabilityMultiply);
1632
1658
  this.formStore.productConditionsForm.disabilityAdditive = parseProcents(applicationData.policyAppDto.disabilityAdditive);
1633
1659
 
1660
+ if (this.isLiferenta) {
1661
+ this.formStore.productConditionsForm.additionalConditionAnnuityPayments =
1662
+ applicationData.policyAppDto.guaranteedPaymentPeriod === null || applicationData.policyAppDto.guaranteedPaymentPeriod === 0 ? false : true;
1663
+ this.formStore.productConditionsForm.guaranteedPeriod =
1664
+ applicationData.policyAppDto.guaranteedPaymentPeriod === 0 ? null : applicationData.policyAppDto.guaranteedPaymentPeriod;
1665
+ this.formStore.productConditionsForm.termAnnuityPayments = applicationData.policyAppDto.paymentPeriod;
1666
+ this.formStore.productConditionsForm.amountAnnuityPayments = this.getNumberWithSpaces(
1667
+ applicationData.policyAppDto.annuityMonthPay === 0 ? null : applicationData.policyAppDto.annuityMonthPay,
1668
+ );
1669
+
1670
+ let annuityType = this.dicAnnuityTypeList.find(item => item.id == applicationData.policyAppDto.annuityTypeId);
1671
+ this.formStore.productConditionsForm.typeAnnuityInsurance = annuityType ? annuityType : new Value();
1672
+
1673
+ let annuityPaymentPeriod = this.processAnnuityPaymentPeriod.find(item => item.id == applicationData.policyAppDto.annuityPaymentPeriodId);
1674
+ this.formStore.productConditionsForm.periodAnnuityPayment = annuityPaymentPeriod ? annuityPaymentPeriod : new Value();
1675
+ }
1676
+
1634
1677
  let processIndexRate = this.processIndexRate.find(item => item.id == applicationData.policyAppDto.indexRateId);
1635
1678
  this.formStore.productConditionsForm.processIndexRate = processIndexRate ? processIndexRate : this.processIndexRate.find(item => item.code === '0');
1636
1679
 
package/store/rules.js CHANGED
@@ -167,4 +167,10 @@ export const rules = {
167
167
  ],
168
168
  policyholderAgeLimit: [v => v >= 18 || t('rules.policyholderAgeLimit')],
169
169
  beneficiaryAgeLimit: [v => v <= 15 || t('rules.beneficiaryAgeLimit')],
170
+ guaranteedPeriodLimit(v, termAnnuityPayments) {
171
+ if (Number(v) > Number(termAnnuityPayments)) {
172
+ return t('rules.guaranteedPeriodLimit');
173
+ }
174
+ return true;
175
+ },
170
176
  };