hl-core 0.0.10-beta.4 → 0.0.10-beta.40

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 (53) hide show
  1. package/README.md +0 -2
  2. package/api/base.api.ts +331 -191
  3. package/api/interceptors.ts +3 -5
  4. package/components/Complex/TextBlock.vue +2 -0
  5. package/components/Dialog/Dialog.vue +7 -1
  6. package/components/Dialog/FamilyDialog.vue +2 -0
  7. package/components/Form/DigitalDocument.vue +52 -0
  8. package/components/Form/DynamicForm.vue +1 -0
  9. package/components/Form/FormData.vue +1 -0
  10. package/components/Form/ManagerAttachment.vue +17 -8
  11. package/components/Form/ProductConditionsBlock.vue +12 -6
  12. package/components/Input/Datepicker.vue +5 -0
  13. package/components/Input/DynamicInput.vue +2 -0
  14. package/components/Input/FormInput.vue +7 -0
  15. package/components/Input/OtpInput.vue +25 -0
  16. package/components/Input/PanelInput.vue +1 -0
  17. package/components/Input/RoundedInput.vue +4 -0
  18. package/components/Input/RoundedSelect.vue +4 -0
  19. package/components/Input/SwitchInput.vue +2 -0
  20. package/components/Input/TextAreaField.vue +71 -0
  21. package/components/Input/TextInput.vue +2 -0
  22. package/components/Layout/Drawer.vue +2 -0
  23. package/components/Menu/MenuNav.vue +1 -1
  24. package/components/Pages/Anketa.vue +168 -169
  25. package/components/Pages/Auth.vue +2 -0
  26. package/components/Pages/ContragentForm.vue +2 -1
  27. package/components/Pages/Documents.vue +432 -59
  28. package/components/Pages/MemberForm.vue +334 -160
  29. package/components/Pages/ProductConditions.vue +800 -226
  30. package/components/Panel/PanelHandler.vue +280 -121
  31. package/components/Transitions/Animation.vue +2 -0
  32. package/components/Utilities/Chip.vue +3 -1
  33. package/components/Utilities/JsonViewer.vue +1 -2
  34. package/composables/classes.ts +133 -49
  35. package/composables/constants.ts +43 -0
  36. package/composables/fields.ts +6 -4
  37. package/composables/index.ts +293 -7
  38. package/composables/styles.ts +8 -24
  39. package/configs/pwa.ts +1 -7
  40. package/layouts/clear.vue +1 -1
  41. package/layouts/default.vue +1 -1
  42. package/layouts/full.vue +1 -1
  43. package/locales/ru.json +79 -19
  44. package/nuxt.config.ts +10 -13
  45. package/package.json +12 -12
  46. package/plugins/head.ts +2 -1
  47. package/store/data.store.ts +765 -530
  48. package/store/member.store.ts +18 -6
  49. package/store/rules.ts +22 -2
  50. package/types/enum.ts +32 -2
  51. package/types/env.d.ts +2 -2
  52. package/types/form.ts +71 -74
  53. package/types/index.ts +921 -873
@@ -6,6 +6,8 @@
6
6
  </template>
7
7
 
8
8
  <script setup lang="ts">
