提交 32dbf63d authored 作者: liuluyu's avatar liuluyu

更新计划管理待办流程

上级 edac5be9
...@@ -113,10 +113,10 @@ ...@@ -113,10 +113,10 @@
import { message } from 'ant-design-vue'; import { message } from 'ant-design-vue';
import { definitionStartByDeployId } from '/@/components/Process/api/definition'; import { definitionStartByDeployId } from '/@/components/Process/api/definition';
import { useRoute } from 'vue-router'; import { useRoute } from 'vue-router';
import { useUserStore } from "/@/store/modules/user"; import { useUserStore } from '/@/store/modules/user';
// 引入待办任务组件 // 引入待办任务组件
import TodoIndex from '../../flowable/task/todo/components/TodoIndex.vue'; import TodoIndex from '../../flowable/task/todo/components/TodoIndex.vue';
import { todoList,getMyTaskFlow } from '/@/components/Process/api/todo'; import { todoList, getMyTaskFlow } from '/@/components/Process/api/todo';
const refTodoIndex = ref(); const refTodoIndex = ref();
const isShowDrawer = ref(false); const isShowDrawer = ref(false);
const startUser = ref<string>(''); const startUser = ref<string>('');
...@@ -125,7 +125,7 @@ ...@@ -125,7 +125,7 @@
const taskCache = new Map<string, any>(); const taskCache = new Map<string, any>();
const userStore = useUserStore(); const userStore = useUserStore();
//alert(userStore.getUserInfo.id); //alert(userStore.getUserInfo.id);
const checkedKeys = ref<Array<string | number>>([]); const checkedKeys = ref<Array<string | number>>([]);
//注册model //注册model
...@@ -266,9 +266,7 @@ ...@@ -266,9 +266,7 @@
// 流程未启动时,先启动流程 // 流程未启动时,先启动流程
const needStartFlow = const needStartFlow =
!record.taskId && !record.taskId && !record.procInsId && (record['bpmStatus'] == null || record['bpmStatus'] == '' || record['bpmStatus'] == '1');
!record.procInsId &&
(record['bpmStatus'] == null || record['bpmStatus'] == '' || record['bpmStatus'] == '1');
if (needStartFlow && record.deployId) { if (needStartFlow && record.deployId) {
try { try {
...@@ -285,7 +283,7 @@ ...@@ -285,7 +283,7 @@
const startRes = pickStartResult(startResRaw); const startRes = pickStartResult(startResRaw);
let payload: any = Object.assign({}, record, startRes); let payload: any = Object.assign({}, record, startRes);
//console.log("definitionStartByDeployId 返回值-payload ",payload); //console.log("definitionStartByDeployId 返回值-payload ",payload);
// 若启动接口未返回 taskId,则尝试通过 procInsId 从待办列表反查 // 若启动接口未返回 taskId,则尝试通过 procInsId 从待办列表反查
if (!payload.taskId && payload.procInsId) { if (!payload.taskId && payload.procInsId) {
//console.log("definitionStartByDeployId 返回值-payload -1"); //console.log("definitionStartByDeployId 返回值-payload -1");
...@@ -293,7 +291,7 @@ ...@@ -293,7 +291,7 @@
if (todoRow?.taskId) { if (todoRow?.taskId) {
payload = Object.assign({}, record, startRes, todoRow); payload = Object.assign({}, record, startRes, todoRow);
} }
}else{ } else {
//console.log("definitionStartByDeployId 返回值-payload -2"); //console.log("definitionStartByDeployId 返回值-payload -2");
} }
...@@ -313,10 +311,10 @@ ...@@ -313,10 +311,10 @@
console.error('启动流程或获取任务失败:', e); console.error('启动流程或获取任务失败:', e);
message.error('操作失败,请重试'); message.error('操作失败,请重试');
} }
//console.log("definitionStartByDeployId 返回值-payload- return"); //console.log("definitionStartByDeployId 返回值-payload- return");
return; return;
} }
console.log("流程已启动:优先使用 record.taskId,否则尝试用 procInsId 从待办列表反查"); console.log('流程已启动:优先使用 record.taskId,否则尝试用 procInsId 从待办列表反查');
// 流程已启动:优先使用 record.taskId,否则尝试用 procInsId 从待办列表反查 // 流程已启动:优先使用 record.taskId,否则尝试用 procInsId 从待办列表反查
try { try {
let payload: any = { ...record }; let payload: any = { ...record };
...@@ -346,30 +344,48 @@ console.log("流程已启动:优先使用 record.taskId,否则尝试用 proc ...@@ -346,30 +344,48 @@ console.log("流程已启动:优先使用 record.taskId,否则尝试用 proc
} }
} }
// 待办任务:
// 待办任务:
async function handleTodoDb(record: Recordable) { async function handleTodoDb(record: Recordable) {
const dataId = record.id; const dataId = record.id;
const deployId = record.deployId; const deployId = record.deployId;
if (!dataId||!deployId) { if (!dataId || !deployId) {
message.error('未找到业务数据标识'); message.error('未找到业务数据标识');
return; return;
} }
const myTaskFlow = await getMyTaskFlow({ deploymentId: record.deployId,dataId: record.id}); try {
console.log('获取流程任务信息:', myTaskFlow); const myTaskFlow = await getMyTaskFlow({ deploymentId: record.deployId, dataId: record.id });
} console.log('获取流程任务信息:', myTaskFlow);
// 提取任务流信息,支持多层返回结构(data/result/直接对象)
const taskData = pickStartResult(myTaskFlow);
if (!taskData || !taskData.taskId) {
message.error('未获取到待办任务信息');
return;
}
async function handleSubmit(record) { // 若未指定是否审批,则默认展示审批意见(保持与发起流程一致)
if (record.approveDepCode == '' || record.approveUser == '') { if (taskData.nodeisApprove == null) {
message.warning('请选择审核部门与审核人后进行提交'); taskData.nodeisApprove = true;
} else { }
record['planFlag'] = '1';
await handlePlan(record, handleSuccess); // 保存缓存
taskCache.set(String(dataId), taskData);
// 打开抽屉并初始化待办任务数据
startUser.value = taskData.startUserName || taskData.startUser || '';
taskName.value = taskData.taskName || taskData.currentTaskName || '';
isShowDrawer.value = true;
await nextTick();
refTodoIndex.value?.iniData?.(taskData);
} catch (e) {
console.error('获取流程任务信息失败:', e);
message.error('获取任务信息失败,请重试');
} }
} }
/** /**
* 删除事件 * 删除事件
*/ */
...@@ -393,7 +409,6 @@ console.log("流程已启动:优先使用 record.taskId,否则尝试用 proc ...@@ -393,7 +409,6 @@ console.log("流程已启动:优先使用 record.taskId,否则尝试用 proc
*/ */
function getTableAction(record) { function getTableAction(record) {
return [ return [
{ {
label: '发起', label: '发起',
ifShow: () => { ifShow: () => {
...@@ -405,7 +420,7 @@ console.log("流程已启动:优先使用 record.taskId,否则尝试用 proc ...@@ -405,7 +420,7 @@ console.log("流程已启动:优先使用 record.taskId,否则尝试用 proc
{ {
label: '待办', label: '待办',
ifShow: () => { ifShow: () => {
if (record['bpmStatus'] == '2' && record['uid'] ==userStore.getUserInfo.id) return true; if (record['bpmStatus'] == '2' && record['uid'] == userStore.getUserInfo.id) return true;
else return false; else return false;
}, },
onClick: handleTodoDb.bind(null, record), onClick: handleTodoDb.bind(null, record),
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论