1 概述

本专题主要讲解如何利用跨设备表单的从表来维护附件。例如主表信息记录的是某工程项目信息,在整个项目周期内,往往需要上传和维护较多项目有关的合同、图纸、文档等资料。

原理上是利用将业务从表与系统附件表sys_attachment利用附件编码字段(SA_ID)进行关联存储和读取,在通过专门的从表类型添加附件时,同步将文件信息存储到系统附件表中,后续在从表页面需要预览或下载文件时就可以通过附件编码字段从系统附件表中找到对应文件来执行预览和下载。

2 使用前提

为实现上述场景在版本V7.3.0为系统附件表sys_attachment新增了3个字段(V7.3.0之前的版本更新后需注意添加,否则涉及附件相关功能会报错)。
1、SA_CREATE_ID:用于记录附件信息创建用户(包括上传/引用)编码
2、SA_CREATE_TIME:用于记录附件信息创建(包括上传/引用)时间
3、SA_RELATION_ID:用于记录附件引用来源附件ID

3 案例讲解

现在就以上述项目资料管理的业务场景为例来讲解如何通过主从模型实现项目资料管理,业务细节还涉及附件分类和附件引用等。

(1)业务表准备

根据业务描述我们需要至少两张业务表:

  1. 记录项目信息的主表(例如包含项目名称等信息),这里举例我们可以设置得简单一些,只体现项目名称。

  2. 与主表关联的项目资料从表(例如包含附件名称、系统附件表附件编号等),

    • 这里对附件从表的建立稍微做一些讲解,必要的字段:
      • 与主表关联的外键:作用是构建主从关系,如上示例中就是“项目编号”字段XM_ID。
      • 系统附件表附件编码:作用是在文件创建时记录存储在系统附件表中的附件编码,日后对文件进行预览、下载、删除等操作时,通过系统附件表找到对应文件执行相应的操作。如示例中就是字段FJ_ID。
      • 引用标识字段:如果涉及文件引用的,还需要在业务从表中创建一个引用标识字段,用于记录文件的添加方式(上传或引用),从而可以实现一些业务上的过滤,例如引用的来源文件只能是通过上传添加的文件。如示例中就是字段IS_CITED。

将上述业务表制作成对应的元数据,准备好对应的字段数据源以后,我们就可以开始准备表单的配置了。

(2)表单配置

选择主从模型,表单配置的关键在于从表配置时,不能使用常规的从表类型。这里需要选择V7.3.0新增的“附件”类型从表,可以实现利用从表对文件进行管理。

【数据相关设置】选择元数据和【关联设置】主从关联关系配置与常规从表一致,在此不再赘述,下文重点讲解与附件管理相关的“附件”从表专有配置项。


1. 附件上传设置
“附件”从表默认支持的文件添加方式就是本地上传,因此类似文件上传控件,需要在【存储类型】中配置上传文件的存放位置,目前暂时仅支持OSS存储。

存储设置中需要选择门户第三方平台中创建好的OSS配置及Bucket,需要配置对应的保存路径和临时存储路径。

【字段映射】配置项用于配置添加文件以后对业务从表字段的自动填充,主要用于自动映射一些文件信息,诸如附件编码、文件名称、文件大小等。

  • 其中【附件编码】字段映射必须配置,否则无法与系统附件表建立关联关系影响文件的预览下载等功能。
  • 其余文件信息字段可以按需配置,例如本示例中我们选择了映射文件名称和文件大小,作为业务表文件信息存储下来。

2. 附件分类设置
【附件分类设置】可以按需配置,如果业务上不需要对附件从表中的文件进行业务上的分类,则不需要开启和配置,默认不开启。此时附件从表表现为一个基础的列表,如下图所示:

反之假设业务上需要文件按照一定业务逻辑进行分类,则可以选择开启配置项【附件分类设置】,通过配置使附件从表得以按分类去维护和展示附件,如下图所示:

