目前,多用户的软件平台已经是再常见不过的了,有成千上万个用户账号的平台也很正常。为了保证每个用户准确访问各自的信息,免不了要做这样或那样的权限控制,而且这种权限控制往往是需要基于数据层面进行管理的。
对于报表平台的数据权限管理,我们可以直观地理解为:不同的机构、角色甚至具体到人,在访问同一张报表时所看到的数据都有可能不同的。最常见的例子比如工资条(也可以看做是一张简单的报表),因为绝大多数公司薪资都是保密的,所以很显然,系统内不同人看到的结果肯定是不相同的。 再比如,区域销售情况统计对于不同区域的销售经理来说,也应该只能看到其所负责区域的数据。
今天我们将讨论这些传统权限管理中,一个特殊的需求:如何在报表中控制一个文件的上传和下载权限。比如:公司内部管理系统中,对于合同模板,法务部人员允许上传和下载,而销售人员则只能下载不允许上传。再比如,学校的教务系统中,关于学生的成绩单,教务处既可以上传也可以下载,而学生则只能浏览。
通常情况下,这种针对报表中某个编辑框进行权限控制的需求,我们会通过”是否可编辑表达式”来实现。例如:
以报表工具自带的实例 2.1.sht 为例,根据不同的用户名控制部门字段的可写性操作。
这里设定只允许 lis 可以编辑修改部门信息,其他人均不可以。
具体的操作如下:
选中部门列所在单元格 B3 然后在右边属性栏中设置 【是否可编辑表达式】为 user==’lis’或者 user==‘lis’?true:false(注意:此表达式严格按照 js 的规则书写,不能使用报表中定义的 if() 函数 ),并且在报表中增加对应的参数 user 用于接收用户名。

效果:

这个小例子显示了如何针对编辑框做权限控制,不过,如果我们照葫芦画瓢对”上下载文件”进行权限管理设置,当发布到页面上后就会发现,不仅刚刚设置的权限管理没生效,而且还会导致对其他单元格设置的“不可写”也同时失效了!估计一开始遇到这个问题,大家都会忍不住地以为自己写错了,经过再三检查也没发现问题,最终才能确定:目前不支持通过【是否编辑表达式】对”上下载文件”做权限控制。
那么,到底应该怎么实现”上下载文件”的权限控制呢?别着急,往下看……
以报表工具自带的实例 4.3.sht 为例,对雇员照片所在的 E3 单元格做上传下载的权限控制。
报表设计界面如下:

其中,F1 单元格输出 userId 是为了辅助后面做权限控制。
在报表展现界面中,增加 js 方法实现上传下载的权限控制:

其中,
ss变量,指定要对那个单元格做权限控制;
qx变量,是报表工具内置变量名,其变量值0** 代表可以上载下载、1 代表 仅上载
2** 代表 仅下载、3 代表 不能上下载。
用户名 userID,,可以根据需要从后台传入,演示中采用参数模板传值。
效果:
用户 zhangsan 只允许查看不允许做任何操作,其他用户可以上下载文件。

这样,通过内置的参数 qx 结合 js 访问,我们就可以轻松实现这个需求,大家可以参考本文根据自己的实际情况做相应的调整。如果还想了解更多内容,那就关注我吧。

