hl-core 0.0.9-beta.4 → 0.0.9-beta.41

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 (61) hide show
  1. package/api/base.api.ts +904 -0
  2. package/api/index.ts +2 -620
  3. package/api/interceptors.ts +58 -14
  4. package/components/Button/Btn.vue +2 -2
  5. package/components/Complex/MessageBlock.vue +2 -2
  6. package/components/Complex/Page.vue +1 -1
  7. package/components/Dialog/Dialog.vue +60 -15
  8. package/components/Form/DynamicForm.vue +100 -0
  9. package/components/Form/FormBlock.vue +12 -3
  10. package/components/Form/FormData.vue +114 -0
  11. package/components/Form/FormToggle.vue +9 -3
  12. package/components/Form/ManagerAttachment.vue +150 -86
  13. package/components/Form/ProductConditionsBlock.vue +59 -6
  14. package/components/Input/Datepicker.vue +1 -8
  15. package/components/Input/DynamicInput.vue +23 -0
  16. package/components/Input/FileInput.vue +16 -4
  17. package/components/Input/FormInput.vue +1 -3
  18. package/components/Input/Monthpicker.vue +34 -0
  19. package/components/Input/PanelInput.vue +5 -1
  20. package/components/Input/RoundedEmptyField.vue +5 -0
  21. package/components/Input/RoundedSelect.vue +13 -0
  22. package/components/Input/SwitchInput.vue +64 -0
  23. package/components/Input/TextInput.vue +159 -0
  24. package/components/Layout/Drawer.vue +17 -4
  25. package/components/Layout/Header.vue +23 -2
  26. package/components/Layout/SettingsPanel.vue +13 -7
  27. package/components/Menu/InfoMenu.vue +35 -0
  28. package/components/Menu/MenuNav.vue +17 -2
  29. package/components/Pages/Anketa.vue +140 -52
  30. package/components/Pages/Auth.vue +12 -1
  31. package/components/Pages/ContragentForm.vue +129 -50
  32. package/components/Pages/Documents.vue +72 -7
  33. package/components/Pages/InvoiceInfo.vue +1 -1
  34. package/components/Pages/MemberForm.vue +269 -96
  35. package/components/Pages/ProductAgreement.vue +1 -8
  36. package/components/Pages/ProductConditions.vue +798 -168
  37. package/components/Panel/PanelHandler.vue +373 -45
  38. package/components/Panel/PanelSelectItem.vue +17 -2
  39. package/components/Panel/RightPanelCloser.vue +7 -0
  40. package/components/Transitions/Animation.vue +28 -0
  41. package/composables/axios.ts +2 -1
  42. package/composables/classes.ts +415 -8
  43. package/composables/constants.ts +65 -2
  44. package/composables/fields.ts +291 -0
  45. package/composables/index.ts +58 -5
  46. package/composables/styles.ts +22 -10
  47. package/layouts/default.vue +48 -3
  48. package/locales/ru.json +460 -12
  49. package/nuxt.config.ts +1 -1
  50. package/package.json +25 -22
  51. package/pages/Token.vue +1 -12
  52. package/plugins/helperFunctionsPlugins.ts +0 -3
  53. package/plugins/vuetifyPlugin.ts +2 -0
  54. package/store/data.store.ts +1031 -224
  55. package/store/extractStore.ts +17 -0
  56. package/store/form.store.ts +13 -1
  57. package/store/member.store.ts +1 -1
  58. package/store/rules.ts +53 -5
  59. package/types/enum.ts +37 -0
  60. package/types/form.ts +94 -0
  61. package/types/index.ts +216 -20
@@ -0,0 +1,17 @@
1
+ import type { PiniaCustomStateProperties, StoreActions, StoreGeneric, StoreGetters, StoreState } from 'pinia';
2
+ import type { ToRefs } from 'vue';
3
+ import { isReactive, isRef, toRaw, toRef } from 'vue';
4
+ type Extracted<SS> = ToRefs<StoreState<SS> & StoreGetters<SS> & PiniaCustomStateProperties<StoreState<SS>>> & StoreActions<SS>;
5
+ export function extractStore<SS extends StoreGeneric>(store: SS): Extracted<SS> {
6
+ const rawStore = toRaw(store);
7
+ const refs: Record<string, unknown> = {};
8
+
9
+ for (const [key, value] of Object.entries(rawStore)) {
10
+ if (isRef(value) || isReactive(value)) {
11
+ refs[key] = toRef(store, key);
12
+ } else if (typeof value === 'function') {
13
+ refs[key] = value;
14
+ }
15
+ }
16
+ return refs as Extracted<SS>;
17
+ }
@@ -1,8 +1,20 @@
1
1
  import { defineStore } from 'pinia';