9
+ import type { Utils } from '../../types';
10
+
9
11
  defineProps({
10
12
  type: {
11
13
  type: String as PropType<Utils.VuetifyAnimations>,
@@ -1,10 +1,12 @@
1
1
  <template>
2
- <label v-if="chip && chip.title" class="transition-all leading-6 px-3 py-1 rounded-pill border-[1px] border-white mr-4 whitespace-nowrap" :class="[textSize, color]"
2
+ <label v-if="chip && chip.title" class="transition-all leading-6 px-3 rounded-pill border-[1px] border-white mr-4 whitespace-nowrap" :class="[textSize, color]"
3
3
  >{{ chip.title }}<v-tooltip v-if="chip.description" activator="parent" location="bottom" :max-width="maxWidth">{{ chip.description }}</v-tooltip></label
4
4
  >
5
5
  </template>
6
6
 
7
7
  <script lang="ts">
8
+ import type { ChipComponent } from '../../types';
9
+
8
10
  export default defineComponent({
9
11
  props: {
10
12
  chip: {
@@ -14,13 +14,12 @@
14
14
  <script lang="ts">
15
15
  import VueJsonPretty from 'vue-json-pretty';
16
16
  import 'vue-json-pretty/lib/styles.css';
17
- import { type JSONDataType } from 'vue-json-pretty/types/utils';
18
17
 
19
18
  export default defineComponent({
20
19
  components: { VueJsonPretty },
21
20
  props: {
22
21
  data: {
23
- type: Object as PropType<JSONDataType>,
22
+ type: Object as PropType<any>,
24
23
  required: false,
25
24
  },
26
25
  },
@@ -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;
@@ -95,6 +97,7 @@ export class IDocument {
95
97
  signed?: boolean | null;
96
98
  signId?: string | null;
97
99
  certificateDate?: string | null;
100
+ signedType?: number;
98
101
 
99
102
  constructor(
100
103
  id?: string,
@@ -102,6 +105,7 @@ export class IDocument {
102
105
  iin?: string,
103
106
  fileTypeId?: string,
104
107
  fileTypeName?: string,
108
+ fileTypeNameRu?: string,
105
109
  fileId?: string,
106
110
  page?: number,
107
111
  fileName?: string,
@@ -110,12 +114,14 @@ export class IDocument {
110
114
  signed?: boolean | null,
111
115
  signId?: string | null,
112
116
  certificateDate?: string | null,
117
+ signedType?: number,
113
118
  ) {
114
119
  this.id = id;
115
120
  this.processInstanceId = processInstanceId;
116
121
  this.iin = iin;
117
122
  this.fileTypeId = fileTypeId;
118
123
  this.fileTypeName = fileTypeName;
124
+ this.fileTypeNameRu = fileTypeNameRu;
119
125
  this.fileId = fileId;
120
126
  this.page = page;
121
127
  this.fileName = fileName;
@@ -124,14 +130,31 @@ export class IDocument {
124
130
  this.signed = signed;
125
131
  this.signId = signId;
126
132
  this.certificateDate = certificateDate;
133
+ this.signedType = signedType;
127
134
  }
128
135
  }
129
136
 
130
137
  export class DocumentItem extends IDocument {
131
138
  constructor(
132
- { id, processInstanceId, iin, fileTypeId, fileTypeName, fileId, page, fileName, fileTypeCode, sharedId, signed, signId, certificateDate }: IDocument = new IDocument(),
139
+ {
140
+ id,
141
+ processInstanceId,
142
+ iin,
143
+ fileTypeId,
144
+ fileTypeName,
145
+ fileTypeNameRu,
146
+ fileId,
147
+ page,
148
+ fileName,
149
+ fileTypeCode,
150
+ sharedId,
151
+ signed,
152
+ signId,
153
+ certificateDate,
154
+ signedType,
155
+ }: IDocument = new IDocument(),
133
156
  ) {
134
- super(id, processInstanceId, iin, fileTypeId, fileTypeName, fileId, page, fileName, fileTypeCode, sharedId, signed, signId, certificateDate);
157
+ super(id, processInstanceId, iin, fileTypeId, fileTypeName, fileTypeNameRu, fileId, page, fileName, fileTypeCode, sharedId, signed, signId, certificateDate, signedType);
135
158
  }
136
159
  }
137
160
 
@@ -179,13 +202,25 @@ export class User {
179
202
  roles: string[];
180
203
  id: string | null;
181
204
  fullName: string | null;
205
+ code: string;
206
+ branchCode: string;
182
207
 
183
- constructor(login: string | null = null, password: string | null = null, roles: string[] = [], id: string | null = null, fullName: string | null = null) {
208
+ constructor(
209
+ login: string | null = null,
210
+ password: string | null = null,
211
+ roles: string[] = [],
212
+ id: string | null = null,
213
+ fullName: string | null = null,
214
+ code: string = '',
215
+ branchCode: string = '',
216
+ ) {
184
217
  this.login = login;
185
218
  this.password = password;
186
219
  this.roles = roles;
187
220
  this.id = id;
188
221
  this.fullName = fullName;
222
+ this.code = code;
223
+ this.branchCode = branchCode;
189
224
  }
190
225
 
191
226
  resetUser() {
@@ -194,6 +229,8 @@ export class User {
194
229
  this.roles = [];
195
230
  this.id = null;
196
231
  this.fullName = null;
232
+ this.code = '';
233
+ this.branchCode = '';
197
234
  }
198
235
  }
199
236
 
@@ -383,11 +420,11 @@ export class Contragent extends Person {
383
420
 
384
421
  export class Member extends Person {
385
422
  response?: {
386
- contragent?: ContragentType;
387
- questionnaires?: ContragentQuestionaries[];
388
- contacts?: ContragentContacts[];
389
- documents?: ContragentDocuments[];
390
- addresses?: ContragentAddress[];
423
+ contragent?: Types.ContragentType;
424
+ questionnaires?: Types.ContragentQuestionaries[];
425
+ contacts?: Types.ContragentContacts[];
426
+ documents?: Types.ContragentDocuments[];
427
+ addresses?: Types.ContragentAddress[];
391
428
  };
392
429
  verifyType: any;
393
430
  verifyDate: any;
@@ -427,7 +464,7 @@ export class Member extends Person {
427
464
  birthRegion: Value;
428
465
  documentType: Value;
429
466
  documentNumber: string | null;
430
- documentIssuers: Value;
467
+ documentIssuers: Types.Base.Document.IssuerOther;
431
468
  documentDate: string | null;
432
469
  documentExpire: string | null;
433
470
  signOfResidency: Value;
@@ -451,15 +488,16 @@ export class Member extends Person {
451
488
  _phonePattern: RegExp;
452
489
  _emailPattern: RegExp;
453
490
  gotFromInsis: boolean | null;
454
- gosPersonData: Api.GBD.Person | null;
491
+ gosPersonData: Types.Api.GBD.Person | null;
455
492
  parsedDocument: any;
456
493
  hasAgreement: boolean | null;
457
494
  otpTokenId: string | null;
458
- otpCode: string | null;
459
- documentsList: ContragentDocuments[];
495
+ otpCode: string;
496
+ documentsList: Types.ContragentDocuments[];
460
497
  isInsuredUnderage?: boolean = false;
461
498
  bankInfo: BankInfoClass;
462
499
  transferContractCompany: Value;
500
+ digitalDocument: IDocument | null;
463
501
  identityDocument: {
464
502
  documentType: Value;
465
503
  documentNumber: string | null;
@@ -586,7 +624,7 @@ export class Member extends Person {
586
624
  this.homePhone = homePhone;
587
625
  this.email = email;
588
626
  this.otpTokenId = null;
589
- this.otpCode = null;
627
+ this.otpCode = '';
590
628
  this.address = address;
591
629
  this.familyStatus = familyStatus;
592
630
  this.isTerror = isTerror;
@@ -604,6 +642,7 @@ export class Member extends Person {
604
642
  this.hasAgreement = null;
605
643
  this.bankInfo = new BankInfoClass();
606
644
  this.transferContractCompany = new Value();
645
+ this.digitalDocument = null;
607
646
  this.identityDocument = {
608
647
  documentType: new Value(),
609
648
  documentNumber: null,
@@ -771,7 +810,6 @@ export class ProductConditions {
771
810
  adbAdditive: string | number | null;
772
811
  disabilityMultiply: string | number | null;
773
812
  disabilityAdditive: string | number | null;
774
- processTariff: Value;
775
813
  riskGroup: Value;
776
814
  riskGroup2: Value;
777
815
  additionalConditionAnnuityPayments: boolean;
@@ -790,6 +828,7 @@ export class ProductConditions {
790
828
  fixInsSum: number | string | null;
791
829
  calcDate: string | null;
792
830
  contractEndDate: string | null;
831
+ currency: Value;
793
832
 
794
833
  constructor(
795
834
  insuranceCase = null,
@@ -819,7 +858,6 @@ export class ProductConditions {
819
858
  adbAdditive = null,
820
859
  disabilityMultiply = null,
821
860
  disabilityAdditive = null,
822
- processTariff = new Value(),
823
861
  riskGroup = new Value(),
824
862
  riskGroup2 = new Value(),
825
863
  additionalConditionAnnuityPayments = false,
@@ -838,6 +876,7 @@ export class ProductConditions {
838
876
  fixInsSum = null,
839
877
  calcDate = null,
840
878
  contractEndDate = null,
879
+ currency = new Value(),
841
880
  ) {
842
881
  this.requestedSumInsuredInDollar = null;
843
882
  this.insurancePremiumPerMonthInDollar = null;
@@ -871,7 +910,6 @@ export class ProductConditions {
871
910
  this.adbAdditive = adbAdditive;
872
911
  this.disabilityMultiply = disabilityMultiply;
873
912
  this.disabilityAdditive = disabilityAdditive;
874
- this.processTariff = processTariff;
875
913
  this.riskGroup = riskGroup;
876
914
  this.riskGroup2 = riskGroup2;
877
915
  this.additionalConditionAnnuityPayments = additionalConditionAnnuityPayments;
@@ -890,6 +928,7 @@ export class ProductConditions {
890
928
  this.fixInsSum = fixInsSum;
891
929
  this.calcDate = calcDate;
892
930
  this.contractEndDate = contractEndDate;
931
+ this.currency = currency;
893
932
  }
894
933
 
895
934
  getSingleTripDays() {
@@ -928,7 +967,7 @@ export class MemberSettings {
928
967
  }
929
968
 
930
969
  export class DataStoreClass {
931
- projectConfig: Utils.ProjectConfig | null;
970
+ projectConfig: Types.Utils.ProjectConfig | null;
932
971
  // IMP Контроллер фич
933
972
  controls: {
934
973
  // Cтавит значения по дефолту полям
@@ -973,7 +1012,7 @@ export class DataStoreClass {
973
1012
  };
974
1013
  iframeLoading: boolean;
975
1014
  hasLayoutMargins: boolean;
976
- readonly product: Projects | null;
1015
+ readonly product: Types.Projects | null;
977
1016
  readonly parentProduct: 'efo' | 'auletti';
978
1017
  showNav: boolean;
979
1018
  showDisabledMessage: boolean;
@@ -1016,7 +1055,7 @@ export class DataStoreClass {
1016
1055
  historyTotalItems: number;
1017
1056
  isColumnAsc = { ...InitialColumns() };
1018
1057
  idleKey: number;
1019
- processList: Item[] | null;
1058
+ processList: Types.Item[] | null;
1020
1059
  countries: Value[];
1021
1060
  citizenshipCountries: Value[];
1022
1061
  taxCountries: Value[];
@@ -1033,7 +1072,6 @@ export class DataStoreClass {
1033
1072
  relations: Value[];
1034
1073
  banks: Value[];
1035
1074
  transferContractCompanies: Value[];
1036
- processTariff: Value[];
1037
1075
  insurancePay: Value[];
1038
1076
  questionRefs: Value[];
1039
1077
  residents: Value[];
@@ -1045,7 +1083,6 @@ export class DataStoreClass {
1045
1083
  fontSize: number;
1046
1084
  isFontChangerOpen: boolean = false;
1047
1085
  isLoading: boolean = false;
1048
- user: User;
1049
1086
  accessToken: string | null = null;
1050
1087
  refreshToken: string | null = null;
1051
1088
  processIndexRate: Value[];
@@ -1053,18 +1090,18 @@ export class DataStoreClass {
1053
1090
  processPaymentPeriod: Value[];
1054
1091
  dicAnnuityTypeList: Value[];
1055
1092
  processAnnuityPaymentPeriod: Value[];
1056
- taskList: TaskListItem[];
1057
- processHistory: TaskHistory[];
1058
- contragentList: ContragentType[];
1093
+ taskList: Types.TaskListItem[];
1094
+ processHistory: Types.TaskHistory[];
1095
+ contragentList: Types.ContragentType[];
1059
1096
  contragentFormKey: string;
1060
1097
  processCode: number | null;
1061
1098
  groupCode: string;
1062
- userGroups: Item[];
1099
+ userGroups: Types.Item[];
1063
1100
  onMainPage: boolean;
1064
1101
  SaleChanellPolicy: Value[];
1065
1102
  RegionPolicy: Value[];
1066
1103
  ManagerPolicy: Value[];
1067
- AgentData: AgentData[];
1104
+ AgentData: Types.AgentData[];
1068
1105
  riskGroup: Value[];
1069
1106
  DicCoverTypePeriod: Value[];
1070
1107
  currencies: {
@@ -1086,7 +1123,7 @@ export class DataStoreClass {
1086
1123
  workTypes: Value[];
1087
1124
  sportsTypes: Value[];
1088
1125
  purposes: Value[];
1089
-
1126
+ programType: Value[];
1090
1127
  constructor() {
1091
1128
  this.projectConfig = null;
1092
1129
  this.filters = {
@@ -1140,6 +1177,7 @@ export class DataStoreClass {
1140
1177
  this.processIndexRate = [];
1141
1178
  this.processGfot = [];
1142
1179
  this.processPaymentPeriod = [];
1180
+ this.programType = [];
1143
1181
  this.dicAnnuityTypeList = [];
1144
1182
  this.processAnnuityPaymentPeriod = [];
1145
1183
  this.questionRefs = [];
@@ -1148,7 +1186,7 @@ export class DataStoreClass {
1148
1186
  this.ManagerPolicy = [];
1149
1187
  this.AgentData = [];
1150
1188
  this.DicCoverTypePeriod = [];
1151
- this.product = import.meta.env.VITE_PRODUCT ? (import.meta.env.VITE_PRODUCT as Projects) : null;
1189
+ this.product = import.meta.env.VITE_PRODUCT ? (import.meta.env.VITE_PRODUCT as Types.Projects) : null;
1152
1190
  this.parentProduct = import.meta.env.VITE_PARENT_PRODUCT ? import.meta.env.VITE_PARENT_PRODUCT : 'efo';
1153
1191
  this.showNav = true;
1154
1192
  this.showDisabledMessage = false;
@@ -1216,7 +1254,6 @@ export class DataStoreClass {
1216
1254
  this.familyStatuses = [];
1217
1255
  this.disabilityGroups = [];
1218
1256
  this.relations = [];
1219
- this.processTariff = [];
1220
1257
  this.banks = [];
1221
1258
  this.transferContractCompanies = [];
1222
1259
  this.insurancePay = [];
@@ -1229,7 +1266,6 @@ export class DataStoreClass {
1229
1266
  this.fontSize = 14;
1230
1267
  this.isFontChangerOpen = false;
1231
1268
  this.isLoading = false;
1232
- this.user = new User();
1233
1269
  this.accessToken = null;
1234
1270
  this.refreshToken = null;
1235
1271
  this.taskList = [];
@@ -1300,10 +1336,10 @@ export class FormStoreClass {
1300
1336
  isUploadedSignedContract: boolean;
1301
1337
  signedContractFormData: any;
1302
1338
  lfb: {
1303
- clients: ClientV2[];
1339
+ clients: Types.ClientV2[];
1304
1340
  policyholder: PolicyholderClass;
1305
1341
  hasAccidentIncidents: boolean;
1306
- accidentIncidents: AccidentIncidents[];
1342
+ accidentIncidents: Types.AccidentIncidents[];
1307
1343
  policyholderActivities: PolicyholderActivity[];
1308
1344
  beneficialOwners: BeneficialOwner[];
1309
1345
  beneficialOwnersIndex: number;
@@ -1311,12 +1347,14 @@ export class FormStoreClass {
1311
1347
  clientId: string | null;
1312
1348
  insuredFile: any;
1313
1349
  isPanelInside: boolean;
1350
+ typeChange: string;
1351
+ add: boolean;
1314
1352
  };
1315
- additionalInsuranceTerms: AddCover[];
1316
- additionalInsuranceTermsWithout: AddCover[];
1317
- signUrls: SignUrlType[];
1353
+ additionalInsuranceTerms: Types.AddCover[];
1354
+ additionalInsuranceTermsWithout: Types.AddCover[];
1355
+ signUrls: Types.SignUrlType[];
1318
1356
  epayLink: string | null;
1319
- invoiceData: EpayResponse | null;
1357
+ invoiceData: Types.EpayResponse | null;
1320
1358
  affilationResolution: {
1321
1359
  id: string | number | null;
1322
1360
  processInstanceId: string | number | null;
@@ -1329,19 +1367,20 @@ export class FormStoreClass {
1329
1367
  date: string | null;
1330
1368
  };
1331
1369
  signedDocumentList: IDocument[];
1332
- surveyByHealthBase: AnketaFirst | null;
1333
- surveyByHealthBasePolicyholder: AnketaFirst | null;
1334
- surveyByCriticalBase: AnketaFirst | null;
1335
- surveyByCriticalBasePolicyholder: AnketaFirst | null;
1370
+ signatories: any[];
1371
+ surveyByHealthBase: Types.AnketaFirst | null;
1372
+ surveyByHealthBasePolicyholder: Types.AnketaFirst | null;
1373
+ surveyByCriticalBase: Types.AnketaFirst | null;
1374
+ surveyByCriticalBasePolicyholder: Types.AnketaFirst | null;
1336
1375
  definedAnswersId: {
1337
1376
  surveyByHealthBase: any;
1338
1377
  surveyByCriticalBase: any;
1339
1378
  surveyByHealthBasePolicyholder: any;
1340
1379
  surveyByCriticalBasePolicyholder: any;
1341
1380
  };
1342
- birthInfos: Api.GKB.BirthInfo[];
1381
+ birthInfos: Types.Api.GKB.BirthInfo[];
1343
1382
  SaleChanellPolicy: Value;
1344
- AgentData: AgentData;
1383
+ AgentData: Types.AgentData;
1345
1384
  RegionPolicy: Value;
1346
1385
  ManagerPolicy: Value;
1347
1386
  isDisabled: {
@@ -1349,6 +1388,7 @@ export class FormStoreClass {
1349
1388
  beneficiaryForm: boolean;
1350
1389
  beneficialOwnerForm: boolean;
1351
1390
  insuredForm: boolean;
1391
+ slaveInsuredForm: boolean;
1352
1392
  policyholdersRepresentativeForm: boolean;
1353
1393
  productConditionsForm: boolean;
1354
1394
  calculatorForm: boolean;
@@ -1380,9 +1420,11 @@ export class FormStoreClass {
1380
1420
  spokesmanApp?: any;
1381
1421
  isTask?: boolean | null;
1382
1422
  createDate?: string | null;
1383
- policyAppDto?: PolicyAppDto;
1384
- insisWorkDataApp?: InsisWorkDataApp;
1385
- addCoverDto?: AddCover[];
1423
+ policyAppDto?: Types.PolicyAppDto;
1424
+ parentPolicyDto?: Types.ParentPolicyDto | null;
1425
+ insisWorkDataApp?: Types.InsisWorkDataApp;
1426
+ addCoverDto?: Types.AddCover[];
1427
+ slave?: any;
1386
1428
  };
1387
1429
  policyholderForm: Member;
1388
1430
  policyholderFormKey: StoreMembers.policyholderForm;
@@ -1395,15 +1437,18 @@ export class FormStoreClass {
1395
1437
  beneficialOwnerFormIndex: number;
1396
1438
  beneficialOwnerFormKey: StoreMembers.beneficialOwnerForm;
1397
1439
  insuredForm: Member[];
1440
+ slaveInsuredForm: Member;
1398
1441
  insuredFormKey: StoreMembers.insuredForm;
1399
1442
  insuredFormIndex: number;
1400
1443
  productConditionsForm: ProductConditions;
1401
1444
  productConditionsFormKey: string;
1445
+ pensionApp: any;
1402
1446
  questionnaireByHealth: any;
1403
1447
  questionnaireByCritical: any[];
1404
1448
  canBeClaimed: boolean | null;
1405
1449
  applicationTaskId: string | null;
1406
-
1450
+ requiredDocuments: RequiredDocument[];
1451
+ isNeedToRecalculate: boolean;
1407
1452
  constructor() {
1408
1453
  this.regNumber = null;
1409
1454
  this.policyNumber = null;
@@ -1424,6 +1469,8 @@ export class FormStoreClass {
1424
1469
  clientId: null,
1425
1470
  insuredFile: null,
1426
1471
  isPanelInside: false,
1472
+ typeChange: 'calculation',
1473
+ add: false,
1427
1474
  };
1428
1475
  this.additionalInsuranceTerms = [];
1429
1476
  this.additionalInsuranceTermsWithout = [];
@@ -1442,6 +1489,7 @@ export class FormStoreClass {
1442
1489
  date: null,
1443
1490
  };
1444
1491
  this.signedDocumentList = [];
1492
+ this.signatories = [];
1445
1493
  this.surveyByHealthBase = null;
1446
1494
  this.surveyByHealthBasePolicyholder = null;
1447
1495
  this.surveyByCriticalBase = null;
@@ -1470,6 +1518,7 @@ export class FormStoreClass {
1470
1518
  beneficiaryForm: true,
1471
1519
  beneficialOwnerForm: true,
1472
1520
  insuredForm: true,
1521
+ slaveInsuredForm: true,
1473
1522
  policyholdersRepresentativeForm: true,
1474
1523
  productConditionsForm: true,
1475
1524
  calculatorForm: true,
@@ -1498,6 +1547,7 @@ export class FormStoreClass {
1498
1547
  this.beneficialOwnerFormIndex = 0;
1499
1548
  this.beneficialOwnerFormKey = StoreMembers.beneficialOwnerForm;
1500
1549
  this.insuredForm = [new Member()];
1550
+ this.slaveInsuredForm = new Member();
1501
1551
  this.insuredFormKey = StoreMembers.insuredForm;
1502
1552
  this.insuredFormIndex = 0;
1503
1553
  this.productConditionsForm = new ProductConditions();
@@ -1506,12 +1556,15 @@ export class FormStoreClass {
1506
1556
  this.questionnaireByCritical = [];
1507
1557
  this.canBeClaimed = null;
1508
1558
  this.applicationTaskId = null;
1559
+ this.requiredDocuments = [];
1560
+ this.isNeedToRecalculate = false;
1509
1561
  }
1510
1562
  }
1511
1563
 
1512
1564
  export class Address {
1513
1565
  country: Value;
1514
1566
  region: Value;
1567
+ state: Value;
1515
1568
  regionType: Value;
1516
1569
  city: Value;
1517
1570
  square: string | null;
@@ -1525,6 +1578,7 @@ export class Address {
1525
1578
  constructor() {
1526
1579
  this.country = new Value();
1527
1580
  this.region = new Value();
1581
+ this.state = new Value();
1528
1582
  this.regionType = new Value();
1529
1583
  this.city = new Value();
1530
1584
  this.square = null;
@@ -1649,7 +1703,7 @@ export class GroupMember extends PhysGroupClass {
1649
1703
  activityTypes: { activityTypeName: string; empoloyeeCount: number }[];
1650
1704
  beneficalOwnerQuest: { order: number; text: string; answer: boolean | null }[];
1651
1705
  authoritedPerson: PhysGroupClass;
1652
- insuredPolicyData: InsuredPolicyType;
1706
+ insuredPolicyData: Types.InsuredPolicyType;
1653
1707
 
1654
1708
  constructor() {
1655
1709
  super();
@@ -1734,3 +1788,33 @@ export class BeneficialOwner {
1734
1788
  this.id = '';
1735
1789
  }
1736
1790
  }
1791
+
1792
+ export class TransferContract {
1793
+ id: string | null;
1794
+ transferContractIsOppv: boolean;
1795
+ transferContractFirstPaymentDate: string;
1796
+ transferContractAmount: number | string;
1797
+ transferContractDate: string;
1798
+ transferContractNumber: string;
1799
+ transferContractRegNumber: string;
1800
+ transferContract: boolean;
1801
+ transferContractCompany: Value;
1802
+ transferContractMonthCount: number | null;
1803
+
1804
+ constructor() {
1805
+ this.id = null;
1806
+ this.transferContractIsOppv = false;
1807
+ this.transferContractFirstPaymentDate = '';
1808
+ this.transferContractAmount = 0;
1809
+ this.transferContractDate = '';
1810
+ this.transferContractNumber = '';
1811
+ this.transferContract = false;
1812
+ this.transferContractRegNumber = '';
1813
+ this.transferContractCompany = new Value();
1814
+ this.transferContractMonthCount = null;
1815
+ }
1816
+ }
1817
+
1818
+ export class RequiredDocument extends Value {
1819
+ iin: string = '';
1820
+ }
@@ -18,6 +18,13 @@ 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,
24
+ pensionannuityrefundnew: 24,
25
+ pensionannuityjointnew: 25,
26
+ gonsadd: 26,
27
+ criticalillness: 29,
21
28
  },
22
29
  amlProducts: {
23
30
  checkcontragent: 1,
@@ -36,6 +43,7 @@ export const constants = Object.freeze({
36
43
  returnStatementStatuses: [
37
44
  Statuses.ApproveForm,
38
45
  Statuses.ActuaryForm,
46
+ Statuses.JuristForm,
39
47
  Statuses.DsoUsnsForm,
40
48
  Statuses.AccountantForm,
41
49
  Statuses.UnderwriterForm,
@@ -74,6 +82,20 @@ export const constants = Object.freeze({
74
82
  kzt: '₸',
75
83
  usd: '$',
76
84
  },
85
+ pensionAge: {
86
+ man: 68,
87
+ woman: 68,
88
+ },
89
+ genderByIIN: {
90
+ '0': 'Ж',
91
+ '3': 'М',
92
+ '4': 'Ж',
93
+ '5': 'М',
94
+ '6': 'Ж',
95
+ '7': 'М',
96
+ '8': 'Ж',
97
+ '9': 'М',
98
+ },
77
99
  documentTypes: {
78
100
  statement: 5,
79
101
  contract: 6,
@@ -87,6 +109,11 @@ export const constants = Object.freeze({
87
109
  questionnaireInsured: 35,
88
110
  invoicePayment: 36,
89
111
  },
112
+ fileTypes: {
113
+ pdf: 'application/pdf',
114
+ docx: 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
115
+ doc: 'application/msword',
116
+ },
90
117
  regex: {
91
118
  isoDate: /^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*)?)((-(\d{2}):(\d{2})|Z)?)$/,
92
119
  },
@@ -162,4 +189,20 @@ export const constants = Object.freeze({
162
189
  ids: '',
163
190
  },
164
191
  ],
192
+ currencyList: [
193
+ {
194
+ code: 'KZT',
195
+ id: '1',
196
+ nameKz: 'Тенге',
197
+ nameRu: 'Тенге',
198
+ ids: '',
199
+ },
200
+ {
201
+ code: 'USD',
202
+ id: '2',
203
+ nameKz: 'С индексацией на курс USD',
204
+ nameRu: 'С индексацией на курс USD',
205
+ ids: '',
206
+ },
207
+ ],
165
208
  });
@@ -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,