Skip to content

表单运行时 ★ ​

一句话:发布后的表单真正干活的地方——查询区、列表、新增/编辑/详情弹窗、导入导出、行内编辑、打印全都由 表单设计器 里的配置生成,不需要写一行代码;本页讲清每个区域怎么用、哪些提示在说什么。

功能在哪 ​

  • 菜单是发布时自动创建的:表单首次发布后,会在你选的上级菜单下生成一个运行时菜单(图标、名称都来自表单配置),例如「在线示例 → 销售订单示例」;
  • 地址栏路由:/infra/form-demo/form-design-run/{表单编码}(菜单挂在哪由发布时选的上级菜单决定,路由尾段永远是表单编码);
  • 也可以直接用 URL 预览任意已发布表单:/infra/online/render?code={表单编码};
  • 需要的权限:infra:form-design-run:{表单编码}:query / create / update / delete / export / import(首次发布时自动创建的 7 个按钮权限,见 表单设计)。

打开后提示「表单不存在或尚未发布」

说明编码写错了,或这张表单还是草稿/已下线。运行时只认已发布的配置。

界面认识 ​

以「销售订单示例」为例,整页从上到下是:查询区 → 工具栏 → 列表 → 分页。

表单运行时列表:查询区(可展开)、工具栏、带合计的列表、行内 编辑/详情/打印/更多(租户管理员视角)

区域内容
查询区由「查询条件」页签生成。占位符按控件类型自动给:文本「请输入{标签}」、下拉「请选择{标签}」、日期区间「开始日期 / 结束日期」、数字区间「最小值 / 最大值」、开关「筛选为空的记录」;查询项多时右侧出现「展开(N) / 收起」
标签页由「标签页筛选」生成,最前面自动加一个「全部」;切标签等价于追加一个查询条件
左侧树由「左侧树查询区」生成,点节点按对应字段筛选(节点可来自字典或该列的去重值,最多 500 个)
工具栏由「按钮设置」生成:新增 / 导入 / 导出 / 批量删除 / 批量打印 / 打印列表;右侧可能有列设置齿轮
列表列序、宽度、冻结、格式化都来自「列配置」。空格子显示「-」,布尔显示「是 / 否」;开了合计行时表尾多一行「合计」;开了行分组时每组前插一行「▸ 组名(N 条)」并可折叠
行内按钮编辑 / 详情 / 变更记录 / 打印 / 删除,超过折叠阈值(默认 3)的部分收进「更多」下拉

左侧树筛选:点树节点按字段过滤列表(租户管理员视角)

标签页筛选:全部/待办/进行中/已完成,切标签等价于追加查询条件(租户管理员视角)

常用操作 ​

新增 / 编辑 ​

点「新增」或行内「编辑」,按「表单呈现方式」的配置以居中弹窗(宽 900)、右侧抽屉(宽 720)或页内显示三种形态之一打开,标题为「新增{表单名} / 编辑{表单名}」。

新增弹窗:主表字段 + 订单明细子表 + 单号只读自动生成(租户管理员视角)

  • 按钮:表单+列表类型为「确 定 / 取 消」(详情态为「关 闭」,配了打印模板时多一个「打印」);纯表单为「提 交 / 重 置」;
  • 成功提示:新增「新增成功」、编辑「修改成功」、纯表单「提交成功」、行内编辑「保存成功」;
  • 子表(明细):行尾可「复制本行」;明细里必填没填会点名提示「明细第 {行} 的「{字段}」是必填的」;行数受配置区间限制,系统上限 1000 行;
  • 单据编号控件是只读的:打开时显示「正在获取单号…」,取到号直接展示,没取到显示「保存后自动生成」。号在打开时预占(30 分钟有效),放弃填写不会提示浪费了一个号——这是设计如此。

详情与变更记录 ​

行内「详情」打开只读态,配了「详情页页签」时顶部会出现页签头:表单永远是第一个页签,其后是配置好的「变更记录」「关联数据」。

详情弹窗:表单 + 变更记录页签,明细只读展示(租户管理员视角)

  • 变更记录:需要这张表单在数据绑定里开了「记录变更日志」,否则页签是空的;
  • 关联数据:按「关联字段 = 本记录主键」去查目标表单的数据,权限也按目标表单算——没有目标表单的查询权限时页签是空的,这是对的。

行内编辑 ​

列表开了「行内编辑」时,点「编辑」不再弹窗,而是把这一行就地变成可编辑控件,行尾出现「保存 / 取消」,每行单独保存——适合「一屏改一批价格」这类场景。图片、附件、超链接列不支持行内编辑。

