diff --git a/apps/vue/src/components/FlowDesign/index.ts b/apps/vue/src/components/FlowDesign/index.ts new file mode 100644 index 000000000..ef42f5bcd --- /dev/null +++ b/apps/vue/src/components/FlowDesign/index.ts @@ -0,0 +1,3 @@ +import ProcessDesign from './src/components/ProcessDesign.vue'; + +export { ProcessDesign }; diff --git a/apps/vue/src/components/FlowDesign/src/components/Ellipsis.vue b/apps/vue/src/components/FlowDesign/src/components/Ellipsis.vue new file mode 100644 index 000000000..07b09746c --- /dev/null +++ b/apps/vue/src/components/FlowDesign/src/components/Ellipsis.vue @@ -0,0 +1,45 @@ + + + + + diff --git a/apps/vue/src/components/FlowDesign/src/components/InsertButton.vue b/apps/vue/src/components/FlowDesign/src/components/InsertButton.vue new file mode 100644 index 000000000..81075cf65 --- /dev/null +++ b/apps/vue/src/components/FlowDesign/src/components/InsertButton.vue @@ -0,0 +1,115 @@ + + + + + diff --git a/apps/vue/src/components/FlowDesign/src/components/OrgItems.vue b/apps/vue/src/components/FlowDesign/src/components/OrgItems.vue new file mode 100644 index 000000000..c9cd382e7 --- /dev/null +++ b/apps/vue/src/components/FlowDesign/src/components/OrgItems.vue @@ -0,0 +1,45 @@ + + + + + \ No newline at end of file diff --git a/apps/vue/src/components/FlowDesign/src/components/ProcessDesign.vue b/apps/vue/src/components/FlowDesign/src/components/ProcessDesign.vue new file mode 100644 index 000000000..41a453817 --- /dev/null +++ b/apps/vue/src/components/FlowDesign/src/components/ProcessDesign.vue @@ -0,0 +1,141 @@ + + + + + \ No newline at end of file diff --git a/apps/vue/src/components/FlowDesign/src/components/config/NodeConfig.vue b/apps/vue/src/components/FlowDesign/src/components/config/NodeConfig.vue new file mode 100644 index 000000000..e69de29bb diff --git a/apps/vue/src/components/FlowDesign/src/components/config/RootNodeConfig.vue b/apps/vue/src/components/FlowDesign/src/components/config/RootNodeConfig.vue new file mode 100644 index 000000000..d796fc516 --- /dev/null +++ b/apps/vue/src/components/FlowDesign/src/components/config/RootNodeConfig.vue @@ -0,0 +1,45 @@ + + + + + \ No newline at end of file diff --git a/apps/vue/src/components/FlowDesign/src/components/config/TriggerNodeConfig.vue b/apps/vue/src/components/FlowDesign/src/components/config/TriggerNodeConfig.vue new file mode 100644 index 000000000..82545dd8e --- /dev/null +++ b/apps/vue/src/components/FlowDesign/src/components/config/TriggerNodeConfig.vue @@ -0,0 +1,187 @@ + + + + + diff --git a/apps/vue/src/components/FlowDesign/src/components/nodes/ApprovalNode.vue b/apps/vue/src/components/FlowDesign/src/components/nodes/ApprovalNode.vue new file mode 100644 index 000000000..c742ef498 --- /dev/null +++ b/apps/vue/src/components/FlowDesign/src/components/nodes/ApprovalNode.vue @@ -0,0 +1,161 @@ + + + + + \ No newline at end of file diff --git a/apps/vue/src/components/FlowDesign/src/components/nodes/CcNode.vue b/apps/vue/src/components/FlowDesign/src/components/nodes/CcNode.vue new file mode 100644 index 000000000..4bb292bd7 --- /dev/null +++ b/apps/vue/src/components/FlowDesign/src/components/nodes/CcNode.vue @@ -0,0 +1,76 @@ + + + + + + + \ No newline at end of file diff --git a/apps/vue/src/components/FlowDesign/src/components/nodes/ConcurrentNode.vue b/apps/vue/src/components/FlowDesign/src/components/nodes/ConcurrentNode.vue new file mode 100644 index 000000000..9233d1559 --- /dev/null +++ b/apps/vue/src/components/FlowDesign/src/components/nodes/ConcurrentNode.vue @@ -0,0 +1,184 @@ + + + + + + + diff --git a/apps/vue/src/components/FlowDesign/src/components/nodes/ConditionNode.vue b/apps/vue/src/components/FlowDesign/src/components/nodes/ConditionNode.vue new file mode 100644 index 000000000..a6f21f304 --- /dev/null +++ b/apps/vue/src/components/FlowDesign/src/components/nodes/ConditionNode.vue @@ -0,0 +1,330 @@ + + + + + + + \ No newline at end of file diff --git a/apps/vue/src/components/FlowDesign/src/components/nodes/DelayNode.vue b/apps/vue/src/components/FlowDesign/src/components/nodes/DelayNode.vue new file mode 100644 index 000000000..013f46005 --- /dev/null +++ b/apps/vue/src/components/FlowDesign/src/components/nodes/DelayNode.vue @@ -0,0 +1,94 @@ + + + + + + + \ No newline at end of file diff --git a/apps/vue/src/components/FlowDesign/src/components/nodes/EmptyNode.vue b/apps/vue/src/components/FlowDesign/src/components/nodes/EmptyNode.vue new file mode 100644 index 000000000..bb9c4b382 --- /dev/null +++ b/apps/vue/src/components/FlowDesign/src/components/nodes/EmptyNode.vue @@ -0,0 +1,19 @@ + + + + + + + \ No newline at end of file diff --git a/apps/vue/src/components/FlowDesign/src/components/nodes/Node.vue b/apps/vue/src/components/FlowDesign/src/components/nodes/Node.vue new file mode 100644 index 000000000..999826c3d --- /dev/null +++ b/apps/vue/src/components/FlowDesign/src/components/nodes/Node.vue @@ -0,0 +1,191 @@ + + + + + diff --git a/apps/vue/src/components/FlowDesign/src/components/nodes/RootNode.vue b/apps/vue/src/components/FlowDesign/src/components/nodes/RootNode.vue new file mode 100644 index 000000000..b3d5fd59a --- /dev/null +++ b/apps/vue/src/components/FlowDesign/src/components/nodes/RootNode.vue @@ -0,0 +1,52 @@ + + + + + + + \ No newline at end of file diff --git a/apps/vue/src/components/FlowDesign/src/components/nodes/TriggerNode.vue b/apps/vue/src/components/FlowDesign/src/components/nodes/TriggerNode.vue new file mode 100644 index 000000000..900f46441 --- /dev/null +++ b/apps/vue/src/components/FlowDesign/src/components/nodes/TriggerNode.vue @@ -0,0 +1,79 @@ + + + + + + + \ No newline at end of file diff --git a/apps/vue/src/components/FlowDesign/src/components/process/DefaultNodeProps.ts b/apps/vue/src/components/FlowDesign/src/components/process/DefaultNodeProps.ts new file mode 100644 index 000000000..a56c95657 --- /dev/null +++ b/apps/vue/src/components/FlowDesign/src/components/process/DefaultNodeProps.ts @@ -0,0 +1,112 @@ +//审批节点默认属性 +export const APPROVAL_PROPS = { + assignedType: "ASSIGN_USER", + mode: "AND", + sign: false, + nobody: { + handler: "TO_PASS", + assignedUser:[] + }, + timeLimit:{ + timeout:{ + unit: "H", + value: 0 + }, + handler:{ + type: "REFUSE", + notify:{ + once: true, + hour: 1 + } + } + }, + assignedUser:[], + formPerms:[], + selfSelect: { + multiple: false + }, + leaderTop: { + endCondition: "TOP", + endLevel: 1, + }, + leader:{ + level: 1 + }, + role:[], + refuse: { + type: 'TO_END', //驳回规则 TO_END TO_NODE TO_BEFORE + target: '' //驳回到指定ID的节点 + }, + formUser: '' +} + +//根节点默认属性 +export const ROOT_PROPS = { + assignedUser: [], + formPerms:[] +} + +//条件节点默认属性 +export const CONDITION_PROPS = { + groupsType:"OR", //条件组逻辑关系 OR、AND + groups:[ + { + groupType:"AND", //条件组内条件关系 OR、AND + cids:[], //条件ID集合 + conditions:[] //组内子条件 + } + ], + expression: "" //自定义表达式,灵活构建逻辑关系 +} + +//抄送节点默认属性 +export const CC_PROPS = { + shouldAdd: false, + assignedUser: [], + formPerms:[] +} + +//触发器节点默认属性 +export const TRIGGER_PROPS = { + type: 'WEBHOOK', + http:{ + method: 'GET', //请求方法 支持GET/POST + url: '', //URL地址,可以直接带参数 + headers: [ //http header + { + name: '', + isField: true, + value: '' //支持表达式 ${xxx} xxx为表单字段名称 + } + ], + contentType: 'FORM', //请求参数类型 + params:[ //请求参数 + { + name: '', + isField: true, //是表单字段还是自定义 + value: '' //支持表达式 ${xxx} xxx为表单字段名称 + } + ], + retry: 1, + handlerByScript: false, + success: 'function handlerOk(res) {\n return true;\n}', + fail: 'function handlerFail(res) {\n return true;\n}' + }, + email:{ + subject: '', + to: [], + content: '' + } +} + +//延时节点默认属性 +export const DELAY_PROPS = { + type: "FIXED", //延时类型 FIXED:到达当前节点后延时固定时长 、AUTO:延时到 dateTime设置的时间 + time: 0, //延时时间 + unit: "M", //时间单位 D天 H小时 M分钟 + dateTime: "" //如果当天没有超过设置的此时间点,就延时到这个指定的时间,到了就直接跳过不延时 +} + +export default { + APPROVAL_PROPS, CC_PROPS, DELAY_PROPS, CONDITION_PROPS, ROOT_PROPS, TRIGGER_PROPS +} diff --git a/apps/vue/src/components/FlowDesign/src/components/process/ProcessTree.vue b/apps/vue/src/components/FlowDesign/src/components/process/ProcessTree.vue new file mode 100644 index 000000000..03f95c0df --- /dev/null +++ b/apps/vue/src/components/FlowDesign/src/components/process/ProcessTree.vue @@ -0,0 +1,541 @@ + + +