# 搭建计划模板（按依赖与功能批次执行）

使用本模板生成项目 `plan.md` 时，先读[规划能力地图](map.md)识别资源、配置和依赖；需要明确具体规则或能力边界时读对应专题指南，再填写实际涉及的条目。执行某项前仍须读取该项指南。

规划阶段全部保持 `[ ]`。第一阶段先完成全部表单的字段、明细和布局，再以**功能项为外层、所有适用表单/视图为内层**组织配置：例如先完成所有表单的关联浏览数据范围，再处理所有表单的公式；视图也按显示列、搜索、排序等功能逐批覆盖。每进入一个功能项先读对应指南，确认方法、参数和边界；同一连续批次已读过的无需重复读取。每个对象及独立规则分别列项、核对、回填和销号；暂不能完成的保留 `[ ]` 并注明原因、已完成部分及所需条件，继续处理其他项目，不因步骤繁琐而省略。整个功能批次的覆盖对象处理完后进入下一批次，真实依赖优先于批次顺序。每段完成后停下让用户确认，确认后进入下一段。仅单步修改或查询不套用三段流程。

## plan.md 参考骨架

复制本节到项目工作区的 `plan.md`，只保留需求涉及的资源和功能；每条业务要求都有明确归属、来源、依赖和可观察结果。同类功能可连续执行，但不能把多条独立要求合成一个销号项。

