附件字段

栏目:云苍穹知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

附件字段

# 变更记录 | 产品版本 | 更新内容 | 更新日期 | | --- | --- | --- | | V5.0.024 | 新增了移动端附件支持调用app客户端的上传接口上传文的功能,满足了用户使用APP接口上传文件的需求 | 2023-07-14 | | V5.0.025 | 新增了移动端附件通过链接下载的功能,满足了客户希望在移动端下载附件需求 | 2023-07-27 | # 1 功能介绍 # 1 功能介绍 简洁版的附件面板,可在卡片分录与单据体中使用;也适用于空间较小的场景,例如侧边栏。 # 2 控件对象 `kd.bos.form.field.AttachmentEdit` # 3 视觉展示 ![image.webp](/download/0100a5bd816b1c0942a68e010f3e07261c4b.webp) # 4 属性说明 ## 4.1 通用属性 >通用属性包含字段和控件的一些公有的属性,如宽高,帮助文本等等。请参考[通用属性](https://vip.kingdee.com/article/215559076720798976) ## 4.2 样式属性 >样式属性是每个控件在设计器右侧样式栏可以设置的属性,请参考[样式属性](https://vip.kingdee.com/article/252017936767406336) ## 4.3 业务属性 | 属性名 | 类型 | 默认值 | 说明 | | --- | --- | --- | --- | | 扩展名 | 文本 | - | 配置可上传文件扩展名,例:zip,rar,详见4.3.1 | | 最大附件大小 | 整数 | 20 | 设置单个可上传文件大小,在系统参数中可设置服务器最大附件的大小,优先级比设计器属性要高,单位为 Mb | | 最大附件数 | 整数 | 0 | 设置附件可上传的文件数量,超出限制则不可上传 | | 排序字段 | 下拉 | 上传时间 | 上传附件成功后,按排序字段进行排序,可排序的字段分为上传时间、文件名称、文件大小,详见4.3.2 | | 排序方式 | 下拉 | 顺序 | 设置排序的方式,分为顺序和倒序 | ### 4.3.1 扩展名 扩展名用于设置附件字段允许上传的文件格式,如.webp,.webp等,多个文件格式使用英文逗号进行分隔 ### 4.3.2 排序字段 排序字段用于指定附件的排序条件和顺序,可选择的属性有附件名称、上传时间和附件大小,根据排序字段指定顺序或者是逆序排序。 # 5 插件示例 ```java public void afterCreateNewData(EventObject e){ //案例需求:将某个已存在附件字段上的附件,设置到当前页面的附件字段上。 Object[] attachmentIds = new Object[1]; //实体bd_attachment的主键,可通过查询bd_attachment实体获取。 attachmentIds[0] = 607079090620535808L; //第一个参数为附件字段的key this.getModel().setValue("attachmentfield", attachmentIds); } ``` # 6 移动附件 ## 6.1 支持调用app客户端的上传接口上传文件 在苍穹移动端单据的开发过程中,会遇到需要调用APP提供的文件上传接口的场景,如选择文件、选择图片、选择相机等。开发者可以重写平台附件的方法,在重写方法中调用APP提供的接口完成文件上传。 支持重写的方法如下表,重写的方法对应选项有“金蝶云盘”,“相册”,“相机”,“本地文件”,“录像”,用户点击选项后将调用对应方法。 | **方法名** | **选项名** | | --- | --- | | selectAttachmentFile | 金蝶云盘 | | choosePhotoImage | 相册 | | chooseCarmeaImage | 相机 | | video_startRecord | 录像 | 开发者可以在扩展js中,重写附件的选择文件、相册、相机、录像方法。用户在点击对应选项后,平台会自动调用上述方法,开发者只需将需要的数据传入callback中即可,平台接收到callback中的数据后,会将数据上传至服务器。扩展js使用请参考:[苍穹前端扩展能力之一,快来学习](https://vip.kingdee.com/article/235427929415677696) ### selectAttachmentFile(金蝶云盘) 一、如果需要引入外部js桥文件,如jsbridge.js,引入方式如下: ``` // index.js (function () { /**二开扩展PC端js * 注意:扩展的js默认是在平台的js前运行,如需扩展的js在平台的js后运行,需要在写在window.afterLoaded中,如下 * window.afterLoaded = function (){ * // your code * } */ window.initKDPlugin = function ({ loadjs, releaseResource }, callback) { // load插件需要的js桥文件 loadjs('jsbridge.js', () => { window.KDPluginExtend = { selectAttachmentFile: function (data = {}, callback) { // ...调用app的api后返回result数据 const result = [{ downloadUrl: "[https://xxx](https://xxx/)", fileExt: "doc", fileId: "6497fe85354fc40001c2c28b", fileName: "test.doc", fileSize: 573952, fileTime: 1687682693642, }] callback(result) } } callback({ success: true })//插件安装成功回调{success:false, error:'error info'} }) //如果要支持额外多个平台不支持的app,需要根据window.navigator.userAgent类型来设置最终window.KDPlugin的值 } })(); ``` 如果不需要引入外部js桥文件,则直接重写附件方法即可。 ``` // index.js (function () { /**二开扩展PC端js * 注意:扩展的js默认是在平台的js前运行,如需扩展的js在平台的js后运行,需要在写在window.afterLoaded中,如下 * window.afterLoaded = function (){ * // your code * } */ // 这个场景不需要在平台js运行后执行,可以直接写在这里 window.KDPluginExtend = { selectAttachmentFile: function (data = {}, callback) { // ...调用app的api后返回result数据 const result = [{ downloadUrl: "[https://xxx](https://xxx/)", fileExt: "doc", fileId: "abc123", fileName: "test.doc", fileSize: 573952, fileTime: 1687682693642, }] callback(result) } } })(); ``` **参数说明** | **参数** | **类型** | **是否必传** | **说明** | | --- | --- | --- | --- | | downloadUrl | String | 是 | 开发者需提供文件的下载链接,平台通过下载地址将文件下载后,上传至服务器 | | fileExt | String | 是 | 上传的文件类型,如doc、pdf等 | | fileId | String | 否 | 上传文件id,选填,默认随机生成 | | fileName | String | 是 | 上传文件名 | | fileSize | Number | 是 | 上传文件大小 | | fileTime | Number | 否 | 上传文件时间,选填,默认为当前时间 | ### choosePhotoImage(相册) 方式一:开发者提供downloadUrl下载链接,所需参数与金蝶云盘一致; 方式二:开发者提供图片File对象,支持金蝶云盘中的两种写法。这里主要展示传入参数,采用不加载外部js的写法如下 ``` // index.js (function () { /**二开扩展PC端js * 注意:扩展的js默认是在平台的js前运行,如需扩展的js在平台的js后运行,需要在写在window.afterLoaded中,如下 * window.afterLoaded = function (){ * // your code * } */ window.KDPluginExtend = { choosePhotoImage: function (data = {}, callback) { // ...调用app的api后返回result数据 const result = [{ fileData: File对象, fileExt: "image/png", size: 573952, }] callback(result) } } })(); ``` **参数说明** | **参数** | **类型** | **是否必传** | **说明** | | --- | --- | --- | --- | | fileData | File对象 | 是 | 开发者需提供图片的File对象 | | fileExt | String | 是 | 上传的文件类型File.type,如image/png | | size | Number | 是 | 上传文件大小 | ### chooseCarmeaImage(相机) 方式与参数和相册一致 ### video_startRecord(录像) 方式与参数和金蝶云盘一致 ## 6.2 附件下载功能 1、附件下载功能中,提供复制下载链接选项,需要用户将链接复制到浏览器进行下载 2、在云之家中,点击“复制下载链接”选项,会自动将下载链接复制到剪切板,用户可以直接打开浏览器粘贴下载链接进行下载

附件字段

# 变更记录| 产品版本 | 更新内容 | 更新日期 || --- | --- | --- || V5.0.024 | 新增了移动端附件支持调用app客户端的上...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息