2
- import { FormStoreClass } from '../composables/classes';
2
+ import { BeneficialOwner, FormStoreClass, PolicyholderActivity } from '../composables/classes';
3
3
 
4
4
  export const useFormStore = defineStore('forms', {
5
5
  state: () => ({
6
6
  ...new FormStoreClass(),
7
7
  }),
8
+ actions: {
9
+ addMember(whichMember: 'policyholder' | 'beneficialOwner') {
10
+ if (whichMember === 'policyholder') {
11
+ this.lfb.policyholderActivities.push(new PolicyholderActivity());
12
+ }
13
+ if (whichMember === 'beneficialOwner') {
14
+ if (this.lfb.beneficialOwners.length !== 3) {
15
+ this.lfb.beneficialOwners.push(new BeneficialOwner());
16
+ }
17
+ }
18
+ },
19
+ },
8
20
  });
@@ -13,7 +13,7 @@ export const useMemberStore = defineStore('members', {
13
13
  formStore: useFormStore(),
14
14
  }),
15
15
  actions: {
16
- isStatementEditible(whichForm: keyof typeof StoreMembers | 'productConditionsForm', showToaster: boolean = false) {
16
+ isStatementEditible(whichForm: keyof typeof StoreMembers | 'productConditionsForm' | 'calculatorForm', showToaster: boolean = false) {
17
17
  if (!this.validateInitiator(false)) return false;
18
18
  if (this.formStore.isDisabled[whichForm as keyof typeof this.formStore.isDisabled] === true) {
19
19
  if (showToaster) this.dataStore.showToaster('error', this.dataStore.t('toaster.viewErrorText'), 2000);
package/store/rules.ts CHANGED
@@ -1,12 +1,14 @@
1
1
  import { i18n } from '../configs/i18n';
2
- import { formatDate } from '../composables';
2
+ import { formatDate, useMask } from '../composables';
3
3
 
4
4
  const t = i18n.t;
5
5
 
6
6
  export const rules = {
7
7
  recalculationMultiply: [(v: any) => (v !== null && v !== '' && v >= 100) || t('toaster.valueShouldBeHigher', { text: '100' })],
8
+ recalculationMultiplyBetween: [(v: any) => (v !== null && v !== '' && v >= 100 && v <= 200) || t('toaster.recalculationMultiplyBetween', { floor: '100', ceil: '200' })],
8
9
  recalculationAdditive: [(v: any) => (v !== null && v !== '' && v <= 100 && v >= 0) || t('toaster.valueShouldBeBetween', { floor: '0', ceil: '100' })],
9
10
  required: [(v: any) => !!v || t('rules.required')],
11
+ iik: [(v: any) => v.length === 20 || t('rules.iik')],
10
12
  objectRequired: [
11
13
  (v: any) => {
12
14
  if (!!v && 'nameRu' in v && v.nameRu != null) {
@@ -15,6 +17,7 @@ export const rules = {
15
17
  return t('rules.required');
16
18
  },
17
19
  ],
20
+ arrayRequired: [(v: any) => (v && v.length > 0) || t('rules.required')],
18
21
  agentDataRequired: [
19
22
  (v: any) => {
20
23
  if (!!v && 'fullName' in v && v.fullName != null) {
@@ -34,12 +37,25 @@ export const rules = {
34
37
  return t('rules.required');
35
38
  },
36
39
  ],
37
- cyrillic: [(v: any) => v === null || /^[\u0400-\u04FF ]+$/.test(v) || t('rules.cyrillic')],
40
+ noResidentOffline: [
41
+ (v: any) => {
42
+ if (!!v && 'nameRu' in v && v.nameRu === 'Нерезидент') {
43
+ return t('rules.noResidentOffline');
44
+ }
45
+ if (!!v && 'nameRu' in v && !!v.nameRu) {
46
+ return true;
47
+ }
48
+ return t('rules.required');
49
+ },
50
+ ],
51
+ cyrillic: [(v: any) => v === null || /^[\u0400-\u04FF -]+$/.test(v) || t('rules.cyrillic')],
52
+ latin: [(v: any) => v === null || /^[a-zA-Z]+$/.test(v) || t('rules.latin')],
53
+ latinAndNumber: [(v: any) => v === null || /^[0-9a-zA-Z]+$/.test(v) || t('rules.latinAndNumber')],
38
54
  cyrillicNonRequired: [
39
55
  (v: any) => {
40
56
  if (!v) return true;
41
57
  else {
42
- return /^[\u0400-\u04FF ]+$/.test(v) || t('rules.cyrillic');
58
+ return /^[\u0400-\u04FF -]+$/.test(v) || t('rules.cyrillic');
43
59
  }
44
60
  },
45
61
  ],
@@ -63,6 +79,8 @@ export const rules = {
63
79
  numbers: [(v: any) => /^[0-9]+$/.test(v) || t('rules.numbers')],
64
80
  numbersSymbols: [(v: any) => /^([0-9])|(\W|_)+$/.test(v) || t('rules.numbersSymbols')],
65
81
  ageExceeds: [(v: any) => v < 50 || t('rules.ageExceeds')],
82
+ ageExceeds80: [(v: any) => v <= 80 || t('rules.ageExceeds80')],
83
+ ageExceeds80ByDate: [(v: any) => Math.abs(new Date(Date.now() - new Date(formatDate(v)!).getTime()).getUTCFullYear() - 1970) <= 80 || t('rules.ageExceeds80')],
66
84
  sums: [
67
85
  (v: any) => {
68
86
  let str = v.replace(/\s/g, '');
@@ -72,6 +90,16 @@ export const rules = {
72
90
  return t('rules.sums');
73
91
  },
74
92
  ],
93
+ planDate: [
94
+ (v: any) => {
95
+ if (new Date(formatDate(v)!) < new Date(Date.now())) return t('rules.planDate');
96
+ if (/^(0[1-9]|1[0-9]|2[0-9]|3[0-1])(-|\.)(0[1-9]|1[0-2])(-|\.)(19[0-9]{2}|20[0-9][0-9])$/.test(v)) {
97
+ return true;
98
+ } else {
99
+ return t('rules.date');
100
+ }
101
+ },
102
+ ],
75
103
  iinRight: [
76
104
  (v: any) => {
77
105
  if (v.length !== useMask().iin.length) {
@@ -96,7 +124,11 @@ export const rules = {
96
124
  date: [
97
125
  (v: any) => {
98
126
  if (v === null || v == '') return true;
99
- if (/^(0[1-9]|1[0-9]|2[0-9]|3[0-1])(-|\.)(0[1-9]|1[0-2])(-|\.)(19[0-9]{2}|20[0-9][0-9])$/.test(v)) {
127
+ if (
128
+ /^(?:(?:(?:(?:0[1-9]|1[0-9]|2[0-8])[\.](?:0[1-9]|1[012]))|(?:(?:29|30|31)[\.](?:0[13578]|1[02]))|(?:(?:29|30)[\.](?:0[4,6,9]|11)))[\.](?:19|[2-3][0-9])\d\d)|(?:29[\.]02[\.](?:19|[2-3][0-9])(?:00|04|08|12|16|20|24|28|32|36|40|44|48|52|56|60|64|68|72|76|80|84|88|92|96))$/.test(
129
+ v,
130
+ )
131
+ ) {
100
132
  return true;
101
133
  } else {
102
134
  return t('rules.date');
@@ -108,8 +140,13 @@ export const rules = {
108
140
  age18ByDate: [(v: any) => Math.abs(new Date(Date.now() - new Date(formatDate(v)!).getTime()).getUTCFullYear() - 1970) >= 18 || t('rules.age18')],
109
141
  birthDate: [
110
142
  (v: any) => {
143
+ if (v === null || v == '') return true;
111
144
  if (new Date(formatDate(v)!) > new Date(Date.now())) return t('rules.exceedDate');
112
- if (/^(0[1-9]|1[0-9]|2[0-9]|3[0-1])(-|\.)(0[1-9]|1[0-2])(-|\.)(19[0-9]{2}|20[0-9][0-9])$/.test(v)) {
145
+ if (
146
+ /^(?:(?:(?:(?:0[1-9]|1[0-9]|2[0-8])[\.](?:0[1-9]|1[012]))|(?:(?:29|30|31)[\.](?:0[13578]|1[02]))|(?:(?:29|30)[\.](?:0[4,6,9]|11)))[\.](?:19|[2-3][0-9])\d\d)|(?:29[\.]02[\.](?:19|[2-3][0-9])(?:00|04|08|12|16|20|24|28|32|36|40|44|48|52|56|60|64|68|72|76|80|84|88|92|96))$/.test(
147
+ v,
148
+ )
149
+ ) {
113
150
  return true;
114
151
  } else {
115
152
  return t('rules.date');
@@ -175,6 +212,17 @@ export const rules = {
175
212
  ],
176
213
  policyholderAgeLimit: [(v: any) => v >= 18 || t('rules.policyholderAgeLimit')],
177
214
  beneficiaryAgeLimit: [(v: any) => v <= 15 || t('rules.beneficiaryAgeLimit')],
215
+ dateInPast: [
216
+ (v: any) => {
217
+ const givenDate = new Date(formatDate(v)!);
218
+ const currentDate = new Date();
219
+ if (givenDate.getTime() < currentDate.getTime()) {
220
+ return t('rules.dataInPast');
221
+ } else {
222
+ return true;
223
+ }
224
+ },
225
+ ],
178
226
  guaranteedPeriodLimit(v: any, termAnnuityPayments: any) {
179
227
  if (Number(v) > Number(termAnnuityPayments)) {
180
228
  return t('rules.guaranteedPeriodLimit');
package/types/enum.ts CHANGED
@@ -8,15 +8,43 @@ export enum StoreMembers {
8
8
 
9
9
  export enum Actions {
10
10
  accept = 'accept',
11
+ acceptCustom = 'acceptCustom',
12
+
11
13
  rejectclient = 'rejectclient',
14
+ rejectclientCustom = 'rejectclientCustom',
15
+
12
16
  reject = 'reject',
17
+ rejectCustom = 'rejectCustom',
18
+
13
19
  return = 'return',
20
+ returnCustom = 'returnCustom',
21
+
14
22
  claim = 'claim',
23
+ claimCustom = 'claimCustom',
24
+
15
25
  sign = 'sign',
26
+ signCustom = 'signCustom',
27
+
28
+ signed = 'signed',
29
+ signedCustom = 'signedCustom',
30
+
16
31
  pay = 'pay',
32
+ payCustom = 'payCustom',
33
+
17
34
  register = 'register',
35
+ registerCustom = 'registerCustom',
36
+
18
37
  send = 'send',
38
+ sendCustom = 'sendCustom',
39
+
19
40
  affiliate = 'affiliate',
41
+ affiliateCustom = 'affiliateCustom',
42
+
43
+ template = 'template',
44
+ templateCustom = 'templateCustom',
45
+
46
+ chooseSign = 'chooseSign',
47
+ chooseSignCustom = 'chooseSignCustom',
20
48
  }
21
49
 
22
50
  export enum PostActions {
@@ -49,6 +77,7 @@ export enum Roles {
49
77
  ManagerHalykBank = 'ManagerHalykBank',
50
78
  ServiceManager = 'ServiceManager',
51
79
  DRNSJ = 'DRNSJ',
80
+ HeadManager = 'HeadManager',
52
81
  }
53
82
 
54
83
  export enum Statuses {
@@ -64,6 +93,9 @@ export enum Statuses {
64
93
  WaitingInsurancePremiumForm = 'WaitingInsurancePremiumForm',
65
94
  CheckFinCenterForm = 'CheckFinCenterForm',
66
95
  RegistryFinCenterForm = 'RegistryFinCenterForm',
96
+ DocumentsSignedClientFrom = 'DocumentsSignedClientFrom',
97
+ InputDataForm = 'InputDataForm',
98
+ ApproveForm = 'ApproveForm',
67
99
  }
68
100
 
69
101
  export enum MemberCodes {
@@ -81,3 +113,8 @@ export enum MemberAppCodes {
81
113
  beneficialOwnerApp = 'beneficialOwnerApp',
82
114
  spokesmanApp = 'spokesmanApp',
83
115
  }
116
+
117
+ export enum Methods {
118
+ GET = 'GET',
119
+ POST = 'POST',
120
+ }
package/types/form.ts ADDED
@@ -0,0 +1,94 @@
1
+ export {};
2
+
3
+ export enum FieldTypes {
4
+ TEXT = 'text',
5
+ NUMBER = 'number',
6
+ SWITCH = 'switch',
7
+ EMAIL = 'email',
8
+ PASSWORD = 'password',
9
+ FILE = 'file',
10
+ }
11
+
12
+ declare global {
13
+ type InputType = TextInput | NumberInput | FileInput | SwitchInput;
14
+ type FormMasks = 'numbers' | 'iin' | 'otp' | 'phone' | 'date' | 'post' | 'threeDigit' | 'iik';
15
+ type FormIcons = 'arrowRight' | 'search' | 'sms' | null;
16
+ type Suffix = 'kzt' | 'usd' | 'percent' | null;
17
+
18
+ type FetchFunctions =
19
+ | 'getResidents'
20
+ | 'getFamilyStatuses'
21
+ | 'getRelationTypes'
22
+ | 'getCountries'
23
+ | 'getStates'
24
+ | 'getLocalityTypes'
25
+ | 'getRegions'
26
+ | 'getCities'
27
+ | 'getDocumentTypes'
28
+ | 'getTaxCountries'
29
+ | 'getCitizenshipCountries'
30
+ | 'getSectorCodeList'
31
+ | 'getInsurancePay'
32
+ | 'getEconomicActivityType'
33
+ | 'getBanks'
34
+ | 'getDocumentIssuers'
35
+ | 'getGenderList';
36
+
37
+ export interface DynamicForm {
38
+ formRef: any;
39
+ sections: SectionType[];
40
+ fieldOrder?: string[];
41
+ }
42
+
43
+ type InputBase = {
44
+ key?: any;
45
+ modelValue?: any;
46
+ clearable?: boolean;
47
+ label?: string;
48
+ placeholder?: string;
49
+ readonly?: boolean;
50
+ disabled?: boolean;
51
+ arrowRight?: boolean;
52
+ maxLength?: number | null;
53
+ rules?: ValidationRule[];
54
+ iconName?: FormIcons;
55
+ value?: number;
56
+ suffix?: Suffix | null;
57
+ hint?: string | undefined;
58
+ maska?: FormMasks | null;
59
+ fetchFrom?: FetchFunctions | null;
60
+ };
61
+
62
+ type FormControl<T extends InputType> = T & {
63
+ valid: boolean;
64
+ dirty: boolean;
65
+ touched: boolean;
66
+ };
67
+
68
+ type FileInput = InputBase & {
69
+ type: FieldTypes.FILE;
70
+ };
71
+
72
+ type TextInput = InputBase & {
73
+ type: FieldTypes.TEXT;
74
+ };
75
+
76
+ type SwitchInput = InputBase & {
77
+ type: FieldTypes.SWITCH;
78
+ labeling: boolean | null;
79
+ direction: 'horizontal' | 'vertical';
80
+ falseValue: boolean | string | null;
81
+ trueValue: boolean | string | null;
82
+ };
83
+
84
+ type NumberInput = InputBase & {
85
+ type: FieldTypes.NUMBER;
86
+ };
87
+
88
+ type ValidationRule = (value: string) => boolean | string;
89
+
90
+ type SectionType = {
91
+ title?: string;
92
+ fields: InputType[];
93
+ };
94
+ }
package/types/index.ts CHANGED
@@ -1,4 +1,7 @@
1
+ import { CountryValue, Value } from '../composables/classes';
1
2
  import { RouteLocationNormalizedLoaded, RouteLocationNormalized } from 'vue-router';
3
+ import { AxiosRequestConfig } from 'axios';
4
+ import { Methods } from './enum';
2
5
 
3
6
  export {};
4
7
 
@@ -18,12 +21,17 @@ declare global {
18
21
  | 'lka'
19
22
  | 'mycar'
20
23
  | 'checkcontract'
21
- | 'checkcontragent';
24
+ | 'checkcontragent'
25
+ | 'daskamkorlyk'
26
+ | 'amuletlife'
27
+ | 'pensionannuity'
28
+ | 'dso'
29
+ | 'uu';
22
30
  type MemberKeys = keyof ReturnType<typeof useFormStore>;
23
31
  type MemberFormTypes = 'policyholderForm' | 'insuredForm' | 'beneficiaryForm' | 'beneficialOwnerForm' | 'policyholdersRepresentativeForm' | 'productConditionsForm';
24
32
  type SingleMember = 'policyholderForm' | 'policyholdersRepresentativeForm';
25
33
  type MultipleMember = 'insuredForm' | 'beneficiaryForm' | 'beneficialOwnerForm';
26
- type PanelTypes = 'settings' | 'panel';
34
+ type PanelTypes = 'settings' | 'panel' | 'rightPanel';
27
35
  type FileActions = 'view' | 'download';
28
36
  type RouteType = RouteLocationNormalizedLoaded | RouteLocationNormalized;
29
37
  type InputVariants = 'solo' | 'filled' | 'outlined' | 'plain' | 'underlined';
@@ -50,6 +58,11 @@ declare global {
50
58
  | 'time'
51
59
  | 'url'
52
60
  | 'week';
61
+
62
+ interface AxiosRequestLocalConfig extends AxiosRequestConfig {
63
+ method: Methods | keyof typeof Methods;
64
+ }
65
+
53
66
  interface TaskListItem {
54
67
  addRegNumber: string | number;
55
68
  applicationTaskId: string;
@@ -141,7 +154,7 @@ declare global {
141
154
 
142
155
  type AnketaBody = {
143
156
  first: EachAnketa;
144
- second: any[] | null;
157
+ second: AnketaSecond[] | null;
145
158
  };
146
159
 
147
160
  type EachAnketa = {
@@ -170,6 +183,7 @@ declare global {
170
183
  enum DefinedAnswers {
171
184
  N = 'N',
172
185
  Y = 'Y',
186
+ D = 'D',
173
187
  }
174
188
 
175
189
  type AnketaFirst = {
@@ -236,8 +250,8 @@ declare global {
236
250
  };
237
251
 
238
252
  type RecalculationDataType = {
239
- signDate: string;
240
- birthDate: string;
253
+ signDate?: string;
254
+ birthDate?: string;
241
255
  gender: number;
242
256
  amount: number | null;
243
257
  premium: number | null;
@@ -246,19 +260,55 @@ declare global {
246
260
  indexRateId?: string | number | null;
247
261
  paymentPeriodId?: string;
248
262
  addCovers: AddCover[];
249
- };
263
+ insrCount?: number;
264
+ insTermInMonth?: number;
265
+ insSumType?: number;
266
+ insSumMultiplier?: number;
267
+ fixInsSum?: number | null;
268
+ tariffId?: string | number | null;
269
+ clients?: ClientV2[];
270
+ agentCommission?: any;
271
+ processDefinitionFgotId?: any;
272
+ };
273
+
274
+ interface ClientV2 {
275
+ id: string | number;
276
+ iin: string;
277
+ fullName: string;
278
+ gender: number;
279
+ birthDate: string;
280
+ insSum: number;
281
+ premium?: number;
282
+ position?: string;
283
+ lifeMultiply?: number;
284
+ lifeAdditive?: number;
285
+ disabilityMultiply?: number;
286
+ traumaTableMultiple?: number;
287
+ accidentalLifeMultiply?: number;
288
+ accidentalLifeAdditive?: number;
289
+ criticalMultiply?: string;
290
+ criticalAdditive?: string;
291
+ hasAttachedFile?: boolean;
292
+ }
250
293
 
251
294
  type RecalculationResponseType = {
252
295
  amount: number;
253
296
  premium: number;
297
+ statePremium5?: number;
298
+ statePremium7?: number;
299
+ totalAmount5?: number;
300
+ totalAmount7?: number;
254
301
  mainCoverPremium: number;
255
302
  addCovers: AddCover[];
256
303
  amountInCurrency: number;
257
304
  premiumInCurrency: number;
258
305
  annuityMonthPay: string | number | null;
306
+ mainPremium?: number;
307
+ clients?: ClientV2[];
308
+ fixInsSum?: number | null;
259
309
  };
260
310
 
261
- type AddCover = {
311
+ interface AddCover {
262
312
  id: string | null;
263
313
  processInstanceId: string;
264
314
  coverTypeId: string;
@@ -270,7 +320,13 @@ declare global {
270
320
  amount: number;
271
321
  premium: number;
272
322
  isMigrate: boolean;
273
- };
323
+ coverPeriodId?: string;
324
+ coverPeriodName?: string;
325
+ coverPeriodCode?: string;
326
+ calculatorValue?: number;
327
+ coverTypeNameRu?: string;
328
+ coverTypeNameKz?: string;
329
+ }
274
330
 
275
331
  type SignUrlType = {
276
332
  uri: string;
@@ -358,7 +414,7 @@ declare global {
358
414
  items: ContragentType[];
359
415
  };
360
416
 
361
- type ContragentType = {
417
+ interface ContragentType {
362
418
  id: number;
363
419
  type: number;
364
420
  iin: string;
@@ -374,18 +430,18 @@ declare global {
374
430
  registrationDate: string;
375
431
  verifyType: string;
376
432
  verifyDate: string;
377
- };
433
+ }
378
434
 
379
- type ContragentQuestionaries = {
435
+ interface ContragentQuestionaries {
380
436
  id: number;
381
437
  contragentId: number;
382
438
  questId: string;
383
439
  questName: string;
384
440
  questAnswer: string | number | null;
385
441
  questAnswerName: string | null;
386
- };
442
+ }
387
443
 
388
- type ContragentDocuments = {
444
+ interface ContragentDocuments {
389
445
  id: number;
390
446
  contragentId: number;
391
447
  type?: string;
@@ -401,9 +457,9 @@ declare global {
401
457
  note: string | null;
402
458
  verifyType: string;
403
459
  verifyDate: string;
404
- };
460
+ }
405
461
 
406
- type ContragentAddress = {
462
+ interface ContragentAddress {
407
463
  id: number;
408
464
  contragentId: number;
409
465
  type?: string;
@@ -414,7 +470,7 @@ declare global {
414
470
  stateName?: string;
415
471
  cityCode?: string | number;
416
472
  cityName?: string;
417
- regionCode?: string | number |null;
473
+ regionCode?: string | number | null;
418
474
  regionName?: string | null;
419
475
  streetName?: string;
420
476
  blockNumber?: string;
@@ -423,9 +479,9 @@ declare global {
423
479
  cityTypeName?: string;
424
480
  microRaion?: string | null;
425
481
  kvartal?: string | null;
426
- };
482
+ }
427
483
 
428
- type ContragentContacts = {
484
+ interface ContragentContacts {
429
485
  id: number;
430
486
  contragentId: number;
431
487
  type: string;
@@ -436,7 +492,7 @@ declare global {
436
492
  newValue: string | null;
437
493
  verifyType?: string | null;
438
494
  verifyDate?: string | null;
439
- };
495
+ }
440
496
 
441
497
  type AddCoverAnswer = {
442
498
  id: string;
@@ -482,7 +538,6 @@ declare global {
482
538
  underwritingType?: number;
483
539
  annualIncome?: number | null;
484
540
  calcDirect?: number;
485
- tariffId?: string;
486
541
  tariffName?: string;
487
542
  riskGroup?: number;
488
543
  riskGroup2?: number;
@@ -500,6 +555,23 @@ declare global {
500
555
  amountInCurrency?: number | null;
501
556
  premiumInCurrency?: number | null;
502
557
  currencyExchangeRate?: number | null;
558
+ age?: string | number | null;
559
+ lifeTripCountries?: string[] | null;
560
+ tripPurposeId?: string | number | null;
561
+ insuredAmountId?: string | number | null;
562
+ workTypeId?: string | number | null;
563
+ sportsTypeId?: string | number | null;
564
+ singleTripDays?: string | number | null;
565
+ multipleTripMaxDays?: string | number | null;
566
+ tripInsurancePeriod?: string | number | null;
567
+ startDate?: string | null;
568
+ endDate?: string | null;
569
+ insTermInMonth?: number | null;
570
+ fixInsSum?: number | string | null;
571
+ tariffId?: string | null;
572
+ mainPremium?: number | string | null;
573
+ processDefinitionFgotId?: string | number;
574
+ mainInsSum?: number;
503
575
  };
504
576
 
505
577
  type InsisWorkDataApp = {
@@ -518,4 +590,128 @@ declare global {
518
590
  managerPolicyName?: string;
519
591
  insuranceProgramType?: string;
520
592
  };
593
+
594
+ type TripInsuranceAmount = {
595
+ amounts: Value[];
596
+ currency: string;
597
+ };
598
+
599
+ type TripInsuranceDaysOptions = {
600
+ period: {
601
+ '90': string[];
602
+ '180': string[];
603
+ '270': string[];
604
+ '365': string[];
605
+ };
606
+ };
607
+ type getTripInsuredAmountRequest = {
608
+ tripTypeID: string | number | null;
609
+ countryID: string[];
610
+ };
611
+
612
+ type SetApplicationRequest = {
613
+ processInstanceId?: string | number | null;
614
+ id?: string | null;
615
+ addCoversDto?: AddCover[];
616
+ insuredAmountId?: string | number | null;
617
+ age?: string | number | null;
618
+ lifeTripCountries?: string[] | null;
619
+ tripPurposeId?: string | number | null;
620
+ workTypeId?: string | number | null;
621
+ sportsTypeId?: string | number | null;
622
+ singleTripDays?: number;
623
+ multipleTripMaxDays?: number;
624
+ tripInsurancePeriod?: number;
625
+ startDate?: string | null;
626
+ endDate?: string | null;
627
+ policyId?: number;
628
+ policyNumber?: string;
629
+ contractDate?: string;
630
+ contractEndDate?: string;
631
+ amount?: number;
632
+ premium?: number;
633
+ mainCoverPremium?: number;
634
+ currency?: string;
635
+ isSpokesman?: boolean;
636
+ coverPeriod?: number;
637
+ payPeriod?: number;
638
+ indexRateId?: string;
639
+ indexRateCode?: string;
640
+ indexRateName?: string;
641
+ paymentPeriodId?: string;
642
+ paymentPeriodName?: string;
643
+ lifeMultiply?: number;
644
+ lifeAdditive?: number;
645
+ adbMultiply?: number;
646
+ adbAdditive?: number;
647
+ disabilityMultiply?: number;
648
+ disabilityAdditive?: number;
649
+ documentSignTypeId?: string;
650
+ documentSignTypeCode?: string;
651
+ documentSignTypeName?: string;
652
+ isDocumentsSigned?: boolean;
653
+ paymentTypeId?: string;
654
+ paymentTypeName?: string;
655
+ isPayed?: boolean;
656
+ underwritingType?: number;
657
+ calcDirect?: number;
658
+ tariffId?: string;
659
+ tariffName?: string;
660
+ riskGroup?: number;
661
+ riskGroup2?: number;
662
+ lifeMultiplyClient?: number;
663
+ lifeAdditiveClient?: number;
664
+ annuityTypeId?: string;
665
+ annuityTypeName?: string;
666
+ annuityPaymentPeriodId?: string;
667
+ annuityPaymentPeriodName?: string;
668
+ guaranteedPaymentPeriod?: number;
669
+ paymentPeriod?: number;
670
+ annuityMonthPay?: number;
671
+ annuityPaymentBeginDate?: string;
672
+ annuityPaymentEndDate?: string;
673
+ calcDate?: string;
674
+ guaranteedPaymentBeginDate?: string;
675
+ guaranteedPaymentEndDate?: string;
676
+ annuityPaymentAmount?: number;
677
+ countPay?: number;
678
+ guaranteedPeriod?: number;
679
+ dateFirstPay?: string;
680
+ effectiveAnnualpercentage?: number;
681
+ factorCurrentValueGP?: number;
682
+ alfa?: number;
683
+ gamma?: number;
684
+ mrpPayment?: number;
685
+ };
686
+
687
+ type KGDResponse = {
688
+ responseCode: string;
689
+ content: string | null;
690
+ lastName: string;
691
+ firstName: string;
692
+ middleName: string;
693
+ name: string;
694
+ };
695
+
696
+ type AccidentIncidents = {
697
+ id: string | null;
698
+ processInstanceId: string | null;
699
+ coverTypeId: string | null;
700
+ coverTypeName: string | null;
701
+ coverTypeCode: number | null;
702
+ count: number | null;
703
+ amount: number | null;
704
+ shortDescription: string | null;
705
+ };
706
+
707
+ type GovPremiums = {
708
+ statePremium5: number | null;
709
+ statePremium7: number | null;
710
+ totalAmount5: number | null;
711
+ totalAmount7: number | null;
712
+ };
713
+
714
+ type LabelSize = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11;
715
+
716
+ type VuetifyAnimations = 'expand' | 'fab' | 'fade' | 'scale' | 'scroll-x' | 'scroll-y' | 'slide-x' | 'slide-x-r' | 'slide-y' | 'slide-y-r';
521
717
  }