chore: merge master into feat-antdv-next

pull/364/head
XuZhiqiang 2026-06-18 23:28:17 +08:00
commit 019473e9bc
3 changed files with 80 additions and 97 deletions

View File

@ -273,10 +273,7 @@ defineExpose({ setCustomApproveUsers, batchSetCustomApproveUsers });
</div> </div>
</template> </template>
<div <div class="ml-2 flex flex-col items-start gap-2">
class="ml-2 flex flex-col items-start gap-2"
:id="`activity-task-${activity.id}-${index}`"
>
<!-- 第一行节点名称时间 --> <!-- 第一行节点名称时间 -->
<div class="flex w-full"> <div class="flex w-full">
<div class="font-bold"> <div class="font-bold">
@ -350,12 +347,12 @@ defineExpose({ setCustomApproveUsers, batchSetCustomApproveUsers });
</div> </div>
</div> </div>
<div v-else class="mt-1 flex flex-wrap items-center gap-2"> <div v-else class="mt-1 flex w-full flex-wrap items-center gap-2">
<!-- 情况一遍历每个审批节点下的进行中task 任务 --> <!-- 情况一遍历每个审批节点下的进行中task 任务 -->
<div <div
v-for="(task, idx) in activity.tasks" v-for="(task, idx) in activity.tasks"
:key="idx" :key="idx"
class="flex flex-col gap-2 pr-2" class="flex w-full flex-col gap-2 pr-2"
> >
<div <div
class="relative flex flex-wrap gap-2" class="relative flex flex-wrap gap-2"
@ -416,11 +413,10 @@ defineExpose({ setCustomApproveUsers, batchSetCustomApproveUsers });
</div> </div>
<!-- 审批意见,附件和签名 --> <!-- 审批意见,附件和签名 -->
<teleport defer :to="`#activity-task-${activity.id}-${index}`"> <div
<div v-if="shouldShowReasonAndAttachment(task, activity.nodeType)"
v-if="shouldShowReasonAndAttachment(task, activity.nodeType)" class="mt-1 w-full rounded-md bg-gray-100 p-2 text-sm text-gray-500"
class="mt-1 w-full rounded-md bg-gray-100 p-2 text-sm text-gray-500" >
>
<div v-if="task.reason">{{ task.reason }}</div> <div v-if="task.reason">{{ task.reason }}</div>
<div <div
v-if="(task.attachments?.length || 0) > 0" v-if="(task.attachments?.length || 0) > 0"
@ -486,7 +482,6 @@ defineExpose({ setCustomApproveUsers, batchSetCustomApproveUsers });
:preview="{ src: task.signPicUrl }" :preview="{ src: task.signPicUrl }"
/> />
</div> </div>
</teleport>
</div> </div>
<!-- 情况二遍历每个审批节点下的候选的task 任务 --> <!-- 情况二遍历每个审批节点下的候选的task 任务 -->

View File

