简单实例讲解JEECG ONLINE表单权限控制(jeecg3.6)
原 文:http://blog.itpub.net/30066956/viewspace-1872409/
相关博文:http://blog.itpub.net/30066956/viewspace-1868754/
作 者: 许国杰
一、业务背景
某公司要实现一个日志系统,用来了解员工的工作量饱和情况。
二、需求
1、角色分为:员工、经理两种。
2、员工每天在日志系统中填报工作总结,然后经理进行点评。
3、表单内容包含:姓名、日期、工作总结、个人笔记、日志点评。
三、业务权限描述
1、员工可以进行日志填报、查看操作。(按钮控件权限)
2、经理可以进行日志点评、查看操作。(按钮控件权限)
3、个人笔记内容只对填报本人可见,经理不能看到个人笔记内容。(表单字段权限)
4、经理只可以编辑日志点评字段。(表单字段权限)
5、员工查询出的数据列表列为
姓名、日期、个人笔记、日志点评(数据列权限)
6、经理查询出的数据列表列为
姓名、日期、日志点评(数据列权限)
7、员工只可以看到自己填报的日志记录。(数据行权限)
四、开发过程
1、 创建表单
2、 编辑页面属性
3、 同步数据库
4、功能测试查看列表及表单内容如下
5、 使用自定义表单模板,改变页面样式
注意下图按钮文字
按需求我们需要两个功能 日志填报,日志点评。那我们使用自定义表单样式,复制一个系统默认模板,把”录入” 改为”日志填报”,”编辑”改为”日志点评”。把”批量删除” 去掉。
A、online开发—>online表单样式-à 录入
注:上传模板格式要求使用zip 压缩。压缩包中目录格式如下。页面模板放在html 文件夹中。
B、新建一个文件夹t_buss_daily_log(自已定义),在其中建立css、html、images、js 目录(这四个目录必须一致)。
![](https://i-blog.csdnimg.cn/blog_migrate/78765e258a026ffe687cea21fbf9895c.png)
C、找到系统中的autolist.ftl、jform.ftl 两个模板文件,copy到html目录下。Myeclipse 中使用ctrl+shift+R 输入文件名 定位文件位置。
![](https://i-blog.csdnimg.cn/blog_migrate/23967d3dcdd131b87273a24135be2324.png)
D、修改autolist.ftl。
1)把录入改为:日志填报、把编辑改为:日志点评。
![](https://i-blog.csdnimg.cn/blog_migrate/af25fd051d20f82cb4564af836023077.png)
修改后如下:
![](https://i-blog.csdnimg.cn/blog_migrate/6b0327b063cbab8349bfa5b2128a8491.png)
2)修改弹出页面的窗口标题
修改后如下:
![](https://i-blog.csdnimg.cn/blog_migrate/ac532f7c4d85bc3d7c55d6bcce32951d.png)
E、使用zip格式压缩,并上传
![](https://i-blog.csdnimg.cn/blog_migrate/c44c0a02b10d6c104330f6a06f02f27d.png)
F、编辑表单、自定义表单风格选择刚刚新增的样式
![](https://i-blog.csdnimg.cn/blog_migrate/c2601297e2f71cdfa473aa7e3a8101fd.png)
G、测试修改前后比对
使用默认样式
使用自定义样式后如下,已经改成我们需要的样式了。
![](https://i-blog.csdnimg.cn/blog_migrate/7a515560363e13a5919208592434bb01.png)
6、新建两个角色:员工、经理;新建三个用户:员工小A,员工小B,王经理。并分配对应的角色。
![](https://i-blog.csdnimg.cn/blog_migrate/90a96cc78da33df089ac533e48c93813.png)
7、配置菜单
8、给员工与经理角色分配菜单
![](https://i-blog.csdnimg.cn/blog_migrate/7a99493e8e9fc37098cd187501bfeda3.png)
使用王经理登录,测试可以看到工作日志菜单了。但要求的权限还没有进行控制。
到此准备工作完成。下面进行权限控制。
五、权限配置
权限描述如下
1、员工仅可以进行日志填报、查看操作。
2、经理可以进行日志点评、查看操作。
配置日志点评按钮可见,并只对员工角色起作用。
A、在菜单管理中,为工作日志菜单加控件权限:显示日志填报、显示日志点评
![](https://i-blog.csdnimg.cn/blog_migrate/9c7bb7b50c213cdd5b1336d797cea55a.png)
注意,对于此处起的名称为:显示日志填报,这是因为对于按钮控制,当控件使用权限控制后,不勾选则代表不可见。勾选代码可见。
C、在角色管理中,员工角色使用 显示日志填报、经理角色使用显示日志点评。
![](https://i-blog.csdnimg.cn/blog_migrate/07f015507bc2ee2d7ba655902dc93569.png)
D、测试,可以发现使用员工A和王经理登录。
3、员工查询出的数据列表列为
姓名、日期、个人笔记、日志点评
经理查询出的数据列表列为
姓名、日期、日志点评(数据列权限)
配置个人笔记列隐藏,并对经理角色起作用。
A、在员工日志下新增控件权限。
![](https://i-blog.csdnimg.cn/blog_migrate/4bbe7f022a14fa038a63ea3d937526dc.png)
B、对经理角色使用此权限
C、测试如下,王经理登录已经看不到个人笔记一列了
个人笔记隐藏对经理角色使用前:
个人笔记隐藏对经理角色使用后:发现已经看不到”个人笔记”列了。
4、员工只可以看到自己填报的日志记录。(数据行权限)
配置datagrid操作createBy =#{ sysUserCode}
A、新增访问类型的菜单。注意:一定要是访问类型。
路径格式为:cgAutoListController.do?datagrid&configId=t_buss_daily_log
![](https://i-blog.csdnimg.cn/blog_migrate/4a43ab4f31ad703fc7095eaf5746c018.png)
B、对新加的访问类型菜单增加数据权限。
![](https://i-blog.csdnimg.cn/blog_migrate/4a876e5ff5faf151cee81652186d18ef.png)
C、对员工角色使用此数据权限
D、分别使用员工A、员工B 录入数据。测试每个人只可以看到自己录入的数据。
小A登录,只可以看到小A的数据。
![](https://i-blog.csdnimg.cn/blog_migrate/dc32063679802ecb56b2b494c836fde3.png)
小B登录,只可以看小B的数据。
![](https://i-blog.csdnimg.cn/blog_migrate/65e8fcb5b18f48cab2edf0721bcd86ef.png)
王经理登录,可以看到小A 与小B的数据。
![](https://i-blog.csdnimg.cn/blog_migrate/4582adef96580077801ec13efeb2e787.png)
5、个人笔记内容只对填报员工可见,经理不能看到个人笔记内容。(表单字段权限)
配置个人笔记表单字段不可见,并对经理角色起作用。
A、新增访问类型的菜单 表单控件权限控制。注意:一定要是访问类型。
url格式为:cgFormBuildController.do?ftlForm&tableName=t_buss_daily_log
![](https://i-blog.csdnimg.cn/blog_migrate/3b8b83dbdb8db4dd2f0a3ee8c506134e.png)
B、新增访问类型的菜单。注意:一定要是访问类型。
![](https://i-blog.csdnimg.cn/blog_migrate/60e6c3a0c183a1dc3dfca633f5e3aeca.png)
B、对新增加的菜单增加控制权限
![](https://i-blog.csdnimg.cn/blog_migrate/96a86e5869bc47f48d0f4aeaa5745ab2.png)
B、对员工角色使用该权限控制。
![](https://i-blog.csdnimg.cn/blog_migrate/1ca192e4b66efb54227fe2fca3c32a13.png)
C、测试一下,发现日志点评在日志填报页面已经没有了。
![](https://i-blog.csdnimg.cn/blog_migrate/5f36da0c5986a15d89da8b1f76e6175a.png)
6、日志点评页面,经理只可以编辑日志点评字段,并且不可以看到个人笔记内容。
A、为表单控件权限控制 菜单增加控件权限。日期禁用,工作日志禁用,个人笔记不可见。
![](https://i-blog.csdnimg.cn/blog_migrate/1df97f31f743535319ae818903e8c2f6.png)
B、并对经理角色使用这三个控件权限。
C、使用王经理登录进行日志点评。测试可以发现现在经理角色只可以编辑日志点评字段,并且个人笔记不可见。
![](https://i-blog.csdnimg.cn/blog_migrate/2e7ad22b24d3817b554f921a6fb78abd.png)
完成