阅读:1448 回复:1
实名用户_f7275f55
6

帖子

9

跟帖

187

积分

中级榴莲
中级榴莲

附件默认是允许多个文件批量上传,有什么办法可以设置附件只允许...

楼主#
更多 发布于:2017-05-18 11:38
附件默认是允许多个文件批量上传,有什么办法可以设置附件只允许单个文件上传的啊?
t156965365
46

帖子

688

跟帖

4536

积分

H3 BPM互助团队
H3 BPM互助团队
  • 社区居民
1楼#
发布于:2017-05-18 16:28
官方有预留一个多选的选项,可能是实现太麻烦,最后隐藏了。

图片:fujian.PNG



我尝试实现了一下,如果要做到直接替换有点麻烦。
曲线实现方式是,只要存在一个附件就隐藏上传按钮,删除附件以后再显示按钮。
实现方法如下:

1.修改SheetControls.js文件,增加多选的设置让多选参数可以传递进去。
SheetAttachment的DesignProperties下增加如下参数
{ Name: "Multiple", Description: "获取或设置是否多选", DefaultValue: true, ValueRange: [true, false] }


图片:fujian1.PNG



2.修改SheetAttachment.js文件
   2.1 修改NotHtml5Render 和Html5Render 函数,在加载时如果单选且存在一个附件,则不显示上传按钮。在函数最后增加如下代码。
NotHtml5Render :
if (!this.Multiple && this.Files > 0) {
                this.BtnUpload.hide();
            }

Html5Render :
if (!this.Multiple && this.Files > 0) {
                this.ActionPanel.hide();
            }


  2.2 修改AddFiles函数,原有设计时只要单选,全部清空html,会导致控件被删掉,无法进行后面操作。
if (!this.Multiple) {
                //this.ClearFiles();
                if ((this.IsHtml5)) {
                    this.ActionPanel.hide();
                }
                else {
                    this.BtnAdd.hide();
                }
}



  2.3 修改RemoveFile函数,当单选且文件都删除的时候显示上传按钮,在函数最后增加如下代码。
if (!this.Multiple && this.Files == 0) {
                if ((this.IsHtml5)) {
                    this.ActionPanel.show();
                }
                else {
                    this.BtnAdd.show();
                }
            }



3.在需要的附件字段中增加 data-multiple="false" 属性.
此时如果清除一下浏览器的缓存,重新登录后台界面,附件就会多出一个多选的属性,如图。

图片:shuxing.PNG

游客

返回顶部