```md
## 搭建计划

> `[ ]` 为未完成；写入且按该项风险完成必要核验后，才改 `[x]` 并填写真实 ID 或结果。尚待后续资源的项保留 `[ ]` 并写明依赖。
> 来源可用需求文档章节、表格或图片标题。已有资源先只读盘点，记明复用/修改/新建及实际 ID。

### 0. 环境与范围
- 目标环境/profile：<名称与地址>；所属机构：<名称/ID>；主应用：<名称/ID>
- 跨应用资源与范围：<无/资源及归属>
- 待业务确认：<歧义及其影响；无则“无”>
- 待环境核查：<资源或环境行为；无则“无”>

### 1. 资源清单与依赖

| 资源 | 决策与归属 | 来源及用途 | 前置依赖 | 实际 ID/结果 |
|---|---|---|---|---|
| 应用 <名称> | 新建/复用；机构 <名称> | <来源> | 环境 | 待回填 appId |
| 角色 <名称> | 新建/复用 | <来源、成员类型与范围> | 机构 | 待回填 roleId |
| 矩阵 <名称> | 新建/复用 | <来源、条件列/值列/行数据> | 机构、人员/部门 | 待回填 matrixId |
| 表单 <名称> | EB/虚拟/原生流程表单；新建/复用；应用 <名称> | <来源、用途> | 应用、数据源 | 待回填 objId/formId |
| 视图 <名称> | 默认台账改名/复用/新增；PC/MOBILE | <来源、用途> | 所属表单 | 待回填 listId/viewId |
| 流程 <名称> | EB/原生；普通/公文；固定/自由；新建/复用 | <来源、业务流转> | 表单、角色/矩阵 | 待回填 workflowId |
| 权责表 <名称> | 随流程新建/独立复用 | <来源、分支场景> | 流程/变量 | 待回填 authRespId |
| 报表/数据集 <名称> | 新建/复用 | <来源、统计目标> | 来源字段 | 待回填 ID |
| 菜单/页面 <名称> | 新建/复用 | <来源、入口及目标> | 视图/流程/页面 | 待回填 ID |

> 角色和矩阵先用 `role list`、`matrix list` 只读盘点同名资源及归属、成员或数据行，记录候选 ID，并与用户逐项确认复用还是新建。复用但需补成员或数据行的，在对应功能批次单独列项；没有矩阵需求则不创建。

#### 1.1 表单字段与布局蓝图（每张表单各一份）

##### 表单：<名称>；资源决策：<新建/复用>；objId/formId：<待回填>；来源：<章节>
- 布局：FLOW/EXCEL；已有表单改造时记录现有布局及保留要求。
- 字段清单：逐字段写主表/明细表、名称、componentKey、选项、默认值、长度/精度、关联目标、公式及明确的必填/只读/隐藏/独占一行/分组。字段名含中英文时分别记录。
- 明细表：<名称、字段、层级>；二级明细逐条记录父明细→子明细、父子行标识及默认展开要求。
- 虚拟表：<来源类别与资源ID、稳定主键、来源字段→展示类型映射>。
- 关联依赖：<字段→目标表/流程及 ID 待回填位置>。
- 布局样表来源：<章节/图片/表格；无则“未提供，使用约定布局”>。

| 行 | 类型 | 左侧单元 | 右侧单元 | 跨列/占位 | 原文属性与说明 |
|---|---|---|---|---|---|
| 1 | 标题 | <标题> | — | 跨全部列 | <来源> |
| 2 | 字段 | <标签>→[字段] | <标签>→[字段] | <同排/留空> | <必填/只读等> |
| 3 | 分组 | <分组名> | — | 跨全部列 | <顺序> |

> 样表有标题、分组、空白、字段同排或跨列时逐行保留，并与字段清单互相核对。缺少的合并范围标待确认。建新表时按蓝图准备 fields.json，按所选布局创建并初始化；公式、联动、校验等后续配置在功能批次单列。

#### 1.2 视图与流程设计依据
- 每张视图：所属表单、默认/新增、视图类型、终端、名称、数据范围及需要的显示列/交互要求。
- 每个流程：表单来源、节点、操作者及签署方式、全部连线、默认出口、逐条条件、节点显示属性和动作流落点。普通流程和权责表流程分别按对应指南列出；权责表逐场景写说明、条件、经过节点及顺序，独立复用时写变量→主/明细字段映射。

### 2. 第一阶段：应用、表单与视图

#### 2.1 资源与字段布局批次
- [ ] 应用 <名称> | 新建/复用 | appId：待回填 | 核验：<名称与归属>
- [ ] 角色 <名称> | roleId：待回填 | 核验：<角色及成员；成员可另列项>
- [ ] 表单 <名称> 的字段、明细及布局 | objId/formId：待回填 | 来源：1.1 <名称> | 核验：字段、布局及默认台账
- [ ] 表单 <名称> 的字段、明细及布局 | objId/formId：待回填 | 来源：1.1 <名称> | 核验：字段、布局及默认台账

> 先按跨表引用关系建立必要的表单骨架，再补关联目标；不为了凑齐所有表单而破坏实际依赖。新建 EB 表单尽量用 `form create --fields` 一次写入字段与布局属性。依赖流程 ID 的关联字段记录占位，流程建成后回填。

#### 2.2 表单级功能批次（一个功能项覆盖全部相关表单）

> 写实际 plan 时，按 `##### 功能批次：<功能名>｜覆盖表单：<A、B、...>` 分组；组内为每张表单的每条规则分别列 `[ ]`。例如“关联浏览数据范围”涉及客户表、合同表，就在同一批次下列两条，逐条配置并销号，再进入“字段公式”等下一批次。下列每行是应按需求展开的功能项示例，不代表只配置一张表单。

##### 功能批次：关联浏览数据范围｜覆盖表单：<客户表、合同表>
- [ ] 客户表 / 关联客户字段 | 条件：<规则> | 核验：可选记录
- [ ] 合同表 / 关联项目字段 | 条件：<规则> | 核验：可选记录

##### 功能批次：<从下列功能项选择一类>｜覆盖表单：<逐一列出>

