hl-core 0.0.10-beta.34 → 0.0.10-beta.36

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/base.api.ts CHANGED
@@ -306,6 +306,13 @@ export class ApiClass {
306
306
  });
307
307
  }
308
308
 
309
+ async getProgramType() {
310
+ return await this.axiosCall<Value[]>({
311
+ method: Methods.GET,
312
+ url: '/Arm/api/Dictionary/GetDictionaryItems/DicProgramType',
313
+ });
314
+ }
315
+
309
316
  async getContrAgentData(personId: string | number) {
310
317
  return await this.axiosCall<Types.ContragentQuestionaries[]>({
311
318
  method: Methods.GET,
@@ -665,6 +672,17 @@ export class ApiClass {
665
672
  });
666
673
  }
667
674
 
675
+ async getContractIdByNumber(insuranceTypeEnum: number, policyNo: string) {
676
+ return await this.axiosCall<number>({
677
+ method: Methods.GET,
678
+ url: `/Ekk/api/PolicyInsis/GetContractIDbyNumber`,
679
+ params: {
680
+ insuranceTypeEnum,
681
+ policyNo,
682
+ },
683
+ });
684
+ }
685
+
668
686
  async isCourseChanged(processInstanceId: string) {
669
687
  return await this.axiosCall<boolean>({
670
688
  method: Methods.GET,
@@ -15,7 +15,7 @@
15
15
  @onMore="$emit('onMore')"
16
16
  />
17
17
  <slot key="slot-content" name="content"></slot>
18
- <section key="main" :class="[$styles.flexColNav]">
18
+ <section key="main" class="max-h-[90dvh] overflow-y-scroll" :class="[$styles.flexColNav]">
19
19
  <slot name="start"></slot>
20
20
  <base-fade-transition>
21
21
  <div v-if="$dataStore.menuItems && $dataStore.menuItems.length" class="flex flex-col gap-[10px]">
@@ -403,8 +403,8 @@
403
403
  </base-animation>
404
404
  <base-form-input
405
405
  v-model="pensionForm.voluntaryContractAmount"
406
- :readonly="isDisabled"
407
- :clearable="!isDisabled"
406
+ :readonly="isDisabled || isEnpfSum"
407
+ :clearable="!isDisabled && !isEnpfSum"
408
408
  :label="$dataStore.t('pension.voluntaryContractAmount')"
409
409
  :rules="$dataStore.rules.sums"
410
410
  :suffix="$constants.currencySymbols.kzt"
@@ -501,7 +501,7 @@ export default defineComponent({
501
501
  // loading.value = false;
502
502
  // return;
503
503
  // }
504
- if (dataStore.isAML || dataStore.isCheckContract || dataStore.isCheckContragent || dataStore.isDas || dataStore.isPrePension || dataStore.isUU) {
504
+ if (dataStore.isAML || dataStore.isCheckContract || dataStore.isCheckContragent || dataStore.isDas || dataStore.isPrePension || dataStore.isCritical || dataStore.isUU) {
505
505
  emit('task', [dataStore.panelAction, route.params.taskId as string, actionCause.value]);
506
506
  } else {
507
507
  await dataStore.handleTask(dataStore.panelAction, route.params.taskId as string, actionCause.value);
@@ -603,7 +603,7 @@ export default defineComponent({
603
603
  const price = computed(() => dataStore.getNumberWithSpaces(formStore.productConditionsForm.calculatorForm.price));
604
604
  const insuredAmount = computed(() => formStore.productConditionsForm.calculatorForm.amount!.nameRu! + dataStore.currency);
605
605
  const hasConditionsInfo = computed(() => {
606
- if (dataStore.isLifetrip || dataStore.isDas || dataStore.isUU || dataStore.isPrePension || dataStore.isPension) {
606
+ if (dataStore.isLifetrip || dataStore.isDas || dataStore.isUU || dataStore.isPrePension || dataStore.isCritical || dataStore.isPension) {
607
607
  return false;
608
608
  }
609
609
  if (dataStore.isFinCenter()) {
@@ -612,7 +612,7 @@ export default defineComponent({
612
612
  return true;
613
613
  });
614
614
  const hasConditionsAction = computed(() => {
615
- if (dataStore.isPrePension) {
615
+ if (dataStore.isPrePension || dataStore.isCritical) {
616
616
  return false;
617
617
  }
618
618
  return true;
@@ -1123,6 +1123,7 @@ export class DataStoreClass {
1123
1123
  workTypes: Value[];
1124
1124
  sportsTypes: Value[];
1125
1125
  purposes: Value[];
1126
+ programType: Value[];
1126
1127
  constructor() {
1127
1128
  this.projectConfig = null;
1128
1129
  this.filters = {
@@ -1176,6 +1177,7 @@ export class DataStoreClass {
1176
1177
  this.processIndexRate = [];
1177
1178
  this.processGfot = [];
1178
1179
  this.processPaymentPeriod = [];
1180
+ this.programType = [];
1179
1181
  this.dicAnnuityTypeList = [];
1180
1182
  this.processAnnuityPaymentPeriod = [];
1181
1183
  this.questionRefs = [];
@@ -24,6 +24,7 @@ export const constants = Object.freeze({
24
24
  pensionannuityrefundnew: 24,
25
25
  pensionannuityjointnew: 25,
26
26
  gonsadd: 26,
27
+ criticalillness: 29,
27
28
  },
28
29
  amlProducts: {
29
30
  checkcontragent: 1,
@@ -794,6 +794,9 @@ export class RoleController {
794
794
  isDsuio = () => {
795
795
  return this.isRole(constants.roles.Dsuio);
796
796
  };
797
+ isHeadDso = () => {
798
+ return this.isRole(constants.roles.HEADDSO);
799
+ };
797
800
  isAdjuster = () => {
798
801
  return this.isRole(constants.roles.SettlementLosses);
799
802
  };
@@ -820,6 +823,19 @@ export class RoleController {
820
823
  toAML: this.isCompliance() || baseAccessRoles,
821
824
  toAULETTI: this.isAgentAuletti() || this.isManagerAuletti() || baseAccessRoles,
822
825
  toLKA_A: this.isAgentAuletti() || baseAccessRoles,
826
+ toUU: this.isServiceManager() || this.isAccountant() || this.isAdjuster() || this.isHeadAdjuster() || baseAccessRoles,
827
+ toDSO:
828
+ this.isDsuio() ||
829
+ this.isManager() ||
830
+ this.isActuary() ||
831
+ this.isHeadOfDso() ||
832
+ this.isAccountant() ||
833
+ this.isUSNSACCINS() ||
834
+ this.isDsoDirector() ||
835
+ this.isServiceManager() ||
836
+ this.isUSNSsanctioner() ||
837
+ this.isAccountantDirector() ||
838
+ baseAccessRoles,
823
839
  toEFO:
824
840
  this.isManager() ||
825
841
  this.isAgent() ||
package/locales/ru.json CHANGED
@@ -248,7 +248,9 @@
248
248
  "copyToClient": "Скопировать ссылку для клиента",
249
249
  "searchByFio": "Поиск по ФИО",
250
250
  "recalc": "Перерасчет",
251
- "conclude": "Заключить"
251
+ "conclude": "Заключить",
252
+ "agree": "Согласен",
253
+ "disagree": "Не согласен",
252
254
  },
253
255
  "dialog": {
254
256
  "title": "Подтверждение",
@@ -381,6 +383,8 @@
381
383
  "isPolicyholderLegalEntity": "Является ли Страхователь Юридическим лицом?",
382
384
  "additionalAgreement": "Заключить дополнительное соглашение",
383
385
  "searchAgreementOSNS": "Поиск договора по ОСНС",
386
+ "legalPerson": "Юридическое лицо",
387
+ "physicalPerson": "Физическое лицо",
384
388
  "productConditionsForm": {
385
389
  "coverPeriod": "Срок страхования",
386
390
  "payPeriod": "Период оплаты страховой премии",
@@ -432,7 +436,8 @@
432
436
  "mrpPayment": "Выплата на погребение (в тенге)",
433
437
  "fixInsSum": "Фиксированная сумма",
434
438
  "amountRefunded": "Сумма к возврату",
435
- "amountPaid": "Сумма к доплате"
439
+ "amountPaid": "Сумма к доплате",
440
+ "franchise": "Франшиза",
436
441
  },
437
442
  "calculatorForm": {
438
443
  "selectedCountries": "Выбранные страны",
@@ -1197,5 +1202,11 @@
1197
1202
  "agreementBlock": {
1198
1203
  "title": "Согласие на сбор и обработку пресональных данных",
1199
1204
  "text": "Я, предоставляю АО «Халык-Life» (БИН 051140004354) и (или) организациям, входящими в состав финансовой Группы «Халык» (Акционеру АО «Халык-Life» (БИН 940140000385) и его дочерним организациям), перестраховочным организациям, организации по формированию и ведению базы данных по страхованию (БИН 120940011577), юридическому лицу, осуществляющему деятельность по привлечению пенсионных взносов и пенсионным выплатам (БИН 971240002115), юридическому лицу, осуществляющему по решению Правительства Республики Казахстан деятельность по оказанию государственных услуг (БИН 160440007161), операторам/владельцам государственных баз данных согласие на сбор и обработку, трансграничную передачу и распространение моих персональных данных и информации, связанных со мной и моими близкими родственниками, из всех источников и баз данных, в том числе содержащих врачебную, налоговую, банковскую тайну, тайну пенсионных накоплений, и иную охраняемую законом тайну, зафиксированных на электронном, бумажном и (или) ином материальном носителе, с целью оказания АО «Халык-Life» функций страховой организации и вышеуказанными организациями финансовых и иных услуг, в том числе необходимых для заполнения/формирования заявлений и договоров, а также моей надлежащей идентификации, включая, но не ограничиваясь: фамилия, имя, отчество, гражданство, данные документа, удостоверяющего личность, индивидуальный идентификационный номер, дата и данные о рождении, пол, национальность, фото, биометрические данные, состояние здоровья, банковские реквизиты, сведения о дееспособности, сведения, необходимые для поддержания связи, сведения о размере суммы пенсионных накоплений и размере выкупной суммы, иные данные/информация, полученные и переданные на текущий момент и которые могут быть получены и переданы в будущем, из всех/во все возможных(-хабарлама ые) источников(-хабарлама и), в том числе любых(-хабарлама е) баз(-хабарлама ы) данных, в том числе баз данных: владельцев государственных баз данных, организации по формированию и ведению базы данных по страхованию, юридического лица, осуществляющего деятельность по привлечению пенсионных взносов и пенсионным выплатам, юридического лица, осуществляющего по решению Правительства Республики Казахстан деятельность по оказанию государственных услуг, которые будут или стали известны АО «Халык-Life» в процессе его деятельности и/или в рамках гражданско-хабарлама правовых и иных отношений с контрагентами в рамках соответствующего договора, предоставляю АО «Халык-Life» возможность передачи моих персональных данных уполномоченным органам, Акционеру АО «Халык-Life» и его дочерним организациям, аффилированным лицам АО «Халык-Life», организации по формированию и ведению базы данных по страхованию, операторам государственных баз данных, и иным третьим лицам, связанным, как в настоящее время, так и в будущем, с АО «Халык-Life» обстоятельствами или правоотношениями, и любым третьим лицам, когда АО «Халык-Life» обязан или вправе совершить такие действия в соответствии с требованиями законодательства и (или) внутренними документами. Настоящее согласие действует в период правоспособности АО «Халык-Life» (его правопреемника)."
1200
- }
1205
+ },
1206
+ "healthDeclaration": "Декларация о здоровье Застрахованного",
1207
+ "attachNotification": "Вложить уведомление",
1208
+ "coverageFrom": "Период действия с",
1209
+ "coverageTo": "Период действия до",
1210
+ "recoveredFrom": "Восстановлен с"
1211
+
1201
1212
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hl-core",
3
- "version": "0.0.10-beta.34",
3
+ "version": "0.0.10-beta.36",
4
4
  "license": "MIT",
5
5
  "private": false,
6
6
  "main": "nuxt.config.ts",
@@ -63,6 +63,7 @@ export const useDataStore = defineStore('data', {
63
63
  isCheckContract: state => state.product === 'checkcontract',
64
64
  isCheckContragent: state => state.product === 'checkcontragent',
65
65
  isPrePension: state => state.product === 'prepensionannuity',
66
+ isCritical: state => state.product === 'criticalillness',
66
67
  isBalam: state => state.product === 'balam',
67
68
  isDSO: state => state.product === 'dso',
68
69
  isUU: state => state.product === 'uu',
@@ -432,7 +433,7 @@ export const useDataStore = defineStore('data', {
432
433
 
433
434
  const contragentResponse = await this.api.getContragentById(id);
434
435
  if (contragentResponse.totalItems > 0) {
435
- await this.serializeContragentData(member, contragentResponse.items[0]);
436
+ await this.serializeContragentData(member, contragentResponse.items[0], whichForm);
436
437
  } else {
437
438
  this.showToaster('error', this.t('toaster.notFoundUser'));
438
439
  }
@@ -442,7 +443,7 @@ export const useDataStore = defineStore('data', {
442
443
  this.isLoading = false;
443
444
  }
444
445
  },
445
- async serializeContragentData(member: Member, contragent: Types.ContragentType) {
446
+ async serializeContragentData(member: Member, contragent: Types.ContragentType, whichForm?: keyof typeof StoreMembers | 'slaveInsuredForm') {
446
447
  const [questionairesResponse, contactsResponse, documentsResponse, addressResponse] = await Promise.allSettled([
447
448
  this.api.getContrAgentData(contragent.id),
448
449
  this.api.getContrAgentContacts(contragent.id),
@@ -464,13 +465,17 @@ export const useDataStore = defineStore('data', {
464
465
  if (addressResponse.status === 'fulfilled' && addressResponse.value && addressResponse.value.length) {
465
466
  member.response.addresses = addressResponse.value;
466
467
  }
467
- this.parseContragent(member, {
468
- personalData: contragent,
469
- data: questionairesResponse.status === 'fulfilled' ? questionairesResponse.value : undefined,
470
- contacts: contactsResponse.status === 'fulfilled' ? contactsResponse.value : undefined,
471
- documents: documentsResponse.status === 'fulfilled' ? documentsResponse.value : undefined,
472
- address: addressResponse.status === 'fulfilled' ? addressResponse.value : undefined,
473
- });
468
+ this.parseContragent(
469
+ member,
470
+ {
471
+ personalData: contragent,
472
+ data: questionairesResponse.status === 'fulfilled' ? questionairesResponse.value : undefined,
473
+ contacts: contactsResponse.status === 'fulfilled' ? contactsResponse.value : undefined,
474
+ documents: documentsResponse.status === 'fulfilled' ? documentsResponse.value : undefined,
475
+ address: addressResponse.status === 'fulfilled' ? addressResponse.value : undefined,
476
+ },
477
+ whichForm,
478
+ );
474
479
  },
475
480
  parseContragent(
476
481
  member: Member,
@@ -481,6 +486,7 @@ export const useDataStore = defineStore('data', {
481
486
  documents?: Types.ContragentDocuments[];
482
487
  address?: Types.ContragentAddress[];
483
488
  },
489
+ whichForm?: keyof typeof StoreMembers | 'slaveInsuredForm',
484
490
  ) {
485
491
  member.verifyType = user.personalData.verifyType;
486
492
  member.verifyDate = user.personalData.verifyDate;
@@ -503,7 +509,12 @@ export const useDataStore = defineStore('data', {
503
509
 
504
510
  if ('documents' in user && user.documents && user.documents.length) {
505
511
  member.documentsList = user.documents;
506
- const documentByPriority = user.documents.find(i => i.type === CoreEnums.Insis.DocTypes['1UDL']);
512
+ const documentByPriority = user.documents.find(i => {
513
+ if (this.isLifetrip && (whichForm !== this.formStore.policyholderFormKey || this.formStore.isPolicyholderInsured === true)) {
514
+ return i.type === CoreEnums.Insis.DocTypes['PS'];
515
+ }
516
+ return i.type === CoreEnums.Insis.DocTypes['1UDL'];
517
+ });
507
518
  const userDocument = documentByPriority ? documentByPriority : user.documents[0];
508
519
  const documentType = this.documentTypes.find((i: Value) => i.ids === userDocument.type);
509
520
  const documentIssuer = this.documentIssuers.find((i: Value) => i.nameRu === userDocument.issuerNameRu);
@@ -1453,7 +1464,7 @@ export const useDataStore = defineStore('data', {
1453
1464
  return await this.getFromApi('economySectorCode', 'getSectorCode');
1454
1465
  },
1455
1466
  async getEconomicActivityType() {
1456
- const makeCall = this.isLifeBusiness || this.isGns || this.isDas || this.isUU || this.isPrePension;
1467
+ const makeCall = this.isLifeBusiness || this.isGns || this.isDas || this.isUU || this.isPrePension || this.isCritical;
1457
1468
  if (makeCall) return await this.getFromApi('economicActivityType', 'getEconomicActivityType');
1458
1469
  },
1459
1470
  async getFamilyStatuses() {
@@ -1466,7 +1477,7 @@ export const useDataStore = defineStore('data', {
1466
1477
  return await this.getFromApi('relations', 'getRelationTypes');
1467
1478
  },
1468
1479
  async getBanks() {
1469
- const makeCall = this.isLifeBusiness || this.isDas || this.isUU || this.isPension || this.isGns || this.isPrePension || this.isDSO;
1480
+ const makeCall = this.isLifeBusiness || this.isDas || this.isUU || this.isPension || this.isGns || this.isPrePension || this.isDSO || this.isCritical;
1470
1481
  if (makeCall) return await this.getFromApi('banks', 'getBanks');
1471
1482
  },
1472
1483
  async getInsuranceCompanies() {
@@ -1480,6 +1491,10 @@ export const useDataStore = defineStore('data', {
1480
1491
  const makeCall = !this.isPension && this.processCode;
1481
1492
  if (makeCall) return await this.getFromApi('processPaymentPeriod', 'getProcessPaymentPeriod', this.processCode);
1482
1493
  },
1494
+ async getProgramType() {
1495
+ const makeCall = this.isCritical && this.processCode;
1496
+ if (makeCall) return await this.getFromApi('programType', 'getProgramType', this.processCode);
1497
+ },
1483
1498
  async getQuestionRefs(id?: string) {
1484
1499
  return await this.getFromApi('questionRefs', 'getQuestionRefs', id, true);
1485
1500
  },
@@ -1514,7 +1529,8 @@ export const useDataStore = defineStore('data', {
1514
1529
  return this.gender;
1515
1530
  },
1516
1531
  async getAuthorityBasis() {
1517
- if (this.isDas || this.isLifeBusiness || this.isGns || this.isUU || this.isPrePension) return await this.getFromApi('authorityBasis', 'getArmDicts', 'DicAuthorityBasis');
1532
+ if (this.isDas || this.isLifeBusiness || this.isGns || this.isUU || this.isPrePension || this.isCritical)
1533
+ return await this.getFromApi('authorityBasis', 'getArmDicts', 'DicAuthorityBasis');
1518
1534
  },
1519
1535
  async getWorkPosition(search: string) {
1520
1536
  try {
@@ -1543,6 +1559,7 @@ export const useDataStore = defineStore('data', {
1543
1559
  this.getRelationTypes(),
1544
1560
  this.getProcessIndexRate(),
1545
1561
  this.getProcessPaymentPeriod(),
1562
+ this.getProgramType(),
1546
1563
  this.getDicFileTypeList(),
1547
1564
  this.getDicAnnuityTypeList(),
1548
1565
  this.getProcessAnnuityPaymentPeriod(),
package/types/enum.ts CHANGED
@@ -57,6 +57,12 @@ export enum Actions {
57
57
 
58
58
  recalc = 'recalc',
59
59
  recalcCustom = 'recalcCustom',
60
+
61
+ annulment = 'annulment',
62
+ annulmentCustom = 'annulmentCustom',
63
+
64
+ otrs = 'otrs',
65
+ otrsCustom = 'otrsCustom'
60
66
  }
61
67
 
62
68
  export enum PostActions {
@@ -102,6 +108,7 @@ export enum Roles {
102
108
  BranchDirector = 'BranchDirector',
103
109
  USNSACCINS = 'USNSACCINS',
104
110
  Dsuio = 'Dsuio',
111
+ HEADDSO = 'HEADDSO',
105
112
  SettlementLosses = 'SettlementLosses',
106
113
  HeadSettlementLosses = 'HeadSettlementLosses',
107
114
  DsoDirector = 'DsoDirector',
package/types/index.ts CHANGED
@@ -31,7 +31,8 @@ export type Projects =
31
31
  | 'auletti'
32
32
  | 'lka-auletti'
33
33
  | 'prepensionannuity'
34
- | 'balam';
34
+ | 'balam'
35
+ | 'criticalillness';
35
36
  export type MemberKeys = keyof ReturnType<typeof useFormStore>;
36
37
  export type MemberFormTypes = 'policyholderForm' | 'insuredForm' | 'beneficiaryForm' | 'beneficialOwnerForm' | 'policyholdersRepresentativeForm' | 'productConditionsForm';
37
38
  export type SingleMember = 'policyholderForm' | 'policyholdersRepresentativeForm';