* доработал страницу отчета дежурного * переделал "действия" над пациентом * подключил виджеты на странице отчета дежурного
201 lines
5.8 KiB
JavaScript
201 lines
5.8 KiB
JavaScript
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
|
||
}
|
||
}
|