@ -280,10 +280,7 @@ defineExpose({ setCustomApproveUsers, batchSetCustomApproveUsers });
</div> </div>
</template> </template>
<div <div class="ml-2 flex flex-col items-start gap-2">
class="ml-2 flex flex-col items-start gap-2"
:id="`activity-task-${activity.id}-${index}`"
>
<!-- 第一行节点名称时间 --> <!-- 第一行节点名称时间 -->
<div class="flex w-full"> <div class="flex w-full">
<div class="font-bold"> <div class="font-bold">
@ -357,12 +354,12 @@ defineExpose({ setCustomApproveUsers, batchSetCustomApproveUsers });
</div> </div>
</div> </div>
<div v-else class="mt-1 flex flex-wrap items-center gap-2"> <div v-else class="mt-1 flex w-full flex-wrap items-center gap-2">
<!-- 情况一遍历每个审批节点下的进行中task 任务 --> <!-- 情况一遍历每个审批节点下的进行中task 任务 -->
<div <div
v-for="(task, idx) in activity.tasks" v-for="(task, idx) in activity.tasks"
:key="idx" :key="idx"
class="flex flex-col gap-2 pr-2" class="flex w-full flex-col gap-2 pr-2"
> >
<div <div
class="relative flex flex-wrap gap-2" class="relative flex flex-wrap gap-2"
@ -423,77 +420,73 @@ defineExpose({ setCustomApproveUsers, batchSetCustomApproveUsers });
</div> </div>
<!-- 审批意见附件和签名 --> <!-- 审批意见附件和签名 -->
<teleport defer :to="`#activity-task-${activity.id}-${index}`"> <div
v-if="shouldShowReasonAndAttachment(task, activity.nodeType)"
class="mt-1 w-full rounded-md bg-gray-100 p-2 text-sm text-gray-500"
>
<div v-if="task.reason">{{ task.reason }}</div>
<div <div
v-if="shouldShowReasonAndAttachment(task, activity.nodeType)" v-if="(task.attachments?.length || 0) > 0"
class="mt-1 w-full rounded-md bg-gray-100 p-2 text-sm text-gray-500" :class="{
'mt-2 border-t border-dashed border-gray-300 pt-2':
task.reason,
}"
> >
<div v-if="task.reason">{{ task.reason }}</div> <div class="mb-1 text-xs font-semibold text-gray-400">
<div 附件列表
v-if="(task.attachments?.length || 0) > 0" </div>
:class="{ <div class="flex flex-col gap-1.5">
'mt-2 border-t border-dashed border-gray-300 pt-2': <template
task.reason, v-for="(attachment, attachmentIndex) in task.attachments"
}" :key="attachmentIndex"
> >
<div class="mb-1 text-xs font-semibold text-gray-400"> <div class="flex items-center gap-2">
附件列表 <IconifyIcon
</div> :icon="
<div class="flex flex-col gap-1.5"> isImageAttachment(attachment)
<template ? 'lucide:image'
v-for="( : 'lucide:file-text'
attachment, attachmentIndex "
) in task.attachments" class="text-gray-400"
:key="attachmentIndex" />
> <Image
<div class="flex items-center gap-2"> v-if="isImageAttachment(attachment)"
<IconifyIcon :width="32"
:icon=" :height="32"
isImageAttachment(attachment) class="rounded border border-solid border-gray-200 object-cover"
? 'lucide:image' :src="attachment"
: 'lucide:file-text' :preview="{ src: attachment }"
" />
class="text-gray-400" <a
/> v-else
<Image :href="attachment"
v-if="isImageAttachment(attachment)" target="_blank"
:width="32" class="max-w-[240px] truncate text-blue-500 hover:text-blue-600 hover:underline"
:height="32" :title="getAttachmentName(attachment)"
class="rounded border border-solid border-gray-200 object-cover" >
:src="attachment" {{ getAttachmentName(attachment) }}
:preview="{ src: attachment }" </a>
/> </div>
<a </template>
v-else
:href="attachment"
target="_blank"
class="max-w-[240px] truncate text-blue-500 hover:text-blue-600 hover:underline"
:title="getAttachmentName(attachment)"
>
{{ getAttachmentName(attachment) }}
</a>
</div>
</template>
</div>
</div> </div>
</div> </div>
<div </div>
v-if=" <div
task.signPicUrl && v-if="
activity.nodeType === BpmNodeTypeEnum.USER_TASK_NODE task.signPicUrl &&
" activity.nodeType === BpmNodeTypeEnum.USER_TASK_NODE
class="mt-1 flex w-full items-center rounded-md bg-gray-100 p-2 text-sm text-gray-500" "
> class="mt-1 flex w-full items-center rounded-md bg-gray-100 p-2 text-sm text-gray-500"
签名 >
<Image 签名
class="ml-2" <Image
:width="180" class="ml-2"
:height="60" :width="180"
:src="task.signPicUrl" :height="60"
:preview="{ src: task.signPicUrl }" :src="task.signPicUrl"
/> :preview="{ src: task.signPicUrl }"
</div> />
</teleport> </div>
</div> </div>
<!-- 情况二遍历每个审批节点下的候选的task 任务 --> <!-- 情况二遍历每个审批节点下的候选的task 任务 -->

View File

@ -280,10 +280,7 @@ defineExpose({ setCustomApproveUsers, batchSetCustomApproveUsers });
</div> </div>
</template> </template>
<div <div class="ml-2 flex flex-col items-start gap-2">
class="ml-2 flex flex-col items-start gap-2"
:id="`activity-task-${activity.id}-${index}`"
>
<!-- 第一行节点名称时间 --> <!-- 第一行节点名称时间 -->
<div class="flex w-full items-center"> <div class="flex w-full items-center">
<div class="font-bold"> <div class="font-bold">
@ -355,12 +352,12 @@ defineExpose({ setCustomApproveUsers, batchSetCustomApproveUsers });
</div> </div>
</div> </div>
<div v-else class="mt-1 flex flex-wrap items-center gap-2"> <div v-else class="mt-1 flex w-full flex-wrap items-center gap-2">
<!-- 情况一遍历每个审批节点下的进行中task 任务 --> <!-- 情况一遍历每个审批节点下的进行中task 任务 -->
<div <div
v-for="(task, idx) in activity.tasks" v-for="(task, idx) in activity.tasks"
:key="idx" :key="idx"
class="flex flex-col gap-2 pr-2" class="flex w-full flex-col gap-2 pr-2"
> >
<div <div
class="relative flex flex-wrap gap-2" class="relative flex flex-wrap gap-2"
@ -421,11 +418,10 @@ defineExpose({ setCustomApproveUsers, batchSetCustomApproveUsers });
</div> </div>
<!-- 审批意见,附件和签名 --> <!-- 审批意见,附件和签名 -->
<teleport defer :to="`#activity-task-${activity.id}-${index}`"> <div
<div v-if="shouldShowReasonAndAttachment(task, activity.nodeType)"
v-if="shouldShowReasonAndAttachment(task, activity.nodeType)" class="mt-1 w-full rounded-md bg-gray-100 p-2 text-sm text-gray-500"
class="mt-1 w-full rounded-md bg-gray-100 p-2 text-sm text-gray-500" >
>
<div v-if="task.reason">{{ task.reason }}</div> <div v-if="task.reason">{{ task.reason }}</div>
<div <div
v-if="(task.attachments?.length || 0) > 0" v-if="(task.attachments?.length || 0) > 0"
@ -489,7 +485,6 @@ defineExpose({ setCustomApproveUsers, batchSetCustomApproveUsers });
:preview-src-list="[task.signPicUrl]" :preview-src-list="[task.signPicUrl]"
/> />
</div> </div>
</teleport>
</div> </div>
<!-- 情况二遍历每个审批节点下的候选的task 任务 --> <!-- 情况二遍历每个审批节点下的候选的task 任务 -->