表单巡回

Frappe 提供了一种简单的方法,只需很少的配置,就能为你的复杂 DocType 生成表单教程。

创建表单教程

要创建表单教程,请在 Awesomebar 中输入“new form tour”并按回车键。

  1. 输入标题。例如:“创建自定义字段”
  2. 选择参考 DocType。
  3. 添加步骤以定义每个字段。
  4. 保存文档。

一个用于解释如何创建自定义字段的教程

配置选项

表单教程

  1. 是否标准:用于创建将存储为 JSON 的标准表单教程。只能在开发者模式开启时设置。
  2. 完成时保存:如果勾选,表单教程的最后一步将提示用户保存文档。
  3. 显示首个文档教程:如果你想展示现有文档的教程而不是新表单的教程,请启用此选项。顾名思义,它会针对该 DocType 创建的第一个文档进行教程演示。
  4. 包含名称字段:对于某些 DocType,名称由用户设置。启用此选项后,名称字段将成为教程的第一步。

表单教程步骤

  1. 字段:从所选 DocType 中选择一个字段。该字段将高亮显示,并带有标题和描述。
  2. 标题描述:用于描述该字段的用途、影响以及其他隐藏的关联逻辑。
  3. 位置:高亮提示框的位置由该字段决定。根据高亮字段的位置,有多个选项可供选择。
  4. 下一步条件:一个代码字段,期望输入适用于该文档的有效 JS 条件。例如,对于任务 DocType 教程,我们可以通过设置如下下一步条件,来检查在进入下一步之前是否已设置任务优先级:

eval: doc.priority != ""
5. 是否为表字段:如果要高亮的字段位于子表内,请勾选此项。
6. 父字段:从所选 DocType 中选择的表字段。仅在勾选 是否为表字段 时可见。允许用户选择子表字段。

触发教程

完成表单及其字段的描述后,你现在就可以通过表单 API 来触发教程了。你只需使用适当的 tour_name 初始化教程,然后使用 frm.tour.start() 直接启动教程即可。

frappe.ui.form.on('Your DocType', {
    onload: function(frm) {
        const tour_name = 'Your Form Tour Name';
        frm.tour.init({ tour_name }).then(() => frm.tour.start());
    }
});