feat: [BPM 工作流] Simple 模型新增跳过表达式
parent
acdd72359c
commit
15aef8d4b7
|
|
@ -4,6 +4,10 @@ import request from '@/config/axios'
|
|||
* 任务状态枚举
|
||||
*/
|
||||
export enum TaskStatusEnum {
|
||||
/**
|
||||
* 跳过
|
||||
*/
|
||||
SKIP = -2,
|
||||
/**
|
||||
* 未开始
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -131,6 +131,8 @@ export interface SimpleFlowNode {
|
|||
signEnable?: boolean
|
||||
// 审批意见
|
||||
reasonRequire?: boolean
|
||||
// 跳过表达式
|
||||
skipExpression?: string
|
||||
// 触发器设置
|
||||
triggerSetting?: TriggerSetting
|
||||
// 子流程
|
||||
|
|
|
|||
|
|
@ -177,6 +177,7 @@ export type UserTaskFormType = {
|
|||
}
|
||||
signEnable: boolean
|
||||
reasonRequire: boolean
|
||||
skipExpression?: string
|
||||
}
|
||||
|
||||
export type CopyTaskFormType = {
|
||||
|
|
|
|||
|
|
@ -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 }) // 暴露方法给父组件
|
||||
|
|
|
|||
|
|
@ -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 },
|
||||
|
|
|
|||
Loading…
Reference in New Issue