!368 Merge remote-tracking branch 'yudao/master'

Merge pull request !368 from Jason/master
pull/370/MERGE
芋道源码 2026-06-20 17:35:14 +00:00 committed by Gitee
commit ae6ad7abff
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
6 changed files with 24 additions and 12 deletions

View File

@ -354,7 +354,8 @@ async function initNextAssigneesFormField() {
BpmCandidateStrategyEnum.START_USER_SELECT ===
node.candidateStrategy) ||
//
BpmCandidateStrategyEnum.APPROVE_USER_SELECT === node.candidateStrategy
(isEmpty(node.candidateUsers) &&
BpmCandidateStrategyEnum.APPROVE_USER_SELECT === node.candidateStrategy)
) {
nextAssigneesActivityNode.value.push(node);
}
@ -396,7 +397,7 @@ function validateNextAssignees() {
}
//
for (const item of nextAssigneesActivityNode.value) {
if (isEmpty(approveReasonForm.nextAssignees[item.id])) {
if (isEmpty(item.candidateUsers) && isEmpty(approveReasonForm.nextAssignees[item.id])) {
message.warning('下一个节点的审批人不能为空!');
return false;
}
@ -875,9 +876,10 @@ defineExpose({ loadTodoTask });
name="nextAssignees"
v-if="nextAssigneesActivityNode.length > 0"
>
<div class="-mb-8 -mt-3.5 ml-2.5">
<div class="ml-2.5 mt-2.5">
<ProcessInstanceTimeline
ref="nextAssigneesTimelineRef"
embedded
:activity-nodes="nextAssigneesActivityNode"
:show-status-icon="false"
:enable-approve-user-select="true"

View File

@ -23,12 +23,14 @@ defineOptions({ name: 'BpmProcessInstanceTimeline' });
const props = withDefaults(
defineProps<{
activityNodes: BpmProcessInstanceApi.ApprovalNodeInfo[]; //
embedded?: boolean; // 使 label
enableApproveUserSelect?: boolean; //
showStatusIcon?: boolean; //
}>(),
{
showStatusIcon: true, // true
enableApproveUserSelect: false, // false
embedded: false, // false
},
);
@ -246,7 +248,7 @@ defineExpose({ setCustomApproveUsers, batchSetCustomApproveUsers });
<template>
<div>
<Timeline class="pt-5">
<Timeline :class="embedded ? 'pt-2' : 'pt-5'">
<!-- 遍历每个审批节点 -->
<Timeline.Item
v-for="(activity, index) in activityNodes"

View File

@ -335,7 +335,8 @@ async function initNextAssigneesFormField() {
BpmCandidateStrategyEnum.START_USER_SELECT ===
node.candidateStrategy) ||
//
BpmCandidateStrategyEnum.APPROVE_USER_SELECT === node.candidateStrategy
(isEmpty(node.candidateUsers) &&
BpmCandidateStrategyEnum.APPROVE_USER_SELECT === node.candidateStrategy)
) {
nextAssigneesActivityNode.value.push(node);
}
@ -377,7 +378,7 @@ function validateNextAssignees() {
}
//
for (const item of nextAssigneesActivityNode.value) {
if (isEmpty(approveReasonForm.nextAssignees[item.id])) {
if (isEmpty(item.candidateUsers) && isEmpty(approveReasonForm.nextAssignees[item.id])) {
message.warning('下一个节点的审批人不能为空!');
return false;
}
@ -858,9 +859,10 @@ defineExpose({ loadTodoTask });
name="nextAssignees"
v-if="nextAssigneesActivityNode.length > 0"
>
<div class="-mb-8 -mt-3.5 ml-2.5">
<div class="ml-2.5">
<ProcessInstanceTimeline
ref="nextAssigneesTimelineRef"
embedded
:activity-nodes="nextAssigneesActivityNode"
:show-status-icon="false"
:enable-approve-user-select="true"

View File

@ -30,12 +30,14 @@ defineOptions({ name: 'BpmProcessInstanceTimeline' });
const props = withDefaults(
defineProps<{
activityNodes: BpmProcessInstanceApi.ApprovalNodeInfo[]; //
embedded?: boolean; // 使 label
enableApproveUserSelect?: boolean; //
showStatusIcon?: boolean; //
}>(),
{
showStatusIcon: true, // true
enableApproveUserSelect: false, // false
embedded: false, // false
},
);
@ -247,7 +249,7 @@ defineExpose({ setCustomApproveUsers, batchSetCustomApproveUsers });
<template>
<div>
<Timeline class="pt-5">
<Timeline :class="embedded ? 'pt-2' : 'pt-5'">
<!-- 遍历每个审批节点 -->
<TimelineItem
v-for="(activity, index) in activityNodes"

View File

@ -364,7 +364,8 @@ async function initNextAssigneesFormField() {
BpmCandidateStrategyEnum.START_USER_SELECT ===
node.candidateStrategy) ||
//
BpmCandidateStrategyEnum.APPROVE_USER_SELECT === node.candidateStrategy
(isEmpty(node.candidateUsers) &&
BpmCandidateStrategyEnum.APPROVE_USER_SELECT === node.candidateStrategy)
) {
nextAssigneesActivityNode.value.push(node);
}
@ -406,7 +407,7 @@ function validateNextAssignees() {
}
//
for (const item of nextAssigneesActivityNode.value) {
if (isEmpty(approveReasonForm.nextAssignees[item.id])) {
if (isEmpty(item.candidateUsers) && isEmpty(approveReasonForm.nextAssignees[item.id])) {
ElMessage.warning('下一个节点的审批人不能为空!');
return false;
}
@ -881,9 +882,10 @@ defineExpose({ loadTodoTask });
prop="nextAssignees"
v-if="nextAssigneesActivityNode.length > 0"
>
<div class="-mb-8 -mt-3.5 ml-2.5">
<div>
<ProcessInstanceTimeline
ref="nextAssigneesTimelineRef"
embedded
:activity-nodes="nextAssigneesActivityNode"
:show-status-icon="false"
:enable-approve-user-select="true"

View File

@ -30,12 +30,14 @@ defineOptions({ name: 'BpmProcessInstanceTimeline' });
const props = withDefaults(
defineProps<{
activityNodes: BpmProcessInstanceApi.ApprovalNodeInfo[]; //
embedded?: boolean; // 使 label
enableApproveUserSelect?: boolean; //
showStatusIcon?: boolean; //
}>(),
{
showStatusIcon: true, // true
enableApproveUserSelect: false, // false
embedded: false, // false
},
);
@ -253,7 +255,7 @@ defineExpose({ setCustomApproveUsers, batchSetCustomApproveUsers });
<template>
<div>
<ElTimeline class="pt-5">
<ElTimeline :class="embedded ? 'pt-2' : 'pt-5'">
<!-- 遍历每个审批节点 -->
<ElTimelineItem
v-for="(activity, index) in activityNodes"