feat: [BPM 工作流] Simple 模型新增跳过表达式

pull/804/head
jason 2025-07-29 09:25:25 +08:00
parent acdd72359c
commit 15aef8d4b7
5 changed files with 24 additions and 2 deletions

View File

@ -4,6 +4,10 @@ import request from '@/config/axios'
*
*/
export enum TaskStatusEnum {
/**
*
*/
SKIP = -2,
/**
*
*/

View File

@ -131,6 +131,8 @@ export interface SimpleFlowNode {
signEnable?: boolean
// 审批意见
reasonRequire?: boolean
// 跳过表达式
skipExpression?: string
// 触发器设置
triggerSetting?: TriggerSetting
// 子流程

View File

@ -177,6 +177,7 @@ export type UserTaskFormType = {
}
signEnable: boolean
reasonRequire: boolean
skipExpression?: string
}
export type CopyTaskFormType = {

View File

@ -411,6 +411,12 @@
/>
</el-form-item>
</div>
<div>
<el-divider content-position="left">跳过表达式</el-divider>
<el-form-item prop="skipExpression">
<el-input v-model="configForm.skipExpression" type="textarea" />
</el-form-item>
</div>
</el-form>
</div>
</el-tab-pane>
@ -770,6 +776,8 @@ const saveConfig = async () => {
currentNode.value.signEnable = configForm.value.signEnable
//
currentNode.value.reasonRequire = configForm.value.reasonRequire
//
currentNode.value.skipExpression = configForm.value.skipExpression
currentNode.value.showText = showText
settingVisible.value = false
@ -851,6 +859,8 @@ const showUserTaskNodeConfig = (node: SimpleFlowNode) => {
configForm.value.signEnable = node?.signEnable ?? false
// 7.
configForm.value.reasonRequire = node?.reasonRequire ?? false
// 8.
configForm.value.skipExpression = node?.skipExpression ?? ''
}
defineExpose({ openDrawer, showUserTaskNodeConfig }) //

View File

@ -28,7 +28,8 @@
<div class="flex flex-col items-start gap2" :id="`activity-task-${activity.id}-${index}`">
<!-- 第一行节点名称时间 -->
<div class="flex w-full">
<div class="font-bold"> {{ activity.name }}</div>
<div class="font-bold"> {{ activity.name }} <span v-if="activity.status === TaskStatusEnum.SKIP"></span>
</div>
<!-- 信息时间 -->
<div
v-if="activity.status !== TaskStatusEnum.NOT_START"
@ -179,7 +180,7 @@ import * as ProcessInstanceApi from '@/api/bpm/processInstance'
import { TaskStatusEnum } from '@/api/bpm/task'
import { NodeType, CandidateStrategy } from '@/components/SimpleProcessDesignerV2/src/consts'
import { isEmpty } from '@/utils/is'
import { Check, Close, Loading, Clock, Minus, Delete } from '@element-plus/icons-vue'
import { Check, Close, Loading, Clock, Minus, Delete, ArrowDown } from '@element-plus/icons-vue'
import starterSvg from '@/assets/svgs/bpm/starter.svg'
import auditorSvg from '@/assets/svgs/bpm/auditor.svg'
import copySvg from '@/assets/svgs/bpm/copy.svg'
@ -203,6 +204,8 @@ const { push } = useRouter() // 路由
//
const statusIconMap2 = {
//
'-2': { color: '#cccccc', icon: 'ep:arrow-down' },
//
'-1': { color: '#909398', icon: 'ep-clock' },
//
@ -224,6 +227,8 @@ const statusIconMap2 = {
}
const statusIconMap = {
//
'-2': { color: '#909398', icon: ArrowDown},
//
'-1': { color: '#909398', icon: Clock },
'0': { color: '#00b32a', icon: Clock },