# approvalProcess **Repository Path**: ibestservices/approval-process ## Basic Information - **Project Name**: approvalProcess - **Description**: 鸿蒙审批流 基于api9 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2024-03-04 - **Last Updated**: 2025-09-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ApprovalProcess ## 简介 ApprovalProcess是一个基于鸿蒙开发的审批流展示组件,由公司业务抽离而来,与数据耦合度较高,可以作为一个思路提供帮助,或基于数据格式二次开发。 ## 下载安装 `ohpm install @ibestservices/approval_process` OpenHarmony ohpm 环境配置等更多内容,请参考[如何安装 OpenHarmony ohpm 包](https://gitee.com/openharmony-tpc/docs/blob/master/OpenHarmony_har_usage.md) ## 需要权限 无 ## 引入 `import ApprovalProcess from '@ibestservices/approval_process'` ## 代码演示 ### 组件展示 ![文字水印](./library/static/images/process.png) ```typescript import ApprovalProcess, { ProcessItem, USER_TYPE, APPROVAL_FLAG } from '@ibestservices/approval_process' const mockData: ProcessItem[] = [ { id: 1, userName: '小明', userJob: USER_TYPE.INITIATE, createTime: '2023-06-07', approvalFlag: APPROVAL_FLAG.PASSED }, { id: 2, userName: '小红', userJob: '直接上级', createTime: '2023-06-07', approvalFlag: APPROVAL_FLAG.BACK, approvalMessage: '请重新校准后再发起审批' }, { id: 6, userName: '小明', userJob: USER_TYPE.INITIATE, createTime: '2023-06-07', approvalFlag: APPROVAL_FLAG.PASSED }, { id: 3, userName: '小红', userJob: '直接上级', createTime: '2023-06-07', approvalFlag: APPROVAL_FLAG.PASSED }, { id: 4, userName: '小黑', userJob: '部门总监', createTime: '2023-06-07', approvalFlag: APPROVAL_FLAG.REFUSED, approvalMessage: '预算不足' }, { id: 8, userName: '小粉', userJob: '董事长', createTime: '', approvalFlag: APPROVAL_FLAG.INITIATE }, { id: 5, userName: '小绿、小蓝、小白', userJob: USER_TYPE.COPY, createTime: '2023-06-07', approvalFlag: APPROVAL_FLAG.INITIATE } ] @Entry @Component struct Index { @State processList:ProcessItem[] = mockData build() { Row() { Column() { ApprovalProcess({ processList: $processList, }) } .width('100%') } .height('100%') } } ``` ## API ### Props | 参数 | 说明 | 类型 | 是否必填 | 默认值 | |-----------|------------------|-----------------------------------------|------|-----| | processList | 审批数据数组,详细类型介绍看下面 | ProcessItem[] | 是 | 无 | ## 类型解释 ### ProcessItem ```typescript export type ProcessItem = { /** * 主键id */ id: string | number, /** * 当前展示的名字 */ userName: string, /** * 当前展示的职位 */ userJob: string | USER_TYPE, /** * 当前节点状态 可不填 但是要注意 一个审批流中 APPROVAL_FLAG.INITIATE 与 APPROVAL_FLAG.REFUSED 有且只能有一个 不能共存 会影响下标计算 */ approvalFlag?: APPROVAL_FLAG | number, /** * 审批时间 可不填 */ createTime?: string, /** * 审批理由 可不填 */ approvalMessage?: string, /** * 私有属性 业务中折叠展开用到 组件中自动填充 */ _collapse?: boolean } ``` ### USER_TYPE ```typescript /** * 用户类型 */ export enum USER_TYPE { INITIATE = '发起人', COPY = '抄送人', CHECK = '审批人' } ``` ### APPROVAL_FLAG ```typescript /** * 当前审批节点的审批状态 */ export enum APPROVAL_FLAG { // 待审批 INITIATE = 0, // 通过 PASSED = 1, // 拒绝 REFUSED = 2, // 打回 BACK = 3 } ``` ## 约束与限制 在下述版本验证通过: ```text DevEco Studio 3.1.1 Release 构建版本:3.1.0.501, built on June 20, 2023 Build #DS-223.8617.56.36.310501 Runtime version: 17.0.6+10-b829.5 x86_64 VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o. API 9 STAGE ``` ## 开源协议 本项目基于 Apache License 2.0,请自由地享受和参与开源。 ## 仓库地址 https://gitee.com/ibestservices/approval-process ## 已知问题