# Bucket G — 表单设计器小功能

**优先级**：P1-P2 混合
**估时**：3 天（视取舍）

## 范围

### G1. 表单复制（#3 / M15，P2）
- 表单定义页加"复制"操作 → 弹窗输入新 key/name → 后端复制 schema/uiSchema/processKey 等

### G2. "保存并关闭"按钮（#11 / M13，P2）
- 设计器目前只有"保存"，加"保存并关闭" → 保存后 router.push 返回列表

### G3. 条件显示（#47 / M8，P1）
当前 schema 没有条件显示语义。要做需要：
- schema 扩展 `x-show: { field: 'amount', op: '>', value: 1000 }`
- FormFieldRenderer 支持条件求值（依赖其他字段当前值，运行时 reactive）
- 设计器属性面板加"显示条件"配置 UI

**风险**：是 schema 变更，会影响所有现有表单的兼容性。需要小心设计。

### G4. 计算字段（#48 / M17，P2）
- schema 扩展 `x-formula: '{a} + {b}'` 或更结构化的 expression
- 渲染器读公式 + reactive 计算
- 类似 G3，schema 级变更

### G5. 流程模拟（#64 / M18，P2）
- 设计器加"模拟"按钮 → 跑虚拟数据走完流程 → 显示节点轨迹和分支判定
- 不实际启动审批，纯前端 + 后端 dry-run API

## 决策点

G3/G4/G5 都是较大功能，可能需要拆出 PR。建议本 bucket 做：
- **必做**：G1（表单复制）+ G2（保存并关闭）— 简单、已要求
- **建议**：G3（条件显示）— P1 但实施复杂，可能需要 ~2 天单独时间

G4/G5 推到下个 bucket 或单独 PR。

## 交付物

- 至少 G1+G2 实现
- 矩阵对应单元格升 ✅

## 完成条件

- 选定子项实现 + L2 验证
- 删除本文件