报表中如何控制附件的上传和下载权限相关推荐

  1. Linux 中 3 个文件打包上传和下载相关命令详解

    tar 命令 通过 SSH 访问服务器,难免会要用到压缩,解压缩,打包,解包等,这时候tar 命令就是必不可少的一个功能强大的工具.Linux 中最流行的tar是麻雀虽小,五脏俱全,功能强大. 使用t ...

  2. Linux中使用SCP命令进行上传或者下载文件

    本文目录 1.本地主机与远程主机之间进行文件传输 1.1.单个文件的上传与下载 1.2.多个文件的上传与下载 1.3.按目录进行上传与下载 2.远程主机与远程主机之间进行文件传输 SCP(Secure ...

  3. java 中 FtpClient 实现 FTP 文件上传、下载

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 源代码大部分是网上找的,查来查去,找到几个可以用的例子,改来改去,揉合成现在这个样子. 一. jar ...

  4. php 上传word文件 源码,THINKPHP中word文档的上传与下载

    点击上传按钮 控制器public function uplo(){ $gid=I('get.id'); // var_dump($gid);die; $this->assign('GID',$g ...

  5. Unity(十七) 在Unity中Android使用FTP进行上传、下载、文件创建(客户端部分)

    参考链接:https://www.cnblogs.com/zhenzaizai/p/7434669.html 感谢原作,并修正判断文件夹是否存在的问题 如何在Win10上创建FTP服务器 :https ...

  6. 文件的上传和下载(超详细)

    文件的上传和下载,是非常常见的功能.很多的系统中,或者软件中都经常使用文件的上传和下载. 比如:QQ 头像,就使用了上传. 邮箱中也有附件的上传和下载功能. OA 系统中审批有附件材料的上传. 1.文 ...

  7. 利用钉钉云盘实现业务系统需要的附件上传、下载和预览

    本文主要记录自己在工作学习中遇到的坑和解决思路,仅供大家参考 目录 前言 一.钉盘是什么? 二.为什么要使用钉盘? 三.JSAPI鉴权 1.鉴权的时机 2.鉴权的时效 3.鉴权的代码 3.1.获取ac ...

  8. SAP GOS附件上传与下载[代码直接可用]

    在采购订单屏幕的左上角有个特殊的按钮,可以通过它创建.查看或删除采购订单的附件.这个按钮是使用GOS(Generic Object Service)工具实现的,可以把GOS理解为一个连接文档和SAP内 ...

  9. odoo 附件上传与下载

    在想上传附件的模型仲添加一个关联字段 关联模型:ir.attachment res_id 是附件模型的关联字段,其他模型也可以直接这样写. 这样就可以实现附件的上传与下载 转载于:https://ww ...

最新文章

  1. poly-YOLOv3
  2. xnawindowsph日本 Phone x Phone iphone 4 座机 复古电话手机座 听筒 防辐射
  3. create_workqueue和create_singlethread_workqueue【转】
  4. (转)测试用例的设计方法(全)之三 判定表、正交实验
  5. png怎么转ico图标?一招教你如何图片转格式
  6. u盘中病毒文件夹变成.exe解决
  7. Poi和easyExcel
  8. 富有哲理的10则故事(必读经典)
  9. web前端期末大作业——基于HTML+CSS+JavaScript实现中国茶文化(30页)
  10. 未来五年,物联网三大技术发展趋势!
  11. 非常实用的视频剪辑软件,它可以满足您进行视频制作的需要,使用剪映mac版能够轻松对视频进行各种编辑。
  12. 拼多多新手商家开直通车一定要避免的雷区有哪些?
  13. 单峰数组求第k大算法
  14. “2020学术公众号100强”重磅发布,“年度学术公众号Top10”开启投票
  15. python语言平台无关_从零开始学Python自然语言处理(十二)——上下文无关文法...
  16. Android之获取移动网络ip
  17. 如何快速验证你的创业想法是否可行?这里有7大策略
  18. J2ME 粒子系统实现(转)
  19. 第一个divcss属性失效_复合材料失效理论知多少(三):一战封神Pinho理论
  20. 游戏图标的设计跟其它应用的图标设计有何不同?

热门文章

  1. 全球及中国沼气发电行业现状及项目发展动态调研报告2021年版
  2. libusb usb设备访问接口库
  3. 隐性饥饿谋定功能性农业-农业大健康·万建民:对接精准扶贫
  4. js实现返回顶部功能的解决方案
  5. php+ajax+jquery实现jsonp跨域
  6. HDU 1426 Sudoku Killer
  7. Java实践(四)——数组
  8. 微课堂 | 典典养车COO:暴力运营美学,典典养车如何一年内拿到500万用户(今晚8点开始)...
  9. Spring Cloud中Feign如何统一设置验证token
  10. PHP设计模式 -- 策略模式