现在来看很多用户尤其关心的系统管理模块。系统管理包括四大项:权限管理、消息通知、员工资料和文档管理。其中,最核心的就是前面两项,后面两项虽然可有可无,但是却提供了很多有意思且很常用的功能。
权限管理如下图所示,在这里不仅可以增加用户,也可以删除用户:
如上图所示,只有2个用户被授予了功能操作权限和产品数据使用权限,其他没有被授权的用户,当在登录系统时会被提示“未被授权”而无法进入系统;已被授权的用户,在进入系统后也只能在权限范围内操作数据。当需要对某一用户授权时,只要在该用户所在行点击即可:
如上图,张颖的功能权限中没有被授权“权限管理”模块,产品操作权限为“P01”和“P02”,那么该用户登录后,侧边栏及首页快速导航中都不会出现“权限管理”菜单,对订单数据的处理也仅限“P01”和“P02”。
消息通知模块,包含收件箱和发件箱。
收件箱仅会列出其他用户发给本人的消息,未读消息会在标题旁加上红色徽标,顶部工具栏的消息按钮旁也会显示红色徽标。如下图,这是以“张颖”登录的页面效果,侧边栏已经不见了“权限管理”,未读的新消息显示为4条:
消息阅读有两种方式:一种是在收件箱中点击消息所在行的“查看内容”按钮,消息将以右侧弹层的方式显示:
如果是新消息,也可直接点击顶部工具栏的“新消息”按钮阅读:
当阅读新消息时,则以完整页面的方式展示。例如,点击阅读其中的第1条新消息,页面效果显示为:
点击页面中的“返回消息中心”按钮,将回到消息通知的收件箱页面。当然,你也可以继续点击顶部工具栏按钮继续阅读其他新消息。
发件箱则是以当前登录用户的名义向其他用户发消息,也可以对已经发送的消息进行修改。如下图所示:
点击标题可直接修改标题内容,点击收件人可选择接收此消息的用户:
点击编辑内容按钮,则可输入图文并茂的消息内容:
员工资料功能确实是可有可无的,之所以在本系统中加入此功能,主要是为了展示网页项目中一些常用功能的实现方法。员工资料表格看起来非常平淡无奇:
实际上,这里的每一列都隐藏着很多功能。现在就一列列的进行说明。
当点击住址列的时候,它会自动调用高德地图,并以当前访问ip所在的城市位置列出很多位置供选择,以实现地址信息的快速输入。如下图,当选择“体育彩piao”时,地图会自动将附近位置放大供你做进一步的选择,点击“确定”按钮即可向表格填入当前位置信息:
后面的4列,每点击其中的按钮,都会弹出2个菜单:一个用于查看,一个用于编辑。当然,实际项目开发时,也可以将它们改成两个操作按钮放在单元格中,这里只是提供另外一种解决问题的思路。如下图:
当点击“查看照片”时,会显示所在行用户的照片:
当点击“修改照片”时,会在右侧弹出编辑层。在这里点击原有图片即可重新上传文件或者对现有图片进行编辑后重新上传:
如上图,下面的照片就是经过编辑之后的,点击“确认更换”按钮即可上传到服务器,后台服务器中的数据也会同时更新。
员工履历同样有查看和编辑两个操作选项。尤其需要说明的是,这里的履历编辑使用了一款非常强大的富文本编辑器,它除了具备各种文字样式、表格插入等功能之外,还有异常出色的图片编辑功能:
如上图,当你选中所插入的图片时,除了旋转、翻转等,如果点击图片编辑,还会有更多专业的图片处理功能:
在这个履历编辑弹层中,你对图片的任何修改,都会自动上传并保存到服务器。
附图和附件则分别用于对多图片和多文件进行管理。当附图有多个时,点击“查看附图”,可以用鼠标左右翻转查看(移动端用手指划动):
如果需要对附图进行编辑,可以双击删除不需要的图片,也可以继续添加多幅图片:
附件是指除了图片之外的其他文件。如下图,查看王伟所带的附件文件有5个,点击即可下载:
如要修改附件,操作方式和附图相同,既可双击删除现有的附件文件,也可补充上传新的附件文件,数量不限:
既然能向服务器上传这么多的图片和文件,肯定就会带来一些管理上的问题。所以,在本项目中又添加了“文档管理”功能。如下图所示:
在文档管理列表中,将鼠标移动到图片文件上可以预览显示小图,移动到其他文件上可以下载,点击删除按钮可以将该文件从服务器端物理删除:
当然,删除这些文档时一定要慎重,否则可能会造成系统消息、用户履历等方面的内容显示异常,比如无法显示图片、文件无法下载等。建议在用户管理中,仅将此功能授权给个别用户使用。
LayUI与EasyUI的完美兼容
尽管本项目前端是使用layUI开发的,但由于它和EasyUI处于同一个框架体系(jQuery),因而,我们还可以在本项目中完美嵌入EasyUI。
layui的优势在于开放的生态以及更加时尚的页面展示效果,尤其是支持全终端适配;而easyui在功能上又比layui强出N级,因此,当使用layui甚至插件都无法实现某些特定功能时,可以考虑把easyui加入进来。如下图中的数据表格,它就是使用EasyUI的datagrid组件加载进来的,而没有用layui的table,且服务器端的响应代码未因此做任何修改,同一个服务端数据源完美用在了两个框架中: