* блокировка изменения отчета для врача
* вывод данных из отчетов для ролей адм и зав * поправил ширину стобцов ввода * добавил календарь на страницу статистики * переделал календарь у заведующего на странице отчета * добавил и привязал метрики в статистику
This commit is contained in:
46
resources/js/Utils/dateFormatter.js
Normal file
46
resources/js/Utils/dateFormatter.js
Normal file
@@ -0,0 +1,46 @@
|
||||
import { format } from 'date-fns'
|
||||
import { ru } from 'date-fns/locale'
|
||||
|
||||
/**
|
||||
* Делает первую букву строки заглавной
|
||||
*/
|
||||
const capitalizeFirst = (str) => {
|
||||
if (!str) return ''
|
||||
return str.charAt(0).toUpperCase() + str.slice(1)
|
||||
}
|
||||
|
||||
/**
|
||||
* Форматирует дату по-русски: "Вторник, 3 февраля 2026 г."
|
||||
*/
|
||||
export const formatRussianDate = (date) => {
|
||||
if (!date) return ''
|
||||
|
||||
const formatted = format(new Date(date), 'EEEE, d MMMM yyyy г.', { locale: ru })
|
||||
return capitalizeFirst(formatted)
|
||||
}
|
||||
|
||||
/**
|
||||
* Форматирует диапазон дат по-русски:
|
||||
* "С понедельника, 2 февраля 2026 г. по вторник, 3 февраля 2026 г."
|
||||
*/
|
||||
export const formatRussianDateRange = (dateRange) => {
|
||||
if (!dateRange || !Array.isArray(dateRange) || dateRange.length < 2) {
|
||||
return ''
|
||||
}
|
||||
|
||||
const [startDate, endDate] = dateRange
|
||||
|
||||
if (!startDate || !endDate) return ''
|
||||
|
||||
const formattedStart = format(new Date(startDate), 'd MMMM yyyy г.', { locale: ru })
|
||||
const formattedEnd = format(new Date(endDate), 'd MMMM yyyy г.', { locale: ru })
|
||||
|
||||
return `С ${formattedStart.toLowerCase()} по ${formattedEnd.toLowerCase()}`
|
||||
}
|
||||
|
||||
/**
|
||||
* Для совместимости со старым кодом
|
||||
*/
|
||||
export const formatDateWithCapital = (date) => {
|
||||
return formatRussianDate(date)
|
||||
}
|
||||
Reference in New Issue
Block a user