fix: [BPM 工作流] bug 修复

This commit is contained in:
jason
2025-07-10 14:05:44 +08:00
parent e1b639640d
commit 65206b413c
6 changed files with 41 additions and 19 deletions

View File

@@ -72,7 +72,6 @@ const timelineRef = ref<any>();
const activeTab = ref('form');
const activityNodes = ref<BpmProcessInstanceApi.ApprovalNodeInfo[]>([]);
const processInstanceStartLoading = ref(false);
/** 提交按钮 */
async function submitForm() {
if (!fApi.value || !props.selectProcessDefinition) {
@@ -109,7 +108,6 @@ async function submitForm() {
await router.push({ path: '/bpm/task/my' });
} catch (error) {
message.error('发起流程失败');
console.error('发起流程失败:', error);
} finally {
processInstanceStartLoading.value = false;
@@ -330,7 +328,12 @@ defineExpose({ initProcessInfo });
<template #actions>
<template v-if="activeTab === 'form'">
<Space wrap class="flex w-full justify-center">
<Button plain type="primary" @click="submitForm">
<Button
plain
type="primary"
@click="submitForm"
:loading="processInstanceStartLoading"
>
<IconifyIcon icon="lucide:check" />
发起
</Button>

View File

@@ -735,6 +735,7 @@ defineExpose({ loadTodoTask });
<ProcessInstanceTimeline
:activity-nodes="nextAssigneesActivityNode"
:show-status-icon="false"
:use-next-assignees="true"
@select-user-confirm="selectNextAssigneesConfirm"
/>
</div>

View File

@@ -20,13 +20,15 @@ import {
defineOptions({ name: 'BpmProcessInstanceTimeline' });
withDefaults(
const props = withDefaults(
defineProps<{
activityNodes: BpmProcessInstanceApi.ApprovalNodeInfo[]; // 审批节点信息
showStatusIcon?: boolean; // 是否显示头像右下角状态图标
useNextAssignees?: boolean; // 是否用于下一个节点审批人选择
}>(),
{
showStatusIcon: true, // 默认值为 true
useNextAssignees: false, // 默认值为 false
},
);
@@ -196,8 +198,9 @@ function shouldShowCustomUserSelect(
isEmpty(activity.candidateUsers) &&
(BpmCandidateStrategyEnum.START_USER_SELECT ===
activity.candidateStrategy ||
BpmCandidateStrategyEnum.APPROVE_USER_SELECT ===
activity.candidateStrategy)
(BpmCandidateStrategyEnum.APPROVE_USER_SELECT ===
activity.candidateStrategy &&
props.useNextAssignees))
);
}
@@ -457,6 +460,7 @@ function handleUserSelectCancel() {
<!-- 用户选择弹窗 -->
<UserSelectModalComp
class="w-3/5"
v-model:value="selectedUsers"
:multiple="true"
title="选择用户"