From 52a8c46a0abb9581c35acb63987857efa4e2b007 Mon Sep 17 00:00:00 2001 From: YunaiV Date: Sun, 10 Nov 2024 11:46:45 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E4=BB=A3=E7=A0=81=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E3=80=91=E5=B7=A5=E4=BD=9C=E6=B5=81=EF=BC=9A=E5=8E=BB=E9=99=A4?= =?UTF-8?q?=E5=A4=9A=E4=BD=99=E7=9A=84=20:startUserSelectAssignees=20?= =?UTF-8?q?=E4=BC=A0=E5=8F=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../create/ProcessDefinitionDetail.vue | 21 ++++++++++--------- .../detail/ProcessInstanceTimeline.vue | 20 ++++++++++-------- 2 files changed, 22 insertions(+), 19 deletions(-) diff --git a/src/views/bpm/processInstance/create/ProcessDefinitionDetail.vue b/src/views/bpm/processInstance/create/ProcessDefinitionDetail.vue index 7b8da933..50d3fbd7 100644 --- a/src/views/bpm/processInstance/create/ProcessDefinitionDetail.vue +++ b/src/views/bpm/processInstance/create/ProcessDefinitionDetail.vue @@ -24,12 +24,10 @@ - @@ -85,6 +83,7 @@ import type { ApiAttrs } from '@form-create/element-ui/types/config' import { useTagsViewStore } from '@/store/modules/tagsView' import * as ProcessInstanceApi from '@/api/bpm/processInstance' import * as DefinitionApi from '@/api/bpm/definition' +import { ApprovalNodeInfo } from '@/api/bpm/processInstance' defineOptions({ name: 'ProcessDefinitionDetail' }) const props = defineProps<{ @@ -153,20 +152,20 @@ const initProcessInfo = async (row: any, formVariables?: any) => { /** 获取审批详情 */ const getApprovalDetail = async (row: any) => { try { - const param = { - processDefinitionId: row.id - } - const data = await ProcessInstanceApi.getApprovalDetail(param) + const data = await ProcessInstanceApi.getApprovalDetail({ processDefinitionId: row.id }) if (!data) { message.error('查询不到审批详情信息!') return } + // 获取发起人自选的任务 - startUserSelectTasks.value = data.activityNodes?.filter(node => CandidateStrategy.START_USER_SELECT === node.candidateStrategy ) + startUserSelectTasks.value = data.activityNodes?.filter( + (node: ApprovalNodeInfo) => CandidateStrategy.START_USER_SELECT === node.candidateStrategy + ) for (const node of startUserSelectTasks.value) { - // 初始化数据 startUserSelectAssignees.value[node.id] = [] } + // 获取审批节点,显示 Timeline 的数据 activityNodes.value = data.activityNodes } finally { @@ -209,12 +208,14 @@ const submitForm = async () => { } } +/** 取消发起审批 */ const handleCancel = () => { emit('cancel') } -const selectUserConfirm = (id, userList) => { - startUserSelectAssignees.value[id] = userList?.map((item) => item.id) +/** 选择发起人 */ +const selectUserConfirm = (id: string, userList: any[]) => { + startUserSelectAssignees.value[id] = userList?.map((item: any) => item.id) } defineExpose({ initProcessInfo }) diff --git a/src/views/bpm/processInstance/detail/ProcessInstanceTimeline.vue b/src/views/bpm/processInstance/detail/ProcessInstanceTimeline.vue index 49c7e4e1..bb5ccc43 100644 --- a/src/views/bpm/processInstance/detail/ProcessInstanceTimeline.vue +++ b/src/views/bpm/processInstance/detail/ProcessInstanceTimeline.vue @@ -39,17 +39,21 @@
@@ -169,11 +173,9 @@ withDefaults( defineProps<{ activityNodes: ProcessInstanceApi.ApprovalNodeInfo[] // 审批节点信息 showStatusIcon?: boolean // 是否显示头像右下角状态图标 - startUserSelectAssignees?: any // 发起人选择审批人的数据 }>(), { - showStatusIcon: true, // 默认值为 true - startUserSelectAssignees: () => {} + showStatusIcon: true // 默认值为 true } ) @@ -280,10 +282,10 @@ const handleSelectUser = (activityId, selectedList) => { const emit = defineEmits<{ selectUserConfirm: [id: any, userList: any[]] }>() -const customApprover: any = ref({}) // key:activityId,value:用户列表 TODO 芋艿:变量改下 +const customApproveUsers: any = ref({}) // key:activityId,value:用户列表 // 选择完成 -const handleUserSelectConfirm = (activityId, userList) => { - customApprover.value[activityId] = userList || [] +const handleUserSelectConfirm = (activityId: string, userList: any[]) => { + customApproveUsers.value[activityId] = userList || [] emit('selectUserConfirm', activityId, userList) }