hl-core 0.0.10-beta.3 → 0.0.10-beta.30

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.
Files changed (50) hide show
  1. package/api/base.api.ts +259 -190
  2. package/api/interceptors.ts +3 -5
  3. package/components/Complex/TextBlock.vue +2 -0
  4. package/components/Dialog/Dialog.vue +7 -1
  5. package/components/Dialog/FamilyDialog.vue +2 -0
  6. package/components/Form/DigitalDocument.vue +52 -0
  7. package/components/Form/DynamicForm.vue +1 -0
  8. package/components/Form/FormData.vue +1 -0
  9. package/components/Form/ManagerAttachment.vue +18 -8
  10. package/components/Form/ProductConditionsBlock.vue +12 -6
  11. package/components/Input/DynamicInput.vue +2 -0
  12. package/components/Input/FormInput.vue +2 -0
  13. package/components/Input/OtpInput.vue +25 -0
  14. package/components/Input/PanelInput.vue +1 -0
  15. package/components/Input/RoundedInput.vue +2 -0
  16. package/components/Input/RoundedSelect.vue +4 -0
  17. package/components/Input/SwitchInput.vue +2 -0
  18. package/components/Input/TextInput.vue +2 -0
  19. package/components/Layout/Drawer.vue +2 -0
  20. package/components/Pages/Anketa.vue +166 -167
  21. package/components/Pages/Auth.vue +2 -0
  22. package/components/Pages/ContragentForm.vue +2 -1
  23. package/components/Pages/Documents.vue +244 -6
  24. package/components/Pages/MemberForm.vue +276 -96
  25. package/components/Pages/ProductConditions.vue +275 -96
  26. package/components/Panel/PanelHandler.vue +236 -108
  27. package/components/Transitions/Animation.vue +2 -0
  28. package/components/Utilities/Chip.vue +3 -1
  29. package/components/Utilities/JsonViewer.vue +1 -2
  30. package/composables/classes.ts +117 -42
  31. package/composables/constants.ts +33 -0
  32. package/composables/fields.ts +6 -4
  33. package/composables/index.ts +243 -7
  34. package/composables/styles.ts +8 -24
  35. package/configs/pwa.ts +1 -7
  36. package/layouts/clear.vue +1 -1
  37. package/layouts/default.vue +1 -1
  38. package/layouts/full.vue +1 -1
  39. package/locales/ru.json +34 -10
  40. package/nuxt.config.ts +10 -13
  41. package/package.json +13 -12
  42. package/plugins/head.ts +2 -1
  43. package/store/data.store.ts +380 -389
  44. package/store/member.store.ts +3 -2
  45. package/store/rules.ts +19 -0
  46. package/tsconfig.json +3 -0
  47. package/types/enum.ts +19 -2
  48. package/types/env.d.ts +2 -2
  49. package/types/form.ts +71 -74
  50. package/types/index.ts +916 -873
@@ -1,6 +1,7 @@
1
1
  import { Statuses, StoreMembers, MemberAppCodes } from '../types/enum';
2
2
  import { formatDate } from '.';
3
3
  import type { RouteLocationNormalized, RouteLocationNormalizedLoaded } from 'vue-router';
4
+ import type * as Types from '../types';
4
5
 
5
6
  type LinkType = Partial<RouteLocationNormalized> | Partial<RouteLocationNormalizedLoaded> | string | null | boolean;
6
7
 