> 按需求复制此标题，每个标题只放同一功能的待办项，并把覆盖表单逐一展开；下列条目是可选的填写样式。
- [ ] 关联字段及目标绑定 | 表单/字段：<名称> | 目标：<资源/ID> | 核验：选择范围
- [ ] 关联浏览显示列 | 表单/字段：<名称> | 列：<字段及顺序> | 核验：弹窗显示
- [ ] 二级明细关系 | 父表/子表：<名称> | 行标识：<字段> | 核验：逐父行归属
- [ ] 字段多语言 | 表单/字段：<名称> | 中文/英文：<名称> | 核验：两种名称
- [ ] 字段公式 | 表单/目标字段：<名称> | 表达式：<公式> | 核验：读回与样例值
- [ ] 字段带出或函数联动 | 表单/规则：<名称> | 触发/来源/目标/表达式：<内容> | 核验：触发结果
- [ ] 属性显隐联动 | 表单/规则：<名称> | 条件/目标/状态：<内容> | 核验：条件切换
- [ ] 查重校验 | 表单/字段：<名称> | 行为：<提示/阻断> | 核验：重复样例
- [ ] 编号规则 | 表单/字段：<名称> | 组成与位数：<内容> | 核验：生成值
- [ ] 表单权限 | 表单/主体：<名称> | 新建/查看/编辑/删除范围：<内容> | 核验：授权结果
- [ ] 表单页按钮 | 表单/页面/位置：<名称> | 目标与字段映射：<内容> | 核验：点击结果

> 每个功能批次先核对覆盖表单清单，再逐表配置；同一表单有多条独立规则时继续拆行。建表时已配置并核验的分组、必填、只读、默认值等写在 2.1 的表单项结果中，不重复执行。

#### 2.3 视图资源批次
- [ ] 默认台账 <原名> 复用/改名为 <目标名> | 表单：<名称> | listId：待回填 | 核验：名称与类型
- [ ] 新增视图 <名称> | 表单：<名称> | 类型/终端：<内容> | listId/viewId：待回填 | 核验：可打开且已填充

#### 2.4 视图功能批次（一个功能项覆盖全部相关视图）

> 沿用 2.2 的结构：`##### 功能批次：<功能名>｜覆盖视图：<视图A、视图B、...>`。例如“显示列”先列全部需配置的 PC/MOBILE 视图，每张视图及终端单独列项并完成；再处理搜索、排序等下一批次。以下为需要按需求展开的功能项示例。
- [ ] 显示列 | 视图/终端：<名称/PC或MOBILE> | 字段/顺序/宽度：<内容> | 核验：列表显示
- [ ] 列格式或单位 | 视图/字段：<名称> | 格式/单位：<内容> | 核验：展示值
- [ ] 搜索与排序 | 视图：<名称> | 字段、入口与优先级：<内容> | 核验：查询及顺序
- [ ] 筛选与顶部统计 | 视图：<名称> | 条件/函数：<内容> | 核验：记录及统计值
- [ ] 普通分组或上下级 | 视图：<名称> | 分组/父级字段：<内容> | 核验：分组或层级
- [ ] 视图权限 | 视图/主体：<名称> | 查看/操作范围：<内容> | 核验：权限读回
- [ ] 行上或右上按钮 | 视图/位置：<名称> | 目标/当前行过滤/预填：<内容> | 核验：点击结果
- [ ] 行点击或字段点击 | 视图/字段：<名称> | 打开目标和方式：<内容> | 核验：点击结果
- [ ] 关联页签 | 表单/页签/目标视图：<名称> | 权限/布局/终端/筛选映射：<内容> | 核验：相关数据

> 搜索、排序、筛选和统计若各有独立业务要求，分别建立功能批次和待办项。依赖第二阶段流程 ID 的按钮、流程关联字段等保留 `[ ]` 并注明依赖，在第二阶段回填后销号。第一阶段完成后请用户确认，再进入第二阶段。

### 3. 第二阶段：流程与自动化

#### 3.1 矩阵、权责表及流程资源
- [ ] 矩阵 <名称> | 条件列/值列/行×列数据：<内容> | matrixId：待回填 | 核验：列、行和值
- [ ] 流程 <名称> | EB/原生/公文，固定/自由，表单来源：<内容> | workflowId：待回填 | 核验：绑定表单
- [ ] 本流程全部节点 | 节点名称、类型及顺序：<内容> | 核验：节点 ID 与清单一致
- [ ] 本流程全部连线 | 源节点→目标节点、连线名称及默认出口：<内容> | 核验：完整拓扑
- [ ] 本流程出口条件 <源节点→目标节点> | 字段来源、操作、值、AND/OR、明细量词：<内容> | 每条条件复制一项；核验：分支路由
- [ ] 本流程节点操作者 <节点名> | 角色/矩阵/字段等来源及签署方式：<内容> | 每个节点复制一项；核验：人员范围
- [ ] 本流程结构排版与核对 | 节点、连线、默认出口、条件及操作者：<内容> | 核验：流程图及配置读回
- [ ] 权责表 <名称> | 随流程新建/独立复用 | authRespId：待回填 | 核验：场景与节点路径

