diff --git a/apps/web-antd/src/api/bpm/task/index.ts b/apps/web-antd/src/api/bpm/task/index.ts index 629f25eb..17987704 100644 --- a/apps/web-antd/src/api/bpm/task/index.ts +++ b/apps/web-antd/src/api/bpm/task/index.ts @@ -82,8 +82,10 @@ export const rejectTask = async (data: any) => { }; /** 根据流程实例 ID 查询任务列表 */ -export const getTaskListByProcessInstanceId = async (data: any) => { - return await requestClient.get('/bpm/task/list-by-process-instance-id', data); +export const getTaskListByProcessInstanceId = async (id: string) => { + return await requestClient.get( + `/bpm/task/list-by-process-instance-id?processInstanceId=${id}`, + ); }; /** 获取所有可退回的节点 */ diff --git a/apps/web-antd/src/views/bpm/processInstance/detail/index.vue b/apps/web-antd/src/views/bpm/processInstance/detail/index.vue index 5e34853c..6df07c99 100644 --- a/apps/web-antd/src/views/bpm/processInstance/detail/index.vue +++ b/apps/web-antd/src/views/bpm/processInstance/detail/index.vue @@ -2,7 +2,7 @@ import type { BpmProcessInstanceApi } from '#/api/bpm/processInstance'; import type { SystemUserApi } from '#/api/system/user'; -import { nextTick, onMounted, ref } from 'vue'; +import { nextTick, onMounted, ref, shallowRef, watch } from 'vue'; import { Page } from '@vben/common-ui'; import { formatDateTime } from '@vben/utils'; @@ -39,6 +39,7 @@ import { SvgBpmRunningIcon, } from '#/views/bpm/processInstance/detail/modules/icons'; +import BpmProcessInstanceTaskList from './modules/task-list.vue'; import ProcessInstanceTimeline from './modules/time-line.vue'; defineOptions({ name: 'BpmProcessInstanceDetail' }); @@ -99,7 +100,7 @@ const detailForm = ref({ const writableFields: Array = []; // 表单可以编辑的字段 /** 加载流程实例 */ -const BusinessFormComponent = ref(null); // 异步组件 +const BusinessFormComponent = shallowRef(null); // 异步组件 /** 获取详情 */ async function getDetail() { @@ -221,6 +222,20 @@ const setFieldPermission = (field: string, permission: string) => { /** 当前的Tab */ const activeTab = ref('form'); +const taskListRef = ref(); + +// 监听 Tab 切换,当切换到 "record" 标签时刷新任务列表 +watch( + () => activeTab.value, + (newVal) => { + if (newVal === 'record') { + // 如果切换到流转记录标签,刷新任务列表 + nextTick(() => { + taskListRef.value?.refresh(); + }); + } + }, +); /** 初始化 */ const userOptions = ref([]); // 用户列表 @@ -332,7 +347,13 @@ onMounted(async () => { -
待开发
+
+ +
diff --git a/apps/web-antd/src/views/bpm/processInstance/detail/modules/task-list.vue b/apps/web-antd/src/views/bpm/processInstance/detail/modules/task-list.vue new file mode 100644 index 00000000..7a1e44ad --- /dev/null +++ b/apps/web-antd/src/views/bpm/processInstance/detail/modules/task-list.vue @@ -0,0 +1,222 @@ + + +