chore: merge master into feat-antdv-next
commit
019473e9bc
|
|
@ -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 任务 -->
|
||||||
|
|
|
||||||
|
|
@ -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 任务 -->
|
||||||
|
|
|
||||||
|
|
@ -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 任务 -->
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue