|
|
@@ -1,4 +1,4 @@
|
|
|
-import { ApprovalWay, IProcessAccount, ProcessStatus, IProcess } from '@sc/types';
|
|
|
+import { ApprovalWay, IProcessAccount, ProcessStatus, IProcess, ApprovalStatus } from '@sc/types';
|
|
|
import { isArray, isEmpty } from 'lodash';
|
|
|
|
|
|
// 获取流程某个环节审批状态
|
|
|
@@ -38,6 +38,22 @@ export const getProcessStatus = (approvalWay: ApprovalWay, accounts: IProcessAcc
|
|
|
return ProcessStatus.WAITING;
|
|
|
};
|
|
|
|
|
|
+// 获取流程的状态
|
|
|
+export const getApprovalStatus = (processes: IProcess[]) => {
|
|
|
+ if (isEmpty(processes)) {
|
|
|
+ return undefined;
|
|
|
+ }
|
|
|
+ const lastProcess = processes[processes.length - 1];
|
|
|
+ const { approvalWay, accounts } = lastProcess.participantInfo;
|
|
|
+ const lastProcessStatus = getProcessStatus(approvalWay, accounts);
|
|
|
+ // 审批通过
|
|
|
+ if (lastProcessStatus === ProcessStatus.APPROVED) {
|
|
|
+ return ApprovalStatus.APPROVED;
|
|
|
+ }
|
|
|
+ // 正在审批
|
|
|
+ return ApprovalStatus.PROCESSING;
|
|
|
+};
|
|
|
+
|
|
|
// 获取当前的环节
|
|
|
export const getCurrentProcess = (processes: IProcess[]) => {
|
|
|
if (isEmpty(processes)) {
|