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

Переписаны запросы для статистики, отчетов
Добавлена интеграция отчета сестры
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

@@ -5,14 +5,25 @@ import TooltipColumn from "../Pages/Report/Components/DataTableColumns/TooltipCo
import OperationsColumn from "../Pages/Report/Components/DataTableColumns/OperationsColumn.vue";
import ActionsColumn from "../Pages/Report/Components/DataTableColumns/ActionsColumn.vue";
export const usePatientColumns = (actionHandlers = {}) => {
export const usePatientColumns = (actionHandlers = {}, options = {}) => {
const { onMisClick, onAddObservable, onAddObservableComment, onRemoveObservable, onShowOperationModal } = actionHandlers
const { canEditObservable } = options
const getCanEditObservable = () => {
if (canEditObservable == null) return true
if (typeof canEditObservable === 'object' && 'value' in canEditObservable) return canEditObservable.value
return Boolean(canEditObservable)
}
const defaultColumns = [
{
title: 'ФИО',
key: 'full_name',
width: 280
width: 280,
ellipsis: {
tooltip: {
arrow: false
}
}
},
{
title: 'Возраст',
@@ -36,21 +47,21 @@ export const usePatientColumns = (actionHandlers = {}) => {
maxWidth: 144,
width: 134,
resizable: false,
render: (row) => format(new Date(row.latest_migration.ingoing_date), 'dd.MM.yyyy HH:mm')
render: (row) => format(new Date(row.migrations[0].ingoing_date), 'dd.MM.yyyy HH:mm')
},
{
title: 'Диагноз',
key: 'latest_migration.diagnosis_code',
width: 75,
resizable: false,
render: (row) => h(TooltipColumn, { triggerText: row.latest_migration.diagnosis_code, contentText: row.latest_migration.diagnosis_name })
render: (row) => h(TooltipColumn, { triggerText: row.migrations[0].diagnosis_code, contentText: row.migrations[0].diagnosis_name })
},
{
title: 'Операции',
key: 'latest_migration.operations',
width: 140,
className: 'relative',
render: (row) => h(OperationsColumn, { operations: row.latest_migration.operations, onClick: (operations) => onShowOperationModal(operations) })
render: (row) => h(OperationsColumn, { patient: row, operations: row.operations, onClick: (patient, operations) => onShowOperationModal(patient, operations) })
},
]
@@ -61,12 +72,13 @@ export const usePatientColumns = (actionHandlers = {}) => {
key: 'actions',
align: 'end',
render: (row) => {
const canEdit = getCanEditObservable()
return h(
ActionsColumn,
{
row: row,
isMis: true,
isAddObservable: true,
isAddObservable: canEdit && row.in_observable === false,
onMisClick,
onAddObservable,
onAddObservableComment,
@@ -84,13 +96,14 @@ export const usePatientColumns = (actionHandlers = {}) => {
key: 'actions',
align: 'end',
render: (row) => {
const canEdit = getCanEditObservable()
return h(
ActionsColumn,
{
row: row,
isMis: true,
isAddObservableComment: true,
isRemoveObservable: true,
isAddObservableComment: canEdit,
isRemoveObservable: canEdit,
onMisClick,
onAddObservable,
onAddObservableComment,
@@ -108,11 +121,13 @@ export const usePatientColumns = (actionHandlers = {}) => {
key: 'actions',
align: 'end',
render: (row) => {
const canEdit = getCanEditObservable()
return h(
ActionsColumn,
{
row: row,
isMis: true,
isAddObservable: canEdit && row.in_observable === false,
onMisClick,
onAddObservable,
onAddObservableComment,
@@ -129,19 +144,7 @@ export const usePatientColumns = (actionHandlers = {}) => {
title: '',
key: 'actions',
align: 'end',
render: (row) => {
return h(
ActionsColumn,
{
row: row,
isMis: true,
onMisClick,
onAddObservable,
onAddObservableComment,
onRemoveObservable,
}
)
}
render: (row) => h(ActionsColumn, { row, isMis: true, onMisClick })
}
]
@@ -151,19 +154,7 @@ export const usePatientColumns = (actionHandlers = {}) => {
title: '',
key: 'actions',
align: 'end',
render: (row) => {
return h(
ActionsColumn,
{
row: row,
isMis: true,
onMisClick,
onAddObservable,
onAddObservableComment,
onRemoveObservable,
}
)
}
render: (row) => h(ActionsColumn, { row, isMis: true, onMisClick })
}
]
@@ -173,19 +164,7 @@ export const usePatientColumns = (actionHandlers = {}) => {
title: '',
key: 'actions',
align: 'end',
render: (row) => {
return h(
ActionsColumn,
{
row: row,
isMis: true,
onMisClick,
onAddObservable,
onAddObservableComment,
onRemoveObservable,
}
)
}
render: (row) => h(ActionsColumn, { row, isMis: true, onMisClick })
}
]