# @coding-flow/flow-pc-approval 中文文档

规范地址：https://npmcn.com/package/%40coding-flow/flow-pc-approval/

版本：0\.2\.17
npm 元数据更新时间：2026-11-07T09:53:42.165Z
中文译文更新时间：2026-11-10T09:30:18.723Z
软件包许可：Apache-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40coding-flow/flow-pc-approval
原文对照：https://npmcn.com/package/%40coding-flow/flow-pc-approval/?lang=original
项目主页：https://github.com/codingapi/flow-frontend
源码仓库：https://github.com/codingapi/flow-frontend

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：144 kB，108 个文件
- 模块格式：ES Module
- TypeScript 类型：包内自带
- 运行依赖：13 个
- peer 依赖：react \>=18，react-dom \>=18
- 首次发布：2026-03-17T06:39:35.070Z
- 最新版本发布：2026-11-07T09:53:41.978Z
- 近 30 天下载量：1828（2026-10-10 至 2026-11-08，npm 官方下载统计）
- 已发布版本数：82（近 12 个月 82 个）

## 中文简介

流程引擎 pc 格式批准组件

## 安装

```sh
npm install @coding-flow/flow-pc-approval
```

也可以使用：`pnpm add @coding-flow/flow-pc-approval`、`yarn add @coding-flow/flow-pc-approval`、`bun add @coding-flow/flow-pc-approval`

## README

# @coding-flow/flow-pc-approval

Flow Engine PC 端审批组件库，提供待办/已办/审批处理等功能。

## 简介

`flow-pc-approval` 是 Flow Engine PC 端的审批页面组件库，提供：

-   待办列表（我的待办）
-   已办列表（我的已办）
-   我发起的（我的申请）
-   审批处理（审批操作）
-   流程详情查看
-   审批记录展示

### 依赖关系

-   **依赖**: `@coding-flow/flow-core`、`@coding-flow/flow-types`、`@coding-flow/flow-icons`、`@coding-flow/flow-approval-presenter`、`@coding-flow/flow-pc-ui`、`@coding-flow/flow-pc-form`

## Setup

安装依赖:

```bash
pnpm install
```

## 开发

构建组件库:

```bash
pnpm run build
```

监听模式构建:

```bash
pnpm run dev
```

## 核心功能

### 待办列表

我的待办任务列表：

-   任务筛选（按状态、类型、时间等）
-   任务搜索
-   批量操作
-   分页加载

```typescript
import { TodoList } from '@coding-flow/flow-pc-approval';

<TodoList
  filters={filters}
  onTaskClick={handleTaskClick}
  onBatchApprove={handleBatchApprove}
/>
```

### 已办列表

我的已办任务列表：

-   历史记录查询
-   筛选和搜索
-   查看审批详情

```typescript
import { DoneList } from '@coding-flow/flow-pc-approval';

<DoneList
  filters={filters}
  onTaskClick={handleTaskClick}
/>
```

### 我发起的

我发起的流程列表：

-   流程状态查看
-   流程跟踪
-   撤回/取消操作

```typescript
import { MyRequestsList } from '@coding-flow/flow-pc-approval';

<MyRequestsList
  filters={filters}
  onFlowClick={handleFlowClick}
  onWithdraw={handleWithdraw}
/>
```

### 审批处理

审批操作组件：

-   表单展示（只读/编辑）
-   审批意见填写
-   审批操作（通过/拒绝/保存/转交/退回/委托）
-   附件上传

```typescript
import { ApprovalForm } from '@coding-flow/flow-pc-approval';

<ApprovalForm
  taskId={taskId}
  formSchema={formSchema}
  formValues={formValues}
  permissions={fieldPermissions}
  onApprove={handleApprove}
  onReject={handleReject}
  onSave={handleSave}
  onTransfer={handleTransfer}
  onReturn={handleReturn}
  onDelegate={handleDelegate}
/>
```

### 流程详情

流程详情查看：

-   流程基本信息
-   节点状态展示
-   审批记录时间轴
-   表单数据展示

```typescript
import { FlowDetail } from '@coding-flow/flow-pc-approval';

<FlowDetail
  workflowId={workflowId}
  instanceId={instanceId}
  onBack={handleBack}
/>
```

### 审批记录

审批记录展示：

