Lxw100514 发表于 2022-9-30 10:11:44

流程表单隐藏 某列数据

您好
我建立一个流程里面有两个流程表单,一个申请表,一个审核表,申请表中设置了隐藏表格中的某一列数据,在审核表中设置显示, 当我审核人填写完该列数据后,申请人能够在流程记录里看到这列数据,这个要怎么处理,
   意思就是申请人发起申请的时候虽然看不到这列,但审核人填写后,申请人也能看到了


xadmin 发表于 2022-9-30 11:02:49

平台默认打开已办时的表单就是流程所在环节的表单,即打开的是实时环节上的表单。如果需要拟稿人依旧看不到这一列,需要在审核表单加载的时候通过脚本判断当前用户是申请人时,隐藏该列。

Lxw100514 发表于 2022-9-30 11:10:12

var flag = "";
var identityList = this.session.user.identityList;
for(var i=0;i<identityList.length;i++){
    var dutyNameList = this.org.listDutyNameWithIdentity( identityList );
    if(dutyNameList.indexOf("物料采购")>-1){
      flag = "manager";
    }
   
}
var roleList = this.org.listRoleWithPerson( this.session.user.distinguishedName );
for(var i=0;i<roleList.length;i++){
    if(roleList.name=="Manager"){
      flag = "manager";
    }
}

this.form.get("caigoudan").node.hide();

if(flag=="manager"){
    this.form.get("caigoudan").node.show();
   
}

我写了脚本设置隐藏了控件是可以的   但是如果隐藏表格中的某一列就不行,只能隐藏一个列名,无法隐藏该列下的数据,这个我要怎么改呢?

xadmin 发表于 2022-9-30 15:46:52

Lxw100514 发表于 2022-9-30 11:10
var flag = "";
var identityList = this.session.user.identityList;
for(var i=0;i-1){


写在这一列的queryLoad事件里,通过this.target.json.isShow = false;就可以隐藏该列

Lxw100514 发表于 2022-9-30 18:18:15

这样只能隐藏列名,无法隐藏该列下的数据。

Lxw100514 发表于 2022-9-30 18:22:26

如果我把这个脚本加在数据中的queryLoad那就没有隐藏效果   加在列名中只能隐藏列名

论坛管理员 发表于 2022-10-8 09:56:50

您确实写了吗,管理员这边测试过,这句代码没问题的。this.target.json.isShow = false;

Lxw100514 发表于 2022-10-8 15:02:56

我在采购单价的列名数据字段   数据字段外围的单元格上 这三个地方的queryload 事件加了脚本 this.target.json.isShow = false;
效果是只隐藏了列明数据不隐藏

论坛管理员 发表于 2022-10-8 17:10:31

本帖最后由 论坛管理员 于 2022-10-8 17:40 编辑

你好,管理员这边复现了这个问题,已提交给研发人员修复,稍后发布新版本,您升级即可
-----------------------------------
这句是隐藏内容列的,您可以两句代码结合使用,实现隐藏的效果:this.form.getApp().appForm.json.moduleList["datatable_datatable$Data_1"].isShow = false;

Lxw100514 发表于 2022-10-8 19:01:08

您好 最新版本是7.2.5 这个是已经修复好的版本吗?是把这句加在字段上的queryload事件吧
页: [1] 2
查看完整版本: 流程表单隐藏 某列数据