我正在编写一个 Web 界面来编辑几个随时间变化的值(对于每个员工,更改的属性是角色/部门/工作场所/合同类型/等)并显示每个更改的历史记录以及服务器端验证.
用户必须能够添加新值、修改以前的值、更改周期之间的日期等等。我精通 Ajax/YUI 之类的东西,但缺乏 UI 设计。
我现在似乎记不起类似的应用程序,而且我对纸质原型不满意。
是一张桌子 - 更多桌子 - 一个时间线 - 那里有多少魔力,以及在哪里..
您知道有任何描述或实施的模式可供查看吗?
编辑:这就是我所做的。
普通视图
[edit]
from | to | role | department | contract | level | ....
------+------+-------------+------------+------------+-------+----
2005 | ∞ | guru | Buzz | consultant | 4 |
2002 | 2004 | ninja | Bar | employee | 2 |
2000 | 2002 | code monkey | Foo | temp | 1 |
为了简洁起见,日期以年份表示。
最常见的操作是单击[编辑]并添加一组新值:
[edit]
from | to | role | department | contract | level | ....
------+------+-------------+------------+------------+-------+----
____ | | _______ | _______ | _______ | _____ |
[2005]| ∞ | guru | Buzz | consultant | 4 |
2002 | 2004 | ninja | Bar | employee | 2 |
2000 | 2002 | code monkey | Foo | temp | 1 |
通过单击 [2005],当前值行可以使用选择菜单和日历小部件进行编辑。
[edit]
from | to | role | department | contract | level | ....
------+------+-------------+------------+------------+-------+----
____ | | _______ | _______ | _______ | _____ |
_2005_| ____ | _guru__ | _Buzz__ |_consultant_| _4_ |
2002 | 2004 | ninja | Bar | employee | 2 |
2000 | 2002 | code monkey | Foo | temp | 1 |
服务器接收两行的值。要编辑之前的期间,请删除当前的期间(可接受的权衡)。
我已经有几个担忧了。
一行的“from”值和前一行的“to”值是链接的,并且当(且仅当)它们相同时才会一致更改。用户应该一眼就能看出行之间是否有孔。 (如果“to”与后续的“from”相同,我不会显示“to”,而是显示这样的箭头↖ - 很难看)
不清楚如何终止当前周期(=>点击2005,在“to”中写入一个值)
不清楚如何删除当前期间(=>点击2005,删除“from”值)
“无限”的符号又丑又不清楚
角色、部门等的验证取决于合同,但从用户的角度来看,它们实际上是正交的。其他事情甚至不太相关(例如每周工作时间),但仍应一起验证
我认为编辑表格应该是非模态的..
假设一次仅编辑一名员工的详细信息,则可以在页面顶部显示最新的当前可编辑数据。后面可以是列表中的更改历史记录,其中只能突出显示与先前版本相比的更改。当有人单击这些历史记录项目之一时,该项目可以展开并使其可编辑,并且当前可编辑的项目会折叠。例如,您可以将所有内容包装在
<li>
中的 <ol>
元素中,并根据正在编辑的元素展开/折叠 <li>
。
对于笼统的答案感到抱歉:)如果您可以提供更多详细信息(也许是您所做的纸质原型的扫描),我们可以更深入地研究它。