hl-core 0.0.10-beta.7 → 0.0.10-beta.70

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 (49) hide show
  1. package/README.md +0 -2
  2. package/api/base.api.ts +425 -134
  3. package/api/interceptors.ts +162 -62
  4. package/components/Dialog/Dialog.vue +5 -1
  5. package/components/Dialog/DigitalDocumentsDialog.vue +129 -0
  6. package/components/Dialog/FamilyDialog.vue +15 -4
  7. package/components/Form/DigitalDocument.vue +52 -0
  8. package/components/Form/FormSource.vue +30 -0
  9. package/components/Form/ManagerAttachment.vue +85 -11
  10. package/components/Form/ProductConditionsBlock.vue +12 -6
  11. package/components/Input/Datepicker.vue +5 -0
  12. package/components/Input/FileInput.vue +1 -1
  13. package/components/Input/FormInput.vue +7 -0
  14. package/components/Input/OtpInput.vue +25 -0
  15. package/components/Input/RoundedInput.vue +2 -0
  16. package/components/Input/RoundedSelect.vue +2 -0
  17. package/components/Input/TextAreaField.vue +71 -0
  18. package/components/Input/TextHint.vue +13 -0
  19. package/components/Layout/SettingsPanel.vue +2 -1
  20. package/components/Menu/MenuNav.vue +2 -1
  21. package/components/Pages/Anketa.vue +207 -176
  22. package/components/Pages/Auth.vue +10 -3
  23. package/components/Pages/ContragentForm.vue +24 -18
  24. package/components/Pages/Documents.vue +488 -66
  25. package/components/Pages/MemberForm.vue +1009 -268
  26. package/components/Pages/ProductConditions.vue +1424 -273
  27. package/components/Panel/PanelHandler.vue +329 -126
  28. package/components/Utilities/Chip.vue +1 -1
  29. package/components/Utilities/JsonViewer.vue +1 -2
  30. package/composables/classes.ts +136 -20
  31. package/composables/constants.ts +168 -1
  32. package/composables/index.ts +467 -9
  33. package/composables/styles.ts +8 -24
  34. package/configs/i18n.ts +2 -0
  35. package/configs/pwa.ts +1 -7
  36. package/layouts/clear.vue +1 -1
  37. package/layouts/default.vue +2 -2
  38. package/layouts/full.vue +1 -1
  39. package/locales/kz.json +1239 -0
  40. package/locales/ru.json +133 -21
  41. package/nuxt.config.ts +8 -6
  42. package/package.json +14 -13
  43. package/plugins/head.ts +7 -1
  44. package/plugins/helperFunctionsPlugins.ts +1 -0
  45. package/store/data.store.ts +1080 -552
  46. package/store/member.store.ts +19 -8
  47. package/store/rules.ts +75 -8
  48. package/types/enum.ts +52 -2
  49. package/types/index.ts +143 -6
@@ -62,7 +62,7 @@ export const useMemberStore = defineStore('members', {
62
62
  }
63
63
  return false;
64
64
  },
