* добавил исход спец контингенту

* оптимизация обновления при редактировании спец контингента
* добавил поддержку заключительных диагнозов
* изменил определение законченной операции
* добавил поддержку исхода операции
* добавил определение отмены для операции через назначение
* работа над диапазонами календарей, подсчет статистики
* добавил статусы отчетов и подкорректировал привязку спец контингента к отчету
* добавил новые сервисы для будущего кеширования
* частичное разделение логики подсчета пациентов
This commit is contained in:
brusnitsyn
2026-04-22 20:35:39 +09:00
parent 2041ab54ea
commit 719eb1403f
39 changed files with 1458 additions and 763 deletions

View File

@@ -0,0 +1,19 @@
<script setup>
import { NGrid } from 'naive-ui'
const props = defineProps({
cols: {
type: Number,
default: 1,
}
})
</script>
<template>
<NGrid :cols="cols">
<slot />
</NGrid>
</template>
<style scoped>
</style>

View File

@@ -0,0 +1,19 @@
<script setup>
import { NGi } from 'naive-ui'
const props = defineProps({
span: {
type: Number,
default: 1,
}
})
</script>
<template>
<NGi :span="span">
<slot />
</NGi>
</template>
<style scoped>
</style>

View File

@@ -6,6 +6,10 @@ const props = defineProps({
type: String,
default: ''
},
headerIncludeBody: {
type: Boolean,
default: false
},
feedback: {
type: String,
default: ''
@@ -25,6 +29,7 @@ const props = defineProps({
})
const hasHeader = computed(() => props.header.trim().length > 0)
const hasHeaderInOutside = computed(() => hasHeader.value && !props.headerIncludeBody)
const hasFeedback = computed(() => props.feedback.trim().length > 0)
const hasMinH = computed(() => props.minH.trim().length > 0 || Number.isInteger(props.minH))
const hasMaxH = computed(() => props.maxH.trim().length > 0 || Number.isInteger(props.maxH))
@@ -55,8 +60,11 @@ watch(() => [props.minH, props.maxH], ([minH, maxH]) => {
</script>
<template>
<NFormItem :show-label="hasHeader" :label="header" :show-feedback="hasFeedback" :feedback="feedback">
<NFormItem :show-label="hasHeaderInOutside" :label="header" :show-feedback="hasFeedback" :feedback="feedback">
<NCard :class="noPadding ? 'no-padding h-full' : ''">
<template v-if="!hasHeaderInOutside" #header>
{{ header }}
</template>
<NScrollbar :style="styles">
<slot />
</NScrollbar>