Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/capabilities/flow-design/sub-process-config.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
name: flow-design/sub-process-config
module: flow-design
description: 子流程节点的多实例创建、结果判定脚本和异常节点跳转配置
description: 子流程节点的多实例创建、结果判定脚本、异常节点跳转与重置能力开关配置
status: 已实现
scope: 前端
source: 项目自有
Expand Down
2 changes: 1 addition & 1 deletion docs/capabilities/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
| [flow-core/message-registry](./flow-core/message-registry.md) | flow-core | 流程消息注册表(单例模式),将所有消息提示从硬编码中解耦,支持下游 App 通过字符串模板或函数模板自定义消息内容,运行时上下文数据由 Presenter 自动注入 | 前端 | 项目自有 |
| [flow-design/manager-group](./flow-design/manager-group.md) | flow-design | 设计面板管理器组,包含表单字段管理、节点转换管理、路由节点管理和工作流策略管理 | 前端 | 项目自有 |
| [flow-design/node-registry](./flow-design/node-registry.md) | flow-design | 流程节点注册机制,通过 FlowNodeRegistry 接口定义 19 种节点类型并注册到 Flowgram 固定布局编辑器 | 前端 | 项目自有 |
| [flow-design/sub-process-config](./flow-design/sub-process-config.md) | flow-design | 子流程节点的多实例创建、结果判定脚本和异常节点跳转配置 | 前端 | 项目自有 |
| [flow-design/sub-process-config](./flow-design/sub-process-config.md) | flow-design | 子流程节点的多实例创建、结果判定脚本、异常节点跳转与重置能力开关配置 | 前端 | 项目自有 |
| [flowgram/flowgram](./flowgram/flowgram.md) | flowgram | Flowgram 固定布局流程编辑器,提供可视化节点编辑、连线、迷你地图等能力 | 前端 | 框架:Flowgram |
| [form-engine/form-engine](./form-engine/form-engine.md) | form-engine | 外部表单引擎,提供表单渲染、表单项注册、表单实例创建等能力 | 前端 | 框架:Form Engine |
| [react/react](./react/react.md) | react | React UI 框架,提供组件化渲染、Hooks 响应式状态管理、虚拟 DOM 等核心能力 | 前端 | 框架:React |
Expand Down
1 change: 1 addition & 0 deletions packages/flow-approval-presenter/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
## 0.2.6

### Patch Changes
- 审批上下文可直达子流程重置能力:ApprovalPresenter/FlowActionPresenter 暴露 `resetSubProcess`(codingapi/flow-engine#219)

- 版本升级至 0.2.6(仅版本号升级,无功能变更)

Expand Down
24 changes: 23 additions & 1 deletion packages/flow-approval-presenter/src/presenters/action.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { ApprovalState, FlowApprovalApi } from "@/typings";
import { FormActionContext, FlowAction } from "@coding-flow/flow-types";
import { FormActionContext, FlowAction, FlowSubProcessResetRequest } from "@coding-flow/flow-types";
import { ActionInterceptor, ActionInterceptorManager, DialogContent, DialogContentManager, DialogContentProvider } from "@/interceptor";

export class FlowActionPresenter {
Expand Down Expand Up @@ -316,6 +316,28 @@ export class FlowActionPresenter {
}
}

/**
* 子流程数据重置(独立能力,非审批动作)。
*
* 仅当详情数据 `resetSubProcess` 标识为 true 时可调用:将选中实例流程id对应的
* 已完成子流程聚合组重置,主流程退回子流程节点重新等待。
*
* @param resetInstanceProcessIds 选中重建的子流程实例流程id列表
* @param advice 重置说明(可选)
*/
public async resetSubProcess(resetInstanceProcessIds: string[], advice?: string) {
this.setLoading(true);
try {
const recordId = this.state.flow?.recordId;
if (recordId) {
const body: FlowSubProcessResetRequest = { recordId, resetInstanceProcessIds, advice };
return await this.api.resetSubProcess(body, this.mockKey);
}
} finally {
this.setLoading(false);
}
}

/**
* 执行已订阅的审批操作拦截器。
*
Expand Down
10 changes: 10 additions & 0 deletions packages/flow-approval-presenter/src/presenters/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -49,4 +49,14 @@ export class ApprovalPresenter {
return this.flowActionPresenter.processNodes();
}

/**
* 子流程数据重置(独立能力,非审批动作),仅当详情数据 resetSubProcess 标识为 true 时可调用。
*
* @param resetInstanceProcessIds 选中重建的子流程实例流程id列表
* @param advice 重置说明(可选)
*/
public resetSubProcess(resetInstanceProcessIds: string[], advice?: string) {
return this.flowActionPresenter.resetSubProcess(resetInstanceProcessIds, advice);
}

}
1 change: 1 addition & 0 deletions packages/flow-types/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
## 0.2.6

### Patch Changes
- 子流程节点视图类型同步后端新增字段:聚合组 `superseded`、实例 `inherited`/`sourceProcessId`(codingapi/flow-engine#219)

- 版本升级至 0.2.6(仅版本号升级,无功能变更)

Expand Down
6 changes: 6 additions & 0 deletions packages/flow-types/src/types/flow-approval.ts
Original file line number Diff line number Diff line change
Expand Up @@ -242,6 +242,10 @@ export interface ProcessNodeSubProcessInstance {
finishRecordId: number;
state: SubProcessInstanceState;
finishTime: number;
/** 是否为继承实例:重置时未被选中重置的实例沿用原结果,未重新执行。 */
inherited?: boolean;
/** 重建实例替换的旧实例流程id;继承实例与常规实例为 undefined。 */
sourceProcessId?: string;
}

/**
Expand All @@ -257,6 +261,8 @@ export interface ProcessNodeSubProcess {
createTime: number;
finishTime: number;
instances: ProcessNodeSubProcessInstance[];
/** 是否已被重置取代(历史聚合组,仅保留审计用途)。 */
superseded?: boolean;
}

/**
Expand Down
Loading