mirror of
https://github.com/kuaifan/dootask.git
synced 2026-08-01 02:45:58 +00:00
60 lines
2.6 KiB
Markdown
60 lines
2.6 KiB
Markdown
---
|
||
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 行;后续审批人查看时反序列化展示
|
||
|
||
## 不支持
|
||
- 不支持字段联动 / 公式 / 条件分支
|
||
- 不支持表单级权限(不能按角色显示不同字段)
|
||
- 不支持跨流程模板字段复用
|