Фрилансеры предложат решение вашей задачи уже через несколько минут!

Публикация заказа на фриланс бирже не займет много времени.

1 год назад
Иван
34 года, Россия
5 лет в сервисе
Был онлайн 4 месяца назад
23 отзыва
100% фрилансеров рекомендуют 64% заказов с выбором исполнителя
1 год назад

В разрабатываемой CRM требуется создать и запрограммировать несколько страниц пользовательского интерфейса.
Требуются знания:
PHP
MySQL
JS
Ajax
Bootstrap

Оценка работы - в проектных часах, стоимость проектного часа - приблизительно 10 у.е.

Актуальная задача для примера уровня сложности:

На странице нужно добавить блок заявок на выдачу.
Стиль вывода - стандартные бутстраповские блоки, жестких требований по дизайну нет.

Блок выдачи работает с таблицей заявок на перемещение, отбирая заявки с типом "Выдача".

Блок состоит из:
1. фильтров и кнопки их применения
Блок фильтров позволяет выбирать следующие опции:
- Пункт выдачи: выбор из списка пунктов выдачи (множественный), все
- Склад: выбор из списка складов (множественный), все
- Дата заказа: от и до, либо только от, либо только до.
- Статус: не обработан, отменен, добавлен в рейс, завершен, все
По умолчанию фильтр имеет такие значения:
Статус: не обработан
Пункт выдачи: все
Склад: все
Дата заказа: от сегодня и вперед
Рядом с кнопкой применения фильтрации должна быть и кнопка сброса.
Кнопка сброса возвращает фильтр к настройкам по умолчанию.
Применение и сброс фильтра должны происходить без перезагрузки страницы.
Выбранные значения фильтров должны быть сохранены в сессию и восстанавливаться при повторном входе на страницу до нажатия кнопки сброса или до уничтожения сессии.

2. таблицы элементов

Таблица заявок на выдачу имеет следующие столбцы:
- Столбец с чекбоксами
- Дата заказа и номер заявки
- Номер комплекта (груз)
- Склад (Наименование)
- Мастерская (Наименование)
- Комментарий
- Внешняя заявка (номер)
- Статус
- Столбец кнопок действия
Заявки в таблице всегда сортируются: по дате, внутри даты сортировка по складу, внутри склада - сортировка по мастерской.
В столбце кнопок действия предусмотрены две кнопки - информация и удаление. При нажатии на удаление - запрос подтверждения удаления.
По согласию - удаление заявки из таблицы.
Удаление должно происходить без перезагрузки страницы. После удаления заявка должна без перезагрузки страницы исчезнуть из списка.
При нажатии на информацию - попап с детальными данными заказа.

3. строка назначения рейса под таблицей
Заявкам, отмеченными чекбоксами, можно назначить рейс. Для этого пользователь должен выбрать:
1. Машину (выпадающий список объектов из таблицы машин)
2. Дату рейса (через календарик, по умолчанию стоит сегодня)
После ввода этих данных проверяется наличие рейсов на эту машину и дату. Если они есть, предлагается выбрать существующий рейс, либо добавить новый на эту дату. Если их нет, то предлагается
подтвердить создание нового рейса.
При отправке данных формы выполняются проверки по каждой из выбранных заявок:
1. Дата заказа должна быть позже или равна выбранной дате рейса
2. Номер комплекта из поля "груз" не находится в грузе в другой заявке с любым статусом в таблице заявок.
3. Статус заявки - новая
Заявки проходят обработку по отдельности. Если заявка не прошла проверку, она остается в списке, на экран выдается уведомление с номером заявки.
Прошедшие заявки добавляются в рейс.
При добавлении заявки рейс у заявки в базе проставляется номер рейса, статус трансфера меняется на "Добавлен в рейс".
Добавление в рейс происходит без обновления страницы, но с обновлением списка заявок в блоке, а также списка рейсов в таблице блока рейсов.

Выбранный исполнитель
Равиль Гафуров
32 года, Россия
9 лет в сервисе
Был онлайн 16 часов назад
1 год назад

$40

3 дня

Отзыв заказчика
Равиль великолепно справился с задачей, рекомендую!
Отзыв фрилансера
Сотрудничеством очень доволен, всё было на высоте.
Равиль Гафуров
32 года, Россия
9 лет в сервисе
Был онлайн 16 часов назад
1 год назад
Роман Д.
Роман Д. 
27 лет, Украина
1 год в сервисе
Был онлайн 11 месяцев назад
1 год назад

Другие заказы в категории «Веб-программирование»

Здесь заказчик и фрилансеры могут обсуждать заказ до начала его выполнения.
Фрилансеры могут участвовать в обсуждении только после подачи заявки.
Здесь заказчик будет контролировать выполнение заказа и общаться с исполнителем.
Доступ к этому разделу имеют только заказчик и выбранный исполнитель.
Все материалы этого раздела закрыты от поисковых систем.