i18n: перевод страниц pharmacies/pharmacy-detail (ru/uk/en)
Список аптек (фильтры, метрики, таблица, пагинация) и карточка аптеки
(инфо, лицензия, персонал, оборудование, интернет-договоры, показания
счётчиков) помечены {% trans %} и переведены на uk/en.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Binary file not shown.
+201
-38
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-07-26 22:01+0300\n"
|
||||
"POT-Creation-Date: 2026-07-27 12:27+0300\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -48,7 +48,8 @@ msgstr ""
|
||||
#: apps/locations/models/pharmacies.py:128 apps/mail_connector/models.py:24
|
||||
#: apps/tasks/models.py:40 apps/visit_manager/admin.py:199 core/admin.py:32
|
||||
#: templates/pages/dislocation.html:122 templates/pages/employees.html:107
|
||||
#: templates/pages/structure.html:63
|
||||
#: templates/pages/pharmacies.html:119 templates/pages/pharmacy-detail.html:195
|
||||
#: templates/pages/pharmacy-detail.html:245 templates/pages/structure.html:63
|
||||
msgid "Статус"
|
||||
msgstr "Status"
|
||||
|
||||
@@ -122,6 +123,7 @@ msgstr "Personal data"
|
||||
|
||||
#: apps/employees/admin.py:142 apps/it_manager/admin.py:421
|
||||
#: apps/locations/admin.py:291 templates/pages/employee-detail.html:60
|
||||
#: templates/pages/pharmacy-detail.html:104
|
||||
msgid "Контакты"
|
||||
msgstr "Contacts"
|
||||
|
||||
@@ -275,7 +277,8 @@ msgid "Где работает: аптека / склад / офис"
|
||||
msgstr ""
|
||||
|
||||
#: apps/employees/models/base.py:94 apps/locations/models/pharmacies.py:88
|
||||
#: templates/pages/dislocation.html:117
|
||||
#: templates/pages/dislocation.html:117 templates/pages/pharmacies.html:113
|
||||
#: templates/pages/pharmacy-detail.html:85
|
||||
msgid "Организация"
|
||||
msgstr "Organization"
|
||||
|
||||
@@ -411,6 +414,7 @@ msgstr "Description"
|
||||
|
||||
#: apps/employees/models/permissions.py:17 apps/locations/models/base.py:59
|
||||
#: templates/pages/dislocation.html:180 templates/pages/dislocation.html:559
|
||||
#: templates/pages/pharmacies.html:156
|
||||
msgid "Активна"
|
||||
msgstr "Active"
|
||||
|
||||
@@ -445,8 +449,9 @@ msgid "Действует с"
|
||||
msgstr ""
|
||||
|
||||
#: apps/employees/models/permissions.py:57
|
||||
#: templates/pages/pharmacy-detail.html:246
|
||||
msgid "Действует до"
|
||||
msgstr ""
|
||||
msgstr "Valid until"
|
||||
|
||||
#: apps/employees/models/permissions.py:58
|
||||
#: apps/locations/models/pharmacies.py:334
|
||||
@@ -670,9 +675,9 @@ msgstr ""
|
||||
msgid "Экземпляров"
|
||||
msgstr ""
|
||||
|
||||
#: apps/it_manager/admin.py:110
|
||||
#: apps/it_manager/admin.py:110 templates/pages/pharmacy-detail.html:193
|
||||
msgid "Оборудование"
|
||||
msgstr ""
|
||||
msgstr "Equipment"
|
||||
|
||||
#: apps/it_manager/admin.py:113 apps/it_manager/admin.py:206
|
||||
msgid "Статус и размещение"
|
||||
@@ -685,9 +690,9 @@ msgstr ""
|
||||
#: apps/it_manager/admin.py:119 apps/it_manager/admin.py:212
|
||||
#: apps/it_manager/admin.py:427 apps/it_manager/admin.py:476
|
||||
#: apps/locations/admin.py:319 apps/locations/models/pharmacies.py:335
|
||||
#: core/models/connector_config.py:43
|
||||
#: core/models/connector_config.py:43 templates/pages/pharmacy-detail.html:96
|
||||
msgid "Примечания"
|
||||
msgstr ""
|
||||
msgstr "Notes"
|
||||
|
||||
#: apps/it_manager/admin.py:123 apps/it_manager/admin.py:216
|
||||
#: apps/it_manager/admin.py:480 apps/it_manager/admin.py:617
|
||||
@@ -699,9 +704,9 @@ msgstr ""
|
||||
msgid "Модель"
|
||||
msgstr ""
|
||||
|
||||
#: apps/it_manager/admin.py:180
|
||||
#: apps/it_manager/admin.py:180 templates/pages/pharmacy-detail.html:197
|
||||
msgid "Гарантия"
|
||||
msgstr ""
|
||||
msgstr "Warranty"
|
||||
|
||||
#: apps/it_manager/admin.py:203
|
||||
msgid "Расходник"
|
||||
@@ -784,9 +789,9 @@ msgstr ""
|
||||
msgid "Услуга"
|
||||
msgstr ""
|
||||
|
||||
#: apps/it_manager/admin.py:508
|
||||
#: apps/it_manager/admin.py:508 templates/pages/pharmacy-detail.html:243
|
||||
msgid "Технология"
|
||||
msgstr ""
|
||||
msgstr "Technology"
|
||||
|
||||
#: apps/it_manager/admin.py:520
|
||||
msgid "Окончание"
|
||||
@@ -846,14 +851,15 @@ msgid "Тип и регион"
|
||||
msgstr ""
|
||||
|
||||
#: apps/locations/admin.py:99 apps/locations/admin.py:282
|
||||
#: templates/pages/employees.html:106
|
||||
#: templates/pages/employees.html:106 templates/pages/pharmacies.html:114
|
||||
#: templates/pages/pharmacy-detail.html:87
|
||||
msgid "Адрес"
|
||||
msgstr "Address"
|
||||
|
||||
#: apps/locations/admin.py:102 apps/locations/admin.py:139
|
||||
#: apps/locations/admin.py:354
|
||||
#: apps/locations/admin.py:354 templates/pages/pharmacy-detail.html:155
|
||||
msgid "Координаты"
|
||||
msgstr ""
|
||||
msgstr "Coordinates"
|
||||
|
||||
#: apps/locations/admin.py:105
|
||||
msgid "Прочее"
|
||||
@@ -888,11 +894,12 @@ msgid "Основное"
|
||||
msgstr ""
|
||||
|
||||
#: apps/locations/admin.py:295 apps/locations/admin.py:366
|
||||
#: templates/pages/pharmacy-detail.html:54
|
||||
msgid "Лицензия"
|
||||
msgstr ""
|
||||
msgstr "License"
|
||||
|
||||
#: apps/locations/admin.py:302 templates/pages/dislocation.html:119
|
||||
#: templates/pages/dislocation.html:557
|
||||
#: templates/pages/dislocation.html:557 templates/pages/pharmacy-detail.html:44
|
||||
msgid "Персонал"
|
||||
msgstr ""
|
||||
|
||||
@@ -999,16 +1006,18 @@ msgid "Заведующий аптекой"
|
||||
msgstr ""
|
||||
|
||||
#: apps/locations/models/pharmacies.py:113
|
||||
#: templates/pages/pharmacy-detail.html:90
|
||||
msgid "Ответственный менеджер"
|
||||
msgstr ""
|
||||
msgstr "Responsible manager"
|
||||
|
||||
#: apps/locations/models/pharmacies.py:114
|
||||
msgid "Сотрудник с должностью «Відповідальний менеджер»"
|
||||
msgstr ""
|
||||
|
||||
#: apps/locations/models/pharmacies.py:119
|
||||
#: templates/pages/pharmacy-detail.html:91
|
||||
msgid "Куратор"
|
||||
msgstr ""
|
||||
msgstr "Curator"
|
||||
|
||||
#: apps/locations/models/pharmacies.py:120
|
||||
msgid "Сотрудник с должностью «куратор»"
|
||||
@@ -1036,7 +1045,7 @@ msgstr ""
|
||||
|
||||
#: apps/locations/models/pharmacies.py:143
|
||||
#: apps/locations/models/pharmacies.py:330 templates/pages/dislocation.html:120
|
||||
#: templates/pages/profile.html:80
|
||||
#: templates/pages/pharmacies.html:117 templates/pages/profile.html:80
|
||||
msgid "Телефон"
|
||||
msgstr ""
|
||||
|
||||
@@ -1091,7 +1100,7 @@ msgid "Ошибка синхронизации Carbonio"
|
||||
msgstr ""
|
||||
|
||||
#: apps/locations/models/pharmacies.py:211 templates/index.html:381
|
||||
#: templates/pages/dislocation.html:16
|
||||
#: templates/pages/dislocation.html:16 templates/pages/pharmacies.html:6
|
||||
msgid "Аптеки"
|
||||
msgstr "Pharmacies"
|
||||
|
||||
@@ -1100,8 +1109,9 @@ msgid "Такой адрес Carbonio уже используется друго
|
||||
msgstr ""
|
||||
|
||||
#: apps/locations/models/pharmacies.py:325
|
||||
#: templates/pages/pharmacy-detail.html:111
|
||||
msgid "Основной"
|
||||
msgstr ""
|
||||
msgstr "Primary"
|
||||
|
||||
#: apps/locations/models/pharmacies.py:326
|
||||
msgid "Мобильный"
|
||||
@@ -1411,10 +1421,12 @@ msgid "Тип справочника"
|
||||
msgstr ""
|
||||
|
||||
#: core/admin.py:37 templates/pages/dislocation.html:90
|
||||
#: templates/pages/pharmacies.html:86
|
||||
msgid "Активные"
|
||||
msgstr "Active"
|
||||
|
||||
#: core/admin.py:38 templates/pages/dislocation.html:91
|
||||
#: templates/pages/pharmacies.html:87
|
||||
msgid "Неактивные"
|
||||
msgstr "Inactive"
|
||||
|
||||
@@ -1434,9 +1446,10 @@ msgstr ""
|
||||
msgid "Записей"
|
||||
msgstr ""
|
||||
|
||||
#: core/admin.py:144
|
||||
#: core/admin.py:144 templates/pages/pharmacy-detail.html:67
|
||||
#: templates/pages/pharmacy-detail.html:83
|
||||
msgid "Основная информация"
|
||||
msgstr ""
|
||||
msgstr "General information"
|
||||
|
||||
#: core/admin.py:147
|
||||
msgid "Должности и локации"
|
||||
@@ -1886,11 +1899,11 @@ msgstr "staff per location"
|
||||
msgid "Офис / Склад"
|
||||
msgstr "Office / Warehouse"
|
||||
|
||||
#: templates/pages/dislocation.html:27
|
||||
#: templates/pages/dislocation.html:27 templates/pages/pharmacies.html:28
|
||||
msgid "Всего аптек"
|
||||
msgstr "Total pharmacies"
|
||||
|
||||
#: templates/pages/dislocation.html:32
|
||||
#: templates/pages/dislocation.html:32 templates/pages/pharmacies.html:33
|
||||
msgid "Организаций"
|
||||
msgstr "Organizations"
|
||||
|
||||
@@ -1922,21 +1935,22 @@ msgstr "pharmacies without staff"
|
||||
msgid "все укомплектованы"
|
||||
msgstr "all staffed"
|
||||
|
||||
#: templates/pages/dislocation.html:64
|
||||
#: templates/pages/dislocation.html:64 templates/pages/pharmacies.html:57
|
||||
msgid "Поиск аптеки..."
|
||||
msgstr "Search pharmacy..."
|
||||
|
||||
#: templates/pages/dislocation.html:68 templates/pages/employees.html:73
|
||||
#: templates/pages/pharmacies.html:61
|
||||
msgid "Все предприятия"
|
||||
msgstr "All organizations"
|
||||
|
||||
#: templates/pages/dislocation.html:76 templates/pages/dislocation.html:81
|
||||
#: templates/pages/dislocation.html:82 templates/pages/dislocation.html:437
|
||||
#: templates/pages/dislocation.html:454
|
||||
#: templates/pages/dislocation.html:454 templates/pages/pharmacies.html:72
|
||||
msgid "Все города/регионы"
|
||||
msgstr "All cities/regions"
|
||||
|
||||
#: templates/pages/dislocation.html:89
|
||||
#: templates/pages/dislocation.html:89 templates/pages/pharmacies.html:85
|
||||
msgid "Все статусы"
|
||||
msgstr "All statuses"
|
||||
|
||||
@@ -1948,11 +1962,14 @@ msgstr "Table"
|
||||
msgid "Карта"
|
||||
msgstr "Map"
|
||||
|
||||
#: templates/pages/dislocation.html:118
|
||||
#: templates/pages/dislocation.html:118 templates/pages/pharmacies.html:115
|
||||
#: templates/pages/pharmacy-detail.html:49
|
||||
#: templates/pages/pharmacy-detail.html:139
|
||||
msgid "Заведующий"
|
||||
msgstr "Manager"
|
||||
|
||||
#: templates/pages/dislocation.html:121
|
||||
#: templates/pages/dislocation.html:121 templates/pages/pharmacies.html:118
|
||||
#: templates/pages/pharmacy-detail.html:59
|
||||
msgid "Режим работы"
|
||||
msgstr "Working hours"
|
||||
|
||||
@@ -1973,22 +1990,24 @@ msgid "Норма"
|
||||
msgstr "Normal"
|
||||
|
||||
#: templates/pages/dislocation.html:182 templates/pages/dislocation.html:559
|
||||
#: templates/pages/pharmacies.html:158 templates/pages/pharmacy-detail.html:36
|
||||
msgid "Неактивна"
|
||||
msgstr "Inactive"
|
||||
|
||||
#: templates/pages/dislocation.html:208
|
||||
#: templates/pages/pharmacy-detail.html:147
|
||||
msgid "В этой аптеке пока нет активных сотрудников"
|
||||
msgstr "No active employees in this pharmacy yet"
|
||||
|
||||
#: templates/pages/dislocation.html:214
|
||||
#: templates/pages/dislocation.html:214 templates/pages/pharmacies.html:164
|
||||
msgid "Аптеки не найдены"
|
||||
msgstr "No pharmacies found"
|
||||
|
||||
#: templates/pages/dislocation.html:221
|
||||
#: templates/pages/dislocation.html:221 templates/pages/pharmacies.html:171
|
||||
msgid "Показано 0–0 из 0"
|
||||
msgstr "Showing 0–0 of 0"
|
||||
|
||||
#: templates/pages/dislocation.html:224
|
||||
#: templates/pages/dislocation.html:224 templates/pages/pharmacies.html:174
|
||||
msgid "На странице:"
|
||||
msgstr "Per page:"
|
||||
|
||||
@@ -1996,11 +2015,11 @@ msgstr "Per page:"
|
||||
msgid "Предыдущая"
|
||||
msgstr "Previous"
|
||||
|
||||
#: templates/pages/dislocation.html:234
|
||||
#: templates/pages/dislocation.html:234 templates/pages/pharmacies.html:184
|
||||
msgid "Стр. 1 из 1"
|
||||
msgstr "Page 1 of 1"
|
||||
|
||||
#: templates/pages/dislocation.html:235
|
||||
#: templates/pages/dislocation.html:235 templates/pages/pharmacies.html:185
|
||||
msgid "Следующая"
|
||||
msgstr "Next"
|
||||
|
||||
@@ -2131,7 +2150,8 @@ msgstr "employees, of them"
|
||||
msgid "Все"
|
||||
msgstr "All"
|
||||
|
||||
#: templates/pages/employees.html:86
|
||||
#: templates/pages/employees.html:86 templates/pages/pharmacies.html:67
|
||||
#: templates/pages/pharmacies.html:327
|
||||
msgid "Все аптеки"
|
||||
msgstr "All pharmacies"
|
||||
|
||||
@@ -2147,6 +2167,147 @@ msgstr "Start date"
|
||||
msgid "Список сотрудников пуст."
|
||||
msgstr "Employee list is empty."
|
||||
|
||||
#: templates/pages/pharmacies.html:38
|
||||
msgid "Средняя ФА на аптеку"
|
||||
msgstr "Avg pharmacists per pharmacy"
|
||||
|
||||
#: templates/pages/pharmacies.html:43
|
||||
msgid "Вакансий"
|
||||
msgstr "Vacancies"
|
||||
|
||||
#: templates/pages/pharmacies.html:112
|
||||
msgid "Номер"
|
||||
msgstr "Number"
|
||||
|
||||
#: templates/pages/pharmacies.html:116
|
||||
msgid "Фармацевтов"
|
||||
msgstr "Pharmacists"
|
||||
|
||||
#: templates/pages/pharmacy-detail.html:16
|
||||
msgid "Редактировать в админке"
|
||||
msgstr "Edit in admin"
|
||||
|
||||
#: templates/pages/pharmacy-detail.html:69
|
||||
msgid "Сетевое и компьютерное оборудование"
|
||||
msgstr "Network and computer equipment"
|
||||
|
||||
#: templates/pages/pharmacy-detail.html:71
|
||||
msgid "Интернет-провайдер"
|
||||
msgstr "Internet provider"
|
||||
|
||||
#: templates/pages/pharmacy-detail.html:73
|
||||
msgid "Коммунальный отдел"
|
||||
msgstr "Utilities department"
|
||||
|
||||
#: templates/pages/pharmacy-detail.html:86
|
||||
msgid "Регион"
|
||||
msgstr "Region"
|
||||
|
||||
#: templates/pages/pharmacy-detail.html:88
|
||||
msgid "Категория"
|
||||
msgstr "Category"
|
||||
|
||||
#: templates/pages/pharmacy-detail.html:89
|
||||
msgid "Категория НДС"
|
||||
msgstr "VAT category"
|
||||
|
||||
#: templates/pages/pharmacy-detail.html:92
|
||||
msgid "Количество фармацевтов (штат)"
|
||||
msgstr "Number of pharmacists (staff)"
|
||||
|
||||
#: templates/pages/pharmacy-detail.html:119
|
||||
msgid "Телефоны не указаны"
|
||||
msgstr "No phones specified"
|
||||
|
||||
#: templates/pages/pharmacy-detail.html:178
|
||||
msgid "Создано:"
|
||||
msgstr "Created:"
|
||||
|
||||
#: templates/pages/pharmacy-detail.html:179
|
||||
msgid "Обновлено:"
|
||||
msgstr "Updated:"
|
||||
|
||||
#: templates/pages/pharmacy-detail.html:194
|
||||
msgid "Серийный / инв. №"
|
||||
msgstr "Serial / inv. no."
|
||||
|
||||
#: templates/pages/pharmacy-detail.html:196
|
||||
#: templates/pages/pharmacy-detail.html:212
|
||||
msgid "Выдано"
|
||||
msgstr "Issued"
|
||||
|
||||
#: templates/pages/pharmacy-detail.html:211
|
||||
msgid "На складе"
|
||||
msgstr "In stock"
|
||||
|
||||
#: templates/pages/pharmacy-detail.html:213
|
||||
msgid "В ремонте"
|
||||
msgstr "Under repair"
|
||||
|
||||
#: templates/pages/pharmacy-detail.html:223
|
||||
msgid "За этой аптекой не закреплено оборудование"
|
||||
msgstr "No equipment assigned to this pharmacy"
|
||||
|
||||
#: templates/pages/pharmacy-detail.html:229
|
||||
msgid "Управлять оборудованием в IT-отделе"
|
||||
msgstr "Manage equipment in IT department"
|
||||
|
||||
#: templates/pages/pharmacy-detail.html:241
|
||||
msgid "Провайдер / договор"
|
||||
msgstr "Provider / contract"
|
||||
|
||||
#: templates/pages/pharmacy-detail.html:242
|
||||
msgid "Тип услуги"
|
||||
msgstr "Service type"
|
||||
|
||||
#: templates/pages/pharmacy-detail.html:244
|
||||
msgid "Скорость"
|
||||
msgstr "Speed"
|
||||
|
||||
#: templates/pages/pharmacy-detail.html:278
|
||||
msgid "Договоров с провайдерами для этой аптеки не найдено"
|
||||
msgstr "No provider contracts found for this pharmacy"
|
||||
|
||||
#: templates/pages/pharmacy-detail.html:284
|
||||
msgid "Управлять договорами в IT-отделе"
|
||||
msgstr "Manage contracts in IT department"
|
||||
|
||||
#: templates/pages/pharmacy-detail.html:296
|
||||
msgid "Тип счётчика"
|
||||
msgstr "Meter type"
|
||||
|
||||
#: templates/pages/pharmacy-detail.html:297
|
||||
msgid "Дата"
|
||||
msgstr "Date"
|
||||
|
||||
#: templates/pages/pharmacy-detail.html:298
|
||||
msgid "Показания"
|
||||
msgstr "Readings"
|
||||
|
||||
#: templates/pages/pharmacy-detail.html:299
|
||||
msgid "Расход"
|
||||
msgstr "Consumption"
|
||||
|
||||
#: templates/pages/pharmacy-detail.html:300
|
||||
msgid "Подал"
|
||||
msgstr "Submitted by"
|
||||
|
||||
#: templates/pages/pharmacy-detail.html:301
|
||||
msgid "Комментарий"
|
||||
msgstr "Comment"
|
||||
|
||||
#: templates/pages/pharmacy-detail.html:312
|
||||
msgid "Показания меньше предыдущего — проверьте"
|
||||
msgstr "Reading is lower than previous — check"
|
||||
|
||||
#: templates/pages/pharmacy-detail.html:322
|
||||
msgid "Показаний счётчиков для этой аптеки ещё не подавали"
|
||||
msgstr "No meter readings submitted for this pharmacy yet"
|
||||
|
||||
#: templates/pages/pharmacy-detail.html:327
|
||||
msgid "Подать показания / все показания"
|
||||
msgstr "Submit readings / all readings"
|
||||
|
||||
#: templates/pages/profile.html:6
|
||||
msgid "Мой профиль"
|
||||
msgstr "My profile"
|
||||
@@ -2179,7 +2340,9 @@ msgstr "Default number of rows in tables"
|
||||
msgid ""
|
||||
"Применяется ко всем таблицам портала, если для конкретной таблицы размер не "
|
||||
"выбран вручную."
|
||||
msgstr "Applies to all portal tables unless a size is chosen manually for a specific table."
|
||||
msgstr ""
|
||||
"Applies to all portal tables unless a size is chosen manually for a specific "
|
||||
"table."
|
||||
|
||||
#: templates/pages/profile.html:104 templates/pages/task-edit.html:46
|
||||
msgid "Сохранить изменения"
|
||||
|
||||
Binary file not shown.
+201
-38
@@ -7,7 +7,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2026-07-26 22:01+0300\n"
|
||||
"POT-Creation-Date: 2026-07-27 12:27+0300\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -51,7 +51,8 @@ msgstr ""
|
||||
#: apps/locations/models/pharmacies.py:128 apps/mail_connector/models.py:24
|
||||
#: apps/tasks/models.py:40 apps/visit_manager/admin.py:199 core/admin.py:32
|
||||
#: templates/pages/dislocation.html:122 templates/pages/employees.html:107
|
||||
#: templates/pages/structure.html:63
|
||||
#: templates/pages/pharmacies.html:119 templates/pages/pharmacy-detail.html:195
|
||||
#: templates/pages/pharmacy-detail.html:245 templates/pages/structure.html:63
|
||||
msgid "Статус"
|
||||
msgstr "Статус"
|
||||
|
||||
@@ -125,6 +126,7 @@ msgstr "Особисті дані"
|
||||
|
||||
#: apps/employees/admin.py:142 apps/it_manager/admin.py:421
|
||||
#: apps/locations/admin.py:291 templates/pages/employee-detail.html:60
|
||||
#: templates/pages/pharmacy-detail.html:104
|
||||
msgid "Контакты"
|
||||
msgstr "Контакти"
|
||||
|
||||
@@ -278,7 +280,8 @@ msgid "Где работает: аптека / склад / офис"
|
||||
msgstr ""
|
||||
|
||||
#: apps/employees/models/base.py:94 apps/locations/models/pharmacies.py:88
|
||||
#: templates/pages/dislocation.html:117
|
||||
#: templates/pages/dislocation.html:117 templates/pages/pharmacies.html:113
|
||||
#: templates/pages/pharmacy-detail.html:85
|
||||
msgid "Организация"
|
||||
msgstr "Організація"
|
||||
|
||||
@@ -414,6 +417,7 @@ msgstr "Опис"
|
||||
|
||||
#: apps/employees/models/permissions.py:17 apps/locations/models/base.py:59
|
||||
#: templates/pages/dislocation.html:180 templates/pages/dislocation.html:559
|
||||
#: templates/pages/pharmacies.html:156
|
||||
msgid "Активна"
|
||||
msgstr "Активна"
|
||||
|
||||
@@ -448,8 +452,9 @@ msgid "Действует с"
|
||||
msgstr ""
|
||||
|
||||
#: apps/employees/models/permissions.py:57
|
||||
#: templates/pages/pharmacy-detail.html:246
|
||||
msgid "Действует до"
|
||||
msgstr ""
|
||||
msgstr "Діє до"
|
||||
|
||||
#: apps/employees/models/permissions.py:58
|
||||
#: apps/locations/models/pharmacies.py:334
|
||||
@@ -673,9 +678,9 @@ msgstr ""
|
||||
msgid "Экземпляров"
|
||||
msgstr ""
|
||||
|
||||
#: apps/it_manager/admin.py:110
|
||||
#: apps/it_manager/admin.py:110 templates/pages/pharmacy-detail.html:193
|
||||
msgid "Оборудование"
|
||||
msgstr ""
|
||||
msgstr "Обладнання"
|
||||
|
||||
#: apps/it_manager/admin.py:113 apps/it_manager/admin.py:206
|
||||
msgid "Статус и размещение"
|
||||
@@ -688,9 +693,9 @@ msgstr ""
|
||||
#: apps/it_manager/admin.py:119 apps/it_manager/admin.py:212
|
||||
#: apps/it_manager/admin.py:427 apps/it_manager/admin.py:476
|
||||
#: apps/locations/admin.py:319 apps/locations/models/pharmacies.py:335
|
||||
#: core/models/connector_config.py:43
|
||||
#: core/models/connector_config.py:43 templates/pages/pharmacy-detail.html:96
|
||||
msgid "Примечания"
|
||||
msgstr ""
|
||||
msgstr "Примітки"
|
||||
|
||||
#: apps/it_manager/admin.py:123 apps/it_manager/admin.py:216
|
||||
#: apps/it_manager/admin.py:480 apps/it_manager/admin.py:617
|
||||
@@ -702,9 +707,9 @@ msgstr ""
|
||||
msgid "Модель"
|
||||
msgstr ""
|
||||
|
||||
#: apps/it_manager/admin.py:180
|
||||
#: apps/it_manager/admin.py:180 templates/pages/pharmacy-detail.html:197
|
||||
msgid "Гарантия"
|
||||
msgstr ""
|
||||
msgstr "Гарантія"
|
||||
|
||||
#: apps/it_manager/admin.py:203
|
||||
msgid "Расходник"
|
||||
@@ -787,9 +792,9 @@ msgstr ""
|
||||
msgid "Услуга"
|
||||
msgstr ""
|
||||
|
||||
#: apps/it_manager/admin.py:508
|
||||
#: apps/it_manager/admin.py:508 templates/pages/pharmacy-detail.html:243
|
||||
msgid "Технология"
|
||||
msgstr ""
|
||||
msgstr "Технологія"
|
||||
|
||||
#: apps/it_manager/admin.py:520
|
||||
msgid "Окончание"
|
||||
@@ -849,14 +854,15 @@ msgid "Тип и регион"
|
||||
msgstr ""
|
||||
|
||||
#: apps/locations/admin.py:99 apps/locations/admin.py:282
|
||||
#: templates/pages/employees.html:106
|
||||
#: templates/pages/employees.html:106 templates/pages/pharmacies.html:114
|
||||
#: templates/pages/pharmacy-detail.html:87
|
||||
msgid "Адрес"
|
||||
msgstr "Адреса"
|
||||
|
||||
#: apps/locations/admin.py:102 apps/locations/admin.py:139
|
||||
#: apps/locations/admin.py:354
|
||||
#: apps/locations/admin.py:354 templates/pages/pharmacy-detail.html:155
|
||||
msgid "Координаты"
|
||||
msgstr ""
|
||||
msgstr "Координати"
|
||||
|
||||
#: apps/locations/admin.py:105
|
||||
msgid "Прочее"
|
||||
@@ -891,11 +897,12 @@ msgid "Основное"
|
||||
msgstr ""
|
||||
|
||||
#: apps/locations/admin.py:295 apps/locations/admin.py:366
|
||||
#: templates/pages/pharmacy-detail.html:54
|
||||
msgid "Лицензия"
|
||||
msgstr ""
|
||||
msgstr "Ліцензія"
|
||||
|
||||
#: apps/locations/admin.py:302 templates/pages/dislocation.html:119
|
||||
#: templates/pages/dislocation.html:557
|
||||
#: templates/pages/dislocation.html:557 templates/pages/pharmacy-detail.html:44
|
||||
msgid "Персонал"
|
||||
msgstr ""
|
||||
|
||||
@@ -1002,16 +1009,18 @@ msgid "Заведующий аптекой"
|
||||
msgstr ""
|
||||
|
||||
#: apps/locations/models/pharmacies.py:113
|
||||
#: templates/pages/pharmacy-detail.html:90
|
||||
msgid "Ответственный менеджер"
|
||||
msgstr ""
|
||||
msgstr "Відповідальний менеджер"
|
||||
|
||||
#: apps/locations/models/pharmacies.py:114
|
||||
msgid "Сотрудник с должностью «Відповідальний менеджер»"
|
||||
msgstr ""
|
||||
|
||||
#: apps/locations/models/pharmacies.py:119
|
||||
#: templates/pages/pharmacy-detail.html:91
|
||||
msgid "Куратор"
|
||||
msgstr ""
|
||||
msgstr "Куратор"
|
||||
|
||||
#: apps/locations/models/pharmacies.py:120
|
||||
msgid "Сотрудник с должностью «куратор»"
|
||||
@@ -1039,7 +1048,7 @@ msgstr ""
|
||||
|
||||
#: apps/locations/models/pharmacies.py:143
|
||||
#: apps/locations/models/pharmacies.py:330 templates/pages/dislocation.html:120
|
||||
#: templates/pages/profile.html:80
|
||||
#: templates/pages/pharmacies.html:117 templates/pages/profile.html:80
|
||||
msgid "Телефон"
|
||||
msgstr ""
|
||||
|
||||
@@ -1094,7 +1103,7 @@ msgid "Ошибка синхронизации Carbonio"
|
||||
msgstr ""
|
||||
|
||||
#: apps/locations/models/pharmacies.py:211 templates/index.html:381
|
||||
#: templates/pages/dislocation.html:16
|
||||
#: templates/pages/dislocation.html:16 templates/pages/pharmacies.html:6
|
||||
msgid "Аптеки"
|
||||
msgstr "Аптеки"
|
||||
|
||||
@@ -1103,8 +1112,9 @@ msgid "Такой адрес Carbonio уже используется друго
|
||||
msgstr ""
|
||||
|
||||
#: apps/locations/models/pharmacies.py:325
|
||||
#: templates/pages/pharmacy-detail.html:111
|
||||
msgid "Основной"
|
||||
msgstr ""
|
||||
msgstr "Основний"
|
||||
|
||||
#: apps/locations/models/pharmacies.py:326
|
||||
msgid "Мобильный"
|
||||
@@ -1414,10 +1424,12 @@ msgid "Тип справочника"
|
||||
msgstr ""
|
||||
|
||||
#: core/admin.py:37 templates/pages/dislocation.html:90
|
||||
#: templates/pages/pharmacies.html:86
|
||||
msgid "Активные"
|
||||
msgstr "Активні"
|
||||
|
||||
#: core/admin.py:38 templates/pages/dislocation.html:91
|
||||
#: templates/pages/pharmacies.html:87
|
||||
msgid "Неактивные"
|
||||
msgstr "Неактивні"
|
||||
|
||||
@@ -1437,9 +1449,10 @@ msgstr ""
|
||||
msgid "Записей"
|
||||
msgstr ""
|
||||
|
||||
#: core/admin.py:144
|
||||
#: core/admin.py:144 templates/pages/pharmacy-detail.html:67
|
||||
#: templates/pages/pharmacy-detail.html:83
|
||||
msgid "Основная информация"
|
||||
msgstr ""
|
||||
msgstr "Основна інформація"
|
||||
|
||||
#: core/admin.py:147
|
||||
msgid "Должности и локации"
|
||||
@@ -1889,11 +1902,11 @@ msgstr "персонал по кожній локації"
|
||||
msgid "Офис / Склад"
|
||||
msgstr "Офіс / Склад"
|
||||
|
||||
#: templates/pages/dislocation.html:27
|
||||
#: templates/pages/dislocation.html:27 templates/pages/pharmacies.html:28
|
||||
msgid "Всего аптек"
|
||||
msgstr "Всього аптек"
|
||||
|
||||
#: templates/pages/dislocation.html:32
|
||||
#: templates/pages/dislocation.html:32 templates/pages/pharmacies.html:33
|
||||
msgid "Организаций"
|
||||
msgstr "Організацій"
|
||||
|
||||
@@ -1925,21 +1938,22 @@ msgstr "аптек без співробітників"
|
||||
msgid "все укомплектованы"
|
||||
msgstr "всі укомплектовані"
|
||||
|
||||
#: templates/pages/dislocation.html:64
|
||||
#: templates/pages/dislocation.html:64 templates/pages/pharmacies.html:57
|
||||
msgid "Поиск аптеки..."
|
||||
msgstr "Пошук аптеки..."
|
||||
|
||||
#: templates/pages/dislocation.html:68 templates/pages/employees.html:73
|
||||
#: templates/pages/pharmacies.html:61
|
||||
msgid "Все предприятия"
|
||||
msgstr "Всі підприємства"
|
||||
|
||||
#: templates/pages/dislocation.html:76 templates/pages/dislocation.html:81
|
||||
#: templates/pages/dislocation.html:82 templates/pages/dislocation.html:437
|
||||
#: templates/pages/dislocation.html:454
|
||||
#: templates/pages/dislocation.html:454 templates/pages/pharmacies.html:72
|
||||
msgid "Все города/регионы"
|
||||
msgstr "Всі міста/регіони"
|
||||
|
||||
#: templates/pages/dislocation.html:89
|
||||
#: templates/pages/dislocation.html:89 templates/pages/pharmacies.html:85
|
||||
msgid "Все статусы"
|
||||
msgstr "Всі статуси"
|
||||
|
||||
@@ -1951,11 +1965,14 @@ msgstr "Таблиця"
|
||||
msgid "Карта"
|
||||
msgstr "Карта"
|
||||
|
||||
#: templates/pages/dislocation.html:118
|
||||
#: templates/pages/dislocation.html:118 templates/pages/pharmacies.html:115
|
||||
#: templates/pages/pharmacy-detail.html:49
|
||||
#: templates/pages/pharmacy-detail.html:139
|
||||
msgid "Заведующий"
|
||||
msgstr "Завідуючий"
|
||||
|
||||
#: templates/pages/dislocation.html:121
|
||||
#: templates/pages/dislocation.html:121 templates/pages/pharmacies.html:118
|
||||
#: templates/pages/pharmacy-detail.html:59
|
||||
msgid "Режим работы"
|
||||
msgstr "Режим роботи"
|
||||
|
||||
@@ -1976,22 +1993,24 @@ msgid "Норма"
|
||||
msgstr "Норма"
|
||||
|
||||
#: templates/pages/dislocation.html:182 templates/pages/dislocation.html:559
|
||||
#: templates/pages/pharmacies.html:158 templates/pages/pharmacy-detail.html:36
|
||||
msgid "Неактивна"
|
||||
msgstr "Неактивна"
|
||||
|
||||
#: templates/pages/dislocation.html:208
|
||||
#: templates/pages/pharmacy-detail.html:147
|
||||
msgid "В этой аптеке пока нет активных сотрудников"
|
||||
msgstr "У цій аптеці поки немає активних співробітників"
|
||||
|
||||
#: templates/pages/dislocation.html:214
|
||||
#: templates/pages/dislocation.html:214 templates/pages/pharmacies.html:164
|
||||
msgid "Аптеки не найдены"
|
||||
msgstr "Аптеки не знайдені"
|
||||
|
||||
#: templates/pages/dislocation.html:221
|
||||
#: templates/pages/dislocation.html:221 templates/pages/pharmacies.html:171
|
||||
msgid "Показано 0–0 из 0"
|
||||
msgstr "Показано 0–0 з 0"
|
||||
|
||||
#: templates/pages/dislocation.html:224
|
||||
#: templates/pages/dislocation.html:224 templates/pages/pharmacies.html:174
|
||||
msgid "На странице:"
|
||||
msgstr "На сторінці:"
|
||||
|
||||
@@ -1999,11 +2018,11 @@ msgstr "На сторінці:"
|
||||
msgid "Предыдущая"
|
||||
msgstr "Попередня"
|
||||
|
||||
#: templates/pages/dislocation.html:234
|
||||
#: templates/pages/dislocation.html:234 templates/pages/pharmacies.html:184
|
||||
msgid "Стр. 1 из 1"
|
||||
msgstr "Стор. 1 з 1"
|
||||
|
||||
#: templates/pages/dislocation.html:235
|
||||
#: templates/pages/dislocation.html:235 templates/pages/pharmacies.html:185
|
||||
msgid "Следующая"
|
||||
msgstr "Наступна"
|
||||
|
||||
@@ -2134,7 +2153,8 @@ msgstr "співробітників, з них"
|
||||
msgid "Все"
|
||||
msgstr "Всі"
|
||||
|
||||
#: templates/pages/employees.html:86
|
||||
#: templates/pages/employees.html:86 templates/pages/pharmacies.html:67
|
||||
#: templates/pages/pharmacies.html:327
|
||||
msgid "Все аптеки"
|
||||
msgstr "Всі аптеки"
|
||||
|
||||
@@ -2150,6 +2170,147 @@ msgstr "Дата початку"
|
||||
msgid "Список сотрудников пуст."
|
||||
msgstr "Список співробітників порожній."
|
||||
|
||||
#: templates/pages/pharmacies.html:38
|
||||
msgid "Средняя ФА на аптеку"
|
||||
msgstr "Середня ФА на аптеку"
|
||||
|
||||
#: templates/pages/pharmacies.html:43
|
||||
msgid "Вакансий"
|
||||
msgstr "Вакансій"
|
||||
|
||||
#: templates/pages/pharmacies.html:112
|
||||
msgid "Номер"
|
||||
msgstr "Номер"
|
||||
|
||||
#: templates/pages/pharmacies.html:116
|
||||
msgid "Фармацевтов"
|
||||
msgstr "Фармацевтів"
|
||||
|
||||
#: templates/pages/pharmacy-detail.html:16
|
||||
msgid "Редактировать в админке"
|
||||
msgstr "Редагувати в адмінці"
|
||||
|
||||
#: templates/pages/pharmacy-detail.html:69
|
||||
msgid "Сетевое и компьютерное оборудование"
|
||||
msgstr "Мережеве та комп'ютерне обладнання"
|
||||
|
||||
#: templates/pages/pharmacy-detail.html:71
|
||||
msgid "Интернет-провайдер"
|
||||
msgstr "Інтернет-провайдер"
|
||||
|
||||
#: templates/pages/pharmacy-detail.html:73
|
||||
msgid "Коммунальный отдел"
|
||||
msgstr "Комунальний відділ"
|
||||
|
||||
#: templates/pages/pharmacy-detail.html:86
|
||||
msgid "Регион"
|
||||
msgstr "Регіон"
|
||||
|
||||
#: templates/pages/pharmacy-detail.html:88
|
||||
msgid "Категория"
|
||||
msgstr "Категорія"
|
||||
|
||||
#: templates/pages/pharmacy-detail.html:89
|
||||
msgid "Категория НДС"
|
||||
msgstr "Категорія ПДВ"
|
||||
|
||||
#: templates/pages/pharmacy-detail.html:92
|
||||
msgid "Количество фармацевтов (штат)"
|
||||
msgstr "Кількість фармацевтів (штат)"
|
||||
|
||||
#: templates/pages/pharmacy-detail.html:119
|
||||
msgid "Телефоны не указаны"
|
||||
msgstr "Телефони не вказані"
|
||||
|
||||
#: templates/pages/pharmacy-detail.html:178
|
||||
msgid "Создано:"
|
||||
msgstr "Створено:"
|
||||
|
||||
#: templates/pages/pharmacy-detail.html:179
|
||||
msgid "Обновлено:"
|
||||
msgstr "Оновлено:"
|
||||
|
||||
#: templates/pages/pharmacy-detail.html:194
|
||||
msgid "Серийный / инв. №"
|
||||
msgstr "Серійний / інв. №"
|
||||
|
||||
#: templates/pages/pharmacy-detail.html:196
|
||||
#: templates/pages/pharmacy-detail.html:212
|
||||
msgid "Выдано"
|
||||
msgstr "Видано"
|
||||
|
||||
#: templates/pages/pharmacy-detail.html:211
|
||||
msgid "На складе"
|
||||
msgstr "На складі"
|
||||
|
||||
#: templates/pages/pharmacy-detail.html:213
|
||||
msgid "В ремонте"
|
||||
msgstr "В ремонті"
|
||||
|
||||
#: templates/pages/pharmacy-detail.html:223
|
||||
msgid "За этой аптекой не закреплено оборудование"
|
||||
msgstr "За цією аптекою не закріплено обладнання"
|
||||
|
||||
#: templates/pages/pharmacy-detail.html:229
|
||||
msgid "Управлять оборудованием в IT-отделе"
|
||||
msgstr "Керувати обладнанням в IT-відділі"
|
||||
|
||||
#: templates/pages/pharmacy-detail.html:241
|
||||
msgid "Провайдер / договор"
|
||||
msgstr "Провайдер / договір"
|
||||
|
||||
#: templates/pages/pharmacy-detail.html:242
|
||||
msgid "Тип услуги"
|
||||
msgstr "Тип послуги"
|
||||
|
||||
#: templates/pages/pharmacy-detail.html:244
|
||||
msgid "Скорость"
|
||||
msgstr "Швидкість"
|
||||
|
||||
#: templates/pages/pharmacy-detail.html:278
|
||||
msgid "Договоров с провайдерами для этой аптеки не найдено"
|
||||
msgstr "Договорів з провайдерами для цієї аптеки не знайдено"
|
||||
|
||||
#: templates/pages/pharmacy-detail.html:284
|
||||
msgid "Управлять договорами в IT-отделе"
|
||||
msgstr "Керувати договорами в IT-відділі"
|
||||
|
||||
#: templates/pages/pharmacy-detail.html:296
|
||||
msgid "Тип счётчика"
|
||||
msgstr "Тип лічильника"
|
||||
|
||||
#: templates/pages/pharmacy-detail.html:297
|
||||
msgid "Дата"
|
||||
msgstr "Дата"
|
||||
|
||||
#: templates/pages/pharmacy-detail.html:298
|
||||
msgid "Показания"
|
||||
msgstr "Показання"
|
||||
|
||||
#: templates/pages/pharmacy-detail.html:299
|
||||
msgid "Расход"
|
||||
msgstr "Витрата"
|
||||
|
||||
#: templates/pages/pharmacy-detail.html:300
|
||||
msgid "Подал"
|
||||
msgstr "Подав"
|
||||
|
||||
#: templates/pages/pharmacy-detail.html:301
|
||||
msgid "Комментарий"
|
||||
msgstr "Коментар"
|
||||
|
||||
#: templates/pages/pharmacy-detail.html:312
|
||||
msgid "Показания меньше предыдущего — проверьте"
|
||||
msgstr "Показання менше за попереднє — перевірте"
|
||||
|
||||
#: templates/pages/pharmacy-detail.html:322
|
||||
msgid "Показаний счётчиков для этой аптеки ещё не подавали"
|
||||
msgstr "Показань лічильників для цієї аптеки ще не подавали"
|
||||
|
||||
#: templates/pages/pharmacy-detail.html:327
|
||||
msgid "Подать показания / все показания"
|
||||
msgstr "Подати показання / усі показання"
|
||||
|
||||
#: templates/pages/profile.html:6
|
||||
msgid "Мой профиль"
|
||||
msgstr "Мій профіль"
|
||||
@@ -2182,7 +2343,9 @@ msgstr "Кількість записів у таблицях за замовч
|
||||
msgid ""
|
||||
"Применяется ко всем таблицам портала, если для конкретной таблицы размер не "
|
||||
"выбран вручную."
|
||||
msgstr "Застосовується до всіх таблиць порталу, якщо для конкретної таблиці розмір не вибрано вручну."
|
||||
msgstr ""
|
||||
"Застосовується до всіх таблиць порталу, якщо для конкретної таблиці розмір "
|
||||
"не вибрано вручну."
|
||||
|
||||
#: templates/pages/profile.html:104 templates/pages/task-edit.html:46
|
||||
msgid "Сохранить изменения"
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
{% load i18n %}
|
||||
<div class="page-content">
|
||||
|
||||
<div style="display:flex; align-items:center; justify-content:space-between; margin-bottom:1.5rem;">
|
||||
<div>
|
||||
<h1 style="font-size:1.25rem; font-weight:500; color:var(--color-foreground);">Аптеки</h1>
|
||||
<h1 style="font-size:1.25rem; font-weight:500; color:var(--color-foreground);">{% trans "Аптеки" %}</h1>
|
||||
<p style="font-size:0.875rem; color:var(--color-muted-foreground); margin-top:0.25rem;">{{ pharmacies.count }} аптек · {{ active_count }} активних</p>
|
||||
</div>
|
||||
<div style="display:flex; gap:0.5rem;">
|
||||
@@ -24,22 +25,22 @@
|
||||
<!-- Метрики -->
|
||||
<div style="display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:0.75rem; margin-bottom:1.5rem;">
|
||||
<div class="stat-card" style="padding:1rem 1.25rem;">
|
||||
<div style="font-size:0.6875rem; color:var(--color-muted-foreground); text-transform:uppercase; letter-spacing:0.05em; margin-bottom:0.375rem;">Всього аптек</div>
|
||||
<div style="font-size:0.6875rem; color:var(--color-muted-foreground); text-transform:uppercase; letter-spacing:0.05em; margin-bottom:0.375rem;">{% trans "Всего аптек" %}</div>
|
||||
<div style="font-size:1.5rem; font-weight:500; color:var(--color-foreground);">{{ pharmacies.count }}</div>
|
||||
<div style="font-size:0.75rem; color:var(--color-success); margin-top:0.25rem;">{{ active_count }} активних</div>
|
||||
</div>
|
||||
<div class="stat-card" style="padding:1rem 1.25rem;">
|
||||
<div style="font-size:0.6875rem; color:var(--color-muted-foreground); text-transform:uppercase; letter-spacing:0.05em; margin-bottom:0.375rem;">Організацій</div>
|
||||
<div style="font-size:0.6875rem; color:var(--color-muted-foreground); text-transform:uppercase; letter-spacing:0.05em; margin-bottom:0.375rem;">{% trans "Организаций" %}</div>
|
||||
<div style="font-size:1.5rem; font-weight:500; color:var(--color-foreground);">-</div>
|
||||
<div style="font-size:0.75rem; color:var(--color-muted-foreground); margin-top:0.25rem;">укупно</div>
|
||||
</div>
|
||||
<div class="stat-card" style="padding:1rem 1.25rem;">
|
||||
<div style="font-size:0.6875rem; color:var(--color-muted-foreground); text-transform:uppercase; letter-spacing:0.05em; margin-bottom:0.375rem;">Середня ФА на аптеку</div>
|
||||
<div style="font-size:0.6875rem; color:var(--color-muted-foreground); text-transform:uppercase; letter-spacing:0.05em; margin-bottom:0.375rem;">{% trans "Средняя ФА на аптеку" %}</div>
|
||||
<div style="font-size:1.5rem; font-weight:500; color:var(--color-foreground);">-</div>
|
||||
<div style="font-size:0.75rem; color:var(--color-muted-foreground); margin-top:0.25rem;">середня</div>
|
||||
</div>
|
||||
<div class="stat-card" style="padding:1rem 1.25rem;">
|
||||
<div style="font-size:0.6875rem; color:var(--color-muted-foreground); text-transform:uppercase; letter-spacing:0.05em; margin-bottom:0.375rem;">Вакансій</div>
|
||||
<div style="font-size:0.6875rem; color:var(--color-muted-foreground); text-transform:uppercase; letter-spacing:0.05em; margin-bottom:0.375rem;">{% trans "Вакансий" %}</div>
|
||||
<div style="font-size:1.5rem; font-weight:500; color:var(--color-foreground);">0</div>
|
||||
<div style="font-size:0.75rem; color:var(--color-muted-foreground); margin-top:0.25rem;">відкритих</div>
|
||||
</div>
|
||||
@@ -53,22 +54,22 @@
|
||||
<svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" style="color:var(--color-muted-foreground); flex-shrink:0;">
|
||||
<circle cx="11" cy="11" r="8"/><path d="m21 21-4.35-4.35"/>
|
||||
</svg>
|
||||
<input type="text" id="pharma-search" placeholder="Пошук аптеки..." oninput="pharmaFilter()"
|
||||
<input type="text" id="pharma-search" placeholder="{% trans 'Поиск аптеки...' %}" oninput="pharmaFilter()"
|
||||
class="input" style="border:none; background:transparent; padding:0; box-shadow:none; font-size:0.8125rem;">
|
||||
</div>
|
||||
<select class="input" id="filter-enterprise" onchange="handleEnterpriseChange()" style="width:auto; font-size:0.8125rem; padding:0.375rem 0.625rem; max-width:15rem;">
|
||||
<option value="">Всі підприємства</option>
|
||||
<option value="">{% trans "Все предприятия" %}</option>
|
||||
{% for enterprise in enterprise_list %}
|
||||
<option value="{{ enterprise.grouper|escape }}">{{ enterprise.grouper }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
<select class="input" id="filter-pharmacy" onchange="pharmaFilter()" style="width:auto; font-size:0.8125rem; padding:0.375rem 0.625rem; max-width:16rem; display:none;">
|
||||
<option value="">Всі аптеки</option>
|
||||
<option value="">{% trans "Все аптеки" %}</option>
|
||||
</select>
|
||||
<div class="filter-tree" style="position:relative; min-width:14rem;">
|
||||
<button id="filter-region-button" type="button" class="input" onclick="toggleRegionTree()"
|
||||
style="width:100%; text-align:left; font-size:0.78rem; padding:0.3rem 0.55rem; display:flex; justify-content:space-between; align-items:center; gap:0.4rem; border:1px solid var(--color-border); background:var(--color-muted); color:var(--color-foreground);">
|
||||
<span id="filter-region-label">Всі міста/регіони</span>
|
||||
<span id="filter-region-label">{% trans "Все города/регионы" %}</span>
|
||||
<span style="font-size:0.75rem; color:var(--color-muted-foreground);">▾</span>
|
||||
</button>
|
||||
<div id="region-tree-panel" style="position:absolute; top:100%; left:0; right:0; z-index:20; max-height:240px; overflow:auto; background:var(--color-card); border:1px solid var(--color-border); border-radius:0.75rem; margin-top:0.25rem; box-shadow:0 12px 24px rgb(0 0 0 / 8%); display:none;">
|
||||
@@ -81,9 +82,9 @@
|
||||
<input type="hidden" id="filter-region" value="">
|
||||
</div>
|
||||
<select class="input" id="filter-status" onchange="pharmaFilter()" style="width:auto; font-size:0.8125rem; padding:0.375rem 0.625rem;">
|
||||
<option value="">Всі статуси</option>
|
||||
<option value="active">Активні</option>
|
||||
<option value="inactive">Неактивні</option>
|
||||
<option value="">{% trans "Все статусы" %}</option>
|
||||
<option value="active">{% trans "Активные" %}</option>
|
||||
<option value="inactive">{% trans "Неактивные" %}</option>
|
||||
</select>
|
||||
|
||||
</div>
|
||||
@@ -108,14 +109,14 @@
|
||||
<table style="width:100%; border-collapse:collapse; font-size:0.875rem;">
|
||||
<thead>
|
||||
<tr style="border-bottom:1px solid var(--color-border);">
|
||||
<th style="padding:0.75rem 1rem;text-align:left;color:var(--color-muted-foreground);font-weight:600;font-size:0.8125rem;">Номер</th>
|
||||
<th style="padding:0.75rem 1rem;text-align:left;color:var(--color-muted-foreground);font-weight:600;font-size:0.8125rem;">Організація</th>
|
||||
<th style="padding:0.75rem 1rem;text-align:left;color:var(--color-muted-foreground);font-weight:600;font-size:0.8125rem;">Адреса</th>
|
||||
<th style="padding:0.75rem 1rem;text-align:left;color:var(--color-muted-foreground);font-weight:600;font-size:0.8125rem;">Завідуючий</th>
|
||||
<th style="padding:0.75rem 1rem;text-align:left;color:var(--color-muted-foreground);font-weight:600;font-size:0.8125rem;">Фармацевтів</th>
|
||||
<th style="padding:0.75rem 1rem;text-align:left;color:var(--color-muted-foreground);font-weight:600;font-size:0.8125rem;">Телефон</th>
|
||||
<th style="padding:0.75rem 1rem;text-align:left;color:var(--color-muted-foreground);font-weight:600;font-size:0.8125rem;">Режим роботи</th>
|
||||
<th style="padding:0.75rem 1rem;text-align:left;color:var(--color-muted-foreground);font-weight:600;font-size:0.8125rem;">Статус</th>
|
||||
<th style="padding:0.75rem 1rem;text-align:left;color:var(--color-muted-foreground);font-weight:600;font-size:0.8125rem;">{% trans "Номер" %}</th>
|
||||
<th style="padding:0.75rem 1rem;text-align:left;color:var(--color-muted-foreground);font-weight:600;font-size:0.8125rem;">{% trans "Организация" %}</th>
|
||||
<th style="padding:0.75rem 1rem;text-align:left;color:var(--color-muted-foreground);font-weight:600;font-size:0.8125rem;">{% trans "Адрес" %}</th>
|
||||
<th style="padding:0.75rem 1rem;text-align:left;color:var(--color-muted-foreground);font-weight:600;font-size:0.8125rem;">{% trans "Заведующий" %}</th>
|
||||
<th style="padding:0.75rem 1rem;text-align:left;color:var(--color-muted-foreground);font-weight:600;font-size:0.8125rem;">{% trans "Фармацевтов" %}</th>
|
||||
<th style="padding:0.75rem 1rem;text-align:left;color:var(--color-muted-foreground);font-weight:600;font-size:0.8125rem;">{% trans "Телефон" %}</th>
|
||||
<th style="padding:0.75rem 1rem;text-align:left;color:var(--color-muted-foreground);font-weight:600;font-size:0.8125rem;">{% trans "Режим работы" %}</th>
|
||||
<th style="padding:0.75rem 1rem;text-align:left;color:var(--color-muted-foreground);font-weight:600;font-size:0.8125rem;">{% trans "Статус" %}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@@ -152,25 +153,25 @@
|
||||
<td style="padding:0.75rem 1rem; color:var(--color-foreground); font-size:0.8125rem;">{{ pharmacy.working_hours }}</td>
|
||||
<td style="padding:0.75rem 1rem;">
|
||||
{% if pharmacy.is_active %}
|
||||
<span style="display:inline-block; padding:0.25rem 0.75rem; background:var(--color-success); color:white; border-radius:9999px; font-size:0.75rem; font-weight:600;">Активна</span>
|
||||
<span style="display:inline-block; padding:0.25rem 0.75rem; background:var(--color-success); color:white; border-radius:9999px; font-size:0.75rem; font-weight:600;">{% trans "Активна" %}</span>
|
||||
{% else %}
|
||||
<span style="display:inline-block; padding:0.25rem 0.75rem; background:var(--color-destructive); color:white; border-radius:9999px; font-size:0.75rem; font-weight:600;">Неактивна</span>
|
||||
<span style="display:inline-block; padding:0.25rem 0.75rem; background:var(--color-destructive); color:white; border-radius:9999px; font-size:0.75rem; font-weight:600;">{% trans "Неактивна" %}</span>
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
{% empty %}
|
||||
<tr>
|
||||
<td colspan="8" style="padding:2rem; text-align:center; color:var(--color-muted-foreground);">Аптеки не знайдені</td>
|
||||
<td colspan="8" style="padding:2rem; text-align:center; color:var(--color-muted-foreground);">{% trans "Аптеки не найдены" %}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div style="padding:0.875rem 1.5rem;border-top:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:0.75rem;">
|
||||
<span id="pharma-page-info" style="font-size:0.8125rem;color:var(--color-muted-foreground);">Показано 0–0 з 0</span>
|
||||
<span id="pharma-page-info" style="font-size:0.8125rem;color:var(--color-muted-foreground);">{% trans "Показано 0–0 из 0" %}</span>
|
||||
<div style="display:flex;align-items:center;gap:1rem;flex-wrap:wrap;">
|
||||
<div style="display:flex;align-items:center;gap:0.375rem;">
|
||||
<span style="font-size:0.8125rem;color:var(--color-muted-foreground);white-space:nowrap;">На сторінці:</span>
|
||||
<span style="font-size:0.8125rem;color:var(--color-muted-foreground);white-space:nowrap;">{% trans "На странице:" %}</span>
|
||||
<select id="pharma-page-size" class="input" style="font-size:0.8125rem;padding:0.3rem 0.5rem;height:auto;width:auto;" onchange="pharmaSetPageSize(this.value)">
|
||||
<option value="10">10</option>
|
||||
<option value="15">15</option>
|
||||
@@ -180,8 +181,8 @@
|
||||
</div>
|
||||
<div style="display:flex;align-items:center;gap:0.375rem;">
|
||||
<button type="button" id="pharma-prev-btn" class="btn btn-secondary" style="padding:0.375rem 0.75rem;font-size:0.8125rem;" onclick="pharmaGoToPage(pharmaPage - 1)">← Попередня</button>
|
||||
<span id="pharma-page-label" style="font-size:0.8125rem;color:var(--color-muted-foreground);white-space:nowrap;">Стор. 1 з 1</span>
|
||||
<button type="button" id="pharma-next-btn" class="btn btn-secondary" style="padding:0.375rem 0.75rem;font-size:0.8125rem;" onclick="pharmaGoToPage(pharmaPage + 1)">Наступна →</button>
|
||||
<span id="pharma-page-label" style="font-size:0.8125rem;color:var(--color-muted-foreground);white-space:nowrap;">{% trans "Стр. 1 из 1" %}</span>
|
||||
<button type="button" id="pharma-next-btn" class="btn btn-secondary" style="padding:0.375rem 0.75rem;font-size:0.8125rem;" onclick="pharmaGoToPage(pharmaPage + 1)">{% trans "Следующая" %} →</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -323,7 +324,7 @@ function rebuildPharmacySelect() {
|
||||
if (enterpriseFilter && options.length > 0) {
|
||||
pharmSel.style.display = '';
|
||||
const currentVal = pharmSel.value;
|
||||
pharmSel.innerHTML = '<option value="">Всі аптеки</option>' +
|
||||
pharmSel.innerHTML = '<option value="">{% trans "Все аптеки" %}</option>' +
|
||||
options.map(function(o) {
|
||||
return '<option value="' + o.id + '"' + (o.id === currentVal ? ' selected' : '') + '>' + o.name + '</option>';
|
||||
}).join('');
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
{% load common_tags %}
|
||||
{% load i18n %}
|
||||
<div class="page-content">
|
||||
|
||||
<!-- Назад + дії -->
|
||||
@@ -12,7 +13,7 @@
|
||||
</a>
|
||||
{% if can_edit %}
|
||||
<a href="/admin/locations/pharmacy/{{ pharmacy.pk }}/change/" target="_blank"
|
||||
class="btn btn-secondary" style="font-size:0.8125rem; padding:0.3rem 0.75rem; text-decoration:none;">Редагувати в адмінці</a>
|
||||
class="btn btn-secondary" style="font-size:0.8125rem; padding:0.3rem 0.75rem; text-decoration:none;">{% trans "Редактировать в админке" %}</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
@@ -32,7 +33,7 @@
|
||||
{% elif pharmacy.status == 'closed' %}<span class="badge badge-danger">{{ pharmacy.get_status_display }}</span>
|
||||
{% elif pharmacy.status == 'suspended' %}<span class="badge badge-warning">{{ pharmacy.get_status_display }}</span>
|
||||
{% else %}<span class="badge badge-info">{{ pharmacy.get_status_display }}</span>{% endif %}
|
||||
{% if not pharmacy.is_active %}<span class="badge badge-danger">Неактивна</span>{% endif %}
|
||||
{% if not pharmacy.is_active %}<span class="badge badge-danger">{% trans "Неактивна" %}</span>{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -40,22 +41,22 @@
|
||||
<!-- Метрики -->
|
||||
<div style="display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:0.75rem; margin-bottom:1.25rem;">
|
||||
<div class="stat-card" style="padding:1rem 1.25rem;">
|
||||
<div style="font-size:0.6875rem; color:var(--color-muted-foreground); text-transform:uppercase; letter-spacing:0.05em; margin-bottom:0.375rem;">Персонал</div>
|
||||
<div style="font-size:0.6875rem; color:var(--color-muted-foreground); text-transform:uppercase; letter-spacing:0.05em; margin-bottom:0.375rem;">{% trans "Персонал" %}</div>
|
||||
<div style="font-size:1.5rem; font-weight:500; color:var(--color-foreground);">{{ staff_count }}</div>
|
||||
<div style="font-size:0.75rem; color:{% if staff_count == 0 %}var(--color-destructive){% else %}var(--color-success){% endif %}; margin-top:0.25rem;">{% if staff_count == 0 %}немає співробітників{% else %}активних{% endif %}</div>
|
||||
</div>
|
||||
<div class="stat-card" style="padding:1rem 1.25rem;">
|
||||
<div style="font-size:0.6875rem; color:var(--color-muted-foreground); text-transform:uppercase; letter-spacing:0.05em; margin-bottom:0.375rem;">Завідувач</div>
|
||||
<div style="font-size:0.6875rem; color:var(--color-muted-foreground); text-transform:uppercase; letter-spacing:0.05em; margin-bottom:0.375rem;">{% trans "Заведующий" %}</div>
|
||||
<div style="font-size:1rem; font-weight:600; color:var(--color-foreground); overflow:hidden; text-overflow:ellipsis; white-space:nowrap;">{% if pharmacy.head_pharmacist %}{{ pharmacy.head_pharmacist.last_name }} {{ pharmacy.head_pharmacist.first_name }}{% else %}—{% endif %}</div>
|
||||
{% if not pharmacy.head_pharmacist %}<div style="font-size:0.75rem; color:var(--color-warning); margin-top:0.25rem;">не призначений</div>{% endif %}
|
||||
</div>
|
||||
<div class="stat-card" style="padding:1rem 1.25rem;">
|
||||
<div style="font-size:0.6875rem; color:var(--color-muted-foreground); text-transform:uppercase; letter-spacing:0.05em; margin-bottom:0.375rem;">Ліцензія</div>
|
||||
<div style="font-size:0.6875rem; color:var(--color-muted-foreground); text-transform:uppercase; letter-spacing:0.05em; margin-bottom:0.375rem;">{% trans "Лицензия" %}</div>
|
||||
<div style="font-size:1rem; font-weight:600; color:var(--color-foreground);">{{ pharmacy.license_status }}</div>
|
||||
<div style="font-size:0.75rem; color:var(--color-muted-foreground); margin-top:0.25rem;">{{ pharmacy.license_number|default:"без номера" }}</div>
|
||||
</div>
|
||||
<div class="stat-card" style="padding:1rem 1.25rem;">
|
||||
<div style="font-size:0.6875rem; color:var(--color-muted-foreground); text-transform:uppercase; letter-spacing:0.05em; margin-bottom:0.375rem;">Режим роботи</div>
|
||||
<div style="font-size:0.6875rem; color:var(--color-muted-foreground); text-transform:uppercase; letter-spacing:0.05em; margin-bottom:0.375rem;">{% trans "Режим работы" %}</div>
|
||||
<div style="font-size:1rem; font-weight:600; color:var(--color-foreground);">{{ pharmacy.working_hours|default:"—" }}</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -63,13 +64,13 @@
|
||||
<!-- Вкладки -->
|
||||
<div style="display:flex; gap:0.25rem; background:var(--color-muted); border-radius:var(--radius); padding:0.25rem; width:fit-content; margin-bottom:1.25rem; flex-wrap:wrap;">
|
||||
<button type="button" class="ph-tab-btn ph-tab-active" data-tab="main" onclick="phTabSwitch('main')"
|
||||
style="padding:0.375rem 1rem; font-size:0.8125rem; font-weight:500; border:none; border-radius:calc(var(--radius) - 2px); cursor:pointer; background:var(--color-card); color:var(--color-card-foreground); box-shadow:0 1px 2px rgb(0 0 0/0.08);">Основна інформація</button>
|
||||
style="padding:0.375rem 1rem; font-size:0.8125rem; font-weight:500; border:none; border-radius:calc(var(--radius) - 2px); cursor:pointer; background:var(--color-card); color:var(--color-card-foreground); box-shadow:0 1px 2px rgb(0 0 0/0.08);">{% trans "Основная информация" %}</button>
|
||||
<button type="button" class="ph-tab-btn" data-tab="equipment" onclick="phTabSwitch('equipment')"
|
||||
style="padding:0.375rem 1rem; font-size:0.8125rem; font-weight:500; border:none; border-radius:calc(var(--radius) - 2px); cursor:pointer; background:transparent; color:var(--color-muted-foreground);">Мережеве та комп'ютерне обладнання</button>
|
||||
style="padding:0.375rem 1rem; font-size:0.8125rem; font-weight:500; border:none; border-radius:calc(var(--radius) - 2px); cursor:pointer; background:transparent; color:var(--color-muted-foreground);">{% trans "Сетевое и компьютерное оборудование" %}</button>
|
||||
<button type="button" class="ph-tab-btn" data-tab="internet" onclick="phTabSwitch('internet')"
|
||||
style="padding:0.375rem 1rem; font-size:0.8125rem; font-weight:500; border:none; border-radius:calc(var(--radius) - 2px); cursor:pointer; background:transparent; color:var(--color-muted-foreground);">Інтернет-провайдер</button>
|
||||
style="padding:0.375rem 1rem; font-size:0.8125rem; font-weight:500; border:none; border-radius:calc(var(--radius) - 2px); cursor:pointer; background:transparent; color:var(--color-muted-foreground);">{% trans "Интернет-провайдер" %}</button>
|
||||
<button type="button" class="ph-tab-btn" data-tab="utilities" onclick="phTabSwitch('utilities')"
|
||||
style="padding:0.375rem 1rem; font-size:0.8125rem; font-weight:500; border:none; border-radius:calc(var(--radius) - 2px); cursor:pointer; background:transparent; color:var(--color-muted-foreground);">Комунальний відділ</button>
|
||||
style="padding:0.375rem 1rem; font-size:0.8125rem; font-weight:500; border:none; border-radius:calc(var(--radius) - 2px); cursor:pointer; background:transparent; color:var(--color-muted-foreground);">{% trans "Коммунальный отдел" %}</button>
|
||||
</div>
|
||||
|
||||
<!-- ══ ВКЛАДКА: ОСНОВНА ІНФОРМАЦІЯ ══ -->
|
||||
@@ -79,20 +80,20 @@
|
||||
|
||||
<!-- Основна інформація -->
|
||||
<div style="background:var(--color-card); border:1px solid var(--color-border); border-radius:0.75rem; padding:1.25rem;">
|
||||
<h2 style="font-size:1rem; font-weight:600; color:var(--color-foreground); margin-bottom:0.875rem;">Основна інформація</h2>
|
||||
<h2 style="font-size:1rem; font-weight:600; color:var(--color-foreground); margin-bottom:0.875rem;">{% trans "Основная информация" %}</h2>
|
||||
<div style="display:grid; grid-template-columns:1fr 1fr; gap:0.75rem 1.5rem; font-size:0.8125rem;">
|
||||
<div><span style="color:var(--color-muted-foreground);">Організація</span><br>{{ pharmacy.organization.name|default:"—" }}</div>
|
||||
<div><span style="color:var(--color-muted-foreground);">Регіон</span><br>{{ pharmacy.location_region.name|default:"—" }}</div>
|
||||
<div style="grid-column:1 / -1;"><span style="color:var(--color-muted-foreground);">Адреса</span><br>{{ pharmacy.address|default:"не вказана" }}</div>
|
||||
<div><span style="color:var(--color-muted-foreground);">Категорія</span><br>{{ pharmacy.get_category_display|default:"не вказана" }}</div>
|
||||
<div><span style="color:var(--color-muted-foreground);">Категорія ПДВ</span><br>{{ pharmacy.get_vat_category_display|default:"не вказана" }}</div>
|
||||
<div><span style="color:var(--color-muted-foreground);">Відповідальний менеджер</span><br>{% if pharmacy.responsible_manager %}{{ pharmacy.responsible_manager.last_name }} {{ pharmacy.responsible_manager.first_name }}{% else %}—{% endif %}</div>
|
||||
<div><span style="color:var(--color-muted-foreground);">Куратор</span><br>{% if pharmacy.curator %}{{ pharmacy.curator.last_name }} {{ pharmacy.curator.first_name }}{% else %}—{% endif %}</div>
|
||||
<div><span style="color:var(--color-muted-foreground);">Кількість фармацевтів (штат)</span><br>{{ pharmacy.pharmacists_count }}</div>
|
||||
<div><span style="color:var(--color-muted-foreground);">{% trans "Организация" %}</span><br>{{ pharmacy.organization.name|default:"—" }}</div>
|
||||
<div><span style="color:var(--color-muted-foreground);">{% trans "Регион" %}</span><br>{{ pharmacy.location_region.name|default:"—" }}</div>
|
||||
<div style="grid-column:1 / -1;"><span style="color:var(--color-muted-foreground);">{% trans "Адрес" %}</span><br>{{ pharmacy.address|default:"не вказана" }}</div>
|
||||
<div><span style="color:var(--color-muted-foreground);">{% trans "Категория" %}</span><br>{{ pharmacy.get_category_display|default:"не вказана" }}</div>
|
||||
<div><span style="color:var(--color-muted-foreground);">{% trans "Категория НДС" %}</span><br>{{ pharmacy.get_vat_category_display|default:"не вказана" }}</div>
|
||||
<div><span style="color:var(--color-muted-foreground);">{% trans "Ответственный менеджер" %}</span><br>{% if pharmacy.responsible_manager %}{{ pharmacy.responsible_manager.last_name }} {{ pharmacy.responsible_manager.first_name }}{% else %}—{% endif %}</div>
|
||||
<div><span style="color:var(--color-muted-foreground);">{% trans "Куратор" %}</span><br>{% if pharmacy.curator %}{{ pharmacy.curator.last_name }} {{ pharmacy.curator.first_name }}{% else %}—{% endif %}</div>
|
||||
<div><span style="color:var(--color-muted-foreground);">{% trans "Количество фармацевтов (штат)" %}</span><br>{{ pharmacy.pharmacists_count }}</div>
|
||||
</div>
|
||||
{% if pharmacy.comments %}
|
||||
<div style="margin-top:0.875rem; padding-top:0.875rem; border-top:1px solid var(--color-border); font-size:0.8125rem;">
|
||||
<span style="color:var(--color-muted-foreground);">Примітки</span>
|
||||
<span style="color:var(--color-muted-foreground);">{% trans "Примечания" %}</span>
|
||||
<div style="margin-top:0.25rem; white-space:pre-line;">{{ pharmacy.comments }}</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
@@ -100,14 +101,14 @@
|
||||
|
||||
<!-- Контакти -->
|
||||
<div style="background:var(--color-card); border:1px solid var(--color-border); border-radius:0.75rem; padding:1.25rem;">
|
||||
<h2 style="font-size:1rem; font-weight:600; color:var(--color-foreground); margin-bottom:0.875rem;">Контакти</h2>
|
||||
<h2 style="font-size:1rem; font-weight:600; color:var(--color-foreground); margin-bottom:0.875rem;">{% trans "Контакты" %}</h2>
|
||||
{% if phones %}
|
||||
<div style="display:flex; flex-direction:column; gap:0.5rem;">
|
||||
{% for p in phones %}
|
||||
<div style="display:flex; align-items:center; gap:0.5rem; font-size:0.8125rem;">
|
||||
<span>☎️ {{ p.phone }}</span>
|
||||
<span class="badge badge-muted">{{ p.get_phone_type_display }}</span>
|
||||
{% if p.is_primary %}<span class="badge badge-success">Основний</span>{% endif %}
|
||||
{% if p.is_primary %}<span class="badge badge-success">{% trans "Основной" %}</span>{% endif %}
|
||||
{% if p.notes %}<span style="color:var(--color-muted-foreground);">— {{ p.notes }}</span>{% endif %}
|
||||
</div>
|
||||
{% endfor %}
|
||||
@@ -115,7 +116,7 @@
|
||||
{% elif pharmacy.phone %}
|
||||
<div style="font-size:0.8125rem;">☎️ {{ pharmacy.phone }}</div>
|
||||
{% else %}
|
||||
<div style="font-size:0.8125rem; color:var(--color-muted-foreground);">Телефони не вказані</div>
|
||||
<div style="font-size:0.8125rem; color:var(--color-muted-foreground);">{% trans "Телефоны не указаны" %}</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
@@ -135,7 +136,7 @@
|
||||
<div style="min-width:0;">
|
||||
<div style="font-size:0.8125rem; font-weight:500; color:var(--color-card-foreground); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">
|
||||
{{ employee.last_name }} {{ employee.first_name }}
|
||||
{% if employee.pk == pharmacy.head_pharmacist_id %}<span class="badge badge-success" style="margin-left:0.25rem;">Завідувач</span>{% endif %}
|
||||
{% if employee.pk == pharmacy.head_pharmacist_id %}<span class="badge badge-success" style="margin-left:0.25rem;">{% trans "Заведующий" %}</span>{% endif %}
|
||||
</div>
|
||||
<div style="font-size:0.75rem; color:var(--color-muted-foreground); white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">{{ employee.post.name|default:"Посада не вказана" }}</div>
|
||||
</div>
|
||||
@@ -143,7 +144,7 @@
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% else %}
|
||||
<div style="font-size:0.8125rem; color:var(--color-muted-foreground);">У цій аптеці поки немає активних співробітників</div>
|
||||
<div style="font-size:0.8125rem; color:var(--color-muted-foreground);">{% trans "В этой аптеке пока нет активных сотрудников" %}</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
@@ -151,7 +152,7 @@
|
||||
<div style="display:flex; flex-direction:column; gap:1.25rem;">
|
||||
<!-- Карта -->
|
||||
<div style="background:var(--color-card); border:1px solid var(--color-border); border-radius:0.75rem; padding:1.25rem;">
|
||||
<h2 style="font-size:1rem; font-weight:600; color:var(--color-foreground); margin-bottom:0.875rem;">Координати</h2>
|
||||
<h2 style="font-size:1rem; font-weight:600; color:var(--color-foreground); margin-bottom:0.875rem;">{% trans "Координаты" %}</h2>
|
||||
{% if pharmacy.has_coordinates %}
|
||||
<div id="pharmacy-map" style="height:220px; width:100%; border-radius:0.5rem; overflow:hidden;"></div>
|
||||
<div style="font-size:0.75rem; color:var(--color-muted-foreground); margin-top:0.5rem;">{{ pharmacy.latitude|floatformat:5 }}, {{ pharmacy.longitude|floatformat:5 }}</div>
|
||||
@@ -174,8 +175,8 @@
|
||||
|
||||
<!-- Службова інформація -->
|
||||
<div style="background:var(--color-card); border:1px solid var(--color-border); border-radius:0.75rem; padding:1.25rem; font-size:0.8125rem; color:var(--color-muted-foreground);">
|
||||
<div style="margin-bottom:0.5rem;"><span style="color:var(--color-foreground);">Створено:</span> {{ pharmacy.created_at|date:"d.m.Y H:i" }}</div>
|
||||
<div><span style="color:var(--color-foreground);">Оновлено:</span> {{ pharmacy.updated_at|date:"d.m.Y H:i" }}</div>
|
||||
<div style="margin-bottom:0.5rem;"><span style="color:var(--color-foreground);">{% trans "Создано:" %}</span> {{ pharmacy.created_at|date:"d.m.Y H:i" }}</div>
|
||||
<div><span style="color:var(--color-foreground);">{% trans "Обновлено:" %}</span> {{ pharmacy.updated_at|date:"d.m.Y H:i" }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -189,11 +190,11 @@
|
||||
<table style="width:100%; border-collapse:collapse; font-size:0.8125rem;">
|
||||
<thead>
|
||||
<tr style="border-bottom:1px solid var(--color-border); text-align:left;">
|
||||
<th style="padding:0.75rem 1rem; color:var(--color-muted-foreground); font-weight:500;">Обладнання</th>
|
||||
<th style="padding:0.75rem 1rem; color:var(--color-muted-foreground); font-weight:500;">Серійний / інв. №</th>
|
||||
<th style="padding:0.75rem 1rem; color:var(--color-muted-foreground); font-weight:500;">Статус</th>
|
||||
<th style="padding:0.75rem 1rem; color:var(--color-muted-foreground); font-weight:500;">Видано</th>
|
||||
<th style="padding:0.75rem 1rem; color:var(--color-muted-foreground); font-weight:500;">Гарантія</th>
|
||||
<th style="padding:0.75rem 1rem; color:var(--color-muted-foreground); font-weight:500;">{% trans "Оборудование" %}</th>
|
||||
<th style="padding:0.75rem 1rem; color:var(--color-muted-foreground); font-weight:500;">{% trans "Серийный / инв. №" %}</th>
|
||||
<th style="padding:0.75rem 1rem; color:var(--color-muted-foreground); font-weight:500;">{% trans "Статус" %}</th>
|
||||
<th style="padding:0.75rem 1rem; color:var(--color-muted-foreground); font-weight:500;">{% trans "Выдано" %}</th>
|
||||
<th style="padding:0.75rem 1rem; color:var(--color-muted-foreground); font-weight:500;">{% trans "Гарантия" %}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@@ -207,9 +208,9 @@
|
||||
{{ eq.serial_number }}{% if eq.inventory_number %} · {{ eq.inventory_number }}{% endif %}
|
||||
</td>
|
||||
<td style="padding:0.75rem 1rem;">
|
||||
{% if eq.status.code == 'stock' %}<span class="badge badge-muted">На складі</span>
|
||||
{% elif eq.status.code == 'assigned' %}<span class="badge badge-success">Видано</span>
|
||||
{% elif eq.status.code == 'repair' %}<span class="badge badge-warning">В ремонті</span>
|
||||
{% if eq.status.code == 'stock' %}<span class="badge badge-muted">{% trans "На складе" %}</span>
|
||||
{% elif eq.status.code == 'assigned' %}<span class="badge badge-success">{% trans "Выдано" %}</span>
|
||||
{% elif eq.status.code == 'repair' %}<span class="badge badge-warning">{% trans "В ремонте" %}</span>
|
||||
{% else %}<span class="badge badge-danger">{{ eq.status.name }}</span>{% endif %}
|
||||
</td>
|
||||
<td style="padding:0.75rem 1rem; color:var(--color-muted-foreground);">{{ eq.assigned_to.get_full_name|default:"—" }}</td>
|
||||
@@ -219,13 +220,13 @@
|
||||
</tbody>
|
||||
</table>
|
||||
{% else %}
|
||||
<div style="padding:1.25rem; font-size:0.8125rem; color:var(--color-muted-foreground);">За цією аптекою не закріплено обладнання</div>
|
||||
<div style="padding:1.25rem; font-size:0.8125rem; color:var(--color-muted-foreground);">{% trans "За этой аптекой не закреплено оборудование" %}</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% if can_edit %}
|
||||
<div style="margin-top:0.75rem;">
|
||||
<a href="/it-manager/" hx-get="/it-manager/" hx-target="#main-content" hx-push-url="/it-manager/" hx-indicator="#loader"
|
||||
style="font-size:0.8125rem; color:var(--color-primary); text-decoration:none;">Керувати обладнанням в IT-відділі →</a>
|
||||
style="font-size:0.8125rem; color:var(--color-primary); text-decoration:none;">{% trans "Управлять оборудованием в IT-отделе" %} →</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
@@ -237,12 +238,12 @@
|
||||
<table style="width:100%; border-collapse:collapse; font-size:0.8125rem;">
|
||||
<thead>
|
||||
<tr style="border-bottom:1px solid var(--color-border); text-align:left;">
|
||||
<th style="padding:0.75rem 1rem; color:var(--color-muted-foreground); font-weight:500;">Провайдер / договір</th>
|
||||
<th style="padding:0.75rem 1rem; color:var(--color-muted-foreground); font-weight:500;">Тип послуги</th>
|
||||
<th style="padding:0.75rem 1rem; color:var(--color-muted-foreground); font-weight:500;">Технологія</th>
|
||||
<th style="padding:0.75rem 1rem; color:var(--color-muted-foreground); font-weight:500;">Швидкість</th>
|
||||
<th style="padding:0.75rem 1rem; color:var(--color-muted-foreground); font-weight:500;">Статус</th>
|
||||
<th style="padding:0.75rem 1rem; color:var(--color-muted-foreground); font-weight:500;">Діє до</th>
|
||||
<th style="padding:0.75rem 1rem; color:var(--color-muted-foreground); font-weight:500;">{% trans "Провайдер / договор" %}</th>
|
||||
<th style="padding:0.75rem 1rem; color:var(--color-muted-foreground); font-weight:500;">{% trans "Тип услуги" %}</th>
|
||||
<th style="padding:0.75rem 1rem; color:var(--color-muted-foreground); font-weight:500;">{% trans "Технология" %}</th>
|
||||
<th style="padding:0.75rem 1rem; color:var(--color-muted-foreground); font-weight:500;">{% trans "Скорость" %}</th>
|
||||
<th style="padding:0.75rem 1rem; color:var(--color-muted-foreground); font-weight:500;">{% trans "Статус" %}</th>
|
||||
<th style="padding:0.75rem 1rem; color:var(--color-muted-foreground); font-weight:500;">{% trans "Действует до" %}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@@ -274,13 +275,13 @@
|
||||
</tbody>
|
||||
</table>
|
||||
{% else %}
|
||||
<div style="padding:1.25rem; font-size:0.8125rem; color:var(--color-muted-foreground);">Договорів з провайдерами для цієї аптеки не знайдено</div>
|
||||
<div style="padding:1.25rem; font-size:0.8125rem; color:var(--color-muted-foreground);">{% trans "Договоров с провайдерами для этой аптеки не найдено" %}</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% if can_edit %}
|
||||
<div style="margin-top:0.75rem;">
|
||||
<a href="/it-manager/" hx-get="/it-manager/" hx-target="#main-content" hx-push-url="/it-manager/" hx-indicator="#loader"
|
||||
style="font-size:0.8125rem; color:var(--color-primary); text-decoration:none;">Керувати договорами в IT-відділі →</a>
|
||||
style="font-size:0.8125rem; color:var(--color-primary); text-decoration:none;">{% trans "Управлять договорами в IT-отделе" %} →</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
@@ -292,12 +293,12 @@
|
||||
<table style="width:100%; border-collapse:collapse; font-size:0.8125rem;">
|
||||
<thead>
|
||||
<tr style="border-bottom:1px solid var(--color-border); text-align:left;">
|
||||
<th style="padding:0.75rem 1rem; color:var(--color-muted-foreground); font-weight:500;">Тип лічильника</th>
|
||||
<th style="padding:0.75rem 1rem; color:var(--color-muted-foreground); font-weight:500;">Дата</th>
|
||||
<th style="padding:0.75rem 1rem; color:var(--color-muted-foreground); font-weight:500;">Показання</th>
|
||||
<th style="padding:0.75rem 1rem; color:var(--color-muted-foreground); font-weight:500;">Витрата</th>
|
||||
<th style="padding:0.75rem 1rem; color:var(--color-muted-foreground); font-weight:500;">Подав</th>
|
||||
<th style="padding:0.75rem 1rem; color:var(--color-muted-foreground); font-weight:500;">Коментар</th>
|
||||
<th style="padding:0.75rem 1rem; color:var(--color-muted-foreground); font-weight:500;">{% trans "Тип счётчика" %}</th>
|
||||
<th style="padding:0.75rem 1rem; color:var(--color-muted-foreground); font-weight:500;">{% trans "Дата" %}</th>
|
||||
<th style="padding:0.75rem 1rem; color:var(--color-muted-foreground); font-weight:500;">{% trans "Показания" %}</th>
|
||||
<th style="padding:0.75rem 1rem; color:var(--color-muted-foreground); font-weight:500;">{% trans "Расход" %}</th>
|
||||
<th style="padding:0.75rem 1rem; color:var(--color-muted-foreground); font-weight:500;">{% trans "Подал" %}</th>
|
||||
<th style="padding:0.75rem 1rem; color:var(--color-muted-foreground); font-weight:500;">{% trans "Комментарий" %}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@@ -308,7 +309,7 @@
|
||||
<td style="padding:0.75rem 1rem; font-weight:500;">{{ r.value }}</td>
|
||||
<td style="padding:0.75rem 1rem;">
|
||||
{% if r.consumption is None %}<span style="color:var(--color-muted-foreground);">—</span>
|
||||
{% elif r.consumption < 0 %}<span style="color:var(--color-destructive);" title="Показання менше за попереднє — перевірте">⚠ {{ r.consumption }}</span>
|
||||
{% elif r.consumption < 0 %}<span style="color:var(--color-destructive);" title="{% trans 'Показания меньше предыдущего — проверьте' %}">⚠ {{ r.consumption }}</span>
|
||||
{% else %}<span style="color:var(--color-muted-foreground);">{{ r.consumption }}</span>{% endif %}
|
||||
</td>
|
||||
<td style="padding:0.75rem 1rem; color:var(--color-muted-foreground); font-size:0.75rem;">{{ r.submitted_by.get_full_name|default:"—" }}</td>
|
||||
@@ -318,12 +319,12 @@
|
||||
</tbody>
|
||||
</table>
|
||||
{% else %}
|
||||
<div style="padding:1.25rem; font-size:0.8125rem; color:var(--color-muted-foreground);">Показань лічильників для цієї аптеки ще не подавали</div>
|
||||
<div style="padding:1.25rem; font-size:0.8125rem; color:var(--color-muted-foreground);">{% trans "Показаний счётчиков для этой аптеки ещё не подавали" %}</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div style="margin-top:0.75rem;">
|
||||
<a href="/utilities/" hx-get="/utilities/" hx-target="#main-content" hx-push-url="/utilities/" hx-indicator="#loader"
|
||||
style="font-size:0.8125rem; color:var(--color-primary); text-decoration:none;">Подати показання / усі показання →</a>
|
||||
style="font-size:0.8125rem; color:var(--color-primary); text-decoration:none;">{% trans "Подать показания / все показания" %} →</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user