hl-core 0.0.9-beta.3 → 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 +3 -3
- 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 +0 -2
- package/composables/constants.ts +1 -0
- package/composables/index.ts +10 -0
- package/configs/i18n.ts +0 -2
- package/layouts/default.vue +2 -2
- package/layouts/full.vue +1 -1
- package/locales/ru.json +5 -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 +18 -10
- package/types/index.ts +1 -0
- package/components/Button/BtnIcon.vue +0 -47
- package/locales/kz.json +0 -590
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
disabled ? 'disabled' : '',
|
|
9
9
|
classes,
|
|
10
10
|
btn,
|
|
11
|
-
$
|
|
11
|
+
$styles[`btnH${$capitalize(size)}` as keyof typeof $styles],
|
|
12
12
|
]"
|
|
13
13
|
>
|
|
14
14
|
<base-loader v-if="loading" :size="24" color="#FFF" bg-color="" :width="2" />
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<base-content class="flex-col" :class="[$
|
|
2
|
+
<base-content class="flex-col" :class="[$styles.whiteBg]">
|
|
3
3
|
<base-header
|
|
4
|
+
v-if="customHeader === false"
|
|
4
5
|
class="justify-center lg:pl-14"
|
|
5
6
|
:has-back="hasBack"
|
|
6
7
|
:back-icon="backIcon"
|
|
@@ -10,6 +11,7 @@
|
|
|
10
11
|
@onBack="$emit('onBack')"
|
|
11
12
|
@onMore="$emit('onMore')"
|
|
12
13
|
/>
|
|
14
|
+
<slot name="header"></slot>
|
|
13
15
|
<slot></slot>
|
|
14
16
|
</base-content>
|
|
15
17
|
</template>
|
|
@@ -37,6 +39,10 @@ export default defineComponent({
|
|
|
37
39
|
type: String,
|
|
38
40
|
default: '',
|
|
39
41
|
},
|
|
42
|
+
customHeader: {
|
|
43
|
+
type: Boolean,
|
|
44
|
+
default: false,
|
|
45
|
+
},
|
|
40
46
|
},
|
|
41
47
|
emits: ['onBack', 'onMore'],
|
|
42
48
|
});
|
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
{{ subtitle }}
|
|
12
12
|
</v-card-subtitle>
|
|
13
13
|
<v-card-actions class="gap-[16px] m-2">
|
|
14
|
-
<base-btn v-if="actions === 'default'" class="!w-fit px-6" size="sm" :text="$dataStore.t('confirm.yes')" :btn="$
|
|
15
|
-
<base-btn v-if="actions === 'default'" class="!w-fit px-6" size="sm" :text="$dataStore.t('confirm.no')" :btn="$
|
|
14
|
+
<base-btn v-if="actions === 'default'" class="!w-fit px-6" size="sm" :text="$dataStore.t('confirm.yes')" :btn="$styles.blueBtn" @click="$emit('yes')" />
|
|
15
|
+
<base-btn v-if="actions === 'default'" class="!w-fit px-6" size="sm" :text="$dataStore.t('confirm.no')" :btn="$styles.blueBtn" @click="$emit('no')" />
|
|
16
16
|
<slot v-if="actions !== 'default'" name="actions"></slot>
|
|
17
17
|
</v-card-actions>
|
|
18
18
|
</v-card>
|
|
@@ -2,20 +2,20 @@
|
|
|
2
2
|
<v-list lines="two" v-if="formStore.birthInfos && formStore.birthInfos.length" class="w-full !py-0">
|
|
3
3
|
<v-list-item
|
|
4
4
|
@click="$emit('reset')"
|
|
5
|
-
:append-icon="selected && Object.keys(selected).length === 0 ? `mdi-radiobox-marked ${$
|
|
5
|
+
:append-icon="selected && Object.keys(selected).length === 0 ? `mdi-radiobox-marked ${$styles.greenText}` : 'mdi-radiobox-blank text-[#636363]'"
|
|
6
6
|
>
|
|
7
|
-
<v-list-item-title :class="[$
|
|
7
|
+
<v-list-item-title :class="[$styles.greenText, $styles.textTitle]">{{ $dataStore.t('form.notChosen') }}</v-list-item-title>
|
|
8
8
|
</v-list-item>
|
|
9
9
|
<v-list-item
|
|
10
10
|
v-for="familyMember of formStore.birthInfos"
|
|
11
11
|
:key="familyMember.childIIN"
|
|
12
12
|
@click="$emit('selectFamilyMember', familyMember)"
|
|
13
|
-
:append-icon="familyMember && selected && selected.childIIN === familyMember.childIIN ? `mdi-radiobox-marked ${$
|
|
13
|
+
:append-icon="familyMember && selected && selected.childIIN === familyMember.childIIN ? `mdi-radiobox-marked ${$styles.greenText}` : 'mdi-radiobox-blank text-[#636363]'"
|
|
14
14
|
>
|
|
15
|
-
<v-list-item-title :class="[$
|
|
15
|
+
<v-list-item-title :class="[$styles.greenText, $styles.textTitle]">{{
|
|
16
16
|
`${familyMember.childSurName} ${familyMember.childName} ${familyMember.childPatronymic ? familyMember.childPatronymic : ''}`
|
|
17
17
|
}}</v-list-item-title>
|
|
18
|
-
<v-list-item-subtitle :class="[$
|
|
18
|
+
<v-list-item-subtitle :class="[$styles.textSimple]"
|
|
19
19
|
><span>{{ `${$dataStore.t('form.iin')}:` }}</span
|
|
20
20
|
>{{ ` ${$reformatIin(familyMember.childIIN!)}` }}</v-list-item-subtitle
|
|
21
21
|
>
|
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div class="pt-3 rounded-lg border-[1px]" :class="[$
|
|
2
|
+
<div class="pt-3 rounded-lg border-[1px]" :class="[$styles.whiteBg, disabled && $styles.disabled]">
|
|
3
3
|
<div class="ml-5">
|
|
4
4
|
<div class="flex justify-between mr-5">
|
|
5
|
-
<p :class="[$
|
|
5
|
+
<p :class="[$styles.textTitle, $styles.greenText]">{{ title }}</p>
|
|
6
6
|
<div
|
|
7
7
|
v-if="isMultiple && more && !isShort && isActionsAvailable"
|
|
8
|
-
:class="[$
|
|
8
|
+
:class="[$styles.blueBg, $styles.whiteText, $styles.textSimple, disabled ? $styles.disabled : 'cursor-pointer']"
|
|
9
9
|
class="lg:flex transition-all rounded-lg h-[36px] flex items-center font-medium justify-center opacity-50 hover:opacity-90 w-[120px]"
|
|
10
10
|
@click="!disabled && memberStore.addMember(whichForm)"
|
|
11
11
|
>
|
|
12
12
|
{{ $dataStore.t('buttons.add') }}
|
|
13
13
|
</div>
|
|
14
14
|
</div>
|
|
15
|
-
<p v-if="!!subtitle" :class="[$
|
|
15
|
+
<p v-if="!!subtitle" :class="[$styles.greyText, $styles.textSimple]">{{ subtitle }}</p>
|
|
16
16
|
</div>
|
|
17
17
|
<div
|
|
18
18
|
class="ml-5 mt-6 grid auto-rows-fr items-center"
|
|
19
19
|
:class="[isShort ? 'grid-cols-2 md:gap-5 md:grid-cols-2 lg:grid-cols-2 mb-6' : 'grid-cols-4 md:gap-5 md:grid-cols-4 lg:grid-cols-7 ']"
|
|
20
20
|
>
|
|
21
|
-
<span :class="[$
|
|
22
|
-
<span :class="[$
|
|
23
|
-
<span v-if="!isShort" :class="[$
|
|
24
|
-
<span v-if="!isShort" :class="[$
|
|
25
|
-
<span v-if="!isShort" :class="[$
|
|
26
|
-
<span v-if="!isShort" :class="[$
|
|
21
|
+
<span :class="[$styles.textSimple]" class="font-medium">{{ $dataStore.t('form.fullName') }}</span>
|
|
22
|
+
<span :class="[$styles.textSimple]" class="font-medium">{{ $dataStore.t('form.iin') }}</span>
|
|
23
|
+
<span v-if="!isShort" :class="[$styles.textSimple]" class="font-medium hidden lg:block"> {{ $dataStore.t('form.gender') }}</span>
|
|
24
|
+
<span v-if="!isShort" :class="[$styles.textSimple]" class="font-medium"> {{ $dataStore.t('form.birthDate') }} </span>
|
|
25
|
+
<span v-if="!isShort" :class="[$styles.textSimple]" class="font-medium hidden lg:block">{{ $dataStore.t('form.Country') }} </span>
|
|
26
|
+
<span v-if="!isShort" :class="[$styles.textSimple]" class="font-medium hidden lg:block"> {{ $dataStore.t('code') }}</span>
|
|
27
27
|
</div>
|
|
28
28
|
<div v-if="isMultiple && multipleMember !== null" class="ml-5 flex flex-col" :class="[isShort ? 'mb-6' : '']">
|
|
29
29
|
<div
|
|
@@ -32,16 +32,16 @@
|
|
|
32
32
|
class="grid auto-rows-fr items-center relative"
|
|
33
33
|
:class="[isShort ? 'grid-cols-2 md:gap-5 md:grid-cols-2 lg:grid-cols-2' : 'grid-cols-4 md:gap-5 md:grid-cols-4 lg:grid-cols-7']"
|
|
34
34
|
>
|
|
35
|
-
<span :class="[getMemberInfo(each).fullName === null && $
|
|
36
|
-
<span :class="[getMemberInfo(each).iin === null && $
|
|
37
|
-
<span v-if="!isShort" :class="[getMemberInfo(each).gender === null && $
|
|
38
|
-
<span v-if="!isShort" :class="[getMemberInfo(each).birthDate === null && $
|
|
39
|
-
<span v-if="!isShort" :class="[getMemberInfo(each).birthPlace === null && $
|
|
40
|
-
<span v-if="!isShort" :class="[getMemberInfo(each).sectorCode === null && $
|
|
35
|
+
<span :class="[getMemberInfo(each).fullName === null && $styles.emptyBlockCol]">{{ getMemberInfo(each).fullName }}</span>
|
|
36
|
+
<span :class="[getMemberInfo(each).iin === null && $styles.emptyBlockCol]">{{ getMemberInfo(each).iin }}</span>
|
|
37
|
+
<span v-if="!isShort" :class="[getMemberInfo(each).gender === null && $styles.emptyBlockCol]" class="hidden lg:block">{{ getMemberInfo(each).gender }} </span>
|
|
38
|
+
<span v-if="!isShort" :class="[getMemberInfo(each).birthDate === null && $styles.emptyBlockCol]"> {{ getMemberInfo(each).birthDate }} </span>
|
|
39
|
+
<span v-if="!isShort" :class="[getMemberInfo(each).birthPlace === null && $styles.emptyBlockCol]" class="hidden lg:block"> {{ getMemberInfo(each).birthPlace }} </span>
|
|
40
|
+
<span v-if="!isShort" :class="[getMemberInfo(each).sectorCode === null && $styles.emptyBlockCol]" class="hidden lg:block"> {{ getMemberInfo(each).sectorCode }} </span>
|
|
41
41
|
<div
|
|
42
42
|
v-if="!isShort"
|
|
43
43
|
class="rounded-br-lg transition-all h-[70px] w-[60px] place-self-end"
|
|
44
|
-
:class="[$
|
|
44
|
+
:class="[$styles.blueBgLight, $styles.blueBgLightHover, disabled ? $styles.disabled : 'cursor-pointer']"
|
|
45
45
|
@click="!disabled && $emit('onMore', { whichForm, index })"
|
|
46
46
|
>
|
|
47
47
|
<i class="mdi mdi-dots-vertical text-xl absolute top-[20px] right-[20px]"></i>
|
|
@@ -53,22 +53,20 @@
|
|
|
53
53
|
class="ml-5 grid auto-rows-fr items-center relative"
|
|
54
54
|
:class="[isShort ? 'grid-cols-2 md:gap-5 md:grid-cols-2 lg:grid-cols-2' : 'grid-cols-4 md:gap-5 md:grid-cols-4 lg:grid-cols-7']"
|
|
55
55
|
>
|
|
56
|
-
<span :class="[getMemberInfo(singleMember).fullName === null && $
|
|
57
|
-
<span :class="[getMemberInfo(singleMember).iin === null && $
|
|
58
|
-
<span v-if="!isShort" :class="[getMemberInfo(singleMember).gender === null && $
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
<span v-if="!isShort" :class="[getMemberInfo(singleMember).birthDate === null && $libStyles.emptyBlockCol]"> {{ getMemberInfo(singleMember).birthDate }} </span>
|
|
62
|
-
<span v-if="!isShort" :class="[getMemberInfo(singleMember).birthPlace === null && $libStyles.emptyBlockCol]" class="hidden lg:block">
|
|
56
|
+
<span :class="[getMemberInfo(singleMember).fullName === null && $styles.emptyBlockCol]">{{ getMemberInfo(singleMember).fullName }}</span>
|
|
57
|
+
<span :class="[getMemberInfo(singleMember).iin === null && $styles.emptyBlockCol]">{{ getMemberInfo(singleMember).iin }}</span>
|
|
58
|
+
<span v-if="!isShort" :class="[getMemberInfo(singleMember).gender === null && $styles.emptyBlockCol]" class="hidden lg:block">{{ getMemberInfo(singleMember).gender }} </span>
|
|
59
|
+
<span v-if="!isShort" :class="[getMemberInfo(singleMember).birthDate === null && $styles.emptyBlockCol]"> {{ getMemberInfo(singleMember).birthDate }} </span>
|
|
60
|
+
<span v-if="!isShort" :class="[getMemberInfo(singleMember).birthPlace === null && $styles.emptyBlockCol]" class="hidden lg:block">
|
|
63
61
|
{{ getMemberInfo(singleMember).birthPlace }}
|
|
64
62
|
</span>
|
|
65
|
-
<span v-if="!isShort" :class="[getMemberInfo(singleMember).sectorCode === null && $
|
|
63
|
+
<span v-if="!isShort" :class="[getMemberInfo(singleMember).sectorCode === null && $styles.emptyBlockCol]" class="hidden lg:block">
|
|
66
64
|
{{ getMemberInfo(singleMember).sectorCode }}
|
|
67
65
|
</span>
|
|
68
66
|
<div
|
|
69
67
|
v-if="!isShort"
|
|
70
68
|
class="rounded-br-lg transition-all h-[70px] w-[60px] place-self-end"
|
|
71
|
-
:class="[$
|
|
69
|
+
:class="[$styles.blueBgLight, $styles.blueBgLightHover, disabled ? $styles.disabled : 'cursor-pointer']"
|
|
72
70
|
@click="!disabled && $emit('onMore', { whichForm })"
|
|
73
71
|
>
|
|
74
72
|
<i class="mdi mdi-dots-vertical text-xl absolute top-[20px] right-[20px]"></i>
|
|
@@ -76,7 +74,7 @@
|
|
|
76
74
|
</div>
|
|
77
75
|
<div
|
|
78
76
|
v-if="isMultiple && more && !isShort && isActionsAvailable"
|
|
79
|
-
:class="[$
|
|
77
|
+
:class="[$styles.blueBg, $styles.whiteText, $styles.textSimple, disabled ? $styles.disabled : 'cursor-pointer']"
|
|
80
78
|
class="lg:hidden transition-all rounded-b-lg h-[36px] flex items-center font-medium justify-center opacity-50 hover:opacity-90"
|
|
81
79
|
@click="!disabled && memberStore.addMember(whichForm)"
|
|
82
80
|
>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<section :class="[$
|
|
3
|
-
<h2 :class="[$
|
|
2
|
+
<section :class="[$styles.blueBgLight, $styles.rounded]" class="mt-[14px] p-4 flex flex-col gap-[1px]">
|
|
3
|
+
<h2 :class="[$styles.textTitle]" class="font-medium text-center w-full mb-4">
|
|
4
4
|
{{ title }}
|
|
5
5
|
<slot name="icon"></slot>
|
|
6
6
|
</h2>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div class="flex flex-col justify-between rounded-lg" :class="[$
|
|
3
|
-
<span v-if="title" class="p-4" :class="[$
|
|
4
|
-
<span v-if="subtitle" class="p-4 text-[#99A3B3] border-t-[1px]" :class="[$
|
|
2
|
+
<div class="flex flex-col justify-between rounded-lg" :class="[$styles.whiteBg]">
|
|
3
|
+
<span v-if="title" class="p-4" :class="[$styles.textTitle]">{{ title }}</span>
|
|
4
|
+
<span v-if="subtitle" class="p-4 text-[#99A3B3] border-t-[1px]" :class="[$styles.textSimple]">{{ subtitle }}</span>
|
|
5
5
|
<slot></slot>
|
|
6
6
|
</div>
|
|
7
7
|
</template>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div
|
|
3
3
|
class="h-[74px] !pl-2 md:!pl-5 flex items-center justify-start gap-4"
|
|
4
|
-
:class="[$
|
|
4
|
+
:class="[$styles.whiteBg, hasBorder ? 'border-[1px] rounded-lg' : 'border-b-[1px] border-b-[#f3f6fc] rounded']"
|
|
5
5
|
>
|
|
6
6
|
<v-switch
|
|
7
7
|
class="base-toggle"
|
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
hide-details
|
|
15
15
|
:disabled="disabled"
|
|
16
16
|
/>
|
|
17
|
-
<p :class="[$
|
|
18
|
-
<p class="mr-3" :class="[modelValue ? $
|
|
17
|
+
<p :class="[$styles.textSimple]">{{ `${title}` }}</p>
|
|
18
|
+
<p class="mr-3" :class="[modelValue ? $styles.greenText : '', $styles.textSimple]">{{ `${modelValue ? $dataStore.t('confirm.yes') : $dataStore.t('confirm.no')}` }}</p>
|
|
19
19
|
</div>
|
|
20
20
|
</template>
|
|
21
21
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div class="rounded-lg border-[1px]" :class="[$
|
|
2
|
+
<div class="rounded-lg border-[1px]" :class="[$styles.whiteBg, disabled && $styles.disabled]">
|
|
3
3
|
<div class="mt-3 ml-5">
|
|
4
|
-
<p :class="[$
|
|
4
|
+
<p :class="[$styles.textTitle, $styles.greenText]">{{ $dataStore.t('form.attachManager') }}</p>
|
|
5
5
|
</div>
|
|
6
6
|
<v-form ref="vForm" class="flex flex-col mt-1">
|
|
7
7
|
<base-panel-input
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
/>
|
|
51
51
|
</v-form>
|
|
52
52
|
<Teleport v-if="isPanelOpen" to="#panel-actions">
|
|
53
|
-
<div :class="[$
|
|
53
|
+
<div :class="[$styles.scrollPage]" class="flex flex-col items-center">
|
|
54
54
|
<base-rounded-input
|
|
55
55
|
v-model.trim="searchQuery"
|
|
56
56
|
:label="$dataStore.t('labels.search')"
|
|
@@ -1,31 +1,31 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div class="pt-3 pl-5 rounded-lg border-[1px]" :class="[$
|
|
2
|
+
<div class="pt-3 pl-5 rounded-lg border-[1px]" :class="[$styles.whiteBg, disabled && $styles.disabled]">
|
|
3
3
|
<div>
|
|
4
|
-
<p :class="[$
|
|
4
|
+
<p :class="[$styles.textTitle, $styles.greenText]">
|
|
5
5
|
{{ $dataStore.t('productConditions') }}
|
|
6
6
|
</p>
|
|
7
|
-
<p v-if="!!subtitle" :class="[$
|
|
7
|
+
<p v-if="!!subtitle" :class="[$styles.greyText, $styles.textSimple]">{{ subtitle }}</p>
|
|
8
8
|
</div>
|
|
9
9
|
<div class="mt-6 grid grid-cols-3 lg:grid-cols-5 auto-rows-fr items-center">
|
|
10
|
-
<span v-if="hasSum" :class="[$
|
|
11
|
-
<span v-if="hasPremium" :class="[$
|
|
12
|
-
<span v-if="hasPolicyNumber" :class="[$
|
|
13
|
-
<span v-if="hasContractDate" :class="[$
|
|
14
|
-
<span v-if="hasCoverPeriod" :class="[$
|
|
15
|
-
<span v-if="hasPayPeriod" :class="[$
|
|
10
|
+
<span v-if="hasSum" :class="[$styles.textSimple]" class="font-medium">{{ $dataStore.t('productConditionsForm.requestedSumInsured') }}</span>
|
|
11
|
+
<span v-if="hasPremium" :class="[$styles.textSimple]" class="font-medium">{{ $dataStore.t('productConditionsForm.insurancePremiumPerMonth') }}</span>
|
|
12
|
+
<span v-if="hasPolicyNumber" :class="[$styles.textSimple]" class="font-medium hidden lg:block">{{ $dataStore.t('buttons.InsuranceContract') }}</span>
|
|
13
|
+
<span v-if="hasContractDate" :class="[$styles.textSimple]" class="font-medium hidden lg:block">{{ $dataStore.t('productConditionsForm.contractDate') }}</span>
|
|
14
|
+
<span v-if="hasCoverPeriod" :class="[$styles.textSimple]" class="font-medium hidden lg:block">{{ $dataStore.t('productConditionsForm.coverPeriod') }}</span>
|
|
15
|
+
<span v-if="hasPayPeriod" :class="[$styles.textSimple]" class="font-medium hidden lg:block">{{ $dataStore.t('productConditionsForm.payPeriod') }}</span>
|
|
16
16
|
</div>
|
|
17
17
|
<div class="grid grid-cols-3 lg:grid-cols-5 auto-rows-fr items-center">
|
|
18
|
-
<span v-if="hasSum" :class="[amount === null && $
|
|
19
|
-
<span v-if="hasPremium" :class="[premium === null && $
|
|
20
|
-
<span v-if="hasPolicyNumber" :class="[policyNumber === null && $
|
|
21
|
-
<span v-if="hasContractDate" :class="[policyNumber === null && $
|
|
22
|
-
<span v-if="hasCoverPeriod" :class="[coverPeriod === null && $
|
|
23
|
-
<span v-if="hasPayPeriod" :class="[paymentPeriod === null && $
|
|
18
|
+
<span v-if="hasSum" :class="[amount === null && $styles.emptyBlockCol]">{{ amount }} </span>
|
|
19
|
+
<span v-if="hasPremium" :class="[premium === null && $styles.emptyBlockCol]"> {{ premium }}</span>
|
|
20
|
+
<span v-if="hasPolicyNumber" :class="[policyNumber === null && $styles.emptyBlockCol]" class="hidden lg:block"> {{ policyNumber }}</span>
|
|
21
|
+
<span v-if="hasContractDate" :class="[policyNumber === null && $styles.emptyBlockCol]" class="hidden lg:block"> {{ contractDate }}</span>
|
|
22
|
+
<span v-if="hasCoverPeriod" :class="[coverPeriod === null && $styles.emptyBlockCol]" class="hidden lg:block">{{ coverPeriod }} </span>
|
|
23
|
+
<span v-if="hasPayPeriod" :class="[paymentPeriod === null && $styles.emptyBlockCol]" class="hidden lg:block">
|
|
24
24
|
{{ paymentPeriod }}
|
|
25
25
|
</span>
|
|
26
26
|
<div
|
|
27
27
|
class="rounded-br-lg transition-all h-[70px] w-[60px] relative place-self-end"
|
|
28
|
-
:class="[$
|
|
28
|
+
:class="[$styles.blueBgLight, $styles.blueBgLightHover, disabled ? $styles.disabled : 'cursor-pointer']"
|
|
29
29
|
@click="!disabled && $emit('onMore', { whichForm: 'productConditions' })"
|
|
30
30
|
>
|
|
31
31
|
<i class="mdi mdi-dots-vertical text-xl absolute top-[20px] right-[20px]"></i>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div class="h-[60px] bg-white rounded border-b-[1px] border-b-[#f3f6fc] flex items-center pl-4" :class="[$
|
|
2
|
+
<div class="h-[60px] bg-white rounded border-b-[1px] border-b-[#f3f6fc] flex items-center pl-4" :class="[$styles.textTitle]">
|
|
3
3
|
<slot></slot>
|
|
4
4
|
</div>
|
|
5
5
|
</template>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<header class="relative w-full h-[70px] text-center font-medium align-middle flex items-center border-b-[1px]" :class="[$
|
|
2
|
+
<header class="relative w-full h-[70px] text-center font-medium align-middle flex items-center border-b-[1px]" :class="[$styles.blueBgLight, $styles.textSimple]">
|
|
3
3
|
<i v-if="hasBack" @click="$emit('onBack')" class="absolute left-5 mdi text-xl cursor-pointer transition-all" :class="[backIcon, backIconAnim]"></i>
|
|
4
4
|
<span class="mx-10">{{ title }}</span>
|
|
5
5
|
<i
|
|
@@ -9,11 +9,11 @@
|
|
|
9
9
|
<v-text-field v-model="$dataStore.user.fullName" :readonly="true" hide-details variant="plain" :label="$dataStore.user.roles?.join(', ')" />
|
|
10
10
|
<i class="mdi mdi-account-outline text-2xl text-[#A0B3D8]"></i
|
|
11
11
|
></base-panel-item>
|
|
12
|
-
<base-panel-item v-if="$dataStore.isEFO && !isProduction" @click="changeBridge('lka')" class="cursor-pointer">
|
|
12
|
+
<base-panel-item v-if="$dataStore.isEFO && !isProduction && $dataStore.accessToken" @click="changeBridge('lka', $dataStore.accessToken)" class="cursor-pointer">
|
|
13
13
|
{{ $dataStore.t('labels.lkaLong') }}
|
|
14
14
|
<i class="mdi mdi-chevron-right text-2xl text-[#A0B3D8]"></i
|
|
15
15
|
></base-panel-item>
|
|
16
|
-
<base-panel-item v-if="$dataStore.isLKA" @click="changeBridge('efo')" class="cursor-pointer">
|
|
16
|
+
<base-panel-item v-if="$dataStore.isLKA && $dataStore.accessToken" @click="changeBridge('efo', $dataStore.accessToken)" class="cursor-pointer">
|
|
17
17
|
{{ $dataStore.t('labels.efoLong') }}
|
|
18
18
|
<i class="mdi mdi-web text-2xl text-[#A0B3D8]"></i
|
|
19
19
|
></base-panel-item>
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
{{ $dataStore.t('historyStatementsAndStatuses') }}
|
|
31
31
|
<i class="mdi mdi-history text-xl text-[#A0B3D8]"></i>
|
|
32
32
|
</base-panel-item>
|
|
33
|
-
<base-panel-item @click="dialogSignOut = true" class="cursor-pointer" :class="[$
|
|
33
|
+
<base-panel-item @click="dialogSignOut = true" class="cursor-pointer" :class="[$styles.redText]">
|
|
34
34
|
{{ $dataStore.t('buttons.logout') }}
|
|
35
35
|
<i class="mdi mdi-logout text-xl"></i>
|
|
36
36
|
</base-panel-item>
|
|
@@ -49,6 +49,8 @@
|
|
|
49
49
|
</template>
|
|
50
50
|
|
|
51
51
|
<script lang="ts" setup>
|
|
52
|
+
import { changeBridge } from '#imports';
|
|
53
|
+
|
|
52
54
|
import pkg from '../../package.json';
|
|
53
55
|
const dialogSignOut = ref(false);
|
|
54
56
|
const dataStore = useDataStore();
|
|
@@ -77,10 +79,4 @@ const hasHistory = computed(() => {
|
|
|
77
79
|
const openHistory = async () => {
|
|
78
80
|
dataStore.sendToParent(constants.postActions.toStatementHistory, dataStore.isBridge ? '' : dataStore.product);
|
|
79
81
|
};
|
|
80
|
-
|
|
81
|
-
const changeBridge = async (toBridge: 'efo' | 'lka') => {
|
|
82
|
-
const bridgeUrl = import.meta.env[`VITE_${toBridge.toUpperCase()}_URL`] as string;
|
|
83
|
-
if (!bridgeUrl) return;
|
|
84
|
-
window.open(`${bridgeUrl}/#/Token?token=${dataStore.accessToken}`, '_blank');
|
|
85
|
-
};
|
|
86
82
|
</script>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div class="border-[1px] rounded-lg h-[80px] mx-[10px] mt-[14px] flex place-content-center" :class="[$
|
|
2
|
+
<div class="border-[1px] rounded-lg h-[80px] mx-[10px] mt-[14px] flex place-content-center" :class="[$styles.blueBgLight, $styles.textTitle]">
|
|
3
3
|
<div class="flex justify-center items-center font-medium gap-2 opacity-40">
|
|
4
4
|
{{ text }}
|
|
5
5
|
<i class="text-2xl mdi" :class="[icon ? icon : 'mdi-database-off-outline']"></i>
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<v-menu v-if="items.length" :activator="activator" location="bottom center" :offset="top" transition="scale-transition">
|
|
3
3
|
<base-form-text-section class="p-4 border-[1px] flex flex-col gap-3 elevation-3 w-[250px]">
|
|
4
4
|
<div v-for="item of items.filter(i => $dataStore.filters.show(i))" :key="item.id">
|
|
5
|
-
<base-menu-nav-item :class="[$
|
|
5
|
+
<base-menu-nav-item :class="[$styles.textSimple]" :menu-item="item" @click="$emit(item.id)" />
|
|
6
6
|
</div>
|
|
7
7
|
</base-form-text-section>
|
|
8
8
|
</v-menu>
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
@onMore="$emit('onMore')"
|
|
13
13
|
/>
|
|
14
14
|
<slot key="slot-content" name="content"></slot>
|
|
15
|
-
<section key="main" :class="[$
|
|
15
|
+
<section key="main" :class="[$styles.flexColNav]">
|
|
16
16
|
<slot name="start"></slot>
|
|
17
17
|
<base-fade-transition>
|
|
18
18
|
<div v-if="$dataStore.menuItems && $dataStore.menuItems.length" class="flex flex-col gap-[10px]">
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div
|
|
3
3
|
:class="[
|
|
4
|
-
selected ? $
|
|
5
|
-
selected ? $
|
|
6
|
-
$
|
|
7
|
-
$
|
|
4
|
+
selected ? $styles.blueBg : $styles.blueBgLight,
|
|
5
|
+
selected ? $styles.whiteText : $styles.blackText,
|
|
6
|
+
$styles.rounded,
|
|
7
|
+
$styles.textSimple,
|
|
8
8
|
disabled ? 'cursor-not-allowed opacity-50' : '',
|
|
9
9
|
]"
|
|
10
10
|
class="h-[60px] flex items-center justify-between hover:bg-[#A0B3D8] hover:!text-white pl-4 cursor-pointer transition-all group"
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<base-fade-transition>
|
|
3
3
|
<section v-if="firstQuestionList && firstQuestionList.length && !firstPanel && !secondPanel" class="flex flex-col">
|
|
4
|
-
<section :class="[$
|
|
4
|
+
<section :class="[$styles.blueBgLight, $styles.rounded]" class="mx-[10px] my-[14px] p-4 flex flex-col gap-4">
|
|
5
5
|
<base-form-toggle
|
|
6
6
|
v-model="answerToAll"
|
|
7
7
|
:title="$dataStore.t('questionnaireType.answerAllNo')"
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
<v-form ref="vForm" class="max-h-[70vh] overflow-y-scroll" @submit="submitForm">
|
|
14
14
|
<section
|
|
15
15
|
v-if="firstQuestionList.filter(i => i.first.definedAnswers === 'N').length"
|
|
16
|
-
:class="[$
|
|
16
|
+
:class="[$styles.blueBgLight, $styles.rounded]"
|
|
17
17
|
class="mx-[10px] p-4 flex flex-col gap-4"
|
|
18
18
|
>
|
|
19
19
|
<base-form-input
|
|
@@ -28,21 +28,21 @@
|
|
|
28
28
|
</section>
|
|
29
29
|
<section
|
|
30
30
|
v-if="firstQuestionList.filter(i => i.first.definedAnswers === 'Y').length"
|
|
31
|
-
:class="[$
|
|
31
|
+
:class="[$styles.blueBgLight, $styles.rounded]"
|
|
32
32
|
class="mx-[10px] mt-[14px] p-4 flex flex-col gap-4"
|
|
33
33
|
>
|
|
34
34
|
<base-form-text-section v-for="(question, index) in firstQuestionList.filter(i => i.first.definedAnswers === 'Y')" :key="index">
|
|
35
35
|
<base-fade-transition>
|
|
36
36
|
<div
|
|
37
37
|
v-if="question.first.answerName === 'Да' && secondQuestionList"
|
|
38
|
-
:class="[$
|
|
38
|
+
:class="[$styles.greenBg, $styles.whiteText, $styles.textSimple]"
|
|
39
39
|
class="rounded-t-lg pl-6 py-1 cursor-pointer"
|
|
40
40
|
@click="openFirstPanel(question)"
|
|
41
41
|
>
|
|
42
42
|
{{ $dataStore.t('questionnaireType.pleaseAnswer', { text: secondQuestionList.length }) }}
|
|
43
43
|
</div>
|
|
44
44
|
</base-fade-transition>
|
|
45
|
-
<span :class="[$
|
|
45
|
+
<span :class="[$styles.textTitle]" class="border-b-[1px] border-b-[#F3F6FC] p-6 flex items-center justify-between">
|
|
46
46
|
{{ question.first.name }}
|
|
47
47
|
<base-fade-transition>
|
|
48
48
|
<i
|
|
@@ -52,11 +52,11 @@
|
|
|
52
52
|
></i>
|
|
53
53
|
</base-fade-transition>
|
|
54
54
|
</span>
|
|
55
|
-
<div class="flex items-center justify-start gap-5 px-4 pt-4" :class="[$
|
|
55
|
+
<div class="flex items-center justify-start gap-5 px-4 pt-4" :class="[$styles.textSimple]">
|
|
56
56
|
<v-radio-group
|
|
57
57
|
v-model="question.first.answerName"
|
|
58
58
|
class="anketa-radio"
|
|
59
|
-
:true-icon="`mdi-radiobox-marked ${$
|
|
59
|
+
:true-icon="`mdi-radiobox-marked ${$styles.greenText}`"
|
|
60
60
|
false-icon="mdi-radiobox-blank text-[#636363]"
|
|
61
61
|
:rules="$rules.required"
|
|
62
62
|
:readonly="formStore.isDisabled[whichSurvey] || !$dataStore.isTask()"
|
|
@@ -86,13 +86,8 @@
|
|
|
86
86
|
secondPanel = false;
|
|
87
87
|
"
|
|
88
88
|
/>
|
|
89
|
-
<section
|
|
90
|
-
|
|
91
|
-
v-if="secondQuestionList && secondQuestionList.length && firstPanel"
|
|
92
|
-
class="flex flex-col px-[10px] pb-[14px]"
|
|
93
|
-
:class="[$libStyles.scrollPage]"
|
|
94
|
-
>
|
|
95
|
-
<section v-if="currentQuestion" :class="[$libStyles.blueBgLight, $libStyles.rounded]" class="mx-[10px] mt-[14px] p-4 flex flex-col gap-4">
|
|
89
|
+
<section ref="firstPanelSection" v-if="secondQuestionList && secondQuestionList.length && firstPanel" class="flex flex-col px-[10px] pb-[14px]" :class="[$styles.scrollPage]">
|
|
90
|
+
<section v-if="currentQuestion" :class="[$styles.blueBgLight, $styles.rounded]" class="mx-[10px] mt-[14px] p-4 flex flex-col gap-4">
|
|
96
91
|
<base-form-text-section v-for="question in currentQuestion.second" :title="question.name" :key="question.name">
|
|
97
92
|
<base-form-input
|
|
98
93
|
v-if="question.definedAnswers === 'N'"
|
|
@@ -101,7 +96,7 @@
|
|
|
101
96
|
placeholder="Введите текст"
|
|
102
97
|
:readonly="formStore.isDisabled[whichSurvey] || !$dataStore.isTask()"
|
|
103
98
|
/>
|
|
104
|
-
<span v-else class="flex items-center justify-between p-4 cursor-pointer" :class="[$
|
|
99
|
+
<span v-else class="flex items-center justify-between p-4 cursor-pointer" :class="[$styles.textTitle, $styles.greenText]" @click="openSecondPanel(question)">
|
|
105
100
|
{{ question.answerName ? question.answerName : 'Выбрать вариант ответа' }}
|
|
106
101
|
<i class="mdi mdi-chevron-right text-[28px]"></i>
|
|
107
102
|
</span>
|
|
@@ -110,7 +105,7 @@
|
|
|
110
105
|
</section>
|
|
111
106
|
</base-fade-transition>
|
|
112
107
|
<Teleport v-if="secondPanel" to="#panel-actions">
|
|
113
|
-
<div :class="[$
|
|
108
|
+
<div :class="[$styles.scrollPage]" class="flex flex-col items-center">
|
|
114
109
|
<base-rounded-input v-model="searchQuery" :label="$dataStore.t('labels.search')" class="w-full p-2" :hide-details="true" />
|
|
115
110
|
<div v-if="$dataStore.questionRefs && $dataStore.questionRefs.length && isPanelLoading === false" class="w-full flex flex-col gap-2 p-2">
|
|
116
111
|
<base-panel-select-item
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<section class="flex h-full" :class="$
|
|
2
|
+
<section class="flex h-full" :class="$styles.blueBgLight">
|
|
3
3
|
<!-- @vue-ignore -->
|
|
4
4
|
<aside :class="{ '!hidden': !$display().lgAndUp.value }" class="w-full lg:w-1/4 bg-white flex flex-col justify-between border-r-2 relative px-8">
|
|
5
5
|
<img draggable="false" class="w-[50%] mt-8" src="~/assets/auth-logo.svg" />
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
<img :class="{ '!block': !$display().lgAndUp.value }" draggable="false" class="hidden w-2/4 sm:w-1/3 mb-10 self-center" src="~/assets/auth-logo.svg" />
|
|
22
22
|
<div class="flex flex-col items-center mb-8 text-center">
|
|
23
23
|
<h1 class="text-[28px] font-medium mb-1">{{ $dataStore.t('labels.welcomeHL') }}</h1>
|
|
24
|
-
<span :class="[$
|
|
24
|
+
<span :class="[$styles.greyTextDark]" class="text-[16px]">{{ $dataStore.t('labels.needAuth') }}</span>
|
|
25
25
|
</div>
|
|
26
26
|
<v-form ref="vForm" class="w-2/3 lg:w-[25vw] self-center">
|
|
27
27
|
<base-rounded-input class="mb-1" v-model.trim="login" :rules="$rules.required" :loading="authLoading" :placeholder="$dataStore.t('buttons.userLogin')" type="text" />
|
|
@@ -35,19 +35,19 @@
|
|
|
35
35
|
@append="showPassword = !showPassword"
|
|
36
36
|
:type="showPassword ? ('' as InputTypes) : 'password'"
|
|
37
37
|
/>
|
|
38
|
-
<span v-if="$dataStore.isLKA" class="inline-block w-full text-end mb-4" :class="[$
|
|
38
|
+
<span v-if="$dataStore.isLKA" class="inline-block w-full text-end mb-4" :class="[$styles.textSimple, $styles.greyTextDark]" @click="isLogin = false">{{
|
|
39
39
|
$dataStore.t('labels.resetPassword')
|
|
40
40
|
}}</span>
|
|
41
|
-
<base-btn :text="$dataStore.t('buttons.login')" :disabled="authLoading" :btn="$
|
|
41
|
+
<base-btn :text="$dataStore.t('buttons.login')" :disabled="authLoading" :btn="$styles.greenBtn" @click="submitAuthForm" />
|
|
42
42
|
</v-form>
|
|
43
43
|
</section>
|
|
44
44
|
<section v-if="isLogin === false" class="w-full lg:w-3/4 flex flex-col justify-center items-center">
|
|
45
45
|
<div class="flex flex-col items-center mb-4">
|
|
46
46
|
<h1 class="text-[28px] font-medium mb-1">{{ $dataStore.t('labels.resetPassword') }}</h1>
|
|
47
|
-
<span :class="[$
|
|
47
|
+
<span :class="[$styles.greyTextDark]" class="text-[16px]">{{ $dataStore.t('labels.resetType') }}</span>
|
|
48
48
|
</div>
|
|
49
|
-
<div class="p-[2px] mb-8 rounded-[12px] border-[1px] w-2/3 lg:w-[25vw]" :class="[$
|
|
50
|
-
<v-tabs v-model="resetPasswordType" density="compact" slider-color="#009c73" class="w-full base-reset-password rounded-[12px]" :class="[$
|
|
49
|
+
<div class="p-[2px] mb-8 rounded-[12px] border-[1px] w-2/3 lg:w-[25vw]" :class="[$styles.whiteBg]">
|
|
50
|
+
<v-tabs v-model="resetPasswordType" density="compact" slider-color="#009c73" class="w-full base-reset-password rounded-[12px]" :class="[$styles.whiteBg]">
|
|
51
51
|
<v-tab :ripple="false" value="phone"> {{ $dataStore.t('form.phoneNumber') }} </v-tab>
|
|
52
52
|
<v-tab :ripple="false" value="email"> {{ $dataStore.t('form.email') }} </v-tab>
|
|
53
53
|
</v-tabs>
|
|
@@ -70,8 +70,8 @@
|
|
|
70
70
|
:placeholder="$dataStore.t('form.email')"
|
|
71
71
|
type="text"
|
|
72
72
|
/>
|
|
73
|
-
<span class="inline-block w-full text-end mb-4" :class="[$
|
|
74
|
-
<base-btn :text="$dataStore.t('buttons.reset')" :disabled="authLoading" :btn="$
|
|
73
|
+
<span class="inline-block w-full text-end mb-4" :class="[$styles.textSimple, $styles.greyTextDark]" @click="isLogin = true">{{ $dataStore.t('buttons.login') }}</span>
|
|
74
|
+
<base-btn :text="$dataStore.t('buttons.reset')" :disabled="authLoading" :btn="$styles.greenBtn" @click="submitAuthForm" />
|
|
75
75
|
</v-form>
|
|
76
76
|
</section>
|
|
77
77
|
</section>
|