Много чего
This commit is contained in:
@@ -16,51 +16,15 @@ export const useMedicalHistoryFilter = (initialFilters = {}) => {
|
||||
page_size: initialFilters?.page_size || 50,
|
||||
sort_by: initialFilters?.sort_by || 'dateextract',
|
||||
sort_order: initialFilters?.sort_order || 'desc',
|
||||
view_type: initialFilters?.view_type || 'si',
|
||||
status: initialFilters?.status || null,
|
||||
database: initialFilters?.database || 'separate', // НОВЫЙ ПАРАМЕТР: postgresql, mssql, smart, separate
|
||||
})
|
||||
|
||||
// Метаданные для разных типов данных
|
||||
const meta = computed(() => {
|
||||
const cards = page.props.cards
|
||||
|
||||
// Для раздельного поиска
|
||||
if (filtersRef.value.database === 'separate') {
|
||||
return {
|
||||
si: cards.si.meta || {},
|
||||
mis: cards.mis.meta || {},
|
||||
stats: cards.stats || {},
|
||||
}
|
||||
} else if (filtersRef.value.database === 'mis') {
|
||||
return {
|
||||
mis: cards.mis?.meta
|
||||
}
|
||||
} else {
|
||||
return {
|
||||
si: cards.si?.meta
|
||||
}
|
||||
}
|
||||
return page.props.cards.meta
|
||||
})
|
||||
|
||||
const isLoading = ref(false)
|
||||
const databaseStats = computed(() => page.props.databaseStats || {})
|
||||
|
||||
// Статистика по базам
|
||||
const databaseInfo = computed(() => ({
|
||||
postgresql: {
|
||||
count: databaseStats.value.postgresql?.total || 0,
|
||||
label: 'PostgreSQL',
|
||||
color: 'blue',
|
||||
description: 'Основной архив'
|
||||
},
|
||||
mssql: {
|
||||
count: databaseStats.value.mssql?.total || 0,
|
||||
label: 'MSSQL',
|
||||
color: 'purple',
|
||||
description: 'Исторический архив'
|
||||
}
|
||||
}))
|
||||
|
||||
// Форматирование даты для URL
|
||||
const formatDateForUrl = (date) => {
|
||||
@@ -81,8 +45,6 @@ export const useMedicalHistoryFilter = (initialFilters = {}) => {
|
||||
page_size: filtersRef.value.page_size,
|
||||
sort_by: filtersRef.value.sort_by,
|
||||
sort_order: filtersRef.value.sort_order,
|
||||
view_type: filtersRef.value.view_type,
|
||||
database: filtersRef.value.database,
|
||||
status: filtersRef.value.status
|
||||
}
|
||||
|
||||
@@ -128,10 +90,6 @@ export const useMedicalHistoryFilter = (initialFilters = {}) => {
|
||||
debouncedSearch(value)
|
||||
}
|
||||
|
||||
const handleDatabaseChange = (database) => {
|
||||
applyFilters({ database, page: 1 }, false)
|
||||
}
|
||||
|
||||
// Конвертация строки даты в timestamp для NaiveUI
|
||||
const convertToTimestamp = (dateString) => {
|
||||
if (!dateString) return null
|
||||
@@ -186,10 +144,6 @@ export const useMedicalHistoryFilter = (initialFilters = {}) => {
|
||||
applyFilters({ page_size: size, page: 1 })
|
||||
}
|
||||
|
||||
const handleViewTypeChange = (view_type) => {
|
||||
applyFilters({ view_type, page: 1 })
|
||||
}
|
||||
|
||||
const handleSortChange = (sorter) => {
|
||||
applyFilters({
|
||||
sort_by: sorter.columnKey,
|
||||
@@ -213,8 +167,6 @@ export const useMedicalHistoryFilter = (initialFilters = {}) => {
|
||||
page_size: 15,
|
||||
sort_by: 'dateextract',
|
||||
sort_order: 'desc',
|
||||
view_type: 'archive',
|
||||
database: 'postgresql',
|
||||
}
|
||||
dateRange.value = [null, null]
|
||||
applyFilters({}, true)
|
||||
@@ -270,22 +222,6 @@ export const useMedicalHistoryFilter = (initialFilters = {}) => {
|
||||
})
|
||||
}
|
||||
|
||||
// Фильтр по базе данных
|
||||
if (filtersRef.value.database) {
|
||||
const dbLabel = {
|
||||
postgresql: 'PostgreSQL',
|
||||
mssql: 'MSSQL',
|
||||
smart: 'Умный поиск',
|
||||
separate: 'Раздельно'
|
||||
}[filtersRef.value.database] || filtersRef.value.database
|
||||
|
||||
active.push({
|
||||
key: 'database',
|
||||
label: `База: ${dbLabel}`,
|
||||
icon: 'database'
|
||||
})
|
||||
}
|
||||
|
||||
return active
|
||||
})
|
||||
|
||||
@@ -341,12 +277,8 @@ export const useMedicalHistoryFilter = (initialFilters = {}) => {
|
||||
activeFilters,
|
||||
dateRange,
|
||||
searchValue,
|
||||
databaseInfo,
|
||||
databaseStats,
|
||||
|
||||
// Обработчики
|
||||
handleDatabaseChange,
|
||||
handleViewTypeChange,
|
||||
handleSearch,
|
||||
handleDateRangeChange,
|
||||
handlePageChange,
|
||||
|
||||
Reference in New Issue
Block a user