d606f8371c
Ports the weather check added to stroy-bot-main on 2026-10-16: daily station weather, report positions with weather per shift and the AI assessment of working conditions. Opens as ?page=weather&start=&end= instead of the #weathercheck hash, and hub dates survive the way back. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
67 lines
3.1 KiB
TypeScript
67 lines
3.1 KiB
TypeScript
// Тексты сверки погодных условий — дословно из stroy-bot-main.
|
||
|
||
export const WEATHER_TEXTS = {
|
||
openButton: 'Сверка погодных условий',
|
||
back: 'Разделы проекта',
|
||
headerLabel: 'Сверка погодных условий',
|
||
periodPrefix: 'Период:',
|
||
noProject: 'Проект не выбран. Вернитесь назад и выберите проект.',
|
||
noPeriod: 'Период не указан. Вернитесь назад и выберите даты начала и конца.',
|
||
loading: 'Загрузка данных…',
|
||
loadError: (details: string): string => `Не удалось загрузить данные: ${details}`,
|
||
station: {
|
||
name: (name: string): string => `Метеостанция ${name}`,
|
||
code: (code: string): string => `WIGOS ${code}`,
|
||
distance: (km: string): string => ` · ${km} км от объекта`
|
||
},
|
||
days: {
|
||
title: 'Погода по дням',
|
||
empty: 'Нет данных наблюдений за период',
|
||
columns: {
|
||
date: 'Дата',
|
||
observations: 'Наблюдений',
|
||
tempMin: 'T мин, °C',
|
||
tempMax: 'T макс, °C',
|
||
wind: 'Ветер, м/с',
|
||
gust: 'Порывы, м/с',
|
||
precipitation: 'Осадки, мм',
|
||
phenomena: 'Явления'
|
||
}
|
||
},
|
||
positions: {
|
||
title: 'Позиции и оценка условий труда',
|
||
empty: 'Нет позиций за период',
|
||
assessButton: 'Запросить оценку ИИ по международным стандартам',
|
||
assessLoading: 'Идёт оценка, это может занять до минуты…',
|
||
assessError: (details: string): string => `Не удалось получить оценку: ${details}`,
|
||
assessSummary: (assessed: number, skipped: number): string =>
|
||
`Оценено позиций: ${assessed}` + (skipped ? `, пропущено: ${skipped}` : ''),
|
||
columns: {
|
||
date: 'Дата',
|
||
profession: 'Профессия / вид работ',
|
||
shift: 'Смена',
|
||
hours: 'Часы',
|
||
hoursType: 'Тип работ',
|
||
headcount: 'Чел.',
|
||
weather: 'Погода в смену',
|
||
assessment: 'Оценка',
|
||
comment: 'Комментарий',
|
||
downtime: 'Акт простоя'
|
||
},
|
||
weather: {
|
||
temperature: (min: string, max: string): string => `T ${min}…${max} °C`,
|
||
wind: (wind: string): string => `Ветер ${wind} м/с`,
|
||
gust: (gust: string): string => `, порывы ${gust} м/с`,
|
||
precipitation: (value: string): string => `Осадки ${value} мм`,
|
||
dewpoint: (value: string): string => `Точка росы до ${value} °C`,
|
||
visibility: (value: string): string => `Видимость от ${value}`,
|
||
observations: (value: string): string => `Наблюдений: ${value}`,
|
||
noData: 'нет данных'
|
||
},
|
||
downtimeRecommended: 'Рекомендован',
|
||
downtimeNotRequired: 'Не требуется'
|
||
},
|
||
notesTitle: 'Примечания',
|
||
empty: '—'
|
||
} as const;
|