李子页 发表于 2024-8-6 09:07:05

如何动态提示附件被设置权限无法查看

管理员好,我在申请人阶段的表单设置了附件查看和编辑的权限并指定了人员,在没有权限查看的人员查看时附件就是不显示的,一片空白,
1.我设置了一个提示,没有权限就提示没有权限阅读,但是我发现存在多个附件时,一部分附件设置权限,一部分附件不设置权限他就不显示了,我在queryload事件使用下面的脚本输出附件对象,发现没有权限的人输出的附件对象就是空的


var attachmentList = this.workContext.getAttachmentList();
console.log(attachmentList)



如何在没有权限查看的处理人节点获取到所有的附件对象并进行判断是否有权限查看

论坛管理员 发表于 2024-8-8 10:43:28

哪里做的设置,截图看看

李子页 发表于 2024-8-8 10:49:01

论坛管理员 发表于 2024-8-8 10:43
哪里做的设置,截图看看

在附件的load事件脚本里

李子页 发表于 2024-8-8 10:52:13

这是我写的红色字样提示
var attachmentList = this.workContext.getAttachmentList(); //获取附件对象

var readIdentityList = []; //定义一个空数组存放阅读权限名单

for(var i=0;i<attachmentList.length;i++){ //循环每一个附件对象分别获取可阅读人权限列表存入数组中

    readIdentityList.push(attachmentList.readIdentityList )

}

if(readIdentityList.length == 0){

    this.target.node.firstElementChild.firstElementChild.innerHTML =

    "<div style='display: inline; margin-right: 50px;'>附件区域</div>" +

    "<div style='color:red; font-size: 17px; display: inline;'>附件仅供授权人查看</div>";

}else{

    let hasNonEmptyArray = readIdentityList.some(innerArray => innerArray.length > 0); //判断可阅读权限名单的人员是否为空

    if (hasNonEmptyArray) { //如果为空提示附件仅供授权人查看

    this.target.node.firstElementChild.firstElementChild.innerHTML =

    "<div style='display: inline; margin-right: 50px;'>附件区域</div>" +

    "<div style='color:red; font-size: 17px; display: inline;'>附件仅供授权人查看</div>";

    }else {

    console.log("未设置权限");

    }

}

论坛管理员 发表于 2024-8-12 09:53:12

您是在哪里设置的这个权限,给谁看不给谁看?

李子页 发表于 2024-8-12 10:05:56

论坛管理员 发表于 2024-8-12 09:53
您是在哪里设置的这个权限,给谁看不给谁看?

就是在attatchment组件里允许设置权限,然后在申请人节点对上传的附件进行权限设置,如果有多个附件,其中有的设置了查看权限,有的没有设置权限,如何动态提示有一部分附件被设置了权限无法查看
页: [1]
查看完整版本: 如何动态提示附件被设置权限无法查看