hl-core 0.0.9-beta.3 → 0.0.9-beta.31
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.
- package/api/base.api.ts +862 -0
- package/api/index.ts +2 -620
- package/api/interceptors.ts +58 -14
- package/components/Button/Btn.vue +3 -3
- package/components/Complex/ContentBlock.vue +1 -1
- package/components/Complex/MessageBlock.vue +2 -2
- package/components/Complex/Page.vue +8 -2
- package/components/Complex/WhiteBlock.vue +7 -0
- package/components/Dialog/Dialog.vue +60 -15
- package/components/Dialog/FamilyDialog.vue +5 -5
- package/components/Form/DynamicForm.vue +99 -0
- package/components/Form/FormBlock.vue +36 -29
- package/components/Form/FormData.vue +48 -0
- package/components/Form/FormSection.vue +2 -2
- package/components/Form/FormTextSection.vue +3 -3
- package/components/Form/FormToggle.vue +3 -3
- package/components/Form/ManagerAttachment.vue +104 -52
- package/components/Form/ProductConditionsBlock.vue +73 -20
- package/components/Input/DynamicInput.vue +23 -0
- package/components/Input/EmptyFormField.vue +1 -1
- package/components/Input/FileInput.vue +15 -4
- package/components/Input/Monthpicker.vue +33 -0
- package/components/Input/PanelInput.vue +5 -1
- package/components/Input/RoundedEmptyField.vue +5 -0
- package/components/Input/RoundedSelect.vue +13 -0
- package/components/Input/SwitchInput.vue +64 -0
- package/components/Input/TextInput.vue +161 -0
- package/components/Layout/Drawer.vue +17 -4
- package/components/Layout/Header.vue +2 -2
- package/components/Layout/SettingsPanel.vue +10 -15
- package/components/List/ListEmpty.vue +1 -1
- package/components/Menu/MenuHover.vue +1 -1
- package/components/Menu/MenuNav.vue +3 -3
- package/components/Menu/MenuNavItem.vue +4 -4
- package/components/Pages/Anketa.vue +144 -65
- package/components/Pages/Auth.vue +21 -10
- package/components/Pages/ContragentForm.vue +505 -0
- package/components/Pages/Documents.vue +57 -11
- package/components/Pages/InvoiceInfo.vue +2 -2
- package/components/Pages/MemberForm.vue +253 -89
- package/components/Pages/ProductAgreement.vue +2 -11
- package/components/Pages/ProductConditions.vue +777 -164
- package/components/Panel/PanelHandler.vue +297 -54
- package/components/Panel/PanelSelectItem.vue +18 -3
- package/components/Panel/RightPanelCloser.vue +7 -0
- package/components/Utilities/IconBorder.vue +17 -0
- package/composables/axios.ts +1 -1
- package/composables/classes.ts +405 -9
- package/composables/constants.ts +40 -0
- package/composables/fields.ts +203 -0
- package/composables/index.ts +48 -0
- package/composables/styles.ts +22 -10
- package/configs/i18n.ts +0 -2
- package/layouts/default.vue +46 -4
- package/layouts/full.vue +1 -1
- package/locales/ru.json +428 -11
- package/nuxt.config.ts +1 -1
- package/package.json +30 -39
- package/pages/500.vue +2 -2
- package/pages/Token.vue +1 -0
- package/plugins/helperFunctionsPlugins.ts +6 -7
- package/plugins/vuetifyPlugin.ts +2 -0
- package/store/data.store.ts +936 -217
- package/store/extractStore.ts +17 -0
- package/store/form.store.ts +13 -1
- package/store/member.store.ts +1 -1
- package/store/rules.ts +38 -2
- package/types/enum.ts +8 -0
- package/types/form.ts +94 -0
- package/types/index.ts +162 -10
- package/components/Button/BtnIcon.vue +0 -47
- 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
|
+
}
|
package/store/form.store.ts
CHANGED
|
@@ -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
|
});
|
package/store/member.store.ts
CHANGED
|
@@ -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 (
|
|
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 (
|
|
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:
|
|
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
|
|
239
|
-
birthDate
|
|
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
|
-
|
|
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>
|