启用附件分类的配置方式如下:

  • 【选择数据源】支持选择准备好的CodeTable或EasySearch数据源,分类根据选择的数据源支持列表和树形结构展示。
  • 【联动过滤/传参设置】根据所选数据源是元数据或数据视图生成的EasySearch,支持配置联动过滤或传参设置,实现分类显示数据的联动过滤,联动来源值支持选择模板主表元数据字段或表达式,因此可以实现一些根据主表字段值联动从表分类的业务场景。
  • 【宽度】设置PC端分类栏的显示宽度,默认值为500像素,可以按需调整。
  • 【分类字段】必选,如果需要对附件进行分类维护和展示,需要提前在从表元数据中准备好对应的用于存放分类信息的字段,例如示例中我们定义的字段FJ_TYPE就用于存放分类信息,这里就选择该字段作为分类字段。这里指定的分类字段主要有起到两个作用:1右侧列表添加附件时自动将当前所选项填充到该字段中存储下来,2选择左侧分类时过滤附件从表数据)
  • 【分类必传校验】选配,用于实现某些细分场景,例如业务要求从表某些分类下必须上传文件,在表单保存时不得为空。这里的配置规则如下:允许自定义当前业务下必传的分类id,可以写常量也可以自行维护好数据,通过后台SQL函数去取值(多个分类id通过逗号分割)。例如示例中我们要求表单保存时,“基本证件”和“资产、负债、经营佐证资料”及其子分类下必须上传文件,就可以在此配置项中指定这几个分类的编码值。保存时校验分类必传,如果存在为空的分类提示如下图所示。

3. 列表搜索设置
【列表搜索设置】允许指定附件列表字段进行模糊查询,例如示例中我们选择支持“附件名称”和“添加用户”搜索。

执行效果:输入框中输入关键字允许同时搜索“附件名称”和“添加用户”。


4. 页面操作设置
【页面操作设置】可以设置附件从表显示的操作功能。

  • 支持配置操作按钮的开关。
    • 编辑页面显示的操作:本地上传、文件引用、预览、下载、批量下载、删除、批量删除;
    • 详情页面仅支持:预览、下载、批量下载。
  • 支持配置相应全局操作权限和行操作权限。

5. 文件引用配置
前文提到附件从表的默认文件添加方式为本地上传,文件引用作为一类特殊的文件添加方式,在实际项目应用中也有一定的应用场景。

一般业务场景下,文件引用指的就是,通过选择已有的文件列表选择达成文件添加的目的。例如项目中,已经上传过一些项目资料涉及企业相关的一些信息,无需再次通过上传方式添加,可以引用已上传过的文件来添加。

具体配置逻辑如下:

首先,需要在【页面操作设置】中启用“文件引用”操作。

点击【文件引用设置】,在弹窗中进行可选文件列表的相关配置。

【引用范围】选择“默认”时,使用当前附件从表所选的元数据,在此基础上允许自定义过滤条件。当文件选择范围希望自行选择元数据作为引用文件的数据源,可以选择“自定义”,此时需要额外配置存放附件编码字段的字段,以便后台通过附件表查找实现选择界面的预览和引用文件添加时的字段填充,如下图所示。

【过滤条件】用于对【引用范围】的取数实现业务上的一些过滤要求,可以填写符合SQL语句要求WHERE后的条件语句。例如业务上我们需要选中当前附件从表通过上传添加的文件记录,则可以写入过滤条件“IS_CITED=0”(业务上定义:0本地上传,1引用)

【引用标识】前文章节提到过是用于记录文件的添加方式(上传或引用),从而可以实现一些业务上的过滤,在此可以指定引用标识字段和引用值。本例中我们指定预设的字段IS_CITED,并定义引用值为1(前文文件引用范围过滤时已经用到了这层业务意义)。

在【窗口设置】中支持对引用文件选择界面的弹窗大小和显示位置进行配置:

支持使用【引用范围】所选元数据的参数作为前端界面选择列表的参数栏,例如元数据中将字段“附件名称”设置为参数,支持在【传参设置】中对元数据参数进行重载。

在按钮样式中还可以对按钮文字、图标等样式进行设定。

以上配置好以后的执行效果,如下图所示:

文件选择列表显示过滤以后的可选文件。

目前支持图片、Word、Excel、PDF等部分格式文件的预览。

勾选文件,单击【确认】便可以将文件添加到附件从表中。

引用方式添加到文件列表,如果列表显示引用标识字段就可以区分上传和引用的文件。

表单保存后,在系统附件表sys_attachment中此类引用文件信息,SA_RELATION_ID会记录为附件引用来源附件ID,如下图所示。

(3)执行与显示

目前附件从表仅支持PC端添加附件,移动端填报页面仅支持查看已有的业务数据信息。

PC填报页面:

PC详情页面:

移动端填报页面:

作者:Eric  创建时间:2024-11-20 09:40
最后编辑:Eric  更新时间:2025-04-24 13:55