fix(desktop): закрепить кнопки оверлея выбора КУ на мобильных

Кнопки «Продолжить» и «подписать» вынесены в footer BaseDialog, чтобы они не уезжали за пределы экрана при прокрутке контента.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
coopops
2026-07-09 05:48:16 +00:00
parent 85bd044cd6
commit a948f07a1b
2 changed files with 41 additions and 9 deletions
@@ -7,8 +7,8 @@ BaseDialog(
:close-on-backdrop='false',
:close-on-escape='false'
)
div.row.justify-center
div(style="padding-bottom: 100px;").col-md-8.col-col-xs-12
div.row.justify-center.select-branch-overlay__content
div.col-md-8.col-xs-12
div(v-if="step === 1")
p.q-mt-lg
@@ -18,10 +18,8 @@ BaseDialog(
v-else
:handler-submit="next"
:is-submitting="isSubmitting"
:showSubmit="!isLoading"
:showSubmit="false"
:showCancel="false"
:disabled="!selectedBranch"
:button-submit-txt="'Продолжить'"
)
BranchSelector(
v-model:selectedBranch="selectedBranch"
@@ -30,15 +28,29 @@ BaseDialog(
div(v-else-if="step === 2")
Loader(v-if="isLoading" :text="`Формируем документ...`")
DocumentHtmlReader(v-else :html="document.html")
div(v-else)
DocumentHtmlReader(:html="document.html")
q-btn(@click="back" flat) назад
q-btn(@click="sign" color="primary") подписать
template(#footer)
.select-branch-overlay__actions(v-if="step === 1 && !branchesLoading")
BaseButton(
variant='primary',
:block='true',
:loading='isSubmitting',
:disabled='!selectedBranch',
@click='next'
) Продолжить
.select-branch-overlay__actions(v-else-if="step === 2 && !isLoading")
BaseButton(variant='ghost', @click='back') назад
BaseButton(
variant='primary',
:loading='isSubmitting',
@click='sign'
) подписать
</template>
<script setup lang="ts">
import { BaseDialog } from 'src/shared/ui/base/BaseDialog'
import { BaseButton } from 'src/shared/ui/base/BaseButton'
import { Form } from 'src/shared/ui/Form'
import { Loader } from 'src/shared/ui/Loader'
import { BranchSelector } from 'src/shared/ui/BranchSelector'
@@ -63,6 +75,23 @@ BaseDialog(
} = useSelectBranchProcess()
</script>
<style scoped lang="scss">
/* Кнопки в слоте footer BaseDialog — вне скроллящегося body,
поэтому «Продолжить» / «подписать» всегда видны на мобильных. */
.select-branch-overlay__actions {
width: 100%;
display: flex;
gap: var(--p-2, 8px);
justify-content: flex-end;
flex-wrap: wrap;
padding-bottom: env(safe-area-inset-bottom, 0px);
}
.select-branch-overlay__content {
padding-bottom: var(--p-2, 8px);
}
</style>
<style>
.digital-document .header{
text-align: center;
@@ -79,6 +79,9 @@ const maxWidthBySize: Record<BaseDialogSize, string> = {
flex: 1 1 auto;
overflow: auto;
}
.base-dialog--maximized .base-dialog__foot {
flex-shrink: 0;
}
.base-dialog__head {
display: flex;
align-items: center;