-   时间轴展示
-   审批人信息
-   审批意见
-   审批时间
-   操作记录

```typescript
import { ApprovalTimeline } from '@coding-flow/flow-pc-approval';

<ApprovalTimeline
  records={approvalRecords}
  currentNodeId={currentNodeId}
/>
```

## 模块结构

```
flow-pc-approval/
├── src/
│   ├── todo/           # 待办列表
│   ├── done/           # 已办列表
│   ├── my-requests/    # 我发起的
│   ├── approval-form/  # 审批表单
│   ├── flow-detail/    # 流程详情
│   ├── timeline/       # 审批记录时间轴
│   ├── components/     # 公共组件
│   └── index.ts        # 统一导出
└── README.md
```

## 使用示例

### 待办页面

```typescript
import { TodoList, ApprovalModal } from '@coding-flow/flow-pc-approval';

const TodoPage = () => {
  const [selectedTask, setSelectedTask] = useState(null);
  const [showApprovalModal, setShowApprovalModal] = useState(false);

  const handleTaskClick = async (task) => {
    setSelectedTask(task);
    setShowApprovalModal(true);
  };

  return (
    <>
      <TodoList
        filters={filters}
        onTaskClick={handleTaskClick}
      />
      {showApprovalModal && (
        <ApprovalModal
          taskId={selectedTask.id}
          onClose={() => setShowApprovalModal(false)}
          onApproved={handleRefresh}
        />
      )}
    </>
  );
};
```

### 审批操作

```typescript
import { ApprovalForm } from '@coding-flow/flow-pc-approval';

const MyApprovalForm = () => {
  const handleSubmit = async (action, opinion) => {
    await approvalApi.submit({
      taskId,
      action,
      opinion,
      formData
    });
  };

  return (
    <ApprovalForm
      taskId={taskId}
      formSchema={formSchema}
      formValues={formValues}
      permissions={permissions}
      onApprove={(opinion) => handleSubmit('PASS', opinion)}
      onReject={(opinion) => handleSubmit('REJECT', opinion)}
      onSave={(data) => handleSubmit('SAVE', data)}
      onTransfer={(userId) => handleSubmit('TRANSFER', { userId })}
      onReturn={(nodeId) => handleSubmit('RETURN', { nodeId })}
      onDelegate={(userId) => handleSubmit('DELEGATE', { userId })}
    />
  );
};
```

## 审批动作

支持以下审批动作：

-   `PASS` - 通过
-   `REJECT` - 拒绝
-   `SAVE` - 保存
-   `ADD_AUDIT` - 加签
-   `DELEGATE` - 委托
-   `RETURN` - 退回
-   `TRANSFER` - 转交
-   `CUSTOM` - 自定义动作

## Learn more

-   [Rslib documentation](https://lib.rsbuild.io/) - Rslib 特性和 API
-   [Flow Engine Docs](https://github.com/codingapi/flow-engine) - 完整文档
-   [CLAUDE.md](https://npmcn.com/CLAUDE.md) - 开发指南

## 常见问题

### @coding-flow/flow-pc-approval 是什么？

流程引擎 pc 格式批准组件

### 如何安装 @coding-flow/flow-pc-approval？

在项目目录运行 npm install @coding-flow/flow-pc-approval，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：react（\>=18）、react-dom（\>=18）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @coding-flow/flow-pc-approval 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @coding-flow/flow-pc-approval 支持 ESM 还是 CommonJS？

以 ES Module 形式发布，推荐使用 import 引入。在 CommonJS 项目中，Node\.js 20\.19\+ / 22\.12\+ 可以直接 require\(\) 不含顶层 await 的 ES Module，更早的版本需要改用动态 import\(\)。

### @coding-flow/flow-pc-approval 可以商用吗？

@coding-flow/flow-pc-approval 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @coding-flow/flow-pc-approval 的下载量有多少？

根据 npm 官方下载统计，@coding-flow/flow-pc-approval 在 2026/10/10 – 2026/11/08 这 30 天内被下载 1,828 次，日均约 61 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @coding-flow/flow-pc-approval 还在维护吗？

最新版本 0\.2\.17 发布于 2026/11/07（3 天前）；至今共发布 82 个版本，其中过去 12 个月发布了 82 个；首次发布于 2026/03/17。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

