基于spring,hibernate,extjs3的OA管理系统概览(2012-02-16)

个人闲时做的管理系统模板,系统的整体截面图

资源管理,可以对操作左侧目录结构(暂时按钮不可见),右侧是每一个模块功能下的按钮,都用的同一个图标,懒得上传按钮图标,每个按钮都对应请求的URL和它的js脚本,可以增加编辑按钮(增加编辑按钮没放进去,因为没有做出可视化的拖动按钮到某个功能模块,增加编辑之后还是要去改js代码)

下面是组分配管理,数据库表是树形结构的,最上层的组拥有最大的权限(权限读取是递归的)

这种设计中组其实是按地区分,然后组下面有角色,用组来控制功能模块(左侧菜单的可见性),用组内角色控制该模块内功能按钮的可见和可用性,可见并不表示可用(我在里面设置里截个参数的)

下面是添加角色的操作

在角色内添加用户的操作,权限管理都有cache,于数据库保持一致

为新添加的组内角色增加功能按钮,

下图中浙江省分部可以看见3个目录功能模块,射射组在咖啡机管理里面可见看见显示全部、新增和关闭按钮

设置完成后打开另一个浏览器,看到效果,没有编辑和删除功能,就算能看见,后台也会拦截方法

他只能看到自己组内,地区内的机器

完整的咖啡机管理模块按钮功能,最大权限

点击编辑后,右侧可编辑,不同的状态form里面field可能不一样,按钮大小可能不一样,按钮上的字可能也不一样,form一般分为新增状态,编辑状态,查看状态,提交状态,可看可加载数据但不可用状态等,不同的状态用简单整数移位来确定,如果要改变字和位置什么的,可以设置按钮的回调方法,状态加载完之后回调然后layout,就很方便(ie下好像有那么点错位的感觉)。之所以编辑,新增没有用弹出框,因为觉得淡出都是弹出框看着头疼,现在电脑都宽屏,随便放在哪个位置感觉自然

申请提交模块,下面的4个新增,编辑。。。按钮是动态加上去的,看你有没有可见的权限,先刷好整个模块的js,然后

getPrimenuforMtree请求看有什么权限,有的话form按钮会动态向上增长一点距离来放按钮,同时也会把按钮功能的js也加载进来。整个目录模块的加载也是这样的,开始的时候没有加载所有模块,点击左侧目录的时候再去请求jsp看你有没有权限,有的话把这些个js文件给你加载



 

 
审核模块,树形的级层权限管理很麻烦,很多判定都要递归,可以用谢巧妙的冗余数据来提高查询效率
 

日志管理是用annotation的,反正弄好拦截器自己会往log表里写的,不过写的那句话是什么还是挺有技巧的,我就随便瞎写写

统计表什么的都没做


 半年前做的系统,一直很懒没记录,发现到今天有很多都忘了当初是怎么实现,今天先写点大概出来,后续再分模块来写

怎么实现地区的树形级层权限管理和cache,按钮的权限异步控制(可见可用型啥啥的),form表单的逻辑状态切换(不同权限和同状态下看见表单离得内容也是不同的,form里每个component都有状态码,用于出发,回调时切换),spring security的企业级设置和编写,等,再发不同的博客吧

,当时还是改了很多ext-all.js里面的代码的,记得第一个改的就是form的setValues让他支持对象,对象里可能还有对象,让form认识对象属性然后递归set,form里的field类型比较多,要判断一下。。。。

猜你喜欢

转载自asm.iteye.com/blog/1407831
今日推荐