From c197cf79052854abe235be69ccf8bf70624c1366 Mon Sep 17 00:00:00 2001
From: lvjunzhao <967725@dms.yudean.com>
Date: Mon, 14 Apr 2025 16:51:22 +0800
Subject: [PATCH 1/3] =?UTF-8?q?feat:=E6=96=B0=E5=A2=9E=20=E5=85=A8?=
=?UTF-8?q?=E5=B1=80=E4=BC=9A=E7=AD=BE=20=E5=9B=9E=E8=B0=83=20=E5=92=8C=20?=
=?UTF-8?q?=E8=8A=82=E7=82=B9=E4=B8=8A=E7=9A=84=20=E4=BC=9A=E7=AD=BE?=
=?UTF-8?q?=EF=BC=8C=E9=A2=84=E5=AE=A1=EF=BC=8C=E5=90=8C=E6=84=8F=EF=BC=8C?=
=?UTF-8?q?=E9=80=80=E5=9B=9E=E7=9A=84=E5=9B=9E=E8=B0=83?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/model/workflow/workflowConfig.ts | 6 +
.../design/bpmn/components/BasicPanel.vue | 382 +++++++++++++++++-
.../design/bpmn/config/propertyConfig.ts | 6 +
.../bpmn/panel/process/globalEvent/Index.vue | 84 +++-
4 files changed, 473 insertions(+), 5 deletions(-)
diff --git a/src/model/workflow/workflowConfig.ts b/src/model/workflow/workflowConfig.ts
index d40fba5..389f10b 100644
--- a/src/model/workflow/workflowConfig.ts
+++ b/src/model/workflow/workflowConfig.ts
@@ -114,6 +114,7 @@ export interface ProcessConfig {
globalAgreeEventConfigs: NodeEventConfig[];//全局同意事件
globalSuspendedEventConfigs: NodeEventConfig[];//全局 挂起/暂停事件
globalRestoreEventConfigs: NodeEventConfig[];//全局 恢复事件
+ globalSetSignEventConfigs: NodeEventConfig[];//全局 会签事件
xmlContent: String; //xml
}
@@ -287,6 +288,11 @@ export interface BasicNodeConfig {
remark: string; //节点描述
startEventConfigs: NodeEventConfig[];
endEventConfigs: NodeEventConfig[];
+ prequalifyBeforeEventConfigs: [],//预审前
+ prequalifyAfterEventConfigs: [],//预审后
+ rejectEventConfigs: [],//全局退回事件
+ agreeEventConfigs: [],//全局同意事件
+ setSignEventConfigs: [],//全局 会签事件
}
export interface NodeEventConfig {
diff --git a/src/views/workflow/design/bpmn/components/BasicPanel.vue b/src/views/workflow/design/bpmn/components/BasicPanel.vue
index 4fe53ad..9098abd 100644
--- a/src/views/workflow/design/bpmn/components/BasicPanel.vue
+++ b/src/views/workflow/design/bpmn/components/BasicPanel.vue
@@ -51,6 +51,7 @@
{{ t('执行API') }}
{{ t('规则引擎') }}
+ {{ t('类注入') }}
@@ -76,6 +77,11 @@
:options="liteFlowOptions"
:field-names="{ label: 'chainName', value: 'id' }"
/>
+
@@ -105,6 +111,7 @@
{{ t('执行API') }}
{{ t('规则引擎') }}
+ {{ t('类注入') }}
@@ -130,6 +137,11 @@
:options="liteFlowOptions"
:field-names="{ label: 'chainName', value: 'id' }"
/>
+
@@ -137,6 +149,306 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ t('执行API') }}
+ {{ t('规则引擎') }}
+ {{ t('类注入') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ t('执行API') }}
+ {{ t('规则引擎') }}
+ {{ t('类注入') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ t('执行API') }}
+ {{ t('规则引擎') }}
+ {{ t('类注入') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ t('执行API') }}
+ {{ t('规则引擎') }}
+ {{ t('类注入') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ t('执行API') }}
+ {{ t('规则引擎') }}
+ {{ t('类注入') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -167,6 +479,9 @@
import Sortable from 'sortablejs';
import { NodeEventExType } from '/@/enums/workflowEnum';
import { NodeEventConfig } from '/@/model/workflow/workflowConfig';
+ import {
+ BpmnNodeKey,
+ } from '/@/enums/workflowEnum';
const { t } = useI18n();
const { showPanel, formInfo, nodeName } = useStateFormInfo();
const updateElementName = inject('updateElementName') as any;
@@ -222,7 +537,12 @@
() => {
if (
formInfo.value.endEventConfigs?.length > 0 ||
- formInfo.value.startEventConfigs?.length > 0
+ formInfo.value.startEventConfigs?.length > 0 ||
+ formInfo.value.setSignEventConfigs?.length > 0 ||
+ formInfo.value.prequalifyBeforeEventConfigs?.length > 0 ||
+ formInfo.value.prequalifyAfterEventConfigs?.length > 0 ||
+ formInfo.value.agreeEventConfigs?.length > 0 ||
+ formInfo.value.rejectEventConfigs?.length > 0
) {
nextTick(() => {
const tbody: any = document.querySelector('.ant-table-tbody');
@@ -246,6 +566,66 @@
const getList = async () => {
liteFlowOptions.value = (await getLiteflowList()) || [];
};
+
+ //新增会签 因为旧值中不包含,所以html 判断node节点,这里对add 可以新增空数组
+ const addSetSignEvent = () => {
+ formInfo.value.setSignEventConfigs = formInfo.value.setSignEventConfigs==null?[]:formInfo.value.setSignEventConfigs;
+ formInfo.value.setSignEventConfigs.push({
+ type: NodeEventExType.API,
+ apiConfig: {},
+ } as NodeEventConfig);
+ };
+ const deleteSetSignEvent = (index) => {
+ formInfo.value.setSignEventConfigs.splice(index, 1);
+ };
+
+ // 预审前 因为旧值中不包含,所以html 判断node节点,这里对add 可以新增空数组
+ const addPrequalifyBeforeEvent = () => {
+ formInfo.value.prequalifyBeforeEventConfigs = formInfo.value.prequalifyBeforeEventConfigs==null?[]:formInfo.value.prequalifyBeforeEventConfigs;
+ formInfo.value.prequalifyBeforeEventConfigs.push({
+ type: NodeEventExType.API,
+ apiConfig: {},
+ } as NodeEventConfig);
+ };
+ const deletePrequalifyBeforeEvent = (index) => {
+ formInfo.value.prequalifyBeforeEventConfigs.splice(index, 1);
+ };
+
+ // 预审后 因为旧值中不包含,所以html 判断node节点,这里对add 可以新增空数组
+ const addPrequalifyAfterEvent = () => {
+ formInfo.value.prequalifyAfterEventConfigs = formInfo.value.prequalifyAfterEventConfigs==null?[]:formInfo.value.prequalifyAfterEventConfigs;
+ formInfo.value.prequalifyAfterEventConfigs.push({
+ type: NodeEventExType.API,
+ apiConfig: {},
+ } as NodeEventConfig);
+ };
+ const deletePrequalifyAfterEvent = (index) => {
+ formInfo.value.prequalifyAfterEventConfigs.splice(index, 1);
+ };
+
+ // 同意 因为旧值中不包含,所以html 判断node节点,这里对add 可以新增空数组
+ const addAgreeEvent = () => {
+ formInfo.value.agreeEventConfigs = formInfo.value.agreeEventConfigs==null?[]:formInfo.value.agreeEventConfigs;
+ formInfo.value.agreeEventConfigs.push({
+ type: NodeEventExType.API,
+ apiConfig: {},
+ } as NodeEventConfig);
+ };
+ const deleteAgreeEvent = (index) => {
+ formInfo.value.agreeEventConfigs.splice(index, 1);
+ };
+
+ // 退回 因为旧值中不包含,所以html 判断node节点,这里对add 可以新增空数组
+ const addRejectEvent = () => {
+ formInfo.value.rejectEventConfigs = formInfo.value.rejectEventConfigs==null?[]:formInfo.value.rejectEventConfigs;
+ formInfo.value.rejectEventConfigs.push({
+ type: NodeEventExType.API,
+ apiConfig: {},
+ } as NodeEventConfig);
+ };
+ const deleteRejectEvent = (index) => {
+ formInfo.value.rejectEventConfigs.splice(index, 1);
+ };