JEECG技术论坛 - 基于BPM的低代码开发平台

标题: 【JEECG技术博文】实例讲解-- online表单权限控制(jeecg3... [打印本页]

作者: admin    时间: 2015-12-23 15:30
标题: 【JEECG技术博文】实例讲解-- online表单权限控制(jeecg3...
简单实例讲解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、创建表单
(, 下载次数: 123)

2、编辑页面属性
(, 下载次数: 126)

3、同步数据库
(, 下载次数: 105)

4、功能测试查看列表及表单内容如下
(, 下载次数: 120)
(, 下载次数: 122)

5、使用自定义表单模板,改变页面样式
  注意下图按钮文字。
(, 下载次数: 108)
  按需求我们需要两个功能 日志填报,日志点评。那我们使用自定义表单样式,复制一个系统默认模板,把录入 改为日志填报编辑改为日志点评。把批量删除 去掉。
  操作步骤:
Aonline开发>online表单样式-à 录入。
(, 下载次数: 114)
(, 下载次数: 126)
  注:上传模板格式要求使用zip 压缩。压缩包中目录格式如下。页面模板放在html 文件夹中。
(, 下载次数: 117)

B、新建一个文件夹t_buss_daily_log(自已定义),在其中建立csshtmlimagesjs 目录(这四个目录必须一致)
(, 下载次数: 107)

C、找到系统中的autolist.ftljform.ftl 两个模板文件,copyhtml目录下。Myeclipse 中使用ctrl+shift+R 输入文件名 定位文件位置。
(, 下载次数: 127)
(, 下载次数: 122)

D、修改autolist.ftl
  1)把录入改为:日志填报、把编辑改为:日志点评。
(, 下载次数: 117)
  修改后如下:
(, 下载次数: 117)
  2)修改弹出页面的窗口标题。
(, 下载次数: 118)
  修改后如下:
(, 下载次数: 112)

E、使用zip格式压缩,并上传。
(, 下载次数: 109)

F、编辑表单、自定义表单风格选择刚刚新增的样式。
(, 下载次数: 118)

G、测试修改前后比对。
使用默认样式
(, 下载次数: 120)
使用自定义样式后如下,已经改成我们需要的样式了。
(, 下载次数: 106)

6、新建两个角色:员工、经理;新建三个用户:员工小A,员工小B,王经理。并分配对应的角色。
(, 下载次数: 118)

7、配置菜单
(, 下载次数: 119)
(, 下载次数: 105)
(, 下载次数: 122)

8、给员工与经理角色分配菜单
(, 下载次数: 127)

  使用王经理登录,测试可以看到工作日志菜单了。但要求的权限还没有进行控制。
  到此准备工作完成。下面进行权限控制。

五、权限配置
  权限描述如下
1、员工仅可以进行日志填报、查看操作。
2、经理可以进行日志点评、查看操作。

   配置日志点评按钮可见,并只对员工角色起作用。
A、在菜单管理中,为工作日志菜单加控件权限:显示日志填报、显示日志点评
(, 下载次数: 122)
(, 下载次数: 122)

  注意,对于此处起的名称为:显示日志填报,这是因为对于按钮控制,当控件使用权限控制后,不勾选则代表不可见。勾选代码可见。
C、在角色管理中,员工角色使用 显示日志填报、经理角色使用显示日志点评。
(, 下载次数: 115)
(, 下载次数: 140)

D、测试,可以发现使用员工A和王经理登录。
(, 下载次数: 112)
(, 下载次数: 111)

3、员工查询出的数据列表列为
    姓名、日期、个人笔记、日志点评
  经理查询出的数据列表列为
    姓名、日期、日志点评(数据列权限)
配置个人笔记列隐藏,并对经理角色起作用。
A、在员工日志下新增控件权限
(, 下载次数: 120)

B、对经理角色使用此权限。
C、测试如下,王经理登录已经看不到个人笔记一列了。
  个人笔记隐藏对经理角色使用前:
(, 下载次数: 108)
  个人笔记隐藏对经理角色使用后:发现已经看不到个人笔记列了。
(, 下载次数: 122)

4、员工只可以看到自己填报的日志记录。(数据行权限)
  配置datagrid操作createBy =#{ sysUserCode}

A、新增访问类型的菜单。注意:一定要是访问类型。
  路径格式为:cgAutoListController.do?datagrid&configId=t_buss_daily_log
(, 下载次数: 117)

B、 对新加的访问类型菜单增加数据权限。
(, 下载次数: 114)
(, 下载次数: 126)
C、对员工角色使用此数据权限。
(, 下载次数: 113)

D、分别使用员工A、员工B 录入数据。测试每个人只可以看到自己录入的数据。
  小A登录,只可以看到小A的数据。
(, 下载次数: 113)
  小B登录,只可以看小B的数据。
(, 下载次数: 110)
  王经理登录,可以看到小A 与小B的数据。
(, 下载次数: 121)

5、个人笔记内容只对填报员工可见,经理不能看到个人笔记内容。(表单字段权限)
  配置个人笔记表单字段不可见,并对经理角色起作用

A、新增访问类型的菜单 表单控件权限控制。注意:一定要是访问类型。
  url格式为:cgFormBuildController.do?ftlForm&tableName=t_buss_daily_log
(, 下载次数: 121)

B、新增访问类型的菜单。注意:一定要是访问类型。
(, 下载次数: 112)

B、对新增加的菜单增加控制权限
(, 下载次数: 116)

B、对员工角色使用该权限控制。
(, 下载次数: 122)

C、测试一下,发现日志点评在日志填报页面已经没有了。
(, 下载次数: 109)

6、日志点评页面,经理只可以编辑日志点评字段,并且不可以看到个人笔记内容。
A、为表单控件权限控制 菜单增加控件权限。日期禁用,工作日志禁用,个人笔记不可见。
(, 下载次数: 113)

B、并对经理角色使用这三个控件权限。
(, 下载次数: 121)

C、使用王经理登录进行日志点评。测试可以发现现在经理角色只可以编辑日志点评字段,并且个人笔记不可见。
(, 下载次数: 119)



完成









欢迎光临 JEECG技术论坛 - 基于BPM的低代码开发平台 (http://www.jeecg.org/) Powered by Discuz! X3.4