* оптимизировал запросы выдачи пациентов, сохранения снапшотов
* доработал страницу отчета дежурного * переделал "действия" над пациентом * подключил виджеты на странице отчета дежурного
This commit is contained in:
200
resources/js/Composables/usePatientColumns.js
Normal file
200
resources/js/Composables/usePatientColumns.js
Normal file
@@ -0,0 +1,200 @@
|
||||
import {format, formatDistanceStrict} from "date-fns";
|
||||
import {ru} from "date-fns/locale";
|
||||
import {h} from "vue";
|
||||
import TooltipColumn from "../Pages/Report/Components/DataTableColumns/TooltipColumn.vue";
|
||||
import OperationsColumn from "../Pages/Report/Components/DataTableColumns/OperationsColumn.vue";
|
||||
import ActionsColumn from "../Pages/Report/Components/DataTableColumns/ActionsColumn.vue";
|
||||
|
||||
export const usePatientColumns = (actionHandlers = {}) => {
|
||||
const { onMisClick, onAddObservable, onAddObservableComment, onRemoveObservable, onShowOperationModal } = actionHandlers
|
||||
|
||||
const defaultColumns = [
|
||||
{
|
||||
title: 'ФИО',
|
||||
key: 'full_name',
|
||||
width: 280
|
||||
},
|
||||
{
|
||||
title: 'Возраст',
|
||||
key: 'birth_date',
|
||||
render: (row) => formatDistanceStrict(new Date(row.birth_date), new Date(), { locale: ru }),
|
||||
width: 75,
|
||||
},
|
||||
{
|
||||
title: 'Д/р',
|
||||
key: 'birth_date',
|
||||
minWidth: 94,
|
||||
maxWidth: 100,
|
||||
width: 94,
|
||||
resizable: false,
|
||||
render: (row) => format(new Date(row.birth_date), 'dd.MM.yyyy')
|
||||
},
|
||||
{
|
||||
title: 'Д/п',
|
||||
key: 'latest_migration.ingoing_date',
|
||||
minWidth: 134,
|
||||
maxWidth: 144,
|
||||
width: 134,
|
||||
resizable: false,
|
||||
render: (row) => format(new Date(row.latest_migration.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 })
|
||||
},
|
||||
{
|
||||
title: 'Операции',
|
||||
key: 'latest_migration.operations',
|
||||
width: 140,
|
||||
className: 'relative',
|
||||
render: (row) => h(OperationsColumn, { operations: row.latest_migration.operations, onClick: (operations) => onShowOperationModal(operations) })
|
||||
},
|
||||
]
|
||||
|
||||
const planOrEmergencyColumns = [
|
||||
...defaultColumns,
|
||||
{
|
||||
title: '',
|
||||
key: 'actions',
|
||||
align: 'end',
|
||||
render: (row) => {
|
||||
return h(
|
||||
ActionsColumn,
|
||||
{
|
||||
row: row,
|
||||
isMis: true,
|
||||
isAddObservable: true,
|
||||
onMisClick,
|
||||
onAddObservable,
|
||||
onAddObservableComment,
|
||||
onRemoveObservable,
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
const observableColumns = [
|
||||
...defaultColumns,
|
||||
{
|
||||
title: '',
|
||||
key: 'actions',
|
||||
align: 'end',
|
||||
render: (row) => {
|
||||
return h(
|
||||
ActionsColumn,
|
||||
{
|
||||
row: row,
|
||||
isMis: true,
|
||||
isAddObservableComment: true,
|
||||
isRemoveObservable: true,
|
||||
onMisClick,
|
||||
onAddObservable,
|
||||
onAddObservableComment,
|
||||
onRemoveObservable,
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
const reanimationColumns = [
|
||||
...defaultColumns,
|
||||
{
|
||||
title: '',
|
||||
key: 'actions',
|
||||
align: 'end',
|
||||
render: (row) => {
|
||||
return h(
|
||||
ActionsColumn,
|
||||
{
|
||||
row: row,
|
||||
isMis: true,
|
||||
onMisClick,
|
||||
onAddObservable,
|
||||
onAddObservableComment,
|
||||
onRemoveObservable,
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
const deceasedColumns = [
|
||||
...defaultColumns,
|
||||
{
|
||||
title: '',
|
||||
key: 'actions',
|
||||
align: 'end',
|
||||
render: (row) => {
|
||||
return h(
|
||||
ActionsColumn,
|
||||
{
|
||||
row: row,
|
||||
isMis: true,
|
||||
onMisClick,
|
||||
onAddObservable,
|
||||
onAddObservableComment,
|
||||
onRemoveObservable,
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
const dischargedColumns = [
|
||||
...defaultColumns,
|
||||
{
|
||||
title: '',
|
||||
key: 'actions',
|
||||
align: 'end',
|
||||
render: (row) => {
|
||||
return h(
|
||||
ActionsColumn,
|
||||
{
|
||||
row: row,
|
||||
isMis: true,
|
||||
onMisClick,
|
||||
onAddObservable,
|
||||
onAddObservableComment,
|
||||
onRemoveObservable,
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
const transferredColumns = [
|
||||
...defaultColumns,
|
||||
{
|
||||
title: '',
|
||||
key: 'actions',
|
||||
align: 'end',
|
||||
render: (row) => {
|
||||
return h(
|
||||
ActionsColumn,
|
||||
{
|
||||
row: row,
|
||||
isMis: true,
|
||||
onMisClick,
|
||||
onAddObservable,
|
||||
onAddObservableComment,
|
||||
onRemoveObservable,
|
||||
}
|
||||
)
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
return {
|
||||
planOrEmergencyColumns,
|
||||
observableColumns,
|
||||
reanimationColumns,
|
||||
dischargedColumns,
|
||||
deceasedColumns,
|
||||
transferredColumns
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user