Выгрузка по фильтру из БД, заполнение таблицы
5 000 руб. за проект
Добрый день!
Необходимо сделать выгрузку из базы данных. Проект реализован.
Админка на laravel + Vue.js (именно в админке нужен новый пункт "Выгрузка")
Клиентская часть написана на Nuxt.js + Vue.js + Node.js (с ней не работаем)
Ниже примерное ТЗ (какие то пункты можно скорректировать/добавить на этапе обсуждения)
1. Добавить дополнительный пункт "Выгрузка" в меню админки, между пунктами "Покупатели" и "Сотрудники".
2. В разделе "Выгрузка" добавить 2 таблицы, форму запроса в БД и кнопку выгрузки согласно макету.
2.1) Заголовки в левой таблице для разработчика, по факту они не нужны.
2.2) Заголовки в правой таблице оставить согласно макету.
3. Количество строк левой таблице генерировать в зависимости от полученного количества категорий.
4. Количество строк правой таблицы:
Количество строк равно количеству строк левой таблицы, реализовать функционал страниц для навигации в правой
таблице если количество строк превышает количество строк левой.
Навигацию по страницам добавить под таблицей, выровнять по правому краю.
5. Ширину столбцов оптимизировать под формат данных для них.
6. Сделать доступ к пункту "Выгрузка" только для администраторов. (выбор доступа к пунктам меню уже есть в проекте, нужно просто добавить новый пункт в этот выбор)
7. Далее комментарии по функционалу.
Основная суть запросов в бд + комментарии к макету:
При переходе в пункт "Выгрузка" получить список категорий и регионов из бд.
datalist содержит список полученных регионов
input date принимает диапазон дат
input number принимает числовое значение (только положительные числа)
datalist-button кнопка отправляет запрос в БД с заданными фильтрами, где:
- datalist – Регион поставщика
- input-date – диапазон дат регистраций (если дата рег. поставщика попадает в диапазон – выгружаем)
- input-number – значение поля Company_bid в БД. (если у компании значение поля меньше либо равно заданной цифре - выгружаем)
При нажатии проверять заполненные поля, поле datalist обязательно для заполнения, остальные опционально,
если пустые – не включать их в запрос.
==================================================================================================== ========
Логика заполнения:
Левая таблица:
Столбец Category item заполняется согласно полученным категориям при переходе в
пункт "Выгрузка".
При нажатии на datalist-button получить поставщиков из базы согласно выбранным параметрам,
разбить результат на id категорий.
Заполнить столбец Count количеством поставщиков в той или иной категории
(count = Category item (id) length)
В столбце button добавить кнопку к каждой строке.
Блокировать нажатую кнопку button в текущей строке до перезагрузки страницы или нового запроса в БД (нажатием на кнопку datalist-button).
Правая таблица:
При нажатии на button в строке с категорией (левая таблица) заполнить правую таблицу
данными из этой категории согласно заголовкам в макете.
(Важно!) При нажатии на button в других строках левой таблицы дополнять данные в правой таблице,
не обновлять её! При добавлении данных проверять текущие значения в правой таблице, если найдены
совпадения в ячейках "e-mail" и "ИНН" – НЕ ДОБАВЛЯТЬ строку (в правой таблице нужны уникальные значения).
При повторном запросе в БД (нажатием на кнопку datalist-button) очистить правую таблицу (кроме заголовков).
При нажатии на Exel-button выгрузить файл CSV с заголовками и полными данными из правой таблицы
(Важно! Если в правой таблице несколько страниц – выгружать все данные, не только с текущей страницы)
Windows-1251.
Необходимо сделать выгрузку из базы данных. Проект реализован.
Админка на laravel + Vue.js (именно в админке нужен новый пункт "Выгрузка")
Клиентская часть написана на Nuxt.js + Vue.js + Node.js (с ней не работаем)
Ниже примерное ТЗ (какие то пункты можно скорректировать/добавить на этапе обсуждения)
1. Добавить дополнительный пункт "Выгрузка" в меню админки, между пунктами "Покупатели" и "Сотрудники".
2. В разделе "Выгрузка" добавить 2 таблицы, форму запроса в БД и кнопку выгрузки согласно макету.
2.1) Заголовки в левой таблице для разработчика, по факту они не нужны.
2.2) Заголовки в правой таблице оставить согласно макету.
3. Количество строк левой таблице генерировать в зависимости от полученного количества категорий.
4. Количество строк правой таблицы:
Количество строк равно количеству строк левой таблицы, реализовать функционал страниц для навигации в правой
таблице если количество строк превышает количество строк левой.
Навигацию по страницам добавить под таблицей, выровнять по правому краю.
5. Ширину столбцов оптимизировать под формат данных для них.
6. Сделать доступ к пункту "Выгрузка" только для администраторов. (выбор доступа к пунктам меню уже есть в проекте, нужно просто добавить новый пункт в этот выбор)
7. Далее комментарии по функционалу.
Основная суть запросов в бд + комментарии к макету:
При переходе в пункт "Выгрузка" получить список категорий и регионов из бд.
datalist содержит список полученных регионов
input date принимает диапазон дат
input number принимает числовое значение (только положительные числа)
datalist-button кнопка отправляет запрос в БД с заданными фильтрами, где:
- datalist – Регион поставщика
- input-date – диапазон дат регистраций (если дата рег. поставщика попадает в диапазон – выгружаем)
- input-number – значение поля Company_bid в БД. (если у компании значение поля меньше либо равно заданной цифре - выгружаем)
При нажатии проверять заполненные поля, поле datalist обязательно для заполнения, остальные опционально,
если пустые – не включать их в запрос.
==================================================================================================== ========
Логика заполнения:
Левая таблица:
Столбец Category item заполняется согласно полученным категориям при переходе в
пункт "Выгрузка".
При нажатии на datalist-button получить поставщиков из базы согласно выбранным параметрам,
разбить результат на id категорий.
Заполнить столбец Count количеством поставщиков в той или иной категории
(count = Category item (id) length)
В столбце button добавить кнопку к каждой строке.
Блокировать нажатую кнопку button в текущей строке до перезагрузки страницы или нового запроса в БД (нажатием на кнопку datalist-button).
Правая таблица:
При нажатии на button в строке с категорией (левая таблица) заполнить правую таблицу
данными из этой категории согласно заголовкам в макете.
(Важно!) При нажатии на button в других строках левой таблицы дополнять данные в правой таблице,
не обновлять её! При добавлении данных проверять текущие значения в правой таблице, если найдены
совпадения в ячейках "e-mail" и "ИНН" – НЕ ДОБАВЛЯТЬ строку (в правой таблице нужны уникальные значения).
При повторном запросе в БД (нажатием на кнопку datalist-button) очистить правую таблицу (кроме заголовков).
При нажатии на Exel-button выгрузить файл CSV с заголовками и полными данными из правой таблицы
(Важно! Если в правой таблице несколько страниц – выгружать все данные, не только с текущей страницы)
Windows-1251.
- Файлы
Отзывы
Хороший специалист! Заинтересован в задаче, вежлив и отвечает на все интересующие вопросы. Будем обращаться ещё.
4 года
назад
В заказе есть исполнитель
При переводе заказа из архивного в актуальный, текущий исполнитель будет снят с задачи.
Выберите тип сделки
С безопасной сделкой вы всегда сможете вернуть средства, если что-то пойдет не так. С простой сделкой вы самостоятельно договариваетесь с исполнителем об оплате и берете на себя решение конфликтов.