删除 ​

  • 行内「删除」走全站统一确认框;
  • 勾选多行后「批量删除」的确认原文:「确认删除选中的 {N} 条数据吗?」;
  • 一次最多删除的条数有上限,超出提示「一次最多删除 {N} 条数据,请分批操作」。

导入(三步向导) ​

工具栏「导入」打开「导入数据 — {表单名}」向导,三步:上传文件 → 检查数据 → 导入结果。

导入向导第一步:拖文件上传、下载导入模板、按列名匹配不按位置(租户管理员视角)

  • 第一步:后缀 .xls / .xlsx,最多 5000 行 / 10MB;表头请用字段名——顺序可以打乱,按列名匹配、不按位置;「下载导入模板」的模板按当前表单字段生成,字典列带下拉;
  • 第二步「检查数据」:逐行预检,全对才导——有任何一行有问题就不能进下一步;文件里已存在的记录按「已存在策略」处理:跳过(默认)/ 覆盖 / 都新增;
  • 第三步「导入结果」:原文格式「新增 X 条,更新 X 条,跳过 X 条,失败 X 条」。

导入报错都写得能照着改

例如「一次最多导入 {N} 行,当前文件有 {M} 行。请拆分后分次导入」「「{列}」在表绑定里不是子表控件,无法承载明细数据」。照着提示改文件即可,不需要找管理员。

导出 ​

工具栏「导出」打开「导出数据」对话框:范围选「当前页 / 全部」,可勾「导出合计行」。

导出对话框:范围当前页/全部 + 是否导出合计行(租户管理员视角)

  • 导出上限来自「列配置」(默认 2 万行):超出部分不会被静默丢掉,文件名上会标出「前 N 条」;
  • 导出内容可选「按文本」或「按格式化后的值」;超链接/图片/附件三类刻意不跟随列表显示格式。

打印与列设置 ​

  • 配了打印模板的表单,行内有「打印」、工具栏有「批量打印」(需先勾选行)与「打印列表」;
  • 开了「列设置」时,工具栏右侧有齿轮:使用者可自行隐藏列、拖列序、改列宽,并可「恢复默认」。界面上已写明:「设置只存在这台机器的这个浏览器里,换浏览器需要重新调整。」

视角对照:权限是怎么生效的 ​

视角表现
有全部按钮权限工具栏与行内按钮全显示
缺某个按钮权限对应按钮不画出来;直接调接口则返回 403,提示原文:「表单数据操作失败:没有权限:infra:form-design-run:{编码}:{动作}」
被行级权限限制列表只看得见授权范围内的行;写后落域校验会拦住「保存后这条数据会落到你权限范围之外」的提交,提示:「保存失败:这条数据提交后会落到你的数据权限范围之外。⚠️ 常见原因是把归属部门/负责人改成了你看不到的值 —— 那样这条记录会立刻从你的列表里消失,且你再也改不回来,所以这里直接拦住」
被字段裁剪限制无查看权限的字段在下发前就被裁掉,界面上看不到值;脱敏字段显示遮掩后的值(如 138****8000)

进阶 ​

  • 并发保护:表单开了乐观锁时,两人同时编辑同一条记录,后提交的人会看到「这条数据在你编辑期间已被他人修改……请刷新后在最新数据上重新修改」;没开乐观锁的表单则是后保存的静默覆盖先保存的;
  • 合计与分组的口径:合计行、分组行的「(N 条)」、组内小计都只算当前页,不是全表;
  • 查询操作符由配置限定:文本框给「包含/等于/区间/为空…」,日期区间只给「区间」,开关只给「等于/不等于」——界面上看不到不允许的选项;
  • 明细与主表同事务:主子表一次提交在一个事务里落库,任何一行失败整体回滚,不会出现「主表存了、明细没存」。

常见问题 ​

Q:列表上某个按钮别人有我没有? A:按钮按权限画。找管理员在「角色授权」里勾上这张表单对应的按钮权限(查询/新增/修改/删除/导出/导入/被引用)。

Q:查询区某个下拉是空的? A:该查询项配了「下拉选择」但没配字典类型时会退化成文本框;配了字典但字典被停用/懒加载时选项为空。回 表单设计器 的「查询条件」页签修正。

Q:导入时提示某行有问题,但我觉得没问题? A:第二步「检查数据」会把每一行的问题列出来(必填缺失、字典值不存在、日期格式不对、唯一性冲突等)。导入是「全对才导」,改完文件重新上传即可。

Q:为什么我改的列宽/隐藏列别人看不到? A:列设置只存在你自己的浏览器里,不影响别人,也不影响设计器里配的默认样子。

Q:详情页为什么没有「变更记录」页签? A:要么这张表单没开「记录变更日志」,要么没在「详情页页签」里配变更记录页签。两者都在设计器里配。

相关页面 ​