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.
- package/api/base.api.ts +904 -0
- package/api/index.ts +2 -620
- package/api/interceptors.ts +58 -14
- package/components/Button/Btn.vue +2 -2
- package/components/Complex/MessageBlock.vue +2 -2
- package/components/Complex/Page.vue +1 -1
- package/components/Dialog/Dialog.vue +60 -15
- package/components/Form/DynamicForm.vue +100 -0
- package/components/Form/FormBlock.vue +12 -3
- package/components/Form/FormData.vue +114 -0
- package/components/Form/FormToggle.vue +9 -3
- package/components/Form/ManagerAttachment.vue +150 -86
- package/components/Form/ProductConditionsBlock.vue +59 -6
- package/components/Input/Datepicker.vue +1 -8
- package/components/Input/DynamicInput.vue +23 -0
- package/components/Input/FileInput.vue +16 -4
- package/components/Input/FormInput.vue +1 -3
- package/components/Input/Monthpicker.vue +34 -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 +159 -0
- package/components/Layout/Drawer.vue +17 -4
- package/components/Layout/Header.vue +23 -2
- package/components/Layout/SettingsPanel.vue +13 -7
- package/components/Menu/InfoMenu.vue +35 -0
- package/components/Menu/MenuNav.vue +17 -2
- package/components/Pages/Anketa.vue +140 -52
- package/components/Pages/Auth.vue +12 -1
- package/components/Pages/ContragentForm.vue +129 -50
- package/components/Pages/Documents.vue +72 -7
- package/components/Pages/InvoiceInfo.vue +1 -1
- package/components/Pages/MemberForm.vue +269 -96
- package/components/Pages/ProductAgreement.vue +1 -8
- package/components/Pages/ProductConditions.vue +798 -168
- package/components/Panel/PanelHandler.vue +373 -45
- package/components/Panel/PanelSelectItem.vue +17 -2
- package/components/Panel/RightPanelCloser.vue +7 -0
- package/components/Transitions/Animation.vue +28 -0
- package/composables/axios.ts +2 -1
- package/composables/classes.ts +415 -8
- package/composables/constants.ts +65 -2
- package/composables/fields.ts +291 -0
- package/composables/index.ts +58 -5
- package/composables/styles.ts +22 -10
- package/layouts/default.vue +48 -3
- package/locales/ru.json +460 -12
- package/nuxt.config.ts +1 -1
- package/package.json +25 -22
- package/pages/Token.vue +1 -12
- package/plugins/helperFunctionsPlugins.ts +0 -3
- package/plugins/vuetifyPlugin.ts +2 -0
- package/store/data.store.ts +1031 -224
- package/store/extractStore.ts +17 -0
- package/store/form.store.ts +13 -1
- package/store/member.store.ts +1 -1
- package/store/rules.ts +53 -5
- package/types/enum.ts +37 -0
- package/types/form.ts +94 -0
- 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
|
+
}
|
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
|
@@ -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
|
-
|
|
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 (
|
|
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 (
|
|
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:
|
|
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
|
|
240
|
-
birthDate
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
}
|