@@ -17,7 +18,7 @@ class MenuItemConfig {
17
18
  disabled?: ComputedRef;
18
19
  color?: string;
19
20
  show?: ComputedRef;
20
- chip?: ChipComponent;
21
+ chip?: Types.ChipComponent;
21
22
 
22
23
  constructor(
23
24
  id: any = null,
@@ -32,7 +33,7 @@ class MenuItemConfig {
32
33
  disabled?: ComputedRef,
33
34
  color?: string,
34
35
  show?: ComputedRef,
35
- chip?: ChipComponent,
36
+ chip?: Types.ChipComponent,
36
37
  ) {
37
38
  this.id = id;
38
39
  this.title = title;
@@ -87,6 +88,7 @@ export class IDocument {
87
88
  iin?: string;
88
89
  fileTypeId?: string;
89
90
  fileTypeName?: string;
91
+ fileTypeNameRu?: string;
90
92
  fileId?: string;
91
93
  page?: number;
92
94
  fileName?: string;
@@ -102,6 +104,7 @@ export class IDocument {
102
104
  iin?: string,
103
105
  fileTypeId?: string,
104
106
  fileTypeName?: string,
107
+ fileTypeNameRu?: string,
105
108
  fileId?: string,
106
109
  page?: number,
107
110
  fileName?: string,
@@ -116,6 +119,7 @@ export class IDocument {
116
119
  this.iin = iin;
117
120
  this.fileTypeId = fileTypeId;
118
121
  this.fileTypeName = fileTypeName;
122
+ this.fileTypeNameRu = fileTypeNameRu;
119
123
  this.fileId = fileId;
120
124
  this.page = page;
121
125
  this.fileName = fileName;
@@ -129,9 +133,24 @@ export class IDocument {
129
133
 
130
134
  export class DocumentItem extends IDocument {
131
135
  constructor(
132
- { id, processInstanceId, iin, fileTypeId, fileTypeName, fileId, page, fileName, fileTypeCode, sharedId, signed, signId, certificateDate }: IDocument = new IDocument(),
136
+ {
137
+ id,
138
+ processInstanceId,
139
+ iin,
140
+ fileTypeId,
141
+ fileTypeName,
142
+ fileTypeNameRu,
143
+ fileId,
144
+ page,
145
+ fileName,
146
+ fileTypeCode,
147
+ sharedId,
148
+ signed,
149
+ signId,
150
+ certificateDate,
151
+ }: IDocument = new IDocument(),
133
152
  ) {
134
- super(id, processInstanceId, iin, fileTypeId, fileTypeName, fileId, page, fileName, fileTypeCode, sharedId, signed, signId, certificateDate);
153
+ super(id, processInstanceId, iin, fileTypeId, fileTypeName, fileTypeNameRu, fileId, page, fileName, fileTypeCode, sharedId, signed, signId, certificateDate);
135
154
  }
136
155
  }
137
156
 
@@ -179,13 +198,25 @@ export class User {
179
198
  roles: string[];
180
199
  id: string | null;
181
200
  fullName: string | null;
201
+ code: string;
202
+ branchCode: string;
182
203
 
183
- constructor(login: string | null = null, password: string | null = null, roles: string[] = [], id: string | null = null, fullName: string | null = null) {
204
+ constructor(
205
+ login: string | null = null,
206
+ password: string | null = null,
207
+ roles: string[] = [],
208
+ id: string | null = null,
209
+ fullName: string | null = null,
210
+ code: string = '',
211
+ branchCode: string = '',
212
+ ) {
184
213
  this.login = login;
185
214
  this.password = password;
186
215
  this.roles = roles;
187
216
  this.id = id;
188
217
  this.fullName = fullName;
218
+ this.code = code;
219
+ this.branchCode = branchCode;
189
220
  }
190
221
 
191
222
  resetUser() {
@@ -194,6 +225,8 @@ export class User {
194
225
  this.roles = [];
195
226
  this.id = null;
196
227
  this.fullName = null;
228
+ this.code = '';
229
+ this.branchCode = '';
197
230
  }
198
231
  }
199
232
 
@@ -383,11 +416,11 @@ export class Contragent extends Person {
383
416
 
384
417
  export class Member extends Person {
385
418
  response?: {
386
- contragent?: ContragentType;
387
- questionnaires?: ContragentQuestionaries[];
388
- contacts?: ContragentContacts[];
389
- documents?: ContragentDocuments[];
390
- addresses?: ContragentAddress[];
419
+ contragent?: Types.ContragentType;
420
+ questionnaires?: Types.ContragentQuestionaries[];
421
+ contacts?: Types.ContragentContacts[];
422
+ documents?: Types.ContragentDocuments[];
423
+ addresses?: Types.ContragentAddress[];
391
424
  };
392
425
  verifyType: any;
393
426
  verifyDate: any;
@@ -427,7 +460,7 @@ export class Member extends Person {
427
460
  birthRegion: Value;
428
461
  documentType: Value;
429
462
  documentNumber: string | null;
430
- documentIssuers: Value;
463
+ documentIssuers: Types.Base.Document.IssuerOther;
431
464
  documentDate: string | null;
432
465
  documentExpire: string | null;
433
466
  signOfResidency: Value;
@@ -451,15 +484,16 @@ export class Member extends Person {
451
484
  _phonePattern: RegExp;
452
485
  _emailPattern: RegExp;
453
486
  gotFromInsis: boolean | null;
454
- gosPersonData: Api.GBD.Person | null;
487
+ gosPersonData: Types.Api.GBD.Person | null;
455
488
  parsedDocument: any;
456
489
  hasAgreement: boolean | null;
457
490
  otpTokenId: string | null;
458
- otpCode: string | null;
459
- documentsList: ContragentDocuments[];
491
+ otpCode: string;
492
+ documentsList: Types.ContragentDocuments[];
460
493
  isInsuredUnderage?: boolean = false;
461
494
  bankInfo: BankInfoClass;
462
495
  transferContractCompany: Value;
496
+ digitalDocument: IDocument | null;
463
497
  identityDocument: {
464
498
  documentType: Value;
465
499
  documentNumber: string | null;
@@ -586,7 +620,7 @@ export class Member extends Person {
586
620
  this.homePhone = homePhone;
587
621
  this.email = email;
588
622
  this.otpTokenId = null;
589
- this.otpCode = null;
623
+ this.otpCode = '';
590
624
  this.address = address;
591
625
  this.familyStatus = familyStatus;
592
626
  this.isTerror = isTerror;
@@ -604,6 +638,7 @@ export class Member extends Person {
604
638
  this.hasAgreement = null;
605
639
  this.bankInfo = new BankInfoClass();
606
640
  this.transferContractCompany = new Value();
641
+ this.digitalDocument = null;
607
642
  this.identityDocument = {
608
643
  documentType: new Value(),
609
644
  documentNumber: null,
@@ -790,6 +825,7 @@ export class ProductConditions {
790
825
  fixInsSum: number | string | null;
791
826
  calcDate: string | null;
792
827
  contractEndDate: string | null;
828
+ currency: Value;
793
829
 
794
830
  constructor(
795
831
  insuranceCase = null,
@@ -838,6 +874,7 @@ export class ProductConditions {
838
874
  fixInsSum = null,
839
875
  calcDate = null,
840
876
  contractEndDate = null,
877
+ currency = new Value(),
841
878
  ) {
842
879
  this.requestedSumInsuredInDollar = null;
843
880
  this.insurancePremiumPerMonthInDollar = null;
@@ -890,6 +927,13 @@ export class ProductConditions {
890
927
  this.fixInsSum = fixInsSum;
891
928
  this.calcDate = calcDate;
892
929
  this.contractEndDate = contractEndDate;
930
+ this.currency = {
931
+ code: 'KZT',
932
+ id: '1',
933
+ nameKz: 'Тенге',
934
+ nameRu: 'Тенге',
935
+ ids: '',
936
+ };
893
937
  }
894
938
 
895
939
  getSingleTripDays() {
@@ -928,7 +972,7 @@ export class MemberSettings {
928
972
  }
929
973
 
930
974
  export class DataStoreClass {
931
- projectConfig: Utils.ProjectConfig | null;
975
+ projectConfig: Types.Utils.ProjectConfig | null;
932
976
  // IMP Контроллер фич
933
977
  controls: {
934
978
  // Cтавит значения по дефолту полям
@@ -973,7 +1017,7 @@ export class DataStoreClass {
973
1017
  };
974
1018
  iframeLoading: boolean;
975
1019
  hasLayoutMargins: boolean;
976
- readonly product: Projects | null;
1020
+ readonly product: Types.Projects | null;
977
1021
  readonly parentProduct: 'efo' | 'auletti';
978
1022
  showNav: boolean;
979
1023
  showDisabledMessage: boolean;
@@ -1016,7 +1060,7 @@ export class DataStoreClass {
1016
1060
  historyTotalItems: number;
1017
1061
  isColumnAsc = { ...InitialColumns() };
1018
1062
  idleKey: number;
1019
- processList: Item[] | null;
1063
+ processList: Types.Item[] | null;
1020
1064
  countries: Value[];
1021
1065
  citizenshipCountries: Value[];
1022
1066
  taxCountries: Value[];
@@ -1045,7 +1089,6 @@ export class DataStoreClass {
1045
1089
  fontSize: number;
1046
1090
  isFontChangerOpen: boolean = false;
1047
1091
  isLoading: boolean = false;
1048
- user: User;
1049
1092
  accessToken: string | null = null;
1050
1093
  refreshToken: string | null = null;
1051
1094
  processIndexRate: Value[];
@@ -1053,18 +1096,18 @@ export class DataStoreClass {
1053
1096
  processPaymentPeriod: Value[];
1054
1097
  dicAnnuityTypeList: Value[];
1055
1098
  processAnnuityPaymentPeriod: Value[];
1056
- taskList: TaskListItem[];
1057
- processHistory: TaskHistory[];
1058
- contragentList: ContragentType[];
1099
+ taskList: Types.TaskListItem[];
1100
+ processHistory: Types.TaskHistory[];
1101
+ contragentList: Types.ContragentType[];
1059
1102
  contragentFormKey: string;
1060
1103
  processCode: number | null;
1061
1104
  groupCode: string;
1062
- userGroups: Item[];
1105
+ userGroups: Types.Item[];
1063
1106
  onMainPage: boolean;
1064
1107
  SaleChanellPolicy: Value[];
1065
1108
  RegionPolicy: Value[];
1066
1109
  ManagerPolicy: Value[];
1067
- AgentData: AgentData[];
1110
+ AgentData: Types.AgentData[];
1068
1111
  riskGroup: Value[];
1069
1112
  DicCoverTypePeriod: Value[];
1070
1113
  currencies: {
@@ -1148,7 +1191,7 @@ export class DataStoreClass {
1148
1191
  this.ManagerPolicy = [];
1149
1192
  this.AgentData = [];
1150
1193
  this.DicCoverTypePeriod = [];
1151
- this.product = import.meta.env.VITE_PRODUCT ? (import.meta.env.VITE_PRODUCT as Projects) : null;
1194
+ this.product = import.meta.env.VITE_PRODUCT ? (import.meta.env.VITE_PRODUCT as Types.Projects) : null;
1152
1195
  this.parentProduct = import.meta.env.VITE_PARENT_PRODUCT ? import.meta.env.VITE_PARENT_PRODUCT : 'efo';
1153
1196
  this.showNav = true;
1154
1197
  this.showDisabledMessage = false;
@@ -1229,7 +1272,6 @@ export class DataStoreClass {
1229
1272
  this.fontSize = 14;
1230
1273
  this.isFontChangerOpen = false;
1231
1274
  this.isLoading = false;
1232
- this.user = new User();
1233
1275
  this.accessToken = null;
1234
1276
  this.refreshToken = null;
1235
1277
  this.taskList = [];
@@ -1300,10 +1342,10 @@ export class FormStoreClass {
1300
1342
  isUploadedSignedContract: boolean;
1301
1343
  signedContractFormData: any;
1302
1344
  lfb: {
1303
- clients: ClientV2[];
1345
+ clients: Types.ClientV2[];
1304
1346
  policyholder: PolicyholderClass;
1305
1347
  hasAccidentIncidents: boolean;
1306
- accidentIncidents: AccidentIncidents[];
1348
+ accidentIncidents: Types.AccidentIncidents[];
1307
1349
  policyholderActivities: PolicyholderActivity[];
1308
1350
  beneficialOwners: BeneficialOwner[];
1309
1351
  beneficialOwnersIndex: number;
@@ -1311,12 +1353,14 @@ export class FormStoreClass {
1311
1353
  clientId: string | null;
1312
1354
  insuredFile: any;
1313
1355
  isPanelInside: boolean;
1356
+ typeChange: string;
1357
+ add: boolean;
1314
1358
  };
1315
- additionalInsuranceTerms: AddCover[];
1316
- additionalInsuranceTermsWithout: AddCover[];
1317
- signUrls: SignUrlType[];
1359
+ additionalInsuranceTerms: Types.AddCover[];
1360
+ additionalInsuranceTermsWithout: Types.AddCover[];
1361
+ signUrls: Types.SignUrlType[];
1318
1362
  epayLink: string | null;
1319
- invoiceData: EpayResponse | null;
1363
+ invoiceData: Types.EpayResponse | null;
1320
1364
  affilationResolution: {
1321
1365
  id: string | number | null;
1322
1366
  processInstanceId: string | number | null;
@@ -1329,19 +1373,20 @@ export class FormStoreClass {
1329
1373
  date: string | null;
1330
1374
  };
1331
1375
  signedDocumentList: IDocument[];
1332
- surveyByHealthBase: AnketaFirst | null;
1333
- surveyByHealthBasePolicyholder: AnketaFirst | null;
1334
- surveyByCriticalBase: AnketaFirst | null;
1335
- surveyByCriticalBasePolicyholder: AnketaFirst | null;
1376
+ signatories: any[];
1377
+ surveyByHealthBase: Types.AnketaFirst | null;
1378
+ surveyByHealthBasePolicyholder: Types.AnketaFirst | null;
1379
+ surveyByCriticalBase: Types.AnketaFirst | null;
1380
+ surveyByCriticalBasePolicyholder: Types.AnketaFirst | null;
1336
1381
  definedAnswersId: {
1337
1382
  surveyByHealthBase: any;
1338
1383
  surveyByCriticalBase: any;
1339
1384
  surveyByHealthBasePolicyholder: any;
1340
1385
  surveyByCriticalBasePolicyholder: any;
1341
1386
  };
1342
- birthInfos: Api.GKB.BirthInfo[];
1387
+ birthInfos: Types.Api.GKB.BirthInfo[];
1343
1388
  SaleChanellPolicy: Value;
1344
- AgentData: AgentData;
1389
+ AgentData: Types.AgentData;
1345
1390
  RegionPolicy: Value;
1346
1391
  ManagerPolicy: Value;
1347
1392
  isDisabled: {
@@ -1380,9 +1425,10 @@ export class FormStoreClass {
1380
1425
  spokesmanApp?: any;
1381
1426
  isTask?: boolean | null;
1382
1427
  createDate?: string | null;
1383
- policyAppDto?: PolicyAppDto;
1384
- insisWorkDataApp?: InsisWorkDataApp;
1385
- addCoverDto?: AddCover[];
1428
+ policyAppDto?: Types.PolicyAppDto;
1429
+ parentPolicyDto?: Types.ParentPolicyDto | null;
1430
+ insisWorkDataApp?: Types.InsisWorkDataApp;
1431
+ addCoverDto?: Types.AddCover[];
1386
1432
  };
1387
1433
  policyholderForm: Member;
1388
1434
  policyholderFormKey: StoreMembers.policyholderForm;
@@ -1424,6 +1470,8 @@ export class FormStoreClass {
1424
1470
  clientId: null,
1425
1471
  insuredFile: null,
1426
1472
  isPanelInside: false,
1473
+ typeChange: 'calculation',
1474
+ add: false,
1427
1475
  };
1428
1476
  this.additionalInsuranceTerms = [];
1429
1477
  this.additionalInsuranceTermsWithout = [];
@@ -1442,6 +1490,7 @@ export class FormStoreClass {
1442
1490
  date: null,
1443
1491
  };
1444
1492
  this.signedDocumentList = [];
1493
+ this.signatories = [];
1445
1494
  this.surveyByHealthBase = null;
1446
1495
  this.surveyByHealthBasePolicyholder = null;
1447
1496
  this.surveyByCriticalBase = null;
@@ -1649,7 +1698,7 @@ export class GroupMember extends PhysGroupClass {
1649
1698
  activityTypes: { activityTypeName: string; empoloyeeCount: number }[];
1650
1699
  beneficalOwnerQuest: { order: number; text: string; answer: boolean | null }[];
1651
1700
  authoritedPerson: PhysGroupClass;
1652
- insuredPolicyData: InsuredPolicyType;
1701
+ insuredPolicyData: Types.InsuredPolicyType;
1653
1702
 
1654
1703
  constructor() {
1655
1704
  super();
@@ -1734,3 +1783,29 @@ export class BeneficialOwner {
1734
1783
  this.id = '';
1735
1784
  }
1736
1785
  }
1786
+
1787
+ export class TransferContract {
1788
+ id: string | null;
1789
+ transferContractIsOppv: boolean;
1790
+ transferContractFirstPaymentDate: string;
1791
+ transferContractAmount: number;
1792
+ transferContractDate: string;
1793
+ transferContractNumber: string;
1794
+ transferContractRegNumber: string;
1795
+ transferContract: boolean;
1796
+ transferContractCompany: Value;
1797
+ transferContractMonthCount: number;
1798
+
1799
+ constructor() {
1800
+ this.id = null;
1801
+ this.transferContractIsOppv = false;
1802
+ this.transferContractFirstPaymentDate = '';
1803
+ this.transferContractAmount = 0;
1804
+ this.transferContractDate = '';
1805
+ this.transferContractNumber = '';
1806
+ this.transferContract = false;
1807
+ this.transferContractRegNumber = '';
1808
+ this.transferContractCompany = new Value();
1809
+ this.transferContractMonthCount = 0;
1810
+ }
1811
+ }
@@ -18,6 +18,9 @@ export const constants = Object.freeze({
18
18
  gns: 16,
19
19
  prepensionannuity: 18,
20
20
  pensionannuitynew: 19,
21
+ halykkazynaap: 20,
22
+ balam: 21,
23
+ halykkazynaapsms: 23,
21
24
  },
22
25
  amlProducts: {
23
26
  checkcontragent: 1,
@@ -74,6 +77,20 @@ export const constants = Object.freeze({
74
77
  kzt: '₸',
75
78
  usd: '$',
76
79
  },
80
+ pensionAge: {
81
+ man: 63,
82
+ woman: 61,
83
+ },
84
+ genderByIIN: {
85
+ '0': 'Ж',
86
+ '3': 'М',
87
+ '4': 'Ж',
88
+ '5': 'М',
89
+ '6': 'Ж',
90
+ '7': 'М',
91
+ '8': 'Ж',
92
+ '9': 'М',
93
+ },
77
94
  documentTypes: {
78
95
  statement: 5,
79
96
  contract: 6,
@@ -162,4 +179,20 @@ export const constants = Object.freeze({
162
179
  ids: '',
163
180
  },
164
181
  ],
182
+ currencyList: [
183
+ {
184
+ code: 'KZT',
185
+ id: '1',
186
+ nameKz: 'Тенге',
187
+ nameRu: 'Тенге',
188
+ ids: '',
189
+ },
190
+ {
191
+ code: 'USD',
192
+ id: '2',
193
+ nameKz: 'С индексацией на курс USD',
194
+ nameRu: 'С индексацией на курс USD',
195
+ ids: '',
196
+ },
197
+ ],
165
198
  });
@@ -1,6 +1,8 @@
1
1
  import { i18n } from '../configs/i18n';
2
- import { FieldTypes } from '../types/form';
2
+ import { FieldTypes, type InputBase, type InputType } from '../types/form';
3
3
  import { type ComputedRefWithControl } from '@vueuse/core';
4
+ import type { Utils } from '../types';
5
+ import type * as Types from '../types/form';
4
6
 
5
7
  const t = i18n.t;
6
8
 
@@ -37,14 +39,14 @@ export const FieldBase = ({
37
39
  fetchFrom,
38
40
  }) as InputBase;
39
41
 
40
- export const TextInput = ({ ...rest }: Partial<TextInput>): TextInput => {
42
+ export const TextInput = ({ ...rest }: Partial<Types.TextInput>): Types.TextInput => {
41
43
  return {
42
44
  ...FieldBase(rest),
43
45
  type: FieldTypes.TEXT,
44
46
  };
45
47
  };
46
48
 
47
- export const SwitchInput = ({ ...rest }: Partial<SwitchInput>): SwitchInput => {
49
+ export const SwitchInput = ({ ...rest }: Partial<Types.SwitchInput>): Types.SwitchInput => {
48
50
  return {
49
51
  ...FieldBase(rest),
50
52
  type: FieldTypes.SWITCH,
@@ -55,7 +57,7 @@ export const SwitchInput = ({ ...rest }: Partial<SwitchInput>): SwitchInput => {
55
57
  };
56
58
  };
57
59
 
58
- export const NumberInput = ({ ...rest }: Partial<NumberInput>): NumberInput => {
60
+ export const NumberInput = ({ ...rest }: Partial<Types.NumberInput>): Types.NumberInput => {
59
61
  return {
60
62
  ...FieldBase(rest),
61
63
  type: FieldTypes.NUMBER,