代码之家  ›  专栏  ›  技术社区  ›  Robert Koritnik

如何实现此用户流程以使其尽可能直观

  •  0
  • Robert Koritnik  · 技术社区  · 14 年前

    我必须创建这个过程:

    • 你有一个任意的人名单
    • 你必须将他们的工作日程安排为5-2或6-4(工作日和自由日)
    • 你必须提前几个月安排(通常是3或12个月)
    • 计划序列重复
    • 对任何人来说,日程安排顺序从任何一天开始——所以第一个工作日不一定是在第一个星期一开始设置日程安排的时候。

    所以这是我必须实现的过程。为了使它更快速,我想在一个页面上为多个人设置计划(因此是一个用户列表)。否则,您可能会在某个人的详细信息页面上执行此操作。

    我想知道如何在Web应用程序中实现这一点。我可以使用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 回复  |  直到 14 年前
        1
  •  1
  •   zgorawski    14 年前

    很少提示:

    • 使用日历控件(或MVC中的等效控件),因为它比行更直观
    • 尽量避免拖拽,因为如果要多次拖拽会很慢。
    • 尽量减少完成任务所需的单击次数。例如,当用户选择5-2期限类型并单击日历以在工作日开始时标记日期时,应将该期限指定为默认期限,因此当用户希望将另一个日期标记为5-2期限开始时,不必再次选择该期限。
    • 使用带有复选框的列表以允许选择多个用户
        2
  •  1
  •   jimplode    14 年前

    一定要那么时髦吗??

    您可以只使用几个文本框,“dayson”、“daysoff”、“startdate”、“repeatx”

    这将允许您简单地创建模式,然后以某种时髦的方式显示。

    另外,我可能会以每个用户为基础来完成这项工作,所以用户每次都是这样的,如果一家公司有几千名轮班员工,那么您不希望一次编辑或显示所有这些信息。你愿意吗??

    希望这有帮助。