Browse Source

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

LuoHaoxuan 3 years atrás
parent
commit
c0e20927ad
2 changed files with 73 additions and 8 deletions
  1. 35 0
      types/src/interface/matter.ts
  2. 38 8
      types/src/interface/process.ts

+ 35 - 0
types/src/interface/matter.ts

@@ -65,3 +65,38 @@ export interface IDynamicStep {
 export interface IGatherDynamicStep extends IDynamicStep {
   businessID: string;
 }
+
+// 组件权限相关
+export interface IProcessComponentPermission {
+  // 是否可编辑
+  editable: boolean;
+  // 是否可查看
+  viewable: boolean;
+}
+
+// 步骤里的的组件
+export interface IProcessComponent<T = any> {
+  // 组件名:'cost'、'form'...
+  name: string;
+  // 组件权限
+  permission: IProcessComponentPermission;
+  // 组件数据
+  data?: T | null;
+}
+
+// 步骤里的事项
+export interface IProcessMatter {
+  // 事项ID
+  matterID: string;
+  // 事项可用组件
+  components: IProcessComponent[];
+}
+
+// 前端展示需要用的事项数据结构
+export interface IMatterNode {
+  ID: string;
+  seq: number;
+  parentID: string;
+  name: string;
+  components: IProcessComponent[];
+}

+ 38 - 8
types/src/interface/process.ts

@@ -3,7 +3,7 @@ import { CptModelName, SubModelName, ActionType } from './base';
 import { BusinessTypeKey } from './gather';
 import { IExecutorApprovaledPermission } from './gatherExecutor';
 import { executorMember } from './approvalStatus';
-import { IStepMatter } from './matter';
+import { IProcessMatter, IStepMatter } from './matter';
 
 // 环节类型
 export enum SectorType {
@@ -109,6 +109,8 @@ export interface IParticipantInfo {
   accounts: IProcessAccount[];
 }
 
+// 后台的
+
 // 流程中的一个环节
 export interface IProcess {
   ID: string;
@@ -141,9 +143,13 @@ export interface IProcessExecutor {
   setType: string;
   name: string;
   reportTime?: string; // 三合一审批流程第一位的上报时间
-  approvaledPermission: IExecutorApprovaledPermission[];
+  approvaledPermission: string[];
   scope?: string;
   members?: Members[];
+  // 事项中组件及其权限
+  inProcessMatters?: IProcessMatter[];
+  // 事项后组件及其权限
+  afterProcessMatters?: IProcessMatter[];
 }
 
 export interface SimpleDynamicStep {
@@ -166,7 +172,10 @@ export interface ICollaborator {
   institutionID?: string; // 机构ID,只在协审角色为审批单位的时候存在
   name?: string; // 用户姓名
   deadline: string; //  截至时间
-  // permissions?: ICollaboratorPermission[]; // 协审权限
+  // 事项中组件及其权限
+  inProcessMatters?: IProcessMatter[];
+  // 事项后组件及其权限
+  afterProcessMatters?: IProcessMatter[];
 }
 
 // 3合1添加协审下拉选项
@@ -191,10 +200,12 @@ export interface IProcedureParticipantInfo {
     configure: string[];
     members?: Members[];
     reportTime?: string;
+    inProcessMatters?: IProcessMatter[];
+    afterProcessMatters?: IProcessMatter[];
   };
-  collaborator: ICollaborator[];
+  collaborators: ICollaborator[];
   dynamicSteps: SimpleDynamicStep[];
-  stepMatters: IStepMatter[];
+  stepMatters?: IStepMatter[];
 }
 
 // 3合1分支判断信息
@@ -206,11 +217,12 @@ export interface IConditionItem {
 }
 
 // 3合1分支条件信息
-export interface IConditionInfoItem {
+// eslint-disable-next-line prettier/prettier, no-use-before-define
+export interface IConditionInfoItem<T = IProcedureProcess> {
   ID: string;
   conditions: IConditionItem[];
   // eslint-disable-next-line prettier/prettier, no-use-before-define
-  process: IProcedureProcess[];
+  process: T[];
 }
 
 // 3合1步骤中的一个环节
@@ -238,7 +250,7 @@ export interface IProcedureItem {
   content: string;
   approvalTime: string;
   executor?: IProcessExecutor;
-  collaborator?: ICollaborator[];
+  collaborators?: ICollaborator[];
   isReportProcess?: boolean;
   // members?: executorMember[];
   approvalWay?: string;
@@ -262,6 +274,24 @@ export interface IApproval {
   businessType?: BusinessTypeKey;
 }
 
+// 三合一后台配置的步骤模板数据
+export interface I3in1ProcessTemplateItem {
+  ID: string;
+  name: string;
+  sectorType: SectorType;
+  conditionInfo: IConditionInfoItem<I3in1ProcessTemplateItem>[];
+}
+
+// 三合一后台配置的业务数据(approval表)
+export interface I3in1Approval {
+  ID: string;
+  // 主体ID
+  gatherID: string;
+  // 业务类型
+  businessType: BusinessTypeKey;
+  process: I3in1ProcessTemplateItem[];
+}
+
 export enum ApprovalStatus {
   CREATED = 'created', // 创建完成
   PROCESSING = 'processing', // 正在审批