Skip to content

Commit 15aef8d

Browse files
committed
feat: [BPM 工作流] Simple 模型新增跳过表达式
1 parent acdd723 commit 15aef8d

File tree

5 files changed

+24
-2
lines changed

5 files changed

+24
-2
lines changed

src/api/bpm/task/index.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@ import request from '@/config/axios'
44
* 任务状态枚举
55
*/
66
export enum TaskStatusEnum {
7+
/**
8+
* 跳过
9+
*/
10+
SKIP = -2,
711
/**
812
* 未开始
913
*/

src/components/SimpleProcessDesignerV2/src/consts.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,8 @@ export interface SimpleFlowNode {
131131
signEnable?: boolean
132132
// 审批意见
133133
reasonRequire?: boolean
134+
// 跳过表达式
135+
skipExpression?: string
134136
// 触发器设置
135137
triggerSetting?: TriggerSetting
136138
// 子流程

src/components/SimpleProcessDesignerV2/src/node.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,7 @@ export type UserTaskFormType = {
177177
}
178178
signEnable: boolean
179179
reasonRequire: boolean
180+
skipExpression?: string
180181
}
181182

182183
export type CopyTaskFormType = {

src/components/SimpleProcessDesignerV2/src/nodes-config/UserTaskNodeConfig.vue

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -411,6 +411,12 @@
411411
/>
412412
</el-form-item>
413413
</div>
414+
<div>
415+
<el-divider content-position="left">跳过表达式</el-divider>
416+
<el-form-item prop="skipExpression">
417+
<el-input v-model="configForm.skipExpression" type="textarea" />
418+
</el-form-item>
419+
</div>
414420
</el-form>
415421
</div>
416422
</el-tab-pane>
@@ -770,6 +776,8 @@ const saveConfig = async () => {
770776
currentNode.value.signEnable = configForm.value.signEnable
771777
// 审批意见
772778
currentNode.value.reasonRequire = configForm.value.reasonRequire
779+
// 跳过表达式
780+
currentNode.value.skipExpression = configForm.value.skipExpression
773781
774782
currentNode.value.showText = showText
775783
settingVisible.value = false
@@ -851,6 +859,8 @@ const showUserTaskNodeConfig = (node: SimpleFlowNode) => {
851859
configForm.value.signEnable = node?.signEnable ?? false
852860
// 7. 审批意见
853861
configForm.value.reasonRequire = node?.reasonRequire ?? false
862+
// 8. 跳过表达式
863+
configForm.value.skipExpression = node?.skipExpression ?? ''
854864
}
855865
856866
defineExpose({ openDrawer, showUserTaskNodeConfig }) // 暴露方法给父组件

src/views/bpm/processInstance/detail/ProcessInstanceTimeline.vue

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,8 @@
2828
<div class="flex flex-col items-start gap2" :id="`activity-task-${activity.id}-${index}`">
2929
<!-- 第一行:节点名称、时间 -->
3030
<div class="flex w-full">
31-
<div class="font-bold"> {{ activity.name }}</div>
31+
<div class="font-bold"> {{ activity.name }} <span v-if="activity.status === TaskStatusEnum.SKIP">【跳过】</span>
32+
</div>
3233
<!-- 信息:时间 -->
3334
<div
3435
v-if="activity.status !== TaskStatusEnum.NOT_START"
@@ -179,7 +180,7 @@ import * as ProcessInstanceApi from '@/api/bpm/processInstance'
179180
import { TaskStatusEnum } from '@/api/bpm/task'
180181
import { NodeType, CandidateStrategy } from '@/components/SimpleProcessDesignerV2/src/consts'
181182
import { isEmpty } from '@/utils/is'
182-
import { Check, Close, Loading, Clock, Minus, Delete } from '@element-plus/icons-vue'
183+
import { Check, Close, Loading, Clock, Minus, Delete, ArrowDown } from '@element-plus/icons-vue'
183184
import starterSvg from '@/assets/svgs/bpm/starter.svg'
184185
import auditorSvg from '@/assets/svgs/bpm/auditor.svg'
185186
import copySvg from '@/assets/svgs/bpm/copy.svg'
@@ -203,6 +204,8 @@ const { push } = useRouter() // 路由
203204
204205
// 审批节点
205206
const statusIconMap2 = {
207+
// 跳过
208+
'-2': { color: '#cccccc', icon: 'ep:arrow-down' },
206209
// 未开始
207210
'-1': { color: '#909398', icon: 'ep-clock' },
208211
// 待审批
@@ -224,6 +227,8 @@ const statusIconMap2 = {
224227
}
225228
226229
const statusIconMap = {
230+
// 跳过
231+
'-2': { color: '#909398', icon: ArrowDown},
227232
// 审批未开始
228233
'-1': { color: '#909398', icon: Clock },
229234
'0': { color: '#00b32a', icon: Clock },

0 commit comments

Comments
 (0)