From e56672864f5872758889116a9356964166c51be9 Mon Sep 17 00:00:00 2001 From: dap <15891557205@163.com> Date: Mon, 16 Dec 2024 09:45:00 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20=E6=88=91=E7=9A=84=E5=BE=85=E5=8A=9E?= =?UTF-8?q?=20=E6=8F=90=E5=8F=96=E5=85=AC=E5=85=B1=E7=BB=84=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web-antd/src/api/workflow/task/model.d.ts | 8 +- .../workflow/components/approval-card.vue | 4 +- .../workflow/components/approval-panel.vue | 99 +++++++++++++++++ .../workflow/components/approval-timeline.vue | 17 +-- .../src/views/workflow/components/index.ts | 1 + .../src/views/workflow/task/taskWaiting.vue | 100 ++---------------- .../base/shared/src/constants/dict-enum.ts | 1 + 7 files changed, 123 insertions(+), 107 deletions(-) create mode 100644 apps/web-antd/src/views/workflow/components/approval-panel.vue diff --git a/apps/web-antd/src/api/workflow/task/model.d.ts b/apps/web-antd/src/api/workflow/task/model.d.ts index 4ee7a458..88353848 100644 --- a/apps/web-antd/src/api/workflow/task/model.d.ts +++ b/apps/web-antd/src/api/workflow/task/model.d.ts @@ -14,14 +14,16 @@ export interface TaskInfo { permissionList?: any; userList?: any; formCustom: string; - formPath: string; + formPath?: any; flowCode: string; version: string; flowStatus: string; flowStatusName: string; - transactorNames: string; + assigneeIds: string; + assigneeNames: string; processedBy: string; type: string; nodeRatio?: any; - nickName: string; + createBy: string; + createByName: string; } diff --git a/apps/web-antd/src/views/workflow/components/approval-card.vue b/apps/web-antd/src/views/workflow/components/approval-card.vue index a8f5937b..45921d46 100644 --- a/apps/web-antd/src/views/workflow/components/approval-card.vue +++ b/apps/web-antd/src/views/workflow/components/approval-card.vue @@ -48,8 +48,8 @@ function handleClick() {
- - {{ info.nickName }} + + {{ info.createByName }}
更新时间: 2222-22-22
diff --git a/apps/web-antd/src/views/workflow/components/approval-panel.vue b/apps/web-antd/src/views/workflow/components/approval-panel.vue new file mode 100644 index 00000000..225b9f17 --- /dev/null +++ b/apps/web-antd/src/views/workflow/components/approval-panel.vue @@ -0,0 +1,99 @@ + + + diff --git a/apps/web-antd/src/views/workflow/components/approval-timeline.vue b/apps/web-antd/src/views/workflow/components/approval-timeline.vue index 77858e3a..4c71ee33 100644 --- a/apps/web-antd/src/views/workflow/components/approval-timeline.vue +++ b/apps/web-antd/src/views/workflow/components/approval-timeline.vue @@ -7,6 +7,9 @@ import { Timeline, TimelineItem } from 'ant-design-vue'; * TODO: 仅为demo 后期会替换 */ import { VbenAvatar } from '@vben/common-ui'; +import { DictEnum } from '@vben/constants'; + +import { renderDict } from '#/utils/render'; const props = defineProps<{ list: Flow[]; @@ -19,17 +22,15 @@ const props = defineProps<{
-
{{ item.nodeName }}
+
+
{{ item.nodeName }}
+ +
{{ item.approveName }}
{{ item.updateTime }}
diff --git a/apps/web-antd/src/views/workflow/components/index.ts b/apps/web-antd/src/views/workflow/components/index.ts index c1694380..26148c11 100644 --- a/apps/web-antd/src/views/workflow/components/index.ts +++ b/apps/web-antd/src/views/workflow/components/index.ts @@ -1,2 +1,3 @@ export { default as ApprovalCard } from './approval-card.vue'; +export { default as ApprovalPanel } from './approval-panel.vue'; export { default as ApprovalTimeline } from './approval-timeline.vue'; diff --git a/apps/web-antd/src/views/workflow/task/taskWaiting.vue b/apps/web-antd/src/views/workflow/task/taskWaiting.vue index 11c370eb..2933d4ee 100644 --- a/apps/web-antd/src/views/workflow/task/taskWaiting.vue +++ b/apps/web-antd/src/views/workflow/task/taskWaiting.vue @@ -4,24 +4,15 @@ import type { TaskInfo } from '#/api/workflow/task/model'; import { computed, onMounted, ref } from 'vue'; -import { Fallback, Page, VbenAvatar } from '@vben/common-ui'; +import { Page } from '@vben/common-ui'; -import { - Card, - Divider, - Empty, - InputSearch, - Space, - TabPane, - Tabs, - Tag, -} from 'ant-design-vue'; +import { Empty, InputSearch } from 'ant-design-vue'; import { debounce } from 'lodash-es'; import { flowInfo } from '#/api/workflow/instance'; import { pageByTaskWait } from '#/api/workflow/task'; -import { ApprovalCard, ApprovalTimeline } from '../components'; +import { ApprovalCard, ApprovalPanel } from '../components'; const emptyImage = Empty.PRESENTED_IMAGE_SIMPLE; @@ -70,12 +61,14 @@ const handleScroll = debounce(async (e: Event) => { const currentInstance = ref(); const lastSelectId = ref(''); +const currentTask = ref(); async function handleCardClick(item: TaskInfo) { const { id, businessId } = item; // 点击的是同一个 if (lastSelectId.value === id) { return; } + currentTask.value = item; // 反选状态 & 如果已经点击了 不变 & 保持只能有一个选中 taskList.value.forEach((item) => { item.active = item.id === id; @@ -85,25 +78,6 @@ async function handleCardClick(item: TaskInfo) { const resp = await flowInfo(businessId); currentInstance.value = resp; } - -const instanceInfo = computed(() => { - if (!currentInstance.value) { - return; - } - const length = currentInstance.value.list.length; - if (length === 2) { - return; - } - // 最末尾为申请人 - const info = currentInstance.value.list[length - 1]!; - return { - id: info.instanceId, - createTime: info.createTime, - approveName: info.approveName, - flowName: info.flowName ?? '未知流程', - businessId: '1867081791031750658', - }; -}); diff --git a/packages/@core/base/shared/src/constants/dict-enum.ts b/packages/@core/base/shared/src/constants/dict-enum.ts index b0976b46..a5eb7b33 100644 --- a/packages/@core/base/shared/src/constants/dict-enum.ts +++ b/packages/@core/base/shared/src/constants/dict-enum.ts @@ -12,4 +12,5 @@ export enum DictEnum { SYS_YES_NO = 'sys_yes_no', // 是否 WF_BUSINESS_STATUS = 'wf_business_status', // 业务状态 WF_FORM_TYPE = 'wf_form_type', // 表单类型 + WF_TASK_STATUS = 'wf_task_status', // 任务状态 }