1. 背景

流程表单设计——配置流程表单界面,都有哪些字段、字段属性(是否必填、是否只读、关联对象)等,可配置字段的自动带出、自动计算、业务关联关系等表单逻辑内容。

本节主要讲解流程中表单组件的常用用法、设置参数。


2.表单组件介绍

流程设置-字段设置-表单设置:即将左侧表单组件拖至中间框内,形成流程字段。

表单组件包括如下:

组件说明
单行文本即单行文本框,设置字段key和名称、长度
多行文本即多行文本框,适用于文本内容较多的情况,设置字段key和名称、长度
日期

设置字段key和名称,对应类型选择日期或时间,如果需要更改格式、在控件属性对应设置时间格式即可

系统通用下拉选择

设置字段key和名称,选择对应参照或者关联对象,关联对象字段类型为整数,存的是id,参照对象对应字段类型为字符串,存的是文本

左树右列表选择器

常规用法: 一般组织和人员都用这个选择器组件。1. 设置字段key和名称,设置关联对象,设置字段类型整数型 2.控件属性中一定要设置tree的权限,因为默认是经理人,但我们选择器使用人可能是人事专员,不设置的话可能配置完点开选择器是空白。

特殊用法:关联其他模型或者自定义的模型、比如关联JobInformation、按照上述配置后,1、此时点击出现:

此时需要在对应元数据里配置:

{
    "tree": {
        "tree_key": {
            "org": "unit_id"
        },
        "model": "Department",
        "params": {
            "extra_property": {
                "role": "cm-org-emp"
            },
            "filter_dict": {
                "org_type": [10, 20]
            }
        }
    }
}

这时组织树才会正常显示。意思是我左侧组织树是按照右侧数据unit_id来进行数据过滤的。

2. 但此时保存下来的依旧是一个JobInformation对象,如果我们想展示内容返回任职的员工姓名或者其他属性

要在hc-tree-list-selector组件options下继续加入  "individual_name": "=function(v){return v.employee.name}",

即返回的展示内容就是调动任职的员工姓名

数据库里面实际保存下来的是任职JobInformation下的id。

这种用法很广泛、比如我们的多任职终止、就需要选择任职进行终止,实际显示的就是调动人终止前单位,保存的是终止这条任职的id进行业务生效。

以上这些特殊设置都别忘记单独要建立state场景,即在extra_property里面配{"state":"xxxx"}

表格(即流程子表)设置子模型key、子模型名称,点击设置子模型字段,与上述设置方式相同
附件设置字段key和名称、长度,类型选择附件

评分

设置字段key和名称

签名

设置字段key和名称
关联流程设置字段key和名称,字段类型选择关联流程,实际场景参考主子流程配置05 主流程发起子流程配置
关联报表配置方式参看wiki:12.流程字段跳转链接配置
系统链接配置方式参看wiki: 12.流程字段跳转链接配置

3.公共基本属性介绍

组件属性介绍
字段key  

1.表单组件的唯一标识,本流程业务字段key保持唯一不重复。2. 命名要规范,不要小于4个字母

3. 如果是关联对象、一般要以_id结尾。例如配置部门,key一般设置department_id(关联对象默认会去掉后三个字母变成对象,会把department_id:123变成department:{'name':'人力资源部'},为了让key不重复,请设置长些大于4个字母、然后以_id结尾)

字段名称   字段的名称、按照业务实际含义自定义即可
字段类型

1.一般和组件类型相对应 2.通常如果是文本组件类型,一般选文本。如果组件是选择器的,且是关联对象的一般选整数

如果多选的组件,类型选多选。附件类型选附件。如果日期组件则选日期。关联报表选关联报表等等。

关联对象

一般选择器类型组件需要设置关联对象或者参照对象。比如性别字段,是个选择项,关联性别代码项(男和女)

如果流程表单这个字段结果想存男或者女的代码项id、那么就设置关联对象:common_basic_item_data.性别

如果流程表单这个字段结果想存男或者女的名称,那么就设置参照对象:common_basic_item_data.性别

常见的关联:单位:OrgDepartment、部门:OrgDepartment、岗位:OrgPosition、人员:Employee,其他模型关联则选择对应Model

