# 视图中根据规则隐藏列
# 1.场景介绍
对于不同的角色在视图中显示不同的列,供应商视图中含有审计字段,没有审计角色的员工查看视图时需要隐藏审计字段。
本文以上述场景,讲解如何在视图中根据规则隐藏列。
# 2.效果展示
- 有审计角色的员工查看视图:
- 没有审计角色的员工查看视图:
# 3.实现思路
在视图中添加视图加载后事件,判断条件:如果当前登录员工的id != 审计角色员工的id(本案例中为”1“),那么使用this.Api.hideColumn('fieldName')方法,隐藏列表中的审计字段列。
# 4.操作步骤
# 4.1创建实体生成表单和视图
初始化数据库,以MySQL为例,示例脚本如下:
create table supplier_inf_audits (
id varchar(255) not null,
supplier_id varchar(255) comment '供应商编码',
supplier_name varchar(255) comment '供应商名称',
usci varchar(255) comment '统一社会信用代码',
status varchar(255) comment '供应商审核状态',
-- 审计字段(低开中默认生成的字段) --
CREATE_USER varchar(255) comment '创建者',
CREATE_TIME datetime comment '创建时间',
UPDATE_USER varchar(255) comment '修改者',
UPDATE_TIME datetime comment '更新时间',
primary key (id)
);
字段名CREATE_USER类似带下划线,在低开中会自动转换成createUser驼峰写法,传参数时需要注意。
创建供应商实体,右键生成表单,并加载视图。
# 4.1添加事件根据规则隐藏列
在视图中,视图设置-高级设置-事件-视图加载后,书写代码:
if(this.Context.user.employeeId!=="1"){
this.Api.hideColumn('createUser')
this.Api.hideColumn('createTime')
this.Api.hideColumn('updateUser')
this.Api.hideColumn('updateTime')
}