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 +14 -0
- package/components/Pages/ProductConditions.vue +79 -2
- package/composables/classes.ts +22 -0
- package/locales/en.json +8 -1
- package/locales/kz.json +8 -1
- package/locales/ru.json +10 -2
- package/package.json +1 -1
- package/store/data.store.js +43 -0
- package/store/rules.js +6 -0
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,
|
package/composables/classes.ts
CHANGED
|
@@ -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
package/store/data.store.js
CHANGED
|
@@ -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
|
};
|