[598][@ant] fix: документ списания по центру + общий Loader + убрать выдуманный текст из записки/протокола — чище UX подтверждения
- DocumentViewerDialog: лист документа центрируется (max-width 900px), а не прижат влево на maximized-диалоге - Loader (общий) вместо сырого q-spinner в ConfirmWriteoffDialog/SubmitToCouncilDialog и трёх Process*InfoWidget - 1111 Служебная записка + 1107 Протокол: убраны строки «Идентификатор проекта списания» и бухпроводка Дт86/Кт10 — пользователь не просил этот текст Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
-3
@@ -142,8 +142,6 @@ th { width: 30%; }
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<p>{% trans 'proposal_ref' %} {{ proposal_hash }}</p>
|
||||
|
||||
<hr />
|
||||
<p>{% trans 'closing_time', decision.time %}</p>
|
||||
<div class="signature">
|
||||
@@ -184,7 +182,6 @@ export const translations = {
|
||||
meeting_format_value: 'заочная',
|
||||
agenda_subject: 'Утвердить списание {0} позиций имущества со складов кооперативных участков на общую сумму {1} (цикл от {2}) по ЦПП «Стол заказов» — поданное Заявление председателя о списании скоропорта.',
|
||||
decision_writeoff_text: 'Списать {0} позиций имущества на общую сумму {1} с балансов кооперативных участков через транзит счёта 91 «Прочие доходы и расходы» с закрытием на счёт 86 Целевого финансирования программы. Движений по кошелькам пайщиков не производить.',
|
||||
proposal_ref: 'Идентификатор проекта списания:',
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
-6
@@ -143,10 +143,6 @@ th, td {
|
||||
|
||||
<p>{% trans 'confirmation' %}</p>
|
||||
|
||||
<p style="margin: 0px">{% trans 'proposal_ref' %} {{ proposal_hash }}</p>
|
||||
|
||||
<p>{% trans 'ledger_note' %}</p>
|
||||
|
||||
<p>{% trans 'signature' %}</p>
|
||||
<p style="margin: 0px">{% trans 'chairman_of_branch', branch_name %} {{ chairman.full_name_or_short_name }}</p>
|
||||
<p style="margin: 0px">{{ meta.created_at }}</p>
|
||||
@@ -165,8 +161,6 @@ export const translations = {
|
||||
col_reason: 'Причина',
|
||||
total: 'ИТОГО',
|
||||
confirmation: 'Списание произведено. Имущество физически выбыло со склада кооперативного участка и снято с учёта.',
|
||||
proposal_ref: 'Идентификатор проекта списания:',
|
||||
ledger_note: 'Списание оформляется бухгалтерской проводкой Дт 86 «Целевое финансирование» / Кт 10 «Материалы»; движений по кошелькам пайщиков не производится.',
|
||||
signature: 'Подписано электронной подписью.',
|
||||
chairman_of_branch: 'Председатель кооперативного участка «{0}»:',
|
||||
},
|
||||
|
||||
+2
-3
@@ -4,6 +4,7 @@ import { useSessionStore } from 'src/entities/Session';
|
||||
import { FailAlert, SuccessAlert } from 'src/shared/api';
|
||||
import { DigitalDocument } from 'src/shared/lib/document';
|
||||
import { BaseButton, BaseDialog } from 'src/shared/ui/base';
|
||||
import { Loader } from 'src/shared/ui/Loader';
|
||||
import {
|
||||
getWriteoffStatementSignablePayload,
|
||||
submitWriteoffDraft,
|
||||
@@ -85,9 +86,7 @@ BaseDialog(
|
||||
:close-on-backdrop="false",
|
||||
@update:model-value="(v) => emit('update:modelValue', v)"
|
||||
)
|
||||
.submit-council__loading(v-if="loading")
|
||||
q-spinner(color="primary", size="42px")
|
||||
.t-muted Формируем Заявление…
|
||||
Loader(v-if="loading", text="Формируем Заявление…")
|
||||
|
||||
template(v-else-if="previewDoc")
|
||||
.t-muted.submit-council__intro
|
||||
|
||||
@@ -4,6 +4,7 @@ import { useSessionStore } from 'src/entities/Session';
|
||||
import { FailAlert, SuccessAlert } from 'src/shared/api';
|
||||
import { DigitalDocument } from 'src/shared/lib/document';
|
||||
import { BaseButton, BaseDialog } from 'src/shared/ui/base';
|
||||
import { Loader } from 'src/shared/ui/Loader';
|
||||
import {
|
||||
confirmWriteoff,
|
||||
getWriteoffServiceMemoSignablePayload,
|
||||
@@ -83,9 +84,7 @@ BaseDialog(
|
||||
:close-on-backdrop="false",
|
||||
@update:model-value="(v) => emit('update:modelValue', v)"
|
||||
)
|
||||
.confirm-writeoff(v-if="loading")
|
||||
q-spinner(size="24px")
|
||||
span.text-grey-7 Формируем Служебную записку…
|
||||
Loader(v-if="loading", text="Формируем Служебную записку…")
|
||||
|
||||
template(v-else-if="previewDoc")
|
||||
.t-muted.confirm-writeoff__intro
|
||||
@@ -106,10 +105,6 @@ BaseDialog(
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.confirm-writeoff {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: var(--p-3, 12px);
|
||||
|
||||
&__intro {
|
||||
margin-bottom: var(--p-4, 16px);
|
||||
}
|
||||
|
||||
+21
-5
@@ -11,11 +11,13 @@ BaseDialog(
|
||||
maximized
|
||||
@update:model-value='(v) => emit("update:modelValue", v)'
|
||||
)
|
||||
BaseDocument(
|
||||
v-if='modelValue && documentAggregate'
|
||||
:document-aggregate='documentAggregate'
|
||||
)
|
||||
.text-body2.text-grey-7(v-else) Документ недоступен
|
||||
//- Документ — листом А4 по центру экрана. На широком maximized-диалоге сам
|
||||
//- q-card документа растягивается во всю ширину и визуально «прижимается»
|
||||
//- влево; центрируем его контейнером с ограничением по ширине.
|
||||
.document-viewer__center(v-if='modelValue && documentAggregate')
|
||||
BaseDocument(:document-aggregate='documentAggregate')
|
||||
.document-viewer__center(v-else)
|
||||
.text-body2.text-grey-7 Документ недоступен
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
@@ -33,3 +35,17 @@ const emit = defineEmits<{
|
||||
'update:modelValue': [value: boolean]
|
||||
}>()
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.document-viewer__center {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
width: 100%;
|
||||
|
||||
// Лист документа — ограничен по ширине и центрирован (страница А4).
|
||||
:deep(> *) {
|
||||
width: 100%;
|
||||
max-width: 900px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
+2
-3
@@ -1,8 +1,6 @@
|
||||
<template lang="pug">
|
||||
.process-return-info
|
||||
div(v-if='loading')
|
||||
q-spinner(size='sm')
|
||||
span.q-ml-sm.text-grey-7 Загрузка содержания заявления…
|
||||
Loader(v-if='loading', text='Загрузка содержания заявления…')
|
||||
div(v-else-if='snapshot')
|
||||
.row.q-col-gutter-md
|
||||
.col-12.col-sm-6
|
||||
@@ -39,6 +37,7 @@
|
||||
<script lang="ts" setup>
|
||||
import { computed, onMounted, ref } from 'vue'
|
||||
import { useProcessStore, type IProcessSnapshot } from 'src/entities/Process'
|
||||
import { Loader } from 'src/shared/ui/Loader'
|
||||
|
||||
interface Props {
|
||||
processHash: string
|
||||
|
||||
+2
-3
@@ -1,8 +1,6 @@
|
||||
<template lang="pug">
|
||||
.process-supply-info
|
||||
div(v-if='loading')
|
||||
q-spinner(size='sm')
|
||||
span.q-ml-sm.text-grey-7 Загрузка содержания заказа…
|
||||
Loader(v-if='loading', text='Загрузка содержания заказа…')
|
||||
div(v-else-if='snapshot')
|
||||
.row.q-col-gutter-md
|
||||
.col-12.col-sm-6
|
||||
@@ -39,6 +37,7 @@
|
||||
<script lang="ts" setup>
|
||||
import { computed, onMounted, ref } from 'vue'
|
||||
import { useProcessStore, type IProcessSnapshot } from 'src/entities/Process'
|
||||
import { Loader } from 'src/shared/ui/Loader'
|
||||
|
||||
interface Props {
|
||||
processHash: string
|
||||
|
||||
+2
-3
@@ -1,8 +1,6 @@
|
||||
<template lang="pug">
|
||||
.process-writeoff-info
|
||||
div(v-if='loading')
|
||||
q-spinner(size='sm')
|
||||
span.q-ml-sm.text-grey-7 Загрузка проекта решения…
|
||||
Loader(v-if='loading', text='Загрузка проекта решения…')
|
||||
div(v-else-if='snapshot')
|
||||
.row.q-col-gutter-md
|
||||
.col-12.col-sm-6
|
||||
@@ -40,6 +38,7 @@
|
||||
import { computed, onMounted, ref } from 'vue'
|
||||
import { useProcessStore, type IProcessSnapshot } from 'src/entities/Process'
|
||||
import { formatAsset2Digits } from 'src/shared/lib/utils/formatAsset2Digits'
|
||||
import { Loader } from 'src/shared/ui/Loader'
|
||||
|
||||
interface Props {
|
||||
processHash: string
|
||||
|
||||
Reference in New Issue
Block a user