@coding-flow/flow-approval-presenter
v0.0.7
Published
flow-engine approval presenter framework
Readme
@coding-flow/flow-pc-approval
Flow Engine PC 端审批组件库,提供待办/已办/审批处理等功能。
简介
flow-pc-approval 是 Flow Engine PC 端的审批页面组件库,提供:
- 待办列表(我的待办)
- 已办列表(我的已办)
- 我发起的(我的申请)
- 审批处理(审批操作)
- 流程详情查看
- 审批记录展示
依赖关系
- 依赖:
@coding-flow/flow-pc-design,@coding-flow/flow-pc-ui
Setup
安装依赖:
pnpm install开发
构建组件库:
pnpm run build监听模式构建:
pnpm run dev核心功能
待办列表
我的待办任务列表:
- 任务筛选(按状态、类型、时间等)
- 任务搜索
- 批量操作
- 分页加载
import { TodoList } from '@coding-flow/flow-pc-approval';
<TodoList
filters={filters}
onTaskClick={handleTaskClick}
onBatchApprove={handleBatchApprove}
/>已办列表
我的已办任务列表:
- 历史记录查询
- 筛选和搜索
- 查看审批详情
import { DoneList } from '@coding-flow/flow-pc-approval';
<DoneList
filters={filters}
onTaskClick={handleTaskClick}
/>我发起的
我发起的流程列表:
- 流程状态查看
- 流程跟踪
- 撤回/取消操作
import { MyRequestsList } from '@coding-flow/flow-pc-approval';
<MyRequestsList
filters={filters}
onFlowClick={handleFlowClick}
onWithdraw={handleWithdraw}
/>审批处理
审批操作组件:
- 表单展示(只读/编辑)
- 审批意见填写
- 审批操作(通过/拒绝/保存/转交/退回/委托)
- 附件上传
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}
/>流程详情
流程详情查看:
- 流程基本信息
- 节点状态展示
- 审批记录时间轴
- 表单数据展示
import { FlowDetail } from '@coding-flow/flow-pc-approval';
<FlowDetail
workflowId={workflowId}
instanceId={instanceId}
onBack={handleBack}
/>审批记录
审批记录展示:
- 时间轴展示
- 审批人信息
- 审批意见
- 审批时间
- 操作记录
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使用示例
待办页面
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}
/>
)}
</>
);
};审批操作
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 - Rslib 特性和 API
- Flow Engine Docs - 完整文档
- CLAUDE.md - 开发指南
