hl-core 0.0.9-beta.2 → 0.0.9-beta.4
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/components/Button/Btn.vue +1 -1
- package/components/Complex/ContentBlock.vue +1 -1
- package/components/Complex/MessageBlock.vue +1 -1
- package/components/Complex/Page.vue +7 -1
- package/components/Complex/WhiteBlock.vue +7 -0
- package/components/Dialog/Dialog.vue +2 -2
- package/components/Dialog/FamilyDialog.vue +5 -5
- package/components/Form/FormBlock.vue +25 -27
- 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 +5 -5
- package/components/Form/ProductConditionsBlock.vue +16 -16
- package/components/Input/EmptyFormField.vue +1 -1
- package/components/Layout/Header.vue +1 -1
- package/components/Layout/SettingsPanel.vue +5 -9
- package/components/List/ListEmpty.vue +1 -1
- package/components/Menu/MenuHover.vue +1 -1
- package/components/Menu/MenuNav.vue +1 -1
- package/components/Menu/MenuNavItem.vue +4 -4
- package/components/Pages/Anketa.vue +11 -16
- package/components/Pages/Auth.vue +9 -9
- package/components/Pages/ContragentForm.vue +426 -0
- package/components/Pages/Documents.vue +5 -5
- package/components/Pages/InvoiceInfo.vue +1 -1
- package/components/Pages/MemberForm.vue +14 -7
- package/components/Pages/ProductAgreement.vue +1 -3
- package/components/Pages/ProductConditions.vue +7 -12
- package/components/Panel/PanelHandler.vue +13 -13
- package/components/Panel/PanelSelectItem.vue +3 -3
- package/components/Utilities/IconBorder.vue +17 -0
- package/composables/classes.ts +5 -7
- package/composables/constants.ts +5 -0
- package/composables/index.ts +20 -4
- package/configs/i18n.ts +0 -2
- package/layouts/default.vue +2 -2
- package/layouts/full.vue +1 -1
- package/locales/ru.json +10 -1
- package/package.json +9 -20
- package/pages/500.vue +2 -2
- package/pages/Token.vue +1 -0
- package/plugins/helperFunctionsPlugins.ts +6 -4
- package/store/data.store.ts +46 -34
- package/types/index.ts +40 -26
- package/components/Button/BtnIcon.vue +0 -47
- package/locales/kz.json +0 -585
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<section v-if="sendingActions">
|
|
3
|
-
<div :class="[$
|
|
3
|
+
<div :class="[$styles.flexColNav]">
|
|
4
4
|
<v-form ref="vForm">
|
|
5
5
|
<base-rounded-input v-model.trim="actionCause" placeholder="Причина" :rules="$rules.required" />
|
|
6
6
|
</v-form>
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
</div>
|
|
9
9
|
</section>
|
|
10
10
|
<section v-if="acceptAction">
|
|
11
|
-
<div :class="[$
|
|
11
|
+
<div :class="[$styles.flexColNav]">
|
|
12
12
|
<base-content-block v-if="hasConditionsInfo" class="flex flex-col gap-3">
|
|
13
13
|
<span
|
|
14
14
|
>{{ `Сумма страховой премии ${paymentPeriod}:` }} <b>{{ `${insurancePremiumPerMonth}₸` }}</b></span
|
|
@@ -18,21 +18,21 @@
|
|
|
18
18
|
</span>
|
|
19
19
|
</base-content-block>
|
|
20
20
|
<base-btn :text="$dataStore.t('confirm.yes')" @click="handleTask" />
|
|
21
|
-
<base-btn :btn="$
|
|
21
|
+
<base-btn :btn="$styles.blueLightBtn" :text="$dataStore.t('confirm.no')" @click="closePanel" />
|
|
22
22
|
</div>
|
|
23
23
|
</section>
|
|
24
24
|
<section v-if="signingActions" class="relative">
|
|
25
25
|
<div>
|
|
26
26
|
<base-fade-transition>
|
|
27
|
-
<div v-if="!isSendNumberOpen" :class="[$
|
|
28
|
-
<div :class="[$
|
|
27
|
+
<div v-if="!isSendNumberOpen" :class="[$styles.flexColNav]">
|
|
28
|
+
<div :class="[$styles.blueBgLight]" class="rounded-lg p-4">
|
|
29
29
|
<v-expansion-panels v-if="formStore.signUrls && formStore.signUrls.length" variant="accordion" multiple>
|
|
30
30
|
<v-expansion-panel v-for="signUrl of formStore.signUrls" :key="signUrl.iin!" class="border-[1px]" elevation="0" bg-color="#FFF">
|
|
31
|
-
<v-expansion-panel-title class="h-[80px]" :class="$
|
|
31
|
+
<v-expansion-panel-title class="h-[80px]" :class="$styles.textTitle">{{ `${signUrl.longName} - ${signUrl.iin}` }}</v-expansion-panel-title>
|
|
32
32
|
<v-expansion-panel-text class="border-t-[1px]">
|
|
33
|
-
<section class="flex flex-col gap-4 py-3" :class="$
|
|
33
|
+
<section class="flex flex-col gap-4 py-3" :class="$styles.textSimple">
|
|
34
34
|
<base-btn :loading="loading" :text="$dataStore.t('sign.copyCloud')" @click="$dataStore.copyToClipboard(signUrl.uri)" />
|
|
35
|
-
<base-btn :loading="loading" :btn="$
|
|
35
|
+
<base-btn :loading="loading" :btn="$styles.blueLightBtn" :text="$dataStore.t('sign.recipientNumber')" @click="openSmsPanel(signUrl)" />
|
|
36
36
|
</section>
|
|
37
37
|
</v-expansion-panel-text>
|
|
38
38
|
</v-expansion-panel>
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
<base-list-empty v-else />
|
|
41
41
|
</div>
|
|
42
42
|
</div>
|
|
43
|
-
<div v-if="isSendNumberOpen" :class="[$
|
|
43
|
+
<div v-if="isSendNumberOpen" :class="[$styles.flexColNav]">
|
|
44
44
|
<i
|
|
45
45
|
class="mdi mdi-arrow-left cursor-pointer absolute text-xl left-0 top-0 rounded-br-full bg-white border-[1px] pb-3 pt-1 pl-1 pr-3"
|
|
46
46
|
@click="isSendNumberOpen = false"
|
|
@@ -64,11 +64,11 @@
|
|
|
64
64
|
<section v-if="payingActions" class="relative">
|
|
65
65
|
<div>
|
|
66
66
|
<base-fade-transition>
|
|
67
|
-
<div v-if="!isSendNumberOpen" :class="[$
|
|
67
|
+
<div v-if="!isSendNumberOpen" :class="[$styles.flexColNav]">
|
|
68
68
|
<base-btn :loading="loading" :text="$dataStore.t('payment.copyUrl')" @click="$dataStore.copyToClipboard(formStore.epayLink)" />
|
|
69
|
-
<base-btn :loading="loading" :btn="$
|
|
69
|
+
<base-btn :loading="loading" :btn="$styles.blueLightBtn" :text="$dataStore.t('payment.recipientNumber')" @click="openEpayPanel" />
|
|
70
70
|
</div>
|
|
71
|
-
<div v-if="isSendNumberOpen" :class="[$
|
|
71
|
+
<div v-if="isSendNumberOpen" :class="[$styles.flexColNav]">
|
|
72
72
|
<i
|
|
73
73
|
class="mdi mdi-arrow-left cursor-pointer absolute text-xl left-0 top-0 rounded-br-full bg-white border-[1px] pb-3 pt-1 pl-1 pr-3"
|
|
74
74
|
@click="isSendNumberOpen = false"
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
</div>
|
|
91
91
|
</section>
|
|
92
92
|
<section v-if="affiliateActions">
|
|
93
|
-
<div :class="[$
|
|
93
|
+
<div :class="[$styles.flexColNav]">
|
|
94
94
|
<v-form ref="vForm">
|
|
95
95
|
<base-content-block class="flex flex-col gap-3">
|
|
96
96
|
<base-form-input v-model.trim="formStore.affilationResolution.number" :rules="$rules.required" :label="$dataStore.t('form.documentNumber')" />
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div class="flex justify-between p-4 items-center cursor-pointer" :class="[$
|
|
3
|
-
<span :class="[$
|
|
4
|
-
<i class="mdi text-xl" :class="[selected ? `mdi-radiobox-marked ${$
|
|
2
|
+
<div class="flex justify-between p-4 items-center cursor-pointer" :class="[$styles.rounded, $styles.blueBgLight, $styles.blueBgLightHover]">
|
|
3
|
+
<span :class="[$styles.textSimple]">{{ text }}</span>
|
|
4
|
+
<i class="mdi text-xl" :class="[selected ? `mdi-radiobox-marked ${$styles.greenText}` : 'mdi-radiobox-blank text-[#636363]']"></i>
|
|
5
5
|
</div>
|
|
6
6
|
</template>
|
|
7
7
|
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="border-[1px] border-[#F1F2F6] rounded-[12px] p-[10px]">
|
|
3
|
+
<slot v-if="!icon"></slot>
|
|
4
|
+
<i v-else :class="icon"></i>
|
|
5
|
+
</div>
|
|
6
|
+
</template>
|
|
7
|
+
|
|
8
|
+
<script lang="ts">
|
|
9
|
+
export default defineComponent({
|
|
10
|
+
props: {
|
|
11
|
+
icon: {
|
|
12
|
+
type: String,
|
|
13
|
+
default: '',
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
});
|
|
17
|
+
</script>
|
package/composables/classes.ts
CHANGED
|
@@ -405,11 +405,11 @@ export class Member extends Person {
|
|
|
405
405
|
registrationRegion: Value;
|
|
406
406
|
registrationRegionType: Value;
|
|
407
407
|
registrationCity: Value;
|
|
408
|
-
registrationQuarter
|
|
409
|
-
registrationMicroDistrict
|
|
410
|
-
registrationStreet
|
|
411
|
-
registrationNumberHouse
|
|
412
|
-
registrationNumberApartment
|
|
408
|
+
registrationQuarter?: string | null;
|
|
409
|
+
registrationMicroDistrict?: string | null;
|
|
410
|
+
registrationStreet?: string | null;
|
|
411
|
+
registrationNumberHouse?: string | null;
|
|
412
|
+
registrationNumberApartment?: string | null;
|
|
413
413
|
birthRegion: Value;
|
|
414
414
|
documentType: Value;
|
|
415
415
|
documentNumber: string | null;
|
|
@@ -891,7 +891,6 @@ export class DataStoreClass {
|
|
|
891
891
|
user: User;
|
|
892
892
|
accessToken: string | null = null;
|
|
893
893
|
refreshToken: string | null = null;
|
|
894
|
-
processCoverTypeSum: Value[];
|
|
895
894
|
processIndexRate: Value[];
|
|
896
895
|
processPaymentPeriod: Value[];
|
|
897
896
|
dicAnnuityTypeList: Value[];
|
|
@@ -1031,7 +1030,6 @@ export class DataStoreClass {
|
|
|
1031
1030
|
this.user = new User();
|
|
1032
1031
|
this.accessToken = null;
|
|
1033
1032
|
this.refreshToken = null;
|
|
1034
|
-
this.processCoverTypeSum = [];
|
|
1035
1033
|
this.taskList = [];
|
|
1036
1034
|
this.processHistory = [];
|
|
1037
1035
|
this.contragentList = [];
|
package/composables/constants.ts
CHANGED
|
@@ -9,6 +9,11 @@ export const constants = Object.freeze({
|
|
|
9
9
|
liferenta: 9,
|
|
10
10
|
gons: 10,
|
|
11
11
|
halykkazyna: 11,
|
|
12
|
+
lifebusiness: 14,
|
|
13
|
+
},
|
|
14
|
+
amlProducts: {
|
|
15
|
+
checkcontragent: 1,
|
|
16
|
+
checkcontract: 2,
|
|
12
17
|
},
|
|
13
18
|
editableStatuses: [Statuses.StartForm, Statuses.EditBeneficiaryForm, Statuses.EditForm],
|
|
14
19
|
documentsLinkVisibleStatuses: [
|
package/composables/index.ts
CHANGED
|
@@ -229,13 +229,19 @@ export const setAddressBeneficiary = (whichIndex: number, sameAddress: boolean)
|
|
|
229
229
|
} else {
|
|
230
230
|
if (beneficiary.response && beneficiary.response.addresses && beneficiary.response.addresses.length) {
|
|
231
231
|
const benAddress = beneficiary.response.addresses;
|
|
232
|
-
const
|
|
233
|
-
const
|
|
232
|
+
const countryName = benAddress[0].countryName;
|
|
233
|
+
const cityName = benAddress[0].cityName;
|
|
234
|
+
if (countryName) {
|
|
235
|
+
const country = dataStore.countries.find(i => (i.nameRu as string).match(new RegExp(countryName, 'i')));
|
|
236
|
+
beneficiary.registrationCountry = country ?? new Value();
|
|
237
|
+
}
|
|
238
|
+
if (cityName) {
|
|
239
|
+
const city = dataStore.cities.find(i => i.nameRu === cityName.replace('г.', ''));
|
|
240
|
+
beneficiary.registrationCity = city ?? new Value();
|
|
241
|
+
}
|
|
234
242
|
const province = dataStore.states.find(i => i.ids === benAddress[0].stateCode);
|
|
235
243
|
const localityType = dataStore.localityTypes.find(i => i.nameRu === benAddress[0].cityTypeName);
|
|
236
244
|
const region = dataStore.regions.find(i => i.ids == benAddress[0].regionCode);
|
|
237
|
-
beneficiary.registrationCountry = country ?? new Value();
|
|
238
|
-
beneficiary.registrationCity = city ?? new Value();
|
|
239
245
|
beneficiary.registrationMicroDistrict = beneficiary.response?.addresses[0].microRaion ?? '';
|
|
240
246
|
beneficiary.registrationNumberApartment = beneficiary.response?.addresses[0].apartmentNumber ?? '';
|
|
241
247
|
beneficiary.registrationNumberHouse = beneficiary.response?.addresses[0].blockNumber ?? '';
|
|
@@ -248,3 +254,13 @@ export const setAddressBeneficiary = (whichIndex: number, sameAddress: boolean)
|
|
|
248
254
|
}
|
|
249
255
|
}
|
|
250
256
|
};
|
|
257
|
+
|
|
258
|
+
export const changeBridge = async (toBridge: 'efo' | 'lka', token: string) => {
|
|
259
|
+
const bridgeUrl = import.meta.env[`VITE_${toBridge.toUpperCase()}_URL`] as string;
|
|
260
|
+
if (!toBridge) return;
|
|
261
|
+
if (!bridgeUrl || !token) {
|
|
262
|
+
useDataStore().showToaster('error', `${useDataStore().t('toaster.noUrl')} [import.meta.env.VITE_${toBridge.toUpperCase()}_URL]`);
|
|
263
|
+
return;
|
|
264
|
+
}
|
|
265
|
+
window.open(`${bridgeUrl}/#/Token?token=${token}`, '_blank');
|
|
266
|
+
};
|
package/configs/i18n.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { createI18n } from 'vue-i18n';
|
|
2
2
|
import ru from '../locales/ru.json';
|
|
3
|
-
import kz from '../locales/kz.json';
|
|
4
3
|
|
|
5
4
|
const instance = createI18n({
|
|
6
5
|
legacy: false,
|
|
@@ -8,7 +7,6 @@ const instance = createI18n({
|
|
|
8
7
|
locale: 'ru',
|
|
9
8
|
messages: {
|
|
10
9
|
ru,
|
|
11
|
-
kz,
|
|
12
10
|
},
|
|
13
11
|
});
|
|
14
12
|
|
package/layouts/default.vue
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="h-full z-[1]" :class="[$dataStore.hasLayoutMargins ? 'lg:mx-[22px] lg:my-[33px] lg:shadow-xl' : '']">
|
|
3
|
-
<div :class="[$
|
|
4
|
-
<section class="flex h-full" :class="$
|
|
3
|
+
<div :class="[$styles.greenBg]" class="hidden z-[-1] lg:block absolute left-0 top-0 h-[200px] w-full"></div>
|
|
4
|
+
<section class="flex h-full" :class="$styles.blueBgLight">
|
|
5
5
|
<base-menu-nav
|
|
6
6
|
v-if="$dataStore.showNav"
|
|
7
7
|
:selected="$dataStore.menu.selectedItem"
|
package/layouts/full.vue
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="h-full z-[1]" :class="[$dataStore.hasLayoutMargins ? 'lg:mx-[22px] lg:my-[33px] lg:shadow-xl' : '']">
|
|
3
|
-
<div :class="[$
|
|
3
|
+
<div :class="[$styles.greenBg]" class="hidden lg:block absolute z-[-1] left-0 top-0 h-[200px] w-full"></div>
|
|
4
4
|
<slot></slot>
|
|
5
5
|
</div>
|
|
6
6
|
</template>
|
package/locales/ru.json
CHANGED
|
@@ -305,12 +305,16 @@
|
|
|
305
305
|
"report": "Отчет",
|
|
306
306
|
"notifications": "Уведомления",
|
|
307
307
|
"support": "Тех. поддержка",
|
|
308
|
+
"makePolicy": "Заключить полис",
|
|
309
|
+
"done": "Оформлено",
|
|
310
|
+
"noChildAgents": "Отсутствуют суб-агенты",
|
|
308
311
|
"agentsInfo": "Сведения о страховых агентах",
|
|
312
|
+
"personalData": "Личные данные",
|
|
309
313
|
"info": "Данные об агенте",
|
|
310
314
|
"about": "Сведения об Агенте",
|
|
311
315
|
"level": "Уровень",
|
|
312
316
|
"subAgents": "Суб-агенты",
|
|
313
|
-
"
|
|
317
|
+
"doneStatements": "Оформлено договоров",
|
|
314
318
|
"myContracts": "Оформлено договоров",
|
|
315
319
|
"nextLevel": "Следующий уровень {text}",
|
|
316
320
|
"leftMy": "Осталось оформить лично",
|
|
@@ -393,6 +397,11 @@
|
|
|
393
397
|
"dicts": "Справочники",
|
|
394
398
|
"aml": "AML",
|
|
395
399
|
"amlLong": "Противодействие отмыву денег",
|
|
400
|
+
"checkContract": "Присвоение уровня риска",
|
|
401
|
+
"checkContragent": "Проверка Контрагента",
|
|
402
|
+
"riskPoint": "Уровень риска",
|
|
403
|
+
"comment": "Комментарий",
|
|
404
|
+
"matchWith": "Совпадение по",
|
|
396
405
|
"efoLong": "Единое фронтальное окно",
|
|
397
406
|
"efo": "ЕФО",
|
|
398
407
|
"lkaLong": "Личный кабинет Агента",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hl-core",
|
|
3
|
-
"version": "0.0.9-beta.
|
|
3
|
+
"version": "0.0.9-beta.4",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"private": false,
|
|
6
6
|
"main": "nuxt.config.ts",
|
|
@@ -28,27 +28,16 @@
|
|
|
28
28
|
"dev": "nuxt dev",
|
|
29
29
|
"generate": "nuxt generate",
|
|
30
30
|
"preview": "nuxt preview",
|
|
31
|
+
"tk:all": "cd .. && cd baiterek && yarn typecheck && cd .. && cd bolashak && yarn typecheck && cd .. && cd calculator && yarn typecheck && cd .. && cd efo && yarn typecheck && cd .. && cd gons && yarn typecheck && cd .. && cd kazyna && yarn typecheck && cd .. && cd lifebusiness && yarn typecheck && cd .. && cd liferenta && yarn typecheck && cd .. && cd core",
|
|
32
|
+
"i:all": "cd .. && cd baiterek && yarn && cd .. && cd bolashak && yarn && cd .. && cd calculator && yarn && cd .. && cd efo && yarn && cd .. && cd gons && yarn && cd .. && cd kazyna && yarn && cd .. && cd lifebusiness && yarn && cd .. && cd liferenta && yarn && cd .. && cd core",
|
|
31
33
|
"update:core": "git checkout -b %npm_package_version% && git add . && git commit -m \"%npm_package_version%\" && git push && git checkout main",
|
|
32
|
-
"update:aml": "cd
|
|
33
|
-
"update:baiterek": "cd .. && cd baiterek && yarn && git checkout -b %npm_package_version% && git add . && git commit -m \"%npm_package_version%\" && git push && git checkout main && cd .. && cd core",
|
|
34
|
-
"update:bolashak": "cd .. && cd bolashak && yarn && git checkout -b %npm_package_version% && git add . && git commit -m \"%npm_package_version%\" && git push && git checkout main && cd .. && cd core",
|
|
35
|
-
"update:calculator": "cd .. && cd calculator && yarn && git checkout -b %npm_package_version% && git add . && git commit -m \"%npm_package_version%\" && git push && git checkout main && cd .. && cd core",
|
|
36
|
-
"update:efo": "cd .. && cd efo && yarn && git checkout -b %npm_package_version% && git add . && git commit -m \"%npm_package_version%\" && git push && git checkout main && cd .. && cd core",
|
|
37
|
-
"update:gons": "cd .. && cd gons && yarn && git checkout -b %npm_package_version% && git add . && git commit -m \"%npm_package_version%\" && git push && git checkout main && cd .. && cd core",
|
|
38
|
-
"update:kazyna": "cd .. && cd kazyna && yarn && git checkout -b %npm_package_version% && git add . && git commit -m \"%npm_package_version%\" && git push && git checkout main && cd .. && cd core",
|
|
39
|
-
"update:liferenta": "cd .. && cd liferenta && yarn && git checkout -b %npm_package_version% && git add . && git commit -m \"%npm_package_version%\" && git push && git checkout main && cd .. && cd core",
|
|
34
|
+
"update:aml": "cd ../../aml/aml && yarn && cd ../checkcontract && yarn && cd ../checkcontragent && yarn && cd.. && git checkout -b %npm_package_version% && git add . && git commit -m \"%npm_package_version%\" && git push && git checkout main && cd ../efo/core",
|
|
40
35
|
"update:lka": "cd .. && cd lka && yarn && git checkout -b %npm_package_version% && git add . && git commit -m \"%npm_package_version%\" && git push && git checkout main && cd .. && cd core",
|
|
41
|
-
"update:all": "yarn update:aml && yarn update:
|
|
42
|
-
"pull:
|
|
43
|
-
"pull:
|
|
44
|
-
"pull:
|
|
45
|
-
"pull:
|
|
46
|
-
"pull:efo": "cd .. && cd efo && git pull && cd .. && cd core",
|
|
47
|
-
"pull:gons": "cd .. && cd gons && git pull && cd .. && cd core",
|
|
48
|
-
"pull:kazyna": "cd .. && cd kazyna && git pull && cd .. && cd core",
|
|
49
|
-
"pull:liferenta": "cd .. && cd liferenta && git pull && cd .. && cd core",
|
|
50
|
-
"pull:lka": "cd .. && cd lka && git pull && cd .. && cd core",
|
|
51
|
-
"pull:all": "cd .. && cd aml && git pull && cd .. && cd baiterek && git pull && cd .. && cd bolashak && git pull && cd .. && cd calculator && git pull && cd .. && cd efo && git pull && cd .. && cd gons && git pull && cd .. && cd kazyna && git pull && cd .. && cd liferenta && git pull && cd .. && cd lka && git pull && cd ..",
|
|
36
|
+
"update:all": "yarn update:aml && yarn update:lka",
|
|
37
|
+
"pull:core": "git pull && git fetch",
|
|
38
|
+
"pull:aml": "cd ../../aml && git pull && cd ../efo/core",
|
|
39
|
+
"pull:lka": "cd ../../lka && git pull && cd ../efo/core",
|
|
40
|
+
"pull:all": "yarn pull:core && yarn pull:aml && yarn pull:lka",
|
|
52
41
|
"typecheck": "nuxt typecheck"
|
|
53
42
|
},
|
|
54
43
|
"devDependencies": {
|
package/pages/500.vue
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<base-content class="!w-full flex-col justify-center items-center gap-[100px]" :class="[$
|
|
2
|
+
<base-content class="!w-full flex-col justify-center items-center gap-[100px]" :class="[$styles.blueBgLight]">
|
|
3
3
|
<svg class="w-[240px] lg:w-[330px]" draggable="false" width="277" height="99" viewBox="0 0 277 99" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
4
4
|
<path
|
|
5
5
|
fill-rule="evenodd"
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
/>
|
|
40
40
|
</svg>
|
|
41
41
|
<div class="text-center">
|
|
42
|
-
<h2 :class="[$
|
|
42
|
+
<h2 :class="[$styles.blackText]" class="text-[26px] leading-5 mb-5">Сервис временно не доступен</h2>
|
|
43
43
|
<p v-if="errorStack.length" class="mt-4 flex flex-col">
|
|
44
44
|
<span v-for="(error, index) of errorStack" :key="error">
|
|
45
45
|
<i v-if="index !== 0" class="mdi mdi-arrow-right"></i>
|
package/pages/Token.vue
CHANGED
|
@@ -16,12 +16,14 @@ export default defineNuxtPlugin(nuxtApp => {
|
|
|
16
16
|
|
|
17
17
|
return {
|
|
18
18
|
provide: {
|
|
19
|
-
|
|
20
|
-
getFullNameShorted: getFullNameShorted,
|
|
21
|
-
libStyles: new Styles(),
|
|
19
|
+
env: useEnv(),
|
|
22
20
|
maska: new Masks(),
|
|
23
|
-
|
|
21
|
+
styles: new Styles(),
|
|
24
22
|
constants: constants,
|
|
23
|
+
capitalize: capitalize,
|
|
24
|
+
display: useDisplayInfo,
|
|
25
|
+
reformatIin: reformatIin,
|
|
26
|
+
getFullNameShorted: getFullNameShorted,
|
|
25
27
|
},
|
|
26
28
|
};
|
|
27
29
|
});
|
package/store/data.store.ts
CHANGED
|
@@ -39,12 +39,14 @@ export const useDataStore = defineStore('data', {
|
|
|
39
39
|
isBaiterek: state => state.product === 'baiterek',
|
|
40
40
|
isBolashak: state => state.product === 'bolashak',
|
|
41
41
|
isMycar: state => state.product === 'mycar',
|
|
42
|
+
isLifeBusiness: state => state.product === 'lifebusiness',
|
|
42
43
|
isLifetrip: state => state.product === 'lifetrip',
|
|
43
44
|
isLiferenta: state => state.product === 'liferenta',
|
|
44
45
|
isGons: state => state.product === 'gons',
|
|
45
46
|
isKazyna: state => state.product === 'halykkazyna',
|
|
46
47
|
isCalculator: state => state.product === 'calculator',
|
|
47
|
-
|
|
48
|
+
isCheckContract: state => state.product === 'checkcontract',
|
|
49
|
+
isCheckContragent: state => state.product === 'checkcontragent',
|
|
48
50
|
isEveryFormDisabled: state => Object.values(state.formStore.isDisabled).every(i => i === true),
|
|
49
51
|
hasClientAnketa: state => state.formStore.additionalInsuranceTerms.find(i => i.coverTypeCode === 10),
|
|
50
52
|
isClientAnketaCondition: state =>
|
|
@@ -478,12 +480,15 @@ export const useDataStore = defineStore('data', {
|
|
|
478
480
|
}
|
|
479
481
|
if ('address' in user && user.address && user.address.length) {
|
|
480
482
|
const userAddress = user.address[0];
|
|
481
|
-
const
|
|
483
|
+
const countryName = userAddress.countryName;
|
|
484
|
+
if (countryName) {
|
|
485
|
+
const country = this.countries.find(i => i.nameRu?.match(new RegExp(countryName, 'i')));
|
|
486
|
+
member.registrationCountry = country ? country : new Value();
|
|
487
|
+
}
|
|
482
488
|
const province = this.states.find(i => i.ids === userAddress.stateCode);
|
|
483
489
|
const localityType = this.localityTypes.find(i => i.nameRu === userAddress.cityTypeName);
|
|
484
490
|
const city = this.cities.find(i => !!userAddress.cityName && i.nameRu === userAddress.cityName.replace('г.', ''));
|
|
485
491
|
const region = this.regions.find(i => !!userAddress.regionCode && i.ids == userAddress.regionCode);
|
|
486
|
-
member.registrationCountry = country ? country : new Value();
|
|
487
492
|
member.registrationStreet = userAddress.streetName;
|
|
488
493
|
member.registrationCity = city ? city : new Value();
|
|
489
494
|
member.registrationNumberApartment = userAddress.apartmentNumber;
|
|
@@ -582,7 +587,7 @@ export const useDataStore = defineStore('data', {
|
|
|
582
587
|
this.contragentList = [];
|
|
583
588
|
}
|
|
584
589
|
},
|
|
585
|
-
async saveContragent(user: Member, whichForm: keyof typeof StoreMembers, whichIndex: number | null, onlySaveAction: boolean = true) {
|
|
590
|
+
async saveContragent(user: Member, whichForm: keyof typeof StoreMembers | 'contragent', whichIndex: number | null, onlySaveAction: boolean = true) {
|
|
586
591
|
this.isLoading = !onlySaveAction;
|
|
587
592
|
const hasInsisId = await this.alreadyInInsis(user);
|
|
588
593
|
if (typeof hasInsisId === 'number') {
|
|
@@ -636,7 +641,7 @@ export const useDataStore = defineStore('data', {
|
|
|
636
641
|
}))(user);
|
|
637
642
|
const questionariesData: ContragentQuestionaries[] = Object.values(userQuestionnaires).map(question => {
|
|
638
643
|
let questName = '';
|
|
639
|
-
let questionId = parseInt(
|
|
644
|
+
let questionId = parseInt(question.ids as string).toString();
|
|
640
645
|
if (questionId === '500003') {
|
|
641
646
|
questName = 'Код сектора экономики';
|
|
642
647
|
} else if (questionId === '500011') {
|
|
@@ -659,11 +664,11 @@ export const useDataStore = defineStore('data', {
|
|
|
659
664
|
user.addTaxResidency = new Value();
|
|
660
665
|
}
|
|
661
666
|
const addTaxResidency = userResponseQuestionnaires !== null ? userResponseQuestionnaires.find(i => i.questId === '507777') : undefined;
|
|
662
|
-
if (user.addTaxResidency.nameRu !== null) {
|
|
667
|
+
if (user.addTaxResidency.nameRu !== null && user.addTaxResidency.ids) {
|
|
663
668
|
questionariesData.push({
|
|
664
669
|
id: addTaxResidency ? addTaxResidency.id : 0,
|
|
665
670
|
contragentId: Number(user.id),
|
|
666
|
-
questAnswer:
|
|
671
|
+
questAnswer: user.addTaxResidency.ids,
|
|
667
672
|
questAnswerName: user.addTaxResidency.nameRu,
|
|
668
673
|
questName: 'Указать если налоговое резиденство выбрано другое',
|
|
669
674
|
questId: '507777',
|
|
@@ -735,7 +740,7 @@ export const useDataStore = defineStore('data', {
|
|
|
735
740
|
issuerNameRu: user.documentIssuers.nameRu,
|
|
736
741
|
note: null,
|
|
737
742
|
number: user.documentNumber,
|
|
738
|
-
type: user.documentType.ids ?
|
|
743
|
+
type: user.documentType.ids ? (user.documentType.ids as string) : undefined,
|
|
739
744
|
typeName: user.documentType.nameRu,
|
|
740
745
|
serial: null,
|
|
741
746
|
verifyType: user.verifyType,
|
|
@@ -753,13 +758,13 @@ export const useDataStore = defineStore('data', {
|
|
|
753
758
|
addressData.push({
|
|
754
759
|
id: userResponseAddress !== null ? userResponseAddress[0].id : 0,
|
|
755
760
|
contragentId: Number(user.id),
|
|
756
|
-
countryCode:
|
|
761
|
+
countryCode: user.registrationCountry.ids ?? undefined,
|
|
757
762
|
countryName: user.registrationCountry.nameRu ?? '',
|
|
758
|
-
stateCode:
|
|
763
|
+
stateCode: user.registrationProvince.ids ?? undefined,
|
|
759
764
|
stateName: user.registrationProvince.nameRu ?? '',
|
|
760
|
-
cityCode:
|
|
765
|
+
cityCode: user.registrationCity.code ?? undefined,
|
|
761
766
|
cityName: user.registrationCity.nameRu ?? '',
|
|
762
|
-
regionCode:
|
|
767
|
+
regionCode: user.registrationRegion.ids ?? undefined,
|
|
763
768
|
regionName: user.registrationRegion.nameRu,
|
|
764
769
|
streetName: user.registrationStreet ?? '',
|
|
765
770
|
kvartal: user.registrationQuarter,
|
|
@@ -784,8 +789,12 @@ export const useDataStore = defineStore('data', {
|
|
|
784
789
|
|
|
785
790
|
const personId = await this.api.saveContragent(data);
|
|
786
791
|
if (personId > 0) {
|
|
787
|
-
|
|
788
|
-
|
|
792
|
+
if (this.isLKA || whichForm === 'contragent') {
|
|
793
|
+
return personId;
|
|
794
|
+
} else {
|
|
795
|
+
await this.getContragentById(personId, whichForm, false, whichIndex);
|
|
796
|
+
user.otpTokenId = null;
|
|
797
|
+
}
|
|
789
798
|
} else {
|
|
790
799
|
return false;
|
|
791
800
|
}
|
|
@@ -942,9 +951,9 @@ export const useDataStore = defineStore('data', {
|
|
|
942
951
|
payPeriod: this.formStore.productConditionsForm.coverPeriod,
|
|
943
952
|
annualIncome: this.formStore.productConditionsForm.annualIncome ? Number(this.formStore.productConditionsForm.annualIncome.replace(/\s/g, '')) : null,
|
|
944
953
|
indexRateId: this.formStore.productConditionsForm.processIndexRate?.id
|
|
945
|
-
?
|
|
946
|
-
:
|
|
947
|
-
paymentPeriodId:
|
|
954
|
+
? this.formStore.productConditionsForm.processIndexRate.id ?? undefined
|
|
955
|
+
: this.processIndexRate.find(i => i.code === '0')?.id ?? undefined,
|
|
956
|
+
paymentPeriodId: this.formStore.productConditionsForm.paymentPeriod.id ?? undefined,
|
|
948
957
|
lifeMultiply: formatProcents(this.formStore.productConditionsForm.lifeMultiply ?? ''),
|
|
949
958
|
lifeAdditive: formatProcents(this.formStore.productConditionsForm.lifeAdditive ?? ''),
|
|
950
959
|
adbMultiply: formatProcents(this.formStore.productConditionsForm.adbMultiply ?? ''),
|
|
@@ -962,9 +971,9 @@ export const useDataStore = defineStore('data', {
|
|
|
962
971
|
}
|
|
963
972
|
if (this.isLiferenta) {
|
|
964
973
|
conditionsData.policyAppDto.guaranteedPaymentPeriod = this.formStore.productConditionsForm.guaranteedPeriod || 0;
|
|
965
|
-
conditionsData.policyAppDto.annuityTypeId =
|
|
974
|
+
conditionsData.policyAppDto.annuityTypeId = (this.formStore.productConditionsForm.typeAnnuityInsurance.id as string) ?? undefined;
|
|
966
975
|
conditionsData.policyAppDto.paymentPeriod = Number(this.formStore.productConditionsForm.termAnnuityPayments);
|
|
967
|
-
conditionsData.policyAppDto.annuityPaymentPeriodId =
|
|
976
|
+
conditionsData.policyAppDto.annuityPaymentPeriodId = (this.formStore.productConditionsForm.periodAnnuityPayment.id as string) ?? undefined;
|
|
968
977
|
}
|
|
969
978
|
return conditionsData;
|
|
970
979
|
},
|
|
@@ -1052,11 +1061,11 @@ export const useDataStore = defineStore('data', {
|
|
|
1052
1061
|
salesChannel: this.formStore.applicationData.insisWorkDataApp.salesChannel,
|
|
1053
1062
|
salesChannelName: this.formStore.applicationData.insisWorkDataApp.salesChannelName,
|
|
1054
1063
|
insrType: this.formStore.applicationData.insisWorkDataApp.insrType,
|
|
1055
|
-
saleChanellPolicy:
|
|
1064
|
+
saleChanellPolicy: (this.formStore.SaleChanellPolicy.ids as string) ?? undefined,
|
|
1056
1065
|
saleChanellPolicyName: this.formStore.SaleChanellPolicy.nameRu ?? '',
|
|
1057
|
-
regionPolicy:
|
|
1066
|
+
regionPolicy: (this.formStore.RegionPolicy.ids as string) ?? undefined,
|
|
1058
1067
|
regionPolicyName: this.formStore.RegionPolicy.nameRu ?? '',
|
|
1059
|
-
managerPolicy:
|
|
1068
|
+
managerPolicy: this.formStore.ManagerPolicy.ids as string,
|
|
1060
1069
|
managerPolicyName: this.formStore.ManagerPolicy.nameRu ?? '',
|
|
1061
1070
|
insuranceProgramType: this.formStore.applicationData.insisWorkDataApp.insuranceProgramType,
|
|
1062
1071
|
};
|
|
@@ -1090,7 +1099,7 @@ export const useDataStore = defineStore('data', {
|
|
|
1090
1099
|
async getFromApi(whichField: string, whichRequest: string, parameter?: any, reset: boolean = false): Promise<Value[]> {
|
|
1091
1100
|
const storageValue = JSON.parse(localStorage.getItem(whichField) || 'null');
|
|
1092
1101
|
const currentHour = new Date().getHours();
|
|
1093
|
-
const currentMinutePart = Math.ceil((new Date().getMinutes() + 1) / 15);
|
|
1102
|
+
const currentMinutePart = Math.ceil((new Date().getMinutes() + 1) / (this.isLKA ? 60 : 15));
|
|
1094
1103
|
|
|
1095
1104
|
const getDataCondition = () => {
|
|
1096
1105
|
if (!storageValue) return true;
|
|
@@ -1206,13 +1215,14 @@ export const useDataStore = defineStore('data', {
|
|
|
1206
1215
|
return await this.getFromApi('relations', 'getRelationTypes');
|
|
1207
1216
|
},
|
|
1208
1217
|
async getProcessIndexRate() {
|
|
1209
|
-
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
return await this.getFromApi('processCoverTypeSum', 'getProcessCoverTypeSum', type);
|
|
1218
|
+
if (this.processCode) {
|
|
1219
|
+
return await this.getFromApi('processIndexRate', 'getProcessIndexRate', this.processCode);
|
|
1220
|
+
}
|
|
1213
1221
|
},
|
|
1214
1222
|
async getProcessPaymentPeriod() {
|
|
1215
|
-
|
|
1223
|
+
if (this.processCode) {
|
|
1224
|
+
return await this.getFromApi('processPaymentPeriod', 'getProcessPaymentPeriod', this.processCode);
|
|
1225
|
+
}
|
|
1216
1226
|
},
|
|
1217
1227
|
async getQuestionRefs(id?: string) {
|
|
1218
1228
|
return await this.getFromApi('questionRefs', 'getQuestionRefs', id, true);
|
|
@@ -1224,7 +1234,9 @@ export const useDataStore = defineStore('data', {
|
|
|
1224
1234
|
return await this.getFromApi('dicAnnuityTypeList', 'getDicAnnuityTypeList');
|
|
1225
1235
|
},
|
|
1226
1236
|
async getProcessAnnuityPaymentPeriod() {
|
|
1227
|
-
|
|
1237
|
+
if (this.processCode) {
|
|
1238
|
+
return await this.getFromApi('processAnnuityPaymentPeriod', 'getProcessAnnuityPaymentPeriod', this.processCode);
|
|
1239
|
+
}
|
|
1228
1240
|
},
|
|
1229
1241
|
async getInsurancePay() {
|
|
1230
1242
|
return await this.getFromApi('insurancePay', 'getInsurancePay');
|
|
@@ -1514,9 +1526,9 @@ export const useDataStore = defineStore('data', {
|
|
|
1514
1526
|
coverPeriod: Number(this.formStore.productConditionsForm.coverPeriod),
|
|
1515
1527
|
payPeriod: Number(this.formStore.productConditionsForm.coverPeriod),
|
|
1516
1528
|
indexRateId: this.formStore.productConditionsForm.processIndexRate?.id
|
|
1517
|
-
?
|
|
1518
|
-
:
|
|
1519
|
-
paymentPeriodId:
|
|
1529
|
+
? this.formStore.productConditionsForm.processIndexRate.id ?? undefined
|
|
1530
|
+
: this.processIndexRate.find(i => i.code === '0')?.id ?? undefined,
|
|
1531
|
+
paymentPeriodId: (this.formStore.productConditionsForm.paymentPeriod.id as string) ?? undefined,
|
|
1520
1532
|
addCovers: this.formStore.additionalInsuranceTermsWithout,
|
|
1521
1533
|
};
|
|
1522
1534
|
if (this.isKazyna || product === 'halykkazyna') {
|
|
@@ -1526,9 +1538,9 @@ export const useDataStore = defineStore('data', {
|
|
|
1526
1538
|
}
|
|
1527
1539
|
if (this.isLiferenta) {
|
|
1528
1540
|
calculationData.guaranteedPaymentPeriod = this.formStore.productConditionsForm.guaranteedPeriod || 0;
|
|
1529
|
-
calculationData.annuityTypeId =
|
|
1541
|
+
calculationData.annuityTypeId = (this.formStore.productConditionsForm.typeAnnuityInsurance.id as string) ?? undefined;
|
|
1530
1542
|
calculationData.paymentPeriod = Number(this.formStore.productConditionsForm.termAnnuityPayments);
|
|
1531
|
-
calculationData.annuityPaymentPeriodId =
|
|
1543
|
+
calculationData.annuityPaymentPeriodId = (this.formStore.productConditionsForm.periodAnnuityPayment.id as string) ?? undefined;
|
|
1532
1544
|
}
|
|
1533
1545
|
const calculationResponse = await this.api.calculateWithoutApplication(calculationData, this.isCalculator ? product : undefined);
|
|
1534
1546
|
this.formStore.productConditionsForm.requestedSumInsured = this.getNumberWithSpaces(calculationResponse.amount);
|