提交代码
This commit is contained in:
1 parent
21856615db
commit
8ddd3a0d09
2 files changed
+174
-15
No files matched your search
@@ -12,10 +12,19 @@
|
||||
<el-table-column prop="nodeName" label="任务名称" sortable align="center"></el-table-column>
|
||||
<el-table-column prop="approveName" :show-overflow-tooltip="true" label="办理人" sortable align="center">
|
||||
<template #default="scope">
|
||||
<template v-if="scope.row.approveName">
|
||||
<template v-if="scope.row.approveUserDetails && scope.row.approveUserDetails.length > 0">
|
||||
<div v-for="(userDetail, index) in scope.row.approveUserDetails" :key="index" style="margin-bottom: 4px">
|
||||
<el-tag type="success">
|
||||
{{ `${userDetail.nickName}/${userDetail.userName}/${userDetail.phonenumber || '无'}` }}
|
||||
</el-tag>
|
||||
</div>
|
||||
</template>
|
||||
<template v-else-if="scope.row.approveName">
|
||||
<el-tag v-for="(item, index) in scope.row.approveName.split(',')" :key="index" type="success">{{ item }}</el-tag>
|
||||
</template>
|
||||
<template v-else> <el-tag type="success">无</el-tag></template>
|
||||
<template v-else>
|
||||
<el-tag type="success">无</el-tag>
|
||||
</template>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="flowStatus" label="状态" width="80" sortable align="center">
|
||||
@@ -62,6 +71,8 @@
|
||||
import { flowHisTaskList } from '@/api/workflow/instance';
|
||||
import { propTypes } from '@/utils/propTypes';
|
||||
import { listByIds } from '@/api/system/oss';
|
||||
import { optionSelect } from '@/api/system/user';
|
||||
import { UserVO } from '@/api/system/user/types';
|
||||
import FlowChart from '@/components/Process/flowChart.vue';
|
||||
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
|
||||
const { wf_task_status } = toRefs<any>(proxy?.useDict('wf_task_status'));
|
||||
@@ -81,11 +92,15 @@ const init = async (businessId: string | number) => {
|
||||
loading.value = true;
|
||||
tabActiveName.value = 'image';
|
||||
historyList.value = [];
|
||||
flowHisTaskList(businessId).then((resp) => {
|
||||
|
||||
try {
|
||||
const resp = await flowHisTaskList(businessId);
|
||||
if (resp.data) {
|
||||
historyList.value = resp.data.list;
|
||||
insId.value = resp.data.instanceId;
|
||||
|
||||
if (historyList.value.length > 0) {
|
||||
// 获取附件信息
|
||||
historyList.value.forEach((item) => {
|
||||
if (item.ext) {
|
||||
getIds(item.ext).then((res) => {
|
||||
@@ -95,16 +110,74 @@ const init = async (businessId: string | number) => {
|
||||
item.attachmentList = [];
|
||||
}
|
||||
});
|
||||
|
||||
// 获取所有办理人的详细信息
|
||||
await getUserDetails();
|
||||
}
|
||||
loading.value = false;
|
||||
}
|
||||
});
|
||||
} catch (error) {
|
||||
console.error('获取审批记录失败:', error);
|
||||
loading.value = false;
|
||||
}
|
||||
};
|
||||
const getIds = async (ids: string | number) => {
|
||||
const res = await listByIds(ids);
|
||||
return res;
|
||||
};
|
||||
|
||||
// 获取所有办理人的详细信息
|
||||
const getUserDetails = async () => {
|
||||
try {
|
||||
// 收集所有办理人的用户ID
|
||||
const allUserIds = new Set<string>();
|
||||
|
||||
historyList.value.forEach((item) => {
|
||||
if (item.approver) {
|
||||
const approverIds = item.approver.split(',').filter((id) => id.trim());
|
||||
approverIds.forEach((id) => allUserIds.add(id.trim()));
|
||||
}
|
||||
});
|
||||
|
||||
if (allUserIds.size > 0) {
|
||||
// 批量获取用户详细信息
|
||||
const userIds = Array.from(allUserIds);
|
||||
const userResponse = await optionSelect(userIds);
|
||||
|
||||
if (userResponse.data && userResponse.data.length > 0) {
|
||||
// 创建用户ID到用户详细信息的映射
|
||||
const userMap = new Map();
|
||||
userResponse.data.forEach((user: UserVO) => {
|
||||
userMap.set(String(user.userId), user);
|
||||
});
|
||||
|
||||
// 为每个审批记录项添加办理人详细信息
|
||||
historyList.value.forEach((item) => {
|
||||
if (item.approver) {
|
||||
const approverIds = item.approver.split(',').filter((id) => id.trim());
|
||||
item.approveUserDetails = approverIds.map((id) => {
|
||||
const userId = id.trim();
|
||||
return (
|
||||
userMap.get(userId) || {
|
||||
userId: userId,
|
||||
nickName: '未知用户',
|
||||
userName: userId,
|
||||
phonenumber: ''
|
||||
}
|
||||
);
|
||||
});
|
||||
} else {
|
||||
item.approveUserDetails = [];
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('获取用户详细信息失败:', error);
|
||||
// 如果获取用户详细信息失败,保持原有显示方式
|
||||
}
|
||||
};
|
||||
|
||||
/** 下载按钮操作 */
|
||||
const handleDownload = (ossId: string, originalName: string) => {
|
||||
console.log(ossId);
|
||||
|
||||
Reference in new issue
Block a user