201 lines
11 KiB
Markdown
201 lines
11 KiB
Markdown
# 📦 Локальная система учёта и перемещения оборудования
|
||
|
||
Система для контроля, учета и аудита перемещений оборудования и ТМЦ (роутеры, терминалы, приставки, коммутаторы и др.) с **Zero-Setup архитектурой** — запуск в 1 клик на macOS и ПК без необходимости установки серверов, баз данных или компиляторов.
|
||
|
||
---
|
||
|
||
## 🚀 Быстрый запуск
|
||
|
||
### Способ 1. Напрямую через файл (Zero-Setup)
|
||
|
||
#### macOS:
|
||
1. Дважды кликните по файлу **`open_app.command`**
|
||
2. Приложение мгновенно откроется в браузере Safari
|
||
|
||
#### Windows:
|
||
1. Дважды кликните по файлу **`open_app.bat`**
|
||
2. Приложение откроется в браузере по умолчанию
|
||
|
||
#### Любой ОС (вручную):
|
||
1. Откройте файл **`index.html`** в любом браузере (Safari, Chrome, Edge, Firefox, Arc)
|
||
2. Приложение готово к работе!
|
||
|
||
> 💡 **Совет:** Вы можете добавить вкладку в Dock Safari / Chrome как отдельное десктопное приложение через меню `Файл → Добавить в Dock`.
|
||
|
||
---
|
||
|
||
## 📦 Структура и экраны системы
|
||
|
||
### 1. 📊 Дашборд (Свод)
|
||
- **KPI-метрики**:
|
||
- Всего ТМЦ в базе
|
||
- На складе (готово к выдаче)
|
||
- У абонентов (в эксплуатации)
|
||
- У сотрудников (в подотчете)
|
||
- Поиск / ДЗ (требует внимания)
|
||
- Списано
|
||
- **Интерактивная диаграмма распределения по статусам**: динамический круговой график с процентами
|
||
- **Оборудование на руках у сотрудников**: таблица с группировкой по активным монтажникам/сотрудникам
|
||
- **Лента последних операций**: последние 6 перемещений оборудования в реальном времени
|
||
|
||
### 2. ⚡ Ввод / Операции (Хаб операционных форм)
|
||
|
||
#### Форма 1: Оприходование (Ввод оборудования)
|
||
- Ввод даты, SN, IMEI, выбор модели (с кнопкой быстрого создания нового наименования «+ Новая модель»), начальный статус
|
||
- Автоматически создает оборудование в реестре и первую запись в архиве
|
||
|
||
#### Форма 2: Выдача оборудования
|
||
- Быстрый выбор по SN с карточкой предпросмотра (текущий статус, модель, держатель)
|
||
- Выбор активного сотрудника
|
||
- **Авто-логика**: переводит статус в *«выдано сотруднику»*, закрепляет `current_employee_id`, очищает Л/С и заказ, фиксирует запись в архиве
|
||
|
||
#### Форма 3: Установка оборудования
|
||
- Поиск по SN с предпросмотром
|
||
- Чекбоксы контроля *«Наличие наименования»* и *«Наличие IMEI»* (с блоком авто-дозаписи реквизитов)
|
||
- Лицевой счет, Номер заказа, Инициатор
|
||
- **Авто-логика**: статус переходит в *«у абонента»*, заполняются Л/С и Заказ, сбрасывается сотрудник, пишется история
|
||
|
||
#### Форма 4: Возврат / Снятие / Списание / ДЗ
|
||
- Выбор типа: *«Снятие»* (➔ на склад), *«Списание»* (➔ списано), *«ДЗ»* (➔ ДЗ), *«вывести из склада»* (➔ к поиску), *«перемещение с др складов»* (➔ на склад)
|
||
- Фиксация в архиве и обновление базы
|
||
|
||
### 3. 📦 Склад (Реестр оборудования)
|
||
- Полнотекстовый поиск по SN, IMEI, Лицевому счету, Номеру заказа, ФИО сотрудника
|
||
- Фильтры по Статусам, Типам и Сотрудникам
|
||
- Цветовые бейджи статусов
|
||
- Клик по статусу или кнопка 🔍 ➔ модальное окно с подробным таймлайном всей истории перемещений оборудования
|
||
- Экспорт перечня оборудования в **CSV** для Excel
|
||
|
||
### 4. 📋 Передвижения (Архив перемещений)
|
||
- Полный хронологический аудит-журнал со всеми операциями
|
||
- Интерактивная кнопка **«Отработано / В работе»** (зеленая галочка)
|
||
- Фильтрация по типам операций и поиск
|
||
- Экспорт архива в **CSV**
|
||
|
||
### 5. ⚙️ Справочники и Управление данными
|
||
- **Сотрудники**: добавление новых, изменение статуса (активен / в архиве)
|
||
- **Наименования ТМЦ**: справочник типов с подсчетом количества единиц в базе
|
||
- **Статусы**: наглядная цветовая карта статусов
|
||
- **Резервные копии**:
|
||
- *«Скачать JSON»* — сохранение полной базы в 1 файл на диск
|
||
- *«Восстановить»* — загрузка сохраненной копии
|
||
- *«Сброс к демо-данным»* — возврат к начальным демонстрационным данным
|
||
|
||
---
|
||
|
||
## 🗄️ Хранение данных
|
||
|
||
Все данные хранятся локально в изолированном хранилище браузера (`localStorage`) с автоматическим сохранением после каждого действия.
|
||
|
||
**Преимущества:**
|
||
- ✅ Не требуется интернет
|
||
- ✅ Не требуется сервер
|
||
- ✅ Не требуется установка ПО
|
||
- ✅ Данные полностью под вашим контролем
|
||
- ✅ Автоматическое резервное копирование через функцию экспорта
|
||
|
||
**Рекомендация:** Регулярно делайте резервные копии через меню «Справочники» → «Скачать JSON базу», чтобы не потерять данные при очистке кэша браузера.
|
||
|
||
---
|
||
|
||
## 🎨 Дизайн-система
|
||
|
||
Интерфейс построен на дизайн-системе KT AI с современной тёмной темой:
|
||
- Цветовые токены для статусов
|
||
- Адаптивная вёрстка
|
||
- Плавные анимации и переходы
|
||
- Удобная навигация между экранами
|
||
|
||
---
|
||
|
||
## 📝 Структура файлов
|
||
|
||
```
|
||
lokalnaya-sistema-ucheta-i-p/
|
||
├── index.html # Главный файл приложения
|
||
├── style.css # Стили дизайн-системы
|
||
├── script.js # Логика приложения
|
||
├── open_app.command # Скрипт запуска для macOS
|
||
├── open_app.bat # Скрипт запуска для Windows
|
||
└── README.md # Этот файл
|
||
```
|
||
|
||
---
|
||
|
||
## 🔧 Требования
|
||
|
||
- Любой современный браузер (Safari, Chrome, Edge, Firefox, Arc)
|
||
- Поддержка JavaScript ES6+
|
||
- Поддержка localStorage (включён по умолчанию)
|
||
|
||
**Никаких дополнительных зависимостей не требуется!**
|
||
|
||
---
|
||
|
||
## 🎯 Примеры использования
|
||
|
||
### Сценарий 1: приёмка нового оборудования
|
||
1. Откройте вкладку «Операции» → «Оприходование»
|
||
2. Введите дату, SN, IMEI (если есть)
|
||
3. Выберите модель из списка или создайте новую
|
||
4. Выберите начальный статус («на складе» или «поиск / дз»)
|
||
5. Нажмите «Оприходовать»
|
||
|
||
### Сценарий 2: выдача оборудования сотруднику
|
||
1. Откройте вкладку «Операции» → «Выдача»
|
||
2. Введите SN оборудования для поиска
|
||
3. Проверьте карточку предпросмотра
|
||
4. Выберите сотрудника из списка
|
||
5. Нажмите «Выдать оборудование»
|
||
|
||
### Сценарий 3: установка абоненту
|
||
1. Откройте вкладку «Операции» → «Установка»
|
||
2. Найдите оборудование по SN
|
||
3. Отметьте чекбоксами наличие наименования и IMEI (при необходимости)
|
||
4. Введите лицевой счет, номер заказа, инициатора
|
||
5. Нажмите «Установить оборудование»
|
||
|
||
### Сценарий 4: возврат / списание
|
||
1. Откройте вкладку «Операции» → «Возврат / Списание»
|
||
2. Выберите тип операции (снятие, списание, ДЗ, и т.д.)
|
||
3. Найдите оборудование по SN
|
||
4. Добавьте комментарий (причина)
|
||
5. Нажмите «Выполнить операцию»
|
||
|
||
---
|
||
|
||
## 📊 Экспорт данных
|
||
|
||
### Экспорт склада в CSV
|
||
- Нажмите кнопку «📥 Экспорт CSV» на вкладке «Склад»
|
||
- Файл откроется в Excel с сохранением кириллицы
|
||
|
||
### Экспорт архива перемещений
|
||
- Нажмите кнопку «📥 Экспорт CSV» на вкладке «Передвижения»
|
||
- Получите полную историю всех операций
|
||
|
||
### Резервное копирование
|
||
- Откройте вкладку «Справочники»
|
||
- Нажмите «📥 Скачать JSON базу»
|
||
- Сохраните файл в надёжном месте
|
||
|
||
### Восстановление из резервной копии
|
||
- Откройте вкладку «Справочники»
|
||
- Нажмите «📤 Восстановить из JSON»
|
||
- Выберите ранее сохранённый файл `.json`
|
||
|
||
---
|
||
|
||
## 🛠️ Поддержка
|
||
|
||
При возникновении вопросов:
|
||
1. Проверьте, что браузер современный (последние 2-3 версии)
|
||
2. Убедитесь, что JavaScript включён
|
||
3. Проверьте, что localStorage не заблокирован
|
||
4. Попробуйте другой браузер
|
||
|
||
---
|
||
|
||
**Версия:** 1.0
|
||
**Дата обновления:** 2024
|