> 每个流程各复制一组“流程→节点→连线→条件→操作者→结构核对”，逐条流程完成核心流转；独立条件和操作者仍分别列项、分别销号。权责表流程的分支与经过节点按权责表指南在本流程下展开。实际配置按依赖进行，后续若有完整配置命令，可由同一组计划条目核对结果。

#### 3.2 流程附加设置与功能批次
- [ ] 节点字段权限或布局 | 流程/节点：<名称> | 字段/显示状态：<内容> | 核验：节点页面
- [ ] 节点校验、退回、超时、菜单或其他行为 | 流程/节点：<名称> | 逐项写明：<内容> | 核验：配置读回
- [ ] 流程编号、标题、提醒或流程级设置 | 流程：<名称> | 逐项写明：<内容> | 核验：配置读回
- [ ] 公文专属设置 | 流程：<名称> | 按实际需求列出：<内容> | 核验：对应设置读回
- [ ] 权责表场景/变量映射 | 权责表：<名称> | 场景条件、路径或变量→字段：<内容> | 核验：路径与映射
- [ ] 动作流/节点字段赋值 | 触发流程/节点：<名称> | 目标、字段映射及定位：<内容> | 核验：绑定与结果
- [ ] 回填第一阶段的流程依赖 | 表单字段/视图按钮：<名称> | workflowId/formId：<实际值> | 核验：选择或打开结果

> 核心流转按 3.1 逐流程完成；本节的附加设置可按功能批次处理，但每条独立规则或动作流仍分别列项。第二阶段完成后请用户确认，再进入第三阶段。

### 4. 第三阶段：报表、菜单与页面
- [ ] 报表数据集 <名称> | 来源、字段、关联：<内容> | datasetId：待回填 | 核验：数据集字段
- [ ] 报表 <名称> | 布局、查询及共享：<内容> | reportId：待回填 | 核验：展示与授权
- [ ] 菜单 <名称> | 层级、目标资源及权限：<内容> | menuId：待回填 | 核验：入口与可见范围
- [ ] 配置式或定制页面 <名称> | 终端、组件/交互、绑定资源：<内容> | pageId：待回填 | 核验：页面加载与业务结果

### 5. 待确认、需补充及无法实现
| 来源与原需求 | 状态 | 原因或缺失信息 | 影响与后续处理 |
|---|---|---|---|
| <章节及要求> | 待业务确认/待环境核查/需其他方式补充/已确认无法实现 | <内容> | <内容> |

> 已确认无法实现的原需求项保持 `[ ]`，不得以替代配置冒充完成；在此说明原因和影响，交由用户决定。其他状态继续保留相应待办与依赖。

### 6. 阶段验收与交付资源
- 第一阶段：全部应建表单的字段、明细、布局和默认台账已核对；表单级与视图级需求逐项销号，后续流程依赖已标注。
- 第二阶段：流程结构、关键条件、操作者及动作流已核对；第一阶段的流程依赖项已回填。
- 第三阶段：报表、菜单和页面入口已核对；交付时列出应用→表单→视图、流程、矩阵、报表、页面的真实 ID 与未完成项。
```

## 使用边界

- 资源清单负责保存“建什么、复用什么、谁依赖谁”，功能批次负责“具体配置什么”；两处用资源名称或实际 ID 对应，不重复创建同一资源。
- 字段和布局蓝图仍逐表保存，防止按功能批次执行时遗失字段顺序、分组和表格空间结构。
- 功能批次只规定同类操作的优先处理顺序。出现跨表循环、流程 ID、目标页面等依赖时，按真实依赖先建立资源，再回到相应条目完成配置。
- 最小核验与业务风险相称；仅在用户要求时进行实际环境测试。计划销号仍以配置完成及必要的结果核对为准。
