60 lines
2.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
id: approve.form.concept
title: 审批表单字段
type: concept
feature: approve
scope: admin
locale: zh
aliases:
- 审批表单
- 表单字段
- 表单设计
- 自定义字段
- 申请单字段
- 表单组件有哪些
- 申请类型字段
related_tools: []
related_pages: [application]
prerequisites:
- 当前用户是系统管理员
- 在流程模板编辑器中
negative:
- 当前版本不支持公式字段(如「时长 = 结束时间 - 开始时间」自动算)
- 不支持联动字段A 字段值变化时显示/隐藏 B 字段)
- 不支持把表单字段值用作下一节点审批人路由依据(无条件分支)
- 表单字段一旦发布后改动,已提交的旧实例展示按当时快照不回填
last_verified: v1.7.90
---
# 审批表单字段
## 定义
审批表单是发起人填写的申请单结构,由若干**字段组件**拼成。管理员在流程模板编辑器iframe 内)拖拽这些组件即可设计表单。表单值随流程实例一起存到插件库的 `var` 字段JSON并随状态变化贯穿始终。
## 内置字段组件
- **单行文本**:限长字符串,如「申请人姓名」「合同编号」
- **多行文本**:长描述,如「请假事由」「报销说明」
- **数字**:整数 / 小数,如「报销金额」
- **日期 / 日期时间**:年-月-日 或精确到分钟,常用于开始/结束时间
- **单选 / 多选 / 下拉**:固定选项集,如「假期类型」可枚举「年假/事假/病假/调休/产假/陪产假/婚假/丧假/哺乳假/产检假/其他」
- **附件 / 图片**:上传文件,前端控件复用主程序 `ImgUpload`;图片限制宽高与张数(默认上限 3 张、2048×2048
- **明细 / 子表**:一对多结构,如报销单的多行费用明细
- **金额 / 时长**:业务语义字段(基于数字字段封装)
## 必填、提示、默认值
- 每个字段可配置 `required`(必填)、占位提示、默认值
- 必填项校验在发起页前端拦截;提交到主程序 `process__start` 再做二次校验
## 与流程节点的关系
- 表单字段是"装数据的",节点是"管流转的",两者解耦
- 节点拿不到 form 字段做路由决策(不支持条件分支)
## 数据存储
- 表单值在主程序前端组成 `var` JSON 后随 `proc_name + department_id` 一起调 `approve/process/start`
- 插件把 `var` 整体存进 proc inst 行;后续审批人查看时反序列化展示
## 不支持
- 不支持字段联动 / 公式 / 条件分支
- 不支持表单级权限(不能按角色显示不同字段)
- 不支持跨流程模板字段复用