Как реализовать этот пользовательский процесс, чтобы сделать его максимально интуитивным - PullRequest
0 голосов
/ 20 октября 2010

Я должен создать этот процесс:

  • у вас есть произвольный список людей
  • Вы должны установить график их работы в соответствии с 5-2 или 6-4 (рабочие дни и свободные дни)
  • Вы должны запланировать это на несколько месяцев вперед (обычно на 3 или 12)
  • повторение расписания по расписанию
  • последовательность расписания начинается в любой день для любого человека, поэтому первый рабочий день не обязательно должен быть в первый понедельник, когда вы начинаете устанавливать расписание

Так что это процесс, который я должен реализовать. Чтобы сделать это быстрее, я хочу установить расписание для нескольких человек на одной странице (отсюда список пользователей). В противном случае это можно сделать на странице сведений о человеке.

Интересно, как мне реализовать это в веб-приложении. Я могу использовать Ajax и расширенные динамические сценарии. Я хотел бы сделать его настолько интуитивно понятным, насколько это возможно, а также настолько простым, чтобы пользователям было не сложно.

Одно из возможных решений

Каждый пользователь представлен с таким списком строк:

John Doe     | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 15 | ...
Jane Doe     | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 15 | ...
Joe Bloggs   | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 15 | ...
Harry Wotsit | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 15 | ...
  1. Пользователь нажимает все дни первой последовательности, чтобы сделать их оранжевыми / серыми (рабочие / свободные)
  2. Перетаскивает последовательность (например, перетаскивает ячейки в Excel, чтобы выделить их), а затем в конце появляется значок (вероятно, своего рода стрелка), который
  3. пользователь затем щелкнет, чтобы скопировать ту же последовательность в конец расписания (аналогично маленькому квадрату в правой нижней части выбранных ячеек в Excel, что позволяет копировать эти ячейки, пока вы перетаскиваете квадрат вокруг .

Я не уверен, что это оптимальный и интуитивно понятный процесс.

Ответы [ 2 ]

1 голос
/ 20 октября 2010

Несколько подсказок:

  • используйте управление календарем (или эквивалент в mvc), поскольку оно более интуитивно, чем строка
  • , старайтесь избегать перетаскивания, потому что это медленно, если вам нужносделать это много раз
  • попытаться минимизировать количество кликов, необходимых для выполнения задачи.Например, когда пользователь выбирает тип термина 5-2 и щелкает в календаре, чтобы отметить дату начала рабочего дня, этот термин должен быть назначен по умолчанию, поэтому пользователю не нужно выбирать его снова, если нужно отметить другую дату как начало периода 5-2.
  • использовать список с флажками, позволяющими выбирать много пользователей
1 голос
/ 20 октября 2010

Должно ли это быть таким шикарным ??

Вы можете просто иметь несколько текстовых полей, "daysOn", "daysOff", "startDate", "repeatX"

Это позволит вам просто создавать шаблоны, которые затем можно будет отображать каким-то хитрым способом.

Кроме того, я бы, вероятно, делал это для каждого пользователя, поэтому для пользователя по отдельности, если в компании работает несколько тысяч человек на сменных схемах, вы не захотите редактировать или отображать всю эту информацию за один снимок. Не могли бы вы?

Надеюсь, это поможет.

...