日期: 2026-07-15
范围: web-admin /#/system-manage/oa-approval/start 发起弹窗
Demo: docs/mockups/oa-approval-start-flow-preview-demo.html(已定稿样式)
修订(2026-07-17): 条件分支展示已改为钉钉式「未齐占位 / 齐后最终路径」,见
docs/superpowers/specs/2026-07-17-oa-start-flow-preview-resolved-path-design.md。
下文「全部支路展开」与「非目标:条件随表单实时裁剪」以新规格为准。
发起人填单时,在表单下方展示审批链预览:节点名称 + 签批方式 + 配置说明 + 解析出的具体人员,样式对齐 Demo(灰色圆点时间轴、单行紧凑卡片)。
initiator_select 显示「发起人自选」,人选仍用弹窗顶部现有选择器。节点名 或签|会签|抄送 · 配置说明,右侧人员 chip。padding: 9px 12px)。GET /api/admin/oa-approval/templates/{appId}/flow-preview
返回:
{
"steps": [
{
"id": "n_start",
"type": "start|approval|cc|branch|end",
"name": "一级审批",
"signMode": "or|and|",
"assigneeType": "oa_roles",
"meta": "工作流角色 · 总经理",
"people": [{ "id": "...", "nickName": "王总" }],
"resolveError": ""
}
]
}
解析失败时该步 people 为空,resolveError 带原因,前端在 meta 后展示警示而非阻断打开弹窗。
backend/app/services/oa_engine.py — preview_start_flowbackend/app/api/oa_approval.py — 路由web-admin/src/api/oaApproval.ts — fetchOaFlowPreviewweb-admin/src/components/oa-approval/OaFlowPreview.vue — 只读预览web-admin/src/views/oa-approval/start/index.vue — 挂载到弹窗表单下方