diff --git a/apps/web-antd/src/components/simple-process-design/components/nodes-config/user-task-node-config.vue b/apps/web-antd/src/components/simple-process-design/components/nodes-config/user-task-node-config.vue
index 66e6ed5ad..5dc75bacb 100644
--- a/apps/web-antd/src/components/simple-process-design/components/nodes-config/user-task-node-config.vue
+++ b/apps/web-antd/src/components/simple-process-design/components/nodes-config/user-task-node-config.vue
@@ -359,7 +359,8 @@ async function saveConfig() {
currentNode.value.signEnable = configForm.value.signEnable;
// 审批意见
currentNode.value.reasonRequire = configForm.value.reasonRequire;
-
+ // 跳过表达式
+ currentNode.value.skipExpression = configForm.value.skipExpression;
currentNode.value.showText = getShowText();
drawerApi.close();
return true;
@@ -443,7 +444,8 @@ function showUserTaskNodeConfig(node: SimpleFlowNode) {
configForm.value.signEnable = node?.signEnable ?? false;
// 7. 审批意见
configForm.value.reasonRequire = node?.reasonRequire ?? false;
-
+ // 8. 跳过表达式
+ configForm.value.skipExpression = node?.skipExpression ?? '';
drawerApi.open();
}
@@ -850,7 +852,7 @@ onMounted(() => {
label="流程表达式"
name="expression"
>
-
+
@@ -1117,6 +1119,16 @@ onMounted(() => {
/>
+
diff --git a/apps/web-antd/src/components/simple-process-design/consts.ts b/apps/web-antd/src/components/simple-process-design/consts.ts
index cced73c1e..87f947dcb 100644
--- a/apps/web-antd/src/components/simple-process-design/consts.ts
+++ b/apps/web-antd/src/components/simple-process-design/consts.ts
@@ -602,6 +602,8 @@ export interface SimpleFlowNode {
signEnable?: boolean;
// 审批意见
reasonRequire?: boolean;
+ // 跳过表达式
+ skipExpression?: string;
// 触发器设置
triggerSetting?: TriggerSetting;
// 子流程
diff --git a/apps/web-antd/src/components/simple-process-design/helpers.ts b/apps/web-antd/src/components/simple-process-design/helpers.ts
index 0d1670a5c..31f344ace 100644
--- a/apps/web-antd/src/components/simple-process-design/helpers.ts
+++ b/apps/web-antd/src/components/simple-process-design/helpers.ts
@@ -214,6 +214,7 @@ export type UserTaskFormType = {
returnNodeId?: string;
roleIds?: number[]; // 角色
signEnable: boolean;
+ skipExpression?: string; // 跳过表达式
taskAssignListener?: {
body: HttpRequestParam[];
header: HttpRequestParam[];
diff --git a/apps/web-antd/src/utils/constants.ts b/apps/web-antd/src/utils/constants.ts
index ac3c61283..3a3476cb2 100644
--- a/apps/web-antd/src/utils/constants.ts
+++ b/apps/web-antd/src/utils/constants.ts
@@ -979,11 +979,11 @@ export enum BpmTaskStatusEnum {
* 审批通过
*/
APPROVE = 2,
-
/**
* 审批通过中
*/
APPROVING = 7,
+
/**
* 已取消
*/
@@ -992,7 +992,6 @@ export enum BpmTaskStatusEnum {
* 未开始
*/
NOT_START = -1,
-
/**
* 审批不通过
*/
@@ -1002,10 +1001,15 @@ export enum BpmTaskStatusEnum {
* 已退回
*/
RETURN = 5,
+
/**
* 审批中
*/
RUNNING = 1,
+ /**
+ * 跳过
+ */
+ SKIP = -2,
/**
* 待审批
*/
diff --git a/apps/web-antd/src/views/bpm/processInstance/detail/modules/time-line.vue b/apps/web-antd/src/views/bpm/processInstance/detail/modules/time-line.vue
index 424413a30..f588d07d0 100644
--- a/apps/web-antd/src/views/bpm/processInstance/detail/modules/time-line.vue
+++ b/apps/web-antd/src/views/bpm/processInstance/detail/modules/time-line.vue
@@ -43,6 +43,8 @@ const statusIconMap: Record<
string,
{ animation?: string; color: string; icon: string }
> = {
+ // 跳过
+ '-2': { color: '#909398', icon: 'mdi:skip-forward-outline' },
// 审批未开始
'-1': { color: '#909398', icon: 'mdi:clock-outline' },
// 待审批
@@ -267,7 +269,12 @@ function handleUserSelectCancel() {
>
-
{{ activity.name }}
+
+ {{ activity.name }}
+
+ 【跳过】
+
+