表单定义
图形化定义表单,包括字段、布局等
自定义表单
在应用软件包中,可以添加表单,用于定义和用户输入的界面。表单可以用表单库、扩展属性等多种场合。
每个表单自定义界面,包含如下子栏目:
各个子栏目作用说明如下:
- 基本信息:表单的名称说明、用途等
- 字段,表单包含的子字段
- 模板:表单如何渲染排版,支持自定义模板(使用标准 html来定义模板,使用 $字段名 来替代输入项)
- 当校验时:校验这个表单使用的脚本
- 当保存时:表单内容保存时触发的脚本
- 当删除时:表单被删除时触发的脚本
- YAML:通过YAML文本来描述这个表单
表单字段
表单字段定义界面如下图:
字段通用属性
所有字段有如下通用基础属性:
自动读写属性包括四个Python表但是:
其中:
- 默认值:在创建新表单时字段默认的值,不同字段,有不同类型的值
-
查看条件:返回Bool,如果为False,禁止查看
- 编辑条件:返回Bool,如果为False,禁止编辑。如果查看和编辑条件都是False,字段不可见
- 校验表达式:检查当前value是否合法,返回错误信息;如果没有错误,返回None。如
value > 100 and ‘采购费用不能大于100’
字段说明
字段名 | 说明 | 特有设置 | 返回值 |
单行文本 |
用于输入只有一行的文本,例如项目名等 |
字符串/str | |
文本框 |
用于输入多行文本,例如详细信息,详细描述,备注等 |
行数、列数 | 字符串/str |
密码 |
用于输入一些机要性的信息,如用户口令 |
字符串/str |
|
整数 |
用于输入整数,例如采购数量等。她和单行文本类似 |
整数/int |
|
多行文字 |
输入多行,每行一个输入项 |
字符列表/[str] |
|
浮点数 |
用于输入小数,例如费用等 |
展示精度位数 |
浮点数/float |
布尔 |
接受逻辑值,真或假,而且只能选择这两个,可以用于描述是否通过审批等 |
布尔值/Bool |
|
日期 |
用于日期的录入,例如文档审批日期,请假日期等 |
是否显示时间、选择直接的分钟跳格 |
日期/datetime |
单选文本 |
从多个可选项中选择一项,根据可选值和门限,可以是Redio,或者下拉 |
|
字符串/str |
选择框 |
用于多项中选择一个或者多个选项,实际展示根据数量,可能是下拉、或者复选框 |
是否多选、门限、可选值 |
字符串列表/[str] |
人员选择 |
主要用于选择系统中的用户,例如项目的人员选择等 |
是否多选,能否选择人员、组、部门 |
人员列表/[pid] |
内容选择 |
从站点选择某个内容,可以是文件、表单、表单库等 |
|
内容列表/[uid] |
公式 |
跟Excel中的公式相似,输入python表达式,计算得实际的值。 |
在默认值中填写公式 | 无(不存放数据) |
动态表格 |
各个字段中最复杂、最强大的字段。简单来说就是表格字段,表格中还可以再添加一个字段 |
支持子字段定义,子字段的表达式可使用如下变量:
|
[{key:value}] |
组合 |
类似动态表格,但是只有一行数据。用于类似坐标数据(分x/y/z几个子项) |
支持子字段定义 | {'key':value} |