Обновлен стартовый экран

Переписаны запросы для статистики, отчетов
Добавлена интеграция отчета сестры
This commit is contained in:
brusnitsyn
2026-05-28 22:10:00 +09:00
parent 90e0d04dfd
commit 739168d427
96 changed files with 6663 additions and 1465 deletions

View File

@@ -1,12 +1,15 @@
<script setup>
import {NModal, NThing, NTag, NButton, NSpace, NDrawer, NDrawerContent, NInput} from "naive-ui";
import {NModal, NThing, NTag, NButton, NSpace, NDrawer, NDrawerContent, NInput, NText} from "naive-ui";
import {ref, watch} from "vue";
import {TbClockCheck, TbCalendar, TbTag} from 'vue-icons-plus/tb'
import {format} from "date-fns";
import AppPanel from "../../../Components/AppPanel.vue";
import UrgencyBadge from "../../../Components/UrgencyBadge.vue";
import OperationUrgencyTag from "./Tags/OperationUrgencyTag.vue";
const props = defineProps({
operations: Array
operations: Array,
patient: Object
})
const show = defineModel('show')
@@ -21,19 +24,28 @@ const onShowInfoDrawer = (operation) => {
<template>
<NModal v-model:show="show"
title="Операции"
:mask-closable="false"
:segmented="{ content: true }"
segmented
class="max-w-xl overflow-clip h-[400px]"
draggable
content-scrollable
preset="card"
id="modal-operation"
>
<template #header>
<NSpace vertical :size="1" class="text-base font-normal">
<NText strong>
{{ patient.full_name ?? '' }}
</NText>
<NText depth="3" class="text-sm">
Проведенные операции
</NText>
</NSpace>
</template>
<div class="space-y-4">
<NThing v-for="operation in operations">
<template #header>
Операция
Операция {{operation.number}}
</template>
<template #header-extra>
<NTag size="small" type="info" round :bordered="false">
@@ -45,18 +57,19 @@ const onShowInfoDrawer = (operation) => {
</template>
<template #description>
<NSpace align="center" size="small">
<NTag type="success" round :bordered="false">
<NTag type="success" round :bordered="false" size="small">
<template #icon>
<TbCalendar size="18" />
<TbCalendar size="16" />
</template>
{{format(operation.start_date, 'dd.MM.yyyy')}}
</NTag>
<NTag type="success" round :bordered="false">
<NTag type="success" round :bordered="false" size="small">
<template #icon>
<TbTag size="18" />
<TbTag size="16" />
</template>
{{operation.code_service}}
</NTag>
<OperationUrgencyTag :urgency-id="operation.urgent_status" size="small" />
</NSpace>
</template>
{{operation.name_service}}
@@ -70,7 +83,7 @@ const onShowInfoDrawer = (operation) => {
<NDrawer v-model:show="showInfoDrawer" width="100%" height="100%" to="#modal-operation" placement="bottom">
<NDrawerContent closable>
<template #header>
Операция
Операция {{showedOperation.number}}
</template>
<AppPanel no-padding header="Описание" class="h-full!">
<NInput type="textarea" :resizable="false" class="h-full!" readonly v-model:value="showedOperation.description" />