65
- getMemberFromStore(whichForm: keyof typeof StoreMembers, whichIndex?: number): Member | null {
65
+ getMemberFromStore(whichForm: keyof typeof StoreMembers | 'slaveInsuredForm', whichIndex?: number): Member | null {
66
66
  switch (whichForm) {
67
67
  case this.formStore.policyholderFormKey:
68
68
  return this.formStore.policyholderForm;
@@ -70,6 +70,8 @@ export const useMemberStore = defineStore('members', {
70
70
  return this.formStore.policyholdersRepresentativeForm;
71
71
  case this.formStore.insuredFormKey:
72
72
  return this.formStore.insuredForm[whichIndex!];
73
+ case 'slaveInsuredForm':
74
+ return this.formStore.slaveInsuredForm;
73
75
  case this.formStore.beneficiaryFormKey:
74
76
  return this.formStore.beneficiaryForm[whichIndex!];
75
77
  case this.formStore.beneficialOwnerFormKey:
@@ -78,8 +80,11 @@ export const useMemberStore = defineStore('members', {
78
80
  return null;
79
81
  }
80
82
  },
81
- getMemberFromApplication(whichForm: keyof typeof StoreMembers, whichIndex?: number) {
82
- const id = whichForm !== 'policyholderForm' && whichForm !== 'policyholdersRepresentativeForm' ? this.formStore[whichForm][whichIndex!].id : this.formStore[whichForm].id;
83
+ getMemberFromApplication(whichForm: keyof typeof StoreMembers | 'slaveInsuredForm', whichIndex?: number) {
84
+ const id =
85
+ whichForm !== 'policyholderForm' && whichForm !== 'policyholdersRepresentativeForm' && whichForm !== 'slaveInsuredForm'
86
+ ? this.formStore[whichForm][whichIndex!]?.id
87
+ : this.formStore[whichForm]?.id;
83
88
  switch (whichForm) {
84
89
  case this.formStore.policyholderFormKey:
85
90
  return this.formStore.applicationData.clientApp;
@@ -89,6 +94,10 @@ export const useMemberStore = defineStore('members', {
89
94
  const inStore = this.formStore.applicationData.insuredApp.find((member: any) => member.insisId === id);
90
95
  return !!inStore ? inStore : false;
91
96
  }
97
+ case 'slaveInsuredForm': {
98
+ const inStore = this.formStore.applicationData.slave.insuredApp[0];
99
+ return !!inStore ? inStore : false;
100
+ }
92
101
  case this.formStore.beneficiaryFormKey: {
93
102
  const inStore = this.formStore.applicationData.beneficiaryApp.find((member: any) => member.insisId === id);
94
103
  return !!inStore ? inStore : false;
@@ -99,12 +108,14 @@ export const useMemberStore = defineStore('members', {
99
108
  }
100
109
  }
101
110
  },
102
- getMemberCode(whichForm: keyof typeof StoreMembers) {
111
+ getMemberCode(whichForm: keyof typeof StoreMembers | 'slaveInsuredForm') {
103
112
  switch (whichForm) {
104
113
  case this.formStore.policyholderFormKey:
105
114
  return MemberCodes.Client;
106
115
  case this.formStore.insuredFormKey:
107
116
  return MemberCodes.Insured;
117
+ case 'slaveInsuredForm':
118
+ return MemberCodes.Insured;
108
119
  case this.formStore.beneficiaryFormKey:
109
120
  return MemberCodes.Beneficiary;
110
121
  case this.formStore.beneficialOwnerFormKey:
@@ -308,11 +319,11 @@ export const useMemberStore = defineStore('members', {
308
319
  // TODO Доработать и менять значение hasAgreement.value => true
309
320
  this.dataStore.showToaster(otpResponse.status !== 2 ? 'error' : 'success', otpResponse.statusName, 3000);
310
321
  if (otpResponse.status === 2) {
311
- member.otpCode = null;
322
+ member.otpCode = '';
312
323
  return true;
313
324
  }
314
325
  if (otpResponse.status === 4 || otpResponse.status === 5) {
315
- member.otpCode = null;
326
+ member.otpCode = '';
316
327
  member.otpTokenId = null;
317
328
  return false;
318
329
  }
@@ -390,8 +401,8 @@ export const useMemberStore = defineStore('members', {
390
401
  this.dataStore.showToaster('error', this.dataStore.t('toaster.phoneNotFoundInBMG'), 3000);
391
402
  return { otpStatus };
392
403
  }
393
- if ('status' in err.response.data && !!err.response.data.status) {
394
- this.dataStore.showToaster('error', err.response.data.status, 3000);
404
+ if ('status' in err.response.data && !!err.response.data.status && err.response.data.status === 500) {
405
+ this.dataStore.showToaster('error', this.dataStore.t('toaster.serverError'), 3000);
395
406
  return { otpStatus };
396
407
  }
397
408
  }
package/store/rules.ts CHANGED
@@ -6,8 +6,10 @@ const t = i18n.t;
6
6
  export const rules = {
7
7
  recalculationMultiply: [(v: any) => (v !== null && v !== '' && v >= 100) || t('toaster.valueShouldBeHigher', { text: '100' })],
8
8
  recalculationMultiplyBetween: [(v: any) => (v !== null && v !== '' && v >= 100 && v <= 200) || t('toaster.recalculationMultiplyBetween', { floor: '100', ceil: '200' })],
9
+ recalculationMultiplyBetween50And200: [(v: any) => (v !== null && v !== '' && v >= 50 && v <= 200) || t('toaster.recalculationMultiplyBetween', { floor: '50', ceil: '200' })],
9
10
  recalculationAdditive: [(v: any) => (v !== null && v !== '' && v <= 100 && v >= 0) || t('toaster.valueShouldBeBetween', { floor: '0', ceil: '100' })],
10
11
  required: [(v: any) => !!v || t('rules.required')],
12
+ notEmpty: [(v: any) => (v !== null && v !== undefined && v !== '') || t('rules.required')],
11
13
  notZero: [(v: any) => Number(v) !== 0 || 'Не может быть равно нулю'],
12
14
  iik: [(v: any) => v.length === 20 || t('rules.iik')],
13
15
  agentCommission: [(v: any) => v <= 50 || t('rules.agentCommission')],
@@ -51,8 +53,9 @@ export const rules = {
51
53
  },
52
54
  ],
53
55
  cyrillic: [(v: any) => v === null || /^[\u0400-\u04FF -]+$/.test(v) || t('rules.cyrillic')],
54
- latin: [(v: any) => v === null || /^[a-zA-Z]+$/.test(v) || t('rules.latin')],
56
+ latin: [(v: any) => v === null || /^[a-zA-Z -]+$/.test(v) || t('rules.latin')],
55
57
  latinAndNumber: [(v: any) => v === null || /^[0-9a-zA-Z]+$/.test(v) || t('rules.latinAndNumber')],
58
+ latinNumberSymbol: [(v: any) => v === null || /^[0-9a-zA-Z-/]+$/.test(v) || t('rules.latinNumberSymbol')],
56
59
  cyrillicNonRequired: [
57
60
  (v: any) => {
58
61
  if (!v) return true;
@@ -85,8 +88,8 @@ export const rules = {
85
88
  ageExceeds80ByDate: [(v: any) => Math.abs(new Date(Date.now() - new Date(formatDate(v)!).getTime()).getUTCFullYear() - 1970) <= 80 || t('rules.ageExceeds80')],
86
89
  sums: [
87
90
  (v: any) => {
88
- let str = v.replace(/\s/g, '');
89
- if (/^[0-9]+$/.test(str)) {
91
+ let str = String(v ?? '').replace(/\s/g, '');
92
+ if (!str || /^[0-9]+$/.test(str)) {
90
93
  return true;
91
94
  }
92
95
  return t('rules.sums');
@@ -123,6 +126,14 @@ export const rules = {
123
126
  }
124
127
  },
125
128
  ],
129
+ phoneNonResidentFormat: [
130
+ (v: any) => {
131
+ if (v === null || v === '') {
132
+ return true;
133
+ }
134
+ return /^\+[1-9]\d{7,14}$/.test(v) ? true : t('rules.phoneNonResidentFormat');
135
+ },
136
+ ],
126
137
  date: [
127
138
  (v: any) => {
128
139
  if (v === null || v == '') return true;
@@ -167,15 +178,15 @@ export const rules = {
167
178
  }
168
179
  },
169
180
  ],
170
- coverPeriodFrom2to20: [
181
+ coverPeriodFrom1to20: [
171
182
  (v: any) => {
172
183
  if (v !== null) {
173
- if (v < 2 || v > 20) {
174
- return t('productConditionsForm.coverPeriodFrom2to20');
184
+ if (v < 1 || v > 20) {
185
+ return t('productConditionsForm.coverPeriodFrom1to20');
175
186
  }
176
187
  return true;
177
188
  } else {
178
- return t('productConditionsForm.coverPeriodFrom2to20');
189
+ return t('productConditionsForm.coverPeriodFrom1to20');
179
190
  }
180
191
  },
181
192
  ],
@@ -225,7 +236,7 @@ export const rules = {
225
236
  },
226
237
  ],
227
238
  policyholderAgeLimit: [(v: any) => v >= 18 || t('rules.policyholderAgeLimit')],
228
- beneficiaryAgeLimit: [(v: any) => v <= 15 || t('rules.beneficiaryAgeLimit')],
239
+ beneficiaryAgeLimit: [(v: any) => v < 15 || t('rules.beneficiaryAgeLimit')],
229
240
  dateInPast: [
230
241
  (v: any) => {
231
242
  const givenDate = new Date(formatDate(v)!);
@@ -248,6 +259,24 @@ export const rules = {
248
259
  }
249
260
  },
250
261
  ],
262
+ checkPastOrToday: [
263
+ (v: any) => {
264
+ const today = new Date();
265
+ today.setHours(0, 0, 0, 0);
266
+ const selectedDate = new Date(formatDate(v)!);
267
+ selectedDate.setHours(0, 0, 0, 0);
268
+ return selectedDate <= today || t('rules.checkDate');
269
+ },
270
+ ],
271
+ checkTodayOrFuture: [
272
+ (v: any) => {
273
+ const today = new Date();
274
+ today.setHours(0, 0, 0, 0);
275
+ const selectedDate = new Date(formatDate(v)!);
276
+ selectedDate.setHours(0, 0, 0, 0);
277
+ return selectedDate >= today || t('rules.checkDate');
278
+ },
279
+ ],
251
280
  twoDayBeforeTodayDate: [
252
281
  (v: any) => {
253
282
  const now = new Date();
@@ -271,6 +300,18 @@ export const rules = {
271
300
  }
272
301
  },
273
302
  ],
303
+ checkPastDate: [
304
+ (v: any) => {
305
+ let today = new Date();
306
+ const yourDate = new Date(formatDate(v)!);
307
+ today.setHours(0, 0, 0, 0);
308
+ if (yourDate >= today) {
309
+ return true;
310
+ } else {
311
+ return t('rules.checkDate');
312
+ }
313
+ },
314
+ ],
274
315
  fileRequired: [(v: any) => !!v || t('rules.fileRequired'), (v: any) => (v && v.length > 0) || t('rules.fileRequired')],
275
316
  guaranteedPeriodLimit(v: any, termAnnuityPayments: any) {
276
317
  if (Number(v) > Number(termAnnuityPayments)) {
@@ -284,4 +325,30 @@ export const rules = {
284
325
  }
285
326
  return true;
286
327
  },
328
+ lengthLimit(v: any, limit: number) {
329
+ if (!!v && typeof v === 'string' && v.length <= limit) {
330
+ return true;
331
+ }
332
+ return t('rules.lengthLimit', { len: limit });
333
+ },
334
+ validateAfterContractDate(v: any, date: any) {
335
+ if(!v || !date) return true;
336
+ const parseDate = (str: string): Date => {
337
+ const [day, month, year] = str.split('.');
338
+ return new Date(Number(year), Number(month) - 1, Number(day));
339
+ };
340
+ const inputDate = parseDate(v);
341
+ const limitDate = parseDate(date);
342
+ if (inputDate < limitDate) {
343
+ return t('rules.validateAfterContractDate');
344
+ }
345
+ return true;
346
+ },
347
+ checkDateIsAfterOrSame(v: any, minDate: string) {
348
+ if (!v || !minDate) return true;
349
+ const [d, m, y] = v.split('.');
350
+ const entered = new Date(Number(y), Number(m) - 1, Number(d));
351
+ const minNewDate = new Date(minDate);
352
+ return entered >= minNewDate || t('rules.dateIncorrect');
353
+ },
287
354
  };
package/types/enum.ts CHANGED
@@ -51,6 +51,18 @@ export enum Actions {
51
51
 
52
52
  payed = 'payed',
53
53
  payedCustom = 'payedCustom',
54
+
55
+ rejectDocument = 'rejectDocument',
56
+ rejectDocumentCustom = 'rejectDocumentCustom',
57
+
58
+ recalc = 'recalc',
59
+ recalcCustom = 'recalcCustom',
60
+
61
+ annulment = 'annulment',
62
+ annulmentCustom = 'annulmentCustom',
63
+
64
+ otrs = 'otrs',
65
+ otrsCustom = 'otrsCustom',
54
66
  }
55
67
 
56
68
  export enum PostActions {
@@ -60,6 +72,7 @@ export enum PostActions {
60
72
  applicationCreated = 'applicationCreated',
61
73
  clipboard = 'clipboard',
62
74
  toHomePage = 'toHomePage',
75
+ toHistory = 'toHistory',
63
76
  toStatementHistory = 'toStatementHistory',
64
77
  toAuth = 'toAuth',
65
78
  DOMevent = 'DOMevent',
@@ -67,10 +80,14 @@ export enum PostActions {
67
80
  Error500 = 'Error500',
68
81
  iframeLoaded = 'iframeLoaded',
69
82
  goToProject = 'goToProject',
83
+ openLinkBlank = 'openLinkBlank',
70
84
  }
71
85
 
72
86
  export enum Roles {
73
87
  Manager = 'Manager',
88
+ SalesManager = 'SalesManager',
89
+ ChiefSalesManager = 'ChiefSalesManager',
90
+ ChiefManagerNSZH = 'ChiefManagerNSZH',
74
91
  Admin = 'Admin',
75
92
  Jurist = 'Jurist',
76
93
  Underwriter = 'Underwriter',
@@ -79,6 +96,7 @@ export enum Roles {
79
96
  Compliance = 'Compliance',
80
97
  AgentMycar = 'AgentMycar',
81
98
  Analyst = 'Analyst',
99
+ Auditor = 'Auditor',
82
100
  UPK = 'UPK',
83
101
  URP = 'URP',
84
102
  FinCenter = 'FinCenter',
@@ -90,13 +108,34 @@ export enum Roles {
90
108
  HeadManager = 'HeadManager',
91
109
  AgentAuletti = 'AgentAuletti',
92
110
  USNS = 'USNS',
111
+ USNSsanctioner = 'USNSsanctioner',
93
112
  Accountant = 'Accountant',
94
113
  BranchDirector = 'BranchDirector',
114
+ RegionDirector = 'RegionDirector',
95
115
  USNSACCINS = 'USNSACCINS',
96
116
  Dsuio = 'Dsuio',
97
- Adjuster = 'Adjuster',
117
+ HEADDSO = 'HEADDSO',
118
+ SettlementLosses = 'SettlementLosses',
119
+ HeadSettlementLosses = 'HeadSettlementLosses',
98
120
  DsoDirector = 'DsoDirector',
121
+ Archivist = 'Archivist',
99
122
  AccountantDirector = 'AccountantDirector',
123
+ ManagerAuletti = 'ManagerAuletti',
124
+ HeadOfDso = 'HeadOfDso',
125
+ URSP = 'URSP',
126
+ ExecutorGPH = 'ExecutorGPH',
127
+ DsuioOrv = 'DsuioOrv',
128
+ UKP = 'UKP',
129
+ DpDirector = 'DpDirector',
130
+ Security = 'Security',
131
+ URAP = 'URAP',
132
+ TravelAgent = 'TravelAgent',
133
+ HR = 'HR',
134
+ NotAccumulativeSanctionerUSNS = 'NotAccumulativeSanctionerUSNS',
135
+ ReInsurer = 'ReInsurer',
136
+ Sanctioner1 = 'Sanctioner1',
137
+ Sanctioner2 = 'Sanctioner2',
138
+ Sanctioner3 = 'Sanctioner3',
100
139
  }
101
140
 
102
141
  export enum Statuses {
@@ -120,8 +159,10 @@ export enum Statuses {
120
159
  ControllerDpForm = 'ControllerDpForm',
121
160
  ActuaryForm = 'ActuaryForm',
122
161
  DsoUsnsForm = 'DsoUsnsForm',
162
+ JuristForm = 'JuristForm',
123
163
  AccountantForm = 'AccountantForm',
124
164
  HeadManagerForm = 'HeadManagerForm',
165
+ DeferredContract = 'DeferredContract',
125
166
  }
126
167
 
127
168
  export enum MemberCodes {
@@ -145,7 +186,7 @@ export enum Methods {
145
186
  POST = 'POST',
146
187
  }
147
188
 
148
- export namespace Enums {
189
+ export namespace CoreEnums {
149
190
  export namespace GBD {
150
191
  export enum DocTypes {
151
192
  'PS' = '001',
@@ -161,4 +202,13 @@ export namespace Enums {
161
202
  'SBI' = 'SBI',
162
203
  }
163
204
  }
205
+ export namespace Sign {
206
+ export enum Types {
207
+ electronic = 1,
208
+ scans = 2,
209
+ qr = 3,
210
+ qrXml = 5,
211
+ nclayer = 6,
212
+ }
213
+ }
164
214
  }
package/types/index.ts CHANGED
@@ -1,7 +1,10 @@
1
1
  import { Value } from '../composables/classes';
2
+ import type { IDocument } from '../composables/classes';
2
3
  import type { RouteLocationNormalizedLoaded, RouteLocationNormalized } from 'vue-router';
3
4
  import type { AxiosRequestConfig } from 'axios';
4
- import { Methods, Enums } from './enum';
5
+ import { Methods, CoreEnums, Actions, Statuses } from './enum';
6
+ import type { JwtPayload } from 'jwt-decode';
7
+ export { Methods, CoreEnums, Actions, Statuses };
5
8
 
6
9
  export type EnvModes = 'development' | 'test' | 'production';
7
10
  export type Projects =
@@ -16,7 +19,7 @@ export type Projects =
16
19
  | 'liferenta'
17
20
  | 'lifetrip'
18
21
  | 'lka'
19
- | 'mycar'
22
+ | 'halykmycar'
20
23
  | 'checkcontract'
21
24
  | 'checkcontragent'
22
25
  | 'daskamkorlyk'
@@ -25,9 +28,15 @@ export type Projects =
25
28
  | 'pensionannuitynew'
26
29
  | 'dso'
27
30
  | 'uu'
31
+ | 'reinsurance'
32
+ | 'reporting'
28
33
  | 'auletti'
29
34
  | 'lka-auletti'
30
- | 'prepensionannuity';
35
+ | 'prepensionannuity'
36
+ | 'balam'
37
+ | 'borrower'
38
+ | 'criticalillness'
39
+ | 'tumar';
31
40
  export type MemberKeys = keyof ReturnType<typeof useFormStore>;
32
41
  export type MemberFormTypes = 'policyholderForm' | 'insuredForm' | 'beneficiaryForm' | 'beneficialOwnerForm' | 'policyholdersRepresentativeForm' | 'productConditionsForm';
33
42
  export type SingleMember = 'policyholderForm' | 'policyholdersRepresentativeForm';
@@ -115,6 +124,17 @@ export type Item = {
115
124
  itemName: string;
116
125
  };
117
126
 
127
+ export type BpmMenuItem = {
128
+ itemCode: string;
129
+ nameRu: string;
130
+ nameKz: string | null;
131
+ descrition: string;
132
+ order: number;
133
+ path: string | null;
134
+ icon: string | null;
135
+ hasChildren: boolean;
136
+ };
137
+
118
138
  export type AnketaBody = {
119
139
  first: EachAnketa;
120
140
  second: AnketaSecond[] | null;
@@ -133,8 +153,8 @@ export type EachAnketa = {
133
153
  };
134
154
 
135
155
  export enum AnswerName {
136
- Нет = 'Нет',
137
- Да = 'Да',
156
+ 'Жоқ/Нет' = 'Жоқ/Нет',
157
+ 'Иә/Да' = 'Иә/Да',
138
158
  }
139
159
 
140
160
  export enum AnswerType {
@@ -253,6 +273,11 @@ export interface ClientV2 {
253
273
  criticalMultiply?: string;
254
274
  criticalAdditive?: string;
255
275
  hasAttachedFile?: boolean;
276
+ insrBeginDate?: string;
277
+ insrEndDate?: string;
278
+ economySectorCode?: Value;
279
+ resident?: Value;
280
+ tableNumber?: string;
256
281
  }
257
282
 
258
283
  export type RecalculationResponseType = {
@@ -283,6 +308,7 @@ export interface AddCover {
283
308
  coverTypeCode: number;
284
309
  coverSumId: string;
285
310
  coverSumName: string;
311
+ coverSumNameKz: string;
286
312
  coverSumCode: string;
287
313
  amount: number;
288
314
  premium: number;
@@ -385,6 +411,7 @@ export type GetContragentRequest = {
385
411
  lastName: string;
386
412
  middleName: string;
387
413
  iin: string;
414
+ birthDate?: string;
388
415
  };
389
416
 
390
417
  export type GetContragentResponse = {
@@ -408,6 +435,8 @@ export interface ContragentType {
408
435
  registrationDate: string;
409
436
  verifyType: string;
410
437
  verifyDate: string;
438
+ notes?: string;
439
+ organorganisationStartDate?: string;
411
440
  }
412
441
 
413
442
  export interface ContragentQuestionaries {
@@ -431,6 +460,9 @@ export interface ContragentDocuments {
431
460
  issuerId: number;
432
461
  issuerName: string | null;
433
462
  issuerNameRu: string | null;
463
+ issuerOtherName?: string;
464
+ issuerOtherNameOrig?: string;
465
+ issuerOtherNameRu?: string;
434
466
  description: string | null;
435
467
  note: string | null;
436
468
  verifyType: string;
@@ -552,6 +584,11 @@ export type PolicyAppDto = {
552
584
  mainInsSum?: number | null;
553
585
  agentCommission?: number | null;
554
586
  calcDate?: string;
587
+ mainPremiumWithCommission?: number;
588
+ accureStartEducationCapital?: boolean;
589
+ hasEnhancedGift?: boolean | null;
590
+ isCalculated?: boolean | null;
591
+ managerHelped?: boolean;
555
592
  };
556
593
 
557
594
  export type InsisWorkDataApp = {
@@ -568,6 +605,8 @@ export type InsisWorkDataApp = {
568
605
  regionPolicyName?: string;
569
606
  managerPolicy?: string;
570
607
  managerPolicyName?: string;
608
+ executorGPH?: string;
609
+ executorGPHName?: string;
571
610
  insuranceProgramType?: string;
572
611
  };
573
612
 
@@ -722,6 +761,34 @@ export type SignedState = {
722
761
  code: string;
723
762
  };
724
763
 
764
+ export type GetContractByBinResponse = {
765
+ bin: string;
766
+ fullName: string;
767
+ insrBegin: string;
768
+ insrEnd: string;
769
+ policyNo: string;
770
+ policyId: string;
771
+ status: string;
772
+ };
773
+
774
+ export type ParentPolicyDto = {
775
+ contractId: number;
776
+ contractInsrBegin: string;
777
+ contractInsrEnd: string;
778
+ contractNumber: string;
779
+ };
780
+
781
+ export namespace Base {
782
+ export namespace Document {
783
+ export type Digital = { iin: string; longName: string; digitalDocument: IDocument | null };
784
+ export type IssuerOther = Value & {
785
+ issuerOtherName?: string;
786
+ issuerOtherNameOrig?: string;
787
+ issuerOtherNameRu?: string;
788
+ };
789
+ }
790
+ }
791
+
725
792
  export namespace Utils {
726
793
  export type ProjectConfig = {
727
794
  version: string;
@@ -731,6 +798,22 @@ export namespace Utils {
731
798
  export type VuetifyAnimations = 'expand' | 'fab' | 'fade' | 'scale' | 'scroll-x' | 'scroll-y' | 'slide-x' | 'slide-x-r' | 'slide-y' | 'slide-y-r';
732
799
  export type LabelSize = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11;
733
800
  export type VIcon = { mdi?: string; color?: string; bg?: string; size?: 'x-small' | 'small' | 'default' | 'large' | 'x-large' };
801
+ export type JwtToken = JwtPayload & {
802
+ lastName: string;
803
+ firstName: string;
804
+ middleName?: string;
805
+ code: string;
806
+ name?: string;
807
+ branchId: string;
808
+ branchCode: string;
809
+ branchName: string;
810
+ isAdmin: boolean;
811
+ iin: string;
812
+ phone: string;
813
+ email: string;
814
+ isChangePassword: boolean;
815
+ Permission: string[];
816
+ };
734
817
  }
735
818
 
736
819
  export namespace Api {
@@ -760,7 +843,7 @@ export namespace Api {
760
843
  changeDate: string;
761
844
  };
762
845
  export type Document = {
763
- type: Api.GBD.Dict & { code: Enums.GBD.DocTypes };
846
+ type: Api.GBD.Dict & { code: CoreEnums.GBD.DocTypes };
764
847
  beginDate: string;
765
848
  endDate: string;
766
849
  number: string;
@@ -841,6 +924,8 @@ export namespace Api {
841
924
  zagsCode?: string;
842
925
  zagsNameKZ?: string;
843
926
  zagsNameRU?: string;
927
+ childGender?: number;
928
+ childId?: string;
844
929
  };
845
930
  }
846
931
 
@@ -854,8 +939,60 @@ export namespace Api {
854
939
  name: string;
855
940
  };
856
941
  }
942
+
943
+ export namespace Sign {
944
+ export namespace New {
945
+ export type Request = {
946
+ taskId: string;
947
+ };
948
+ export type Type = {
949
+ documentSignType: string;
950
+ documentSignTypeName: string;
951
+ documentSignTypeValue: number;
952
+ };
953
+ export type FileDatas = {
954
+ fileName: string;
955
+ fileType: number;
956
+ orderFile: number;
957
+ isSigned: boolean;
958
+ signTypes: Api.Sign.New.Type[];
959
+ };
960
+ export type GeneralResponse = {
961
+ contragentId?: string | null;
962
+ contragentType?: number;
963
+ fileDatas?: FileDatas[];
964
+ iin?: string | null;
965
+ longName?: string | null;
966
+ personId?: number;
967
+ signType?: number | null;
968
+ signatureDocumentGroupId?: string | null;
969
+ taskId: string;
970
+ };
971
+ export type Response = {
972
+ edsXmlId: string | null;
973
+ iin: string | null;
974
+ longName: string | null;
975
+ phoneNumber: string | null;
976
+ shortUri: string | null;
977
+ signIds: { id: string; fileType: string }[];
978
+ signatureDocumentGroupId: string | null;
979
+ uri: string | null;
980
+ };
981
+ }
982
+ }
983
+ export type Child = {
984
+ id?: string;
985
+ firstName?: string;
986
+ lastName?: string;
987
+ middleName?: string;
988
+ birthDate?: string;
989
+ }
857
990
  }
858
991
 
859
992
  export namespace Dicts {
860
993
  export type WorkPosition = { workPositionClassCode: string; workPositionCode: string; workPositionName: string };
861
994
  }
995
+
996
+ export type DigitalDocNames = 'Удостоверение личности' | 'Паспорт' | 'Вид на жительство иностранного гражданина' |'Свидетельство о рождении';
997
+
998
+ export type DigitalDocTypes = 'IdentityCard' | 'Passport' | 'Vnzh' | 'BirthCertificate';