hl-core 0.0.9-beta.3 → 0.0.9-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 (72) hide show
  1. package/api/base.api.ts +862 -0
  2. package/api/index.ts +2 -620
  3. package/api/interceptors.ts +58 -14
  4. package/components/Button/Btn.vue +3 -3
  5. package/components/Complex/ContentBlock.vue +1 -1
  6. package/components/Complex/MessageBlock.vue +2 -2
  7. package/components/Complex/Page.vue +8 -2
  8. package/components/Complex/WhiteBlock.vue +7 -0
  9. package/components/Dialog/Dialog.vue +60 -15
  10. package/components/Dialog/FamilyDialog.vue +5 -5
  11. package/components/Form/DynamicForm.vue +99 -0
  12. package/components/Form/FormBlock.vue +36 -29
  13. package/components/Form/FormData.vue +48 -0
  14. package/components/Form/FormSection.vue +2 -2
  15. package/components/Form/FormTextSection.vue +3 -3
  16. package/components/Form/FormToggle.vue +3 -3
  17. package/components/Form/ManagerAttachment.vue +104 -52
  18. package/components/Form/ProductConditionsBlock.vue +73 -20
  19. package/components/Input/DynamicInput.vue +23 -0
  20. package/components/Input/EmptyFormField.vue +1 -1
  21. package/components/Input/FileInput.vue +15 -4
  22. package/components/Input/Monthpicker.vue +33 -0
  23. package/components/Input/PanelInput.vue +5 -1
  24. package/components/Input/RoundedEmptyField.vue +5 -0
  25. package/components/Input/RoundedSelect.vue +13 -0
  26. package/components/Input/SwitchInput.vue +64 -0
  27. package/components/Input/TextInput.vue +161 -0
  28. package/components/Layout/Drawer.vue +17 -4
  29. package/components/Layout/Header.vue +2 -2
  30. package/components/Layout/SettingsPanel.vue +10 -15
  31. package/components/List/ListEmpty.vue +1 -1
  32. package/components/Menu/MenuHover.vue +1 -1
  33. package/components/Menu/MenuNav.vue +3 -3
  34. package/components/Menu/MenuNavItem.vue +4 -4
  35. package/components/Pages/Anketa.vue +144 -65
  36. package/components/Pages/Auth.vue +21 -10
  37. package/components/Pages/ContragentForm.vue +505 -0
  38. package/components/Pages/Documents.vue +57 -11
  39. package/components/Pages/InvoiceInfo.vue +2 -2
  40. package/components/Pages/MemberForm.vue +253 -89
  41. package/components/Pages/ProductAgreement.vue +2 -11
  42. package/components/Pages/ProductConditions.vue +777 -164
  43. package/components/Panel/PanelHandler.vue +297 -54
  44. package/components/Panel/PanelSelectItem.vue +18 -3
  45. package/components/Panel/RightPanelCloser.vue +7 -0
  46. package/components/Utilities/IconBorder.vue +17 -0
  47. package/composables/axios.ts +1 -1
  48. package/composables/classes.ts +405 -9
  49. package/composables/constants.ts +40 -0
  50. package/composables/fields.ts +203 -0
  51. package/composables/index.ts +48 -0
  52. package/composables/styles.ts +22 -10
  53. package/configs/i18n.ts +0 -2
  54. package/layouts/default.vue +46 -4
  55. package/layouts/full.vue +1 -1
  56. package/locales/ru.json +423 -11
  57. package/nuxt.config.ts +1 -1
  58. package/package.json +30 -39
  59. package/pages/500.vue +2 -2
  60. package/pages/Token.vue +1 -0
  61. package/plugins/helperFunctionsPlugins.ts +6 -7
  62. package/plugins/vuetifyPlugin.ts +2 -0
  63. package/store/data.store.ts +936 -217
  64. package/store/extractStore.ts +17 -0
  65. package/store/form.store.ts +13 -1
  66. package/store/member.store.ts +1 -1
  67. package/store/rules.ts +38 -2
  68. package/types/enum.ts +8 -0
  69. package/types/form.ts +94 -0
  70. package/types/index.ts +162 -10
  71. package/components/Button/BtnIcon.vue +0 -47
  72. package/locales/kz.json +0 -590
