feat: [BPM 工作流] Simple 模型新增跳过表达式
parent
8e4ea3ca44
commit
849f2becd8
|
@ -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"
|
||||
>
|
||||
<Textarea v-model:value="configForm.expression" clearable />
|
||||
<Textarea v-model:value="configForm.expression" allow-clear />
|
||||
</FormItem>
|
||||
<!-- 多人审批/办理 方式 -->
|
||||
<FormItem :label="`多人${nodeTypeName}方式`" name="approveMethod">
|
||||
|
@ -1117,6 +1119,16 @@ onMounted(() => {
|
|||
/>
|
||||
</FormItem>
|
||||
</div>
|
||||
<div>
|
||||
<Divider content-position="left">跳过表达式</Divider>
|
||||
<FormItem prop="skipExpression">
|
||||
<Textarea
|
||||
v-model:value="configForm.skipExpression"
|
||||
allow-clear
|
||||
:rows="2"
|
||||
/>
|
||||
</FormItem>
|
||||
</div>
|
||||
</Form>
|
||||
</div>
|
||||
</TabPane>
|
||||
|
|
|
@ -602,6 +602,8 @@ export interface SimpleFlowNode {
|
|||
signEnable?: boolean;
|
||||
// 审批意见
|
||||
reasonRequire?: boolean;
|
||||
// 跳过表达式
|
||||
skipExpression?: string;
|
||||
// 触发器设置
|
||||
triggerSetting?: TriggerSetting;
|
||||
// 子流程
|
||||
|
|
|
@ -214,6 +214,7 @@ export type UserTaskFormType = {
|
|||
returnNodeId?: string;
|
||||
roleIds?: number[]; // 角色
|
||||
signEnable: boolean;
|
||||
skipExpression?: string; // 跳过表达式
|
||||
taskAssignListener?: {
|
||||
body: HttpRequestParam[];
|
||||
header: HttpRequestParam[];
|
||||
|
|
|
@ -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,
|
||||
/**
|
||||
* 待审批
|
||||
*/
|
||||
|
|
|
@ -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() {
|
|||
>
|
||||
<!-- 第一行:节点名称、时间 -->
|
||||
<div class="flex w-full">
|
||||
<div class="font-bold">{{ activity.name }}</div>
|
||||
<div class="font-bold">
|
||||
{{ activity.name }}
|
||||
<span v-if="activity.status === BpmTaskStatusEnum.SKIP">
|
||||
【跳过】
|
||||
</span>
|
||||
</div>
|
||||
<!-- 信息:时间 -->
|
||||
<div
|
||||
v-if="activity.status !== BpmTaskStatusEnum.NOT_START"
|
||||
|
|
Loading…
Reference in New Issue