| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173 |
- import { ReportTree } from './report';
- import { CptModelName, SubModelName, ActionType } from './base';
- // 环节类型
- export enum SectorType {
- APPROVAL = 'approval', // 审批
- CONDITION = 'condition', // 条件
- }
- export enum ProcessStatus {
- WAITING = 'waiting', // 待审批
- APPROVED = 'approved', // 审批通过
- ACTIVATING = 'activating', // 当前流程
- FAILED = 'failed', // 审批退回
- }
- // 审批方式
- export enum ApprovalWay {
- REPORT = 'report', // 上报审批
- 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', // 加签
- NEXTSECTOR = 'nextSector', // 是否可添加环节
- }
- export interface ICoreView {
- ID: string; // 用户ID
- projectIDs: string[]; // 充许协审的单位工程ID,为空数组时表示可以协审当前环节的所有项目
- }
- export interface IProcessAccount {
- // ID 账号ID name 名称institutionID 企事业ID
- ID: string;
- name: string; // 曾用名,不会变动
- institutionID?: string; // 单位ID(可能不会用到)
- institutionName?: string; // 单位名称(不要保存到数据库,而是在使用的时候通过ID去查)
- status: ProcessStatus; // 审批状态
- alreadyAddProcess?: boolean; // 是否已经添加了新环节(暂时用的,用于标记是否添加了环节,以后可能删除)
- configure: AccountConfigure[]; // 权限配置
- remark: string; // 审批意见(肯定有,会有默认值)
- coreViews: ICoreView[]; // 协审人信息
- projectIDs: string[]; // 允许审批的单位工程ID,为空数组时表示可以审批当前环节的所有项目
- }
- // 参与者信息
- export interface IParticipantInfo {
- approvalWay: ApprovalWay;
- participantMode: ParticipantMode;
- accounts: IProcessAccount[];
- }
- // 流程中的一个环节
- export interface IProcess {
- ID: string;
- name: string;
- sectorType: SectorType;
- seq?: number;
- createdByProcess?: string; // 上环节ID, 表示哪个环节创建的(上环节添加的)
- time?: number; // 当前环节完成时间(仅当审批通过或审批退回时会有时间)
- participantInfo: IParticipantInfo;
- }
- export interface IApproval {
- ID: string;
- name: string;
- createdID: string;
- createdTime: number;
- process: IProcess[];
- }
- export enum ApprovalStatus {
- CREATED = 'created', // 创建完成
- PROCESSING = 'processing', // 正在审批
- APPROVED = 'approved', // 审批通过
- }
- // 复制到项目里的流程
- export interface IProjectApproval extends IApproval {
- financialProjectID: string; // 财审项目ID
- constructionID: string; // 建设项目ID
- projectIDs: string[]; // 包含在流程里的项目(单位工程)
- status: ApprovalStatus; // 状态
- 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[];
- }
- // 环节状态(精简)
- export enum SimpleProcessStatus {
- APPROVED = 'approved', // 审批通过
- FAILED = 'failed', // 失败
- REPORTED = 'reported', // 上报
- }
- // 审批待办类型
- export enum ApprovalType {
- APPROVER = 'approver', // 审批
- COREVIEW = 'coreview', // 协审
- REPORT = 'report', // 上报
- }
- // 流程环节待办列表项
- export interface IApprovalTodoData {
- approvalID: string; // 流程 id
- processID: string; // 环节 id
- financialProjectID: string; // 项目 ID
- constructionID: string; // 建设项目 ID
- projectName?: string; // 项目名称
- reporterID: string; // 发起人ID
- reporterName?: string; // 发起人名称
- lastID?: string; // 上环节ID(暂定为上环节用户ID,之后可能为上环节ID)
- lastName?: string; // 上环节名称(暂定为上环节用户名称,之后可能为上环节名称)
- reportTime?: number; // 上报时间
- lastStatus?: SimpleProcessStatus; // 上一环节的状态
- approveTime?: number; // 当前环节审批时间
- approvalStatus?: ApprovalStatus; // 审批流程的状态
- type: ApprovalType; // 审批待办类型
- }
- export enum TodoType {
- APPROVAL = 'approval',
- }
- export enum TodoStatus {
- REMAIN = 'remain',
- COMPLETED = 'completed',
- }
- export interface ITodo {
- ID: string; // 待办 ID
- userID: string;
- createdTime: number; // 创建时间
- completedTime: number; // 完成时间
- todoType: TodoType;
- data: any;
- status: TodoStatus;
- }
- export interface IApprovalTodo extends ITodo {
- data: IApprovalTodoData;
- }
|