Содержание
В связях задача бэка на разработку методов API для затрат (5009)
- В админке для проектных ролей вывести следующие дескрипторы прав(:
-
Просмотр своей почасовой ставки
-
Просмотр всех почасовых ставок
-
Редактирование собственных почасовых ставок
-
Редактирование всех почасовых ставок
-
Просмотр ставок по типам затрат
-
Регистрировать свои затраты
-
Регистрировать все затраты
-
Редактирование своих затрат
-
Редактирование всех затрат
-
Просмотр своих затрат
-
Просмотр всех затрат
-
Переименовать вкладку “Учет времени” в “Время и затраты”
-
Во вкладке “Время и затраты” сделать три таба (https://www.figma.com/design/l8oqC0p0aHQw2jfAc5kILZ/METEOR---Blank-design-System?node-id=1277-13611&t=HffO6ojBQPWLnpP2-1):
- Отметки времени - таблица учета времени
- Затраты - таблица учета затрат
- Все - таблица, где отображаются записи и по учету времени и по затратам
-
Во вкладке “Отметки времени” отображать столбцы “Ставка” и “Трудовые затраты” (Тариф*кол-во зарегистрированных часов) при наличии любого из прав (требуется доработка API time_entries):
- “Просмотр своей почасовой ставки”
- “Просмотр всех почасовых ставок”
- Что отображать когда нет прав на просмотр?
-
В табе “Затраты” должны быть:
6.1. кнопка создания новой записи о затратах. По клику должна открываться модалка со следующими полями:
- Дата. Отметить звездочкой, что поле обязательное для заполнения. Реализовать на фронте валидацию на пустое поле
- Тип затрат (по умолчанию подставляется тип затрат с активированным признаком “default”, если такого нет, то первый из списка). Отметить звездочкой, что поле обязательное для заполнения. Использовать метод GET /api/v3/cost_types
- Пользователь (на которого внесен расход) - если есть право “Регистрировать все затраты”, то селект для выбора пользователей, если нет права, то только на просмотр
- Количество. Отметить звездочкой, что поле обязательное для заполнения. Использовать поле, в которое можно вводить только цифры, запятую и точку.
- Ед. измерения. Подставлять из типа затрат (использовать метод GET /api/v3/cost_types/:id) в зависимости от введенного кол-ва. Если кол-во больше 1, то брать значение из показателя
unitPlural
. Если кол-во = 1, то изunit
). Проблема для Русского “3 часов” нужны 3 формы для 1,2,5 - Тариф — (чтение простым тектом) текущий тариф. Если есть право администратора, то ссылка на редактирование тарифа в интерфейсе OP
- Затраты (по умолчанию заполнить значением = количество * тариф по этому виду затрат (использовать метод GET /api/v3/rates/:id), но поле должно быть доступно на редактирование пользователем)
- Комментарий
6.2. Таблица с записями зарегистрированных затрат. Использовать метод *GET /api/v3/***cost_entries.** Колонки те же, что и для новой записи о затратах. Функциональность таблицы такая же как для учета времени (группировка, сортировка, фильтрация, контекстное меню с функциями редактировать/копировать/удалить)
6.3. Итоговое значение с учетом фильтрации, аналогично таблице учета времени
6.4. Кнопка копирования таблицы, аналогично таблице учета времени
В табе “Все” должны быть (записи по отметкам времени + записи по затратам):
7.1. Таблица со следующими колонками:
- Дата
- Тип затрат (для отметок времени вывести сюда значение из поля “Деятельность”, для затрат - “Тип затрат”).
Пользователь (на которого внесен расход или зарегистрировано время)
- Количество (для отметок времени - это часы, а для затрат - количество).
- Ед. измерения (для отметок времени часы, для затрат взять из поля “)
- Затраты
- Комментарий
Не выводить доп поля для учета времени
Функциональность таблицы “Все” такая же как для учета времени (группировка, сортировка, фильтрация, контекстное меню с функциями редактировать/копировать/удалить)
По умолчанию должна быть применена группировка (на клиенте средствами AgGrid) по типу затрат с выводом аггрегированного суммарного значения по группе для полей “Количество” и “Затраты”.
Использовать такие же компоненты для отображения группировки, что и на списках задач
7.2. Итоговое значение с учетом фильтрации, аналогично таблице учета времени
7.3. Кнопка копирования таблицы, аналогично таблице учета времени