hl-core 0.0.8-beta.3 → 0.0.8-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/index.ts +77 -21
- package/api/interceptors.ts +17 -13
- package/components/Dialog/Dialog.vue +7 -37
- package/components/Form/FormBlock.vue +65 -28
- package/components/Form/FormSection.vue +4 -1
- package/components/Form/ManagerAttachment.vue +197 -0
- package/components/Form/ProductConditionsBlock.vue +64 -12
- package/components/Input/Datepicker.vue +5 -1
- package/components/Input/FormInput.vue +28 -7
- package/components/Input/PanelInput.vue +5 -0
- package/components/Input/RoundedSelect.vue +137 -0
- package/components/Layout/Drawer.vue +1 -0
- package/components/Layout/Header.vue +40 -4
- package/components/Layout/SettingsPanel.vue +39 -9
- package/components/Menu/MenuHover.vue +30 -0
- package/components/Menu/MenuNav.vue +28 -11
- package/components/Menu/MenuNavItem.vue +5 -2
- package/components/Pages/Anketa.vue +38 -21
- package/components/Pages/Auth.vue +145 -30
- package/components/Pages/InvoiceInfo.vue +30 -0
- package/components/Pages/MemberForm.vue +381 -144
- package/components/Pages/ProductConditions.vue +496 -17
- package/components/Panel/PanelHandler.vue +75 -2
- package/components/Utilities/Chip.vue +27 -0
- package/components/Utilities/JsonViewer.vue +27 -0
- package/composables/classes.ts +165 -25
- package/composables/constants.ts +13 -1
- package/composables/index.ts +58 -2
- package/composables/styles.ts +9 -3
- package/configs/i18n.ts +19 -0
- package/layouts/default.vue +2 -2
- package/locales/en.json +583 -0
- package/locales/kz.json +583 -0
- package/locales/ru.json +585 -0
- package/nuxt.config.ts +8 -0
- package/package.json +15 -9
- package/pages/500.vue +1 -1
- package/pages/Token.vue +51 -0
- package/plugins/helperFunctionsPlugins.ts +3 -0
- package/plugins/storePlugin.ts +0 -1
- package/plugins/vuetifyPlugin.ts +8 -1
- package/store/data.store.js +705 -624
- package/store/member.store.ts +147 -22
- package/store/rules.js +41 -3
- package/types/index.ts +39 -0
- package/store/messages.ts +0 -434
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
<section v-if="sendingActions">
|
|
3
3
|
<div :class="[$libStyles.flexColNav]">
|
|
4
4
|
<v-form ref="vForm">
|
|
5
|
-
<base-rounded-input v-model="actionCause" placeholder="Причина" :rules="$rules.required"></base-rounded-input>
|
|
5
|
+
<base-rounded-input v-model.trim="actionCause" placeholder="Причина" :rules="$rules.required"></base-rounded-input>
|
|
6
6
|
</v-form>
|
|
7
7
|
<base-btn :text="buttonText" :loading="loading" @click="submitForm"></base-btn>
|
|
8
8
|
</div>
|
|
9
9
|
</section>
|
|
10
10
|
<section v-if="acceptAction">
|
|
11
11
|
<div :class="[$libStyles.flexColNav]">
|
|
12
|
-
<base-content-block class="flex flex-col gap-3">
|
|
12
|
+
<base-content-block v-if="hasConditionsInfo" class="flex flex-col gap-3">
|
|
13
13
|
<span
|
|
14
14
|
>{{ `Сумма страховой премии ${paymentPeriod}:` }} <b>{{ `${insurancePremiumPerMonth}₸` }}</b></span
|
|
15
15
|
>
|
|
@@ -89,6 +89,27 @@
|
|
|
89
89
|
</base-fade-transition>
|
|
90
90
|
</div>
|
|
91
91
|
</section>
|
|
92
|
+
<section v-if="affiliateActions">
|
|
93
|
+
<div :class="[$libStyles.flexColNav]">
|
|
94
|
+
<v-form ref="vForm">
|
|
95
|
+
<base-content-block class="flex flex-col gap-3">
|
|
96
|
+
<base-form-input v-model.trim="formStore.affilationResolution.number" :rules="$rules.required" :label="$t('form.documentNumber')"></base-form-input>
|
|
97
|
+
<base-form-input
|
|
98
|
+
v-model="formStore.affilationResolution.date"
|
|
99
|
+
:maska="$maska.date"
|
|
100
|
+
:rules="$rules.required"
|
|
101
|
+
:label="$t('form.date')"
|
|
102
|
+
append-inner-icon="mdi mdi-calendar-blank-outline"
|
|
103
|
+
></base-form-input>
|
|
104
|
+
<base-file-input v-if="!affiliationDocument" @input.prevent="onFileChange($event)"></base-file-input>
|
|
105
|
+
<base-empty-form-field v-if="affiliationDocument" class="justify-between">
|
|
106
|
+
{{ `${affiliationDocument.fileTypeName} - ${affiliationDocument.fileName}` }}
|
|
107
|
+
<i class="cursor-pointer mdi mdi-file-document mr-6 text-[#a0b3d8] text-xl"></i> </base-empty-form-field
|
|
108
|
+
></base-content-block>
|
|
109
|
+
</v-form>
|
|
110
|
+
<base-btn :text="buttonText" :loading="loading" @click="submitForm"></base-btn>
|
|
111
|
+
</div>
|
|
112
|
+
</section>
|
|
92
113
|
</template>
|
|
93
114
|
|
|
94
115
|
<script lang="ts">
|
|
@@ -103,6 +124,19 @@ export default defineComponent({
|
|
|
103
124
|
const isSendNumberOpen = ref<boolean>(false);
|
|
104
125
|
const phoneNumber = ref<string | null>(formStore.policyholderForm.phoneNumber ?? '');
|
|
105
126
|
const selectedClient = ref<SignUrlType>();
|
|
127
|
+
const documentDict = computed(() => dataStore.dicFileTypeList.find(i => i.nameRu === 'Решение АС'));
|
|
128
|
+
const affiliationDocument = computed(() => formStore.signedDocumentList.find(file => file.fileTypeName === 'Решение АС'));
|
|
129
|
+
const affiliationData = ref<{
|
|
130
|
+
processInstanceId: string | number;
|
|
131
|
+
fileTypeId: string | number | null;
|
|
132
|
+
fileTypeCode: string | number | null;
|
|
133
|
+
fileName?: string | number | null;
|
|
134
|
+
}>({
|
|
135
|
+
processInstanceId: formStore.applicationData.processInstanceId,
|
|
136
|
+
fileTypeId: documentDict.value ? documentDict.value.id : '',
|
|
137
|
+
fileTypeCode: documentDict.value ? documentDict.value.code : '',
|
|
138
|
+
});
|
|
139
|
+
const affiliationFormData = ref(new FormData());
|
|
106
140
|
|
|
107
141
|
const openSmsPanel = (signInfo: SignUrlType) => {
|
|
108
142
|
if (signInfo) {
|
|
@@ -121,6 +155,17 @@ export default defineComponent({
|
|
|
121
155
|
dataStore.panelAction = null;
|
|
122
156
|
};
|
|
123
157
|
|
|
158
|
+
const onFileChange = (event: InputEvent) => {
|
|
159
|
+
if (event.target) {
|
|
160
|
+
const files = (event.target as HTMLInputElement).files;
|
|
161
|
+
if (files && files.length && files[0].name !== affiliationData.value.fileName) {
|
|
162
|
+
affiliationData.value.fileName = files[0].name;
|
|
163
|
+
affiliationFormData.value.append('file', files[0]);
|
|
164
|
+
affiliationFormData.value.append('fileData', JSON.stringify([affiliationData.value]));
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
};
|
|
168
|
+
|
|
124
169
|
const submitForm = async () => {
|
|
125
170
|
await vForm.value.validate().then(async (v: { valid: Boolean; errors: any }) => {
|
|
126
171
|
if (v.valid) {
|
|
@@ -128,8 +173,21 @@ export default defineComponent({
|
|
|
128
173
|
switch (dataStore.panelAction) {
|
|
129
174
|
case constants.actions.pay:
|
|
130
175
|
await dataStore.sendSMS('PayUrl', phoneNumber.value, formStore.epayLink);
|
|
176
|
+
break;
|
|
131
177
|
case constants.actions.sign:
|
|
132
178
|
await dataStore.sendSMS('SignUrl', phoneNumber.value, selectedClient.value?.uri);
|
|
179
|
+
break;
|
|
180
|
+
case constants.actions.affiliate:
|
|
181
|
+
formStore.affilationResolution.processInstanceId = formStore.applicationData.processInstanceId;
|
|
182
|
+
let uploaded, confirmed;
|
|
183
|
+
confirmed = await dataStore.setConfirmation();
|
|
184
|
+
if (affiliationData.value.fileName) {
|
|
185
|
+
uploaded = await dataStore.uploadFiles(affiliationFormData.value);
|
|
186
|
+
}
|
|
187
|
+
if ((affiliationData.value.fileName && confirmed && uploaded) || (!affiliationData.value.fileName && confirmed)) {
|
|
188
|
+
await handleTask();
|
|
189
|
+
}
|
|
190
|
+
break;
|
|
133
191
|
default:
|
|
134
192
|
await handleTask();
|
|
135
193
|
}
|
|
@@ -157,6 +215,10 @@ export default defineComponent({
|
|
|
157
215
|
return dataStore.t('buttons.sign');
|
|
158
216
|
case constants.actions.pay:
|
|
159
217
|
return dataStore.t('buttons.pay');
|
|
218
|
+
case constants.actions.register:
|
|
219
|
+
return dataStore.t('buttons.register');
|
|
220
|
+
case constants.actions.affiliate:
|
|
221
|
+
return dataStore.t('buttons.send');
|
|
160
222
|
}
|
|
161
223
|
});
|
|
162
224
|
|
|
@@ -176,9 +238,16 @@ export default defineComponent({
|
|
|
176
238
|
const acceptAction = computed(() => dataStore.panelAction === constants.actions.accept);
|
|
177
239
|
const signingActions = computed(() => dataStore.panelAction === constants.actions.sign);
|
|
178
240
|
const payingActions = computed(() => dataStore.panelAction === constants.actions.pay);
|
|
241
|
+
const affiliateActions = computed(() => dataStore.panelAction === constants.actions.affiliate);
|
|
179
242
|
const paymentPeriod = computed(() => formStore.productConditionsForm.paymentPeriod.nameRu);
|
|
180
243
|
const insurancePremiumPerMonth = computed(() => dataStore.getNumberWithSpaces(formStore.productConditionsForm.insurancePremiumPerMonth));
|
|
181
244
|
const requestedSumInsured = computed(() => dataStore.getNumberWithSpaces(formStore.productConditionsForm.requestedSumInsured));
|
|
245
|
+
const hasConditionsInfo = computed(() => {
|
|
246
|
+
if (dataStore.isFinCenter()) {
|
|
247
|
+
return false;
|
|
248
|
+
}
|
|
249
|
+
return true;
|
|
250
|
+
});
|
|
182
251
|
|
|
183
252
|
return {
|
|
184
253
|
// State
|
|
@@ -196,6 +265,7 @@ export default defineComponent({
|
|
|
196
265
|
handleTask,
|
|
197
266
|
openSmsPanel,
|
|
198
267
|
openEpayPanel,
|
|
268
|
+
onFileChange,
|
|
199
269
|
|
|
200
270
|
// Computed
|
|
201
271
|
buttonText,
|
|
@@ -203,9 +273,12 @@ export default defineComponent({
|
|
|
203
273
|
signingActions,
|
|
204
274
|
payingActions,
|
|
205
275
|
acceptAction,
|
|
276
|
+
affiliateActions,
|
|
206
277
|
paymentPeriod,
|
|
207
278
|
insurancePremiumPerMonth,
|
|
208
279
|
requestedSumInsured,
|
|
280
|
+
affiliationDocument,
|
|
281
|
+
hasConditionsInfo,
|
|
209
282
|
};
|
|
210
283
|
},
|
|
211
284
|
});
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<label v-if="chip && chip.title" class="transition-all leading-6 px-3 py-1 rounded-pill border-[1px] border-white mr-4 whitespace-nowrap" :class="[textSize, color]"
|
|
3
|
+
>{{ chip.title }}<v-tooltip v-if="chip.description" activator="parent" location="bottom" :max-width="maxWidth">{{ chip.description }}</v-tooltip></label
|
|
4
|
+
>
|
|
5
|
+
</template>
|
|
6
|
+
|
|
7
|
+
<script lang="ts">
|
|
8
|
+
export default defineComponent({
|
|
9
|
+
props: {
|
|
10
|
+
chip: {
|
|
11
|
+
type: Object as PropType<ChipComponent>,
|
|
12
|
+
},
|
|
13
|
+
color: {
|
|
14
|
+
type: String,
|
|
15
|
+
default: 'bg-[#A0B3D8] text-white group-hover:bg-white group-hover:!text-black',
|
|
16
|
+
},
|
|
17
|
+
textSize: {
|
|
18
|
+
type: String,
|
|
19
|
+
default: '!text-[10px]',
|
|
20
|
+
},
|
|
21
|
+
maxWidth: {
|
|
22
|
+
type: [String, Number],
|
|
23
|
+
default: 230,
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
});
|
|
27
|
+
</script>
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<vue-json-pretty
|
|
3
|
+
:data="(data as JSONDataType)"
|
|
4
|
+
:show-icon="true"
|
|
5
|
+
:show-line="true"
|
|
6
|
+
:show-line-number="true"
|
|
7
|
+
:show-double-quotes="true"
|
|
8
|
+
:show-key-value-space="true"
|
|
9
|
+
:collapsed-on-click-brackets="true"
|
|
10
|
+
:deep="4"
|
|
11
|
+
></vue-json-pretty>
|
|
12
|
+
</template>
|
|
13
|
+
|
|
14
|
+
<script lang="ts">
|
|
15
|
+
import VueJsonPretty from 'vue-json-pretty';
|
|
16
|
+
import 'vue-json-pretty/lib/styles.css';
|
|
17
|
+
import { JSONDataType } from 'vue-json-pretty/types/utils';
|
|
18
|
+
|
|
19
|
+
export default defineComponent({
|
|
20
|
+
components: { VueJsonPretty },
|
|
21
|
+
props: {
|
|
22
|
+
data: {
|
|
23
|
+
required: false,
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
});
|
|
27
|
+
</script>
|
package/composables/classes.ts
CHANGED
|
@@ -16,6 +16,7 @@ class MenuItemConfig {
|
|
|
16
16
|
disabled?: ComputedRef;
|
|
17
17
|
color?: string;
|
|
18
18
|
show?: ComputedRef;
|
|
19
|
+
chip?: ChipComponent;
|
|
19
20
|
|
|
20
21
|
constructor(
|
|
21
22
|
id: any = null,
|
|
@@ -30,6 +31,7 @@ class MenuItemConfig {
|
|
|
30
31
|
disabled?: ComputedRef,
|
|
31
32
|
color?: string,
|
|
32
33
|
show?: ComputedRef,
|
|
34
|
+
chip?: ChipComponent,
|
|
33
35
|
) {
|
|
34
36
|
this.id = id;
|
|
35
37
|
this.title = title;
|
|
@@ -43,12 +45,13 @@ class MenuItemConfig {
|
|
|
43
45
|
this.disabled = disabled;
|
|
44
46
|
this.color = color;
|
|
45
47
|
this.show = show;
|
|
48
|
+
this.chip = chip;
|
|
46
49
|
}
|
|
47
50
|
}
|
|
48
51
|
|
|
49
52
|
export class MenuItem extends MenuItemConfig {
|
|
50
|
-
constructor({ id, title, link, hasLine, description, url, initial, icon, action, disabled, color, show }: MenuItemConfig = new MenuItemConfig()) {
|
|
51
|
-
super(id, title, link, hasLine, description, url, initial, icon, action, disabled, color, show);
|
|
53
|
+
constructor({ id, title, link, hasLine, description, url, initial, icon, action, disabled, color, show, chip }: MenuItemConfig = new MenuItemConfig()) {
|
|
54
|
+
super(id, title, link, hasLine, description, url, initial, icon, action, disabled, color, show, chip);
|
|
52
55
|
}
|
|
53
56
|
}
|
|
54
57
|
|
|
@@ -266,7 +269,7 @@ class Person {
|
|
|
266
269
|
const date = this.formatDate(this.birthDate);
|
|
267
270
|
if (date) {
|
|
268
271
|
const age = Math.abs(new Date(Date.now() - new Date(date).getTime()).getUTCFullYear() - 1970);
|
|
269
|
-
if (new Date(date) < new Date(Date.now()) && age
|
|
272
|
+
if (new Date(date) < new Date(Date.now()) && age >= 0) {
|
|
270
273
|
return age.toString();
|
|
271
274
|
}
|
|
272
275
|
} else {
|
|
@@ -356,6 +359,13 @@ export class Contragent extends Person {
|
|
|
356
359
|
}
|
|
357
360
|
|
|
358
361
|
export class Member extends Person {
|
|
362
|
+
response?: {
|
|
363
|
+
contragent?: any;
|
|
364
|
+
questionnaires?: any;
|
|
365
|
+
contacts?: any;
|
|
366
|
+
documents?: any;
|
|
367
|
+
addresses?: any;
|
|
368
|
+
};
|
|
359
369
|
verifyType: any;
|
|
360
370
|
verifyDate: any;
|
|
361
371
|
postIndex: string | null;
|
|
@@ -421,6 +431,7 @@ export class Member extends Person {
|
|
|
421
431
|
hasAgreement: boolean | null;
|
|
422
432
|
otpTokenId: string | null;
|
|
423
433
|
otpCode: string | null;
|
|
434
|
+
documentsList: UserDocument[];
|
|
424
435
|
constructor(
|
|
425
436
|
id = 0,
|
|
426
437
|
type = 1,
|
|
@@ -488,6 +499,7 @@ export class Member extends Person {
|
|
|
488
499
|
isNotary = false,
|
|
489
500
|
) {
|
|
490
501
|
super(id, type, iin, longName, lastName, firstName, middleName, birthDate, gender, genderName, birthPlace, age);
|
|
502
|
+
this.documentsList = [];
|
|
491
503
|
this.postIndex = null;
|
|
492
504
|
this.isPdl = false;
|
|
493
505
|
this.migrationCard = migrationCard;
|
|
@@ -679,7 +691,9 @@ export class ProductConditions {
|
|
|
679
691
|
annualIncome: string | null;
|
|
680
692
|
processIndexRate: Value;
|
|
681
693
|
requestedSumInsured: number | string | null;
|
|
694
|
+
requestedSumInsuredInDollar: number | string | null;
|
|
682
695
|
insurancePremiumPerMonth: number | string | null;
|
|
696
|
+
insurancePremiumPerMonthInDollar: number | string | null;
|
|
683
697
|
establishingGroupDisabilityFromThirdYear: string | null;
|
|
684
698
|
possibilityToChange: string | null;
|
|
685
699
|
deathOfInsuredDueToAccident: Value;
|
|
@@ -700,6 +714,12 @@ export class ProductConditions {
|
|
|
700
714
|
processTariff: Value;
|
|
701
715
|
riskGroup: Value;
|
|
702
716
|
riskGroup2: Value;
|
|
717
|
+
additionalConditionAnnuityPayments: boolean;
|
|
718
|
+
guaranteedPeriod: number | string | null;
|
|
719
|
+
typeAnnuityInsurance: Value;
|
|
720
|
+
termAnnuityPayments: number | string | null;
|
|
721
|
+
periodAnnuityPayment: Value;
|
|
722
|
+
amountAnnuityPayments: number | string | null;
|
|
703
723
|
constructor(
|
|
704
724
|
insuranceCase = null,
|
|
705
725
|
coverPeriod = null,
|
|
@@ -729,7 +749,15 @@ export class ProductConditions {
|
|
|
729
749
|
processTariff = new Value(),
|
|
730
750
|
riskGroup = new Value(),
|
|
731
751
|
riskGroup2 = new Value(),
|
|
752
|
+
additionalConditionAnnuityPayments = false,
|
|
753
|
+
guaranteedPeriod = null,
|
|
754
|
+
typeAnnuityInsurance = new Value(),
|
|
755
|
+
termAnnuityPayments = null,
|
|
756
|
+
periodAnnuityPayment = new Value(),
|
|
757
|
+
amountAnnuityPayments = null,
|
|
732
758
|
) {
|
|
759
|
+
this.requestedSumInsuredInDollar = null;
|
|
760
|
+
this.insurancePremiumPerMonthInDollar = null;
|
|
733
761
|
this.signDate = null;
|
|
734
762
|
this.birthDate = null;
|
|
735
763
|
this.gender = new Value();
|
|
@@ -761,12 +789,42 @@ export class ProductConditions {
|
|
|
761
789
|
this.processTariff = processTariff;
|
|
762
790
|
this.riskGroup = riskGroup;
|
|
763
791
|
this.riskGroup2 = riskGroup2;
|
|
792
|
+
this.additionalConditionAnnuityPayments = additionalConditionAnnuityPayments;
|
|
793
|
+
this.guaranteedPeriod = guaranteedPeriod;
|
|
794
|
+
this.typeAnnuityInsurance = typeAnnuityInsurance;
|
|
795
|
+
this.termAnnuityPayments = termAnnuityPayments;
|
|
796
|
+
this.periodAnnuityPayment = periodAnnuityPayment;
|
|
797
|
+
this.amountAnnuityPayments = amountAnnuityPayments;
|
|
798
|
+
}
|
|
799
|
+
}
|
|
800
|
+
|
|
801
|
+
export class MemberSettings {
|
|
802
|
+
has?: boolean;
|
|
803
|
+
isMultiple?: boolean;
|
|
804
|
+
required?: boolean;
|
|
805
|
+
limit?: number;
|
|
806
|
+
constructor(options?: { has?: boolean; isMultiple?: boolean; required?: boolean; limit?: number }) {
|
|
807
|
+
if (options) {
|
|
808
|
+
this.has = options.has;
|
|
809
|
+
this.isMultiple = options.isMultiple;
|
|
810
|
+
this.limit = options.limit;
|
|
811
|
+
if (this.has === true) {
|
|
812
|
+
this.required = options.required;
|
|
813
|
+
} else {
|
|
814
|
+
this.required = false;
|
|
815
|
+
}
|
|
816
|
+
}
|
|
764
817
|
}
|
|
765
818
|
}
|
|
766
819
|
|
|
767
820
|
export class DataStoreClass {
|
|
768
821
|
// IMP Контроллер фич
|
|
769
822
|
controls: {
|
|
823
|
+
// Cтавит значения по дефолту полям
|
|
824
|
+
setDefaults: {
|
|
825
|
+
sectorCode: boolean;
|
|
826
|
+
percentage: boolean;
|
|
827
|
+
};
|
|
770
828
|
// Проверка на роль при авторизации
|
|
771
829
|
onAuth: boolean;
|
|
772
830
|
// Согласие на главной странице
|
|
@@ -781,7 +839,19 @@ export class DataStoreClass {
|
|
|
781
839
|
hasInsis: boolean;
|
|
782
840
|
// Калькулятор без ввода данных
|
|
783
841
|
hasCalculator: boolean;
|
|
842
|
+
// Блок прикрепления к менеджеру
|
|
843
|
+
hasAttachment: boolean;
|
|
844
|
+
// Решение АС
|
|
845
|
+
hasAffiliation: boolean;
|
|
784
846
|
};
|
|
847
|
+
members: {
|
|
848
|
+
clientApp: MemberSettings;
|
|
849
|
+
insuredApp: MemberSettings;
|
|
850
|
+
beneficiaryApp: MemberSettings;
|
|
851
|
+
beneficialOwnerApp: MemberSettings;
|
|
852
|
+
spokesmanApp: MemberSettings;
|
|
853
|
+
};
|
|
854
|
+
iframeLoading: boolean;
|
|
785
855
|
hasLayoutMargins: boolean;
|
|
786
856
|
readonly product: string | null;
|
|
787
857
|
showNav: boolean;
|
|
@@ -791,6 +861,7 @@ export class DataStoreClass {
|
|
|
791
861
|
hasBack: boolean;
|
|
792
862
|
loading: boolean;
|
|
793
863
|
backIcon: string;
|
|
864
|
+
moreIcon: string;
|
|
794
865
|
onBack: any;
|
|
795
866
|
onLink: any;
|
|
796
867
|
selectedItem: MenuItem;
|
|
@@ -828,6 +899,7 @@ export class DataStoreClass {
|
|
|
828
899
|
documentIssuers: Value[];
|
|
829
900
|
familyStatuses: Value[];
|
|
830
901
|
relations: Value[];
|
|
902
|
+
insurancePay: Value[];
|
|
831
903
|
questionRefs: Value[];
|
|
832
904
|
residents: Value[];
|
|
833
905
|
ipdl: Value[];
|
|
@@ -840,9 +912,11 @@ export class DataStoreClass {
|
|
|
840
912
|
user: User;
|
|
841
913
|
accessToken: string | null = null;
|
|
842
914
|
refreshToken: string | null = null;
|
|
843
|
-
processCoverTypeSum:
|
|
844
|
-
processIndexRate:
|
|
845
|
-
processPaymentPeriod:
|
|
915
|
+
processCoverTypeSum: Value[];
|
|
916
|
+
processIndexRate: Value[];
|
|
917
|
+
processPaymentPeriod: Value[];
|
|
918
|
+
dicAnnuityTypeList: Value[];
|
|
919
|
+
processAnnuityPaymentPeriod: Value[];
|
|
846
920
|
taskList: TaskListItem[];
|
|
847
921
|
processHistory: TaskHistory[];
|
|
848
922
|
contragentList: any[];
|
|
@@ -851,13 +925,50 @@ export class DataStoreClass {
|
|
|
851
925
|
groupCode: string;
|
|
852
926
|
userGroups: Item[];
|
|
853
927
|
onMainPage: boolean;
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
riskGroup:
|
|
928
|
+
SaleChanellPolicy: Value[];
|
|
929
|
+
RegionPolicy: Value[];
|
|
930
|
+
ManagerPolicy: Value[];
|
|
931
|
+
AgentData: AgentData[];
|
|
932
|
+
riskGroup: Value[];
|
|
933
|
+
currencies: {
|
|
934
|
+
eur: number | null;
|
|
935
|
+
usd: number | null;
|
|
936
|
+
};
|
|
937
|
+
filters: {
|
|
938
|
+
show: (item: MenuItem) => boolean;
|
|
939
|
+
disabled: (item: MenuItem) => boolean;
|
|
940
|
+
};
|
|
859
941
|
constructor() {
|
|
942
|
+
this.filters = {
|
|
943
|
+
show: (item: MenuItem) => {
|
|
944
|
+
if (typeof item.show === 'boolean') {
|
|
945
|
+
return item.show;
|
|
946
|
+
}
|
|
947
|
+
return true;
|
|
948
|
+
},
|
|
949
|
+
disabled: (item: MenuItem) => {
|
|
950
|
+
if (typeof item.disabled === 'boolean') {
|
|
951
|
+
return item.disabled;
|
|
952
|
+
}
|
|
953
|
+
return false;
|
|
954
|
+
},
|
|
955
|
+
};
|
|
956
|
+
this.currencies = {
|
|
957
|
+
eur: null,
|
|
958
|
+
usd: null,
|
|
959
|
+
};
|
|
960
|
+
this.members = {
|
|
961
|
+
clientApp: new MemberSettings(),
|
|
962
|
+
insuredApp: new MemberSettings(),
|
|
963
|
+
beneficiaryApp: new MemberSettings(),
|
|
964
|
+
beneficialOwnerApp: new MemberSettings(),
|
|
965
|
+
spokesmanApp: new MemberSettings(),
|
|
966
|
+
};
|
|
860
967
|
this.controls = {
|
|
968
|
+
setDefaults: {
|
|
969
|
+
sectorCode: true,
|
|
970
|
+
percentage: true,
|
|
971
|
+
},
|
|
861
972
|
onAuth: false,
|
|
862
973
|
hasAnketa: true,
|
|
863
974
|
hasAgreement: true,
|
|
@@ -865,15 +976,20 @@ export class DataStoreClass {
|
|
|
865
976
|
hasGKB: false,
|
|
866
977
|
hasInsis: false,
|
|
867
978
|
hasCalculator: false,
|
|
979
|
+
hasAttachment: true,
|
|
980
|
+
hasAffiliation: true,
|
|
868
981
|
};
|
|
982
|
+
this.iframeLoading = false;
|
|
869
983
|
this.hasLayoutMargins = true;
|
|
870
984
|
this.processIndexRate = [];
|
|
871
985
|
this.processPaymentPeriod = [];
|
|
986
|
+
this.dicAnnuityTypeList = [];
|
|
987
|
+
this.processAnnuityPaymentPeriod = [];
|
|
872
988
|
this.questionRefs = [];
|
|
873
|
-
this.
|
|
874
|
-
this.
|
|
875
|
-
this.
|
|
876
|
-
this.
|
|
989
|
+
this.SaleChanellPolicy = [];
|
|
990
|
+
this.RegionPolicy = [];
|
|
991
|
+
this.ManagerPolicy = [];
|
|
992
|
+
this.AgentData = [];
|
|
877
993
|
this.product = import.meta.env.VITE_PRODUCT ? (import.meta.env.VITE_PRODUCT as string) : null;
|
|
878
994
|
this.showNav = true;
|
|
879
995
|
this.menuItems = [];
|
|
@@ -882,6 +998,7 @@ export class DataStoreClass {
|
|
|
882
998
|
hasBack: false,
|
|
883
999
|
loading: false,
|
|
884
1000
|
backIcon: 'mdi-arrow-left',
|
|
1001
|
+
moreIcon: 'mdi-dots-vertical',
|
|
885
1002
|
onBack: {},
|
|
886
1003
|
onLink: {},
|
|
887
1004
|
selectedItem: new MenuItem(),
|
|
@@ -924,6 +1041,7 @@ export class DataStoreClass {
|
|
|
924
1041
|
this.documentIssuers = [];
|
|
925
1042
|
this.familyStatuses = [];
|
|
926
1043
|
this.relations = [];
|
|
1044
|
+
this.insurancePay = [];
|
|
927
1045
|
this.residents = [];
|
|
928
1046
|
this.ipdl = [new Value(1, null), new Value(2, 'Да'), new Value(3, 'Нет')];
|
|
929
1047
|
this.economySectorCode = [];
|
|
@@ -949,27 +1067,36 @@ export class DataStoreClass {
|
|
|
949
1067
|
id: '1',
|
|
950
1068
|
nameKz: '',
|
|
951
1069
|
nameRu: '1',
|
|
952
|
-
|
|
1070
|
+
code: '',
|
|
1071
|
+
ids: '',
|
|
953
1072
|
},
|
|
954
1073
|
{
|
|
955
1074
|
id: '2',
|
|
956
1075
|
nameKz: '',
|
|
957
1076
|
nameRu: '2',
|
|
1077
|
+
code: '',
|
|
1078
|
+
ids: '',
|
|
958
1079
|
},
|
|
959
1080
|
{
|
|
960
1081
|
id: '3',
|
|
961
1082
|
nameKz: '',
|
|
962
1083
|
nameRu: '3',
|
|
1084
|
+
code: '',
|
|
1085
|
+
ids: '',
|
|
963
1086
|
},
|
|
964
1087
|
{
|
|
965
1088
|
id: '4',
|
|
966
1089
|
nameKz: '',
|
|
967
1090
|
nameRu: '4',
|
|
1091
|
+
code: '',
|
|
1092
|
+
ids: '',
|
|
968
1093
|
},
|
|
969
1094
|
{
|
|
970
1095
|
id: '5',
|
|
971
1096
|
nameKz: '',
|
|
972
1097
|
nameRu: '5',
|
|
1098
|
+
code: '',
|
|
1099
|
+
ids: '',
|
|
973
1100
|
},
|
|
974
1101
|
];
|
|
975
1102
|
}
|
|
@@ -980,32 +1107,34 @@ export class FormStoreClass {
|
|
|
980
1107
|
additionalInsuranceTermsWithout: AddCover[];
|
|
981
1108
|
signUrls: SignUrlType[];
|
|
982
1109
|
epayLink: string | null;
|
|
1110
|
+
invoiceData: EpayResponse | null;
|
|
983
1111
|
affilationResolution: {
|
|
984
1112
|
id: string | number | null;
|
|
985
1113
|
processInstanceId: string | number | null;
|
|
986
1114
|
number: string | number | null;
|
|
987
1115
|
date: string | number | null;
|
|
988
1116
|
};
|
|
1117
|
+
finCenterData: {
|
|
1118
|
+
processInstanceId: string | number | null;
|
|
1119
|
+
regNumber: string | number | null;
|
|
1120
|
+
date: string | number | null;
|
|
1121
|
+
};
|
|
989
1122
|
signedDocumentList: IDocument[];
|
|
990
1123
|
surveyByHealthBase: AnketaFirst | null;
|
|
1124
|
+
surveyByHealthBasePolicyholder: AnketaFirst | null;
|
|
991
1125
|
surveyByCriticalBase: AnketaFirst | null;
|
|
1126
|
+
surveyByCriticalBasePolicyholder: AnketaFirst | null;
|
|
992
1127
|
surveyByHealthSecond: AnketaSecond[] | null;
|
|
993
1128
|
surveyByCriticalSecond: AnketaSecond[] | null;
|
|
994
1129
|
definedAnswersId: {
|
|
995
1130
|
surveyByHealthBase: any;
|
|
996
1131
|
surveyByCriticalBase: any;
|
|
1132
|
+
surveyByHealthBasePolicyholder: any;
|
|
1133
|
+
surveyByCriticalBasePolicyholder: any;
|
|
997
1134
|
};
|
|
998
1135
|
birthInfos: BirthInfoGKB[];
|
|
999
1136
|
SaleChanellPolicy: Value;
|
|
1000
|
-
AgentData:
|
|
1001
|
-
agentId: null;
|
|
1002
|
-
manId: number;
|
|
1003
|
-
fullName: string;
|
|
1004
|
-
officeId: null;
|
|
1005
|
-
officeCode: null;
|
|
1006
|
-
saleChannel: string;
|
|
1007
|
-
managerName: string;
|
|
1008
|
-
};
|
|
1137
|
+
AgentData: AgentData;
|
|
1009
1138
|
RegionPolicy: Value;
|
|
1010
1139
|
ManagerPolicy: Value;
|
|
1011
1140
|
isDisabled: {
|
|
@@ -1036,6 +1165,7 @@ export class FormStoreClass {
|
|
|
1036
1165
|
beneficialOwnerApp?: any;
|
|
1037
1166
|
spokesmanApp?: any;
|
|
1038
1167
|
isTask?: boolean | null;
|
|
1168
|
+
policyAppDto?: any;
|
|
1039
1169
|
};
|
|
1040
1170
|
policyholderForm: PolicyholderForm;
|
|
1041
1171
|
policyholderFormKey: string;
|
|
@@ -1061,20 +1191,30 @@ export class FormStoreClass {
|
|
|
1061
1191
|
this.additionalInsuranceTermsWithout = [];
|
|
1062
1192
|
this.signUrls = [];
|
|
1063
1193
|
this.epayLink = null;
|
|
1194
|
+
this.invoiceData = null;
|
|
1064
1195
|
this.affilationResolution = {
|
|
1065
1196
|
id: null,
|
|
1066
1197
|
processInstanceId: null,
|
|
1067
1198
|
number: null,
|
|
1068
1199
|
date: null,
|
|
1069
1200
|
};
|
|
1201
|
+
this.finCenterData = {
|
|
1202
|
+
processInstanceId: null,
|
|
1203
|
+
regNumber: null,
|
|
1204
|
+
date: null,
|
|
1205
|
+
};
|
|
1070
1206
|
this.signedDocumentList = [];
|
|
1071
1207
|
this.surveyByHealthBase = null;
|
|
1208
|
+
this.surveyByHealthBasePolicyholder = null;
|
|
1072
1209
|
this.surveyByCriticalBase = null;
|
|
1210
|
+
this.surveyByCriticalBasePolicyholder = null;
|
|
1073
1211
|
this.surveyByHealthSecond = null;
|
|
1074
1212
|
this.surveyByCriticalSecond = null;
|
|
1075
1213
|
this.definedAnswersId = {
|
|
1076
1214
|
surveyByHealthBase: {},
|
|
1077
1215
|
surveyByCriticalBase: {},
|
|
1216
|
+
surveyByHealthBasePolicyholder: {},
|
|
1217
|
+
surveyByCriticalBasePolicyholder: {},
|
|
1078
1218
|
};
|
|
1079
1219
|
this.birthInfos = [];
|
|
1080
1220
|
this.SaleChanellPolicy = new Value();
|
package/composables/constants.ts
CHANGED
|
@@ -7,10 +7,13 @@ export const constants = Object.freeze({
|
|
|
7
7
|
bolashak: 8,
|
|
8
8
|
liferenta: 9,
|
|
9
9
|
gons: 10,
|
|
10
|
+
halykkazyna: 11,
|
|
10
11
|
},
|
|
11
12
|
|
|
12
13
|
editableStatuses: ['StartForm', 'EditBeneficiaryForm', 'EditForm'],
|
|
13
14
|
documentsLinkVisibleStatuses: ['DocumentsSignedFrom', 'UnderwriterForm', 'AffilationResolutionForm', 'Completed', 'InsurancePremiumOnlinePaid'],
|
|
15
|
+
returnStatementStatuses: ['DocumentsSignedFrom', 'ContractSignedFrom', 'WaitingInsurancePremiumForm', 'UnderwriterForm'],
|
|
16
|
+
cancelApplicationStatuses: ['StartForm', 'EditForm', 'EditBeneficiaryForm', 'WaitingInsurancePremiumForm', 'DocumentsSignedFrom', 'ContractSignedFrom'],
|
|
14
17
|
gbdErrors: ['INVALID', 'TIMEOUT', 'ERROR', 'NOT_FOUND'],
|
|
15
18
|
types: {
|
|
16
19
|
string: 'string',
|
|
@@ -26,7 +29,7 @@ export const constants = Object.freeze({
|
|
|
26
29
|
agentMycar: 'AgentMycar',
|
|
27
30
|
analyst: 'Analyst',
|
|
28
31
|
upk: 'UPK',
|
|
29
|
-
|
|
32
|
+
finCenter: 'FinCenter',
|
|
30
33
|
supervisor: 'Supervisor',
|
|
31
34
|
support: 'Support',
|
|
32
35
|
managerHalykBank: 'ManagerHalykBank',
|
|
@@ -41,6 +44,9 @@ export const constants = Object.freeze({
|
|
|
41
44
|
claim: 'claim',
|
|
42
45
|
sign: 'sign',
|
|
43
46
|
pay: 'pay',
|
|
47
|
+
register: 'register',
|
|
48
|
+
send: 'send',
|
|
49
|
+
affiliate: 'affiliate',
|
|
44
50
|
},
|
|
45
51
|
yearCases: [2, 0, 1, 1, 1, 2],
|
|
46
52
|
yearTitles: ['год', 'года', 'лет'],
|
|
@@ -54,6 +60,7 @@ export const constants = Object.freeze({
|
|
|
54
60
|
postActions: {
|
|
55
61
|
font: 'font',
|
|
56
62
|
route: 'route',
|
|
63
|
+
onRouteChange: 'onRouteChange',
|
|
57
64
|
applicationCreated: 'applicationCreated',
|
|
58
65
|
clipboard: 'clipboard',
|
|
59
66
|
toHomePage: 'toHomePage',
|
|
@@ -62,5 +69,10 @@ export const constants = Object.freeze({
|
|
|
62
69
|
DOMevent: 'DOMevent',
|
|
63
70
|
Error401: 'Error401',
|
|
64
71
|
Error500: 'Error500',
|
|
72
|
+
iframeLoaded: 'iframeLoaded',
|
|
73
|
+
},
|
|
74
|
+
currencySymbols: {
|
|
75
|
+
kzt: '₸',
|
|
76
|
+
usd: '$',
|
|
65
77
|
},
|
|
66
78
|
});
|