关注JEECG发展历程 关注最新动态和版本, 记录JEECG成长点滴 更新日志 - 技术支持 - 招聘英才

JEECG最新版本下载 JEECG智能开发平台 - 显著提高开发效率 常见问题 - 入门视频 - 参与开源团队

商务QQ: 69893005、3102411850 商务热线(5*8小时): 010-64808099 官方邮箱: jeecgos@163.com

查看: 8589|回复: 0

【JEECG技术博文】实例讲解-- online表单权限控制(jeecg3...

[复制链接]
发表于 2015-12-23 15:30:34 | 显示全部楼层 |阅读模式
简单实例讲解JEECG ONLINE表单权限控制(jeecg3.6

作   者: 许国杰

一、业务背景
    某公司要实现一个日志系统,用来了解员工的工作量饱和情况。

二、需求
1、角色分为:员工、经理两种。
2、员工每天在日志系统中填报工作总结,然后经理进行点评。
3、表单内容包含:姓名、日期、工作总结、个人笔记、日志点评。

三、业务权限描述
1、员工可以进行日志填报、查看操作。(按钮控件权限)
2、经理可以进行日志点评、查看操作。(按钮控件权限)
3、个人笔记内容只对填报本人可见,经理不能看到个人笔记内容。(表单字段权限)
4、经理只可以编辑日志点评字段。(表单字段权限)
5、员工查询出的数据列表列为
    姓名、日期、个人笔记、日志点评(数据列权限)
6、经理查询出的数据列表列为
    姓名、日期、日志点评(数据列权限)
7、员工只可以看到自己填报的日志记录。(数据行权限)

四、开发过程

1、创建表单
图片1.png

2、编辑页面属性
图片2.png

3、同步数据库
图片3.png

4、功能测试查看列表及表单内容如下
图片4.png
图片5.png

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

B、新建一个文件夹t_buss_daily_log(自已定义),在其中建立csshtmlimagesjs 目录(这四个目录必须一致)
图片10.png

C、找到系统中的autolist.ftljform.ftl 两个模板文件,copyhtml目录下。Myeclipse 中使用ctrl+shift+R 输入文件名 定位文件位置。
图片11.png
图片12.png

D、修改autolist.ftl
  1)把录入改为:日志填报、把编辑改为:日志点评。
图片13.png
  修改后如下:
图片14.png
  2)修改弹出页面的窗口标题。
图片15.png
  修改后如下:
图片16.png

E、使用zip格式压缩,并上传。
图片17.png

F、编辑表单、自定义表单风格选择刚刚新增的样式。
图片18.png

G、测试修改前后比对。
使用默认样式
图片19.png
使用自定义样式后如下,已经改成我们需要的样式了。
图片20.png

6、新建两个角色:员工、经理;新建三个用户:员工小A,员工小B,王经理。并分配对应的角色。
图片21.png

7、配置菜单
图片22.png
图片23.png
图片24.png

8、给员工与经理角色分配菜单
图片25.png

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

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

   配置日志点评按钮可见,并只对员工角色起作用。
A、在菜单管理中,为工作日志菜单加控件权限:显示日志填报、显示日志点评
图片26.png
图片27.png

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

D、测试,可以发现使用员工A和王经理登录。
图片30.png
图片31.png

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

B、对经理角色使用此权限。
C、测试如下,王经理登录已经看不到个人笔记一列了。
  个人笔记隐藏对经理角色使用前:
图片33.png
  个人笔记隐藏对经理角色使用后:发现已经看不到个人笔记列了。
图片34.png

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

A、新增访问类型的菜单。注意:一定要是访问类型。
  路径格式为:cgAutoListController.do?datagrid&configId=t_buss_daily_log
图片35.png

B、 对新加的访问类型菜单增加数据权限。
图片36.png
图片37.png
C、对员工角色使用此数据权限。
图片38.png

D、分别使用员工A、员工B 录入数据。测试每个人只可以看到自己录入的数据。
  小A登录,只可以看到小A的数据。
图片39.png
  小B登录,只可以看小B的数据。
图片40.png
  王经理登录,可以看到小A 与小B的数据。
图片41.png

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

A、新增访问类型的菜单 表单控件权限控制。注意:一定要是访问类型。
  url格式为:cgFormBuildController.do?ftlForm&tableName=t_buss_daily_log
图片42.png

B、新增访问类型的菜单。注意:一定要是访问类型。
图片43.png

B、对新增加的菜单增加控制权限
图片44.png

B、对员工角色使用该权限控制。
图片45.png

C、测试一下,发现日志点评在日志填报页面已经没有了。
图片46.png

6、日志点评页面,经理只可以编辑日志点评字段,并且不可以看到个人笔记内容。
A、为表单控件权限控制 菜单增加控件权限。日期禁用,工作日志禁用,个人笔记不可见。
图片47.png

B、并对经理角色使用这三个控件权限。
图片48.png

C、使用王经理登录进行日志点评。测试可以发现现在经理角色只可以编辑日志点评字段,并且个人笔记不可见。
图片49.png



完成




您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表