pcp-tgu-ops-ui: надёжный 24ч ввод времени (своё текстовое поле вместо нативного)

Нативные input type=time/datetime-local рендерят время по локали браузера/ОС
(AM/PM) и игнорируют атрибут lang в Chrome — поэтому lang=ru-RU не помогал.
Заменено на собственные контролы (components/timeFields.tsx):
- Time24Field — текстовый ввод ЧЧ:ММ[:СС] с валидацией, детерминированный 24ч;
- DateTime24Field — нативный календарь для даты + Time24Field для времени.
Подключено в окне маршрута редактора и во всех datetime-local фильтрах
(Планы, заявки на карте, создание/фильтр заявок).
This commit is contained in:
Дмитрий Соловьев
2026-06-03 09:02:27 +03:00
parent f0e16aa4e8
commit 51fd8a446b
6 changed files with 112 additions and 31 deletions
@@ -7,6 +7,7 @@ import type {
RsaResultType
} from "../../model/requestTypes";
import { parseUtc } from "../../utils/utcTime";
import { DateTime24Field } from "../../components/timeFields";
export type RequestFormSubmit = {
name: string;
@@ -200,11 +201,11 @@ export function RequestCreatePanel({
</label>
<label className="tgu-requests-field">
<span>Начало</span>
<input lang="ru-RU" type="datetime-local" value={begin} onChange={(e) => setBegin(e.target.value)} />
<DateTime24Field value={begin} onChange={setBegin} />
</label>
<label className="tgu-requests-field">
<span>Конец</span>
<input lang="ru-RU" type="datetime-local" value={end} onChange={(e) => setEnd(e.target.value)} />
<DateTime24Field value={end} onChange={setEnd} />
</label>
<label className="tgu-requests-field">
<span>КПП</span>