欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【EasyUI】如何根据条件控制可编辑表格某字段是否可以编辑;

程序员文章站 2022-06-08 17:07:08
...

一、问题

最近遇到了一个比较棘手的问题:我有一个可编辑列表,有操作员-经理-总经理三级审批;但是只有是操作员才可以添加修改,然后发起流程,其他的角色将不能添加修改,对于该可编辑列表只能查看,后面的角色,只能新增审批意见;如何根据登陆用户的角色,来控制页面上可编辑表格的修改权限?

二、分析

角色,权限信息我都可以获取到,目前的问题是,如何修改EasyUI中可编辑表格的【是否可编辑状态】;
该目标实现的难点在于:
1.非全页面设置可读可写,而是局部控制可读可写;
2.要根据角色变化【可编辑表格】的属性;

三、解决

基本语法:

在table标签上加入如下信息:

dataOptions="onClickRow:fun1";

dataOptions是添加在【标签】上的属性,里面可以添加用户执行的动作;onClickRow表示用户单击某一行的记录时触发;冒号后面是触发的方法;触发方法如下:

在js中加入如下事件方法:

function fun1(rowIndex,rowData){
	//此处添加过滤条件
	//下面这句是:是否失效
	${'目标表的id'}.datagrid('getEditor',{index:rowIndex,field:'目标字段'}).target.renderDisabled(true);
	
}

说明:
1.入参rowIndex表示选中的那一行的下表,从0开始;rowData表示那一行的数据;
2.${‘目标表的id’}是用来获取目标表格的所有数据;
3.datagrid表示EasyUI获取表格数据(网格数据)的方法;index,表示下标;field表示那一行的具体的字段;target表示获取目标。renderDisable()方法是渲染方法,表示是否有效;boolean值true表示有效,可以编辑;false表示无效,点击后,会变成灰色的不可编辑的矩形方块;