弹窗组合模板设计文档
1. 设计背景
Section titled “1. 设计背景”当前页面只能把区块逐个保存和逐个插入。当一个弹窗页面由筛选区、列表区、详情区和操作区等多个区块组成时,重复配置成本较高,也容易漏掉区块之间的布局关系。
本方案增加“组合模板”,允许用户把当前弹窗页面中的多个区块及其布局保存成一个整体,之后在其他页面一次性使用。
组合模板归入现有的“弹窗模板”统一管理,继续使用系统现有的 flowModelTemplates 模板库保存,不新增模板数据表,也不新增独立的设置入口。
2. 方案结论
Section titled “2. 方案结论”2.1 管理入口
Section titled “2.1 管理入口”组合模板不新增独立的 settings 入口,也不在UI模板 的 UI 模板页签中增加新的 Tab,而是放入现有的“弹窗模板”中统一管理。
在“弹窗模板”列表中,组合模板和普通弹窗模板共用列表、查看、编辑和删除操作。组合模板通过名称、说明和内容预览进行识别。
2.2 模板保存位置
Section titled “2.2 模板保存位置”组合模板继续保存到 flowModelTemplates,不新增模板主表。
一个组合模板在模板库中对应一个整体模板记录,模板内容包含多个区块以及这些区块的排列关系。组合模板按“弹窗模板”类型保存,并在现有模板信息中保留“组合模板”标识,由本插件在创建区块时按标识读取组合内容。
模板的具体内容仍由现有 FlowModel 模板机制保存和加载。组合模板需要在现有机制上支持“一次加载多个区块”,不能把多个普通模板名称简单拼接在一起。
3. 功能范围
Section titled “3. 功能范围”3.1 在弹窗页面保存组合模板
Section titled “3.1 在弹窗页面保存组合模板”在弹窗页面的设计状态下,页面右上角增加“组合为模板”按钮。按钮是否显示由“界面配置开关”控制,开关关闭时不显示。
点击按钮后,从右侧打开抽屉,不离开当前页面。抽屉展示当前弹窗页面中的可选区块,例如筛选区、列表区、详情区和操作区。
用户可以:
- 查看区块名称、类型和所在位置;
- 全选或取消选择;
- 查看已选区块的顺序和布局预览;
- 看到数据源、关联字段等可能影响复用的提示;
- 填写模板名称和说明;
- 选择复制或引用方式。
至少选择一个区块后才能保存。系统按照当前页面的顺序保存,不允许保存后自动改变区块位置。
3.2 在弹窗模板中管理
Section titled “3.2 在弹窗模板中管理”进入UI模板 中的 “弹窗模板” 模块即可查看组合模板。组合模板与普通弹窗模板共用现有列表,使用现有列表支持的内容和操作:
- 模板名称;
- 模板说明;
- 数据源和数据表信息;
- 引用数量;
- 查看、编辑和删除操作。
为便于在同一列表中识别组合模板,模板名称或说明中应明确标注“组合模板”。
3.3 创建区块时使用组合模板
Section titled “3.3 创建区块时使用组合模板”在页面、公共弹窗和新增弹窗的“其他区块”中增加“组合模板”入口。该入口只展示组合模板,不替换原版模板入口。
选择器支持:
- 搜索模板;
- 查看模板说明和包含的区块;
- 查看当前页面是否适用;
- 对不可用模板显示原因;
- 选择复制或引用;
- 一次性插入完整组合。
4. 使用方式
Section titled “4. 使用方式”4.1 复制
Section titled “4.1 复制”复制会根据模板生成一套独立区块。之后修改当前页面的区块,不会影响模板或其他页面。
适合临时复用布局,或不同页面需要分别调整的情况。
4.2 引用
Section titled “4.2 引用”引用会让当前页面与模板保持关联。模板调整后,所有引用它的页面都会受到影响。
适合多个页面需要长期保持相同布局,并由专人统一维护的情况。
引用前显示影响说明和当前引用数量。修改、解除引用或删除有引用的模板时,需要二次确认。
5. 操作流程
Section titled “5. 操作流程”5.1 保存模板
Section titled “5.1 保存模板”- 打开弹窗页面的设计状态。
- 确认“界面配置开关”已开启。
- 点击右上角“组合为模板”。
- 在抽屉中选择需要保存的区块。
- 查看布局预览和复用提示。
- 填写名称、说明并选择复制或引用。
- 确认保存。
- 保存成功后,可以在
UI模板的“弹窗模板”模块和创建区块的“组合模板”入口找到该模板。
5.2 插入模板
Section titled “5.2 插入模板”- 在目标页面打开创建区块菜单。
- 进入“组合模板”。
- 搜索并选择模板。
- 查看适用性提示和包含的区块。
- 选择复制或引用。
- 确认后一次性插入全部区块。
5.3 管理模板
Section titled “5.3 管理模板”- 进入
UI模板的“弹窗模板”模块。 - 查看模板列表、区块数量和引用数量。
- 查看或调整模板内容。
- 修改名称、说明或删除模板。
- 删除有引用的模板时,先确认对现有页面的处理方式。
6. 规则与边界
Section titled “6. 规则与边界”- 组合模板保存的是区块结构、布局和配置,不保存业务数据。
- 只能选择当前弹窗页面中的顶层业务区块,空行和空列不作为独立区块保存。
- 一个组合模板可以包含多个区块,也可以包含不同类型的区块。
- 如果区块依赖未选择的区块、数据源或关联字段,系统在保存或插入前明确提示;无法保证正常运行时禁止继续。
- 插入必须作为一个完整操作完成,失败时不能只留下部分区块。
- 原版区块模板和弹窗模板继续使用原有入口和数据,不因新增组合模板改变行为。
- 组合模板与普通模板共用
flowModelTemplates,但必须通过模板类型区分展示和使用范围。 - 首版只支持桌面端弹窗页面,移动端另行评估。
7. 异常提示
Section titled “7. 异常提示”以下情况需要明确提示,并保留用户当前选择:
- 当前页面没有可保存的区块;
- 未选择任何区块;
- 模板名称重复或不符合命名要求;
- 数据源、关联字段或前置能力不可用;
- 模板包含无法安全复用的配置;
- 保存、加载或插入过程中网络失败;
- 删除模板时仍存在引用页面。
8. 显示条件与可用性
Section titled “8. 显示条件与可用性”- 通过“界面配置开关”控制是否显示“组合为模板”按钮;开关开启后,符合页面范围的用户可以看到并使用该功能。
- 没有数据、正在加载或加载失败时,分别显示明确提示。
- 引用和复制必须同时显示文字说明,不能只用颜色区分。
9. 验收标准
Section titled “9. 验收标准”- 在界面配置开关开启时,弹窗设计页面显示“组合为模板”按钮;关闭时不显示。
- 可以选择当前页面的多个区块,并保留原有顺序和布局。
- 保存成功后,模板出现在
UI模板的“弹窗模板”模块中。 - 创建区块时可以从“组合模板”入口找到已保存模板。
- 插入后区块数量、顺序和布局与模板一致。
- 复制模式下,修改实例不会影响模板和其他页面。
- 引用模式下,模板修改能够影响所有有效引用实例。
- 保存或插入失败时,不产生残缺模板或半套区块。
- 原版区块模板和弹窗模板的创建、使用、编辑和删除不受影响。