@@ -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
@@ -5,6 +5,7 @@ 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')],
10
11
  objectRequired: [
@@ -15,6 +16,7 @@ export const rules = {
15
16
  return t('rules.required');
16
17
  },
17
18
  ],
19
+ arrayRequired: [(v: any) => (v && v.length > 0) || t('rules.required')],
18
20
  agentDataRequired: [
19
21
  (v: any) => {
20
22
  if (!!v && 'fullName' in v && v.fullName != null) {
@@ -34,7 +36,20 @@ export const rules = {
34
36
  return t('rules.required');
35
37
  },
36
38
  ],
39
+ noResidentOffline: [
40
+ (v: any) => {
41
+ if (!!v && 'nameRu' in v && v.nameRu === 'Нерезидент') {
42
+ return t('rules.noResidentOffline');
43
+ }
44
+ if (!!v && 'nameRu' in v && !!v.nameRu) {
45
+ return true;
46
+ }
47
+ return t('rules.required');
48
+ },
49
+ ],
37
50
  cyrillic: [(v: any) => v === null || /^[\u0400-\u04FF ]+$/.test(v) || t('rules.cyrillic')],
51
+ latin: [(v: any) => v === null || /^[a-zA-Z]+$/.test(v) || t('rules.latin')],
52
+ latinAndNumber: [(v: any) => v === null || /^[0-9a-zA-Z]+$/.test(v) || t('rules.latinAndNumber')],
38
53
  cyrillicNonRequired: [
39
54
  (v: any) => {
40
55
  if (!v) return true;
@@ -63,6 +78,8 @@ export const rules = {
63
78
  numbers: [(v: any) => /^[0-9]+$/.test(v) || t('rules.numbers')],
64
79
  numbersSymbols: [(v: any) => /^([0-9])|(\W|_)+$/.test(v) || t('rules.numbersSymbols')],
65
80
  ageExceeds: [(v: any) => v < 50 || t('rules.ageExceeds')],
81
+ ageExceeds80: [(v: any) => v <= 80 || t('rules.ageExceeds80')],
82
+ ageExceeds80ByDate: [(v: any) => Math.abs(new Date(Date.now() - new Date(formatDate(v)!).getTime()).getUTCFullYear() - 1970) <= 80 || t('rules.ageExceeds80')],
66
83
  sums: [
67
84
  (v: any) => {
68
85
  let str = v.replace(/\s/g, '');
@@ -72,6 +89,16 @@ export const rules = {
72
89
  return t('rules.sums');
73
90
  },
74
91
  ],
92
+ planDate: [
93
+ (v: any) => {
94
+ if (new Date(formatDate(v)!) < new Date(Date.now())) return t('rules.planDate');
95
+ 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)) {
96
+ return true;
97
+ } else {
98
+ return t('rules.date');
99
+ }
100
+ },
101
+ ],
75
102
  iinRight: [
76
103
  (v: any) => {
77
104
  if (v.length !== useMask().iin.length) {
@@ -96,7 +123,11 @@ export const rules = {
96
123
  date: [
97
124
  (v: any) => {
98
125
  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)) {
126
+ if (
127
+ /^(?:(?:(?:(?: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(
128
+ v,
129
+ )
130
+ ) {
100
131
  return true;
101
132
  } else {
102
133
  return t('rules.date');
@@ -108,8 +139,13 @@ export const rules = {
108
139
  age18ByDate: [(v: any) => Math.abs(new Date(Date.now() - new Date(formatDate(v)!).getTime()).getUTCFullYear() - 1970) >= 18 || t('rules.age18')],
109
140
  birthDate: [
110
141
  (v: any) => {
142
+ if (v === null || v == '') return true;
111
143
  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)) {
144
+ if (
145
+ /^(?:(?:(?:(?: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(
146
+ v,
147
+ )
148
+ ) {
113
149
  return true;
114
150
  } else {
115
151
  return t('rules.date');
package/types/enum.ts CHANGED
@@ -13,10 +13,13 @@ export enum Actions {
13
13
  return = 'return',
14
14
  claim = 'claim',
15
15
  sign = 'sign',
16
+ signed = 'signed',
16
17
  pay = 'pay',
17
18
  register = 'register',
18
19
  send = 'send',
19
20
  affiliate = 'affiliate',
21
+ template = 'template',
22
+ chooseSign = 'chooseSign',
20
23
  }
21
24
 
22
25
  export enum PostActions {
@@ -81,3 +84,8 @@ export enum MemberAppCodes {
81
84
  beneficialOwnerApp = 'beneficialOwnerApp',
82
85
  spokesmanApp = 'spokesmanApp',
83
86
  }
87
+
88
+ export enum Methods {
89
+ GET = 'GET',
90
+ POST = 'POST',
91
+ }
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
 
@@ -12,17 +15,21 @@ declare global {
12
15
  | 'efo'
13
16
  | 'gons'
14
17
  | 'halykkazyna'
18
+ | 'lifebusiness'
15
19
  | 'liferenta'
16
20
  | 'lifetrip'
17
21
  | 'lka'
18
22
  | 'mycar'
19
23
  | 'checkcontract'
20
- | 'checkcontragent';
24
+ | 'checkcontragent'
25
+ | 'daskamkorlyk'
26
+ | 'dso'
27
+ | 'uu';
21
28
  type MemberKeys = keyof ReturnType<typeof useFormStore>;
22
29
  type MemberFormTypes = 'policyholderForm' | 'insuredForm' | 'beneficiaryForm' | 'beneficialOwnerForm' | 'policyholdersRepresentativeForm' | 'productConditionsForm';
23
30
  type SingleMember = 'policyholderForm' | 'policyholdersRepresentativeForm';
24
31
  type MultipleMember = 'insuredForm' | 'beneficiaryForm' | 'beneficialOwnerForm';
25
- type PanelTypes = 'settings' | 'panel';
32
+ type PanelTypes = 'settings' | 'panel' | 'rightPanel';
26
33
  type FileActions = 'view' | 'download';
27
34
  type RouteType = RouteLocationNormalizedLoaded | RouteLocationNormalized;
28
35
  type InputVariants = 'solo' | 'filled' | 'outlined' | 'plain' | 'underlined';
@@ -49,6 +56,11 @@ declare global {
49
56
  | 'time'
50
57
  | 'url'
51
58
  | 'week';
59
+
60
+ interface AxiosRequestLocalConfig extends AxiosRequestConfig {
61
+ method: Methods | keyof typeof Methods;
62
+ }
63
+
52
64
  interface TaskListItem {
53
65
  addRegNumber: string | number;
54
66
  applicationTaskId: string;
@@ -140,7 +152,7 @@ declare global {
140
152
 
141
153
  type AnketaBody = {
142
154
  first: EachAnketa;
143
- second: any[] | null;
155
+ second: AnketaSecond[] | null;
144
156
  };
145
157
 
146
158
  type EachAnketa = {
@@ -169,6 +181,7 @@ declare global {
169
181
  enum DefinedAnswers {
170
182
  N = 'N',
171
183
  Y = 'Y',
184
+ D = 'D',
172
185
  }
173
186
 
174
187
  type AnketaFirst = {
@@ -235,8 +248,8 @@ declare global {
235
248
  };
236
249
 
237
250
  type RecalculationDataType = {
238
- signDate: string;
239
- birthDate: string;
251
+ signDate?: string;
252
+ birthDate?: string;
240
253
  gender: number;
241
254
  amount: number | null;
242
255
  premium: number | null;
@@ -245,19 +258,54 @@ declare global {
245
258
  indexRateId?: string | number | null;
246
259
  paymentPeriodId?: string;
247
260
  addCovers: AddCover[];
248
- };
261
+ insrCount?: number;
262
+ insTermInMonth?: number;
263
+ insSumType?: number;
264
+ insSumMultiplier?: number;
265
+ fixInsSum?: number | null;
266
+ tariffId?: string | number | null;
267
+ clients?: ClientV2[];
268
+ agentCommission?: any;
269
+ processDefinitionFgotId?: any;
270
+ };
271
+
272
+ interface ClientV2 {
273
+ id: string | number;
274
+ iin: string;
275
+ fullName: string;
276
+ gender: number;
277
+ birthDate: string;
278
+ insSum: number;
279
+ premium?: number;
280
+ position?: string;
281
+ lifeMultiply?: number;
282
+ lifeAdditive?: number;
283
+ disabilityMultiply?: number;
284
+ traumaTableMultiple?: number;
285
+ accidentalLifeMultiply?: number;
286
+ accidentalLifeAdditive?: number;
287
+ criticalMultiply?: string;
288
+ criticalAdditive?: string;
289
+ }
249
290
 
250
291
  type RecalculationResponseType = {
251
292
  amount: number;
252
293
  premium: number;
294
+ statePremium5?: number;
295
+ statePremium7?: number;
296
+ totalAmount5?: number;
297
+ totalAmount7?: number;
253
298
  mainCoverPremium: number;
254
299
  addCovers: AddCover[];
255
300
  amountInCurrency: number;
256
301
  premiumInCurrency: number;
257
302
  annuityMonthPay: string | number | null;
303
+ mainPremium?: number;
304
+ clients?: ClientV2[];
305
+ fixInsSum?: number | null;
258
306
  };
259
307
 
260
- type AddCover = {
308
+ interface AddCover {
261
309
  id: string | null;
262
310
  processInstanceId: string;
263
311
  coverTypeId: string;
@@ -269,7 +317,11 @@ declare global {
269
317
  amount: number;
270
318
  premium: number;
271
319
  isMigrate: boolean;
272
- };
320
+ coverPeriodId?: string;
321
+ coverPeriodName?: string;
322
+ coverPeriodCode?: string;
323
+ calculatorValue?: number;
324
+ }
273
325
 
274
326
  type SignUrlType = {
275
327
  uri: string;
@@ -413,7 +465,7 @@ declare global {
413
465
  stateName?: string;
414
466
  cityCode?: string | number;
415
467
  cityName?: string;
416
- regionCode?: string | number |null;
468
+ regionCode?: string | number | null;
417
469
  regionName?: string | null;
418
470
  streetName?: string;
419
471
  blockNumber?: string;
@@ -481,7 +533,6 @@ declare global {
481
533
  underwritingType?: number;
482
534
  annualIncome?: number | null;
483
535
  calcDirect?: number;
484
- tariffId?: string;
485
536
  tariffName?: string;
486
537
  riskGroup?: number;
487
538
  riskGroup2?: number;
@@ -499,6 +550,23 @@ declare global {
499
550
  amountInCurrency?: number | null;
500
551
  premiumInCurrency?: number | null;
501
552
  currencyExchangeRate?: number | null;
553
+ age?: string | number | null;
554
+ lifeTripCountries?: string[] | null;
555
+ tripPurposeId?: string | number | null;
556
+ insuredAmountId?: string | number | null;
557
+ workTypeId?: string | number | null;
558
+ sportsTypeId?: string | number | null;
559
+ singleTripDays?: string | number | null;
560
+ multipleTripMaxDays?: string | number | null;
561
+ tripInsurancePeriod?: string | number | null;
562
+ startDate?: string | null;
563
+ endDate?: string | null;
564
+ insTermInMonth?: number | null;
565
+ fixInsSum?: number | string | null;
566
+ tariffId?: string | null;
567
+ mainPremium?: number | string | null;
568
+ processDefinitionFgotId?: string | number;
569
+ mainInsSum?: number;
502
570
  };
503
571
 
504
572
  type InsisWorkDataApp = {
@@ -517,4 +585,88 @@ declare global {
517
585
  managerPolicyName?: string;
518
586
  insuranceProgramType?: string;
519
587
  };
588
+
589
+ type TripInsuranceAmount = {
590
+ amounts: Value[];
591
+ currency: string;
592
+ };
593
+
594
+ type TripInsuranceDaysOptions = {
595
+ period: {
596
+ '90': string[];
597
+ '180': string[];
598
+ '270': string[];
599
+ '365': string[];
600
+ };
601
+ };
602
+ type getTripInsuredAmountRequest = {
603
+ tripTypeID: string | number | null;
604
+ countryID: string[];
605
+ };
606
+
607
+ type SetApplicationRequest = {
608
+ processInstanceId?: string | number | null;
609
+ id?: string | null;
610
+ addCoversDto?: AddCover[];
611
+ insuredAmountId?: string | number | null;
612
+ age?: string | number | null;
613
+ lifeTripCountries?: string[] | null;
614
+ tripPurposeId?: string | number | null;
615
+ workTypeId?: string | number | null;
616
+ sportsTypeId?: string | number | null;
617
+ singleTripDays?: number;
618
+ multipleTripMaxDays?: number;
619
+ tripInsurancePeriod?: number;
620
+ startDate?: string | null;
621
+ endDate?: string | null;
622
+ };
623
+
624
+ type KGDResponse = {
625
+ responseCode: string;
626
+ content: string | null;
627
+ lastName: string;
628
+ firstName: string;
629
+ middleName: string;
630
+ name: string;
631
+ };
632
+
633
+ type AccidentIncidents = {
634
+ id: string | null;
635
+ processInstanceId: string | null;
636
+ coverTypeId: string | null;
637
+ coverTypeName: string | null;
638
+ coverTypeCode: number | null;
639
+ count: number | null;
640
+ amount: number | null;
641
+ shortDescription: string | null;
642
+ };
643
+
644
+ type GovPremiums = {
645
+ statePremium5: number | null;
646
+ statePremium7: number | null;
647
+ totalAmount5: number | null;
648
+ totalAmount7: number | null;
649
+ };
650
+
651
+ type LabelSize = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11;
652
+
653
+ type Label = {
654
+ value: string;
655
+ hideInMobile: Boolean;
656
+ size: LabelSize;
657
+ };
658
+
659
+ type Entry = {
660
+ value: string;
661
+ formatType?: 'iin' | 'fullName' | 'phone' | 'digits';
662
+ };
663
+
664
+ type FormBlock = {
665
+ title: string;
666
+ redirectPath: string;
667
+ key?: string;
668
+ disabled: boolean;
669
+ labels: Label[];
670
+ entries: Entry[];
671
+ };
520
672
  }
@@ -1,47 +0,0 @@
1
- <template>
2
- <button
3
- type="button"
4
- class="transition-all"
5
- @click="$emit('clicked')"
6
- :disabled="disabled"
7
- :class="[
8
- disabled ? 'disabled' : '',
9
- classes,
10
- btn,
11
- $libStyles[`btnH${$capitalize(size)}` as keyof typeof $libStyles],
12
- ]"
13
- >
14
- <i class="mdi" :class="icon"></i>
15
- </button>
16
- </template>
17
-
18
- <script lang="ts">
19
- export default defineComponent({
20
- name: 'BaseBtnIcon',
21
- props: {
22
- icon: { type: String, default: 'mdi-arrow-right-variant' },
23
- size: {
24
- type: String,
25
- default: 'md',
26
- },
27
- classes: {
28
- type: String,
29
- default: '',
30
- },
31
- disabled: {
32
- type: Boolean,
33
- default: false,
34
- },
35
- btn: {
36
- type: String,
37
- default: new Styles().blueBtn,
38
- },
39
- },
40
- });
41
- </script>
42
-
43
- <style scoped>
44
- .disabled {
45
- opacity: 0.3;
46
- }
47
- </style>