| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- import { CptModelName, SubModelName, ActionType } from './base';
- // 环节类型
- export enum SectorType {
- APPROVAL = 'approval', // 审批
- CONDITION = 'condition', // 条件
- }
- // 审批方式
- export enum ApprovalWay {
- ACCOUNT = 'account', // 指定用户
- JOINTLYSIGN = 'jointlySign', // 会签
- ORSIGN = 'orSign', // 或签
- ORDERAPPROVAL = 'orderApproval', // 依次审批
- PREACCOUNT = 'prevAccount', // 上一审批人设置
- }
- // 参与者模式
- export enum ParticipantMode {
- ACCOUNT = 'account', // 用户模式
- ROLE = 'role', // 角色模式(未来)
- }
- export enum AccountConfigure {
- SKIP = 'skip',
- RETURN = 'return',
- REVOKE = 'revoke',
- ASSISTAUDIT = 'assistAudit',
- ADDSIGN = 'addSign',
- }
- export interface IProcessAccount {
- // ID 账号ID name 名称institutionID 企事业ID
- ID: string;
- name: string;
- institutionID?: string; // 可能不会用到
- configure: AccountConfigure[];
- remark?: string; // 审批意见
- }
- // 参与者信息
- export interface IParticipantInfo {
- approvalWay: ApprovalWay;
- participantMode: ParticipantMode;
- accounts: IProcessAccount[];
- }
- // 流程中的一个环节
- export interface IProcess {
- ID: string;
- name: string;
- sectorType: SectorType;
- seq?: number;
- participantInfo: IParticipantInfo;
- }
- export interface IApproval {
- ID: string;
- name: string;
- created: string;
- createdID: string;
- createdTime: number;
- process: IProcess[];
- }
- export enum ApprovalState {
- CREATED = 'created', // 创建
- PROCESSING = 'processing', // 正在审批
- APPROVED = 'approved', // 审批通过
- FAILED = 'failed', // 失败
- }
- // 复制到项目里的流程
- export interface IProjectApproval extends IApproval {
- projectIDs: string[]; // 包含在流程里的项目
- state: ApprovalState; // 状态
- approvalTime?: number; // 审批通过时间
- currentProcessID?: string; // 当前正处于哪个环节ID
- }
- // 流程过程中存储的数据
- export interface IProcessData {
- ID: string;
- module: CptModelName | SubModelName; // 编辑的模块
- action: ActionType; // 动作,增删改等
- oDoc: any; // 存放删除时或者修改时的数据
- createTime: number; // 创建时间
- }
- // 备份数据集合
- export interface IProcessDataDoc {
- projectID: string;
- processID: string;
- index: number;
- processData: IProcessData[];
- }
|