Просмотр исходного кода

Merge branch 'master' of http://192.168.1.41:3000/SmartCost/SCCommon

zhangweicheng 4 лет назад
Родитель
Сommit
2270498f7a
3 измененных файлов с 28 добавлено и 4 удалено
  1. 26 3
      types/src/interface/process.ts
  2. 1 0
      types/src/interface/user.ts
  3. 1 1
      wise-cost-util/src/process.ts

+ 26 - 3
types/src/interface/process.ts

@@ -24,6 +24,27 @@ export enum ApprovalWay {
   PREACCOUNT = 'prevAccount', // 上一审批人设置
 }
 
+// 角色权限
+export enum RolePermission {
+  REPORT = 'report', // 上报权限
+  VIEW_ALL_PROJECTS = 'viewAllProjects', // 查看所有项目
+}
+
+// 系统角色
+export enum RoleType {
+  SYSTEM = 'system',
+  SYSTEM_NORMAL = 'systemNormal',
+  NORMAL = 'normal',
+}
+
+// 角色
+export interface IRole {
+  ID: string;
+  name: string;
+  roleType: RoleType;
+  frontPermission: RolePermission[];
+}
+
 // 参与者模式
 export enum ParticipantMode {
   ACCOUNT = 'account', // 用户模式
@@ -146,6 +167,8 @@ export interface IApprovalTodoData {
   lastStatus?: SimpleProcessStatus; // 上一环节的状态
   approveTime?: number; // 当前环节审批时间
   approvalStatus?: ApprovalStatus; // 审批流程的状态
+  moveFrom?: string; // 环节流转来自谁
+  moveTo?: string[]; // 环节流转给谁
   type: ApprovalType; // 审批待办类型
 }
 
@@ -160,9 +183,9 @@ export enum TodoStatus {
 
 export interface ITodo {
   ID: string; // 待办 ID
-  userID: string;
-  createdTime: number; // 创建时间
-  completedTime: number; // 完成时间
+  userID: string; // 用户 ID
+  createdTime: number; // 创建时间(相当于环节流转时间)
+  completedTime: number; // 完成时间(相当于审批办结时间)
   todoType: TodoType;
   data: any;
   status: TodoStatus;

+ 1 - 0
types/src/interface/user.ts

@@ -98,6 +98,7 @@ export interface IAPUser {
   created: string;
   createdID: string; // 创建人ID
   isCreated?: boolean; // 是否可创建,字段由后台定义
+  roleIDs?: string[]; // 角色ID列表
 }
 
 // 最近联系人

+ 1 - 1
wise-cost-util/src/process.ts

@@ -54,7 +54,7 @@ export const getApprovalStatus = (processes: IProcess[]) => {
   return ApprovalStatus.PROCESSING;
 };
 
-// 获取当前的环节
+// 获取当前的环节(整个流程结束之后,当前环节为 null)
 export const getCurrentProcess = (processes: IProcess[]) => {
   if (isEmpty(processes)) {
     return null;