初始版本提交
This commit is contained in:
59
src/model/workflow/ParamSetting.ts
Normal file
59
src/model/workflow/ParamSetting.ts
Normal file
@ -0,0 +1,59 @@
|
||||
import { ApiConfig } from '/@/components/ApiConfig/src/interface';
|
||||
import { ParamType } from '/@/enums/workflowEnum';
|
||||
|
||||
export interface ParamAssignmentConfig {
|
||||
type: ParamType; //赋值类别
|
||||
value: string; // 如果是 type === 值 就存储值
|
||||
varValue: string; // 如果type === 变量 存储所选变量
|
||||
apiConfig: ApiConfig; // 如果type === api 存储api配置
|
||||
formConfig: FormAssignmentSourceConfig; // 如果type === 表单配置 存储api配置
|
||||
target: string; // 目标变量 存储 流程变量名 processConfig 的 id
|
||||
}
|
||||
|
||||
export interface scriptNodeConfig {
|
||||
//脚本参数配置
|
||||
scriptConfig: {
|
||||
enabled: boolean; //是否开始
|
||||
scriptFormat: number; //脚本格式
|
||||
scriptContent: string; //脚本内容
|
||||
};
|
||||
}
|
||||
|
||||
// 流程参数配置
|
||||
export interface ProcessParamConfig {
|
||||
paramName: string; //流程参数
|
||||
paramType: ParamType; //参数类型
|
||||
paramValue: string; //如果是流程类型==值
|
||||
paramApi: ApiConfig; //如果是流程类型==api
|
||||
paramVariable: {}; //如果是流程类型==变量
|
||||
// ParamConfigs: Array<ProcessParamConfigItem>;
|
||||
}
|
||||
// 参数操作 表单赋值 来源 配置
|
||||
export interface FormAssignmentSourceConfig {
|
||||
key: string; //唯一树id
|
||||
formId: string; // 表单id
|
||||
formField: string; //表单字段
|
||||
}
|
||||
// 参数操作 表单赋值 配置
|
||||
export interface FormAssignmentConfig {
|
||||
source: string; // 来源 变量
|
||||
|
||||
target: FormAssignmentSourceConfig; // 目标 表单字段
|
||||
}
|
||||
/**
|
||||
* 参数操作 参数赋值 配置
|
||||
*/
|
||||
export interface AssignmentConfig {
|
||||
formAssignmentConfigs: FormAssignmentConfig[]; //表单赋值
|
||||
paramAssignmentConfigs: ParamAssignmentConfig[]; //参数赋值
|
||||
}
|
||||
/**
|
||||
* 超时处理 配置
|
||||
*/
|
||||
export interface TimeOutConfig {
|
||||
isHandle: number; //超时处理
|
||||
rule: number; //超时机制
|
||||
type: number; //处理方式
|
||||
user: number; //指定人员
|
||||
auto: number; //无处理人
|
||||
}
|
||||
234
src/model/workflow/bpmnConfig.ts
Normal file
234
src/model/workflow/bpmnConfig.ts
Normal file
@ -0,0 +1,234 @@
|
||||
import { MemberConfig } from './memberSetting';
|
||||
import { FormConfigItem, FormSettingItem } from './formSetting';
|
||||
import {
|
||||
EndEventConfig,
|
||||
GatewayConfig,
|
||||
ProcessConfig,
|
||||
ScriptTaskConfig,
|
||||
StartEventConfig,
|
||||
UserTaskConfig,
|
||||
OpinionConfig,
|
||||
SequenceFlowConfig,
|
||||
CallActivityConfig,
|
||||
} from './workflowConfig';
|
||||
import { ApproveType, BpmnNodeKey, FormType } from '/@/enums/workflowEnum';
|
||||
import { ButtonConfigItem } from '/@/model/workflow/workflowConfig';
|
||||
interface basicInfoItem {
|
||||
id: string;
|
||||
name: string;
|
||||
type: BpmnNodeKey;
|
||||
remark: string;
|
||||
}
|
||||
export type InfoId = string;
|
||||
export type InfoItem = basicInfoItem &
|
||||
StartEventConfig &
|
||||
UserTaskConfig &
|
||||
ScriptTaskConfig &
|
||||
GatewayConfig &
|
||||
SequenceFlowConfig &
|
||||
CallActivityConfig &
|
||||
EndEventConfig;
|
||||
export type InfoType = BpmnNodeKey;
|
||||
|
||||
export interface ProcessJson {
|
||||
resourceId: string; //流程id 唯一id
|
||||
processConfig: ProcessConfig; //流程属性配置
|
||||
childNodeConfig: basicInfoItem[]; //子节点配置
|
||||
}
|
||||
export interface BpmnState {
|
||||
modelId: string;
|
||||
info: Map<InfoId, InfoItem>;
|
||||
infoId: InfoId;
|
||||
processInfo: ProcessConfig;
|
||||
defaultFormList: Array<FormSettingItem>;
|
||||
}
|
||||
|
||||
export interface FormInfoItem {
|
||||
formData: Record<string, any> | undefined;
|
||||
formConfig: FormConfigItem;
|
||||
formJson: string;
|
||||
formType: FormType;
|
||||
}
|
||||
export interface FlowInfo {
|
||||
isCountersign: boolean;
|
||||
isAddOrSubSign: boolean;
|
||||
schemaInfo: {
|
||||
category: string;
|
||||
xmlContent: string;
|
||||
name: string;
|
||||
id: string;
|
||||
code: string;
|
||||
remark: string;
|
||||
};
|
||||
formInfos: Array<FormInfoItem>;
|
||||
taskRecords: Array<TaskRecord>;
|
||||
otherProcessApproveRecord: Array<TaskRecordList>;
|
||||
taskApproveOpinions: Array<TaskApproveOpinion>;
|
||||
relationTasks: Array<any>;
|
||||
buttonConfigs?: Array<ButtonConfigItem>;
|
||||
opinionConfig?: OpinionConfig;
|
||||
formAssignmentData: null | undefined | Recordable; //参数赋值
|
||||
}
|
||||
export interface BpmnFlowFormItem {
|
||||
id: string;
|
||||
name: string;
|
||||
code: string;
|
||||
categoryName: string;
|
||||
remark: string;
|
||||
}
|
||||
export interface TaskRecord {
|
||||
comment: string;
|
||||
nodeName: string;
|
||||
nodeType: string;
|
||||
startTime: string;
|
||||
}
|
||||
export interface TaskRecordList {
|
||||
records: Array<TaskRecord>;
|
||||
schemaName: string;
|
||||
}
|
||||
export interface TaskApproveOpinion {
|
||||
approveComment: string;
|
||||
id: string;
|
||||
approveStampUrl: string;
|
||||
approveTime: string;
|
||||
approveUserName: string;
|
||||
approveType: ApproveType;
|
||||
approveResult: string;
|
||||
}
|
||||
export interface BpmnFlowForm {
|
||||
// schemaId: string;
|
||||
item: BpmnFlowFormItem;
|
||||
xml: string;
|
||||
formInfos: Array<FormInfoItem>;
|
||||
relationTasks: Array<{ schemaId: string; schemaName: string }>;
|
||||
taskRecords: Array<TaskRecordList>;
|
||||
taskApproveOpinions: Array<TaskApproveOpinion>;
|
||||
predecessorTasks: Array<SchemaTaskItem>;
|
||||
opinions: Array<TaskApproveOpinion>;
|
||||
opinionsComponents: Array<string>;
|
||||
hasStamp: Boolean;
|
||||
hasStampPassword: Boolean;
|
||||
submitLoading: Boolean;
|
||||
formAssignmentData: null | Recordable; //参数赋值
|
||||
}
|
||||
// 工作流表单校验
|
||||
export type ValidateForms = Array<ValidateFlowForm>;
|
||||
export interface ValidateFlowForm {
|
||||
validate: boolean;
|
||||
msgs: Array<ValidateFlowFormErrorMsg>;
|
||||
result?: any;
|
||||
formKey?: string;
|
||||
isOldSystem?: boolean;
|
||||
}
|
||||
export interface ValidateFlowFormErrorMsg {
|
||||
errors: Array<string>;
|
||||
name: Array<string>;
|
||||
}
|
||||
// 前置任务 列表
|
||||
|
||||
export interface RelationTaskPage {
|
||||
pageSize: number;
|
||||
total: number;
|
||||
list: Array<PredecessorTaskItem>;
|
||||
}
|
||||
export interface PredecessorTaskItem {
|
||||
createTime: string;
|
||||
currentSchedule: null;
|
||||
originator: string;
|
||||
schemaName: string;
|
||||
taskId: string;
|
||||
taskName: string;
|
||||
processId: string;
|
||||
}
|
||||
export interface TaskItem {
|
||||
taskId: string;
|
||||
taskName: string;
|
||||
processId: string;
|
||||
}
|
||||
// 任务数据
|
||||
export interface SchemaTaskItem {
|
||||
schemaId: string;
|
||||
schemaName: string;
|
||||
taskId: string;
|
||||
taskName: string;
|
||||
processId: string;
|
||||
}
|
||||
|
||||
// 提交流程后返回数据格式
|
||||
export type SubmittingProcessData = Array<{
|
||||
provisionalApprover?: boolean;
|
||||
isAppoint: boolean;
|
||||
isMultiInstance: boolean;
|
||||
taskId: string;
|
||||
taskName: string;
|
||||
selectIds: Array<string>;
|
||||
}>;
|
||||
// 下一节点审批人
|
||||
export interface ApproveTask {
|
||||
taskId: string;
|
||||
taskName: string;
|
||||
provisionalApprover?: boolean;
|
||||
selectIds: Array<string>;
|
||||
}
|
||||
|
||||
export interface BatchApproverUser {
|
||||
taskId: string;
|
||||
approvedUsers: Array<string>;
|
||||
}
|
||||
|
||||
export interface BatchApproverInfo {
|
||||
needStamp: boolean;
|
||||
needPassword?: boolean;
|
||||
}
|
||||
export type BatchApproverUsersParams = Array<BatchApproverUser>;
|
||||
|
||||
// 审批数据
|
||||
export interface PostApprovalData {
|
||||
approvedType: number;
|
||||
approvedContent: string;
|
||||
formData: Recordable;
|
||||
rejectNodeActivityId: string;
|
||||
taskId: string;
|
||||
circulateConfigs: Array<MemberConfig>;
|
||||
stampId: string;
|
||||
stampPassword: string;
|
||||
approvedResult: string;
|
||||
fileFolderIds: Array<string>;
|
||||
isOldSystem: Object;
|
||||
}
|
||||
// 批量审批
|
||||
export interface PostBatchApprovalData {
|
||||
approvedType: number;
|
||||
approvedContent: string;
|
||||
taskIds: Array<string>;
|
||||
stampId: string;
|
||||
stampPassword?: string;
|
||||
}
|
||||
|
||||
// 批量审批
|
||||
export interface GetBatchApprovalInfo {
|
||||
taskIds: string;
|
||||
}
|
||||
|
||||
//驳回节点信息
|
||||
export interface rejectNodeItem {
|
||||
activityId: string;
|
||||
activityName: string;
|
||||
}
|
||||
|
||||
// 工作里调用系统表单
|
||||
export interface WorkFlowFormParams {
|
||||
formConfigChildren: Array<FormConfigItem>; // 工作流节点表单权限配置
|
||||
formConfigKey: String; //唯一节点表单key
|
||||
opinions?: Array<TaskApproveOpinion> | undefined; //意见簿意见
|
||||
opinionsComponents?: Array<string> | undefined; //意见簿组件
|
||||
isViewProcess: boolean;
|
||||
uploadIds: Array<string>;
|
||||
formModels: Recordable;
|
||||
}
|
||||
// 系统表单参数
|
||||
export interface SystemComponentConfig {
|
||||
functionalModule: string; //功能模块
|
||||
functionName: string; //功能名称
|
||||
functionFormName: string; //Form页面名称
|
||||
}
|
||||
58
src/model/workflow/formSetting.ts
Normal file
58
src/model/workflow/formSetting.ts
Normal file
@ -0,0 +1,58 @@
|
||||
import { FormType } from '/@/enums/workflowEnum';
|
||||
|
||||
export interface TableItem {
|
||||
required: boolean;
|
||||
view: boolean;
|
||||
edit: boolean;
|
||||
disabled: boolean;
|
||||
isSaveTable?: boolean;
|
||||
tableName: string;
|
||||
fieldName: string;
|
||||
fieldId: string;
|
||||
key: string;
|
||||
isSubTable: boolean;
|
||||
showChildren: boolean;
|
||||
type: string;
|
||||
children: Array<TableItem>;
|
||||
}
|
||||
export interface FormSettingItem {
|
||||
key: string; //formId_key
|
||||
formType: FormType; //表单类型
|
||||
formId: string; //表单ID 系统表单为文件夹名
|
||||
formName: string; //表单名称
|
||||
name?: string; //表单原始名称
|
||||
enabledMark?: number; //禁用:0 禁用 1 启用
|
||||
}
|
||||
export interface FormConfigItem {
|
||||
key: string; //formId_key
|
||||
name?: string; //表单原始名称
|
||||
formType: FormType; //表单类型
|
||||
formId: string; //表单ID 系统表单为文件夹名
|
||||
formName: string; //表单名称
|
||||
showChildren: boolean;
|
||||
requiredAll: boolean;
|
||||
viewAll: boolean;
|
||||
editAll: boolean;
|
||||
children: Array<TableItem>;
|
||||
}
|
||||
// 表单设置
|
||||
export interface FormSetting {
|
||||
formConfigs: Array<FormSettingItem>;
|
||||
}
|
||||
// 功能表单
|
||||
export interface formInitConfig {
|
||||
enabled: boolean;
|
||||
formType: FormType; //表单类型
|
||||
formId: string; //表单ID 系统表单为文件夹名
|
||||
formName: string; //表单名称
|
||||
}
|
||||
// 更新表单 表单数据
|
||||
export interface UpdateFormConfigItem {
|
||||
formKey: string;
|
||||
formName: string;
|
||||
formId: string;
|
||||
formType: FormType;
|
||||
nodeName: string;
|
||||
status: boolean;
|
||||
remark: string;
|
||||
}
|
||||
86
src/model/workflow/memberSetting.ts
Normal file
86
src/model/workflow/memberSetting.ts
Normal file
@ -0,0 +1,86 @@
|
||||
import {
|
||||
AddOrRemoveType,
|
||||
MultipleInstancesType,
|
||||
InstanceCompletionConditions,
|
||||
LevelEnum,
|
||||
MemberType,
|
||||
} from '/@/enums/workflowEnum';
|
||||
import { ApiConfig } from './ParamSetting';
|
||||
/**
|
||||
* 人员(权限)[岗位 角色 用户]
|
||||
*/
|
||||
export type MemberListConfig = {
|
||||
id: string;
|
||||
name: string;
|
||||
type: string;
|
||||
};
|
||||
// 节点
|
||||
export type NodesConfig = {
|
||||
id: string;
|
||||
name: string;
|
||||
checked?: boolean;
|
||||
};
|
||||
//表单配置
|
||||
export type FormFiledConfig = {
|
||||
key: string;
|
||||
title: string;
|
||||
children: Array<FormFiledConfig>;
|
||||
disabled: boolean;
|
||||
label?: string;
|
||||
buttons?: Array<FormFiledConfig>;
|
||||
};
|
||||
|
||||
//表单配置
|
||||
export type FormFiled = {
|
||||
key: string;
|
||||
title: string;
|
||||
children: Array<FormFiledConfig>;
|
||||
disabled: boolean;
|
||||
formId: string;
|
||||
formField: string;
|
||||
label?: string;
|
||||
};
|
||||
|
||||
/**
|
||||
* 上级领导配置
|
||||
*/
|
||||
interface LeaderConfig {
|
||||
nodeId: string;
|
||||
level: LevelEnum;
|
||||
}
|
||||
export interface MemberConfig {
|
||||
memberType: MemberType;
|
||||
id: string; //存储所选值Id
|
||||
name: string; //存储所选值name
|
||||
leaderConfig?: LeaderConfig; //上级领导配置
|
||||
formFieldConfig?: {
|
||||
//表单字段
|
||||
nodeId: string;
|
||||
formId: string;
|
||||
formField: string;
|
||||
formKey: string;
|
||||
};
|
||||
apiConfig?: ApiConfig;
|
||||
}
|
||||
export interface CountersignMemberConfig {
|
||||
memberType: MemberType;
|
||||
id: string; //存储所选值Id
|
||||
name: string; //存储所选值name
|
||||
leaderConfig?: LeaderConfig; //上级领导配置
|
||||
formFieldConfig?: {
|
||||
//表单字段
|
||||
nodeId: string;
|
||||
formId: string;
|
||||
formField: string;
|
||||
formKey: string;
|
||||
};
|
||||
checked: boolean; //会签节点是否
|
||||
}
|
||||
|
||||
export interface CountersignConfig {
|
||||
multipleInstancesType: MultipleInstancesType; //多实例类型
|
||||
addOrRemove: AddOrRemoveType; //加签 或者 减签
|
||||
finishType: InstanceCompletionConditions; //完成条件 多实例
|
||||
percentage: number;
|
||||
countersignList: Array<CountersignMemberConfig>; //会签人员
|
||||
}
|
||||
286
src/model/workflow/workflowConfig.ts
Normal file
286
src/model/workflow/workflowConfig.ts
Normal file
@ -0,0 +1,286 @@
|
||||
//流程配置json
|
||||
|
||||
import { InfoId } from './bpmnConfig';
|
||||
import { FormConfigItem, formInitConfig, FormSettingItem } from './formSetting';
|
||||
import { CountersignConfig, MemberConfig } from './memberSetting';
|
||||
import { AssignmentConfig, TimeOutConfig } from './ParamSetting';
|
||||
import { ApiConfig } from '/@/components/ApiConfig/src/interface';
|
||||
|
||||
import {
|
||||
ApprovalOpinionDisplayType,
|
||||
AuthType,
|
||||
AutoAgreeRule,
|
||||
ButtonType,
|
||||
DesignatedApprover,
|
||||
ElectronicSignatureVerification,
|
||||
NoHandler,
|
||||
NoticePolicyType,
|
||||
OperationType,
|
||||
ProcessStatus,
|
||||
RecordType,
|
||||
TaskPermissions,
|
||||
RejectType,
|
||||
CallActivityType,
|
||||
FinishType,
|
||||
ExecutionType,
|
||||
MemberType,
|
||||
ApproveType,
|
||||
NodeEventExType,
|
||||
} from '/@/enums/workflowEnum';
|
||||
import { BpmnNodeKey } from '/@/enums/workflowEnum';
|
||||
|
||||
export interface ProcessJsonModel {
|
||||
processConfig: ProcessConfig; //流程属性配置
|
||||
//子节点配置
|
||||
childNodeConfig: ChildNodeConfig;
|
||||
}
|
||||
export type ChildNodeItem =
|
||||
| StartEventConfig
|
||||
| UserTaskConfig
|
||||
| ScriptTaskConfig
|
||||
| GatewayConfig
|
||||
| EndEventConfig;
|
||||
export type ChildNodeConfig = Array<ChildNodeItem>;
|
||||
// 专项菜单
|
||||
export interface MenuConfig {
|
||||
enabled: boolean;
|
||||
code: string;
|
||||
name: string;
|
||||
system: undefined | string;
|
||||
parentId: undefined | string;
|
||||
icon: string;
|
||||
order: undefined | number;
|
||||
remark: string;
|
||||
}
|
||||
|
||||
// 权限设置
|
||||
interface AuthConfig {
|
||||
authType: AuthType; //权限设置 0 所有 1 指定
|
||||
authMemberConfigs?: MemberConfig[]; //必须authType === 1 权限指定的人员
|
||||
}
|
||||
//超时提醒
|
||||
interface TimeoutConfig {
|
||||
enabled: boolean; //是否提醒
|
||||
hour: undefined | number; //超时时间
|
||||
interval: undefined | number; //消息间隔
|
||||
pushHits: undefined | number; //推送次数
|
||||
pushMemberConfigs: MemberConfig[]; //推送人
|
||||
}
|
||||
|
||||
//关联任务
|
||||
export interface RelationProcessConfig {
|
||||
id: string; //模板id
|
||||
name: string; //模板名称
|
||||
code: string; //模板编码
|
||||
definitionKey?: string; //定义可以
|
||||
processStatus?: ProcessStatus; //流程状态
|
||||
processAuth?: TaskPermissions; //任务权限
|
||||
}
|
||||
// 命名规则
|
||||
export interface NameRuleItem {
|
||||
key: string;
|
||||
title: string;
|
||||
}
|
||||
export type NameRule = Array<NameRuleItem>;
|
||||
export type ProcessConfigParameter = Array<ProcessParameter>;
|
||||
export interface ProcessConfig {
|
||||
processId: string; //节点id
|
||||
type: BpmnNodeKey; //节点类型
|
||||
name: string; //节点名称
|
||||
parentId: string; //父节点(流程id)
|
||||
remark: string; //节点描述
|
||||
code: string; //模板编码
|
||||
category: undefined | string; //分类
|
||||
nameRule?: string; //命名规则
|
||||
nameRuleConfigs?: NameRule; // 命名规则列表
|
||||
autoAgreeRule?: Array<AutoAgreeRule>; //自动同意规则
|
||||
isPrevChooseNext: DesignatedApprover; //是否上一节点审批人指定下一节点审批人
|
||||
noHandler: NoHandler; //无对应处理人
|
||||
defaultFormList: Array<FormSettingItem>; //默认表单
|
||||
appShow: boolean; //移动端是否显示
|
||||
content?: string; //bpmn 设计 xml
|
||||
authConfig: AuthConfig; //权限设置
|
||||
menuConfig: MenuConfig; //是否启用菜单
|
||||
formInitConfig: formInitConfig; //表单发起流程
|
||||
timeoutRemidConfig: TimeoutConfig; //超时提醒配置
|
||||
relationProcessConfigs: Array<RelationProcessConfig>; //关联任务
|
||||
processParamConfigs: ProcessConfigParameter; //流程参数
|
||||
xmlContent: String; //xml
|
||||
}
|
||||
|
||||
// 参数操作
|
||||
export interface ProcessParameter {
|
||||
id: string;
|
||||
name: string;
|
||||
type: OperationType;
|
||||
value: string;
|
||||
apiConfig: ApiConfig;
|
||||
}
|
||||
// 输入参数
|
||||
|
||||
/**
|
||||
* 开始节点配置
|
||||
*/
|
||||
export interface StartEventConfig extends BasicNodeConfig {
|
||||
parentId: string; //父节点(流程id)
|
||||
assignmentConfig: AssignmentConfig; //参数操作
|
||||
formConfigs: Array<FormConfigItem>; // 表单配置
|
||||
subProcessInitiator: string; //子流程开始节点发起人
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户节点配置
|
||||
*/
|
||||
|
||||
//按钮配置
|
||||
export interface ButtonConfigItem {
|
||||
approveType: ApproveType; //审批类型
|
||||
buttonType: ButtonType; //按钮类型
|
||||
buttonName: string; //按钮名称
|
||||
buttonCode: string; //按钮编码
|
||||
checked: boolean; //选中
|
||||
scriptContent?: string; //脚本内容
|
||||
scriptLanguage?: number; //脚本格式
|
||||
apiConfig?: ApiConfig; //api配置
|
||||
buttonOpera?: RejectType; //驳回类型
|
||||
}
|
||||
// 意见簿
|
||||
export interface OpinionConfig {
|
||||
enabled: boolean; //是否关联表单
|
||||
showType: ApprovalOpinionDisplayType; //审批意见展示类型 0 显示所有 1 显示最终结果
|
||||
signature: ElectronicSignatureVerification; //电子签章验证
|
||||
component: Array<string>; //关联意见框组件
|
||||
}
|
||||
/**
|
||||
* 用户任务配置
|
||||
*/
|
||||
export interface UserTaskConfig extends BasicNodeConfig {
|
||||
parentId: string; //父节点(流程id)
|
||||
currentProgress: undefined | number; //进度
|
||||
autoAgreeRule: Array<AutoAgreeRule>; //自动同意规则
|
||||
isPrevChooseNext: DesignatedApprover; //是否上一节点审批人指定下一节点审批人
|
||||
noHandler: NoHandler; //无对应处理人
|
||||
provisionalApprover: Boolean; //临时审批人
|
||||
noticePolicyConfigs: NoticePolicyType[]; //通知策略
|
||||
approverConfigs: MemberConfig[]; //审批人
|
||||
// authMember: MemberConfig; //审批人
|
||||
circulateConfigs: MemberConfig[]; //传阅人
|
||||
countersignConfig: CountersignConfig; //会签
|
||||
buttonConfigs: Array<ButtonConfigItem>;
|
||||
opinionConfig: OpinionConfig;
|
||||
formConfigs: Array<FormConfigItem>; // 表单配置
|
||||
assignmentConfig: AssignmentConfig; //参数操作
|
||||
timeOutHandle: TimeOutConfig; //超时处理
|
||||
}
|
||||
/**
|
||||
* 脚本节点配置
|
||||
*/
|
||||
export interface ScriptTaskConfig extends BasicNodeConfig {
|
||||
parentId: string; //父节点(流程id)
|
||||
noticePolicyConfigs: NoticePolicyType[]; //通知策略
|
||||
recordInfo: RecordType; //记录信息
|
||||
script: {
|
||||
enabled: boolean;
|
||||
scriptFormat: string; //脚本格式
|
||||
scriptContent: string; //脚本内容
|
||||
};
|
||||
api: {
|
||||
enabled: boolean;
|
||||
apiConfig: ApiConfig;
|
||||
};
|
||||
assignmentConfig: AssignmentConfig; //参数操作
|
||||
}
|
||||
|
||||
/**
|
||||
* 网关配置
|
||||
*/
|
||||
export interface GatewayConfig extends BasicNodeConfig {
|
||||
parentId: string; //父节点(流程id)
|
||||
}
|
||||
/**
|
||||
* 结束配置
|
||||
*/
|
||||
export interface EndEventConfig extends BasicNodeConfig {
|
||||
parentId: string; //父节点(流程id)
|
||||
noticePolicyConfigs: NoticePolicyType[]; //通知策略
|
||||
}
|
||||
|
||||
/**
|
||||
* 子流程配置
|
||||
*/
|
||||
export interface SubProcessConfig extends BasicNodeConfig {
|
||||
parentId: string; //父节点(流程id)
|
||||
//子流程发起人 (选择的是主流程的某个节点 所以存储的也是子流程节点的id)
|
||||
mainProcessNodeId: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* 流程线配置
|
||||
*/
|
||||
export interface SequenceFlowConfig extends BasicNodeConfig {
|
||||
parentId: string; //父节点(流程id)
|
||||
conditionConfigs: ConditionConfig[]; //变量来源
|
||||
}
|
||||
|
||||
/**
|
||||
* 流转条件配置
|
||||
*/
|
||||
export interface ConditionConfig {
|
||||
nodeId: string;
|
||||
formId: string;
|
||||
formField: string;
|
||||
}
|
||||
export interface CallActivityParams {
|
||||
source: string;
|
||||
target: string;
|
||||
}
|
||||
/**
|
||||
* 外部流程
|
||||
*/
|
||||
export interface CallActivityConfig extends BasicNodeConfig {
|
||||
parentId: string; //父节点(流程id)
|
||||
schemaId: string; //被调用元素(外部流程schemaId)
|
||||
schemaName: string; //被调用元素(外部流程schemaName)
|
||||
callActivityType: CallActivityType.SINGLE; // 调用类型
|
||||
finishType: FinishType.ALL; //完成条件
|
||||
percentOf: undefined | Number; //百分比数值
|
||||
executionType: ExecutionType; //执行类型
|
||||
originatorType: MemberType; //发起人类型
|
||||
originatorNode: string; //如果调用类型为单实例 子流程发起人
|
||||
originatorConfig: string; //发起人表单数据配置
|
||||
inParams: CallActivityParams[]; //输入参数
|
||||
outParams: CallActivityParams[]; //输出参数
|
||||
}
|
||||
|
||||
export type ValidateProcessConfigs = Array<{
|
||||
nodeName: string; //节点名称
|
||||
nodeType: BpmnNodeKey; //节点类型
|
||||
msg: string;
|
||||
validate: boolean;
|
||||
}>;
|
||||
|
||||
export interface BasicNodeConfig {
|
||||
id: string; //节点id
|
||||
type: BpmnNodeKey; //节点类型
|
||||
name: string; //节点名称
|
||||
remark: string; //节点描述
|
||||
startEventConfigs: NodeEventConfig[];
|
||||
endEventConfigs: NodeEventConfig[];
|
||||
}
|
||||
|
||||
export interface NodeEventConfig {
|
||||
type: NodeEventExType; //节点类型:
|
||||
apiConfig?: ApiConfig; //APi配置
|
||||
liteflowId?: string; //流程引擎
|
||||
}
|
||||
|
||||
export interface RootElement {
|
||||
id: InfoId;
|
||||
name: string;
|
||||
$type: BpmnNodeKey;
|
||||
incoming?: Array<RootElement>;
|
||||
outgoing?: Array<RootElement>;
|
||||
flowElements?: Array<RootElement>;
|
||||
}
|
||||
|
||||
export type RootElements = Array<RootElement>;
|
||||
Reference in New Issue
Block a user