参照对象同上描述
字段长度按照实际字段情况设置即可
字段精度一般浮点数类型会设置精度,按实际需求设置即可
关联表角色待更新、一般不常用、不设置即可
是否List台账list层界面是否展示,也可在对应层点击元数据设置,进行可视化配置
是否info详情界面info层是否展示,也可在对应层点击元数据设置,进行可视化配置
是否模糊搜索list层界面此字段是否支持模糊搜索,一般调动人这些重要信息要设置支持模糊搜索
是否必录填写流程表单,此字段是否必填,也可以在info层点击元数据,进行可视化配置
是否多选只有字段类型是多选字段的这个属性才☑️、其他字段请填否或者不设置即可
是否业务主键设置成业务主键,即list数据此字段值唯一
参与过滤待更新、一般不常用、不设置即可
参与排序待更新、一般不常用、不设置即可
参与统计待更新、一般不常用、不设置即可
参与分组待更新、一般不常用、不设置即可
顺序字段排序,一般不在这里设置,用元数据可视化配置更方便些

如果没有关联码表或者模型,只是需要简单的固定的选项,此时配置Mask,即不再需要关联和参照码表。配置规则为

[{'key':0,'name':'未提交'},{'key':1,'name':'未提交'}]


4.公共控件属性介绍

组织属性

介绍

指的是字段名称和框是否单行显示

是否只读该字段是否只读状态,一般用元数据可视化配置更方便
宽度一行总共col-12,按照设置长度对该行可控制能放几个字段。如果字段都设置col-4,则一行可以放12除以4等于3个字段
是否隐藏true隐藏、false显示,用元数据一般可视化配置更方便
默认值填入默认值,也可以在form_relations中设置default来实现。详细见13 form_relations讲解
字段提示placeholder。默认还未填信息的时候,显示什么提示信息
后端的open_service待更新、一般不常用、不设置即可
1.模型过滤参数,一般关联对象时,会对模型里面内容进行二次过滤选择 2.比如我关联人员Employee,我选人时候只选择Employee表name是张三的人,即配置{"name":"张三"}、但是要注意filter_dict一定是结合自定义场景state,不要直接配置filter_dict会将标准场景污染
extra_property一般传场景{'state':'xxxx'}即选择器读到场景下的参数


4.各组件最简单的配置示例

这里只讲这些组件在流程中最简单的配置方法、更多复杂的属性设置可以直接搜索组件名称、然后在元数据设置里面对应配置更复杂属性.

例如多行文本组件 hc-text-area

wiki搜索:hc-text-area参数说明中查看更多用法


对应环境示例地址:https://inspur6.hcmcloud.cn/#/   业务ID: 14734

5.流程表单字段根据业务关联关系自动带出

流程发起界面,常常需要表单中默认带出相关信息,比如员工自助转正流程,要带出转正人的基本信息、单位部门组织信息等,就需要用到form_relations。它主要是用来处理表单字段值联动以及字段默认值。

参照wiki050204.form_relations讲解

6.根据表单另一个字段的值,隐藏/必填/只读本字段

流程表单界面,一个字段通常需要根据另一个字段的值,自动隐藏/必填/只读本字段,例如休假流程,想要控制当选择休假地点类型为市内时,具体休假地点非必填,当地点类型选择市外时,休假地点必填;或者是入职流程,当用工类型为实习生时,职级字段非必填,其他类型职级字段必填等,这种就是根据另一个字段的值来判断当前字段的属性。

通常的写法是在info界面,对应的字段fields中配置:

"hide": "=function(){return FORM().data.xxx=='市内'?false:true}"

"readOnly": "=function(){return FORM().data.xxx=='市内'?false:true}"

"required": "=function(){return FORM().data.xxx=='市内'?false:true}"

其中,FORM().data.xxx即为要获取的当前表单要判断的key。

如果存在多个判断条件,可参照写法:  

 "hide": "=function(){return FORM().data.salary_month && FORM().data.unit_id && FORM().data.salary_program_id?false:true}", 

 用&&隔开,则为并且的关系,若是或者的关系,可用||隔开

             

  • 无标签