Кнопка скачивания отчета + правка отчета

This commit is contained in:
brusnitsyn
2026-07-07 00:51:11 +09:00
parent 03103627ab
commit 19dbefcff0
3 changed files with 24 additions and 15 deletions

View File

@@ -20,7 +20,7 @@ class DutyReportExport
protected array $dateRange,
protected User $user,
protected Department $department,
protected string $reportName = 'Отчёт дежурного врача по приёмному покою и отделению',
protected string $reportName = 'Отчёт дежурного врача',
) {}
/**

View File

@@ -11,7 +11,8 @@ import {
NTabPane,
NTabs,
NTag,
NRow, NCol, NDivider, NButton, NSpace
NRow, NCol, NDivider, NButton, NSpace,
NIcon
} from "naive-ui";
import DatePickerQuery from "../../Components/DatePickerQuery.vue";
import AppPanel from "../../Components/AppPanel.vue";
@@ -25,6 +26,7 @@ import OperationWidget from "./Components/Widgets/OperationWidget.vue";
import LoadedWidget from "./Components/Widgets/LoadedWidget.vue";
import UnwantedEventModal from "./Components/Modals/UnwantedEventModal.vue";
import RecipientWidget from "./Components/Widgets/RecipientWidget.vue";
import { PiMicrosoftExcelLogo } from "vue-icons-plus/pi";
const props = defineProps({
department: {
@@ -233,7 +235,7 @@ const downloadReport = async () => {
const url = window.URL.createObjectURL(blob)
const a = document.createElement('a')
a.href = url
a.download = 'Отчёт дежурного.xlsx'
a.download = 'Отчёт дежурного.pdf'
document.body.appendChild(a)
a.click()
window.URL.revokeObjectURL(url)
@@ -348,12 +350,19 @@ watch(() => props, (newProps) => {
secondary type="error" :loading="loading" @click="onShowUnwantedEventModal">
Нежелательные события ({{ latestReportObj.unwanted_events?.length ?? 0 }})
</NButton>
<NButton secondary @click="downloadReport" :loading="loading">
Сформировать отчет дежурного
</NButton>
<NButton v-if="props.canSaveReport" secondary @click="submit" :loading="loading">
Сохранить введенные данные
</NButton>
<NSpace>
<NButton secondary @click="downloadReport" :loading="loading">
<template #icon>
<NIcon>
<PiMicrosoftExcelLogo />
</NIcon>
</template>
Скачать отчет
</NButton>
<NButton v-if="props.canSaveReport" secondary @click="submit" :loading="loading">
Сохранить введенные данные
</NButton>
</NSpace>
</NFlex>
</AppPanel>
</AppContainer>

View File

@@ -19,17 +19,17 @@
<p class="label">Плановые: {{ $planned['count'] }}</p>
@foreach ($planned['patients'] as $i => $p)
<p class="patient">{{ $i + 1 }}-{{ $p['full_name'] }} {{ $p['age'] }}.@if ($p['diagnosis']) Д/З: {{ $p['diagnosis'] }}.@endif</p>
<p class="patient">{{ $i + 1 }}. {{ $p['full_name'] }} {{ $p['age'] }}.@if ($p['diagnosis']) Д/З: {{ $p['diagnosis'] }}.@endif</p>
@endforeach
<p class="label">Экстренные: {{ $urgent['count'] }}</p>
@foreach ($urgent['patients'] as $i => $p)
<p class="patient">{{ $i + 1 }}-{{ $p['full_name'] }} {{ $p['age'] }}.@if ($p['diagnosis']) Д/З: {{ $p['diagnosis'] }}.@endif</p>
<p class="patient">{{ $i + 1 }}. {{ $p['full_name'] }} {{ $p['age'] }}.@if ($p['diagnosis']) Д/З: {{ $p['diagnosis'] }}.@endif</p>
@endforeach
<p>В отделении состоит: {{ $inDepartment }}</p>
<p class="label">В отделении состоит: {{ $inDepartment }}</p>
<p class="label">ПЛАНОВЫХ ОПЕРАЦИЙ: {{ $plannedOperations['count'] }}</p>
<p class="label">Плановых операций: {{ $plannedOperations['count'] }}</p>
@foreach ($plannedOperations['patients'] as $p)
<p class="patient">{{ $p['full_name'] }} {{ $p['age'] }}.</p>
@endforeach
@@ -44,9 +44,9 @@
<p class="patient">{{ $i + 1 }}. {{ $p['full_name'] }} {{ $p['age'] }}.@if ($p['diagnosis']) {{ $p['diagnosis'] }}.@endif</p>
@endforeach
<p>Под наблюдением: {{ $observableCount }}</p>
<p class="label">Под наблюдением: {{ $observableCount }}</p>
<p>Летальные исходы: {{ $deceased['count'] > 0 ? '' : 'не было.' }}</p>
<p class="label">Летальные исходы: {{ $deceased['count'] > 0 ? '' : 'не было.' }}</p>
@foreach ($deceased['patients'] as $i => $p)
<p class="patient">{{ $i + 1 }}. {{ $p['full_name'] }} {{ $p['age'] }}.@if ($p['diagnosis']) {{ $p['diagnosis'] }}.@endif</p>
@endforeach