hl-core 0.0.8-beta.35 → 0.0.8-beta.36
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/Button/ScrollButtons.vue +2 -2
- package/components/Complex/Page.vue +1 -1
- package/components/Dialog/Dialog.vue +3 -3
- package/components/Dialog/FamilyDialog.vue +7 -4
- package/components/Form/FormBlock.vue +10 -10
- package/components/Form/FormToggle.vue +2 -3
- package/components/Form/ManagerAttachment.vue +17 -17
- package/components/Form/ProductConditionsBlock.vue +8 -8
- package/components/Input/Datepicker.vue +1 -1
- package/components/Input/FileInput.vue +2 -2
- package/components/Input/FormInput.vue +3 -3
- package/components/Input/PanelInput.vue +1 -1
- package/components/Input/RoundedInput.vue +2 -2
- package/components/Input/RoundedSelect.vue +1 -1
- package/components/Layout/Drawer.vue +2 -2
- package/components/Layout/Loader.vue +1 -1
- package/components/Layout/SettingsPanel.vue +16 -10
- package/components/Menu/MenuHover.vue +1 -1
- package/components/Menu/MenuNav.vue +2 -3
- package/components/Menu/MenuNavItem.vue +1 -1
- package/components/Pages/Anketa.vue +13 -18
- package/components/Pages/Auth.vue +18 -25
- package/components/Pages/Documents.vue +3 -3
- package/components/Pages/InvoiceInfo.vue +4 -4
- package/components/Pages/MemberForm.vue +154 -151
- package/components/Pages/ProductAgreement.vue +4 -2
- package/components/Pages/ProductConditions.vue +117 -94
- package/components/Panel/PanelHandler.vue +22 -23
- package/components/Utilities/JsonViewer.vue +1 -1
- package/layouts/default.vue +3 -3
- package/package.json +14 -10
- package/pages/500.vue +1 -1
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
$libStyles[`btnH${$capitalize(size)}` as keyof typeof $libStyles],
|
|
12
12
|
]"
|
|
13
13
|
>
|
|
14
|
-
<base-loader v-if="loading" :size="24" color="#FFF" bg-color="" :width="2"
|
|
14
|
+
<base-loader v-if="loading" :size="24" color="#FFF" bg-color="" :width="2" />
|
|
15
15
|
<span v-if="!loading">{{ text }}</span>
|
|
16
16
|
</button>
|
|
17
17
|
</template>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="absolute bottom-[12%] right-1 flex flex-col gap-4">
|
|
3
|
-
<v-btn style="backdrop-filter: blur(5px)" color="#A0B3D8"
|
|
4
|
-
<v-btn style="backdrop-filter: blur(5px)" color="#A0B3D8"
|
|
3
|
+
<v-btn style="backdrop-filter: blur(5px)" color="#A0B3D8" variant="outlined" icon="mdi mdi-arrow-up" @click="$emit('up')" />
|
|
4
|
+
<v-btn style="backdrop-filter: blur(5px)" color="#A0B3D8" variant="outlined" icon="mdi mdi-arrow-down" @click="$emit('down')" />
|
|
5
5
|
</div>
|
|
6
6
|
</template>
|
|
@@ -4,15 +4,15 @@
|
|
|
4
4
|
<v-card-title>
|
|
5
5
|
<slot v-if="!title" name="title"></slot>
|
|
6
6
|
{{ title }}
|
|
7
|
-
<v-btn class="!absolute top-2 right-3" icon="mdi mdi-window-close" variant="plain" @click="$emit('update:modelValue', null)"
|
|
7
|
+
<v-btn class="!absolute top-2 right-3" icon="mdi mdi-window-close" variant="plain" @click="$emit('update:modelValue', null)" />
|
|
8
8
|
</v-card-title>
|
|
9
9
|
<v-card-subtitle>
|
|
10
10
|
<slot v-if="!subtitle" name="subtitle"></slot>
|
|
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="$t('confirm.yes')" :btn="$libStyles.blueBtn" @click="$emit('yes')"
|
|
15
|
-
<base-btn v-if="actions === 'default'" class="!w-fit px-6" size="sm" :text="$t('confirm.no')" :btn="$libStyles.blueBtn" @click="$emit('no')" />
|
|
14
|
+
<base-btn v-if="actions === 'default'" class="!w-fit px-6" size="sm" :text="$dataStore.t('confirm.yes')" :btn="$libStyles.blueBtn" @click="$emit('yes')" />
|
|
15
|
+
<base-btn v-if="actions === 'default'" class="!w-fit px-6" size="sm" :text="$dataStore.t('confirm.no')" :btn="$libStyles.blueBtn" @click="$emit('no')" />
|
|
16
16
|
<slot v-if="actions !== 'default'" name="actions"></slot>
|
|
17
17
|
</v-card-actions>
|
|
18
18
|
</v-card>
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<v-list lines="two" v-if="formStore.birthInfos && formStore.birthInfos.length" class="w-full !py-0">
|
|
3
|
-
<v-list-item
|
|
4
|
-
|
|
3
|
+
<v-list-item
|
|
4
|
+
@click="$emit('reset')"
|
|
5
|
+
:append-icon="selected && Object.keys(selected).length === 0 ? `mdi-radiobox-marked ${$libStyles.greenText}` : 'mdi-radiobox-blank text-[#636363]'"
|
|
6
|
+
>
|
|
7
|
+
<v-list-item-title :class="[$libStyles.greenText, $libStyles.textTitle]">{{ $dataStore.t('form.notChosen') }}</v-list-item-title>
|
|
5
8
|
</v-list-item>
|
|
6
9
|
<v-list-item
|
|
7
10
|
v-for="familyMember of formStore.birthInfos"
|
|
@@ -13,12 +16,12 @@
|
|
|
13
16
|
`${familyMember.childSurName} ${familyMember.childName} ${familyMember.childPatronymic ? familyMember.childPatronymic : ''}`
|
|
14
17
|
}}</v-list-item-title>
|
|
15
18
|
<v-list-item-subtitle :class="[$libStyles.textSimple]"
|
|
16
|
-
><span>{{ `${$t('form.iin')}:` }}</span
|
|
19
|
+
><span>{{ `${$dataStore.t('form.iin')}:` }}</span
|
|
17
20
|
>{{ ` ${$reformatIin(familyMember.childIIN!)}` }}</v-list-item-subtitle
|
|
18
21
|
>
|
|
19
22
|
</v-list-item>
|
|
20
23
|
</v-list>
|
|
21
|
-
<base-list-empty class="w-full" v-else
|
|
24
|
+
<base-list-empty class="w-full" v-else />
|
|
22
25
|
</template>
|
|
23
26
|
|
|
24
27
|
<script lang="ts">
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
class="hidden 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
|
-
{{ $t('buttons.add') }}
|
|
12
|
+
{{ $dataStore.t('buttons.add') }}
|
|
13
13
|
</div>
|
|
14
14
|
</div>
|
|
15
15
|
<p v-if="!!subtitle" :class="[$libStyles.greyText, $libStyles.textSimple]">{{ subtitle }}</p>
|
|
@@ -18,12 +18,12 @@
|
|
|
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="[$libStyles.textSimple]" class="font-medium">{{ $t('form.fullName') }}</span>
|
|
22
|
-
<span :class="[$libStyles.textSimple]" class="font-medium">{{ $t('form.iin') }}</span>
|
|
23
|
-
<span v-if="!isShort" :class="[$libStyles.textSimple]" class="font-medium hidden lg:block"> {{ $t('form.gender') }}</span>
|
|
24
|
-
<span v-if="!isShort" :class="[$libStyles.textSimple]" class="font-medium"> {{ $t('form.birthDate') }} </span>
|
|
25
|
-
<span v-if="!isShort" :class="[$libStyles.textSimple]" class="font-medium hidden lg:block">{{ $t('form.Country') }} </span>
|
|
26
|
-
<span v-if="!isShort" :class="[$libStyles.textSimple]" class="font-medium hidden lg:block"> {{ $t('code') }}</span>
|
|
21
|
+
<span :class="[$libStyles.textSimple]" class="font-medium">{{ $dataStore.t('form.fullName') }}</span>
|
|
22
|
+
<span :class="[$libStyles.textSimple]" class="font-medium">{{ $dataStore.t('form.iin') }}</span>
|
|
23
|
+
<span v-if="!isShort" :class="[$libStyles.textSimple]" class="font-medium hidden lg:block"> {{ $dataStore.t('form.gender') }}</span>
|
|
24
|
+
<span v-if="!isShort" :class="[$libStyles.textSimple]" class="font-medium"> {{ $dataStore.t('form.birthDate') }} </span>
|
|
25
|
+
<span v-if="!isShort" :class="[$libStyles.textSimple]" class="font-medium hidden lg:block">{{ $dataStore.t('form.Country') }} </span>
|
|
26
|
+
<span v-if="!isShort" :class="[$libStyles.textSimple]" class="font-medium hidden lg:block"> {{ $dataStore.t('code') }}</span>
|
|
27
27
|
</div>
|
|
28
28
|
<div v-if="isMultiple" class="ml-5 flex flex-col" :class="[isShort ? 'mb-6' : '']">
|
|
29
29
|
<div
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
:class="[$libStyles.blueBgLight, $libStyles.blueBgLightHover, disabled ? $libStyles.disabled : 'cursor-pointer']"
|
|
45
45
|
@click="!disabled && $emit('onMore', { whichForm, index })"
|
|
46
46
|
>
|
|
47
|
-
<i class="mdi mdi-dots-vertical text-xl absolute top-[20px] right-[20px]"
|
|
47
|
+
<i class="mdi mdi-dots-vertical text-xl absolute top-[20px] right-[20px]"></i>
|
|
48
48
|
</div>
|
|
49
49
|
</div>
|
|
50
50
|
</div>
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
:class="[$libStyles.blueBgLight, $libStyles.blueBgLightHover, disabled ? $libStyles.disabled : 'cursor-pointer']"
|
|
66
66
|
@click="!disabled && $emit('onMore', { whichForm })"
|
|
67
67
|
>
|
|
68
|
-
<i class="mdi mdi-dots-vertical text-xl absolute top-[20px] right-[20px]"
|
|
68
|
+
<i class="mdi mdi-dots-vertical text-xl absolute top-[20px] right-[20px]"></i>
|
|
69
69
|
</div>
|
|
70
70
|
</div>
|
|
71
71
|
<div
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
class="block lg:hidden transition-all rounded-b-lg h-[36px] flex items-center font-medium justify-center opacity-50 hover:opacity-90"
|
|
75
75
|
@click="!disabled && memberStore.addMember(whichForm)"
|
|
76
76
|
>
|
|
77
|
-
{{ $t('buttons.add') }}
|
|
77
|
+
{{ $dataStore.t('buttons.add') }}
|
|
78
78
|
</div>
|
|
79
79
|
</div>
|
|
80
80
|
</template>
|
|
@@ -13,10 +13,9 @@
|
|
|
13
13
|
color="#009C73"
|
|
14
14
|
hide-details
|
|
15
15
|
:disabled="disabled"
|
|
16
|
-
|
|
17
|
-
</v-switch>
|
|
16
|
+
/>
|
|
18
17
|
<p :class="[$libStyles.textSimple]">{{ `${title}` }}</p>
|
|
19
|
-
<p class="mr-3" :class="[modelValue ? $libStyles.greenText : '', $libStyles.textSimple]">{{ `${modelValue ? $t('confirm.yes') : $t('confirm.no')}` }}</p>
|
|
18
|
+
<p class="mr-3" :class="[modelValue ? $libStyles.greenText : '', $libStyles.textSimple]">{{ `${modelValue ? $dataStore.t('confirm.yes') : $dataStore.t('confirm.no')}` }}</p>
|
|
20
19
|
</div>
|
|
21
20
|
</template>
|
|
22
21
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="rounded-lg border-[1px]" :class="[$libStyles.whiteBg, disabled && $libStyles.disabled]">
|
|
3
3
|
<div class="mt-3 ml-5">
|
|
4
|
-
<p :class="[$libStyles.textTitle, $libStyles.greenText]">{{ $t('form.attachManager') }}</p>
|
|
4
|
+
<p :class="[$libStyles.textTitle, $libStyles.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
|
|
@@ -10,55 +10,55 @@
|
|
|
10
10
|
:value="formStore.SaleChanellPolicy.nameRu"
|
|
11
11
|
:readonly="isReadonly"
|
|
12
12
|
:clearable="!isReadonly"
|
|
13
|
-
:label="$t('form.salesChanell')"
|
|
13
|
+
:label="$dataStore.t('form.salesChanell')"
|
|
14
14
|
:rules="$rules.objectRequired"
|
|
15
15
|
append-inner-icon="mdi mdi-chevron-right"
|
|
16
|
-
@append="openPanel('SaleChanellPolicy', $t('form.salesChanell'))"
|
|
17
|
-
|
|
16
|
+
@append="openPanel('SaleChanellPolicy', $dataStore.t('form.salesChanell'))"
|
|
17
|
+
/>
|
|
18
18
|
<base-panel-input
|
|
19
19
|
class="pl-1"
|
|
20
20
|
v-model="formStore.RegionPolicy"
|
|
21
21
|
:value="formStore.RegionPolicy.nameRu"
|
|
22
22
|
:readonly="isReadonly"
|
|
23
23
|
:clearable="!isReadonly"
|
|
24
|
-
:label="$t('form.Region')"
|
|
24
|
+
:label="$dataStore.t('form.Region')"
|
|
25
25
|
:rules="$rules.objectRequired"
|
|
26
26
|
append-inner-icon="mdi mdi-chevron-right"
|
|
27
|
-
@append="openPanel('RegionPolicy', $t('form.Region'))"
|
|
28
|
-
|
|
27
|
+
@append="openPanel('RegionPolicy', $dataStore.t('form.Region'))"
|
|
28
|
+
/>
|
|
29
29
|
<base-panel-input
|
|
30
30
|
class="pl-1"
|
|
31
31
|
v-model="formStore.ManagerPolicy"
|
|
32
32
|
:value="formStore.ManagerPolicy.nameRu"
|
|
33
33
|
:readonly="isReadonly"
|
|
34
34
|
:clearable="!isReadonly"
|
|
35
|
-
:label="$t('form.manager')"
|
|
35
|
+
:label="$dataStore.t('form.manager')"
|
|
36
36
|
:rules="$rules.objectRequired"
|
|
37
37
|
append-inner-icon="mdi mdi-chevron-right"
|
|
38
|
-
@append="openPanel('ManagerPolicy', $t('form.manager'))"
|
|
39
|
-
|
|
38
|
+
@append="openPanel('ManagerPolicy', $dataStore.t('form.manager'))"
|
|
39
|
+
/>
|
|
40
40
|
<base-panel-input
|
|
41
41
|
class="pl-1"
|
|
42
42
|
v-model="formStore.AgentData"
|
|
43
43
|
:value="formStore.AgentData.fullName"
|
|
44
44
|
:readonly="isReadonly"
|
|
45
45
|
:clearable="!isReadonly"
|
|
46
|
-
:label="$t('form.agent')"
|
|
46
|
+
:label="$dataStore.t('form.agent')"
|
|
47
47
|
:rules="$rules.agentDataRequired"
|
|
48
48
|
append-inner-icon="mdi mdi-chevron-right"
|
|
49
|
-
@append="openPanel('AgentData', $t('form.agent'))"
|
|
50
|
-
|
|
49
|
+
@append="openPanel('AgentData', $dataStore.t('form.agent'))"
|
|
50
|
+
/>
|
|
51
51
|
</v-form>
|
|
52
52
|
<Teleport v-if="isPanelOpen" to="#panel-actions">
|
|
53
53
|
<div :class="[$libStyles.scrollPage]" class="flex flex-col items-center">
|
|
54
54
|
<base-rounded-input
|
|
55
55
|
v-model.trim="searchQuery"
|
|
56
|
-
:label="$t('labels.search')"
|
|
56
|
+
:label="$dataStore.t('labels.search')"
|
|
57
57
|
class="w-full p-2"
|
|
58
58
|
:hide-details="true"
|
|
59
59
|
:append-inner-icon="currentDictName === 'AgentData' ? 'mdi mdi-magnify' : ''"
|
|
60
60
|
@append="searchAgent"
|
|
61
|
-
|
|
61
|
+
/>
|
|
62
62
|
<div v-if="dictList && isPanelLoading === false" class="w-full flex flex-col gap-2 p-2">
|
|
63
63
|
<div v-for="(item, index) in dictList" :key="item.id">
|
|
64
64
|
<base-panel-select-item
|
|
@@ -66,10 +66,10 @@
|
|
|
66
66
|
:text="currentDictName === 'AgentData' ? item.fullName : (item.nameRu as string)"
|
|
67
67
|
:selected="currentDictName === 'AgentData' ? item.fullName === panelValue.fullName : item.nameRu === panelValue.nameRu"
|
|
68
68
|
@click="pickPanelValue(item)"
|
|
69
|
-
|
|
69
|
+
/>
|
|
70
70
|
</div>
|
|
71
71
|
</div>
|
|
72
|
-
<base-loader v-if="isPanelLoading" class="absolute mt-10" :size="50"
|
|
72
|
+
<base-loader v-if="isPanelLoading" class="absolute mt-10" :size="50" />
|
|
73
73
|
</div>
|
|
74
74
|
</Teleport>
|
|
75
75
|
</div>
|
|
@@ -2,17 +2,17 @@
|
|
|
2
2
|
<div class="pt-3 pl-5 rounded-lg border-[1px]" :class="[$libStyles.whiteBg, disabled && $libStyles.disabled]">
|
|
3
3
|
<div>
|
|
4
4
|
<p :class="[$libStyles.textTitle, $libStyles.greenText]">
|
|
5
|
-
{{ $t('productConditions') }}
|
|
5
|
+
{{ $dataStore.t('productConditions') }}
|
|
6
6
|
</p>
|
|
7
7
|
<p v-if="!!subtitle" :class="[$libStyles.greyText, $libStyles.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="[$libStyles.textSimple]" class="font-medium">{{ $t('productConditionsForm.requestedSumInsured') }}</span>
|
|
11
|
-
<span v-if="hasPremium" :class="[$libStyles.textSimple]" class="font-medium">{{ $t('productConditionsForm.insurancePremiumPerMonth') }}</span>
|
|
12
|
-
<span v-if="hasPolicyNumber" :class="[$libStyles.textSimple]" class="font-medium hidden lg:block">{{ $t('buttons.InsuranceContract') }}</span>
|
|
13
|
-
<span v-if="hasContractDate" :class="[$libStyles.textSimple]" class="font-medium hidden lg:block">{{ $t('productConditionsForm.contractDate') }}</span>
|
|
14
|
-
<span v-if="hasCoverPeriod" :class="[$libStyles.textSimple]" class="font-medium hidden lg:block">{{ $t('productConditionsForm.coverPeriod') }}</span>
|
|
15
|
-
<span v-if="hasPayPeriod" :class="[$libStyles.textSimple]" class="font-medium hidden lg:block">{{ $t('productConditionsForm.payPeriod') }}</span>
|
|
10
|
+
<span v-if="hasSum" :class="[$libStyles.textSimple]" class="font-medium">{{ $dataStore.t('productConditionsForm.requestedSumInsured') }}</span>
|
|
11
|
+
<span v-if="hasPremium" :class="[$libStyles.textSimple]" class="font-medium">{{ $dataStore.t('productConditionsForm.insurancePremiumPerMonth') }}</span>
|
|
12
|
+
<span v-if="hasPolicyNumber" :class="[$libStyles.textSimple]" class="font-medium hidden lg:block">{{ $dataStore.t('buttons.InsuranceContract') }}</span>
|
|
13
|
+
<span v-if="hasContractDate" :class="[$libStyles.textSimple]" class="font-medium hidden lg:block">{{ $dataStore.t('productConditionsForm.contractDate') }}</span>
|
|
14
|
+
<span v-if="hasCoverPeriod" :class="[$libStyles.textSimple]" class="font-medium hidden lg:block">{{ $dataStore.t('productConditionsForm.coverPeriod') }}</span>
|
|
15
|
+
<span v-if="hasPayPeriod" :class="[$libStyles.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
18
|
<span v-if="hasSum" :class="[amount === null && $libStyles.emptyBlockCol]">{{ amount }} </span>
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
:class="[$libStyles.blueBgLight, $libStyles.blueBgLightHover, disabled ? $libStyles.disabled : 'cursor-pointer']"
|
|
29
29
|
@click="!disabled && $emit('onMore', { whichForm: 'productConditions' })"
|
|
30
30
|
>
|
|
31
|
-
<i class="mdi mdi-dots-vertical text-xl absolute top-[20px] right-[20px]"
|
|
31
|
+
<i class="mdi mdi-dots-vertical text-xl absolute top-[20px] right-[20px]"></i>
|
|
32
32
|
</div>
|
|
33
33
|
</div>
|
|
34
34
|
</div>
|
|
@@ -34,16 +34,16 @@
|
|
|
34
34
|
v-if="appendInnerIcon.includes('mdi-calendar-blank-outline') === false"
|
|
35
35
|
:icon="appendInnerIcon"
|
|
36
36
|
@click="appendInnerIcon.includes('mdi-magnify') ? $emit('append') : !props.readonly && $emit('append')"
|
|
37
|
-
|
|
37
|
+
/>
|
|
38
38
|
<base-datepicker
|
|
39
39
|
v-if="appendInnerIcon.includes('mdi-calendar-blank-outline') && !props.readonly"
|
|
40
40
|
:model-value="modelValue"
|
|
41
41
|
@update:modelValue="$emit('update:modelValue', $event)"
|
|
42
42
|
:teleport="teleport"
|
|
43
|
-
|
|
43
|
+
/>
|
|
44
44
|
</template>
|
|
45
45
|
<template v-if="loading" #loader>
|
|
46
|
-
<v-progress-linear :active="loading" :color="color" absolute height="1" indeterminate
|
|
46
|
+
<v-progress-linear :active="loading" :color="color" absolute height="1" indeterminate />
|
|
47
47
|
</template>
|
|
48
48
|
</v-text-field>
|
|
49
49
|
</template>
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
@update:modelValue="$emit('update:modelValue', $event)"
|
|
33
33
|
>
|
|
34
34
|
<template v-if="loading" #loader>
|
|
35
|
-
<v-progress-linear :active="loading" :color="color" absolute height="1" indeterminate
|
|
35
|
+
<v-progress-linear :active="loading" :color="color" absolute height="1" indeterminate />
|
|
36
36
|
</template>
|
|
37
37
|
</v-text-field>
|
|
38
38
|
</template>
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
@update:modelValue="$emit('update:modelValue', $event)"
|
|
29
29
|
>
|
|
30
30
|
<template v-if="loading" #loader>
|
|
31
|
-
<v-progress-linear :active="loading" :color="color" absolute height="1" indeterminate
|
|
31
|
+
<v-progress-linear :active="loading" :color="color" absolute height="1" indeterminate />
|
|
32
32
|
</template>
|
|
33
33
|
</v-text-field>
|
|
34
34
|
</template>
|
|
@@ -117,7 +117,7 @@ export default defineComponent({
|
|
|
117
117
|
|
|
118
118
|
return {
|
|
119
119
|
submitted,
|
|
120
|
-
props
|
|
120
|
+
props,
|
|
121
121
|
};
|
|
122
122
|
},
|
|
123
123
|
});
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
@update:modelValue="$emit('update:modelValue', $event)"
|
|
27
27
|
>
|
|
28
28
|
<template v-if="loading" #loader>
|
|
29
|
-
<v-progress-linear :active="loading" :color="color" absolute height="1" indeterminate
|
|
29
|
+
<v-progress-linear :active="loading" :color="color" absolute height="1" indeterminate />
|
|
30
30
|
</template>
|
|
31
31
|
</v-select>
|
|
32
32
|
</template>
|
|
@@ -8,11 +8,11 @@
|
|
|
8
8
|
:disable-resize-watcher="true"
|
|
9
9
|
:disable-route-watcher="true"
|
|
10
10
|
>
|
|
11
|
-
<base-header :title="panelTitle" :has-back="true" back-icon="mdi-close" class="justify-center" @onBack="closePanel"
|
|
11
|
+
<base-header :title="panelTitle" :has-back="true" back-icon="mdi-close" class="justify-center" @onBack="closePanel" />
|
|
12
12
|
<div v-if="$dataStore.panelAction === null" class="flex flex-col" id="panel-actions">
|
|
13
13
|
<slot></slot>
|
|
14
14
|
</div>
|
|
15
|
-
<base-panel-handler v-else
|
|
15
|
+
<base-panel-handler v-else />
|
|
16
16
|
<slot name="panel"></slot>
|
|
17
17
|
</v-navigation-drawer>
|
|
18
18
|
</template>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<v-progress-circular :size="size" :width="width" :indeterminate="indeterminate" :color="color" :bg-color="bgColor"
|
|
2
|
+
<v-progress-circular :size="size" :width="width" :indeterminate="indeterminate" :color="color" :bg-color="bgColor" />
|
|
3
3
|
</template>
|
|
4
4
|
|
|
5
5
|
<script lang="ts">
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<base-drawer :panel-title="$dataStore.menu.title" which-panel="settings">
|
|
3
3
|
<base-panel-item>
|
|
4
|
-
<v-btn size="x-small" icon="mdi-minus" color="#A0B3D8" class="text-white" variant="flat" @click="handleFontSize('decrease')"
|
|
4
|
+
<v-btn size="x-small" icon="mdi-minus" color="#A0B3D8" class="text-white" variant="flat" @click="handleFontSize('decrease')" />
|
|
5
5
|
Шрифт
|
|
6
|
-
<v-btn size="x-small" icon="mdi-plus" color="#A0B3D8" class="text-white" variant="flat" @click="handleFontSize('increase')"
|
|
6
|
+
<v-btn size="x-small" icon="mdi-plus" color="#A0B3D8" class="text-white" variant="flat" @click="handleFontSize('increase')" />
|
|
7
7
|
</base-panel-item>
|
|
8
8
|
<base-panel-item>
|
|
9
|
-
<v-text-field v-model="$dataStore.user.fullName" :readonly="true" hide-details variant="plain" :label="$dataStore.user.roles?.join(', ')"
|
|
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
12
|
<base-panel-item v-if="$dataStore.isEFO && !isProduction" @click="changeBridge('lka')" class="cursor-pointer">
|
|
13
|
-
{{ $t('labels.lkaLong') }}
|
|
13
|
+
{{ $dataStore.t('labels.lkaLong') }}
|
|
14
14
|
<i class="mdi mdi-chevron-right text-2xl text-[#A0B3D8]"></i
|
|
15
15
|
></base-panel-item>
|
|
16
16
|
<base-panel-item v-if="$dataStore.isLKA" @click="changeBridge('efo')" class="cursor-pointer">
|
|
17
|
-
{{ $t('labels.efoLong') }}
|
|
17
|
+
{{ $dataStore.t('labels.efoLong') }}
|
|
18
18
|
<i class="mdi mdi-web text-2xl text-[#A0B3D8]"></i
|
|
19
19
|
></base-panel-item>
|
|
20
20
|
<base-panel-item
|
|
@@ -27,19 +27,25 @@
|
|
|
27
27
|
<i v-if="panelItem.icon" class="mdi text-xl text-[#A0B3D8]" :class="[panelItem.icon]"></i>
|
|
28
28
|
</base-panel-item>
|
|
29
29
|
<base-panel-item v-if="hasHistory" @click="openHistory" class="cursor-pointer">
|
|
30
|
-
{{ $t('historyStatementsAndStatuses') }}
|
|
30
|
+
{{ $dataStore.t('historyStatementsAndStatuses') }}
|
|
31
31
|
<i class="mdi mdi-history text-xl text-[#A0B3D8]"></i>
|
|
32
32
|
</base-panel-item>
|
|
33
33
|
<base-panel-item @click="dialogSignOut = true" class="cursor-pointer" :class="[$libStyles.redText]">
|
|
34
|
-
{{ $t('buttons.logout') }}
|
|
34
|
+
{{ $dataStore.t('buttons.logout') }}
|
|
35
35
|
<i class="mdi mdi-logout text-xl"></i>
|
|
36
36
|
</base-panel-item>
|
|
37
37
|
<div v-if="$dataStore.settings.open" class="absolute bottom-2 w-full flex items-center justify-center opacity-30 text-sm">
|
|
38
38
|
<p>{{ pkg.version }}</p>
|
|
39
39
|
</div>
|
|
40
|
-
<base-dialog
|
|
41
|
-
|
|
42
|
-
|
|
40
|
+
<base-dialog
|
|
41
|
+
v-model="dialogSignOut"
|
|
42
|
+
:title="$dataStore.t('dialog.exit')"
|
|
43
|
+
:subtitle="$dataStore.t('dialog.dataWillClear')"
|
|
44
|
+
actions="default"
|
|
45
|
+
@yes="logoutUser"
|
|
46
|
+
@no="dialogSignOut = false"
|
|
47
|
+
/>
|
|
48
|
+
</base-drawer>
|
|
43
49
|
</template>
|
|
44
50
|
|
|
45
51
|
<script lang="ts" setup>
|
|
@@ -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="[$libStyles.textSimple]" :menu-item="item" @click="$emit(item.id)"
|
|
5
|
+
<base-menu-nav-item :class="[$libStyles.textSimple]" :menu-item="item" @click="$emit(item.id)" />
|
|
6
6
|
</div>
|
|
7
7
|
</base-form-text-section>
|
|
8
8
|
</v-menu>
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
:more-icon="moreIcon"
|
|
11
11
|
@onBack="$emit('onBack')"
|
|
12
12
|
@onMore="$emit('onMore')"
|
|
13
|
-
|
|
13
|
+
/>
|
|
14
14
|
<slot key="slot-content" name="content"></slot>
|
|
15
15
|
<section key="main" :class="[$libStyles.flexColNav]">
|
|
16
16
|
<slot name="start"></slot>
|
|
@@ -42,8 +42,7 @@
|
|
|
42
42
|
:disabled="item.disabled"
|
|
43
43
|
:loading="$dataStore.isButtonsLoading"
|
|
44
44
|
@click="item.action"
|
|
45
|
-
|
|
46
|
-
</base-btn>
|
|
45
|
+
/>
|
|
47
46
|
</transition>
|
|
48
47
|
</div></div
|
|
49
48
|
></base-fade-transition>
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
<span>{{ menuItem.title }}</span>
|
|
13
13
|
<div class="flex items-center">
|
|
14
14
|
<i v-if="menuItem.icon" class="mdi text-xl pr-4" :class="[menuItem.icon]"></i>
|
|
15
|
-
<base-chip :chip="menuItem.chip"
|
|
15
|
+
<base-chip :chip="menuItem.chip" />
|
|
16
16
|
</div>
|
|
17
17
|
<v-tooltip v-if="menuItem.description" activator="parent" location="bottom">{{ menuItem.description }}</v-tooltip>
|
|
18
18
|
</div>
|
|
@@ -4,11 +4,11 @@
|
|
|
4
4
|
<section :class="[$libStyles.blueBgLight, $libStyles.rounded]" class="mx-[10px] my-[14px] p-4 flex flex-col gap-4">
|
|
5
5
|
<base-form-toggle
|
|
6
6
|
v-model="answerToAll"
|
|
7
|
-
:title="$t('questionnaireType.answerAllNo')"
|
|
7
|
+
:title="$dataStore.t('questionnaireType.answerAllNo')"
|
|
8
8
|
:disabled="formStore.isDisabled[whichSurvey] || !$dataStore.isTask()"
|
|
9
9
|
:has-border="false"
|
|
10
10
|
@clicked="handleToggler"
|
|
11
|
-
|
|
11
|
+
/>
|
|
12
12
|
</section>
|
|
13
13
|
<v-form ref="vForm" class="max-h-[70vh] overflow-y-scroll" @submit="submitForm">
|
|
14
14
|
<section
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
:maska="$maska.threeDigit"
|
|
25
25
|
:readonly="formStore.isDisabled[whichSurvey] || !$dataStore.isTask()"
|
|
26
26
|
:rules="$rules.required"
|
|
27
|
-
|
|
27
|
+
/>
|
|
28
28
|
</section>
|
|
29
29
|
<section
|
|
30
30
|
v-if="firstQuestionList.filter(i => i.first.definedAnswers === 'Y').length"
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
class="rounded-t-lg pl-6 py-1 cursor-pointer"
|
|
40
40
|
@click="openFirstPanel(question)"
|
|
41
41
|
>
|
|
42
|
-
{{ $t('questionnaireType.pleaseAnswer', { text: secondQuestionList.length }) }}
|
|
42
|
+
{{ $dataStore.t('questionnaireType.pleaseAnswer', { text: secondQuestionList.length }) }}
|
|
43
43
|
</div>
|
|
44
44
|
</base-fade-transition>
|
|
45
45
|
<span :class="[$libStyles.textTitle]" class="border-b-[1px] border-b-[#F3F6FC] p-6 flex items-center justify-between">
|
|
@@ -62,8 +62,8 @@
|
|
|
62
62
|
:readonly="formStore.isDisabled[whichSurvey] || !$dataStore.isTask()"
|
|
63
63
|
inline
|
|
64
64
|
>
|
|
65
|
-
<v-radio label="Да" value="Да"
|
|
66
|
-
<v-radio label="Нет" value="Нет"
|
|
65
|
+
<v-radio label="Да" value="Да" />
|
|
66
|
+
<v-radio label="Нет" value="Нет" />
|
|
67
67
|
</v-radio-group>
|
|
68
68
|
</div>
|
|
69
69
|
</base-form-text-section>
|
|
@@ -74,8 +74,8 @@
|
|
|
74
74
|
:loading="isButtonLoading"
|
|
75
75
|
:disabled="formStore.isDisabled[whichSurvey] || !$dataStore.isTask()"
|
|
76
76
|
@click="submitForm"
|
|
77
|
-
:text="$t('buttons.save')"
|
|
78
|
-
|
|
77
|
+
:text="$dataStore.t('buttons.save')"
|
|
78
|
+
/>
|
|
79
79
|
</section>
|
|
80
80
|
<v-btn
|
|
81
81
|
v-if="secondQuestionList && secondQuestionList.length && firstPanel"
|
|
@@ -85,7 +85,7 @@
|
|
|
85
85
|
firstPanel = false;
|
|
86
86
|
secondPanel = false;
|
|
87
87
|
"
|
|
88
|
-
|
|
88
|
+
/>
|
|
89
89
|
<section
|
|
90
90
|
ref="firstPanelSection"
|
|
91
91
|
v-if="secondQuestionList && secondQuestionList.length && firstPanel"
|
|
@@ -94,12 +94,7 @@
|
|
|
94
94
|
>
|
|
95
95
|
<section v-if="currentQuestion" :class="[$libStyles.blueBgLight, $libStyles.rounded]" class="mx-[10px] mt-[14px] p-4 flex flex-col gap-4">
|
|
96
96
|
<base-form-text-section v-for="question in currentQuestion.second" :title="question.name" :key="question.name">
|
|
97
|
-
<base-form-input
|
|
98
|
-
v-if="question.definedAnswers === 'N'"
|
|
99
|
-
v-model="question.answerText"
|
|
100
|
-
class="border-t-[1px] border-t-[#F3F6FC]"
|
|
101
|
-
placeholder="Введите текст"
|
|
102
|
-
></base-form-input>
|
|
97
|
+
<base-form-input v-if="question.definedAnswers === 'N'" v-model="question.answerText" class="border-t-[1px] border-t-[#F3F6FC]" placeholder="Введите текст" />
|
|
103
98
|
<span v-else class="flex items-center justify-between p-4 cursor-pointer" :class="[$libStyles.textTitle, $libStyles.greenText]" @click="openSecondPanel(question)">
|
|
104
99
|
{{ question.answerName ? question.answerName : 'Выбрать вариант ответа' }}
|
|
105
100
|
<i class="mdi mdi-chevron-right text-[28px]"></i>
|
|
@@ -110,7 +105,7 @@
|
|
|
110
105
|
</base-fade-transition>
|
|
111
106
|
<Teleport v-if="secondPanel" to="#panel-actions">
|
|
112
107
|
<div :class="[$libStyles.scrollPage]" class="flex flex-col items-center">
|
|
113
|
-
<base-rounded-input v-model="searchQuery" :label="$t('labels.search')" class="w-full p-2" :hide-details="true"
|
|
108
|
+
<base-rounded-input v-model="searchQuery" :label="$dataStore.t('labels.search')" class="w-full p-2" :hide-details="true" />
|
|
114
109
|
<div v-if="$dataStore.questionRefs && $dataStore.questionRefs.length && isPanelLoading === false" class="w-full flex flex-col gap-2 p-2">
|
|
115
110
|
<base-panel-select-item
|
|
116
111
|
v-for="(item, index) of $dataStore.questionRefs.filter(i => i.nameRu && (i.nameRu as string).match(new RegExp(searchQuery, 'i')))"
|
|
@@ -118,9 +113,9 @@
|
|
|
118
113
|
:text="`${item.nameRu}`"
|
|
119
114
|
:selected="currentSecond!.answerId === item.ids"
|
|
120
115
|
@click="closeSecondPanel(item)"
|
|
121
|
-
|
|
116
|
+
/>
|
|
122
117
|
</div>
|
|
123
|
-
<base-loader v-if="isPanelLoading" class="absolute mt-10" :size="50"
|
|
118
|
+
<base-loader v-if="isPanelLoading" class="absolute mt-10" :size="50" />
|
|
124
119
|
</div>
|
|
125
120
|
</Teleport>
|
|
126
121
|
<base-scroll-buttons @up="scrollForm('up')" @down="scrollForm('down')" />
|